(module
  (import "wasi_snapshot_preview1" "fd_write" (func $fd_write (param i32 i32 i32 i32) (result i32)))
  (import "wasi_snapshot_preview1" "proc_exit" (func $proc_exit (param i32)))
  (data (i32.const 48) "\04\00\00\00true")
  (data (i32.const 56) "\05\00\00\00false")
  (data (i32.const 64) "\01\00\00\00-")
  (memory (export "memory") 2)
  (global $hp (mut i32) (i32.const 72))
  (func $spiralMain (result i32)
    (local $v0 i32)
    (local $v1 i32)
    (local $v2 i32)
    (local $v3 i32)
    (local $v4 i32)
    (local $v5 i32)
    (local $v6 i32)
    (local $v7 i32)
    (local $v8 i32)
    (local $v9 i32)
    (local $v10 i32)
    (local $v11 i32)
    (local $v12 i32)
    (local.set $v0 (i32.const -8))
    (local.set $v1 (i32.const 3))
    (local.set $v2 (i32.const 1))
    (local.set $v3 (i32.const 4294967295))
    (local.set $v4 (i32.const 4))
    (local.set $v5 (i32.shr_s (local.get $v0) (local.get $v2)))
    (local.set $v6 (i32.shl (local.get $v1) (local.get $v2)))
    (local.set $v7 (i32.shr_u (local.get $v3) (local.get $v4)))
    (local.set $v8 (i32.shl (local.get $v3) (local.get $v2)))
    (local.set $v9 (i32.eq (local.get $v5) (i32.const -4)))
    (if (local.get $v9)
        (then
            (local.set $v10 (i32.eq (local.get $v6) (i32.const 6)))
            (if (local.get $v10)
                (then
                    (local.set $v11 (i32.eq (local.get $v7) (i32.const 268435455)))
                    (if (local.get $v11)
                        (then
                            (local.set $v12 (i32.eq (local.get $v8) (i32.const 4294967294)))
                            (if (local.get $v12)
                                (then
                                    (return (i32.const 0))
                                )
                                (else
                                    (return (i32.const 4))
                                ))
                        )
                        (else
                            (return (i32.const 3))
                        ))
                )
                (else
                    (return (i32.const 2))
                ))
        )
        (else
            (return (i32.const 1))
        ))
    (unreachable)
  )
  (func $_start (export "_start")
    (call $proc_exit (call $spiralMain)))
)
