(module $recursion.wasm (type (;0;) (func)) (type (;1;) (func (param i32) (result i32))) (type (;2;) (func (result i32))) (func $__wasm_apply_data_relocs (type 0)) (func $recursion_fib (type 1) (param i32) (result i32) (local i32) i32.const 1 local.set 1 block ;; label = @1 local.get 0 i32.const 2 i32.lt_u br_if 0 (;@1;) i32.const 0 local.set 1 loop ;; label = @2 local.get 0 i32.const -1 i32.add call $recursion_fib local.get 1 i32.add local.set 1 local.get 0 i32.const -2 i32.add local.tee 0 i32.const 1 i32.gt_u br_if 0 (;@2;) end local.get 1 i32.const 1 i32.add local.set 1 end local.get 1) (func $recursion_main (type 0) i32.const 0 i32.const 0 i32.load offset=1024 call $recursion_fib i32.store offset=1028) (func $__original_main (type 2) (result i32) (local i32 i32) global.get $__stack_pointer i32.const 16 i32.sub local.tee 0 global.set $__stack_pointer local.get 0 i32.const 10 i32.store offset=12 i32.const 0 local.get 0 i32.load offset=12 i32.store offset=1024 call $recursion_main i32.const 0 i32.load offset=1028 local.set 1 local.get 0 i32.const 16 i32.add global.set $__stack_pointer local.get 1 i32.const 89 i32.ne) (table (;0;) 1 1 funcref) (memory (;0;) 1) (global $__stack_pointer (mut i32) (i32.const 5136)) (global (;1;) i32 (i32.const 1032)) (global (;2;) i32 (i32.const 5136)) (export "memory" (memory 0)) (export "__wasm_apply_data_relocs" (func $__wasm_apply_data_relocs)) (export "entrypoint" (func $recursion_main)) (export "main" (func $__original_main)) (export "__data_end" (global 1)) (export "__heap_base" (global 2)))