(module
 (type $0 (func))
 (type $1 (func (result i32)))
 (type $2 (func (result f64)))
 (type $3 (func (param f32 i64)))
 (table 1 1 anyfunc)
 (elem (i32.const 0) $tabled)
 (memory $0 0)
 (export "user" (func $user))
 (export "exported" (func $exported))
 (func $user (; 0 ;) (type $0)
  (local $x i32)
  (local $y f64)
  (local $2 f32)
  (local $3 i64)
  (local $4 f32)
  (local $5 i64)
  (local $6 f32)
  (call $exported)
  (call $tabled)
  (call $multi)
  (call $multi)
  (block
   (block $__inlined_func$ok
    (drop
     (i32.const 1)
    )
   )
  )
  (drop
   (block (result i32)
    (block $__inlined_func$int (result i32)
     (i32.const 2)
    )
   )
  )
  (drop
   (block (result f64)
    (block $__inlined_func$double (result f64)
     (f64.const 3.14159)
    )
   )
  )
  (set_local $x
   (block (result i32)
    (block $__inlined_func$int2 (result i32)
     (i32.const 112)
    )
   )
  )
  (set_local $y
   (block (result f64)
    (block $__inlined_func$double2 (result f64)
     (f64.const 113.14159)
    )
   )
  )
  (block
   (block $__inlined_func$with-local
    (set_local $2
     (f32.const 0)
    )
    (set_local $2
     (f32.const 2.1418280601501465)
    )
   )
  )
  (block
   (block $__inlined_func$with-local2
    (set_local $3
     (i64.const 0)
    )
    (set_local $3
     (i64.const 4)
    )
   )
  )
  (drop
   (block (result i32)
    (block $__inlined_func$return (result i32)
     (br $__inlined_func$return
      (i32.const 5)
     )
    )
   )
  )
  (block
   (block $__inlined_func$multipass
    (block
     (block $__inlined_func$multipass2
      (drop
       (i32.const 6)
      )
     )
    )
   )
  )
  (block
   (block $__inlined_func$param
    (set_local $4
     (f32.const 12.34000015258789)
    )
    (set_local $5
     (i64.const 890005350012)
    )
    (set_local $6
     (f32.const 0)
    )
    (block
     (drop
      (get_local $4)
     )
     (drop
      (get_local $5)
     )
     (drop
      (get_local $6)
     )
    )
   )
  )
 )
 (func $exported (; 1 ;) (type $0)
  (nop)
 )
 (func $recursive (; 2 ;) (type $0)
  (call $recursive)
 )
 (func $tabled (; 3 ;) (type $0)
  (nop)
 )
 (func $cycle1 (; 4 ;) (type $0)
  (call $cycle2)
 )
 (func $cycle2 (; 5 ;) (type $0)
  (call $cycle1)
 )
 (func $multi (; 6 ;) (type $0)
  (nop)
 )
)
(module
 (type $0 (func (param i32) (result i32)))
 (type $1 (func (result i32)))
 (memory $0 0)
 (func $child (; 0 ;) (type $0) (param $0 i32) (result i32)
  (i32.const 1234)
 )
 (func $parent (; 1 ;) (type $1) (result i32)
  (call $child
   (unreachable)
  )
 )
)
(module
 (type $0 (func (result i32)))
 (type $1 (func (param f32 i32) (result i32)))
 (type $2 (func))
 (global $hangLimit (mut i32) (i32.const 25))
 (memory $0 1 1)
 (export "hangLimitInitializer" (func $hangLimitInitializer))
 (func $func_4 (; 0 ;) (type $1) (param $0 f32) (param $1 i32) (result i32)
  (local $2 i64)
  (local $3 f64)
  (local $4 f32)
  (local $5 i32)
  (local $6 i32)
  (local $7 f64)
  (local $8 i32)
  (loop $label$0 (result i32)
   (block $block
    (if
     (i32.eqz
      (get_global $hangLimit)
     )
     (return
      (i32.const 54)
     )
    )
    (set_global $hangLimit
     (i32.sub
      (get_global $hangLimit)
      (i32.const 1)
     )
    )
   )
   (i32.eqz
    (if (result i32)
     (i32.const 1)
     (if (result i32)
      (i32.eqz
       (block (result i32)
        (block $__inlined_func$func_3 (result i32)
         (set_local $8
          (i32.const 0)
         )
         (select
          (get_local $8)
          (tee_local $8
           (i32.const -1)
          )
          (i32.const 1)
         )
        )
       )
      )
      (br $label$0)
      (i32.const 0)
     )
     (unreachable)
    )
   )
  )
 )
 (func $hangLimitInitializer (; 1 ;) (type $2)
  (set_global $hangLimit
   (i32.const 25)
  )
 )
)
(module
 (type $T (func (param i32)))
 (type $1 (func))
 (table 10 anyfunc)
 (memory $0 0)
 (func $0 (; 0 ;) (type $1)
  (block $__inlined_func$1
   (call_indirect (type $T)
    (if (result i32)
     (i32.const 0)
     (unreachable)
     (unreachable)
    )
    (i32.const 1)
   )
  )
 )
)
(module
 (type $0 (func))
 (memory $0 0)
 (func $1 (; 0 ;) (type $0)
  (block $__inlined_func$0
   (block $label$1
    (br_table $label$1 $label$1
     (i32.const 0)
    )
   )
  )
 )
)
