(module
 (type $none_=>_anyref (func (result anyref)))
 (type $anyref_=>_none (func (param anyref)))
 (type $funcref_=>_none (func (param funcref)))
 (type $none_=>_funcref (func (result funcref)))
 (type $externref_=>_none (func (param externref)))
 (type $none_=>_none (func))
 (type $none_=>_externref (func (result externref)))
 (type $i32_=>_none (func (param i32)))
 (type $externref_=>_funcref (func (param externref) (result funcref)))
 (import "env" "import_global" (global $gimport$0 externref))
 (import "env" "import_func" (func $fimport$0 (param externref) (result funcref)))
 (global $global$0 (mut externref) (ref.null extern))
 (global $global$1 (mut funcref) (ref.null func))
 (global $global$2 (mut funcref) (ref.func $3))
 (global $global$3 (mut anyref) (ref.null any))
 (global $global$4 (mut anyref) (ref.null extern))
 (global $global$5 (mut anyref) (ref.null func))
 (global $global$6 (mut anyref) (ref.func $3))
 (table $0 3 3 funcref)
 (elem (i32.const 0) $0 $1 $2)
 (elem declare func $27 $3)
 (tag $tag$0 (param i32))
 (export "export_func" (func $fimport$0))
 (export "export_global" (global $gimport$0))
 (func $0 (param $0 externref)
  (nop)
 )
 (func $1 (param $0 funcref)
  (nop)
 )
 (func $2 (param $0 anyref)
  (nop)
 )
 (func $3
  (nop)
 )
 (func $4
  (local $0 externref)
  (local $1 funcref)
  (local $2 anyref)
  (local.set $0
   (local.get $0)
  )
  (local.set $0
   (global.get $global$0)
  )
  (local.set $0
   (ref.null extern)
  )
  (local.set $1
   (local.get $1)
  )
  (local.set $1
   (global.get $global$1)
  )
  (local.set $1
   (ref.null func)
  )
  (local.set $1
   (ref.func $3)
  )
  (local.set $2
   (local.get $2)
  )
  (local.set $2
   (global.get $global$3)
  )
  (local.set $2
   (ref.null any)
  )
  (local.set $2
   (local.get $0)
  )
  (local.set $2
   (global.get $global$0)
  )
  (local.set $2
   (ref.null extern)
  )
  (local.set $2
   (local.get $1)
  )
  (local.set $2
   (global.get $global$1)
  )
  (local.set $2
   (ref.null func)
  )
  (local.set $2
   (ref.func $3)
  )
  (global.set $global$0
   (global.get $global$0)
  )
  (global.set $global$0
   (local.get $0)
  )
  (global.set $global$0
   (ref.null extern)
  )
  (global.set $global$1
   (global.get $global$1)
  )
  (global.set $global$1
   (local.get $1)
  )
  (global.set $global$1
   (ref.null func)
  )
  (global.set $global$1
   (ref.func $3)
  )
  (global.set $global$3
   (global.get $global$3)
  )
  (global.set $global$3
   (local.get $2)
  )
  (global.set $global$3
   (ref.null any)
  )
  (global.set $global$3
   (global.get $global$0)
  )
  (global.set $global$3
   (local.get $0)
  )
  (global.set $global$3
   (ref.null extern)
  )
  (global.set $global$3
   (global.get $global$1)
  )
  (global.set $global$3
   (local.get $1)
  )
  (global.set $global$3
   (ref.null func)
  )
  (global.set $global$3
   (ref.func $3)
  )
  (call $0
   (local.get $0)
  )
  (call $0
   (global.get $global$0)
  )
  (call $0
   (ref.null extern)
  )
  (call $1
   (local.get $1)
  )
  (call $1
   (global.get $global$1)
  )
  (call $1
   (ref.null func)
  )
  (call $1
   (ref.func $3)
  )
  (call $2
   (local.get $2)
  )
  (call $2
   (global.get $global$3)
  )
  (call $2
   (ref.null any)
  )
  (call $2
   (local.get $0)
  )
  (call $2
   (global.get $global$0)
  )
  (call $2
   (ref.null extern)
  )
  (call $2
   (local.get $1)
  )
  (call $2
   (global.get $global$1)
  )
  (call $2
   (ref.null func)
  )
  (call $2
   (ref.func $3)
  )
  (call_indirect $0 (type $externref_=>_none)
   (local.get $0)
   (i32.const 0)
  )
  (call_indirect $0 (type $externref_=>_none)
   (global.get $global$0)
   (i32.const 0)
  )
  (call_indirect $0 (type $externref_=>_none)
   (ref.null extern)
   (i32.const 0)
  )
  (call_indirect $0 (type $funcref_=>_none)
   (local.get $1)
   (i32.const 1)
  )
  (call_indirect $0 (type $funcref_=>_none)
   (global.get $global$1)
   (i32.const 1)
  )
  (call_indirect $0 (type $funcref_=>_none)
   (ref.null func)
   (i32.const 1)
  )
  (call_indirect $0 (type $funcref_=>_none)
   (ref.func $3)
   (i32.const 1)
  )
  (call_indirect $0 (type $anyref_=>_none)
   (local.get $2)
   (i32.const 3)
  )
  (call_indirect $0 (type $anyref_=>_none)
   (global.get $global$3)
   (i32.const 3)
  )
  (call_indirect $0 (type $anyref_=>_none)
   (ref.null any)
   (i32.const 3)
  )
  (call_indirect $0 (type $anyref_=>_none)
   (local.get $0)
   (i32.const 3)
  )
  (call_indirect $0 (type $anyref_=>_none)
   (global.get $global$0)
   (i32.const 3)
  )
  (call_indirect $0 (type $anyref_=>_none)
   (ref.null extern)
   (i32.const 3)
  )
  (call_indirect $0 (type $anyref_=>_none)
   (local.get $1)
   (i32.const 3)
  )
  (call_indirect $0 (type $anyref_=>_none)
   (global.get $global$1)
   (i32.const 3)
  )
  (call_indirect $0 (type $anyref_=>_none)
   (ref.null func)
   (i32.const 3)
  )
  (call_indirect $0 (type $anyref_=>_none)
   (ref.func $3)
   (i32.const 3)
  )
  (drop
   (block $label$1 (result externref)
    (br_if $label$1
     (local.get $0)
     (i32.const 1)
    )
   )
  )
  (drop
   (block $label$2 (result externref)
    (br_if $label$2
     (global.get $global$0)
     (i32.const 1)
    )
   )
  )
  (drop
   (block $label$3 (result externref)
    (br_if $label$3
     (ref.null extern)
     (i32.const 1)
    )
   )
  )
  (drop
   (block $label$4 (result funcref)
    (br_if $label$4
     (local.get $1)
     (i32.const 1)
    )
   )
  )
  (drop
   (block $label$5 (result funcref)
    (br_if $label$5
     (global.get $global$1)
     (i32.const 1)
    )
   )
  )
  (drop
   (block $label$6 (result funcref)
    (br_if $label$6
     (ref.null func)
     (i32.const 1)
    )
   )
  )
  (drop
   (block $label$7 (result funcref)
    (br_if $label$7
     (ref.func $3)
     (i32.const 1)
    )
   )
  )
  (drop
   (block $label$8 (result anyref)
    (br_if $label$8
     (local.get $2)
     (i32.const 1)
    )
   )
  )
  (drop
   (block $label$9 (result anyref)
    (br_if $label$9
     (global.get $global$3)
     (i32.const 1)
    )
   )
  )
  (drop
   (block $label$10 (result anyref)
    (br_if $label$10
     (ref.null any)
     (i32.const 1)
    )
   )
  )
  (drop
   (block $label$11 (result anyref)
    (br_if $label$11
     (local.get $0)
     (i32.const 1)
    )
   )
  )
  (drop
   (block $label$12 (result anyref)
    (br_if $label$12
     (local.get $1)
     (i32.const 1)
    )
   )
  )
  (drop
   (block $label$13 (result anyref)
    (br_if $label$13
     (ref.null extern)
     (i32.const 1)
    )
   )
  )
  (drop
   (block $label$14 (result anyref)
    (br_if $label$14
     (ref.null func)
     (i32.const 1)
    )
   )
  )
  (drop
   (block $label$15 (result anyref)
    (br_if $label$15
     (ref.func $3)
     (i32.const 1)
    )
   )
  )
  (drop
   (loop $label$16 (result externref)
    (local.get $0)
   )
  )
  (drop
   (loop $label$17 (result externref)
    (global.get $global$0)
   )
  )
  (drop
   (loop $label$18 (result externref)
    (ref.null extern)
   )
  )
  (drop
   (loop $label$19 (result funcref)
    (local.get $1)
   )
  )
  (drop
   (loop $label$20 (result funcref)
    (global.get $global$1)
   )
  )
  (drop
   (loop $label$21 (result funcref)
    (ref.null func)
   )
  )
  (drop
   (loop $label$22 (result funcref)
    (ref.func $3)
   )
  )
  (drop
   (loop $label$23 (result anyref)
    (local.get $2)
   )
  )
  (drop
   (loop $label$24 (result anyref)
    (global.get $global$3)
   )
  )
  (drop
   (loop $label$25 (result anyref)
    (ref.null any)
   )
  )
  (drop
   (loop $label$26 (result anyref)
    (local.get $0)
   )
  )
  (drop
   (loop $label$27 (result anyref)
    (global.get $global$0)
   )
  )
  (drop
   (loop $label$28 (result anyref)
    (ref.null extern)
   )
  )
  (drop
   (loop $label$29 (result anyref)
    (local.get $1)
   )
  )
  (drop
   (loop $label$30 (result anyref)
    (global.get $global$1)
   )
  )
  (drop
   (loop $label$31 (result anyref)
    (ref.null func)
   )
  )
  (drop
   (loop $label$32 (result anyref)
    (ref.func $3)
   )
  )
  (drop
   (if (result externref)
    (i32.const 1)
    (local.get $0)
    (ref.null extern)
   )
  )
  (drop
   (if (result funcref)
    (i32.const 1)
    (local.get $1)
    (ref.null func)
   )
  )
  (drop
   (if (result anyref)
    (i32.const 1)
    (local.get $2)
    (ref.null any)
   )
  )
  (drop
   (if (result anyref)
    (i32.const 1)
    (local.get $0)
    (local.get $1)
   )
  )
  (drop
   (if (result anyref)
    (i32.const 1)
    (ref.null extern)
    (ref.null func)
   )
  )
  (drop
   (if (result anyref)
    (i32.const 1)
    (ref.func $3)
    (ref.null extern)
   )
  )
  (drop
   (try $label$47 (result externref)
    (do
     (local.get $0)
    )
    (catch $tag$0
     (drop
      (pop i32)
     )
     (ref.null extern)
    )
   )
  )
  (drop
   (try $label$50 (result funcref)
    (do
     (ref.func $3)
    )
    (catch $tag$0
     (drop
      (pop i32)
     )
     (ref.null func)
    )
   )
  )
  (drop
   (try $label$53 (result anyref)
    (do
     (local.get $0)
    )
    (catch $tag$0
     (drop
      (pop i32)
     )
     (ref.func $3)
    )
   )
  )
  (drop
   (try $label$56 (result anyref)
    (do
     (ref.func $3)
    )
    (catch $tag$0
     (drop
      (pop i32)
     )
     (local.get $0)
    )
   )
  )
  (drop
   (select (result externref)
    (local.get $0)
    (ref.null extern)
    (i32.const 1)
   )
  )
  (drop
   (select (result funcref)
    (local.get $1)
    (ref.null func)
    (i32.const 1)
   )
  )
  (drop
   (select
    (i32.const 0)
    (i32.const 2)
    (i32.const 1)
   )
  )
  (drop
   (select (result anyref)
    (local.get $0)
    (local.get $1)
    (i32.const 1)
   )
  )
  (drop
   (select (result anyref)
    (local.get $1)
    (local.get $0)
    (i32.const 1)
   )
  )
  (drop
   (ref.is_null
    (local.get $0)
   )
  )
  (drop
   (ref.is_null
    (global.get $global$0)
   )
  )
  (drop
   (ref.is_null
    (ref.null extern)
   )
  )
  (drop
   (ref.is_null
    (local.get $1)
   )
  )
  (drop
   (ref.is_null
    (global.get $global$1)
   )
  )
  (drop
   (ref.is_null
    (ref.null func)
   )
  )
  (drop
   (ref.is_null
    (ref.func $3)
   )
  )
  (drop
   (ref.is_null
    (local.get $2)
   )
  )
  (drop
   (ref.is_null
    (global.get $global$3)
   )
  )
  (drop
   (ref.is_null
    (ref.null any)
   )
  )
 )
 (func $5 (result externref)
  (local $0 externref)
  (local.get $0)
 )
 (func $6 (result externref)
  (global.get $global$0)
 )
 (func $7 (result externref)
  (ref.null extern)
 )
 (func $8 (result funcref)
  (local $0 funcref)
  (local.get $0)
 )
 (func $9 (result funcref)
  (global.get $global$1)
 )
 (func $10 (result funcref)
  (ref.null func)
 )
 (func $11 (result funcref)
  (ref.func $3)
 )
 (func $12 (result anyref)
  (local $0 anyref)
  (local.get $0)
 )
 (func $13 (result anyref)
  (global.get $global$3)
 )
 (func $14 (result anyref)
  (ref.null any)
 )
 (func $15 (result anyref)
  (local $0 externref)
  (local.get $0)
 )
 (func $16 (result anyref)
  (global.get $global$0)
 )
 (func $17 (result anyref)
  (ref.null extern)
 )
 (func $18 (result anyref)
  (local $0 funcref)
  (local.get $0)
 )
 (func $19 (result anyref)
  (global.get $global$1)
 )
 (func $20 (result anyref)
  (ref.null func)
 )
 (func $21 (result anyref)
  (ref.func $3)
 )
 (func $22 (result externref)
  (local $0 externref)
  (return
   (local.get $0)
  )
 )
 (func $23 (result funcref)
  (local $0 funcref)
  (return
   (local.get $0)
  )
 )
 (func $24 (result anyref)
  (local $0 anyref)
  (return
   (local.get $0)
  )
 )
 (func $25 (result anyref)
  (local $0 externref)
  (local $1 funcref)
  (return
   (local.get $0)
  )
 )
 (func $26
  (drop
   (ref.func $27)
  )
 )
 (func $27
  (nop)
 )
)