(module (import "gyehoek" "write" (func $gh-write (param (ref eq)))) (type $heap-object (sub (struct (field $hash (mut i32))))) (type $cont-type (func (param i32))) (type $cont-stack-type (array (mut (ref null $cont-type)))) (global $cont-stack-top (mut i32) (i32.const 0)) (global $cont-stack (ref $cont-stack-type) (array.new_default $cont-stack-type (i32.const 128))) (type $arg-array-type (array (mut (ref null eq)))) (global $arg-array (ref $arg-array-type) (array.new_default $arg-array-type (i32.const 32))) (global $result (mut (ref null eq)) (ref.null eq)) (func $halt (param i32) (global.get $arg-array) (i32.const 0) (array.get $arg-array-type) ref.as_non_null (global.set $result)) (func $scm-entry (param i32) (local (ref eq) (ref eq) (ref eq) (ref eq) (ref eq)) (i32.const 3) (i32.const 1) i32.shl ref.i31 (i31.get_s (ref.cast (ref i31))) (i32.const 1) i32.shr_u (i32.const 4) (i32.const 1) i32.shl ref.i31 (i31.get_s (ref.cast (ref i31))) (i32.const 1) i32.shr_u i32.mul (i32.const 1) i32.shl ref.i31 (local.set 1) (i32.const 2) (i32.const 1) i32.shl ref.i31 (i31.get_s (ref.cast (ref i31))) (i32.const 1) i32.shr_u (i32.const 5) (i32.const 1) i32.shl ref.i31 (i31.get_s (ref.cast (ref i31))) (i32.const 1) i32.shr_u i32.mul (i32.const 1) i32.shl ref.i31 (local.set 2) (local.get 1) (i31.get_s (ref.cast (ref i31))) (i32.const 1) i32.shr_u (local.get 2) (i31.get_s (ref.cast (ref i31))) (i32.const 1) i32.shr_u i32.add (i32.const 1) i32.shl ref.i31 (local.set 3) (global.get $arg-array) (global.get 0) (local.get 3) (array.set $arg-array-type) (return_call $halt (i32.const 1))) (func (export "main") (call $scm-entry (i32.const 0)) (call $gh-write (ref.as_non_null (global.get $result)))))