(module
 (type $0 (func))
 (type $1 (func (result i32)))
 (type $2 (func (result f64)))
 (type $3 (func (param f32 i64)))
 (table $0 1 1 funcref)
 (elem (i32.const 0) $tabled)
 (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)
  (block
   (block $__inlined_func$exported
    (nop)
   )
  )
  (block
   (block $__inlined_func$tabled
    (nop)
   )
  )
  (block
   (block $__inlined_func$multi
    (nop)
   )
  )
  (block
   (block $__inlined_func$multi0
    (nop)
   )
  )
  (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)
    )
   )
  )
  (local.set $x
   (block (result i32)
    (block $__inlined_func$int2 (result i32)
     (i32.const 112)
    )
   )
  )
  (local.set $y
   (block (result f64)
    (block $__inlined_func$double2 (result f64)
     (f64.const 113.14159)
    )
   )
  )
  (block
   (block $__inlined_func$with-local
    (local.set $2
     (f32.const 0)
    )
    (local.set $2
     (f32.const 2.1418280601501465)
    )
   )
  )
  (block
   (block $__inlined_func$with-local2
    (local.set $3
     (i64.const 0)
    )
    (local.set $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
      (block $__inlined_func$multipass2
       (drop
        (i32.const 6)
       )
      )
     )
    )
   )
  )
  (block
   (block $__inlined_func$param
    (local.set $4
     (f32.const 12.34000015258789)
    )
    (local.set $5
     (i64.const 890005350012)
    )
    (local.set $6
     (f32.const 0)
    )
    (block
     (drop
      (local.get $4)
     )
     (drop
      (local.get $5)
     )
     (drop
      (local.get $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)
  (block $__inlined_func$cycle2
   (block
    (call $cycle1)
   )
  )
 )
)
(module
 (type $0 (func (param i32) (result i32)))
 (type $1 (func (result i32)))
 (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))
 (memory $0 1 1)
 (global $hangLimit (mut i32) (i32.const 25))
 (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
      (global.get $hangLimit)
     )
     (return
      (i32.const 54)
     )
    )
    (global.set $hangLimit
     (i32.sub
      (global.get $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)
         (local.set $8
          (i32.const 0)
         )
         (select
          (local.get $8)
          (local.tee $8
           (i32.const -1)
          )
          (i32.const 1)
         )
        )
       )
      )
      (br $label$0)
      (i32.const 0)
     )
     (unreachable)
    )
   )
  )
 )
 (func $hangLimitInitializer (; 1 ;) (type $2)
  (global.set $hangLimit
   (i32.const 25)
  )
 )
)
(module
 (type $T (func (param i32)))
 (type $1 (func))
 (table $0 10 funcref)
 (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))
 (func $1 (; 0 ;) (type $0)
  (block $__inlined_func$0
   (block $label$1
    (br_table $label$1 $label$1
     (i32.const 0)
    )
   )
  )
 )
)
