(module
 (type $0 (func (result i32)))
 (type $1 (func))
 (type $2 (func (param i32) (result i32)))
 (type $3 (func (param i32 i32) (result i32)))
 (import "env" "memory" (memory $mimport$0 0))
 (import "env" "__memory_base" (global $gimport$0 i32))
 (import "env" "g$waka_mine" (func $fimport$0 (result i32)))
 (import "env" "g$waka_others" (func $fimport$1 (result i32)))
 (import "env" "fp$_Z16waka_func_theirsi$ii" (func $fimport$2 (result i32)))
 (import "env" "fp$_Z14waka_func_minei$ii" (func $fimport$3 (result i32)))
 (global $global$0 (mut i32) (i32.const 0))
 (global $global$1 (mut i32) (i32.const 0))
 (global $global$2 (mut i32) (i32.const 0))
 (global $global$3 (mut i32) (i32.const 0))
 (global $global$4 i32 (i32.const 0))
 (global $global$5 i32 (i32.const 0))
 (data $0 (global.get $gimport$0) "*\00\00\00")
 (export "__wasm_apply_relocs" (func $0))
 (export "_Z14waka_func_minei" (func $1))
 (export "__original_main" (func $2))
 (export "waka_mine" (global $global$4))
 (export "main" (func $3))
 (export "__dso_handle" (global $global$5))
 (export "__post_instantiate" (func $4))
 (func $0
  (nop)
 )
 (func $1 (param $0 i32) (result i32)
  (i32.add
   (local.get $0)
   (i32.const 1)
  )
 )
 (func $2 (result i32)
  (i32.add
   (i32.load
    (global.get $global$3)
   )
   (i32.add
    (i32.load
     (global.get $global$2)
    )
    (i32.add
     (global.get $global$0)
     (global.get $global$1)
    )
   )
  )
 )
 (func $3 (param $0 i32) (param $1 i32) (result i32)
  (i32.add
   (i32.load
    (global.get $global$3)
   )
   (i32.add
    (i32.load
     (global.get $global$2)
    )
    (i32.add
     (global.get $global$0)
     (global.get $global$1)
    )
   )
  )
 )
 (func $4
  (global.set $global$2
   (call $fimport$0)
  )
  (global.set $global$3
   (call $fimport$1)
  )
  (global.set $global$0
   (call $fimport$2)
  )
  (global.set $global$1
   (call $fimport$3)
  )
 )
 ;; dylink section
 ;;   memorysize: 4
 ;;   memoryalignment: 2
 ;;   tablesize: 0
 ;;   tablealignment: 0
)

