(module
 (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32)))
 (type $i32_i32_i64_=>_i64 (func (param i32 i32 i64) (result i64)))
 (type $i32_i32_f32_=>_f32 (func (param i32 i32 f32) (result f32)))
 (type $i32_i32_f64_=>_f64 (func (param i32 i32 f64) (result f64)))
 (type $i32_i32_v128_=>_v128 (func (param i32 i32 v128) (result v128)))
 (type $i32_i32_funcref_=>_funcref (func (param i32 i32 funcref) (result funcref)))
 (type $i32_i32_externref_=>_externref (func (param i32 i32 externref) (result externref)))
 (type $i32_i32_exnref_=>_exnref (func (param i32 i32 exnref) (result exnref)))
 (type $i32_i32_anyref_=>_anyref (func (param i32 i32 anyref) (result anyref)))
 (type $i32_i32_eqref_=>_eqref (func (param i32 i32 eqref) (result eqref)))
 (type $i32_i32_i31ref_=>_i31ref (func (param i32 i32 i31ref) (result i31ref)))
 (type $none_=>_none (func))
 (import "env" "get_i32" (func $get_i32 (param i32 i32 i32) (result i32)))
 (import "env" "get_i64" (func $get_i64 (param i32 i32 i64) (result i64)))
 (import "env" "get_f32" (func $get_f32 (param i32 i32 f32) (result f32)))
 (import "env" "get_f64" (func $get_f64 (param i32 i32 f64) (result f64)))
 (import "env" "set_i32" (func $set_i32 (param i32 i32 i32) (result i32)))
 (import "env" "set_i64" (func $set_i64 (param i32 i32 i64) (result i64)))
 (import "env" "set_f32" (func $set_f32 (param i32 i32 f32) (result f32)))
 (import "env" "set_f64" (func $set_f64 (param i32 i32 f64) (result f64)))
 (import "env" "get_funcref" (func $get_funcref (param i32 i32 funcref) (result funcref)))
 (import "env" "set_funcref" (func $set_funcref (param i32 i32 funcref) (result funcref)))
 (import "env" "get_externref" (func $get_externref (param i32 i32 externref) (result externref)))
 (import "env" "set_externref" (func $set_externref (param i32 i32 externref) (result externref)))
 (import "env" "get_exnref" (func $get_exnref (param i32 i32 exnref) (result exnref)))
 (import "env" "set_exnref" (func $set_exnref (param i32 i32 exnref) (result exnref)))
 (import "env" "get_anyref" (func $get_anyref (param i32 i32 anyref) (result anyref)))
 (import "env" "set_anyref" (func $set_anyref (param i32 i32 anyref) (result anyref)))
 (import "env" "get_eqref" (func $get_eqref (param i32 i32 eqref) (result eqref)))
 (import "env" "set_eqref" (func $set_eqref (param i32 i32 eqref) (result eqref)))
 (import "env" "get_i31ref" (func $get_i31ref (param i32 i32 i31ref) (result i31ref)))
 (import "env" "set_i31ref" (func $set_i31ref (param i32 i32 i31ref) (result i31ref)))
 (import "env" "get_v128" (func $get_v128 (param i32 i32 v128) (result v128)))
 (import "env" "set_v128" (func $set_v128 (param i32 i32 v128) (result v128)))
 (func $test
  (local $x i32)
  (local $y i64)
  (local $z f32)
  (local $w f64)
  (local $F funcref)
  (local $X externref)
  (local $E exnref)
  (local $S v128)
  (drop
   (call $get_i32
    (i32.const 0)
    (i32.const 0)
    (local.get $x)
   )
  )
  (drop
   (local.get $y)
  )
  (drop
   (call $get_f32
    (i32.const 1)
    (i32.const 2)
    (local.get $z)
   )
  )
  (drop
   (call $get_f64
    (i32.const 2)
    (i32.const 3)
    (local.get $w)
   )
  )
  (drop
   (call $get_funcref
    (i32.const 3)
    (i32.const 4)
    (local.get $F)
   )
  )
  (drop
   (call $get_externref
    (i32.const 4)
    (i32.const 5)
    (local.get $X)
   )
  )
  (drop
   (call $get_exnref
    (i32.const 5)
    (i32.const 6)
    (local.get $E)
   )
  )
  (drop
   (call $get_i32
    (i32.const 6)
    (i32.const 0)
    (local.get $x)
   )
  )
  (drop
   (local.get $y)
  )
  (drop
   (call $get_f32
    (i32.const 7)
    (i32.const 2)
    (local.get $z)
   )
  )
  (drop
   (call $get_f64
    (i32.const 8)
    (i32.const 3)
    (local.get $w)
   )
  )
  (drop
   (call $get_funcref
    (i32.const 9)
    (i32.const 4)
    (local.get $F)
   )
  )
  (drop
   (call $get_externref
    (i32.const 10)
    (i32.const 5)
    (local.get $X)
   )
  )
  (drop
   (call $get_exnref
    (i32.const 11)
    (i32.const 6)
    (local.get $E)
   )
  )
  (local.set $x
   (call $set_i32
    (i32.const 12)
    (i32.const 0)
    (i32.const 1)
   )
  )
  (local.set $y
   (i64.const 2)
  )
  (local.set $z
   (call $set_f32
    (i32.const 13)
    (i32.const 2)
    (f32.const 3.2100000381469727)
   )
  )
  (local.set $w
   (call $set_f64
    (i32.const 14)
    (i32.const 3)
    (f64.const 4.321)
   )
  )
  (local.set $F
   (ref.func $test)
  )
  (local.set $X
   (call $set_externref
    (i32.const 16)
    (i32.const 5)
    (call $get_externref
     (i32.const 15)
     (i32.const 5)
     (local.get $X)
    )
   )
  )
  (local.set $E
   (call $set_exnref
    (i32.const 18)
    (i32.const 6)
    (call $get_exnref
     (i32.const 17)
     (i32.const 6)
     (local.get $E)
    )
   )
  )
  (local.set $x
   (call $set_i32
    (i32.const 19)
    (i32.const 0)
    (i32.const 11)
   )
  )
  (local.set $y
   (i64.const 22)
  )
  (local.set $z
   (call $set_f32
    (i32.const 20)
    (i32.const 2)
    (f32.const 33.209999084472656)
   )
  )
  (local.set $w
   (call $set_f64
    (i32.const 21)
    (i32.const 3)
    (f64.const 44.321)
   )
  )
  (local.set $F
   (call $set_funcref
    (i32.const 23)
    (i32.const 4)
    (call $get_funcref
     (i32.const 22)
     (i32.const 4)
     (local.get $F)
    )
   )
  )
  (local.set $X
   (call $set_externref
    (i32.const 25)
    (i32.const 5)
    (call $get_externref
     (i32.const 24)
     (i32.const 5)
     (local.get $X)
    )
   )
  )
  (local.set $E
   (call $set_exnref
    (i32.const 27)
    (i32.const 6)
    (call $get_exnref
     (i32.const 26)
     (i32.const 6)
     (local.get $E)
    )
   )
  )
  (try
   (do
    (nop)
   )
   (catch
    (local.set $F
     (pop funcref)
    )
   )
  )
  (try
   (do
    (nop)
   )
   (catch
    (local.set $X
     (pop externref)
    )
   )
  )
  (try
   (do
    (nop)
   )
   (catch
    (local.set $E
     (pop exnref)
    )
   )
  )
  (drop
   (call $get_v128
    (i32.const 28)
    (i32.const 7)
    (local.get $S)
   )
  )
  (local.set $S
   (call $set_v128
    (i32.const 29)
    (i32.const 7)
    (v128.const i32x4 0x00000000 0x00000001 0x00000002 0x00000003)
   )
  )
 )
)
