global
 [exports]      : 0       
 [funcs]        : 3       
 [globals]      : 1       
 [imports]      : 0       
 [memories]     : 1       
 [memory-data]  : 9       
 [table-data]   : 3       
 [tables]       : 1       
 [tags]         : 0       
 [total]        : 6       
 Const          : 3       
 RefFunc        : 3       
func: empty
 [binary-bytes] : 3       
 [total]        : 1       
 [vars]         : 0       
 Nop            : 1       
func: small
 [binary-bytes] : 9       
 [total]        : 5       
 [vars]         : 0       
 Block          : 1       
 Const          : 1       
 Drop           : 1       
 Nop            : 1       
 Return         : 1       
func: ifs
 [binary-bytes] : 51      
 [total]        : 24      
 [vars]         : 1       
 Binary         : 1       
 Block          : 1       
 Const          : 12      
 Drop           : 6       
 If             : 4       
(module
 (type $1 (func))
 (type $0 (func (param i32)))
 (global $glob i32 (i32.const 1337))
 (memory $0 256 256)
 (data $0 (i32.const 0) "\ff\ef\0f\1f 0@P\99")
 (table $0 256 256 funcref)
 (elem $0 (i32.const 0) $ifs $ifs $ifs)
 (func $empty
  (nop)
 )
 (func $small
  (nop)
  (drop
   (i32.const 100421)
  )
  (return)
 )
 (func $ifs (param $x i32)
  (local $y f32)
  (block $block0
   (if
    (i32.const 0)
    (then
     (drop
      (i32.const 1)
     )
    )
   )
   (if
    (i32.const 0)
    (then
     (drop
      (i32.const 1)
     )
    )
    (else
     (drop
      (i32.const 2)
     )
    )
   )
   (if
    (i32.const 4)
    (then
     (drop
      (i32.const 5)
     )
    )
    (else
     (drop
      (i32.const 6)
     )
    )
   )
   (drop
    (i32.eq
     (if (result i32)
      (i32.const 4)
      (then
       (i32.const 5)
      )
      (else
       (i32.const 6)
      )
     )
     (i32.const 177)
    )
   )
  )
 )
)
global
 [exports]      : 0       
 [funcs]        : 0       
 [globals]      : 0       
 [imports]      : 0       
 [memories]     : 0       
 [tables]       : 0       
 [tags]         : 0       
 [total]        : 0       
(module
)
global
 [exports]      : 2       
 [funcs]        : 3       
 [globals]      : 0       
 [imports]      : 1       
 [memories]     : 0       
 [tables]       : 0       
 [tags]         : 0       
 [total]        : 0       
func: func_a
 [binary-bytes] : 16      
 [total]        : 8       
 [vars]         : 0       
 Block          : 1       
 Call           : 7       
func: func_b
 [binary-bytes] : 22      
 [total]        : 11      
 [vars]         : 0       
 Block          : 1       
 Call           : 10      
func: func_c
 [binary-bytes] : 32      
 [total]        : 16      
 [vars]         : 0       
 Block          : 1       
 Call           : 15      
export: a (func_a)
 [removable-bytes-without-it]: 58      
 [total]        : 0       
export: b (func_b)
 [removable-bytes-without-it]: 18      
 [total]        : 0       
(module
 (type $0 (func))
 (import "env" "waka" (func $waka))
 (export "a" (func $func_a))
 (export "b" (func $func_b))
 (func $func_a
  (call $waka)
  (call $waka)
  (call $waka)
  (call $waka)
  (call $waka)
  (call $func_b)
  (call $func_c)
 )
 (func $func_b
  (call $waka)
  (call $waka)
  (call $waka)
  (call $waka)
  (call $waka)
  (call $waka)
  (call $waka)
  (call $waka)
  (call $waka)
  (call $waka)
 )
 (func $func_c
  (call $waka)
  (call $waka)
  (call $waka)
  (call $waka)
  (call $waka)
  (call $waka)
  (call $waka)
  (call $waka)
  (call $waka)
  (call $waka)
  (call $waka)
  (call $waka)
  (call $waka)
  (call $waka)
  (call $waka)
 )
)
global
 [exports]      : 1       
 [funcs]        : 1       
 [globals]      : 0       
 [imports]      : 1       
 [memories]     : 0       
 [tables]       : 0       
 [tags]         : 0       
 [total]        : 0       
func: func_a
 [binary-bytes] : 12      
 [total]        : 6       
 [vars]         : 0       
 Block          : 1       
 Call           : 5       
export: a (func_a)
 [removable-bytes-without-it]: 7       
 [total]        : 0       
start: func_a
 [removable-bytes-without-it]: 3       
 [total]        : 0       
(module
 (type $0 (func))
 (import "env" "waka" (func $waka))
 (export "a" (func $func_a))
 (start $func_a)
 (func $func_a
  (call $waka)
  (call $waka)
  (call $waka)
  (call $waka)
  (call $waka)
 )
)
global
 [exports]      : 0       
 [funcs]        : 1       
 [globals]      : 0       
 [imports]      : 1       
 [memories]     : 0       
 [tables]       : 0       
 [tags]         : 0       
 [total]        : 0       
func: func_a
 [binary-bytes] : 12      
 [total]        : 6       
 [vars]         : 0       
 Block          : 1       
 Call           : 5       
start: func_a
 [removable-bytes-without-it]: 60      
 [total]        : 0       
(module
 (type $0 (func))
 (import "env" "waka" (func $waka))
 (start $func_a)
 (func $func_a
  (call $waka)
  (call $waka)
  (call $waka)
  (call $waka)
  (call $waka)
 )
)
global
 [exports]      : 1       
 [funcs]        : 1       
 [globals]      : 1       
 [imports]      : 1       
 [memories]     : 0       
 [tables]       : 0       
 [tags]         : 0       
 [total]        : 1       
 GlobalGet      : 1       
func: 0
 [binary-bytes] : 4       
 [total]        : 1       
 [vars]         : 0       
 GlobalGet      : 1       
export: stackSave (0)
 [removable-bytes-without-it]: 79      
 [total]        : 0       
(module
 (type $0 (func (result i32)))
 (import "env" "STACKTOP" (global $gimport$0 i32))
 (global $global$0 (mut i32) (global.get $gimport$0))
 (export "stackSave" (func $0))
 (func $0 (result i32)
  (global.get $global$0)
 )
)
