(module
 (type $0 (func))
 (type $1 (func (param i32)))
 (type $2 (func (param i32) (result i32)))
 (table 1 1 anyfunc)
 (elem (i32.const 0) $called_indirect)
 (memory $0 0)
 (export "memory" (memory $0))
 (export "exported" (func $exported))
 (export "other1" (func $other1))
 (export "other2" (func $other2))
 (start $start)
 (func $start (; 0 ;) (type $0)
  (call $called0)
 )
 (func $called0 (; 1 ;) (type $0)
  (call $called1)
 )
 (func $called1 (; 2 ;) (type $0)
  (nop)
 )
 (func $called_indirect (; 3 ;) (type $0)
  (nop)
 )
 (func $exported (; 4 ;) (type $0)
  (call $called2)
 )
 (func $called2 (; 5 ;) (type $0)
  (call $called2)
  (call $called3)
 )
 (func $called3 (; 6 ;) (type $0)
  (call $called4)
 )
 (func $called4 (; 7 ;) (type $0)
  (call $called3)
 )
 (func $other1 (; 8 ;) (type $1) (param $0 i32)
  (call_indirect (type $0)
   (i32.const 0)
  )
  (call_indirect (type $0)
   (i32.const 0)
  )
  (call_indirect (type $0)
   (i32.const 0)
  )
  (call_indirect (type $0)
   (i32.const 0)
  )
  (call_indirect (type $1)
   (i32.const 0)
   (i32.const 0)
  )
  (call_indirect (type $1)
   (i32.const 0)
   (i32.const 0)
  )
  (drop
   (call_indirect (type $2)
    (i32.const 0)
    (i32.const 0)
   )
  )
  (drop
   (call_indirect (type $2)
    (i32.const 0)
    (i32.const 0)
   )
  )
  (drop
   (call_indirect (type $2)
    (i32.const 0)
    (i32.const 0)
   )
  )
 )
 (func $other2 (; 9 ;) (type $1) (param $0 i32)
  (unreachable)
 )
)
(module
 (import "env" "memory" (memory $0 256))
 (import "env" "table" (table 0 anyfunc))
)
(module
 (type $0 (func))
 (import "env" "memory" (memory $0 256))
 (import "env" "table" (table 0 anyfunc))
 (import "env" "memoryBase" (global $memoryBase i32))
 (import "env" "tableBase" (global $tableBase i32))
 (elem (get_global $tableBase) $waka)
 (data (get_global $memoryBase) "hello, world!")
 (func $waka (; 0 ;) (type $0)
  (nop)
 )
)
(module
 (type $FUNCSIG$ii (func (param i32) (result i32)))
 (type $1 (func (result i32)))
 (type $2 (func))
 (import "env" "imported" (global $imported i32))
 (import "env" "_puts" (func $_puts (param i32) (result i32)))
 (global $int (mut i32) (get_global $imported))
 (global $set (mut i32) (i32.const 100))
 (global $exp_glob i32 (i32.const 600))
 (memory $0 0)
 (export "one" (func $one))
 (export "three" (func $three))
 (export "exp_glob" (global $exp_glob))
 (start $starter)
 (func $one (; 1 ;) (type $1) (result i32)
  (call $two)
 )
 (func $two (; 2 ;) (type $1) (result i32)
  (get_global $int)
 )
 (func $three (; 3 ;) (type $2)
  (call $four)
 )
 (func $four (; 4 ;) (type $2)
  (set_global $set
   (i32.const 200)
  )
  (drop
   (call $_puts
    (i32.const 300)
   )
  )
 )
 (func $starter (; 5 ;) (type $2)
  (nop)
 )
)
