(
(2)
(make-vector)
(gset __primitives)
(pop)
(gvar __primitives)
(0)
(proc
  (args 1)
  (lvar 0 0 n1)
  (car)
  (return)
  (name ())
)
(vector-set!)
(pop)
(gvar __primitives)
(1)
(proc
  (args 1)
  (lvar 0 0 n1)
  (cdr)
  (return)
  (name ())
)
(vector-set!)
(proc
  (args 1)
  (lvar 0 0 x)
  (0)
  (=)
  (return)
  (name zero?)
)
(gset zero?)
(pop)
(proc
  (argsd 0)
  (())
  (())
  (())
  (())
  (())
  (())
  (())
  (())
  (())
  (proc
    (args 9)
    (lvar 1 0 args)
    (null?)
    (bfl () 97)
    (const stdin)
    (br () 98)
    97
    (lvar 1 0 args)
    (car)
    98
    (lset 0 0 port)
    (pop)
    (())
    (lset 0 1 token-type)
    (pop)
    (0)
    (lset 0 2 paren-level)
    (pop)
    (const #\space)
    (lset 0 3 ch)
    (pop)
    (const #\space)
    (lset 0 4 previous-ch)
    (pop)
    (const 9)
    (integer->char)
    (lset 0 5 tab-char)
    (pop)
    (const 13)
    (integer->char)
    (lset 0 6 carriage-return)
    (pop)
    (const #\space)
    (const #\newline)
    (lvar 0 5 tab-char)
    (lvar 0 6 carriage-return)
    (())
    (cons)
    (cons)
    (cons)
    (cons)
    (lset 0 7 white-space)
    (pop)
    (proc
      (args 0)
      (())
      (())
      (())
      (())
      (())
      (())
      (proc
        (args 6)
        (proc
          (args 1)
          (lvar 0 0 l)
          (length)
          (proc
            (args 1)
            (lvar 0 0 size)
            (make-vector)
            (proc
              (args 1)
              (save () 99)
              (())
              (proc
                (args 1)
                (proc
                  (args 1)
                  (lvar 0 0 i)
                  (lvar 3 0 size)
                  (=)
                  (bfl () 100)
                  (())
                  (return)
                  100
                  (lvar 2 0 v)
                  (lvar 0 0 i)
                  (lvar 4 0 l)
                  (car)
                  (vector-set!)
                  (pop)
                  (lvar 4 0 l)
                  (cdr)
                  (lset 4 0 l)
                  (pop)
                  (lvar 0 0 i)
                  (1)
                  (+)
                  (lvar 1 0 loop)
                  (callj 1)
                  (name loop)
                )
                (lset 0 0 loop)
                (pop)
                (0)
                (lvar 0 0 loop)
                (callj 1)
                (name ())
              )
              (callj 1)
              99
              (pop)
              (lvar 0 0 v)
              (return)
              (name ())
            )
            (callj 1)
            (name ())
          )
          (callj 1)
          (name my-list->vector)
        )
        (lset 0 0 my-list->vector)
        (pop)
        (proc
          (args 0)
          (())
          (())
          (())
          (())
          (())
          (())
          (())
          (())
          (())
          (())
          (())
          (())
          (())
          (())
          (())
          (())
          (())
          (proc
            (args 17)
            (())
            (lset 0 0 token)
            (pop)
            (())
            (lset 0 1 token-list)
            (pop)
            (())
            (lset 0 2 token-new)
            (pop)
            (())
            (lset 0 3 token-tail)
            (pop)
            (proc
              (args 0)
              (lvar 5 3 ch)
              (char-alphabetic?)
              (proc
                (args 1)
                (lvar 0 0 g:::0)
                (bfl () 102)
                (lvar 0 0 g:::0)
                (return)
                102
                (lvar 6 3 ch)
                (char-numeric?)
                (return)
                (name ())
              )
              (callj 1)
              (name char-alpha-numeric?)
            )
            (lset 0 4 char-alpha-numeric?)
            (pop)
            (proc
              (args 0)
              (save () 104)
              (())
              (proc
                (args 1)
                (proc
                  (args 0)
                  (save () 105)
                  (lvar 3 4 char-alpha-numeric?)
                  (callj 0)
                  105
                  (bfl () 108)
                  (save () 106)
                  (lvar 3 6 get-ch)
                  (callj 0)
                  106
                  (pop)
                  (save () 107)
                  (lvar 3 5 skip-past-alpha)
                  (callj 0)
                  107
                  (pop)
                  (lvar 1 0 loop)
                  (callj 0)
                  108
                  (())
                  (return)
                  (name loop)
                )
                (lset 0 0 loop)
                (pop)
                (lvar 0 0 loop)
                (return)
                (name ())
              )
              (callj 1)
              104
              (callj 0)
              (name skip-past-alpha)
            )
            (lset 0 5 skip-past-alpha)
            (pop)
            (proc
              (args 0)
              (lvar 5 0 port)
              (const stdin)
              (eq?)
              (bfl () 110)
              (read-char)
              (lset 5 3 ch)
              (pop)
              (br () 111)
              110
              (lvar 5 0 port)
              (readcharfile)
              (lset 5 3 ch)
              (pop)
              111
              (lvar 5 3 ch)
              (const #\newline)
              (char=?)
              (bfl () 112)
              (const #\space)
              (lset 5 3 ch)
              (return)
              112
              (())
              (return)
              (name get-ch)
            )
            (lset 0 6 get-ch)
            (pop)
            (proc
              (args 0)
              (lvar 5 0 port)
              (const stdin)
              (eq?)
              (bfl () 114)
              (read-char)
              (lset 5 3 ch)
              (return)
              114
              (lvar 5 0 port)
              (readcharfile)
              (lset 5 3 ch)
              (return)
              (name get-ch-no-newline)
            )
            (lset 0 7 get-ch-no-newline)
            (pop)
            (proc
              (args 0)
              (lvar 5 3 ch)
              (const #\newline)
              (char=?)
              (bfl () 117)
              (lvar 1 6 get-ch)
              (callj 0)
              117
              (save () 116)
              (lvar 1 7 get-ch-no-newline)
              (callj 0)
              116
              (pop)
              (lvar 1 8 skip-line)
              (callj 0)
              (name skip-line)
            )
            (lset 0 8 skip-line)
            (pop)
            (proc
              (args 0)
              (lvar 5 3 ch)
              (eof-object?)
              (bfl () 125)
              (())
              (return)
              125
              (lvar 5 3 ch)
              (const #\;)
              (char=?)
              (bfl () 123)
              (save () 119)
              (lvar 1 8 skip-line)
              (callj 0)
              119
              (pop)
              (lvar 1 9 skip-blanks)
              (callj 0)
              123
              (lvar 5 3 ch)
              (lvar 5 7 white-space)
              (memq)
              (bfl () 121)
              (save () 120)
              (lvar 1 6 get-ch)
              (callj 0)
              120
              (pop)
              (lvar 1 9 skip-blanks)
              (callj 0)
              121
              (())
              (return)
              (name skip-blanks)
            )
            (lset 0 9 skip-blanks)
            (pop)
            (proc
              (args 0)
              (lvar 1 3 token-tail)
              (lvar 5 3 ch)
              (set-car!)
              (pop)
              (lvar 5 3 ch)
              (lset 5 4 previous-ch)
              (pop)
              (lvar 1 6 get-ch)
              (callj 0)
              (name replace-last-ch)
            )
            (lset 0 10 replace-last-ch)
            (pop)
            (proc
              (args 0)
              (lvar 5 3 ch)
              (())
              (cons)
              (lset 1 2 token-new)
              (pop)
              (lvar 1 1 token-list)
              (null?)
              (bfl () 127)
              (lvar 1 2 token-new)
              (lset 1 1 token-list)
              (pop)
              (lvar 1 2 token-new)
              (lset 1 3 token-tail)
              (pop)
              (br () 128)
              127
              (lvar 1 3 token-tail)
              (lvar 1 2 token-new)
              (set-cdr!)
              (pop)
              (lvar 1 3 token-tail)
              (cdr)
              (lset 1 3 token-tail)
              (pop)
              128
              (lvar 5 3 ch)
              (lset 5 4 previous-ch)
              (pop)
              (lvar 1 6 get-ch)
              (callj 0)
              (name append-to-list)
            )
            (lset 0 11 append-to-list)
            (pop)
            (proc
              (args 0)
              (save () 129)
              (lvar 1 6 get-ch)
              (callj 0)
              129
              (pop)
              (lvar 5 3 ch)
              (const (#\t #\f))
              (member)
              (bfl () 144)
              (const boolean-tok)
              (lset 5 1 token-type)
              (pop)
              (lvar 5 3 ch)
              (const #\t)
              (char=?)
              (bfl () 130)
              (#t)
              (lset 1 0 token)
              (pop)
              (br () 131)
              130
              (#f)
              (lset 1 0 token)
              (pop)
              131
              (lvar 1 6 get-ch)
              (callj 0)
              144
              (lvar 5 3 ch)
              (const #\\)
              (char=?)
              (bfl () 142)
              (const char-tok)
              (lset 5 1 token-type)
              (pop)
              (save () 132)
              (lvar 1 6 get-ch)
              (callj 0)
              132
              (pop)
              (lvar 5 3 ch)
              (lset 1 0 token)
              (pop)
              (lvar 5 3 ch)
              (proc
                (args 1)
                (save () 133)
                (lvar 2 6 get-ch)
                (callj 0)
                133
                (pop)
                (lvar 0 0 first-ch)
                (proc
                  (args 1)
                  (lvar 0 0 g:::1)
                  (const #\s)
                  (eqv?)
                  (bfl () 140)
                  (lvar 7 3 ch)
                  (const #\p)
                  (char=?)
                  (bfl () 134)
                  (const #\space)
                  (lset 3 0 token)
                  (pop)
                  (lvar 3 5 skip-past-alpha)
                  (callj 0)
                  134
                  (())
                  (return)
                  140
                  (lvar 0 0 g:::1)
                  (const #\n)
                  (eqv?)
                  (bfl () 138)
                  (lvar 7 3 ch)
                  (const #\e)
                  (char=?)
                  (bfl () 136)
                  (const #\newline)
                  (lset 3 0 token)
                  (pop)
                  (lvar 3 5 skip-past-alpha)
                  (callj 0)
                  136
                  (())
                  (return)
                  138
                  (#f)
                  (return)
                  (name ())
                )
                (callj 1)
                (name ())
              )
              (callj 1)
              142
              (const vector-tok)
              (lset 5 1 token-type)
              (return)
              (name get-vector)
            )
            (lset 0 12 get-vector)
            (pop)
            (proc
              (args 0)
              (save () 146)
              (lvar 1 6 get-ch)
              (callj 0)
              146
              (pop)
              (save () 147)
              (save () 148)
              (())
              (proc
                (args 1)
                (proc
                  (args 0)
                  (save () 149)
                  (lvar 7 3 ch)
                  (const #\")
                  (char=?)
                  (proc
                    (args 1)
                    (lvar 0 0 g:::2)
                    (bfl () 150)
                    (lvar 0 0 g:::2)
                    (return)
                    150
                    (lvar 8 3 ch)
                    (eof-object?)
                    (return)
                    (name ())
                  )
                  (callj 1)
                  149
                  (not)
                  (bfl () 156)
                  (save () 152)
                  (lvar 3 11 append-to-list)
                  (callj 0)
                  152
                  (pop)
                  (lvar 7 4 previous-ch)
                  (const #\\)
                  (char=?)
                  (bfl () 154)
                  (save () 153)
                  (lvar 3 10 replace-last-ch)
                  (callj 0)
                  153
                  (pop)
                  (br () 155)
                  154
                  155
                  (lvar 1 0 loop)
                  (callj 0)
                  156
                  (())
                  (return)
                  (name loop)
                )
                (lset 0 0 loop)
                (pop)
                (lvar 0 0 loop)
                (return)
                (name ())
              )
              (callj 1)
              148
              (callj 0)
              147
              (pop)
              (save () 158)
              (lvar 1 6 get-ch)
              (callj 0)
              158
              (pop)
              (const string-tok)
              (lset 5 1 token-type)
              (pop)
              (save () 159)
              (lvar 1 1 token-list)
              (gvar list->string)
              (callj 1)
              159
              (lset 1 0 token)
              (return)
              (name get-string)
            )
            (lset 0 13 get-string)
            (pop)
            (proc
              (args 1)
              (lvar 0 0 token)
              (lvar 0 0 token)
              (length)
              (1)
              (-)
              (list-tail)
              (proc
                (args 1)
                (lvar 0 0 token-tail)
                (const #\e)
                (const #\0)
                (())
                (cons)
                (cons)
                (set-cdr!)
                (return)
                (name ())
              )
              (callj 1)
              (name append-e0!)
            )
            (lset 0 14 append-e0!)
            (pop)
            (proc
              (args 1)
              (())
              (())
              (())
              (())
              (())
              (())
              (())
              (())
              (())
              (())
              (())
              (())
              (())
              (())
              (())
              (proc
                (args 15)
                (const #\space)
                (lset 0 0 ch)
                (pop)
                (0)
                (integer->char)
                (lset 0 1 end-of-token)
                (pop)
                (#f)
                (lset 0 2 return)
                (pop)
                (#f)
                (lset 0 3 has-decimal)
                (pop)
                (#f)
                (lset 0 4 has-e)
                (pop)
                (lvar 1 0 token)
                (lset 0 5 save-token)
                (pop)
                (proc
                  (args 0)
                  (lvar 2 0 token)
                  (null?)
                  (bfl () 167)
                  (lvar 1 1 end-of-token)
                  (lset 1 0 ch)
                  (return)
                  167
                  (lvar 2 0 token)
                  (car)
                  (lset 1 0 ch)
                  (pop)
                  (lvar 1 0 ch)
                  (const #\.)
                  (char=?)
                  (bfl () 165)
                  (#t)
                  (lset 1 3 has-decimal)
                  (pop)
                  (br () 166)
                  165
                  (save () 160)
                  (lvar 1 0 ch)
                  (const #\e)
                  (char=?)
                  (proc
                    (args 1)
                    (lvar 0 0 g:::3)
                    (bfl () 161)
                    (lvar 0 0 g:::3)
                    (return)
                    161
                    (lvar 2 0 ch)
                    (const #\E)
                    (char=?)
                    (return)
                    (name ())
                  )
                  (callj 1)
                  160
                  (bfl () 163)
                  (#t)
                  (lset 1 4 has-e)
                  (pop)
                  (br () 164)
                  163
                  164
                  166
                  (lvar 2 0 token)
                  (cdr)
                  (lset 2 0 token)
                  (return)
                  (name next-ch)
                )
                (lset 0 6 next-ch)
                (pop)
                (proc
                  (args 0)
                  (save () 169)
                  (lvar 1 6 next-ch)
                  (callj 0)
                  169
                  (pop)
                  (lvar 1 0 ch)
                  (const #\-)
                  (char=?)
                  (bfl () 174)
                  (lvar 1 8 state-1)
                  (callj 0)
                  174
                  (lvar 1 0 ch)
                  (char-numeric?)
                  (bfl () 172)
                  (lvar 1 9 state-2)
                  (callj 0)
                  172
                  (lvar 1 0 ch)
                  (const #\.)
                  (char=?)
                  (bfl () 170)
                  (lvar 1 10 state-3)
                  (callj 0)
                  170
                  (())
                  (return)
                  (name state-0)
                )
                (lset 0 7 state-0)
                (pop)
                (proc
                  (args 0)
                  (save () 176)
                  (lvar 1 6 next-ch)
                  (callj 0)
                  176
                  (pop)
                  (lvar 1 0 ch)
                  (const #\.)
                  (char=?)
                  (bfl () 179)
                  (lvar 1 10 state-3)
                  (callj 0)
                  179
                  (lvar 1 0 ch)
                  (char-numeric?)
                  (bfl () 177)
                  (lvar 1 9 state-2)
                  (callj 0)
                  177
                  (())
                  (return)
                  (name state-1)
                )
                (lset 0 8 state-1)
                (pop)
                (proc
                  (args 0)
                  (save () 181)
                  (lvar 1 6 next-ch)
                  (callj 0)
                  181
                  (pop)
                  (lvar 1 0 ch)
                  (const #\.)
                  (char=?)
                  (bfl () 191)
                  (lvar 1 10 state-3)
                  (callj 0)
                  191
                  (lvar 1 0 ch)
                  (char-numeric?)
                  (bfl () 189)
                  (lvar 1 9 state-2)
                  (callj 0)
                  189
                  (save () 182)
                  (lvar 1 0 ch)
                  (const #\e)
                  (char=?)
                  (proc
                    (args 1)
                    (lvar 0 0 g:::4)
                    (bfl () 183)
                    (lvar 0 0 g:::4)
                    (return)
                    183
                    (lvar 2 0 ch)
                    (const #\E)
                    (char=?)
                    (return)
                    (name ())
                  )
                  (callj 1)
                  182
                  (bfl () 187)
                  (lvar 1 11 state-4)
                  (callj 0)
                  187
                  (lvar 1 0 ch)
                  (lvar 1 1 end-of-token)
                  (char=?)
                  (bfl () 185)
                  (lvar 1 14 state-7)
                  (callj 0)
                  185
                  (())
                  (return)
                  (name state-2)
                )
                (lset 0 9 state-2)
                (pop)
                (proc
                  (args 0)
                  (save () 193)
                  (lvar 1 6 next-ch)
                  (callj 0)
                  193
                  (pop)
                  (save () 194)
                  (lvar 1 0 ch)
                  (const #\e)
                  (char=?)
                  (proc
                    (args 1)
                    (lvar 0 0 g:::5)
                    (bfl () 195)
                    (lvar 0 0 g:::5)
                    (return)
                    195
                    (lvar 2 0 ch)
                    (const #\E)
                    (char=?)
                    (return)
                    (name ())
                  )
                  (callj 1)
                  194
                  (bfl () 201)
                  (lvar 1 11 state-4)
                  (callj 0)
                  201
                  (lvar 1 0 ch)
                  (char-numeric?)
                  (bfl () 199)
                  (lvar 1 10 state-3)
                  (callj 0)
                  199
                  (lvar 1 0 ch)
                  (lvar 1 1 end-of-token)
                  (char=?)
                  (bfl () 197)
                  (lvar 1 14 state-7)
                  (callj 0)
                  197
                  (())
                  (return)
                  (name state-3)
                )
                (lset 0 10 state-3)
                (pop)
                (proc
                  (args 0)
                  (save () 203)
                  (lvar 1 6 next-ch)
                  (callj 0)
                  203
                  (pop)
                  (save () 204)
                  (lvar 1 0 ch)
                  (const #\+)
                  (char=?)
                  (proc
                    (args 1)
                    (lvar 0 0 g:::6)
                    (bfl () 205)
                    (lvar 0 0 g:::6)
                    (return)
                    205
                    (lvar 2 0 ch)
                    (const #\-)
                    (char=?)
                    (return)
                    (name ())
                  )
                  (callj 1)
                  204
                  (bfl () 209)
                  (lvar 1 12 state-5)
                  (callj 0)
                  209
                  (lvar 1 0 ch)
                  (char-numeric?)
                  (bfl () 207)
                  (lvar 1 13 state-6)
                  (callj 0)
                  207
                  (())
                  (return)
                  (name state-4)
                )
                (lset 0 11 state-4)
                (pop)
                (proc
                  (args 0)
                  (save () 211)
                  (lvar 1 6 next-ch)
                  (callj 0)
                  211
                  (pop)
                  (lvar 1 0 ch)
                  (char-numeric?)
                  (bfl () 212)
                  (lvar 1 13 state-6)
                  (callj 0)
                  212
                  (())
                  (return)
                  (name state-5)
                )
                (lset 0 12 state-5)
                (pop)
                (proc
                  (args 0)
                  (save () 214)
                  (lvar 1 6 next-ch)
                  (callj 0)
                  214
                  (pop)
                  (lvar 1 0 ch)
                  (lvar 1 1 end-of-token)
                  (char=?)
                  (bfl () 217)
                  (lvar 1 14 state-7)
                  (callj 0)
                  217
                  (lvar 1 0 ch)
                  (char-numeric?)
                  (bfl () 215)
                  (lvar 1 13 state-6)
                  (callj 0)
                  215
                  (())
                  (return)
                  (name state-6)
                )
                (lset 0 13 state-6)
                (pop)
                (proc
                  (args 0)
                  (lvar 1 3 has-decimal)
                  (bfl () 219)
                  (lvar 1 4 has-e)
                  (not)
                  (br () 220)
                  219
                  (#f)
                  220
                  (bfl () 222)
                  (save () 221)
                  (lvar 1 5 save-token)
                  (lvar 3 14 append-e0!)
                  (callj 1)
                  221
                  (pop)
                  (br () 223)
                  222
                  223
                  (#t)
                  (lset 1 2 return)
                  (return)
                  (name state-7)
                )
                (lset 0 14 state-7)
                (pop)
                (save () 224)
                (lvar 0 7 state-0)
                (callj 0)
                224
                (pop)
                (lvar 0 2 return)
                (return)
                (name ())
              )
              (callj 15)
              (name number-token?)
            )
            (lset 0 15 number-token?)
            (pop)
            (proc
              (args 0)
              (save () 225)
              (save () 226)
              (())
              (proc
                (args 1)
                (proc
                  (args 0)
                  (save () 227)
                  (lvar 7 3 ch)
                  (lvar 7 7 white-space)
                  (memq)
                  (proc
                    (args 1)
                    (lvar 0 0 g:::7)
                    (bfl () 230)
                    (lvar 0 0 g:::7)
                    (return)
                    230
                    (lvar 8 3 ch)
                    (const (#\( #\)))
                    (memq)
                    (proc
                      (args 1)
                      (lvar 0 0 g:::8)
                      (bfl () 228)
                      (lvar 0 0 g:::8)
                      (return)
                      228
                      (lvar 9 3 ch)
                      (eof-object?)
                      (return)
                      (name ())
                    )
                    (callj 1)
                    (name ())
                  )
                  (callj 1)
                  227
                  (not)
                  (bfl () 233)
                  (lvar 7 3 ch)
                  (char-downcase)
                  (lset 7 3 ch)
                  (pop)
                  (save () 232)
                  (lvar 3 11 append-to-list)
                  (callj 0)
                  232
                  (pop)
                  (lvar 1 0 loop)
                  (callj 0)
                  233
                  (())
                  (return)
                  (name loop)
                )
                (lset 0 0 loop)
                (pop)
                (lvar 0 0 loop)
                (return)
                (name ())
              )
              (callj 1)
              226
              (callj 0)
              225
              (pop)
              (lvar 1 1 token-list)
              (const (#\.))
              (equal?)
              (bfl () 240)
              (const dot-tok)
              (lset 5 1 token-type)
              (return)
              240
              (const symbol-tok)
              (lset 5 1 token-type)
              (pop)
              (save () 235)
              (lvar 1 1 token-list)
              (lvar 1 15 number-token?)
              (callj 1)
              235
              (bfl () 238)
              (save () 236)
              (lvar 1 1 token-list)
              (gvar list->string)
              (callj 1)
              236
              (string->number)
              (lset 1 0 token)
              (return)
              238
              (save () 237)
              (lvar 1 1 token-list)
              (gvar list->string)
              (callj 1)
              237
              (string->symbol)
              (lset 1 0 token)
              (return)
              (name get-symbol)
            )
            (lset 0 16 get-symbol)
            (pop)
            (save () 242)
            (lvar 0 9 skip-blanks)
            (callj 0)
            242
            (pop)
            (lvar 4 3 ch)
            (eof-object?)
            (bfl () 263)
            (const eof-tok)
            (lset 4 1 token-type)
            (pop)
            (lvar 4 3 ch)
            (lset 0 0 token)
            (pop)
            (br () 264)
            263
            (save () 243)
            (lvar 4 3 ch)
            (const ((#\( opar-tok) (#\) cpar-tok) (#\' tic-tok) (#\, comma-tok) (#\` backtic-tok) (#\# vector-tok) (#\" string-tok)))
            (assv)
            (proc
              (args 1)
              (lvar 0 0 match)
              (bfl () 261)
              (lvar 0 0 match)
              (cadr)
              (proc
                (args 1)
                (lvar 0 0 g:::9)
                (const (opar-tok cpar-tok tic-tok backtic-tok))
                (memv)
                (bfl () 259)
                (lvar 1 0 match)
                (cadr)
                (lset 6 1 token-type)
                (pop)
                (lvar 6 3 ch)
                (lset 2 0 token)
                (pop)
                (lvar 6 1 token-type)
                (const opar-tok)
                (eq?)
                (bfl () 248)
                (lvar 6 2 paren-level)
                (1)
                (+)
                (lset 6 2 paren-level)
                (pop)
                (lvar 2 6 get-ch)
                (callj 0)
                248
                (lvar 6 1 token-type)
                (const cpar-tok)
                (eq?)
                (bfl () 246)
                (lvar 6 2 paren-level)
                (1)
                (-)
                (lset 6 2 paren-level)
                (pop)
                (lvar 6 2 paren-level)
                (0)
                (>)
                (bfl () 244)
                (lvar 2 6 get-ch)
                (callj 0)
                244
                (())
                (return)
                246
                (lvar 2 6 get-ch)
                (callj 0)
                259
                (lvar 0 0 g:::9)
                (const comma-tok)
                (eqv?)
                (bfl () 257)
                (lvar 1 0 match)
                (cadr)
                (lset 6 1 token-type)
                (pop)
                (lvar 6 3 ch)
                (lset 2 0 token)
                (pop)
                (save () 250)
                (lvar 2 6 get-ch)
                (callj 0)
                250
                (pop)
                (lvar 6 3 ch)
                (const #\@)
                (char=?)
                (bfl () 251)
                (const at-tok)
                (lset 6 1 token-type)
                (pop)
                (lvar 6 3 ch)
                (lset 2 0 token)
                (pop)
                (lvar 2 6 get-ch)
                (callj 0)
                251
                (())
                (return)
                257
                (lvar 0 0 g:::9)
                (const vector-tok)
                (eqv?)
                (bfl () 255)
                (lvar 2 12 get-vector)
                (callj 0)
                255
                (lvar 0 0 g:::9)
                (const string-tok)
                (eqv?)
                (bfl () 253)
                (lvar 2 13 get-string)
                (callj 0)
                253
                (#f)
                (return)
                (name ())
              )
              (callj 1)
              261
              (lvar 1 16 get-symbol)
              (callj 0)
              (name ())
            )
            (callj 1)
            243
            (pop)
            264
            (lvar 0 0 token)
            (return)
            (name ())
          )
          (callj 17)
          (name get-token)
        )
        (lset 0 1 get-token)
        (pop)
        (proc
          (args 1)
          (const "bad sexpr")
          (lvar 0 0 sexpr)
          (gvar error)
          (callj 2)
          (name bad-sexpr)
        )
        (lset 0 2 bad-sexpr)
        (pop)
        (proc
          (args 0)
          (save () 265)
          (lvar 1 1 get-token)
          (callj 0)
          265
          (proc
            (args 1)
            (lvar 4 1 token-type)
            (proc
              (args 1)
              (lvar 0 0 g:::10)
              (const opar-tok)
              (eqv?)
              (bfl () 290)
              (save () 266)
              (lvar 3 4 read-list)
              (callj 0)
              266
              (lset 1 0 token)
              (pop)
              (save () 267)
              (lvar 3 1 get-token)
              (callj 0)
              267
              (pop)
              (lvar 1 0 token)
              (return)
              290
              (lvar 0 0 g:::10)
              (const tic-tok)
              (eqv?)
              (bfl () 288)
              (const quote)
              (save () 268)
              (lvar 5 8 readin)
              (callj 0)
              268
              (())
              (cons)
              (cons)
              (())
              (cons)
              (lset 1 0 token)
              (pop)
              (lvar 1 0 token)
              (return)
              288
              (lvar 0 0 g:::10)
              (const backtic-tok)
              (eqv?)
              (bfl () 286)
              (const quasiquote)
              (save () 269)
              (lvar 5 8 readin)
              (callj 0)
              269
              (())
              (cons)
              (cons)
              (())
              (cons)
              (lset 1 0 token)
              (pop)
              (lvar 1 0 token)
              (return)
              286
              (lvar 0 0 g:::10)
              (const comma-tok)
              (eqv?)
              (bfl () 284)
              (const unquote)
              (save () 270)
              (lvar 5 8 readin)
              (callj 0)
              270
              (())
              (cons)
              (cons)
              (())
              (cons)
              (lset 1 0 token)
              (pop)
              (lvar 1 0 token)
              (return)
              284
              (lvar 0 0 g:::10)
              (const at-tok)
              (eqv?)
              (bfl () 282)
              (const unquote-splicing)
              (save () 271)
              (lvar 5 8 readin)
              (callj 0)
              271
              (())
              (cons)
              (cons)
              (())
              (cons)
              (lset 1 0 token)
              (pop)
              (lvar 1 0 token)
              (return)
              282
              (save () 272)
              (lvar 5 1 token-type)
              (const symbol-tok)
              (eq?)
              (proc
                (args 1)
                (lvar 0 0 g:::11)
                (bfl () 273)
                (lvar 0 0 g:::11)
                (return)
                273
                (lvar 6 1 token-type)
                (const string-tok)
                (eq?)
                (return)
                (name ())
              )
              (callj 1)
              272
              (not)
              (bfl () 276)
              (save () 275)
              (lvar 1 0 token)
              (lvar 3 2 bad-sexpr)
              (callj 1)
              275
              (pop)
              (br () 277)
              276
              277
              (save () 278)
              (lvar 3 1 get-token)
              (callj 0)
              278
              (pop)
              (lvar 5 1 token-type)
              (const cpar-tok)
              (eq?)
              (not)
              (bfl () 280)
              (save () 279)
              (const "expecting close paren")
              (lvar 3 2 bad-sexpr)
              (callj 1)
              279
              (pop)
              (br () 281)
              280
              281
              (lvar 1 0 token)
              (return)
              (name ())
            )
            (callj 1)
            (name ())
          )
          (callj 1)
          (name read-dot-token)
        )
        (lset 0 3 read-dot-token)
        (pop)
        (proc
          (args 0)
          (())
          (())
          (())
          (proc
            (args 3)
            (save () 292)
            (save () 293)
            (lvar 2 1 get-token)
            (callj 0)
            293
            (save () 294)
            (())
            (proc
              (args 1)
              (proc
                (args 1)
                (lvar 6 1 token-type)
                (const cpar-tok)
                (eq?)
                (not)
                (bfl () 324)
                (save () 295)
                (lvar 6 1 token-type)
                (proc
                  (args 1)
                  (lvar 0 0 g:::12)
                  (const opar-tok)
                  (eqv?)
                  (bfl () 317)
                  (save () 296)
                  (lvar 5 4 read-list)
                  (callj 0)
                  296
                  (())
                  (cons)
                  (lset 3 2 new)
                  (return)
                  317
                  (lvar 0 0 g:::12)
                  (const dot-tok)
                  (eqv?)
                  (bfl () 315)
                  (lvar 3 1 tail)
                  (save () 297)
                  (lvar 5 3 read-dot-token)
                  (callj 0)
                  297
                  (set-cdr!)
                  (pop)
                  (const was-dot-tok)
                  (lset 7 1 token-type)
                  (return)
                  315
                  (lvar 0 0 g:::12)
                  (const eof-tok)
                  (eqv?)
                  (bfl () 313)
                  (const "unexpected end of file")
                  (lvar 5 2 bad-sexpr)
                  (callj 1)
                  313
                  (lvar 0 0 g:::12)
                  (const tic-tok)
                  (eqv?)
                  (bfl () 311)
                  (const quote)
                  (save () 298)
                  (lvar 7 8 readin)
                  (callj 0)
                  298
                  (())
                  (cons)
                  (cons)
                  (())
                  (cons)
                  (lset 3 2 new)
                  (return)
                  311
                  (lvar 0 0 g:::12)
                  (const backtic-tok)
                  (eqv?)
                  (bfl () 309)
                  (const quasiquote)
                  (save () 299)
                  (lvar 7 8 readin)
                  (callj 0)
                  299
                  (())
                  (cons)
                  (cons)
                  (())
                  (cons)
                  (lset 3 2 new)
                  (return)
                  309
                  (lvar 0 0 g:::12)
                  (const comma-tok)
                  (eqv?)
                  (bfl () 307)
                  (const unquote)
                  (save () 300)
                  (lvar 7 8 readin)
                  (callj 0)
                  300
                  (())
                  (cons)
                  (cons)
                  (())
                  (cons)
                  (lset 3 2 new)
                  (return)
                  307
                  (lvar 0 0 g:::12)
                  (const at-tok)
                  (eqv?)
                  (bfl () 305)
                  (const unquote-splicing)
                  (save () 301)
                  (lvar 7 8 readin)
                  (callj 0)
                  301
                  (())
                  (cons)
                  (cons)
                  (())
                  (cons)
                  (lset 3 2 new)
                  (return)
                  305
                  (lvar 0 0 g:::12)
                  (const vector-tok)
                  (eqv?)
                  (bfl () 303)
                  (save () 302)
                  (lvar 5 5 read-vector)
                  (callj 0)
                  302
                  (())
                  (cons)
                  (lset 3 2 new)
                  (return)
                  303
                  (lvar 1 0 token)
                  (())
                  (cons)
                  (lset 3 2 new)
                  (return)
                  (name ())
                )
                (callj 1)
                295
                (pop)
                (lvar 6 1 token-type)
                (const was-dot-tok)
                (eq?)
                (bfl () 322)
                (const cpar-tok)
                (lset 6 1 token-type)
                (return)
                322
                (lvar 2 0 lst)
                (null?)
                (bfl () 319)
                (lvar 2 2 new)
                (lset 2 0 lst)
                (pop)
                (lvar 2 2 new)
                (lset 2 1 tail)
                (pop)
                (br () 320)
                319
                (lvar 2 1 tail)
                (lvar 2 2 new)
                (set-cdr!)
                (pop)
                (lvar 2 1 tail)
                (cdr)
                (lset 2 1 tail)
                (pop)
                320
                (save () 321)
                (lvar 4 1 get-token)
                (callj 0)
                321
                (lvar 1 0 loop)
                (callj 1)
                324
                (())
                (return)
                (name loop)
              )
              (lset 0 0 loop)
              (pop)
              (lvar 0 0 loop)
              (return)
              (name ())
            )
            (callj 1)
            294
            (callj 1)
            292
            (pop)
            (lvar 0 0 lst)
            (return)
            (name ())
          )
          (callj 3)
          (name read-list)
        )
        (lset 0 4 read-list)
        (pop)
        (proc
          (args 0)
          (save () 326)
          (lvar 1 1 get-token)
          (callj 0)
          326
          (pop)
          (lvar 3 1 token-type)
          (const opar-tok)
          (eq?)
          (bfl () 328)
          (save () 327)
          (lvar 1 4 read-list)
          (callj 0)
          327
          (lvar 1 0 my-list->vector)
          (callj 1)
          328
          (const "expecting open paren")
          (lvar 1 2 bad-sexpr)
          (callj 1)
          (name read-vector)
        )
        (lset 0 5 read-vector)
        (pop)
        (save () 330)
        (lvar 0 1 get-token)
        (callj 0)
        330
        (proc
          (args 1)
          (lvar 3 1 token-type)
          (proc
            (args 1)
            (lvar 0 0 g:::13)
            (const opar-tok)
            (eqv?)
            (bfl () 347)
            (lvar 2 4 read-list)
            (callj 0)
            347
            (lvar 0 0 g:::13)
            (const tic-tok)
            (eqv?)
            (bfl () 345)
            (const quote)
            (save () 331)
            (lvar 4 8 readin)
            (callj 0)
            331
            (())
            (cons)
            (cons)
            (return)
            345
            (lvar 0 0 g:::13)
            (const backtic-tok)
            (eqv?)
            (bfl () 343)
            (const quasiquote)
            (save () 332)
            (lvar 4 8 readin)
            (callj 0)
            332
            (())
            (cons)
            (cons)
            (return)
            343
            (lvar 0 0 g:::13)
            (const comma-tok)
            (eqv?)
            (bfl () 341)
            (const unquote)
            (save () 333)
            (lvar 4 8 readin)
            (callj 0)
            333
            (())
            (cons)
            (cons)
            (return)
            341
            (lvar 0 0 g:::13)
            (const at-tok)
            (eqv?)
            (bfl () 339)
            (const unquote-splicing)
            (save () 334)
            (lvar 4 8 readin)
            (callj 0)
            334
            (())
            (cons)
            (cons)
            (return)
            339
            (lvar 0 0 g:::13)
            (const vector-tok)
            (eqv?)
            (bfl () 337)
            (lvar 2 5 read-vector)
            (callj 0)
            337
            (lvar 0 0 g:::13)
            (const cpar-tok)
            (eqv?)
            (bfl () 335)
            (const "unexpected close paren")
            (lvar 2 2 bad-sexpr)
            (callj 1)
            335
            (lvar 1 0 token)
            (return)
            (name ())
          )
          (callj 1)
          (name ())
        )
        (callj 1)
        (name ())
      )
      (callj 6)
      (name readin)
    )
    (lset 0 8 readin)
    (pop)
    (lvar 0 8 readin)
    (callj 0)
    (name ())
  )
  (callj 9)
  (name read)
)
(gset read)
(pop)
(proc
  (argsd 1)
  (const "Error: ")
  (display)
  (pop)
  (lvar 0 0 reason)
  (display)
  (pop)
  (save () 349)
  (proc
    (args 1)
    (const " ")
    (display)
    (pop)
    (lvar 0 0 arg)
    (display)
    (return)
    (name ())
  )
  (lvar 0 1 args)
  (gvar for-each)
  (callj 2)
  349
  (pop)
  (newline)
  (pop)
  (1)
  (exit)
  (return)
  (name error)
)
(gset error)
(pop)
(proc
  (args 1)
  (())
  (proc
    (args 1)
    (proc
      (args 2)
      (lvar 0 0 x)
      (null?)
      (bfl () 350)
      (lvar 0 1 y)
      (return)
      350
      (lvar 0 0 x)
      (cdr)
      (lvar 0 0 x)
      (car)
      (lvar 0 1 y)
      (cons)
      (lvar 1 0 rev)
      (callj 2)
      (name rev)
    )
    (lset 0 0 rev)
    (pop)
    (lvar 1 0 x)
    (())
    (lvar 0 0 rev)
    (callj 2)
    (name ())
  )
  (callj 1)
  (name reverse)
)
(gset reverse)
(pop)
(proc
  (argsd 0)
  (())
  (())
  (())
  (proc
    (args 3)
    (proc
      (args 2)
      (lvar 0 0 list1)
      (null?)
      (bfl () 353)
      (lvar 0 1 list2)
      (return)
      353
      (lvar 0 0 list1)
      (car)
      (save () 352)
      (lvar 0 0 list1)
      (cdr)
      (lvar 0 1 list2)
      (lvar 1 0 append-two)
      (callj 2)
      352
      (cons)
      (return)
      (name append-two)
    )
    (lset 0 0 append-two)
    (pop)
    (proc
      (args 1)
      (save () 355)
      (lvar 0 0 l)
      (null?)
      (proc
        (args 1)
        (lvar 0 0 g:::14)
        (bfl () 356)
        (lvar 0 0 g:::14)
        (return)
        356
        (lvar 1 0 l)
        (pair?)
        (return)
        (name ())
      )
      (callj 1)
      355
      (not)
      (return)
      (name improper-list?)
    )
    (lset 0 1 improper-list?)
    (pop)
    (proc
      (args 3)
      (lvar 0 2 seq)
      (null?)
      (bfl () 368)
      (lvar 0 1 init)
      (return)
      368
      (lvar 0 2 seq)
      (car)
      (null?)
      (bfl () 366)
      (lvar 0 2 seq)
      (cadr)
      (return)
      366
      (lvar 0 2 seq)
      (cdr)
      (null?)
      (bfl () 364)
      (lvar 0 2 seq)
      (car)
      (lvar 0 2 seq)
      (cdr)
      (lvar 1 0 append-two)
      (callj 2)
      364
      (lvar 0 2 seq)
      (cdr)
      (pair?)
      (bfl () 362)
      (save () 358)
      (lvar 0 2 seq)
      (cadr)
      (cdr)
      (lvar 1 1 improper-list?)
      (callj 1)
      358
      (bfl () 360)
      (lvar 0 2 seq)
      (car)
      (lvar 0 2 seq)
      (cadr)
      (lvar 1 0 append-two)
      (callj 2)
      360
      (lvar 0 2 seq)
      (car)
      (save () 359)
      (lvar 0 0 f)
      (lvar 0 1 init)
      (lvar 0 2 seq)
      (cdr)
      (lvar 1 2 fold-right-append)
      (callj 3)
      359
      (lvar 0 0 f)
      (callj 2)
      362
      (lvar 0 2 seq)
      (car)
      (lvar 0 2 seq)
      (cdr)
      (lvar 1 0 append-two)
      (callj 2)
      (name fold-right-append)
    )
    (lset 0 2 fold-right-append)
    (pop)
    (lvar 1 0 lsts)
    (null?)
    (bfl () 372)
    (())
    (return)
    372
    (lvar 1 0 lsts)
    (cdr)
    (null?)
    (bfl () 370)
    (lvar 1 0 lsts)
    (car)
    (return)
    370
    (proc
      (args 2)
      (lvar 0 0 sublist)
      (lvar 0 1 acc)
      (lvar 1 0 append-two)
      (callj 2)
      (name ())
    )
    (())
    (lvar 1 0 lsts)
    (lvar 0 2 fold-right-append)
    (callj 3)
    (name ())
  )
  (callj 3)
  (name append)
)
(gset append)
(pop)
(proc
  (args 1)
  (())
  (proc
    (args 1)
    (save () 374)
    (())
    (proc
      (args 1)
      (proc
        (args 1)
        (lvar 0 0 i)
        (lvar 3 0 v)
        (vector-length)
        (=)
        (bfl () 375)
        (())
        (return)
        375
        (lvar 3 0 v)
        (lvar 0 0 i)
        (vector-ref)
        (lvar 2 0 l)
        (cons)
        (lset 2 0 l)
        (pop)
        (lvar 0 0 i)
        (1)
        (+)
        (lvar 1 0 loop)
        (callj 1)
        (name loop)
      )
      (lset 0 0 loop)
      (pop)
      (0)
      (lvar 0 0 loop)
      (callj 1)
      (name ())
    )
    (callj 1)
    374
    (pop)
    (lvar 0 0 l)
    (gvar reverse)
    (callj 1)
    (name ())
  )
  (callj 1)
  (name vector->list)
)
(gset vector->list)
(pop)
(proc
  (args 1)
  (())
  (())
  (())
  (proc
    (args 3)
    (lvar 1 0 charlist)
    (length)
    (lset 0 0 len)
    (pop)
    (lvar 0 0 len)
    (make-string)
    (lset 0 1 newstr)
    (pop)
    (proc
      (args 4)
      (lvar 0 1 i)
      (lvar 0 2 len)
      (=)
      (bfl () 377)
      (lvar 0 0 str)
      (return)
      377
      (lvar 0 0 str)
      (lvar 0 1 i)
      (lvar 0 3 charlist)
      (car)
      (string-set!)
      (pop)
      (lvar 0 0 str)
      (lvar 0 1 i)
      (1)
      (+)
      (lvar 0 2 len)
      (lvar 0 3 charlist)
      (cdr)
      (lvar 1 2 fill-string!)
      (callj 4)
      (name fill-string!)
    )
    (lset 0 2 fill-string!)
    (pop)
    (lvar 0 1 newstr)
    (0)
    (lvar 0 0 len)
    (lvar 1 0 charlist)
    (lvar 0 2 fill-string!)
    (callj 4)
    (name ())
  )
  (callj 3)
  (name list->string)
)
(gset list->string)
(pop)
(proc
  (argsd 1)
  (())
  (proc
    (args 1)
    (proc
      (args 2)
      (lvar 0 1 l)
      (null?)
      (bfl () 381)
      (())
      (return)
      381
      (save () 379)
      (lvar 0 1 l)
      (car)
      (lvar 0 0 p)
      (callj 1)
      379
      (save () 380)
      (lvar 0 0 p)
      (lvar 0 1 l)
      (cdr)
      (lvar 1 0 map-over-single-list)
      (callj 2)
      380
      (cons)
      (return)
      (name map-over-single-list)
    )
    (lset 0 0 map-over-single-list)
    (pop)
    (())
    (lvar 1 1 lists)
    (memq)
    (bfl () 387)
    (())
    (return)
    387
    (save () 383)
    (save () 384)
    (gvar __primitives)
    (0)
    (vector-ref)
    (lvar 1 1 lists)
    (lvar 0 0 map-over-single-list)
    (callj 2)
    384
    (argl)
    (lvar 1 0 proc)
    (callnj)
    383
    (pop)
    (save () 385)
    (lvar 1 0 proc)
    (save () 386)
    (gvar __primitives)
    (1)
    (vector-ref)
    (lvar 1 1 lists)
    (lvar 0 0 map-over-single-list)
    (callj 2)
    386
    (cons)
    (argl)
    (gvar for-each)
    (callnj)
    385
    (return)
    (name ())
  )
  (callj 1)
  (name for-each)
)
(gset for-each)
(pop)
(proc
  (args 2)
  (lvar 0 0 name)
  (lvar 0 1 a-list)
  (assq)
  (proc
    (args 1)
    (lvar 0 0 binding)
    (null?)
    (bfl () 2)
    (())
    (return)
    2
    (lvar 0 0 binding)
    (bfl () 0)
    (lvar 0 0 binding)
    (return)
    0
    (())
    (return)
    (name ())
  )
  (callj 1)
  (name find-binding)
)
(gset find-binding)
(pop)
(proc
  (args 2)
  (save () 4)
  (lvar 0 0 name)
  (lvar 0 1 a-list)
  (gvar find-binding)
  (callj 2)
  4
  (proc
    (args 1)
    (lvar 0 0 binding)
    (null?)
    (bfl () 5)
    (())
    (return)
    5
    (lvar 0 0 binding)
    (cadr)
    (return)
    (name ())
  )
  (callj 1)
  (name find-value)
)
(gset find-value)
(pop)
(proc
  (args 2)
  (lvar 0 0 key)
  (symbol?)
  (bfl () 18)
  (lvar 0 0 key)
  (symbol->string)
  (proc
    (args 1)
    (lvar 0 0 key-string)
    (string-length)
    (proc
      (args 1)
      (lvar 0 0 key-length)
      (2)
      (quotient)
      (proc
        (args 1)
        (proc
          (args 1)
          (lvar 0 0 n)
          (lvar 4 1 table-size)
          (remainder)
          (return)
          (name ())
        )
        (proc
          (args 1)
          (save () 7)
          (lvar 2 0 key-length)
          (gvar zero?)
          (callj 1)
          7
          (bfl () 16)
          (0)
          (return)
          16
          (lvar 2 0 key-length)
          (2)
          (<)
          (bfl () 14)
          (lvar 3 0 key-string)
          (0)
          (string-ref)
          (char->integer)
          (return)
          14
          (lvar 2 0 key-length)
          (const 3)
          (<)
          (bfl () 12)
          (lvar 3 0 key-string)
          (0)
          (string-ref)
          (char->integer)
          (lvar 3 0 key-string)
          (1)
          (string-ref)
          (char->integer)
          (*)
          (lvar 0 0 hash-index)
          (callj 1)
          12
          (lvar 2 0 key-length)
          (const 4)
          (<)
          (bfl () 10)
          (lvar 3 0 key-string)
          (1)
          (string-ref)
          (char->integer)
          (lvar 3 0 key-string)
          (2)
          (string-ref)
          (char->integer)
          (*)
          (lvar 0 0 hash-index)
          (callj 1)
          10
          (lvar 2 0 key-length)
          (const 5)
          (<)
          (bfl () 8)
          (lvar 3 0 key-string)
          (1)
          (string-ref)
          (char->integer)
          (lvar 3 0 key-string)
          (2)
          (string-ref)
          (char->integer)
          (*)
          (lvar 3 0 key-string)
          (const 3)
          (string-ref)
          (char->integer)
          (*)
          (lvar 0 0 hash-index)
          (callj 1)
          8
          (lvar 3 0 key-string)
          (lvar 1 0 key-idx)
          (string-ref)
          (char->integer)
          (lvar 3 0 key-string)
          (lvar 1 0 key-idx)
          (1)
          (+)
          (string-ref)
          (char->integer)
          (*)
          (lvar 3 0 key-string)
          (lvar 1 0 key-idx)
          (2)
          (+)
          (string-ref)
          (char->integer)
          (*)
          (lvar 0 0 hash-index)
          (callj 1)
          (name ())
        )
        (callj 1)
        (name ())
      )
      (callj 1)
      (name ())
    )
    (callj 1)
    (name ())
  )
  (callj 1)
  18
  (0)
  (return)
  (name get-hash-index)
)
(gset get-hash-index)
(pop)
(proc
  (args 3)
  (lvar 0 1 key)
  (lvar 0 0 table)
  (lvar 0 2 index)
  (vector-ref)
  (gvar find-binding)
  (callj 2)
  (name hash-binding)
)
(gset hash-binding)
(pop)
(proc
  (args 2)
  (save () 20)
  (lvar 0 1 key)
  (lvar 0 0 table)
  (save () 21)
  (lvar 0 1 key)
  (lvar 0 0 table)
  (vector-length)
  (gvar get-hash-index)
  (callj 2)
  21
  (vector-ref)
  (gvar find-binding)
  (callj 2)
  20
  (proc
    (args 1)
    (lvar 0 0 binding)
    (null?)
    (bfl () 22)
    (())
    (return)
    22
    (lvar 0 0 binding)
    (cadr)
    (return)
    (name ())
  )
  (callj 1)
  (name hash-ref)
)
(gset hash-ref)
(pop)
(proc
  (args 3)
  (save () 24)
  (lvar 0 1 key)
  (lvar 0 0 table)
  (vector-length)
  (gvar get-hash-index)
  (callj 2)
  24
  (proc
    (args 1)
    (save () 25)
    (lvar 1 0 table)
    (lvar 1 1 key)
    (lvar 0 0 hash-index)
    (gvar hash-binding)
    (callj 3)
    25
    (proc
      (args 1)
      (lvar 0 0 binding)
      (null?)
      (bfl () 26)
      (lvar 2 0 table)
      (lvar 1 0 hash-index)
      (lvar 2 1 key)
      (lvar 2 2 value)
      (())
      (cons)
      (cons)
      (lvar 2 0 table)
      (lvar 1 0 hash-index)
      (vector-ref)
      (cons)
      (vector-set!)
      (return)
      26
      (lvar 0 0 binding)
      (cdr)
      (lvar 2 2 value)
      (set-car!)
      (return)
      (name ())
    )
    (callj 1)
    (name ())
  )
  (callj 1)
  (name hash-set!)
)
(gset hash-set!)
(pop)
(proc
  (args 2)
  (())
  (proc
    (args 1)
    (proc
      (args 1)
      (lvar 0 0 i)
      (lvar 2 1 size)
      (=)
      (bfl () 28)
      (())
      (return)
      28
      (lvar 2 0 table)
      (lvar 0 0 i)
      (())
      (vector-set!)
      (pop)
      (lvar 0 0 i)
      (1)
      (+)
      (lvar 1 0 loop)
      (callj 1)
      (name loop)
    )
    (lset 0 0 loop)
    (pop)
    (0)
    (lvar 0 0 loop)
    (callj 1)
    (name ())
  )
  (callj 1)
  (name hash-table-clear!)
)
(gset hash-table-clear!)
(pop)
(proc
  (args 1)
  (lvar 0 0 size)
  (make-vector)
  (proc
    (args 1)
    (save () 30)
    (lvar 0 0 table)
    (lvar 1 0 size)
    (gvar hash-table-clear!)
    (callj 2)
    30
    (pop)
    (lvar 0 0 table)
    (return)
    (name ())
  )
  (callj 1)
  (name make-hash-table)
)
(gset make-hash-table)
(pop)
(proc
  (args 3)
  (lvar 0 0 left)
  (null?)
  (bfl () 38)
  (lvar 0 1 right)
  (return)
  38
  (lvar 0 1 right)
  (null?)
  (bfl () 36)
  (lvar 0 0 left)
  (return)
  36
  (save () 31)
  (lvar 0 0 left)
  (car)
  (lvar 0 1 right)
  (car)
  (lvar 0 2 gt?)
  (callj 2)
  31
  (bfl () 34)
  (lvar 0 1 right)
  (car)
  (save () 32)
  (lvar 0 0 left)
  (lvar 0 1 right)
  (cdr)
  (lvar 0 2 gt?)
  (gvar merge)
  (callj 3)
  32
  (cons)
  (return)
  34
  (lvar 0 0 left)
  (car)
  (save () 33)
  (lvar 0 0 left)
  (cdr)
  (lvar 0 1 right)
  (lvar 0 2 gt?)
  (gvar merge)
  (callj 3)
  33
  (cons)
  (return)
  (name merge)
)
(gset merge)
(pop)
(proc
  (args 3)
  (save () 40)
  (lvar 0 1 n)
  (gvar zero?)
  (callj 1)
  40
  (bfl () 42)
  (())
  (return)
  42
  (lvar 0 0 l)
  (car)
  (save () 41)
  (lvar 0 0 l)
  (cdr)
  (lvar 0 1 n)
  (1)
  (-)
  (lvar 0 2 gt?)
  (gvar take)
  (callj 3)
  41
  (cons)
  (return)
  (name take)
)
(gset take)
(pop)
(proc
  (args 2)
  (lvar 0 0 l)
  (length)
  (2)
  (quotient)
  (proc
    (args 1)
    (save () 44)
    (lvar 0 0 half)
    (gvar zero?)
    (callj 1)
    44
    (bfl () 48)
    (lvar 1 0 l)
    (return)
    48
    (save () 45)
    (save () 46)
    (lvar 1 0 l)
    (lvar 0 0 half)
    (lvar 1 1 gt?)
    (gvar take)
    (callj 3)
    46
    (lvar 1 1 gt?)
    (gvar merge-sort)
    (callj 2)
    45
    (save () 47)
    (lvar 1 0 l)
    (lvar 0 0 half)
    (list-tail)
    (lvar 1 1 gt?)
    (gvar merge-sort)
    (callj 2)
    47
    (lvar 1 1 gt?)
    (gvar merge)
    (callj 3)
    (name ())
  )
  (callj 1)
  (name merge-sort)
)
(gset merge-sort)
(pop)
(proc
  (args 2)
  (lvar 0 0 x)
  (car)
  (lvar 0 1 y)
  (car)
  (>)
  (return)
  (name compare>)
)
(gset compare>)
(pop)
(proc
  (args 2)
  (lvar 0 0 l)
  (null?)
  (not)
  (bfl () 50)
  (lvar 0 0 l)
  (car)
  (proc
    (args 1)
    (lvar 1 1 vec)
    (lvar 0 0 cell)
    (car)
    (lvar 0 0 cell)
    (cadr)
    (vector-set!)
    (pop)
    (lvar 1 0 l)
    (cdr)
    (lvar 1 1 vec)
    (gvar fill-vec!)
    (callj 2)
    (name ())
  )
  (callj 1)
  50
  (())
  (return)
  (name fill-vec!)
)
(gset fill-vec!)
(pop)
(const ((top-level-begin 0) (function-proc-begin 1) (function-end 2) (proc-end 3) (frame-offset 4) (stack-ref 5) (stack-set 6) (push 7) (pop 8) (add 9) (sub 10) (mul 11) (div 12) (mod 13) (abs 14) (negate 15) (shl 16) (shr 17) (bitor 18) (bitand 19) (bitnot 20) (btr 21) (bfl 22) (br 23) (eq 24) (lt 25) (gt 26) (le 27) (ge 28) (ne 29) (not 30) (and 31) (or 32) (call 33) (return 34) (read-char 35) (eof-object? 36) (display 37) (newline 38) (exit 39) (write-char 40) (brtable 41) (stack-ref-n 42) (stack-set-n 43) (write-string 44) (bitxor 45)))
(gset opcodes)
(pop)
(save () 52)
(const 5701)
(gvar make-hash-table)
(callj 1)
52
(gset labels)
(pop)
(0)
(gset pc)
(pop)
(())
(gset source-assembly-code)
(pop)
(proc
  (args 1)
  (gvar labels)
  (lvar 0 0 label)
  (gvar pc)
  (gvar hash-set!)
  (callj 3)
  (name process-label)
)
(gset process-label)
(pop)
(proc
  (args 1)
  (save () 53)
  (lvar 0 0 l)
  (gvar compare>)
  (gvar merge-sort)
  (callj 2)
  53
  (proc
    (args 1)
    (save () 54)
    (lvar 0 0 l2)
    (gvar reverse)
    (callj 1)
    54
    (caar)
    (proc
      (args 1)
      (lvar 0 0 max-value)
      (1)
      (+)
      (make-vector)
      (proc
        (args 1)
        (save () 55)
        (())
        (proc
          (args 1)
          (proc
            (args 1)
            (lvar 0 0 i)
            (lvar 2 0 vec)
            (vector-length)
            (=)
            (bfl () 56)
            (())
            (return)
            56
            (lvar 2 0 vec)
            (lvar 0 0 i)
            (0)
            (vector-set!)
            (pop)
            (lvar 0 0 i)
            (1)
            (+)
            (lvar 1 0 loop)
            (callj 1)
            (name loop)
          )
          (lset 0 0 loop)
          (pop)
          (0)
          (lvar 0 0 loop)
          (callj 1)
          (name ())
        )
        (callj 1)
        55
        (pop)
        (save () 58)
        (lvar 2 0 l2)
        (lvar 0 0 vec)
        (gvar fill-vec!)
        (callj 2)
        58
        (pop)
        (lvar 0 0 vec)
        (gvar vector->list)
        (callj 1)
        (name ())
      )
      (callj 1)
      (name ())
    )
    (callj 1)
    (name ())
  )
  (callj 1)
  (name get-label-list)
)
(gset get-label-list)
(pop)
(proc
  (args 1)
  (lvar 0 0 instruction)
  (symbol?)
  (bfl () 74)
  (lvar 0 0 instruction)
  (gvar process-label)
  (callj 1)
  74
  (lvar 0 0 instruction)
  (car)
  (lvar 0 0 instruction)
  (cdr)
  (proc
    (args 2)
    (lvar 0 0 opcode)
    (gvar opcodes)
    (assq)
    (proc
      (args 1)
      (lvar 0 0 opcode-value)
      (bfl () 72)
      (lvar 1 0 opcode)
      (const brtable)
      (eq?)
      (bfl () 70)
      (save () 59)
      (lvar 1 1 operands)
      (gvar get-label-list)
      (callj 1)
      59
      (proc
        (args 1)
        (lvar 1 0 opcode-value)
        (cadr)
        (gvar source-assembly-code)
        (cons)
        (gset source-assembly-code)
        (pop)
        (save () 60)
        (save () 61)
        (lvar 0 0 label-list)
        (gvar reverse)
        (callj 1)
        61
        (gvar source-assembly-code)
        (gvar append)
        (callj 2)
        60
        (gset source-assembly-code)
        (pop)
        (gvar pc)
        (1)
        (+)
        (lvar 0 0 label-list)
        (length)
        (+)
        (gset pc)
        (return)
        (name ())
      )
      (callj 1)
      70
      (lvar 0 0 opcode-value)
      (cadr)
      (gvar source-assembly-code)
      (cons)
      (gset source-assembly-code)
      (pop)
      (lvar 2 0 instruction)
      (length)
      (proc
        (args 1)
        (lvar 0 0 instruction-length)
        (1)
        (>)
        (bfl () 68)
        (lvar 0 0 instruction-length)
        (2)
        (=)
        (bfl () 66)
        (lvar 2 1 operands)
        (car)
        (gvar source-assembly-code)
        (cons)
        (gset source-assembly-code)
        (pop)
        (br () 67)
        66
        (lvar 0 0 instruction-length)
        (const 3)
        (=)
        (bfl () 64)
        (lvar 2 1 operands)
        (cadr)
        (lvar 2 1 operands)
        (car)
        (gvar source-assembly-code)
        (cons)
        (cons)
        (gset source-assembly-code)
        (pop)
        (br () 65)
        64
        (save () 62)
        (save () 63)
        (lvar 2 1 operands)
        (gvar reverse)
        (callj 1)
        63
        (gvar source-assembly-code)
        (gvar append)
        (callj 2)
        62
        (gset source-assembly-code)
        (pop)
        65
        67
        (br () 69)
        68
        69
        (gvar pc)
        (lvar 0 0 instruction-length)
        (+)
        (gset pc)
        (return)
        (name ())
      )
      (callj 1)
      72
      (const "invalid opcode ")
      (display)
      (pop)
      (lvar 1 0 opcode)
      (display)
      (pop)
      (newline)
      (return)
      (name ())
    )
    (callj 1)
    (name ())
  )
  (callj 2)
  (name process-instruction)
)
(gset process-instruction)
(pop)
(())
(gset assembled-code)
(pop)
(proc
  (args 1)
  (lvar 0 0 code)
  (null?)
  (bfl () 84)
  (())
  (return)
  84
  (lvar 0 0 code)
  (car)
  (proc
    (args 1)
    (lvar 0 0 word)
    (char?)
    (bfl () 82)
    (lvar 0 0 word)
    (char->integer)
    (gvar assembled-code)
    (cons)
    (gset assembled-code)
    (pop)
    (br () 83)
    82
    (lvar 0 0 word)
    (symbol?)
    (bfl () 80)
    (save () 76)
    (save () 77)
    (gvar labels)
    (lvar 0 0 word)
    (gvar hash-ref)
    (callj 2)
    77
    (proc
      (args 1)
      (lvar 0 0 reference)
      (null?)
      (bfl () 78)
      (#f)
      (return)
      78
      (lvar 0 0 reference)
      (gvar assembled-code)
      (cons)
      (gset assembled-code)
      (return)
      (name ())
    )
    (callj 1)
    76
    (pop)
    (br () 81)
    80
    (lvar 0 0 word)
    (gvar assembled-code)
    (cons)
    (gset assembled-code)
    (pop)
    81
    83
    (lvar 1 0 code)
    (cdr)
    (gvar create-assembled-code)
    (callj 1)
    (name ())
  )
  (callj 1)
  (name create-assembled-code)
)
(gset create-assembled-code)
(pop)
(proc
  (args 1)
  (lvar 0 0 code)
  (null?)
  (not)
  (bfl () 86)
  (lvar 0 0 code)
  (car)
  (proc
    (args 1)
    (lvar 0 0 word)
    (display)
    (pop)
    (newline)
    (pop)
    (lvar 1 0 code)
    (cdr)
    (gvar display-code)
    (callj 1)
    (name ())
  )
  (callj 1)
  86
  (())
  (return)
  (name display-code)
)
(gset display-code)
(pop)
(proc
  (args 0)
  (save () 88)
  (gvar read)
  (callj 0)
  88
  (proc
    (args 1)
    (lvar 0 0 instruction)
    (eof-object?)
    (not)
    (bfl () 90)
    (save () 89)
    (lvar 0 0 instruction)
    (gvar process-instruction)
    (callj 1)
    89
    (pop)
    (gvar loop)
    (callj 0)
    90
    (())
    (return)
    (name ())
  )
  (callj 1)
  (name loop)
)
(gset loop)
(pop)
(save () 92)
(gvar loop)
(callj 0)
92
(save () 93)
(save () 94)
(gvar source-assembly-code)
(gvar reverse)
(callj 1)
94
(gvar create-assembled-code)
(callj 1)
93
(save () 95)
(gvar assembled-code)
(gvar reverse)
(callj 1)
95
(gset assembled-code)
(gvar assembled-code)
(length)
(display)
(newline)
(save () 96)
(gvar assembled-code)
(gvar display-code)
(callj 1)
96
(halt)
)
