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 $none_=>_none (func))
 (type $0 (func (param i32)))
 (global $glob i32 (i32.const 1337))
 (memory $0 256 256)
 (data (i32.const 0) "\ff\ef\0f\1f 0@P\99")
 (table $0 256 256 funcref)
 (elem (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)
    (drop
     (i32.const 1)
    )
   )
   (if
    (i32.const 0)
    (drop
     (i32.const 1)
    )
    (drop
     (i32.const 2)
    )
   )
   (if
    (i32.const 4)
    (drop
     (i32.const 5)
    )
    (drop
     (i32.const 6)
    )
   )
   (drop
    (i32.eq
     (if (result i32)
      (i32.const 4)
      (i32.const 5)
      (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 $none_=>_none (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 $none_=>_none (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]: 57      
 [total]        : 0       
(module
 (type $none_=>_none (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]: 62      
 [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)
 )
)
