# (top-level-begin 0 21100005)
        mv    s10, s8
        li    s4, 21100005
        slli  s4, s4, 2
        add   s3, s10, s4
# (call __main)
        call  __main
# (exit)
        j     _cleanup
__put4chars:
# (function-proc-begin 1 2 1)
        add   sp, sp, -8
        sd    ra, (sp)
        mv    s1, s10
        addi  s10, s3, -4
        addi  s3, s10, 12
        addi  s0, s10, 4
        sd    s1, (s0)
# (expr #f 0 #f (putchar (shr x 24)))
# (push 24)
        li    s5, 24
        sw    s5, (s3)
        addi  s3, s3, 4
# (stack-ref-n 0)
        lw    s0, (s10)
        sw    s0, (s3)
        addi  s3, s3, 4
# (shr)
        addi  s3, s3, -4
        lw    s7, (s3)
        lw    s5, -4(s3)
        sra    s4, s7, s5
        sw    s4, -4(s3)
# (write-char)
        lw    s0, -4(s3)
        addi  s3, s3, -4
        call  print_character
# (expr #f 0 #f (putchar (bitwise-and (shr x 16) 255)))
# (push 255)
        li    s5, 255
        sw    s5, (s3)
        addi  s3, s3, 4
# (push 16)
        li    s5, 16
        sw    s5, (s3)
        addi  s3, s3, 4
# (stack-ref-n 0)
        lw    s0, (s10)
        sw    s0, (s3)
        addi  s3, s3, 4
# (shr)
        addi  s3, s3, -4
        lw    s7, (s3)
        lw    s5, -4(s3)
        sra    s4, s7, s5
        sw    s4, -4(s3)
# (bitand)
        addi  s3, s3, -4
        lw    s7, (s3)
        lw    s5, -4(s3)
        and   s4, s7, s5
        sw    s4, -4(s3)
# (write-char)
        lw    s0, -4(s3)
        addi  s3, s3, -4
        call  print_character
# (expr #f 0 #f (putchar (bitwise-and (shr x 8) 255)))
# (push 255)
        li    s5, 255
        sw    s5, (s3)
        addi  s3, s3, 4
# (push 8)
        li    s5, 8
        sw    s5, (s3)
        addi  s3, s3, 4
# (stack-ref-n 0)
        lw    s0, (s10)
        sw    s0, (s3)
        addi  s3, s3, 4
# (shr)
        addi  s3, s3, -4
        lw    s7, (s3)
        lw    s5, -4(s3)
        sra    s4, s7, s5
        sw    s4, -4(s3)
# (bitand)
        addi  s3, s3, -4
        lw    s7, (s3)
        lw    s5, -4(s3)
        and   s4, s7, s5
        sw    s4, -4(s3)
# (write-char)
        lw    s0, -4(s3)
        addi  s3, s3, -4
        call  print_character
# (expr #f 0 #f (putchar (bitwise-and x 255)))
# (push 255)
        li    s5, 255
        sw    s5, (s3)
        addi  s3, s3, 4
# (stack-ref-n 0)
        lw    s0, (s10)
        sw    s0, (s3)
        addi  s3, s3, 4
# (bitand)
        addi  s3, s3, -4
        lw    s7, (s3)
        lw    s5, -4(s3)
        and   s4, s7, s5
        sw    s4, -4(s3)
# (write-char)
        lw    s0, -4(s3)
        addi  s3, s3, -4
        call  print_character
# (expr #f 0 #f (return-from-procedure))
# (proc-end 1)
        mv    s3, s10
        ld    s10, 4(s10)
# (return)
        ld    ra, (sp)
        add   sp, sp, 8
        jr    ra
__write_int_digit:
# (function-proc-begin 1 2 1)
        add   sp, sp, -8
        sd    ra, (sp)
        mv    s1, s10
        addi  s10, s3, -4
        addi  s3, s10, 12
        addi  s0, s10, 4
        sd    s1, (s0)
# (expr #t 2 > (> n 0))
# (push 0)
        li    s0, 0
# (stack-ref-n 0)
        lw    s2, (s10)
# (gt)
        slt   s0, s0, s2
# (bfl l0)
        beq   s0, zero, .l0
# (expr #f 0 #f (__write_int_digit (quotient n 10)))
# (push 10)
        li    s5, 10
        sw    s5, (s3)
        addi  s3, s3, 4
# (stack-ref-n 0)
        lw    s0, (s10)
        sw    s0, (s3)
        addi  s3, s3, 4
# (div)
        addi  s3, s3, -4
        lw    s7, (s3)
        lw    s5, -4(s3)
        div   s4, s7, s5
        sw    s4, -4(s3)
# (call __write_int_digit)
        call  __write_int_digit
# (expr #f 0 #f (putchar (+ (remainder n 10) 48)))
# (push 48)
        li    s5, 48
        sw    s5, (s3)
        addi  s3, s3, 4
# (push 10)
        li    s5, 10
        sw    s5, (s3)
        addi  s3, s3, 4
# (stack-ref-n 0)
        lw    s0, (s10)
        sw    s0, (s3)
        addi  s3, s3, 4
# (mod)
        addi  s3, s3, -4
        lw    s7, (s3)
        lw    s5, -4(s3)
        rem   s4, s7, s5
        sw    s4, -4(s3)
# (add)
        addi  s3, s3, -4
        lw    s7, (s3)
        lw    s5, -4(s3)
        add   s4, s7, s5
        sw    s4, -4(s3)
# (write-char)
        lw    s0, -4(s3)
        addi  s3, s3, -4
        call  print_character
.l0:
# (expr #f 0 #f (return-from-procedure))
# (proc-end 1)
        mv    s3, s10
        ld    s10, 4(s10)
# (return)
        ld    ra, (sp)
        add   sp, sp, 8
        jr    ra
__write_integer:
# (function-proc-begin 1 2 1)
        add   sp, sp, -8
        sd    ra, (sp)
        mv    s1, s10
        addi  s10, s3, -4
        addi  s3, s10, 12
        addi  s0, s10, 4
        sd    s1, (s0)
# (expr #t 2 = (= n 0))
# (push 0)
        li    s0, 0
# (stack-ref-n 0)
        lw    s2, (s10)
# (eq)
        xor   s0, s2, s0
        sltiu s0, s0, 1
# (bfl l1)
        beq   s0, zero, .l1
# (expr #f 0 #f (putchar 48))
# (push 48)
        li    s5, 48
        sw    s5, (s3)
        addi  s3, s3, 4
# (write-char)
        lw    s0, -4(s3)
        addi  s3, s3, -4
        call  print_character
# (expr #f 0 #f (return-from-procedure))
# (proc-end 1)
        mv    s3, s10
        ld    s10, 4(s10)
# (return)
        ld    ra, (sp)
        add   sp, sp, 8
        jr    ra
.l1:
# (expr #t 2 < (< n 0))
# (push 0)
        li    s0, 0
# (stack-ref-n 0)
        lw    s2, (s10)
# (lt)
        slt   s0, s2, s0
# (bfl l2)
        beq   s0, zero, .l2
# (expr #f 0 #f (putchar 45))
# (push 45)
        li    s5, 45
        sw    s5, (s3)
        addi  s3, s3, 4
# (write-char)
        lw    s0, -4(s3)
        addi  s3, s3, -4
        call  print_character
# (expr #t 4 #f (&& (= (bitwise-and n 65535) 0) (= (shr n 16) (- 32768))))
# (push 32768)
        li    s0, 32768
# (negate)
        sub   s0, zero, s0
# (push 16)
        li    s2, 16
# (stack-ref-n 0)
        lw    s4, (s10)
# (shr)
        sra    s2, s4, s2
# (eq)
        xor   s0, s2, s0
        sltiu s0, s0, 1
# (push 0)
        li    s2, 0
# (push 65535)
        li    s4, 65535
# (stack-ref-n 0)
        lw    s5, (s10)
# (bitand)
        and   s4, s5, s4
# (eq)
        xor   s2, s4, s2
        sltiu s2, s2, 1
# (and)
        and   s0, s2, s0
# (bfl l4)
        beq   s0, zero, .l4
# (expr #f 0 #f (__put4chars 842085431))
# (push 842085431)
        li    s5, 842085431
        sw    s5, (s3)
        addi  s3, s3, 4
# (call __put4chars)
        call  __put4chars
# (expr #f 0 #f (__put4chars 876098358))
# (push 876098358)
        li    s5, 876098358
        sw    s5, (s3)
        addi  s3, s3, 4
# (call __put4chars)
        call  __put4chars
# (expr #f 0 #f (putchar 52))
# (push 52)
        li    s5, 52
        sw    s5, (s3)
        addi  s3, s3, 4
# (write-char)
        lw    s0, -4(s3)
        addi  s3, s3, -4
        call  print_character
# (expr #f 0 #f (putchar 56))
# (push 56)
        li    s5, 56
        sw    s5, (s3)
        addi  s3, s3, 4
# (write-char)
        lw    s0, -4(s3)
        addi  s3, s3, -4
        call  print_character
# (expr #f 0 #f (return-from-procedure))
# (proc-end 1)
        mv    s3, s10
        ld    s10, 4(s10)
# (return)
        ld    ra, (sp)
        add   sp, sp, 8
        jr    ra
.l4:
# (expr #f 0 #f (__write_int_digit (- n)))
# (stack-ref-n 0)
        lw    s0, (s10)
        sw    s0, (s3)
        addi  s3, s3, 4
# (negate)
        addi  s4, s3, -4
        lw    s5, (s4)
        sub   s5, zero, s5
        sw    s5, (s4)
# (call __write_int_digit)
        call  __write_int_digit
# (br l3)
        j     .l3
.l2:
# (expr #f 0 #f (__write_int_digit n))
# (stack-ref-n 0)
        lw    s0, (s10)
        sw    s0, (s3)
        addi  s3, s3, 4
# (call __write_int_digit)
        call  __write_int_digit
.l3:
# (expr #f 0 #f (return-from-procedure))
# (proc-end 1)
        mv    s3, s10
        ld    s10, 4(s10)
# (return)
        ld    ra, (sp)
        add   sp, sp, 8
        jr    ra
__mult:
# (function-proc-begin 2 4 3)
        add   sp, sp, -8
        sd    ra, (sp)
        mv    s1, s10
        addi  s10, s3, -8
        addi  s3, s10, 20
        addi  s0, s10, 12
        sd    s1, (s0)
# (expr #t 2 #f (return (* x y)))
# (stack-ref-n 1)
        lw    s0, 4(s10)
# (stack-ref-n 0)
        lw    s2, (s10)
# (mul)
        mul   s0, s2, s0
# (stack-set-n 0)
        sw    s0, (s10)
# (function-end 3)
        addi  s3, s10, 4
        ld    s10, 12(s10)
# (return)
        ld    ra, (sp)
        add   sp, sp, 8
        jr    ra
__div:
# (function-proc-begin 2 4 3)
        add   sp, sp, -8
        sd    ra, (sp)
        mv    s1, s10
        addi  s10, s3, -8
        addi  s3, s10, 20
        addi  s0, s10, 12
        sd    s1, (s0)
# (expr #t 2 #f (return (quotient x y)))
# (stack-ref-n 1)
        lw    s0, 4(s10)
# (stack-ref-n 0)
        lw    s2, (s10)
# (div)
        div   s0, s2, s0
# (stack-set-n 0)
        sw    s0, (s10)
# (function-end 3)
        addi  s3, s10, 4
        ld    s10, 12(s10)
# (return)
        ld    ra, (sp)
        add   sp, sp, 8
        jr    ra
my_putchar:
# (function-proc-begin 1 2 1)
        add   sp, sp, -8
        sd    ra, (sp)
        mv    s1, s10
        addi  s10, s3, -4
        addi  s3, s10, 12
        addi  s0, s10, 4
        sd    s1, (s0)
# (expr #f 0 #f (putchar ch))
# (stack-ref-n 0)
        lw    s0, (s10)
        sw    s0, (s3)
        addi  s3, s3, 4
# (write-char)
        lw    s0, -4(s3)
        addi  s3, s3, -4
        call  print_character
# (expr #f 0 #f (return-from-procedure))
# (proc-end 1)
        mv    s3, s10
        ld    s10, 4(s10)
# (return)
        ld    ra, (sp)
        add   sp, sp, 8
        jr    ra
my_fgetc:
# (function-proc-begin 0 2 1)
        add   sp, sp, -8
        sd    ra, (sp)
        mv    s1, s10
        addi  s10, s3, -0
        addi  s3, s10, 12
        addi  s0, s10, 4
        sd    s1, (s0)
# (expr #f 0 #f (return (getchar)))
# (read-char)
        call  _read_char
        sw    s0, (s3)
        addi  s3, s3, 4
# (stack-set-n 0)
        addi  s3, s3, -4
        lw    s0, (s3)
        sw    s0, (s10)
# (function-end 1)
        addi  s3, s10, 4
        ld    s10, 4(s10)
# (return)
        ld    ra, (sp)
        add   sp, sp, 8
        jr    ra
read_char_:
# (function-proc-begin 0 1 0)
        add   sp, sp, -8
        sd    ra, (sp)
        mv    s1, s10
        addi  s10, s3, -0
        addi  s3, s10, 8
        addi  s0, s10, 0
        sd    s1, (s0)
# (expr #t 2 = (= ch (- 1)))
# (push 1)
        li    s0, 1
# (negate)
        sub   s0, zero, s0
# (push 21100000)
        li    s2, 21100000
# (stack-ref)
        slli  s2, s2, 2
        add   s2, s8, s2
        lw    s2, (s2)
# (eq)
        xor   s0, s2, s0
        sltiu s0, s0, 1
# (bfl l5)
        beq   s0, zero, .l5
# (expr #f 0 #f (return-from-procedure))
# (proc-end 0)
        mv    s3, s10
        ld    s10, (s10)
# (return)
        ld    ra, (sp)
        add   sp, sp, 8
        jr    ra
.l5:
# (expr #f 0 #f (set! ch (getchar)))
# (read-char)
        call  _read_char
        sw    s0, (s3)
        addi  s3, s3, 4
# (push 21100000)
        li    s5, 21100000
        sw    s5, (s3)
        addi  s3, s3, 4
# (stack-set)
        addi  s3, s3, -8
        lw    s4, (s3)
        lw    s6, 4(s3)
        slli  s6, s6, 2
        add   s6, s8, s6
        sw    s4, (s6)
# (expr #f 0 #f (return-from-procedure))
# (proc-end 0)
        mv    s3, s10
        ld    s10, (s10)
# (return)
        ld    ra, (sp)
        add   sp, sp, 8
        jr    ra
.l6:
skip_blanks:
# (function-proc-begin 0 1 0)
        add   sp, sp, -8
        sd    ra, (sp)
        mv    s1, s10
        addi  s10, s3, -0
        addi  s3, s10, 8
        addi  s0, s10, 0
        sd    s1, (s0)
.l7:
# (expr #t 4 #f (|| (|| (= ch 32) (= ch 10)) (= ch 13)))
# (push 13)
        li    s0, 13
# (push 21100000)
        li    s2, 21100000
# (stack-ref)
        slli  s2, s2, 2
        add   s2, s8, s2
        lw    s2, (s2)
# (eq)
        xor   s0, s2, s0
        sltiu s0, s0, 1
# (push 10)
        li    s2, 10
# (push 21100000)
        li    s4, 21100000
# (stack-ref)
        slli  s4, s4, 2
        add   s4, s8, s4
        lw    s4, (s4)
# (eq)
        xor   s2, s4, s2
        sltiu s2, s2, 1
# (push 32)
        li    s4, 32
# (push 21100000)
        li    s5, 21100000
# (stack-ref)
        slli  s5, s5, 2
        add   s5, s8, s5
        lw    s5, (s5)
# (eq)
        xor   s4, s5, s4
        sltiu s4, s4, 1
# (or)
        or    s2, s4, s2
# (or)
        or    s0, s2, s0
# (bfl l8)
        beq   s0, zero, .l8
# (expr #f 0 #f (set! ch (getchar)))
# (read-char)
        call  _read_char
        sw    s0, (s3)
        addi  s3, s3, 4
# (push 21100000)
        li    s5, 21100000
        sw    s5, (s3)
        addi  s3, s3, 4
# (stack-set)
        addi  s3, s3, -8
        lw    s4, (s3)
        lw    s6, 4(s3)
        slli  s6, s6, 2
        add   s6, s8, s6
        sw    s4, (s6)
# (br l7)
        j     .l7
.l8:
# (expr #f 0 #f (return-from-procedure))
# (proc-end 0)
        mv    s3, s10
        ld    s10, (s10)
# (return)
        ld    ra, (sp)
        add   sp, sp, 8
        jr    ra
my_scan_int:
# (function-proc-begin 0 4 3)
        add   sp, sp, -8
        sd    ra, (sp)
        mv    s1, s10
        addi  s10, s3, -0
        addi  s3, s10, 20
        addi  s0, s10, 12
        sd    s1, (s0)
# (expr #t 1 #f (set! sum 0))
# (push 0)
        li    s0, 0
# (stack-set-n 0)
        sw    s0, (s10)
# (expr #t 1 #f (set! negative 0))
# (push 0)
        li    s0, 0
# (stack-set-n 1)
        sw    s0, 4(s10)
# (expr #f 0 #f (skip_blanks))
# (call skip_blanks)
        call  skip_blanks
# (expr #t 2 = (= ch 45))
# (push 45)
        li    s0, 45
# (push 21100000)
        li    s2, 21100000
# (stack-ref)
        slli  s2, s2, 2
        add   s2, s8, s2
        lw    s2, (s2)
# (eq)
        xor   s0, s2, s0
        sltiu s0, s0, 1
# (bfl l9)
        beq   s0, zero, .l9
# (expr #t 1 #f (set! negative 1))
# (push 1)
        li    s0, 1
# (stack-set-n 1)
        sw    s0, 4(s10)
# (expr #f 0 #f (read_char_))
# (call read_char_)
        call  read_char_
.l9:
.l10:
# (expr #t 3 #f (&& (>= ch 48) (<= ch 57)))
# (push 57)
        li    s0, 57
# (push 21100000)
        li    s2, 21100000
# (stack-ref)
        slli  s2, s2, 2
        add   s2, s8, s2
        lw    s2, (s2)
# (le)
        slt   s0, s0, s2
        xori  s0, s0, 1
# (push 48)
        li    s2, 48
# (push 21100000)
        li    s4, 21100000
# (stack-ref)
        slli  s4, s4, 2
        add   s4, s8, s4
        lw    s4, (s4)
# (ge)
        slt   s2, s4, s2
        xori  s2, s2, 1
# (and)
        and   s0, s2, s0
# (bfl l11)
        beq   s0, zero, .l11
# (expr #t 4 #f (set! sum (- (+ (* sum 10) ch) 48)))
# (push 48)
        li    s0, 48
# (push 21100000)
        li    s2, 21100000
# (stack-ref)
        slli  s2, s2, 2
        add   s2, s8, s2
        lw    s2, (s2)
# (push 10)
        li    s4, 10
# (stack-ref-n 0)
        lw    s5, (s10)
# (mul)
        mul   s4, s5, s4
# (add)
        add   s2, s4, s2
# (sub)
        sub   s0, s2, s0
# (stack-set-n 0)
        sw    s0, (s10)
# (expr #f 0 #f (read_char_))
# (call read_char_)
        call  read_char_
# (br l10)
        j     .l10
.l11:
# (expr #t 2 = (= negative 1))
# (push 1)
        li    s0, 1
# (stack-ref-n 1)
        lw    s2, 4(s10)
# (eq)
        xor   s0, s2, s0
        sltiu s0, s0, 1
# (bfl l12)
        beq   s0, zero, .l12
# (expr #t 1 #f (set! sum (- sum)))
# (stack-ref-n 0)
        lw    s0, (s10)
# (negate)
        sub   s0, zero, s0
# (stack-set-n 0)
        sw    s0, (s10)
.l12:
# (expr #f 0 #f (return sum))
# (function-end 3)
        addi  s3, s10, 4
        ld    s10, 12(s10)
# (return)
        ld    ra, (sp)
        add   sp, sp, 8
        jr    ra
__main:
# (function-proc-begin 0 20 19)
        add   sp, sp, -8
        sd    ra, (sp)
        mv    s1, s10
        addi  s10, s3, -0
        addi  s3, s10, 84
        addi  s0, s10, 76
        sd    s1, (s0)
# (expr #t 2 #f (set! ch 32))
# (push 32)
        li    s0, 32
# (push 21100000)
        li    s2, 21100000
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 1 #f (set! stack_idx 1))
# (push 1)
        li    s0, 1
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 1 #f (set! return_stack_idx 0))
# (push 0)
        li    s0, 0
# (stack-set-n 6)
        sw    s0, 24(s10)
# (expr #t 1 #f (set! eof_reached 0))
# (push 0)
        li    s0, 0
# (stack-set-n 17)
        sw    s0, 68(s10)
# (expr #t 1 #f (set! frame_start 0))
# (push 0)
        li    s0, 0
# (stack-set-n 5)
        sw    s0, 20(s10)
# (expr #f 0 #f (set! temp (my_scan_int)))
# (call my_scan_int)
        call  my_scan_int
# (stack-set-n 13)
        addi  s3, s3, -4
        lw    s0, (s3)
        sw    s0, 52(s10)
# (expr #t 1 #f (set! idx 0))
# (push 0)
        li    s0, 0
# (stack-set-n 0)
        sw    s0, (s10)
.l13:
# (expr #t 2 < (< idx temp))
# (stack-ref-n 13)
        lw    s0, 52(s10)
# (stack-ref-n 0)
        lw    s2, (s10)
# (lt)
        slt   s0, s2, s0
# (bfl l14)
        beq   s0, zero, .l14
# (expr #f 0 #f (set! word (my_scan_int)))
# (call my_scan_int)
        call  my_scan_int
# (stack-set-n 1)
        addi  s3, s3, -4
        lw    s0, (s3)
        sw    s0, 4(s10)
# (expr #t 3 #f (vector-set! code idx word))
# (stack-ref-n 1)
        lw    s0, 4(s10)
# (stack-ref-n 0)
        lw    s2, (s10)
# (push 21000000)
        li    s4, 21000000
# (add)
        add   s2, s4, s2
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 2 #f (set! idx (+ idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 0)
        lw    s2, (s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 0)
        sw    s0, (s10)
# (br l13)
        j     .l13
.l14:
# (expr #t 1 #f (set! pc 0))
# (push 0)
        li    s0, 0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
.l15:
# (expr #f 0 #f opcode)
# (stack-ref-n 3)
        lw    s0, 12(s10)
        sw    s0, (s3)
        addi  s3, s3, 4
# (br l17)
        j     .l17
.l19:
# (expr #t 2 #f (set! frame_start (vector-ref code (+ pc 1))))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 5)
        sw    s0, 20(s10)
# (expr #t 2 #f (set! stack_idx (+ frame_start (vector-ref code (+ pc 2)))))
# (push 2)
        li    s0, 2
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-ref-n 5)
        lw    s2, 20(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (set! pc (+ pc 3)))
# (push 3)
        li    s0, 3
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l20:
# (expr #t 2 #f (set! formals_offset (vector-ref code (+ pc 1))))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 10)
        sw    s0, 40(s10)
# (expr #t 2 #f (set! all_vars_size (vector-ref code (+ pc 2))))
# (push 2)
        li    s0, 2
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 11)
        sw    s0, 44(s10)
# (expr #t 2 #f (set! dynamic_link (vector-ref code (+ pc 3))))
# (push 3)
        li    s0, 3
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 12)
        sw    s0, 48(s10)
# (expr #t 1 #f (set! temp frame_start))
# (stack-ref-n 5)
        lw    s0, 20(s10)
# (stack-set-n 13)
        sw    s0, 52(s10)
# (expr #t 2 #f (set! frame_start (- stack_idx formals_offset)))
# (stack-ref-n 10)
        lw    s0, 40(s10)
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 5)
        sw    s0, 20(s10)
# (expr #t 2 #f (set! stack_idx (+ frame_start all_vars_size)))
# (stack-ref-n 11)
        lw    s0, 44(s10)
# (stack-ref-n 5)
        lw    s2, 20(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 3 #f (vector-set! stack (+ frame_start dynamic_link) temp))
# (stack-ref-n 13)
        lw    s0, 52(s10)
# (stack-ref-n 12)
        lw    s2, 48(s10)
# (stack-ref-n 5)
        lw    s4, 20(s10)
# (add)
        add   s2, s4, s2
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 2 #f (set! pc (+ pc 4)))
# (push 4)
        li    s0, 4
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l21:
# (expr #t 2 #f (set! dynamic_link (vector-ref code (+ pc 1))))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 12)
        sw    s0, 48(s10)
# (expr #t 1 #f (set! temp (vector-ref stack frame_start)))
# (stack-ref-n 5)
        lw    s0, 20(s10)
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 13)
        sw    s0, 52(s10)
# (expr #t 1 #f (set! stack_idx frame_start))
# (stack-ref-n 5)
        lw    s0, 20(s10)
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (set! frame_start (vector-ref stack (+ frame_start dynamic_link))))
# (stack-ref-n 12)
        lw    s0, 48(s10)
# (stack-ref-n 5)
        lw    s2, 20(s10)
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 5)
        sw    s0, 20(s10)
# (expr #t 2 #f (vector-set! stack stack_idx temp))
# (stack-ref-n 13)
        lw    s0, 52(s10)
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 2 #f (set! stack_idx (+ stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (set! pc (+ pc 2)))
# (push 2)
        li    s0, 2
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l22:
# (expr #t 2 #f (set! dynamic_link (vector-ref code (+ pc 1))))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 12)
        sw    s0, 48(s10)
# (expr #t 1 #f (set! stack_idx frame_start))
# (stack-ref-n 5)
        lw    s0, 20(s10)
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (set! frame_start (vector-ref stack (+ frame_start dynamic_link))))
# (stack-ref-n 12)
        lw    s0, 48(s10)
# (stack-ref-n 5)
        lw    s2, 20(s10)
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 5)
        sw    s0, 20(s10)
# (expr #t 2 #f (set! pc (+ pc 2)))
# (push 2)
        li    s0, 2
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l23:
# (expr #t 2 #f (vector-set! stack stack_idx (+ frame_start (vector-ref code (+ pc 1)))))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-ref-n 5)
        lw    s2, 20(s10)
# (add)
        add   s0, s2, s0
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 2 #f (set! stack_idx (+ stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (set! pc (+ pc 2)))
# (push 2)
        li    s0, 2
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l24:
# (expr #t 2 #f (set! temp (- stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 13)
        sw    s0, 52(s10)
# (expr #t 2 #f (vector-set! stack temp (vector-ref stack (vector-ref stack temp))))
# (stack-ref-n 13)
        lw    s0, 52(s10)
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 2 #f (set! pc (+ pc 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l25:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        li    s0, 2
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 13)
        sw    s0, 52(s10)
# (expr #t 3 #f (vector-set! stack (vector-ref stack (- stack_idx 1)) (vector-ref stack temp)))
# (stack-ref-n 13)
        lw    s0, 52(s10)
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (push 1)
        li    s2, 1
# (stack-ref-n 4)
        lw    s4, 16(s10)
# (sub)
        sub   s2, s4, s2
# (stack-ref)
        slli  s2, s2, 2
        add   s2, s8, s2
        lw    s2, (s2)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 1 #f (set! stack_idx temp))
# (stack-ref-n 13)
        lw    s0, 52(s10)
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (set! pc (+ pc 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l26:
# (expr #t 2 #f (vector-set! stack stack_idx (vector-ref code (+ pc 1))))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 2 #f (set! stack_idx (+ stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (set! pc (+ pc 2)))
# (push 2)
        li    s0, 2
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l27:
# (expr #t 2 #f (set! stack_idx (- stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (set! pc (+ pc 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l28:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        li    s0, 2
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 13)
        sw    s0, 52(s10)
# (expr #t 2 #f (set! temp2 (- stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 14)
        sw    s0, 56(s10)
# (expr #t 2 #f (vector-set! stack temp (+ (vector-ref stack temp2) (vector-ref stack temp))))
# (stack-ref-n 13)
        lw    s0, 52(s10)
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-ref-n 14)
        lw    s2, 56(s10)
# (stack-ref)
        slli  s2, s2, 2
        add   s2, s8, s2
        lw    s2, (s2)
# (add)
        add   s0, s2, s0
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 1 #f (set! stack_idx temp2))
# (stack-ref-n 14)
        lw    s0, 56(s10)
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (set! pc (+ pc 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l29:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        li    s0, 2
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 13)
        sw    s0, 52(s10)
# (expr #t 2 #f (set! temp2 (- stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 14)
        sw    s0, 56(s10)
# (expr #t 2 #f (vector-set! stack temp (- (vector-ref stack temp2) (vector-ref stack temp))))
# (stack-ref-n 13)
        lw    s0, 52(s10)
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-ref-n 14)
        lw    s2, 56(s10)
# (stack-ref)
        slli  s2, s2, 2
        add   s2, s8, s2
        lw    s2, (s2)
# (sub)
        sub   s0, s2, s0
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 1 #f (set! stack_idx temp2))
# (stack-ref-n 14)
        lw    s0, 56(s10)
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (set! pc (+ pc 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l30:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        li    s0, 2
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 13)
        sw    s0, 52(s10)
# (expr #t 2 #f (set! temp2 (- stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 14)
        sw    s0, 56(s10)
# (expr #t 2 #f (vector-set! stack temp (* (vector-ref stack temp2) (vector-ref stack temp))))
# (stack-ref-n 13)
        lw    s0, 52(s10)
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-ref-n 14)
        lw    s2, 56(s10)
# (stack-ref)
        slli  s2, s2, 2
        add   s2, s8, s2
        lw    s2, (s2)
# (mul)
        mul   s0, s2, s0
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 1 #f (set! stack_idx temp2))
# (stack-ref-n 14)
        lw    s0, 56(s10)
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (set! pc (+ pc 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l31:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        li    s0, 2
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 13)
        sw    s0, 52(s10)
# (expr #t 2 #f (set! temp2 (- stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 14)
        sw    s0, 56(s10)
# (expr #t 2 #f (vector-set! stack temp (quotient (vector-ref stack temp2) (vector-ref stack temp))))
# (stack-ref-n 13)
        lw    s0, 52(s10)
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-ref-n 14)
        lw    s2, 56(s10)
# (stack-ref)
        slli  s2, s2, 2
        add   s2, s8, s2
        lw    s2, (s2)
# (div)
        div   s0, s2, s0
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 1 #f (set! stack_idx temp2))
# (stack-ref-n 14)
        lw    s0, 56(s10)
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (set! pc (+ pc 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l32:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        li    s0, 2
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 13)
        sw    s0, 52(s10)
# (expr #t 2 #f (set! temp2 (- stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 14)
        sw    s0, 56(s10)
# (expr #t 2 #f (vector-set! stack temp (remainder (vector-ref stack temp2) (vector-ref stack temp))))
# (stack-ref-n 13)
        lw    s0, 52(s10)
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-ref-n 14)
        lw    s2, 56(s10)
# (stack-ref)
        slli  s2, s2, 2
        add   s2, s8, s2
        lw    s2, (s2)
# (mod)
        rem   s0, s2, s0
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 1 #f (set! stack_idx temp2))
# (stack-ref-n 14)
        lw    s0, 56(s10)
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (set! pc (+ pc 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l33:
# (expr #t 2 #f (set! temp (- stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 13)
        sw    s0, 52(s10)
# (expr #f 0 #f (vector-set! stack temp (abs (vector-ref stack temp))))
# (stack-ref-n 13)
        lw    s0, 52(s10)
        sw    s0, (s3)
        addi  s3, s3, 4
# (stack-ref)
        addi  s0, s3, -4
        lw    s5, (s0)
        slli  s5, s5, 2
        add   s5, s8, s5
        lw    s6, (s5)
        sw    s6, (s0)
# (abs)
        addi  s4, s3, -4
        lw    s5, (s4)
        bge   s5, zero, .l97
        sub   s5, zero, s5
        sw    s5, (s4)
.l97:
# (stack-ref-n 13)
        lw    s0, 52(s10)
        sw    s0, (s3)
        addi  s3, s3, 4
# (stack-set)
        addi  s3, s3, -8
        lw    s4, (s3)
        lw    s6, 4(s3)
        slli  s6, s6, 2
        add   s6, s8, s6
        sw    s4, (s6)
# (expr #t 2 #f (set! pc (+ pc 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l34:
# (expr #t 2 #f (set! temp (- stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 13)
        sw    s0, 52(s10)
# (expr #t 2 #f (vector-set! stack temp (- (vector-ref stack temp))))
# (stack-ref-n 13)
        lw    s0, 52(s10)
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (negate)
        sub   s0, zero, s0
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 2 #f (set! pc (+ pc 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l35:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        li    s0, 2
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 13)
        sw    s0, 52(s10)
# (expr #t 2 #f (set! temp2 (- stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 14)
        sw    s0, 56(s10)
# (expr #t 2 #f (vector-set! stack temp (shl (vector-ref stack temp2) (vector-ref stack temp))))
# (stack-ref-n 13)
        lw    s0, 52(s10)
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-ref-n 14)
        lw    s2, 56(s10)
# (stack-ref)
        slli  s2, s2, 2
        add   s2, s8, s2
        lw    s2, (s2)
# (shl)
        sll    s0, s2, s0
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 1 #f (set! stack_idx temp2))
# (stack-ref-n 14)
        lw    s0, 56(s10)
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (set! pc (+ pc 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l36:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        li    s0, 2
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 13)
        sw    s0, 52(s10)
# (expr #t 2 #f (set! temp2 (- stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 14)
        sw    s0, 56(s10)
# (expr #t 2 #f (vector-set! stack temp (shr (vector-ref stack temp2) (vector-ref stack temp))))
# (stack-ref-n 13)
        lw    s0, 52(s10)
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-ref-n 14)
        lw    s2, 56(s10)
# (stack-ref)
        slli  s2, s2, 2
        add   s2, s8, s2
        lw    s2, (s2)
# (shr)
        sra    s0, s2, s0
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 1 #f (set! stack_idx temp2))
# (stack-ref-n 14)
        lw    s0, 56(s10)
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (set! pc (+ pc 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l37:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        li    s0, 2
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 13)
        sw    s0, 52(s10)
# (expr #t 2 #f (set! temp2 (- stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 14)
        sw    s0, 56(s10)
# (expr #t 2 #f (vector-set! stack temp (bitwise-or (vector-ref stack temp2) (vector-ref stack temp))))
# (stack-ref-n 13)
        lw    s0, 52(s10)
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-ref-n 14)
        lw    s2, 56(s10)
# (stack-ref)
        slli  s2, s2, 2
        add   s2, s8, s2
        lw    s2, (s2)
# (bitor)
        or    s0, s2, s0
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 1 #f (set! stack_idx temp2))
# (stack-ref-n 14)
        lw    s0, 56(s10)
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (set! pc (+ pc 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l38:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        li    s0, 2
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 13)
        sw    s0, 52(s10)
# (expr #t 2 #f (set! temp2 (- stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 14)
        sw    s0, 56(s10)
# (expr #t 2 #f (vector-set! stack temp (bitwise-and (vector-ref stack temp2) (vector-ref stack temp))))
# (stack-ref-n 13)
        lw    s0, 52(s10)
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-ref-n 14)
        lw    s2, 56(s10)
# (stack-ref)
        slli  s2, s2, 2
        add   s2, s8, s2
        lw    s2, (s2)
# (bitand)
        and   s0, s2, s0
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 1 #f (set! stack_idx temp2))
# (stack-ref-n 14)
        lw    s0, 56(s10)
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (set! pc (+ pc 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l39:
# (expr #t 2 #f (set! temp (- stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 13)
        sw    s0, 52(s10)
# (expr #t 2 #f (vector-set! stack temp (bitwise-not (vector-ref stack temp))))
# (stack-ref-n 13)
        lw    s0, 52(s10)
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (bitnot)
        xori  s0, s0, -1
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 2 #f (set! pc (+ pc 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l40:
# (expr #t 2 #f (set! temp (- stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 13)
        sw    s0, 52(s10)
# (expr #t 1 #f (set! cc (vector-ref stack temp)))
# (stack-ref-n 13)
        lw    s0, 52(s10)
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 8)
        sw    s0, 32(s10)
# (expr #t 1 #f (set! stack_idx temp))
# (stack-ref-n 13)
        lw    s0, 52(s10)
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 != (!= cc 0))
# (push 0)
        li    s0, 0
# (stack-ref-n 8)
        lw    s2, 32(s10)
# (ne)
        xor   s0, s2, s0
        sltu  s0, zero, s0
# (bfl l65)
        beq   s0, zero, .l65
# (expr #t 2 #f (set! pc (vector-ref code (+ pc 1))))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 2)
        sw    s0, 8(s10)
# (br l66)
        j     .l66
.l65:
# (expr #t 2 #f (set! pc (+ pc 2)))
# (push 2)
        li    s0, 2
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
.l66:
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l41:
# (expr #t 2 #f (set! temp (- stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 13)
        sw    s0, 52(s10)
# (expr #t 1 #f (set! cc (vector-ref stack temp)))
# (stack-ref-n 13)
        lw    s0, 52(s10)
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 8)
        sw    s0, 32(s10)
# (expr #t 1 #f (set! stack_idx temp))
# (stack-ref-n 13)
        lw    s0, 52(s10)
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 = (= cc 0))
# (push 0)
        li    s0, 0
# (stack-ref-n 8)
        lw    s2, 32(s10)
# (eq)
        xor   s0, s2, s0
        sltiu s0, s0, 1
# (bfl l67)
        beq   s0, zero, .l67
# (expr #t 2 #f (set! pc (vector-ref code (+ pc 1))))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 2)
        sw    s0, 8(s10)
# (br l68)
        j     .l68
.l67:
# (expr #t 2 #f (set! pc (+ pc 2)))
# (push 2)
        li    s0, 2
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
.l68:
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l42:
# (expr #t 2 #f (set! pc (vector-ref code (+ pc 1))))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l43:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        li    s0, 2
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 13)
        sw    s0, 52(s10)
# (expr #t 2 #f (set! temp2 (- stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 14)
        sw    s0, 56(s10)
# (expr #t 2 = (= (vector-ref stack temp2) (vector-ref stack temp)))
# (stack-ref-n 13)
        lw    s0, 52(s10)
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-ref-n 14)
        lw    s2, 56(s10)
# (stack-ref)
        slli  s2, s2, 2
        add   s2, s8, s2
        lw    s2, (s2)
# (eq)
        xor   s0, s2, s0
        sltiu s0, s0, 1
# (bfl l69)
        beq   s0, zero, .l69
# (expr #t 2 #f (vector-set! stack temp 1))
# (push 1)
        li    s0, 1
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (br l70)
        j     .l70
.l69:
# (expr #t 2 #f (vector-set! stack temp 0))
# (push 0)
        li    s0, 0
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
.l70:
# (expr #t 1 #f (set! stack_idx temp2))
# (stack-ref-n 14)
        lw    s0, 56(s10)
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (set! pc (+ pc 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l44:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        li    s0, 2
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 13)
        sw    s0, 52(s10)
# (expr #t 2 #f (set! temp2 (- stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 14)
        sw    s0, 56(s10)
# (expr #t 2 < (< (vector-ref stack temp2) (vector-ref stack temp)))
# (stack-ref-n 13)
        lw    s0, 52(s10)
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-ref-n 14)
        lw    s2, 56(s10)
# (stack-ref)
        slli  s2, s2, 2
        add   s2, s8, s2
        lw    s2, (s2)
# (lt)
        slt   s0, s2, s0
# (bfl l71)
        beq   s0, zero, .l71
# (expr #t 2 #f (vector-set! stack temp 1))
# (push 1)
        li    s0, 1
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (br l72)
        j     .l72
.l71:
# (expr #t 2 #f (vector-set! stack temp 0))
# (push 0)
        li    s0, 0
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
.l72:
# (expr #t 1 #f (set! stack_idx temp2))
# (stack-ref-n 14)
        lw    s0, 56(s10)
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (set! pc (+ pc 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l45:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        li    s0, 2
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 13)
        sw    s0, 52(s10)
# (expr #t 2 #f (set! temp2 (- stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 14)
        sw    s0, 56(s10)
# (expr #t 2 > (> (vector-ref stack temp2) (vector-ref stack temp)))
# (stack-ref-n 13)
        lw    s0, 52(s10)
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-ref-n 14)
        lw    s2, 56(s10)
# (stack-ref)
        slli  s2, s2, 2
        add   s2, s8, s2
        lw    s2, (s2)
# (gt)
        slt   s0, s0, s2
# (bfl l73)
        beq   s0, zero, .l73
# (expr #t 2 #f (vector-set! stack temp 1))
# (push 1)
        li    s0, 1
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (br l74)
        j     .l74
.l73:
# (expr #t 2 #f (vector-set! stack temp 0))
# (push 0)
        li    s0, 0
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
.l74:
# (expr #t 1 #f (set! stack_idx temp2))
# (stack-ref-n 14)
        lw    s0, 56(s10)
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (set! pc (+ pc 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l46:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        li    s0, 2
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 13)
        sw    s0, 52(s10)
# (expr #t 2 #f (set! temp2 (- stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 14)
        sw    s0, 56(s10)
# (expr #t 2 <= (<= (vector-ref stack temp2) (vector-ref stack temp)))
# (stack-ref-n 13)
        lw    s0, 52(s10)
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-ref-n 14)
        lw    s2, 56(s10)
# (stack-ref)
        slli  s2, s2, 2
        add   s2, s8, s2
        lw    s2, (s2)
# (le)
        slt   s0, s0, s2
        xori  s0, s0, 1
# (bfl l75)
        beq   s0, zero, .l75
# (expr #t 2 #f (vector-set! stack temp 1))
# (push 1)
        li    s0, 1
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (br l76)
        j     .l76
.l75:
# (expr #t 2 #f (vector-set! stack temp 0))
# (push 0)
        li    s0, 0
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
.l76:
# (expr #t 1 #f (set! stack_idx temp2))
# (stack-ref-n 14)
        lw    s0, 56(s10)
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (set! pc (+ pc 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l47:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        li    s0, 2
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 13)
        sw    s0, 52(s10)
# (expr #t 2 #f (set! temp2 (- stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 14)
        sw    s0, 56(s10)
# (expr #t 2 >= (>= (vector-ref stack temp2) (vector-ref stack temp)))
# (stack-ref-n 13)
        lw    s0, 52(s10)
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-ref-n 14)
        lw    s2, 56(s10)
# (stack-ref)
        slli  s2, s2, 2
        add   s2, s8, s2
        lw    s2, (s2)
# (ge)
        slt   s0, s2, s0
        xori  s0, s0, 1
# (bfl l77)
        beq   s0, zero, .l77
# (expr #t 2 #f (vector-set! stack temp 1))
# (push 1)
        li    s0, 1
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (br l78)
        j     .l78
.l77:
# (expr #t 2 #f (vector-set! stack temp 0))
# (push 0)
        li    s0, 0
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
.l78:
# (expr #t 1 #f (set! stack_idx temp2))
# (stack-ref-n 14)
        lw    s0, 56(s10)
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (set! pc (+ pc 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l48:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        li    s0, 2
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 13)
        sw    s0, 52(s10)
# (expr #t 2 #f (set! temp2 (- stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 14)
        sw    s0, 56(s10)
# (expr #t 2 != (!= (vector-ref stack temp2) (vector-ref stack temp)))
# (stack-ref-n 13)
        lw    s0, 52(s10)
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-ref-n 14)
        lw    s2, 56(s10)
# (stack-ref)
        slli  s2, s2, 2
        add   s2, s8, s2
        lw    s2, (s2)
# (ne)
        xor   s0, s2, s0
        sltu  s0, zero, s0
# (bfl l79)
        beq   s0, zero, .l79
# (expr #t 2 #f (vector-set! stack temp 1))
# (push 1)
        li    s0, 1
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (br l80)
        j     .l80
.l79:
# (expr #t 2 #f (vector-set! stack temp 0))
# (push 0)
        li    s0, 0
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
.l80:
# (expr #t 1 #f (set! stack_idx temp2))
# (stack-ref-n 14)
        lw    s0, 56(s10)
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (set! pc (+ pc 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l49:
# (expr #t 2 #f (set! temp (- stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 13)
        sw    s0, 52(s10)
# (expr #t 2 #f (vector-set! stack temp (bitwise-and (bitwise-not (vector-ref stack temp)) 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-ref)
        slli  s2, s2, 2
        add   s2, s8, s2
        lw    s2, (s2)
# (bitnot)
        xori  s2, s2, -1
# (bitand)
        and   s0, s2, s0
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 2 #f (set! pc (+ pc 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l50:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        li    s0, 2
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 13)
        sw    s0, 52(s10)
# (expr #t 2 #f (set! temp2 (- stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 14)
        sw    s0, 56(s10)
# (expr #t 2 #f (vector-set! stack temp (bitwise-and (vector-ref stack temp2) (vector-ref stack temp))))
# (stack-ref-n 13)
        lw    s0, 52(s10)
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-ref-n 14)
        lw    s2, 56(s10)
# (stack-ref)
        slli  s2, s2, 2
        add   s2, s8, s2
        lw    s2, (s2)
# (bitand)
        and   s0, s2, s0
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 1 #f (set! stack_idx temp2))
# (stack-ref-n 14)
        lw    s0, 56(s10)
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (set! pc (+ pc 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l51:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        li    s0, 2
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 13)
        sw    s0, 52(s10)
# (expr #t 2 #f (set! temp2 (- stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 14)
        sw    s0, 56(s10)
# (expr #t 2 #f (vector-set! stack temp (bitwise-or (vector-ref stack temp2) (vector-ref stack temp))))
# (stack-ref-n 13)
        lw    s0, 52(s10)
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-ref-n 14)
        lw    s2, 56(s10)
# (stack-ref)
        slli  s2, s2, 2
        add   s2, s8, s2
        lw    s2, (s2)
# (bitor)
        or    s0, s2, s0
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 1 #f (set! stack_idx temp2))
# (stack-ref-n 14)
        lw    s0, 56(s10)
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (set! pc (+ pc 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l52:
# (expr #t 3 #f (vector-set! return_stack return_stack_idx (+ pc 2)))
# (push 2)
        li    s0, 2
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-ref-n 6)
        lw    s2, 24(s10)
# (push 21050000)
        li    s4, 21050000
# (add)
        add   s2, s4, s2
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 2 #f (set! pc (vector-ref code (+ pc 1))))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! return_stack_idx (+ return_stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 6)
        lw    s2, 24(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 6)
        sw    s0, 24(s10)
# (expr #t 2 = (= return_stack_idx 50000))
# (push 50000)
        li    s0, 50000
# (stack-ref-n 6)
        lw    s2, 24(s10)
# (eq)
        xor   s0, s2, s0
        sltiu s0, s0, 1
# (bfl l81)
        beq   s0, zero, .l81
# (expr #f 0 #f (__put4chars 1937006947))
# (push 1937006947)
        li    s5, 1937006947
        sw    s5, (s3)
        addi  s3, s3, 4
# (call __put4chars)
        call  __put4chars
# (expr #f 0 #f (__put4chars 1797287798))
# (push 1797287798)
        li    s5, 1797287798
        sw    s5, (s3)
        addi  s3, s3, 4
# (call __put4chars)
        call  __put4chars
# (expr #f 0 #f (__put4chars 1701996140))
# (push 1701996140)
        li    s5, 1701996140
        sw    s5, (s3)
        addi  s3, s3, 4
# (call __put4chars)
        call  __put4chars
# (expr #f 0 #f (putchar 111))
# (push 111)
        li    s5, 111
        sw    s5, (s3)
        addi  s3, s3, 4
# (write-char)
        lw    s0, -4(s3)
        addi  s3, s3, -4
        call  print_character
# (expr #f 0 #f (putchar 119))
# (push 119)
        li    s5, 119
        sw    s5, (s3)
        addi  s3, s3, 4
# (write-char)
        lw    s0, -4(s3)
        addi  s3, s3, -4
        call  print_character
# (expr #f 0 #f (putchar 10))
# (push 10)
        li    s5, 10
        sw    s5, (s3)
        addi  s3, s3, 4
# (write-char)
        lw    s0, -4(s3)
        addi  s3, s3, -4
        call  print_character
# (expr #f 0 #f (exit 0))
# (push 0)
        li    s5, 0
        sw    s5, (s3)
        addi  s3, s3, 4
# (exit)
        j     _cleanup
.l81:
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l53:
# (expr #t 2 #f (set! pc (vector-ref return_stack (- return_stack_idx 1))))
# (push 1)
        li    s0, 1
# (stack-ref-n 6)
        lw    s2, 24(s10)
# (sub)
        sub   s0, s2, s0
# (push 21050000)
        li    s2, 21050000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! return_stack_idx (- return_stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 6)
        lw    s2, 24(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 6)
        sw    s0, 24(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l54:
# (expr #t 1 #f (set! val_ 0))
# (push 0)
        li    s0, 0
# (stack-set-n 7)
        sw    s0, 28(s10)
# (expr #t 2 = (= eof_reached 0))
# (push 0)
        li    s0, 0
# (stack-ref-n 17)
        lw    s2, 68(s10)
# (eq)
        xor   s0, s2, s0
        sltiu s0, s0, 1
# (bfl l82)
        beq   s0, zero, .l82
# (expr #f 0 #f (set! val_ (getchar)))
# (read-char)
        call  _read_char
        sw    s0, (s3)
        addi  s3, s3, 4
# (stack-set-n 7)
        addi  s3, s3, -4
        lw    s0, (s3)
        sw    s0, 28(s10)
# (expr #t 2 = (= val_ (- 1)))
# (push 1)
        li    s0, 1
# (negate)
        sub   s0, zero, s0
# (stack-ref-n 7)
        lw    s2, 28(s10)
# (eq)
        xor   s0, s2, s0
        sltiu s0, s0, 1
# (bfl l83)
        beq   s0, zero, .l83
# (expr #t 1 #f (set! eof_reached 1))
# (push 1)
        li    s0, 1
# (stack-set-n 17)
        sw    s0, 68(s10)
# (br l84)
        j     .l84
.l83:
# (expr #t 2 #f (set! val_ (bitwise-and val_ 255)))
# (push 255)
        li    s0, 255
# (stack-ref-n 7)
        lw    s2, 28(s10)
# (bitand)
        and   s0, s2, s0
# (stack-set-n 7)
        sw    s0, 28(s10)
.l84:
.l82:
# (expr #t 2 #f (vector-set! stack stack_idx val_))
# (stack-ref-n 7)
        lw    s0, 28(s10)
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 2 #f (set! stack_idx (+ stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (set! pc (+ pc 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l55:
# (expr #t 2 = (= eof_reached 1))
# (push 1)
        li    s0, 1
# (stack-ref-n 17)
        lw    s2, 68(s10)
# (eq)
        xor   s0, s2, s0
        sltiu s0, s0, 1
# (bfl l85)
        beq   s0, zero, .l85
# (expr #t 2 #f (vector-set! stack stack_idx 1))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (br l86)
        j     .l86
.l85:
# (expr #t 2 #f (vector-set! stack stack_idx 0))
# (push 0)
        li    s0, 0
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
.l86:
# (expr #t 2 #f (set! stack_idx (+ stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (set! pc (+ pc 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l56:
# (expr #t 2 #f (set! temp (vector-ref stack (- stack_idx 1))))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 13)
        sw    s0, 52(s10)
# (expr #t 1 #f (set! done_displaying_int 0))
# (push 0)
        li    s0, 0
# (stack-set-n 16)
        sw    s0, 64(s10)
# (expr #t 2 < (< temp 0))
# (push 0)
        li    s0, 0
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (lt)
        slt   s0, s2, s0
# (bfl l87)
        beq   s0, zero, .l87
# (expr #f 0 #f (putchar 45))
# (push 45)
        li    s5, 45
        sw    s5, (s3)
        addi  s3, s3, 4
# (write-char)
        lw    s0, -4(s3)
        addi  s3, s3, -4
        call  print_character
# (expr #t 4 #f (&& (= (bitwise-and temp 65535) 0) (= (shr temp 16) (- 32768))))
# (push 32768)
        li    s0, 32768
# (negate)
        sub   s0, zero, s0
# (push 16)
        li    s2, 16
# (stack-ref-n 13)
        lw    s4, 52(s10)
# (shr)
        sra    s2, s4, s2
# (eq)
        xor   s0, s2, s0
        sltiu s0, s0, 1
# (push 0)
        li    s2, 0
# (push 65535)
        li    s4, 65535
# (stack-ref-n 13)
        lw    s5, 52(s10)
# (bitand)
        and   s4, s5, s4
# (eq)
        xor   s2, s4, s2
        sltiu s2, s2, 1
# (and)
        and   s0, s2, s0
# (bfl l88)
        beq   s0, zero, .l88
# (expr #t 2 #f (vector-set! stack stack_idx 56))
# (push 56)
        li    s0, 56
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 2 #f (set! stack_idx (+ stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (vector-set! stack stack_idx 52))
# (push 52)
        li    s0, 52
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 2 #f (set! stack_idx (+ stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (vector-set! stack stack_idx 54))
# (push 54)
        li    s0, 54
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 2 #f (set! stack_idx (+ stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (vector-set! stack stack_idx 51))
# (push 51)
        li    s0, 51
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 2 #f (set! stack_idx (+ stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (vector-set! stack stack_idx 56))
# (push 56)
        li    s0, 56
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 2 #f (set! stack_idx (+ stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (vector-set! stack stack_idx 52))
# (push 52)
        li    s0, 52
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 2 #f (set! stack_idx (+ stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (vector-set! stack stack_idx 55))
# (push 55)
        li    s0, 55
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 2 #f (set! stack_idx (+ stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (vector-set! stack stack_idx 52))
# (push 52)
        li    s0, 52
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 2 #f (set! stack_idx (+ stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (vector-set! stack stack_idx 49))
# (push 49)
        li    s0, 49
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 2 #f (set! stack_idx (+ stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (vector-set! stack stack_idx 50))
# (push 50)
        li    s0, 50
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 2 #f (set! stack_idx (+ stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 1 #f (set! count 10))
# (push 10)
        li    s0, 10
# (stack-set-n 15)
        sw    s0, 60(s10)
# (expr #t 1 #f (set! temp 0))
# (push 0)
        li    s0, 0
# (stack-set-n 13)
        sw    s0, 52(s10)
.l89:
# (expr #f 0 #f (putchar (vector-ref stack (- stack_idx 1))))
# (push 1)
        li    s5, 1
        sw    s5, (s3)
        addi  s3, s3, 4
# (stack-ref-n 4)
        lw    s0, 16(s10)
        sw    s0, (s3)
        addi  s3, s3, 4
# (sub)
        addi  s3, s3, -4
        lw    s7, (s3)
        lw    s5, -4(s3)
        sub   s4, s7, s5
        sw    s4, -4(s3)
# (stack-ref)
        addi  s0, s3, -4
        lw    s5, (s0)
        slli  s5, s5, 2
        add   s5, s8, s5
        lw    s6, (s5)
        sw    s6, (s0)
# (write-char)
        lw    s0, -4(s3)
        addi  s3, s3, -4
        call  print_character
# (expr #t 2 #f (set! stack_idx (- stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (set! temp (+ temp 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 13)
        sw    s0, 52(s10)
# (expr #t 2 < (< temp count))
# (stack-ref-n 15)
        lw    s0, 60(s10)
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (lt)
        slt   s0, s2, s0
# (bfl l90)
        beq   s0, zero, .l90
# (br l89)
        j     .l89
.l90:
# (expr #t 1 #f (set! done_displaying_int 1))
# (push 1)
        li    s0, 1
# (stack-set-n 16)
        sw    s0, 64(s10)
.l88:
# (expr #t 1 #f (! done_displaying_int))
# (stack-ref-n 16)
        lw    s0, 64(s10)
# (not)
        xori  s0, s0, 1
# (bfl l91)
        beq   s0, zero, .l91
# (expr #t 1 #f (set! temp (- temp)))
# (stack-ref-n 13)
        lw    s0, 52(s10)
# (negate)
        sub   s0, zero, s0
# (stack-set-n 13)
        sw    s0, 52(s10)
.l91:
.l87:
# (expr #t 1 #f (! done_displaying_int))
# (stack-ref-n 16)
        lw    s0, 64(s10)
# (not)
        xori  s0, s0, 1
# (bfl l92)
        beq   s0, zero, .l92
# (expr #t 1 #f (set! count 0))
# (push 0)
        li    s0, 0
# (stack-set-n 15)
        sw    s0, 60(s10)
.l93:
# (expr #t 3 #f (vector-set! stack stack_idx (+ (remainder temp 10) 48)))
# (push 48)
        li    s0, 48
# (push 10)
        li    s2, 10
# (stack-ref-n 13)
        lw    s4, 52(s10)
# (mod)
        rem   s2, s4, s2
# (add)
        add   s0, s2, s0
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 2 #f (set! temp (quotient temp 10)))
# (push 10)
        li    s0, 10
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (div)
        div   s0, s2, s0
# (stack-set-n 13)
        sw    s0, 52(s10)
# (expr #t 2 #f (set! stack_idx (+ stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (set! count (+ count 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 15)
        lw    s2, 60(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 15)
        sw    s0, 60(s10)
# (expr #t 2 != (!= temp 0))
# (push 0)
        li    s0, 0
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (ne)
        xor   s0, s2, s0
        sltu  s0, zero, s0
# (bfl l94)
        beq   s0, zero, .l94
# (br l93)
        j     .l93
.l94:
# (expr #t 1 #f (set! temp 0))
# (push 0)
        li    s0, 0
# (stack-set-n 13)
        sw    s0, 52(s10)
.l95:
# (expr #f 0 #f (putchar (vector-ref stack (- stack_idx 1))))
# (push 1)
        li    s5, 1
        sw    s5, (s3)
        addi  s3, s3, 4
# (stack-ref-n 4)
        lw    s0, 16(s10)
        sw    s0, (s3)
        addi  s3, s3, 4
# (sub)
        addi  s3, s3, -4
        lw    s7, (s3)
        lw    s5, -4(s3)
        sub   s4, s7, s5
        sw    s4, -4(s3)
# (stack-ref)
        addi  s0, s3, -4
        lw    s5, (s0)
        slli  s5, s5, 2
        add   s5, s8, s5
        lw    s6, (s5)
        sw    s6, (s0)
# (write-char)
        lw    s0, -4(s3)
        addi  s3, s3, -4
        call  print_character
# (expr #t 2 #f (set! stack_idx (- stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (set! temp (+ temp 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 13)
        sw    s0, 52(s10)
# (expr #t 2 < (< temp count))
# (stack-ref-n 15)
        lw    s0, 60(s10)
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (lt)
        slt   s0, s2, s0
# (bfl l96)
        beq   s0, zero, .l96
# (br l95)
        j     .l95
.l96:
.l92:
# (expr #t 2 #f (set! stack_idx (- stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (set! pc (+ pc 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l57:
# (expr #f 0 #f (putchar 10))
# (push 10)
        li    s5, 10
        sw    s5, (s3)
        addi  s3, s3, 4
# (write-char)
        lw    s0, -4(s3)
        addi  s3, s3, -4
        call  print_character
# (expr #t 2 #f (set! pc (+ pc 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l58:
# (expr #f 0 #f (exit 0))
# (push 0)
        li    s5, 0
        sw    s5, (s3)
        addi  s3, s3, 4
# (exit)
        j     _cleanup
# (br l15)
        j     .l15
.l59:
# (expr #t 2 #f (set! temp (- stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 13)
        sw    s0, 52(s10)
# (expr #f 0 #f (putchar (vector-ref stack temp)))
# (stack-ref-n 13)
        lw    s0, 52(s10)
        sw    s0, (s3)
        addi  s3, s3, 4
# (stack-ref)
        addi  s0, s3, -4
        lw    s5, (s0)
        slli  s5, s5, 2
        add   s5, s8, s5
        lw    s6, (s5)
        sw    s6, (s0)
# (write-char)
        lw    s0, -4(s3)
        addi  s3, s3, -4
        call  print_character
# (expr #t 1 #f (set! stack_idx temp))
# (stack-ref-n 13)
        lw    s0, 52(s10)
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (set! pc (+ pc 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l60:
# (expr #t 2 #f (set! temp (- stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 13)
        sw    s0, 52(s10)
# (expr #t 1 #f (set! n (vector-ref stack temp)))
# (stack-ref-n 13)
        lw    s0, 52(s10)
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 9)
        sw    s0, 36(s10)
# (expr #t 1 #f (set! stack_idx temp))
# (stack-ref-n 13)
        lw    s0, 52(s10)
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 3 #f (set! pc (vector-ref code (+ (+ pc n) 1))))
# (push 1)
        li    s0, 1
# (stack-ref-n 9)
        lw    s2, 36(s10)
# (stack-ref-n 2)
        lw    s4, 8(s10)
# (add)
        add   s2, s4, s2
# (add)
        add   s0, s2, s0
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l61:
# (expr #t 2 #f (vector-set! stack stack_idx (vector-ref stack (+ frame_start (vector-ref code (+ pc 1))))))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-ref-n 5)
        lw    s2, 20(s10)
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 2 #f (set! stack_idx (+ stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (set! pc (+ pc 2)))
# (push 2)
        li    s0, 2
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l62:
# (expr #t 3 #f (vector-set! stack (+ frame_start (vector-ref code (+ pc 1))) (vector-ref stack (- stack_idx 1))))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (push 1)
        li    s2, 1
# (stack-ref-n 2)
        lw    s4, 8(s10)
# (add)
        add   s2, s4, s2
# (push 21000000)
        li    s4, 21000000
# (add)
        add   s2, s4, s2
# (stack-ref)
        slli  s2, s2, 2
        add   s2, s8, s2
        lw    s2, (s2)
# (stack-ref-n 5)
        lw    s4, 20(s10)
# (add)
        add   s2, s4, s2
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 2 #f (set! stack_idx (- stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (set! pc (+ pc 2)))
# (push 2)
        li    s0, 2
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l63:
# (expr #f 0 #f (exit 0))
# (push 0)
        li    s5, 0
        sw    s5, (s3)
        addi  s3, s3, 4
# (exit)
        j     _cleanup
# (br l15)
        j     .l15
.l64:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        li    s0, 2
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 13)
        sw    s0, 52(s10)
# (expr #t 2 #f (set! temp2 (- stack_idx 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (sub)
        sub   s0, s2, s0
# (stack-set-n 14)
        sw    s0, 56(s10)
# (expr #t 2 #f (vector-set! stack temp (bitwise-xor (vector-ref stack temp2) (vector-ref stack temp))))
# (stack-ref-n 13)
        lw    s0, 52(s10)
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-ref-n 14)
        lw    s2, 56(s10)
# (stack-ref)
        slli  s2, s2, 2
        add   s2, s8, s2
        lw    s2, (s2)
# (bitxor)
        xor   s0, s2, s0
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 1 #f (set! stack_idx temp2))
# (stack-ref-n 14)
        lw    s0, 56(s10)
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 2 #f (set! pc (+ pc 1)))
# (push 1)
        li    s0, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        li    s2, 21000000
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 3)
        sw    s0, 12(s10)
# (br l15)
        j     .l15
.l17:
# (brtable (0 l19) (1 l20) (2 l21) (3 l22) (4 l23) (5 l24) (6 l25) (7 l26) (8 l27) (9 l28) (10 l29) (11 l30) (12 l31) (13 l32) (14 l33) (15 l34) (16 l35) (17 l36) (18 l37) (19 l38) (20 l39) (21 l40) (22 l41) (23 l42) (24 l43) (25 l44) (26 l45) (27 l46) (28 l47) (29 l48) (30 l49) (31 l50) (32 l51) (33 l52) (34 l53) (35 l54) (36 l55) (37 l56) (38 l57) (39 l58) (40 l59) (41 l60) (42 l61) (43 l62) (44 l63) (45 l64))
        addi  s3, s3, -4
        lw    s0, (s3)
        slli  s0, s0, 2
        la    s2, .l98
        add   s0, s2, s0
        jalr  x0, s0, 0
.l98:
        j     .l19
        j     .l20
        j     .l21
        j     .l22
        j     .l23
        j     .l24
        j     .l25
        j     .l26
        j     .l27
        j     .l28
        j     .l29
        j     .l30
        j     .l31
        j     .l32
        j     .l33
        j     .l34
        j     .l35
        j     .l36
        j     .l37
        j     .l38
        j     .l39
        j     .l40
        j     .l41
        j     .l42
        j     .l43
        j     .l44
        j     .l45
        j     .l46
        j     .l47
        j     .l48
        j     .l49
        j     .l50
        j     .l51
        j     .l52
        j     .l53
        j     .l54
        j     .l55
        j     .l56
        j     .l57
        j     .l58
        j     .l59
        j     .l60
        j     .l61
        j     .l62
        j     .l63
        j     .l64
.l18:
# (br l15)
        j     .l15
# (expr #t 1 #f (return 0))
# (push 0)
        li    s0, 0
# (stack-set-n 0)
        sw    s0, (s10)
# (function-end 19)
        addi  s3, s10, 4
        ld    s10, 76(s10)
# (return)
        ld    ra, (sp)
        add   sp, sp, 8
        jr    ra
