(module
 (type $FUNCSIG$vii (func (param i32 i32)))
 (import "env" "memory" (memory $0 256 256))
 (import "env" "table" (table 0 0 anyfunc))
 (import "env" "memoryBase" (global $memoryBase i32))
 (import "env" "tableBase" (global $tableBase i32))
 (export "add" (func $add))
 (export "ret" (func $ret))
 (export "opts" (func $opts))
 (func $add (param $0 i32) (param $1 i32) (result i32)
  (i32.add
   (get_local $1)
   (get_local $1)
  )
 )
 (func $ret (param $0 i32) (result i32)
  (i32.add
   (i32.shl
    (get_local $0)
    (i32.const 1)
   )
   (i32.const 1)
  )
 )
 (func $opts (param $0 i32) (param $1 i32) (result i32)
  ;; even-opted.cpp:2
  (set_local $1
   (i32.shr_s
    (get_local $1)
    (tee_local $0
     (i32.add
      (get_local $0)
      (get_local $1)
     )
    )
   )
  )
  (i32.add
   (i32.rem_s
    (get_local $0)
    (get_local $1)
   )
   (get_local $1)
  )
 )
)
