# (top-level-begin 0 21100005)
        mv    s10, s8
        lui   s4, %hi(21100005)
        addi  s4, s4, %lo(21100005)
        slli  s4, s4, 2
        add   s3, s10, s4
# (call __main)
        call  __main
# (exit)
        j     _cleanup
__mult:
# (function-proc-begin 2 4 3)
        add   sp, sp, -8
        sd    ra, (sp)
        mv    s1, s10
        addi  s10, s3, -8
        addi  s3, s10, 16 + 4
        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, 16 + 4
        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, 8 + 4
        addi  s0, s10, 4
        sd    s1, (s0)
# (expr #t 2 #f (set! ch (bitwise-and ch 255)))
# (push 255)
        addi  s0, zero, 255
# (stack-ref-n 0)
        lw    s2, (s10)
# (bitand)
        and   s0, s2, s0
# (stack-set-n 0)
        sw    s0, (s10)
# (expr #f 0 #f (putchar ch))
# (stack-ref-n 0)
        lw    s0, (s10)
        sw    s0, (s3)
        addi  s3, s3, 4
# (write-char)
        lw    t0, -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, 8 + 4
        addi  s0, s10, 4
        sd    s1, (s0)
# (expr #f 0 #f (return (getchar)))
# (read-char)
        lui   s0, %hi(eof_reached)
        addi  s0, s0, %lo(eof_reached)
        lw    s0, (s0)
        bne   s0, zero, .l157
        call  _read_char
        j     .l158
.l157:
        lui   s0, %hi(in_ch)
        addi  s0, s0, %lo(in_ch)
        addi  s1, zero, -1
        sw    s1, (s0)
.l158:
        lui   s1, %hi(in_ch)
        addi  s1, s1, %lo(in_ch)
        lw    s1, (s1)
        sw    s1, (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, 4 + 4
        addi  s0, s10, 0
        sd    s1, (s0)
# (expr #t 2 = (= ch (- 1)))
# (push 1)
        addi  s0, zero, 1
# (negate)
        sub   s0, zero, s0
# (push 21100000)
        lui   s2, %hi(21100000)
        addi  s2, s2, %lo(21100000)
# (stack-ref)
        slli  s2, s2, 2
        add   s2, s8, s2
        lw    s2, (s2)
# (eq)
        beq   s2, s0, .l159
        li    s0, 0
        j     .l160
.l159:
        li    s0, 1
.l160:
# (bfl l0)
        beq   s0, zero, .l0
# (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
.l0:
# (expr #f 0 #f (set! ch (getchar)))
# (read-char)
        lui   s0, %hi(eof_reached)
        addi  s0, s0, %lo(eof_reached)
        lw    s0, (s0)
        bne   s0, zero, .l161
        call  _read_char
        j     .l162
.l161:
        lui   s0, %hi(in_ch)
        addi  s0, s0, %lo(in_ch)
        addi  s1, zero, -1
        sw    s1, (s0)
.l162:
        lui   s1, %hi(in_ch)
        addi  s1, s1, %lo(in_ch)
        lw    s1, (s1)
        sw    s1, (s3)
        addi  s3, s3, 4
# (push 21100000)
        lui   s5, %hi(21100000)
        addi  s5, s5, %lo(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
.l1:
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, 4 + 4
        addi  s0, s10, 0
        sd    s1, (s0)
.l4:
# (expr #t 4 #f (|| (|| (= ch 32) (= ch 10)) (= ch 13)))
# (push 13)
        addi  s0, zero, 13
# (push 21100000)
        lui   s2, %hi(21100000)
        addi  s2, s2, %lo(21100000)
# (stack-ref)
        slli  s2, s2, 2
        add   s2, s8, s2
        lw    s2, (s2)
# (eq)
        beq   s2, s0, .l163
        li    s0, 0
        j     .l164
.l163:
        li    s0, 1
.l164:
# (push 10)
        addi  s2, zero, 10
# (push 21100000)
        lui   s4, %hi(21100000)
        addi  s4, s4, %lo(21100000)
# (stack-ref)
        slli  s4, s4, 2
        add   s4, s8, s4
        lw    s4, (s4)
# (eq)
        beq   s4, s2, .l165
        li    s2, 0
        j     .l166
.l165:
        li    s2, 1
.l166:
# (push 32)
        addi  s4, zero, 32
# (push 21100000)
        lui   s5, %hi(21100000)
        addi  s5, s5, %lo(21100000)
# (stack-ref)
        slli  s5, s5, 2
        add   s5, s8, s5
        lw    s5, (s5)
# (eq)
        beq   s5, s4, .l167
        li    s4, 0
        j     .l168
.l167:
        li    s4, 1
.l168:
# (or)
        or    s2, s4, s2
# (or)
        or    s0, s2, s0
# (bfl l5)
        beq   s0, zero, .l5
# (expr #f 0 #f (set! ch (getchar)))
# (read-char)
        lui   s0, %hi(eof_reached)
        addi  s0, s0, %lo(eof_reached)
        lw    s0, (s0)
        bne   s0, zero, .l169
        call  _read_char
        j     .l170
.l169:
        lui   s0, %hi(in_ch)
        addi  s0, s0, %lo(in_ch)
        addi  s1, zero, -1
        sw    s1, (s0)
.l170:
        lui   s1, %hi(in_ch)
        addi  s1, s1, %lo(in_ch)
        lw    s1, (s1)
        sw    s1, (s3)
        addi  s3, s3, 4
# (push 21100000)
        lui   s5, %hi(21100000)
        addi  s5, s5, %lo(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 l4)
        j     .l4
.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
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, 16 + 4
        addi  s0, s10, 12
        sd    s1, (s0)
# (expr #t 1 #f (set! sum 0))
# (push 0)
        addi  s0, zero, 0
# (stack-set-n 0)
        sw    s0, (s10)
# (expr #t 1 #f (set! negative 0))
# (push 0)
        addi  s0, zero, 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)
        addi  s0, zero, 45
# (push 21100000)
        lui   s2, %hi(21100000)
        addi  s2, s2, %lo(21100000)
# (stack-ref)
        slli  s2, s2, 2
        add   s2, s8, s2
        lw    s2, (s2)
# (eq)
        beq   s2, s0, .l171
        li    s0, 0
        j     .l172
.l171:
        li    s0, 1
.l172:
# (bfl l12)
        beq   s0, zero, .l12
# (expr #t 1 #f (set! negative 1))
# (push 1)
        addi  s0, zero, 1
# (stack-set-n 1)
        sw    s0, 4(s10)
# (expr #f 0 #f (read_char_))
# (call read_char_)
        call  read_char_
.l12:
.l15:
# (expr #t 3 #f (&& (>= ch 48) (<= ch 57)))
# (push 57)
        addi  s0, zero, 57
# (push 21100000)
        lui   s2, %hi(21100000)
        addi  s2, s2, %lo(21100000)
# (stack-ref)
        slli  s2, s2, 2
        add   s2, s8, s2
        lw    s2, (s2)
# (le)
        ble   s2, s0, .l173
        li    s0, 0
        j     .l174
.l173:
        li    s0, 1
.l174:
# (push 48)
        addi  s2, zero, 48
# (push 21100000)
        lui   s4, %hi(21100000)
        addi  s4, s4, %lo(21100000)
# (stack-ref)
        slli  s4, s4, 2
        add   s4, s8, s4
        lw    s4, (s4)
# (ge)
        bge   s4, s2, .l175
        li    s2, 0
        j     .l176
.l175:
        li    s2, 1
.l176:
# (and)
        and   s0, s2, s0
# (bfl l16)
        beq   s0, zero, .l16
# (expr #t 4 #f (set! sum (- (+ (* sum 10) ch) 48)))
# (push 48)
        addi  s0, zero, 48
# (push 21100000)
        lui   s2, %hi(21100000)
        addi  s2, s2, %lo(21100000)
# (stack-ref)
        slli  s2, s2, 2
        add   s2, s8, s2
        lw    s2, (s2)
# (push 10)
        addi  s4, zero, 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 l15)
        j     .l15
.l16:
# (expr #t 2 = (= negative 1))
# (push 1)
        addi  s0, zero, 1
# (stack-ref-n 1)
        lw    s2, 4(s10)
# (eq)
        beq   s2, s0, .l177
        li    s0, 0
        j     .l178
.l177:
        li    s0, 1
.l178:
# (bfl l21)
        beq   s0, zero, .l21
# (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)
.l21:
# (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 21 20)
        add   sp, sp, -8
        sd    ra, (sp)
        mv    s1, s10
        addi  s10, s3, -0
        addi  s3, s10, 84 + 4
        addi  s0, s10, 80
        sd    s1, (s0)
# (expr #t 2 #f (set! ch 32))
# (push 32)
        addi  s0, zero, 32
# (push 21100000)
        lui   s2, %hi(21100000)
        addi  s2, s2, %lo(21100000)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (expr #t 1 #f (set! stack_idx 1))
# (push 1)
        addi  s0, zero, 1
# (stack-set-n 4)
        sw    s0, 16(s10)
# (expr #t 1 #f (set! return_stack_idx 0))
# (push 0)
        addi  s0, zero, 0
# (stack-set-n 6)
        sw    s0, 24(s10)
# (expr #t 1 #f (set! eof_reached 0))
# (push 0)
        addi  s0, zero, 0
# (stack-set-n 18)
        sw    s0, 72(s10)
# (expr #t 1 #f (set! frame_start 0))
# (push 0)
        addi  s0, zero, 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)
        addi  s0, zero, 0
# (stack-set-n 0)
        sw    s0, (s10)
.l24:
# (expr #t 2 < (< idx temp))
# (stack-ref-n 13)
        lw    s0, 52(s10)
# (stack-ref-n 0)
        lw    s2, (s10)
# (lt)
        blt   s2, s0, .l179
        li    s0, 0
        j     .l180
.l179:
        li    s0, 1
.l180:
# (bfl l25)
        beq   s0, zero, .l25
# (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)
        lui   s4, %hi(21000000)
        addi  s4, s4, %lo(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)
        addi  s0, zero, 1
# (stack-ref-n 0)
        lw    s2, (s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 0)
        sw    s0, (s10)
# (br l24)
        j     .l24
.l25:
# (expr #t 1 #f (set! pc 0))
# (push 0)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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)
.l28:
# (expr #f 0 #f opcode)
# (stack-ref-n 3)
        lw    s0, 12(s10)
        sw    s0, (s3)
        addi  s3, s3, 4
# (br l30)
        j     .l30
.l32:
# (expr #t 2 #f (set! frame_start (vector-ref code (+ pc 1))))
# (push 1)
        addi  s0, zero, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (push 21000000)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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)
        addi  s0, zero, 2
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (push 21000000)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l33:
# (expr #t 2 #f (set! formals_offset (vector-ref code (+ pc 1))))
# (push 1)
        addi  s0, zero, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (push 21000000)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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)
        addi  s0, zero, 2
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (push 21000000)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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)
        addi  s0, zero, 3
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (push 21000000)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l34:
# (expr #t 2 #f (set! dynamic_link (vector-ref code (+ pc 1))))
# (push 1)
        addi  s0, zero, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (push 21000000)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l35:
# (expr #t 2 #f (set! dynamic_link (vector-ref code (+ pc 1))))
# (push 1)
        addi  s0, zero, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (push 21000000)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l36:
# (expr #t 2 #f (vector-set! stack stack_idx (+ frame_start (vector-ref code (+ pc 1)))))
# (push 1)
        addi  s0, zero, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (push 21000000)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l37:
# (expr #t 2 #f (set! temp (- stack_idx 1)))
# (push 1)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l38:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        addi  s0, zero, 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)
        addi  s2, zero, 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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l39:
# (expr #t 2 #f (vector-set! stack stack_idx (vector-ref code (+ pc 1))))
# (push 1)
        addi  s0, zero, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (push 21000000)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l40:
# (expr #t 2 #f (set! stack_idx (- stack_idx 1)))
# (push 1)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l41:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l42:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l43:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l44:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l45:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l46:
# (expr #t 2 #f (set! temp (- stack_idx 1)))
# (push 1)
        addi  s0, zero, 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, .l181
        sub   s5, zero, s5
        sw    s5, (s4)
.l181:
# (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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l47:
# (expr #t 2 #f (set! temp (- stack_idx 1)))
# (push 1)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l48:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l49:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l50:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l51:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l52:
# (expr #t 2 #f (set! temp (- stack_idx 1)))
# (push 1)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l53:
# (expr #t 2 #f (set! temp (- stack_idx 1)))
# (push 1)
        addi  s0, zero, 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)
        addi  s0, zero, 0
# (stack-ref-n 8)
        lw    s2, 32(s10)
# (ne)
        bne   s2, s0, .l182
        li    s0, 0
        j     .l183
.l182:
        li    s0, 1
.l183:
# (bfl l78)
        beq   s0, zero, .l78
# (expr #t 2 #f (set! pc (vector-ref code (+ pc 1))))
# (push 1)
        addi  s0, zero, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (push 21000000)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l79)
        j     .l79
.l78:
# (expr #t 2 #f (set! pc (+ pc 2)))
# (push 2)
        addi  s0, zero, 2
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
.l79:
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l54:
# (expr #t 2 #f (set! temp (- stack_idx 1)))
# (push 1)
        addi  s0, zero, 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)
        addi  s0, zero, 0
# (stack-ref-n 8)
        lw    s2, 32(s10)
# (eq)
        beq   s2, s0, .l184
        li    s0, 0
        j     .l185
.l184:
        li    s0, 1
.l185:
# (bfl l82)
        beq   s0, zero, .l82
# (expr #t 2 #f (set! pc (vector-ref code (+ pc 1))))
# (push 1)
        addi  s0, zero, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (push 21000000)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l83)
        j     .l83
.l82:
# (expr #t 2 #f (set! pc (+ pc 2)))
# (push 2)
        addi  s0, zero, 2
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
.l83:
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l55:
# (expr #t 2 #f (set! pc (vector-ref code (+ pc 1))))
# (push 1)
        addi  s0, zero, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (push 21000000)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l56:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        beq   s2, s0, .l186
        li    s0, 0
        j     .l187
.l186:
        li    s0, 1
.l187:
# (bfl l86)
        beq   s0, zero, .l86
# (expr #t 2 #f (vector-set! stack temp 1))
# (push 1)
        addi  s0, zero, 1
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (br l87)
        j     .l87
.l86:
# (expr #t 2 #f (vector-set! stack temp 0))
# (push 0)
        addi  s0, zero, 0
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
.l87:
# (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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l57:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        blt   s2, s0, .l188
        li    s0, 0
        j     .l189
.l188:
        li    s0, 1
.l189:
# (bfl l90)
        beq   s0, zero, .l90
# (expr #t 2 #f (vector-set! stack temp 1))
# (push 1)
        addi  s0, zero, 1
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (br l91)
        j     .l91
.l90:
# (expr #t 2 #f (vector-set! stack temp 0))
# (push 0)
        addi  s0, zero, 0
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
.l91:
# (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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l58:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        bgt   s2, s0, .l190
        li    s0, 0
        j     .l191
.l190:
        li    s0, 1
.l191:
# (bfl l94)
        beq   s0, zero, .l94
# (expr #t 2 #f (vector-set! stack temp 1))
# (push 1)
        addi  s0, zero, 1
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (br l95)
        j     .l95
.l94:
# (expr #t 2 #f (vector-set! stack temp 0))
# (push 0)
        addi  s0, zero, 0
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
.l95:
# (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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l59:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        ble   s2, s0, .l192
        li    s0, 0
        j     .l193
.l192:
        li    s0, 1
.l193:
# (bfl l98)
        beq   s0, zero, .l98
# (expr #t 2 #f (vector-set! stack temp 1))
# (push 1)
        addi  s0, zero, 1
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (br l99)
        j     .l99
.l98:
# (expr #t 2 #f (vector-set! stack temp 0))
# (push 0)
        addi  s0, zero, 0
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
.l99:
# (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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l60:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        bge   s2, s0, .l194
        li    s0, 0
        j     .l195
.l194:
        li    s0, 1
.l195:
# (bfl l102)
        beq   s0, zero, .l102
# (expr #t 2 #f (vector-set! stack temp 1))
# (push 1)
        addi  s0, zero, 1
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (br l103)
        j     .l103
.l102:
# (expr #t 2 #f (vector-set! stack temp 0))
# (push 0)
        addi  s0, zero, 0
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
.l103:
# (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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l61:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        bne   s2, s0, .l196
        li    s0, 0
        j     .l197
.l196:
        li    s0, 1
.l197:
# (bfl l106)
        beq   s0, zero, .l106
# (expr #t 2 #f (vector-set! stack temp 1))
# (push 1)
        addi  s0, zero, 1
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (br l107)
        j     .l107
.l106:
# (expr #t 2 #f (vector-set! stack temp 0))
# (push 0)
        addi  s0, zero, 0
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
.l107:
# (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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l62:
# (expr #t 2 #f (set! temp (- stack_idx 1)))
# (push 1)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l63:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l64:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l65:
# (expr #t 3 #f (vector-set! return_stack return_stack_idx (+ pc 2)))
# (push 2)
        addi  s0, zero, 2
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-ref-n 6)
        lw    s2, 24(s10)
# (push 21050000)
        lui   s4, %hi(21050000)
        addi  s4, s4, %lo(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)
        addi  s0, zero, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (push 21000000)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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)
        addi  s0, zero, 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)
        lui   s0, %hi(50000)
        addi  s0, s0, %lo(50000)
# (stack-ref-n 6)
        lw    s2, 24(s10)
# (eq)
        beq   s2, s0, .l198
        li    s0, 0
        j     .l199
.l198:
        li    s0, 1
.l199:
# (bfl l110)
        beq   s0, zero, .l110
# (write-string 14 29811 25441 8299 30319 29285 27750 30575)
        addi  s5, zero, 115
        sw    s5, (s3)
        addi  s3, s3, 4
        lw    t0, -4(s3)
        addi  s3, s3, -4
        call  print_character
        addi  s5, zero, 116
        sw    s5, (s3)
        addi  s3, s3, 4
        lw    t0, -4(s3)
        addi  s3, s3, -4
        call  print_character
        addi  s5, zero, 97
        sw    s5, (s3)
        addi  s3, s3, 4
        lw    t0, -4(s3)
        addi  s3, s3, -4
        call  print_character
        addi  s5, zero, 99
        sw    s5, (s3)
        addi  s3, s3, 4
        lw    t0, -4(s3)
        addi  s3, s3, -4
        call  print_character
        addi  s5, zero, 107
        sw    s5, (s3)
        addi  s3, s3, 4
        lw    t0, -4(s3)
        addi  s3, s3, -4
        call  print_character
        addi  s5, zero, 32
        sw    s5, (s3)
        addi  s3, s3, 4
        lw    t0, -4(s3)
        addi  s3, s3, -4
        call  print_character
        addi  s5, zero, 111
        sw    s5, (s3)
        addi  s3, s3, 4
        lw    t0, -4(s3)
        addi  s3, s3, -4
        call  print_character
        addi  s5, zero, 118
        sw    s5, (s3)
        addi  s3, s3, 4
        lw    t0, -4(s3)
        addi  s3, s3, -4
        call  print_character
        addi  s5, zero, 101
        sw    s5, (s3)
        addi  s3, s3, 4
        lw    t0, -4(s3)
        addi  s3, s3, -4
        call  print_character
        addi  s5, zero, 114
        sw    s5, (s3)
        addi  s3, s3, 4
        lw    t0, -4(s3)
        addi  s3, s3, -4
        call  print_character
        addi  s5, zero, 102
        sw    s5, (s3)
        addi  s3, s3, 4
        lw    t0, -4(s3)
        addi  s3, s3, -4
        call  print_character
        addi  s5, zero, 108
        sw    s5, (s3)
        addi  s3, s3, 4
        lw    t0, -4(s3)
        addi  s3, s3, -4
        call  print_character
        addi  s5, zero, 111
        sw    s5, (s3)
        addi  s3, s3, 4
        lw    t0, -4(s3)
        addi  s3, s3, -4
        call  print_character
        addi  s5, zero, 119
        sw    s5, (s3)
        addi  s3, s3, 4
        lw    t0, -4(s3)
        addi  s3, s3, -4
        call  print_character
# (expr #f 0 #f (my_putchar 10))
# (push 10)
        addi  s5, zero, 10
        sw    s5, (s3)
        addi  s3, s3, 4
# (call my_putchar)
        call  my_putchar
# (expr #f 0 #f (exit 0))
# (push 0)
        addi  s5, zero, 0
        sw    s5, (s3)
        addi  s3, s3, 4
# (exit)
        j     _cleanup
.l110:
# (expr #t 2 #f (set! opcode (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l66:
# (expr #t 2 #f (set! pc (vector-ref return_stack (- return_stack_idx 1))))
# (push 1)
        addi  s0, zero, 1
# (stack-ref-n 6)
        lw    s2, 24(s10)
# (sub)
        sub   s0, s2, s0
# (push 21050000)
        lui   s2, %hi(21050000)
        addi  s2, s2, %lo(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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l67:
# (expr #t 1 #f (set! val 0))
# (push 0)
        addi  s0, zero, 0
# (stack-set-n 7)
        sw    s0, 28(s10)
# (expr #t 2 = (= eof_reached 0))
# (push 0)
        addi  s0, zero, 0
# (stack-ref-n 18)
        lw    s2, 72(s10)
# (eq)
        beq   s2, s0, .l200
        li    s0, 0
        j     .l201
.l200:
        li    s0, 1
.l201:
# (bfl l113)
        beq   s0, zero, .l113
# (expr #f 0 #f (set! val (getchar)))
# (read-char)
        lui   s0, %hi(eof_reached)
        addi  s0, s0, %lo(eof_reached)
        lw    s0, (s0)
        bne   s0, zero, .l202
        call  _read_char
        j     .l203
.l202:
        lui   s0, %hi(in_ch)
        addi  s0, s0, %lo(in_ch)
        addi  s1, zero, -1
        sw    s1, (s0)
.l203:
        lui   s1, %hi(in_ch)
        addi  s1, s1, %lo(in_ch)
        lw    s1, (s1)
        sw    s1, (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)
        addi  s0, zero, 1
# (negate)
        sub   s0, zero, s0
# (stack-ref-n 7)
        lw    s2, 28(s10)
# (eq)
        beq   s2, s0, .l204
        li    s0, 0
        j     .l205
.l204:
        li    s0, 1
.l205:
# (bfl l116)
        beq   s0, zero, .l116
# (expr #t 1 #f (set! eof_reached 1))
# (push 1)
        addi  s0, zero, 1
# (stack-set-n 18)
        sw    s0, 72(s10)
# (br l117)
        j     .l117
.l116:
# (expr #t 2 #f (set! val (bitwise-and val 255)))
# (push 255)
        addi  s0, zero, 255
# (stack-ref-n 7)
        lw    s2, 28(s10)
# (bitand)
        and   s0, s2, s0
# (stack-set-n 7)
        sw    s0, 28(s10)
.l117:
.l113:
# (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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l68:
# (expr #t 2 = (= eof_reached 1))
# (push 1)
        addi  s0, zero, 1
# (stack-ref-n 18)
        lw    s2, 72(s10)
# (eq)
        beq   s2, s0, .l206
        li    s0, 0
        j     .l207
.l206:
        li    s0, 1
.l207:
# (bfl l120)
        beq   s0, zero, .l120
# (expr #t 2 #f (vector-set! stack stack_idx 1))
# (push 1)
        addi  s0, zero, 1
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
# (br l121)
        j     .l121
.l120:
# (expr #t 2 #f (vector-set! stack stack_idx 0))
# (push 0)
        addi  s0, zero, 0
# (stack-ref-n 4)
        lw    s2, 16(s10)
# (stack-set)
        slli  s2, s2, 2
        add   s2, s8, s2
        sw    s0, (s2)
.l121:
# (expr #t 2 #f (set! stack_idx (+ stack_idx 1)))
# (push 1)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l69:
# (expr #t 2 #f (set! temp (vector-ref stack (- stack_idx 1))))
# (push 1)
        addi  s0, zero, 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)
        addi  s0, zero, 0
# (stack-set-n 17)
        sw    s0, 68(s10)
# (expr #t 2 < (< temp 0))
# (push 0)
        addi  s0, zero, 0
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (lt)
        blt   s2, s0, .l208
        li    s0, 0
        j     .l209
.l208:
        li    s0, 1
.l209:
# (bfl l124)
        beq   s0, zero, .l124
# (expr #f 0 #f (my_putchar 45))
# (push 45)
        addi  s5, zero, 45
        sw    s5, (s3)
        addi  s3, s3, 4
# (call my_putchar)
        call  my_putchar
# (expr #t 4 #f (&& (= (bitwise-and temp 65535) 0) (= (shr temp 16) (- 32768))))
# (push 32768)
        lui   s0, %hi(32768)
        addi  s0, s0, %lo(32768)
# (negate)
        sub   s0, zero, s0
# (push 16)
        addi  s2, zero, 16
# (stack-ref-n 13)
        lw    s4, 52(s10)
# (shr)
        sra    s2, s4, s2
# (eq)
        beq   s2, s0, .l210
        li    s0, 0
        j     .l211
.l210:
        li    s0, 1
.l211:
# (push 0)
        addi  s2, zero, 0
# (push 65535)
        lui   s4, %hi(65535)
        addi  s4, s4, %lo(65535)
# (stack-ref-n 13)
        lw    s5, 52(s10)
# (bitand)
        and   s4, s5, s4
# (eq)
        beq   s4, s2, .l212
        li    s2, 0
        j     .l213
.l212:
        li    s2, 1
.l213:
# (and)
        and   s0, s2, s0
# (bfl l127)
        beq   s0, zero, .l127
# (expr #t 2 #f (vector-set! stack stack_idx 56))
# (push 56)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        addi  s0, zero, 10
# (stack-set-n 16)
        sw    s0, 64(s10)
# (expr #t 1 #f (set! temp 0))
# (push 0)
        addi  s0, zero, 0
# (stack-set-n 13)
        sw    s0, 52(s10)
.l132:
# (expr #t 2 < (< temp count))
# (stack-ref-n 16)
        lw    s0, 64(s10)
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (lt)
        blt   s2, s0, .l214
        li    s0, 0
        j     .l215
.l214:
        li    s0, 1
.l215:
# (bfl l133)
        beq   s0, zero, .l133
# (expr #f 0 #f (my_putchar (vector-ref stack (- stack_idx 1))))
# (push 1)
        addi  s5, zero, 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)
# (call my_putchar)
        call  my_putchar
# (expr #t 2 #f (set! stack_idx (- stack_idx 1)))
# (push 1)
        addi  s0, zero, 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)
        addi  s0, zero, 1
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 13)
        sw    s0, 52(s10)
# (br l132)
        j     .l132
.l133:
# (expr #t 1 #f (set! done_displaying_int 1))
# (push 1)
        addi  s0, zero, 1
# (stack-set-n 17)
        sw    s0, 68(s10)
.l127:
# (expr #t 1 #f (! done_displaying_int))
# (stack-ref-n 17)
        lw    s0, 68(s10)
# (not)
        beq   s0, zero, .l216
        li    s0, 0
        j     .l217
.l216:
        li    s0, 1
.l217:
# (bfl l136)
        beq   s0, zero, .l136
# (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)
.l136:
.l124:
# (expr #t 1 #f (! done_displaying_int))
# (stack-ref-n 17)
        lw    s0, 68(s10)
# (not)
        beq   s0, zero, .l218
        li    s0, 0
        j     .l219
.l218:
        li    s0, 1
.l219:
# (bfl l139)
        beq   s0, zero, .l139
# (expr #t 1 #f (set! count 0))
# (push 0)
        addi  s0, zero, 0
# (stack-set-n 16)
        sw    s0, 64(s10)
.l142:
# (expr #t 3 #f (vector-set! stack stack_idx (+ (remainder temp 10) 48)))
# (push 48)
        addi  s0, zero, 48
# (push 10)
        addi  s2, zero, 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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        addi  s0, zero, 1
# (stack-ref-n 16)
        lw    s2, 64(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 16)
        sw    s0, 64(s10)
# (expr #t 2 != (!= temp 0))
# (push 0)
        addi  s0, zero, 0
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (ne)
        bne   s2, s0, .l220
        li    s0, 0
        j     .l221
.l220:
        li    s0, 1
.l221:
# (bfl l143)
        beq   s0, zero, .l143
# (br l142)
        j     .l142
.l143:
# (expr #t 1 #f (set! temp 0))
# (push 0)
        addi  s0, zero, 0
# (stack-set-n 13)
        sw    s0, 52(s10)
.l146:
# (expr #t 2 < (< temp count))
# (stack-ref-n 16)
        lw    s0, 64(s10)
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (lt)
        blt   s2, s0, .l222
        li    s0, 0
        j     .l223
.l222:
        li    s0, 1
.l223:
# (bfl l147)
        beq   s0, zero, .l147
# (expr #f 0 #f (my_putchar (vector-ref stack (- stack_idx 1))))
# (push 1)
        addi  s5, zero, 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)
# (call my_putchar)
        call  my_putchar
# (expr #t 2 #f (set! stack_idx (- stack_idx 1)))
# (push 1)
        addi  s0, zero, 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)
        addi  s0, zero, 1
# (stack-ref-n 13)
        lw    s2, 52(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 13)
        sw    s0, 52(s10)
# (br l146)
        j     .l146
.l147:
.l139:
# (expr #t 2 #f (set! stack_idx (- stack_idx 1)))
# (push 1)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l70:
# (expr #f 0 #f (my_putchar 10))
# (push 10)
        addi  s5, zero, 10
        sw    s5, (s3)
        addi  s3, s3, 4
# (call my_putchar)
        call  my_putchar
# (expr #t 2 #f (set! pc (+ pc 1)))
# (push 1)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l71:
# (expr #f 0 #f (exit 0))
# (push 0)
        addi  s5, zero, 0
        sw    s5, (s3)
        addi  s3, s3, 4
# (exit)
        j     _cleanup
# (br l28)
        j     .l28
.l72:
# (expr #t 2 #f (set! temp (- stack_idx 1)))
# (push 1)
        addi  s0, zero, 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 (my_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)
# (call my_putchar)
        call  my_putchar
# (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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l73:
# (expr #t 2 #f (set! temp (- stack_idx 1)))
# (push 1)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l74:
# (expr #t 2 #f (vector-set! stack stack_idx (vector-ref stack (+ frame_start (vector-ref code (+ pc 1))))))
# (push 1)
        addi  s0, zero, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (push 21000000)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l75:
# (expr #t 3 #f (vector-set! stack (+ frame_start (vector-ref code (+ pc 1))) (vector-ref stack (- stack_idx 1))))
# (push 1)
        addi  s0, zero, 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)
        addi  s2, zero, 1
# (stack-ref-n 2)
        lw    s4, 8(s10)
# (add)
        add   s2, s4, s2
# (push 21000000)
        lui   s4, %hi(21000000)
        addi  s4, s4, %lo(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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l76:
# (expr #t 2 #f (set! pc (+ pc 1)))
# (push 1)
        addi  s0, zero, 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! count (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(21000000)
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 16)
        sw    s0, 64(s10)
# (expr #t 1 #f (set! temp2 0))
# (push 0)
        addi  s0, zero, 0
# (stack-set-n 14)
        sw    s0, 56(s10)
# (expr #t 2 #f (set! pc (+ pc 1)))
# (push 1)
        addi  s0, zero, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
.l150:
# (expr #t 2 < (< temp2 (- count 2)))
# (push 2)
        addi  s0, zero, 2
# (stack-ref-n 16)
        lw    s2, 64(s10)
# (sub)
        sub   s0, s2, s0
# (stack-ref-n 14)
        lw    s2, 56(s10)
# (lt)
        blt   s2, s0, .l224
        li    s0, 0
        j     .l225
.l224:
        li    s0, 1
.l225:
# (bfl l151)
        beq   s0, zero, .l151
# (expr #t 2 #f (set! temp3 (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(21000000)
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 15)
        sw    s0, 60(s10)
# (expr #f 0 #f (my_putchar (bitwise-and temp3 255)))
# (push 255)
        addi  s5, zero, 255
        sw    s5, (s3)
        addi  s3, s3, 4
# (stack-ref-n 15)
        lw    s0, 60(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)
# (call my_putchar)
        call  my_putchar
# (expr #f 0 #f (my_putchar (bitwise-and (shr temp3 8) 255)))
# (push 255)
        addi  s5, zero, 255
        sw    s5, (s3)
        addi  s3, s3, 4
# (push 8)
        addi  s5, zero, 8
        sw    s5, (s3)
        addi  s3, s3, 4
# (stack-ref-n 15)
        lw    s0, 60(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)
# (call my_putchar)
        call  my_putchar
# (expr #t 2 #f (set! temp2 (+ temp2 2)))
# (push 2)
        addi  s0, zero, 2
# (stack-ref-n 14)
        lw    s2, 56(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 14)
        sw    s0, 56(s10)
# (expr #t 2 #f (set! pc (+ pc 1)))
# (push 1)
        addi  s0, zero, 1
# (stack-ref-n 2)
        lw    s2, 8(s10)
# (add)
        add   s0, s2, s0
# (stack-set-n 2)
        sw    s0, 8(s10)
# (br l150)
        j     .l150
.l151:
# (expr #t 2 #f (set! temp3 (vector-ref code pc)))
# (stack-ref-n 2)
        lw    s0, 8(s10)
# (push 21000000)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(21000000)
# (add)
        add   s0, s2, s0
# (stack-ref)
        slli  s0, s0, 2
        add   s0, s8, s0
        lw    s0, (s0)
# (stack-set-n 15)
        sw    s0, 60(s10)
# (expr #f 0 #f (my_putchar (bitwise-and temp3 255)))
# (push 255)
        addi  s5, zero, 255
        sw    s5, (s3)
        addi  s3, s3, 4
# (stack-ref-n 15)
        lw    s0, 60(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)
# (call my_putchar)
        call  my_putchar
# (expr #t 3 = (= (bitwise-and count 1) 0))
# (push 0)
        addi  s0, zero, 0
# (push 1)
        addi  s2, zero, 1
# (stack-ref-n 16)
        lw    s4, 64(s10)
# (bitand)
        and   s2, s4, s2
# (eq)
        beq   s2, s0, .l226
        li    s0, 0
        j     .l227
.l226:
        li    s0, 1
.l227:
# (bfl l154)
        beq   s0, zero, .l154
# (expr #f 0 #f (my_putchar (bitwise-and (shr temp3 8) 255)))
# (push 255)
        addi  s5, zero, 255
        sw    s5, (s3)
        addi  s3, s3, 4
# (push 8)
        addi  s5, zero, 8
        sw    s5, (s3)
        addi  s3, s3, 4
# (stack-ref-n 15)
        lw    s0, 60(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)
# (call my_putchar)
        call  my_putchar
.l154:
# (expr #t 2 #f (set! pc (+ pc 1)))
# (push 1)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l77:
# (expr #t 2 #f (set! temp (- stack_idx 2)))
# (push 2)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        addi  s0, zero, 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)
        lui   s2, %hi(21000000)
        addi  s2, s2, %lo(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 l28)
        j     .l28
.l30:
# (brtable (0 l32) (1 l33) (2 l34) (3 l35) (4 l36) (5 l37) (6 l38) (7 l39) (8 l40) (9 l41) (10 l42) (11 l43) (12 l44) (13 l45) (14 l46) (15 l47) (16 l48) (17 l49) (18 l50) (19 l51) (20 l52) (21 l53) (22 l54) (23 l55) (24 l56) (25 l57) (26 l58) (27 l59) (28 l60) (29 l61) (30 l62) (31 l63) (32 l64) (33 l65) (34 l66) (35 l67) (36 l68) (37 l69) (38 l70) (39 l71) (40 l72) (41 l73) (42 l74) (43 l75) (44 l76) (45 l77))
        addi  s3, s3, -4
        lw    s0, (s3)
        slli  s0, s0, 2
        lui   s2, %hi(.l228)
        addi  s2, s2, %lo(.l228)
        add   s0, s2, s0
        jalr  x0, s0, 0
.l228:
        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
        j     .l65
        j     .l66
        j     .l67
        j     .l68
        j     .l69
        j     .l70
        j     .l71
        j     .l72
        j     .l73
        j     .l74
        j     .l75
        j     .l76
        j     .l77
.l31:
# (br l28)
        j     .l28
# (expr #t 1 #f (return 0))
# (push 0)
        addi  s0, zero, 0
# (stack-set-n 0)
        sw    s0, (s10)
# (function-end 20)
        addi  s3, s10, 4
        ld    s10, 80(s10)
# (return)
        ld    ra, (sp)
        add   sp, sp, 8
        jr    ra
