(
(const 12)
(make-vector)
(gset __primitives)
(pop)
(gvar __primitives)
(0)
(proc
  (args 2)
  (lvar 0 0 n1)
  (lvar 0 1 n2)
  (+)
  (return)
  (name ())
)
(vector-set!)
(pop)
(gvar __primitives)
(1)
(proc
  (args 2)
  (lvar 0 0 n1)
  (lvar 0 1 n2)
  (*)
  (return)
  (name ())
)
(vector-set!)
(pop)
(gvar __primitives)
(2)
(proc
  (args 2)
  (lvar 0 0 n1)
  (lvar 0 1 n2)
  (bitwise-and)
  (return)
  (name ())
)
(vector-set!)
(pop)
(gvar __primitives)
(const 3)
(proc
  (args 2)
  (lvar 0 0 n1)
  (lvar 0 1 n2)
  (bitwise-or)
  (return)
  (name ())
)
(vector-set!)
(pop)
(gvar __primitives)
(const 4)
(proc
  (args 2)
  (lvar 0 0 n1)
  (lvar 0 1 n2)
  (bitwise-xor)
  (return)
  (name ())
)
(vector-set!)
(pop)
(gvar __primitives)
(const 5)
(proc
  (args 2)
  (lvar 0 0 n1)
  (lvar 0 1 n2)
  (=)
  (return)
  (name ())
)
(vector-set!)
(pop)
(gvar __primitives)
(const 6)
(proc
  (args 2)
  (lvar 0 0 n1)
  (lvar 0 1 n2)
  (<)
  (return)
  (name ())
)
(vector-set!)
(pop)
(gvar __primitives)
(const 7)
(proc
  (args 2)
  (lvar 0 0 n1)
  (lvar 0 1 n2)
  (>)
  (return)
  (name ())
)
(vector-set!)
(pop)
(gvar __primitives)
(const 8)
(proc
  (args 2)
  (lvar 0 0 n1)
  (lvar 0 1 n2)
  (<=)
  (return)
  (name ())
)
(vector-set!)
(pop)
(gvar __primitives)
(const 9)
(proc
  (args 2)
  (lvar 0 0 n1)
  (lvar 0 1 n2)
  (>=)
  (return)
  (name ())
)
(vector-set!)
(pop)
(gvar __primitives)
(const 10)
(proc
  (args 1)
  (lvar 0 0 n1)
  (car)
  (return)
  (name ())
)
(vector-set!)
(pop)
(gvar __primitives)
(const 11)
(proc
  (args 1)
  (lvar 0 0 n1)
  (cdr)
  (return)
  (name ())
)
(vector-set!)
(proc
  (args 1)
  (lvar 0 0 x)
  (0)
  (<)
  (bfl () 3063)
  (0)
  (lvar 0 0 x)
  (-)
  (return)
  3063
  (lvar 0 0 x)
  (return)
  (name abs)
)
(gset abs)
(pop)
(proc
  (argsd 0)
  (())
  (())
  (())
  (())
  (())
  (())
  (())
  (())
  (())
  (proc
    (args 9)
    (lvar 1 0 args)
    (null?)
    (bfl () 3065)
    (const stdin)
    (br () 3066)
    3065
    (lvar 1 0 args)
    (car)
    3066
    (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 () 3067)
              (())
              (proc
                (args 1)
                (proc
                  (args 1)
                  (lvar 0 0 i)
                  (lvar 3 0 size)
                  (=)
                  (bfl () 3068)
                  (())
                  (return)
                  3068
                  (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)
              3067
              (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:::75)
                (bfl () 3070)
                (lvar 0 0 g:::75)
                (return)
                3070
                (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 () 3072)
              (())
              (proc
                (args 1)
                (proc
                  (args 0)
                  (save () 3073)
                  (lvar 3 4 char-alpha-numeric?)
                  (callj 0)
                  3073
                  (bfl () 3076)
                  (save () 3074)
                  (lvar 3 6 get-ch)
                  (callj 0)
                  3074
                  (pop)
                  (save () 3075)
                  (lvar 3 5 skip-past-alpha)
                  (callj 0)
                  3075
                  (pop)
                  (lvar 1 0 loop)
                  (callj 0)
                  3076
                  (())
                  (return)
                  (name loop)
                )
                (lset 0 0 loop)
                (pop)
                (lvar 0 0 loop)
                (return)
                (name ())
              )
              (callj 1)
              3072
              (callj 0)
              (name skip-past-alpha)
            )
            (lset 0 5 skip-past-alpha)
            (pop)
            (proc
              (args 0)
              (lvar 5 0 port)
              (const stdin)
              (eq?)
              (bfl () 3078)
              (read-char)
              (lset 5 3 ch)
              (pop)
              (br () 3079)
              3078
              (lvar 5 0 port)
              (readcharfile)
              (lset 5 3 ch)
              (pop)
              3079
              (lvar 5 3 ch)
              (const #\newline)
              (char=?)
              (bfl () 3080)
              (const #\space)
              (lset 5 3 ch)
              (return)
              3080
              (())
              (return)
              (name get-ch)
            )
            (lset 0 6 get-ch)
            (pop)
            (proc
              (args 0)
              (lvar 5 0 port)
              (const stdin)
              (eq?)
              (bfl () 3082)
              (read-char)
              (lset 5 3 ch)
              (return)
              3082
              (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 () 3085)
              (lvar 1 6 get-ch)
              (callj 0)
              3085
              (save () 3084)
              (lvar 1 7 get-ch-no-newline)
              (callj 0)
              3084
              (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 () 3093)
              (())
              (return)
              3093
              (lvar 5 3 ch)
              (const #\;)
              (char=?)
              (bfl () 3091)
              (save () 3087)
              (lvar 1 8 skip-line)
              (callj 0)
              3087
              (pop)
              (lvar 1 9 skip-blanks)
              (callj 0)
              3091
              (lvar 5 3 ch)
              (lvar 5 7 white-space)
              (memq)
              (bfl () 3089)
              (save () 3088)
              (lvar 1 6 get-ch)
              (callj 0)
              3088
              (pop)
              (lvar 1 9 skip-blanks)
              (callj 0)
              3089
              (())
              (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 () 3095)
              (lvar 1 2 token-new)
              (lset 1 1 token-list)
              (pop)
              (lvar 1 2 token-new)
              (lset 1 3 token-tail)
              (pop)
              (br () 3096)
              3095
              (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)
              3096
              (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 () 3097)
              (lvar 1 6 get-ch)
              (callj 0)
              3097
              (pop)
              (lvar 5 3 ch)
              (const (#\t #\f))
              (member)
              (bfl () 3112)
              (const boolean-tok)
              (lset 5 1 token-type)
              (pop)
              (lvar 5 3 ch)
              (const #\t)
              (char=?)
              (bfl () 3098)
              (#t)
              (lset 1 0 token)
              (pop)
              (br () 3099)
              3098
              (#f)
              (lset 1 0 token)
              (pop)
              3099
              (lvar 1 6 get-ch)
              (callj 0)
              3112
              (lvar 5 3 ch)
              (const #\\)
              (char=?)
              (bfl () 3110)
              (const char-tok)
              (lset 5 1 token-type)
              (pop)
              (save () 3100)
              (lvar 1 6 get-ch)
              (callj 0)
              3100
              (pop)
              (lvar 5 3 ch)
              (lset 1 0 token)
              (pop)
              (lvar 5 3 ch)
              (proc
                (args 1)
                (save () 3101)
                (lvar 2 6 get-ch)
                (callj 0)
                3101
                (pop)
                (lvar 0 0 first-ch)
                (proc
                  (args 1)
                  (lvar 0 0 g:::76)
                  (const #\s)
                  (eqv?)
                  (bfl () 3108)
                  (lvar 7 3 ch)
                  (const #\p)
                  (char=?)
                  (bfl () 3102)
                  (const #\space)
                  (lset 3 0 token)
                  (pop)
                  (lvar 3 5 skip-past-alpha)
                  (callj 0)
                  3102
                  (())
                  (return)
                  3108
                  (lvar 0 0 g:::76)
                  (const #\n)
                  (eqv?)
                  (bfl () 3106)
                  (lvar 7 3 ch)
                  (const #\e)
                  (char=?)
                  (bfl () 3104)
                  (const #\newline)
                  (lset 3 0 token)
                  (pop)
                  (lvar 3 5 skip-past-alpha)
                  (callj 0)
                  3104
                  (())
                  (return)
                  3106
                  (#f)
                  (return)
                  (name ())
                )
                (callj 1)
                (name ())
              )
              (callj 1)
              3110
              (const vector-tok)
              (lset 5 1 token-type)
              (return)
              (name get-vector)
            )
            (lset 0 12 get-vector)
            (pop)
            (proc
              (args 0)
              (save () 3114)
              (lvar 1 6 get-ch)
              (callj 0)
              3114
              (pop)
              (save () 3115)
              (save () 3116)
              (())
              (proc
                (args 1)
                (proc
                  (args 0)
                  (save () 3117)
                  (lvar 7 3 ch)
                  (const #\")
                  (char=?)
                  (proc
                    (args 1)
                    (lvar 0 0 g:::77)
                    (bfl () 3118)
                    (lvar 0 0 g:::77)
                    (return)
                    3118
                    (lvar 8 3 ch)
                    (eof-object?)
                    (return)
                    (name ())
                  )
                  (callj 1)
                  3117
                  (not)
                  (bfl () 3124)
                  (save () 3120)
                  (lvar 3 11 append-to-list)
                  (callj 0)
                  3120
                  (pop)
                  (lvar 7 4 previous-ch)
                  (const #\\)
                  (char=?)
                  (bfl () 3122)
                  (save () 3121)
                  (lvar 3 10 replace-last-ch)
                  (callj 0)
                  3121
                  (pop)
                  (br () 3123)
                  3122
                  3123
                  (lvar 1 0 loop)
                  (callj 0)
                  3124
                  (())
                  (return)
                  (name loop)
                )
                (lset 0 0 loop)
                (pop)
                (lvar 0 0 loop)
                (return)
                (name ())
              )
              (callj 1)
              3116
              (callj 0)
              3115
              (pop)
              (save () 3126)
              (lvar 1 6 get-ch)
              (callj 0)
              3126
              (pop)
              (const string-tok)
              (lset 5 1 token-type)
              (pop)
              (save () 3127)
              (lvar 1 1 token-list)
              (gvar list->string)
              (callj 1)
              3127
              (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 () 3135)
                  (lvar 1 1 end-of-token)
                  (lset 1 0 ch)
                  (return)
                  3135
                  (lvar 2 0 token)
                  (car)
                  (lset 1 0 ch)
                  (pop)
                  (lvar 1 0 ch)
                  (const #\.)
                  (char=?)
                  (bfl () 3133)
                  (#t)
                  (lset 1 3 has-decimal)
                  (pop)
                  (br () 3134)
                  3133
                  (save () 3128)
                  (lvar 1 0 ch)
                  (const #\e)
                  (char=?)
                  (proc
                    (args 1)
                    (lvar 0 0 g:::78)
                    (bfl () 3129)
                    (lvar 0 0 g:::78)
                    (return)
                    3129
                    (lvar 2 0 ch)
                    (const #\E)
                    (char=?)
                    (return)
                    (name ())
                  )
                  (callj 1)
                  3128
                  (bfl () 3131)
                  (#t)
                  (lset 1 4 has-e)
                  (pop)
                  (br () 3132)
                  3131
                  3132
                  3134
                  (lvar 2 0 token)
                  (cdr)
                  (lset 2 0 token)
                  (return)
                  (name next-ch)
                )
                (lset 0 6 next-ch)
                (pop)
                (proc
                  (args 0)
                  (save () 3137)
                  (lvar 1 6 next-ch)
                  (callj 0)
                  3137
                  (pop)
                  (lvar 1 0 ch)
                  (const #\-)
                  (char=?)
                  (bfl () 3142)
                  (lvar 1 8 state-1)
                  (callj 0)
                  3142
                  (lvar 1 0 ch)
                  (char-numeric?)
                  (bfl () 3140)
                  (lvar 1 9 state-2)
                  (callj 0)
                  3140
                  (lvar 1 0 ch)
                  (const #\.)
                  (char=?)
                  (bfl () 3138)
                  (lvar 1 10 state-3)
                  (callj 0)
                  3138
                  (())
                  (return)
                  (name state-0)
                )
                (lset 0 7 state-0)
                (pop)
                (proc
                  (args 0)
                  (save () 3144)
                  (lvar 1 6 next-ch)
                  (callj 0)
                  3144
                  (pop)
                  (lvar 1 0 ch)
                  (const #\.)
                  (char=?)
                  (bfl () 3147)
                  (lvar 1 10 state-3)
                  (callj 0)
                  3147
                  (lvar 1 0 ch)
                  (char-numeric?)
                  (bfl () 3145)
                  (lvar 1 9 state-2)
                  (callj 0)
                  3145
                  (())
                  (return)
                  (name state-1)
                )
                (lset 0 8 state-1)
                (pop)
                (proc
                  (args 0)
                  (save () 3149)
                  (lvar 1 6 next-ch)
                  (callj 0)
                  3149
                  (pop)
                  (lvar 1 0 ch)
                  (const #\.)
                  (char=?)
                  (bfl () 3159)
                  (lvar 1 10 state-3)
                  (callj 0)
                  3159
                  (lvar 1 0 ch)
                  (char-numeric?)
                  (bfl () 3157)
                  (lvar 1 9 state-2)
                  (callj 0)
                  3157
                  (save () 3150)
                  (lvar 1 0 ch)
                  (const #\e)
                  (char=?)
                  (proc
                    (args 1)
                    (lvar 0 0 g:::79)
                    (bfl () 3151)
                    (lvar 0 0 g:::79)
                    (return)
                    3151
                    (lvar 2 0 ch)
                    (const #\E)
                    (char=?)
                    (return)
                    (name ())
                  )
                  (callj 1)
                  3150
                  (bfl () 3155)
                  (lvar 1 11 state-4)
                  (callj 0)
                  3155
                  (lvar 1 0 ch)
                  (lvar 1 1 end-of-token)
                  (char=?)
                  (bfl () 3153)
                  (lvar 1 14 state-7)
                  (callj 0)
                  3153
                  (())
                  (return)
                  (name state-2)
                )
                (lset 0 9 state-2)
                (pop)
                (proc
                  (args 0)
                  (save () 3161)
                  (lvar 1 6 next-ch)
                  (callj 0)
                  3161
                  (pop)
                  (save () 3162)
                  (lvar 1 0 ch)
                  (const #\e)
                  (char=?)
                  (proc
                    (args 1)
                    (lvar 0 0 g:::80)
                    (bfl () 3163)
                    (lvar 0 0 g:::80)
                    (return)
                    3163
                    (lvar 2 0 ch)
                    (const #\E)
                    (char=?)
                    (return)
                    (name ())
                  )
                  (callj 1)
                  3162
                  (bfl () 3169)
                  (lvar 1 11 state-4)
                  (callj 0)
                  3169
                  (lvar 1 0 ch)
                  (char-numeric?)
                  (bfl () 3167)
                  (lvar 1 10 state-3)
                  (callj 0)
                  3167
                  (lvar 1 0 ch)
                  (lvar 1 1 end-of-token)
                  (char=?)
                  (bfl () 3165)
                  (lvar 1 14 state-7)
                  (callj 0)
                  3165
                  (())
                  (return)
                  (name state-3)
                )
                (lset 0 10 state-3)
                (pop)
                (proc
                  (args 0)
                  (save () 3171)
                  (lvar 1 6 next-ch)
                  (callj 0)
                  3171
                  (pop)
                  (save () 3172)
                  (lvar 1 0 ch)
                  (const #\+)
                  (char=?)
                  (proc
                    (args 1)
                    (lvar 0 0 g:::81)
                    (bfl () 3173)
                    (lvar 0 0 g:::81)
                    (return)
                    3173
                    (lvar 2 0 ch)
                    (const #\-)
                    (char=?)
                    (return)
                    (name ())
                  )
                  (callj 1)
                  3172
                  (bfl () 3177)
                  (lvar 1 12 state-5)
                  (callj 0)
                  3177
                  (lvar 1 0 ch)
                  (char-numeric?)
                  (bfl () 3175)
                  (lvar 1 13 state-6)
                  (callj 0)
                  3175
                  (())
                  (return)
                  (name state-4)
                )
                (lset 0 11 state-4)
                (pop)
                (proc
                  (args 0)
                  (save () 3179)
                  (lvar 1 6 next-ch)
                  (callj 0)
                  3179
                  (pop)
                  (lvar 1 0 ch)
                  (char-numeric?)
                  (bfl () 3180)
                  (lvar 1 13 state-6)
                  (callj 0)
                  3180
                  (())
                  (return)
                  (name state-5)
                )
                (lset 0 12 state-5)
                (pop)
                (proc
                  (args 0)
                  (save () 3182)
                  (lvar 1 6 next-ch)
                  (callj 0)
                  3182
                  (pop)
                  (lvar 1 0 ch)
                  (lvar 1 1 end-of-token)
                  (char=?)
                  (bfl () 3185)
                  (lvar 1 14 state-7)
                  (callj 0)
                  3185
                  (lvar 1 0 ch)
                  (char-numeric?)
                  (bfl () 3183)
                  (lvar 1 13 state-6)
                  (callj 0)
                  3183
                  (())
                  (return)
                  (name state-6)
                )
                (lset 0 13 state-6)
                (pop)
                (proc
                  (args 0)
                  (lvar 1 3 has-decimal)
                  (bfl () 3187)
                  (lvar 1 4 has-e)
                  (not)
                  (br () 3188)
                  3187
                  (#f)
                  3188
                  (bfl () 3190)
                  (save () 3189)
                  (lvar 1 5 save-token)
                  (lvar 3 14 append-e0!)
                  (callj 1)
                  3189
                  (pop)
                  (br () 3191)
                  3190
                  3191
                  (#t)
                  (lset 1 2 return)
                  (return)
                  (name state-7)
                )
                (lset 0 14 state-7)
                (pop)
                (save () 3192)
                (lvar 0 7 state-0)
                (callj 0)
                3192
                (pop)
                (lvar 0 2 return)
                (return)
                (name ())
              )
              (callj 15)
              (name number-token?)
            )
            (lset 0 15 number-token?)
            (pop)
            (proc
              (args 0)
              (save () 3193)
              (save () 3194)
              (())
              (proc
                (args 1)
                (proc
                  (args 0)
                  (save () 3195)
                  (lvar 7 3 ch)
                  (lvar 7 7 white-space)
                  (memq)
                  (proc
                    (args 1)
                    (lvar 0 0 g:::82)
                    (bfl () 3198)
                    (lvar 0 0 g:::82)
                    (return)
                    3198
                    (lvar 8 3 ch)
                    (const (#\( #\)))
                    (memq)
                    (proc
                      (args 1)
                      (lvar 0 0 g:::83)
                      (bfl () 3196)
                      (lvar 0 0 g:::83)
                      (return)
                      3196
                      (lvar 9 3 ch)
                      (eof-object?)
                      (return)
                      (name ())
                    )
                    (callj 1)
                    (name ())
                  )
                  (callj 1)
                  3195
                  (not)
                  (bfl () 3201)
                  (lvar 7 3 ch)
                  (char-downcase)
                  (lset 7 3 ch)
                  (pop)
                  (save () 3200)
                  (lvar 3 11 append-to-list)
                  (callj 0)
                  3200
                  (pop)
                  (lvar 1 0 loop)
                  (callj 0)
                  3201
                  (())
                  (return)
                  (name loop)
                )
                (lset 0 0 loop)
                (pop)
                (lvar 0 0 loop)
                (return)
                (name ())
              )
              (callj 1)
              3194
              (callj 0)
              3193
              (pop)
              (lvar 1 1 token-list)
              (const (#\.))
              (equal?)
              (bfl () 3208)
              (const dot-tok)
              (lset 5 1 token-type)
              (return)
              3208
              (const symbol-tok)
              (lset 5 1 token-type)
              (pop)
              (save () 3203)
              (lvar 1 1 token-list)
              (lvar 1 15 number-token?)
              (callj 1)
              3203
              (bfl () 3206)
              (save () 3204)
              (lvar 1 1 token-list)
              (gvar list->string)
              (callj 1)
              3204
              (string->number)
              (lset 1 0 token)
              (return)
              3206
              (save () 3205)
              (lvar 1 1 token-list)
              (gvar list->string)
              (callj 1)
              3205
              (string->symbol)
              (lset 1 0 token)
              (return)
              (name get-symbol)
            )
            (lset 0 16 get-symbol)
            (pop)
            (save () 3210)
            (lvar 0 9 skip-blanks)
            (callj 0)
            3210
            (pop)
            (lvar 4 3 ch)
            (eof-object?)
            (bfl () 3231)
            (const eof-tok)
            (lset 4 1 token-type)
            (pop)
            (lvar 4 3 ch)
            (lset 0 0 token)
            (pop)
            (br () 3232)
            3231
            (save () 3211)
            (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 () 3229)
              (lvar 0 0 match)
              (cadr)
              (proc
                (args 1)
                (lvar 0 0 g:::84)
                (const (opar-tok cpar-tok tic-tok backtic-tok))
                (memv)
                (bfl () 3227)
                (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 () 3216)
                (lvar 6 2 paren-level)
                (1)
                (+)
                (lset 6 2 paren-level)
                (pop)
                (lvar 2 6 get-ch)
                (callj 0)
                3216
                (lvar 6 1 token-type)
                (const cpar-tok)
                (eq?)
                (bfl () 3214)
                (lvar 6 2 paren-level)
                (1)
                (-)
                (lset 6 2 paren-level)
                (pop)
                (lvar 6 2 paren-level)
                (0)
                (>)
                (bfl () 3212)
                (lvar 2 6 get-ch)
                (callj 0)
                3212
                (())
                (return)
                3214
                (lvar 2 6 get-ch)
                (callj 0)
                3227
                (lvar 0 0 g:::84)
                (const comma-tok)
                (eqv?)
                (bfl () 3225)
                (lvar 1 0 match)
                (cadr)
                (lset 6 1 token-type)
                (pop)
                (lvar 6 3 ch)
                (lset 2 0 token)
                (pop)
                (save () 3218)
                (lvar 2 6 get-ch)
                (callj 0)
                3218
                (pop)
                (lvar 6 3 ch)
                (const #\@)
                (char=?)
                (bfl () 3219)
                (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)
                3219
                (())
                (return)
                3225
                (lvar 0 0 g:::84)
                (const vector-tok)
                (eqv?)
                (bfl () 3223)
                (lvar 2 12 get-vector)
                (callj 0)
                3223
                (lvar 0 0 g:::84)
                (const string-tok)
                (eqv?)
                (bfl () 3221)
                (lvar 2 13 get-string)
                (callj 0)
                3221
                (#f)
                (return)
                (name ())
              )
              (callj 1)
              3229
              (lvar 1 16 get-symbol)
              (callj 0)
              (name ())
            )
            (callj 1)
            3211
            (pop)
            3232
            (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 () 3233)
          (lvar 1 1 get-token)
          (callj 0)
          3233
          (proc
            (args 1)
            (lvar 4 1 token-type)
            (proc
              (args 1)
              (lvar 0 0 g:::85)
              (const opar-tok)
              (eqv?)
              (bfl () 3258)
              (save () 3234)
              (lvar 3 4 read-list)
              (callj 0)
              3234
              (lset 1 0 token)
              (pop)
              (save () 3235)
              (lvar 3 1 get-token)
              (callj 0)
              3235
              (pop)
              (lvar 1 0 token)
              (return)
              3258
              (lvar 0 0 g:::85)
              (const tic-tok)
              (eqv?)
              (bfl () 3256)
              (const quote)
              (save () 3236)
              (lvar 5 8 readin)
              (callj 0)
              3236
              (())
              (cons)
              (cons)
              (())
              (cons)
              (lset 1 0 token)
              (pop)
              (lvar 1 0 token)
              (return)
              3256
              (lvar 0 0 g:::85)
              (const backtic-tok)
              (eqv?)
              (bfl () 3254)
              (const quasiquote)
              (save () 3237)
              (lvar 5 8 readin)
              (callj 0)
              3237
              (())
              (cons)
              (cons)
              (())
              (cons)
              (lset 1 0 token)
              (pop)
              (lvar 1 0 token)
              (return)
              3254
              (lvar 0 0 g:::85)
              (const comma-tok)
              (eqv?)
              (bfl () 3252)
              (const unquote)
              (save () 3238)
              (lvar 5 8 readin)
              (callj 0)
              3238
              (())
              (cons)
              (cons)
              (())
              (cons)
              (lset 1 0 token)
              (pop)
              (lvar 1 0 token)
              (return)
              3252
              (lvar 0 0 g:::85)
              (const at-tok)
              (eqv?)
              (bfl () 3250)
              (const unquote-splicing)
              (save () 3239)
              (lvar 5 8 readin)
              (callj 0)
              3239
              (())
              (cons)
              (cons)
              (())
              (cons)
              (lset 1 0 token)
              (pop)
              (lvar 1 0 token)
              (return)
              3250
              (save () 3240)
              (lvar 5 1 token-type)
              (const symbol-tok)
              (eq?)
              (proc
                (args 1)
                (lvar 0 0 g:::86)
                (bfl () 3241)
                (lvar 0 0 g:::86)
                (return)
                3241
                (lvar 6 1 token-type)
                (const string-tok)
                (eq?)
                (return)
                (name ())
              )
              (callj 1)
              3240
              (not)
              (bfl () 3244)
              (save () 3243)
              (lvar 1 0 token)
              (lvar 3 2 bad-sexpr)
              (callj 1)
              3243
              (pop)
              (br () 3245)
              3244
              3245
              (save () 3246)
              (lvar 3 1 get-token)
              (callj 0)
              3246
              (pop)
              (lvar 5 1 token-type)
              (const cpar-tok)
              (eq?)
              (not)
              (bfl () 3248)
              (save () 3247)
              (const "expecting close paren")
              (lvar 3 2 bad-sexpr)
              (callj 1)
              3247
              (pop)
              (br () 3249)
              3248
              3249
              (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 () 3260)
            (save () 3261)
            (lvar 2 1 get-token)
            (callj 0)
            3261
            (save () 3262)
            (())
            (proc
              (args 1)
              (proc
                (args 1)
                (lvar 6 1 token-type)
                (const cpar-tok)
                (eq?)
                (not)
                (bfl () 3292)
                (save () 3263)
                (lvar 6 1 token-type)
                (proc
                  (args 1)
                  (lvar 0 0 g:::87)
                  (const opar-tok)
                  (eqv?)
                  (bfl () 3285)
                  (save () 3264)
                  (lvar 5 4 read-list)
                  (callj 0)
                  3264
                  (())
                  (cons)
                  (lset 3 2 new)
                  (return)
                  3285
                  (lvar 0 0 g:::87)
                  (const dot-tok)
                  (eqv?)
                  (bfl () 3283)
                  (lvar 3 1 tail)
                  (save () 3265)
                  (lvar 5 3 read-dot-token)
                  (callj 0)
                  3265
                  (set-cdr!)
                  (pop)
                  (const was-dot-tok)
                  (lset 7 1 token-type)
                  (return)
                  3283
                  (lvar 0 0 g:::87)
                  (const eof-tok)
                  (eqv?)
                  (bfl () 3281)
                  (const "unexpected end of file")
                  (lvar 5 2 bad-sexpr)
                  (callj 1)
                  3281
                  (lvar 0 0 g:::87)
                  (const tic-tok)
                  (eqv?)
                  (bfl () 3279)
                  (const quote)
                  (save () 3266)
                  (lvar 7 8 readin)
                  (callj 0)
                  3266
                  (())
                  (cons)
                  (cons)
                  (())
                  (cons)
                  (lset 3 2 new)
                  (return)
                  3279
                  (lvar 0 0 g:::87)
                  (const backtic-tok)
                  (eqv?)
                  (bfl () 3277)
                  (const quasiquote)
                  (save () 3267)
                  (lvar 7 8 readin)
                  (callj 0)
                  3267
                  (())
                  (cons)
                  (cons)
                  (())
                  (cons)
                  (lset 3 2 new)
                  (return)
                  3277
                  (lvar 0 0 g:::87)
                  (const comma-tok)
                  (eqv?)
                  (bfl () 3275)
                  (const unquote)
                  (save () 3268)
                  (lvar 7 8 readin)
                  (callj 0)
                  3268
                  (())
                  (cons)
                  (cons)
                  (())
                  (cons)
                  (lset 3 2 new)
                  (return)
                  3275
                  (lvar 0 0 g:::87)
                  (const at-tok)
                  (eqv?)
                  (bfl () 3273)
                  (const unquote-splicing)
                  (save () 3269)
                  (lvar 7 8 readin)
                  (callj 0)
                  3269
                  (())
                  (cons)
                  (cons)
                  (())
                  (cons)
                  (lset 3 2 new)
                  (return)
                  3273
                  (lvar 0 0 g:::87)
                  (const vector-tok)
                  (eqv?)
                  (bfl () 3271)
                  (save () 3270)
                  (lvar 5 5 read-vector)
                  (callj 0)
                  3270
                  (())
                  (cons)
                  (lset 3 2 new)
                  (return)
                  3271
                  (lvar 1 0 token)
                  (())
                  (cons)
                  (lset 3 2 new)
                  (return)
                  (name ())
                )
                (callj 1)
                3263
                (pop)
                (lvar 6 1 token-type)
                (const was-dot-tok)
                (eq?)
                (bfl () 3290)
                (const cpar-tok)
                (lset 6 1 token-type)
                (return)
                3290
                (lvar 2 0 lst)
                (null?)
                (bfl () 3287)
                (lvar 2 2 new)
                (lset 2 0 lst)
                (pop)
                (lvar 2 2 new)
                (lset 2 1 tail)
                (pop)
                (br () 3288)
                3287
                (lvar 2 1 tail)
                (lvar 2 2 new)
                (set-cdr!)
                (pop)
                (lvar 2 1 tail)
                (cdr)
                (lset 2 1 tail)
                (pop)
                3288
                (save () 3289)
                (lvar 4 1 get-token)
                (callj 0)
                3289
                (lvar 1 0 loop)
                (callj 1)
                3292
                (())
                (return)
                (name loop)
              )
              (lset 0 0 loop)
              (pop)
              (lvar 0 0 loop)
              (return)
              (name ())
            )
            (callj 1)
            3262
            (callj 1)
            3260
            (pop)
            (lvar 0 0 lst)
            (return)
            (name ())
          )
          (callj 3)
          (name read-list)
        )
        (lset 0 4 read-list)
        (pop)
        (proc
          (args 0)
          (save () 3294)
          (lvar 1 1 get-token)
          (callj 0)
          3294
          (pop)
          (lvar 3 1 token-type)
          (const opar-tok)
          (eq?)
          (bfl () 3296)
          (save () 3295)
          (lvar 1 4 read-list)
          (callj 0)
          3295
          (lvar 1 0 my-list->vector)
          (callj 1)
          3296
          (const "expecting open paren")
          (lvar 1 2 bad-sexpr)
          (callj 1)
          (name read-vector)
        )
        (lset 0 5 read-vector)
        (pop)
        (save () 3298)
        (lvar 0 1 get-token)
        (callj 0)
        3298
        (proc
          (args 1)
          (lvar 3 1 token-type)
          (proc
            (args 1)
            (lvar 0 0 g:::88)
            (const opar-tok)
            (eqv?)
            (bfl () 3315)
            (lvar 2 4 read-list)
            (callj 0)
            3315
            (lvar 0 0 g:::88)
            (const tic-tok)
            (eqv?)
            (bfl () 3313)
            (const quote)
            (save () 3299)
            (lvar 4 8 readin)
            (callj 0)
            3299
            (())
            (cons)
            (cons)
            (return)
            3313
            (lvar 0 0 g:::88)
            (const backtic-tok)
            (eqv?)
            (bfl () 3311)
            (const quasiquote)
            (save () 3300)
            (lvar 4 8 readin)
            (callj 0)
            3300
            (())
            (cons)
            (cons)
            (return)
            3311
            (lvar 0 0 g:::88)
            (const comma-tok)
            (eqv?)
            (bfl () 3309)
            (const unquote)
            (save () 3301)
            (lvar 4 8 readin)
            (callj 0)
            3301
            (())
            (cons)
            (cons)
            (return)
            3309
            (lvar 0 0 g:::88)
            (const at-tok)
            (eqv?)
            (bfl () 3307)
            (const unquote-splicing)
            (save () 3302)
            (lvar 4 8 readin)
            (callj 0)
            3302
            (())
            (cons)
            (cons)
            (return)
            3307
            (lvar 0 0 g:::88)
            (const vector-tok)
            (eqv?)
            (bfl () 3305)
            (lvar 2 5 read-vector)
            (callj 0)
            3305
            (lvar 0 0 g:::88)
            (const cpar-tok)
            (eqv?)
            (bfl () 3303)
            (const "unexpected close paren")
            (lvar 2 2 bad-sexpr)
            (callj 1)
            3303
            (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 () 3317)
  (proc
    (args 1)
    (const " ")
    (display)
    (pop)
    (lvar 0 0 arg)
    (display)
    (return)
    (name ())
  )
  (lvar 0 1 args)
  (gvar for-each)
  (callj 2)
  3317
  (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 () 3318)
      (lvar 0 1 y)
      (return)
      3318
      (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
  (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 () 3320)
      (lvar 0 0 str)
      (return)
      3320
      (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 () 3324)
      (())
      (return)
      3324
      (save () 3322)
      (lvar 0 1 l)
      (car)
      (lvar 0 0 p)
      (callj 1)
      3322
      (save () 3323)
      (lvar 0 0 p)
      (lvar 0 1 l)
      (cdr)
      (lvar 1 0 map-over-single-list)
      (callj 2)
      3323
      (cons)
      (return)
      (name map-over-single-list)
    )
    (lset 0 0 map-over-single-list)
    (pop)
    (())
    (lvar 1 1 lists)
    (memq)
    (bfl () 3330)
    (())
    (return)
    3330
    (save () 3326)
    (save () 3327)
    (gvar __primitives)
    (const 10)
    (vector-ref)
    (lvar 1 1 lists)
    (lvar 0 0 map-over-single-list)
    (callj 2)
    3327
    (argl)
    (lvar 1 0 proc)
    (callnj)
    3326
    (pop)
    (save () 3328)
    (lvar 1 0 proc)
    (save () 3329)
    (gvar __primitives)
    (const 11)
    (vector-ref)
    (lvar 1 1 lists)
    (lvar 0 0 map-over-single-list)
    (callj 2)
    3329
    (cons)
    (argl)
    (gvar for-each)
    (callnj)
    3328
    (return)
    (name ())
  )
  (callj 1)
  (name for-each)
)
(gset for-each)
(pop)
(save () 0)
(gvar read)
(callj 0)
0
(gset target)
(pop)
(())
(gset version)
(pop)
(0)
(gset instruction-run-count-threshold)
(pop)
(0)
(gset maximum-free-registers)
(pop)
(gvar target)
(const arm)
(eq?)
(bfl () 7)
(save () 1)
(gvar read)
(callj 0)
1
(gset version)
(pop)
(save () 2)
(gvar read)
(callj 0)
2
(gset instruction-run-count-threshold)
(pop)
(const 7)
(gset maximum-free-registers)
(br () 8)
7
(gvar target)
(const x86)
(eq?)
(bfl () 5)
(const 6)
(gset maximum-free-registers)
(br () 6)
5
(gvar target)
(const riscv)
(eq?)
(bfl () 3)
(const 5)
(gset maximum-free-registers)
(br () 4)
3
(())
4
6
8
(gvar target)
(gset target-save)
(pop)
(#f)
(gset quiet)
(pop)
(proc
  (args 1)
  (gvar quiet)
  (not)
  (bfl () 9)
  (lvar 0 0 x)
  (display)
  (return)
  9
  (())
  (return)
  (name my-display)
)
(gset my-display)
(pop)
(proc
  (args 0)
  (gvar quiet)
  (not)
  (bfl () 11)
  (newline)
  (return)
  11
  (())
  (return)
  (name my-newline)
)
(gset my-newline)
(pop)
(0)
(gset gen-n)
(pop)
(proc
  (args 0)
  (gvar gen-n)
  (proc
    (args 1)
    (gvar gen-n)
    (1)
    (+)
    (gset gen-n)
    (pop)
    (lvar 0 0 n)
    (return)
    (name ())
  )
  (callj 1)
  (name gen)
)
(gset gen)
(pop)
(())
(gset code-instructions)
(pop)
(proc
  (args 1)
  (gvar quiet)
  (not)
  (bfl () 13)
  (lvar 0 0 instruction)
  (gvar code-instructions)
  (cons)
  (gset code-instructions)
  (return)
  13
  (())
  (return)
  (name log-code-instruction)
)
(gset log-code-instruction)
(pop)
(proc
  (args 1)
  (lvar 0 0 instruction)
  (pair?)
  (bfl () 15)
  (lvar 0 0 instruction)
  (car)
  (const imm)
  (eq?)
  (return)
  15
  (#f)
  (return)
  (name imm?)
)
(gset imm?)
(pop)
(proc
  (args 1)
  (save () 17)
  (lvar 0 0 target)
  (const arm)
  (eq?)
  (proc
    (args 1)
    (lvar 0 0 g:::0)
    (bfl () 20)
    (lvar 0 0 g:::0)
    (return)
    20
    (lvar 1 0 target)
    (const x86)
    (eq?)
    (proc
      (args 1)
      (lvar 0 0 g:::1)
      (bfl () 18)
      (lvar 0 0 g:::1)
      (return)
      18
      (lvar 2 0 target)
      (const riscv)
      (eq?)
      (return)
      (name ())
    )
    (callj 1)
    (name ())
  )
  (callj 1)
  17
  (bfl () 22)
  (const ".")
  (display)
  (return)
  22
  (())
  (return)
  (name display-label-dot)
)
(gset display-label-dot)
(pop)
(proc
  (args 1)
  (save () 24)
  (lvar 0 0 target)
  (const arm)
  (eq?)
  (proc
    (args 1)
    (lvar 0 0 g:::2)
    (bfl () 27)
    (lvar 0 0 g:::2)
    (return)
    27
    (lvar 1 0 target)
    (const x86)
    (eq?)
    (proc
      (args 1)
      (lvar 0 0 g:::3)
      (bfl () 25)
      (lvar 0 0 g:::3)
      (return)
      25
      (lvar 2 0 target)
      (const riscv)
      (eq?)
      (return)
      (name ())
    )
    (callj 1)
    (name ())
  )
  (callj 1)
  24
  (bfl () 29)
  (const ":")
  (display)
  (return)
  29
  (())
  (return)
  (name display-label-character)
)
(gset display-label-character)
(pop)
(proc
  (args 1)
  (lvar 0 0 code-instructions)
  (null?)
  (not)
  (bfl () 81)
  (lvar 0 0 code-instructions)
  (car)
  (proc
    (args 1)
    (lvar 0 0 instruction)
    (number?)
    (bfl () 79)
    (gvar target-save)
    (gset target)
    (pop)
    (save () 31)
    (gvar target)
    (gvar display-label-dot)
    (callj 1)
    31
    (pop)
    (const "l")
    (display)
    (pop)
    (lvar 0 0 instruction)
    (display)
    (pop)
    (save () 32)
    (gvar target)
    (gvar display-label-character)
    (callj 1)
    32
    (pop)
    (const vm)
    (gset target)
    (pop)
    (newline)
    (pop)
    (br () 80)
    79
    (lvar 0 0 instruction)
    (symbol?)
    (bfl () 77)
    (save () 33)
    (lvar 0 0 instruction)
    (gvar display-name)
    (callj 1)
    33
    (pop)
    (gvar target-save)
    (gset target)
    (pop)
    (save () 34)
    (gvar target)
    (gvar display-label-character)
    (callj 1)
    34
    (pop)
    (const vm)
    (gset target)
    (pop)
    (newline)
    (pop)
    (br () 78)
    77
    (lvar 0 0 instruction)
    (car)
    (const expr)
    (eq?)
    (bfl () 75)
    (save () 35)
    (lvar 0 0 instruction)
    (cdr)
    (cddr)
    (cadr)
    (proc
      (args 1)
      (lvar 1 0 instruction)
      (cadr)
      (gset fast-expression)
      (pop)
      (lvar 1 0 instruction)
      (cdr)
      (cadr)
      (gset max-register-idx)
      (pop)
      (lvar 1 0 instruction)
      (cddr)
      (cadr)
      (gset fast-relop)
      (pop)
      (0)
      (gset register-idx)
      (pop)
      (())
      (gset immediate-list)
      (pop)
      (gvar target-save)
      (gset target)
      (pop)
      (save () 36)
      (gvar display-comment)
      (callj 0)
      36
      (pop)
      (const vm)
      (gset target)
      (pop)
      (lvar 1 0 instruction)
      (display)
      (pop)
      (newline)
      (return)
      (name ())
    )
    (callj 1)
    35
    (pop)
    (br () 76)
    75
    (lvar 0 0 instruction)
    (car)
    (const (br btr bfl))
    (memq)
    (bfl () 73)
    (gvar target-save)
    (gset target)
    (pop)
    (save () 37)
    (gvar target)
    (const arm)
    (eq?)
    (proc
      (args 1)
      (lvar 0 0 g:::4)
      (bfl () 40)
      (lvar 0 0 g:::4)
      (return)
      40
      (gvar target)
      (const x86)
      (eq?)
      (proc
        (args 1)
        (lvar 0 0 g:::5)
        (bfl () 38)
        (lvar 0 0 g:::5)
        (return)
        38
        (gvar target)
        (const riscv)
        (eq?)
        (return)
        (name ())
      )
      (callj 1)
      (name ())
    )
    (callj 1)
    37
    (bfl () 43)
    (save () 42)
    (gvar display-comment)
    (callj 0)
    42
    (pop)
    (br () 44)
    43
    44
    (const "(")
    (display)
    (pop)
    (lvar 0 0 instruction)
    (car)
    (display)
    (pop)
    (const " l")
    (display)
    (pop)
    (lvar 0 0 instruction)
    (cadr)
    (display)
    (pop)
    (const ")")
    (display)
    (pop)
    (newline)
    (pop)
    (save () 45)
    (lvar 0 0 instruction)
    (car)
    (proc
      (args 1)
      (lvar 0 0 g:::6)
      (const btr)
      (eqv?)
      (bfl () 50)
      (gvar target)
      (lvar 1 0 instruction)
      (cadr)
      (gvar btr)
      (callj 2)
      50
      (lvar 0 0 g:::6)
      (const bfl)
      (eqv?)
      (bfl () 48)
      (gvar target)
      (lvar 1 0 instruction)
      (cadr)
      (gvar bfl)
      (callj 2)
      48
      (lvar 0 0 g:::6)
      (const br)
      (eqv?)
      (bfl () 46)
      (gvar target)
      (lvar 1 0 instruction)
      (cadr)
      (gvar br)
      (callj 2)
      46
      (#f)
      (return)
      (name ())
    )
    (callj 1)
    45
    (pop)
    (const vm)
    (gset target)
    (pop)
    (br () 74)
    73
    (lvar 0 0 instruction)
    (car)
    (const brtable)
    (eq?)
    (bfl () 71)
    (gvar target-save)
    (gset target)
    (pop)
    (save () 52)
    (gvar target)
    (const arm)
    (eq?)
    (proc
      (args 1)
      (lvar 0 0 g:::7)
      (bfl () 55)
      (lvar 0 0 g:::7)
      (return)
      55
      (gvar target)
      (const x86)
      (eq?)
      (proc
        (args 1)
        (lvar 0 0 g:::8)
        (bfl () 53)
        (lvar 0 0 g:::8)
        (return)
        53
        (gvar target)
        (const riscv)
        (eq?)
        (return)
        (name ())
      )
      (callj 1)
      (name ())
    )
    (callj 1)
    52
    (bfl () 58)
    (save () 57)
    (gvar display-comment)
    (callj 0)
    57
    (pop)
    (br () 59)
    58
    59
    (save () 60)
    (lvar 0 0 instruction)
    (cadr)
    (proc
      (args 1)
      (const "(")
      (display)
      (pop)
      (lvar 1 0 instruction)
      (car)
      (display)
      (pop)
      (save () 61)
      (())
      (proc
        (args 1)
        (proc
          (args 1)
          (lvar 0 0 i)
          (lvar 2 0 operands)
          (length)
          (=)
          (bfl () 62)
          (())
          (return)
          62
          (const " (")
          (display)
          (pop)
          (lvar 0 0 i)
          (display)
          (pop)
          (const " l")
          (display)
          (pop)
          (lvar 2 0 operands)
          (lvar 0 0 i)
          (list-ref)
          (cadr)
          (display)
          (pop)
          (const ")")
          (display)
          (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)
      61
      (pop)
      (const ")")
      (display)
      (pop)
      (newline)
      (return)
      (name ())
    )
    (callj 1)
    60
    (pop)
    (save () 64)
    (gvar target)
    (lvar 0 0 instruction)
    (cadr)
    (gvar brtable)
    (callj 2)
    64
    (pop)
    (br () 72)
    71
    (gvar target-save)
    (gset target)
    (pop)
    (gvar target)
    (const vm)
    (eq?)
    (bfl () 69)
    (save () 65)
    (lvar 0 0 instruction)
    (gvar imm?)
    (callj 1)
    65
    (not)
    (bfl () 66)
    (lvar 0 0 instruction)
    (display)
    (pop)
    (newline)
    (pop)
    (br () 67)
    66
    67
    (br () 70)
    69
    (save () 68)
    (lvar 0 0 instruction)
    (gvar display-instruction)
    (callj 1)
    68
    (pop)
    70
    (const vm)
    (gset target)
    (pop)
    72
    74
    76
    78
    80
    (lvar 1 0 code-instructions)
    (cdr)
    (gvar display-code)
    (callj 1)
    (name ())
  )
  (callj 1)
  81
  (())
  (return)
  (name display-code)
)
(gset display-code)
(pop)
(proc
  (args 2)
  (lvar 0 0 instruction)
  (const (return))
  (equal?)
  (bfl () 87)
  (lvar 0 1 code)
  (cdr)
  (null?)
  (bfl () 85)
  (#f)
  (return)
  85
  (lvar 0 1 code)
  (cadr)
  (pair?)
  (bfl () 83)
  (lvar 0 1 code)
  (cadr)
  (car)
  (const br)
  (eq?)
  (return)
  83
  (#f)
  (return)
  87
  (#f)
  (return)
  (name return-followed-by-branch)
)
(gset return-followed-by-branch)
(pop)
(proc
  (args 2)
  (lvar 0 1 code)
  (null?)
  (bfl () 97)
  (#f)
  (return)
  97
  (lvar 0 0 label)
  (lvar 0 1 code)
  (car)
  (equal?)
  (bfl () 95)
  (lvar 0 1 code)
  (cdr)
  (null?)
  (bfl () 93)
  (lvar 0 0 label)
  (lvar 0 1 code)
  (cdr)
  (gvar find-label-followed-by-branch)
  (callj 2)
  93
  (lvar 0 1 code)
  (cadr)
  (pair?)
  (bfl () 91)
  (lvar 0 1 code)
  (cadr)
  (car)
  (const br)
  (eq?)
  (bfl () 89)
  (lvar 0 1 code)
  (cadr)
  (return)
  89
  (lvar 0 0 label)
  (lvar 0 1 code)
  (cdr)
  (gvar find-label-followed-by-branch)
  (callj 2)
  91
  (lvar 0 0 label)
  (lvar 0 1 code)
  (cdr)
  (gvar find-label-followed-by-branch)
  (callj 2)
  95
  (lvar 0 0 label)
  (lvar 0 1 code)
  (cdr)
  (gvar find-label-followed-by-branch)
  (callj 2)
  (name find-label-followed-by-branch)
)
(gset find-label-followed-by-branch)
(pop)
(proc
  (args 3)
  (lvar 0 0 instruction)
  (pair?)
  (bfl () 101)
  (lvar 0 0 instruction)
  (car)
  (proc
    (args 1)
    (lvar 0 0 op)
    (const br)
    (eq?)
    (bfl () 99)
    (lvar 1 0 instruction)
    (cadr)
    (lvar 1 2 full-code)
    (gvar find-label-followed-by-branch)
    (callj 2)
    99
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  101
  (#f)
  (return)
  (name test-branch-followed-by-branch)
)
(gset test-branch-followed-by-branch)
(pop)
(proc
  (args 2)
  (lvar 0 0 code)
  (null?)
  (not)
  (bfl () 112)
  (lvar 0 0 code)
  (car)
  (proc
    (args 1)
    (save () 103)
    (lvar 0 0 instruction)
    (lvar 1 0 code)
    (gvar return-followed-by-branch)
    (callj 2)
    103
    (bfl () 110)
    (lvar 0 0 instruction)
    (save () 104)
    (lvar 1 0 code)
    (cddr)
    (lvar 1 1 full-code)
    (gvar optimize-code)
    (callj 2)
    104
    (cons)
    (return)
    110
    (save () 105)
    (lvar 0 0 instruction)
    (lvar 1 0 code)
    (lvar 1 1 full-code)
    (gvar test-branch-followed-by-branch)
    (callj 3)
    105
    (proc
      (args 1)
      (lvar 0 0 found)
      (bfl () 108)
      (lvar 0 0 found)
      (save () 106)
      (lvar 2 0 code)
      (cdr)
      (lvar 2 1 full-code)
      (gvar optimize-code)
      (callj 2)
      106
      (cons)
      (return)
      108
      (lvar 1 0 instruction)
      (save () 107)
      (lvar 2 0 code)
      (cdr)
      (lvar 2 1 full-code)
      (gvar optimize-code)
      (callj 2)
      107
      (cons)
      (return)
      (name ())
    )
    (callj 1)
    (name ())
  )
  (callj 1)
  112
  (())
  (return)
  (name optimize-code)
)
(gset optimize-code)
(pop)
(proc
  (args 2)
  (lvar 0 1 sequence)
  (null?)
  (bfl () 120)
  (#t)
  (return)
  120
  (lvar 0 0 code)
  (pair?)
  (bfl () 118)
  (lvar 0 0 code)
  (car)
  (proc
    (args 1)
    (lvar 0 0 instruction)
    (pair?)
    (bfl () 116)
    (lvar 1 1 sequence)
    (car)
    (lvar 0 0 instruction)
    (car)
    (eq?)
    (bfl () 114)
    (lvar 1 0 code)
    (cdr)
    (lvar 1 1 sequence)
    (cdr)
    (gvar match-sequence?)
    (callj 2)
    114
    (#f)
    (return)
    116
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  118
  (#f)
  (return)
  (name match-sequence?)
)
(gset match-sequence?)
(pop)
(proc
  (args 2)
  (save () 122)
  (lvar 0 0 code)
  (lvar 0 1 sequence)
  (gvar match-sequence?)
  (callj 2)
  122
  (bfl () 127)
  (lvar 0 0 code)
  (cadr)
  (cadr)
  (lvar 0 0 code)
  (cdr)
  (cadr)
  (cadr)
  (lvar 0 0 code)
  (cdr)
  (cddr)
  (cadr)
  (cadr)
  (proc
    (args 3)
    (lvar 0 0 one?)
    (1)
    (=)
    (bfl () 125)
    (lvar 0 1 offset1)
    (lvar 0 2 offset2)
    (equal?)
    (bfl () 123)
    (lvar 0 1 offset1)
    (return)
    123
    (#f)
    (return)
    125
    (#f)
    (return)
    (name ())
  )
  (callj 3)
  127
  (#f)
  (return)
  (name simple-x86-assignment?)
)
(gset simple-x86-assignment?)
(pop)
(proc
  (args 2)
  (lvar 0 0 target)
  (const x86)
  (eq?)
  (bfl () 136)
  (lvar 0 1 code)
  (null?)
  (bfl () 134)
  (())
  (return)
  134
  (save () 129)
  (lvar 0 1 code)
  (const (imm push stack-ref-n sub stack-set-n))
  (gvar simple-x86-assignment?)
  (callj 2)
  129
  (proc
    (args 1)
    (lvar 0 0 match)
    (bfl () 132)
    (const dec)
    (lvar 0 0 match)
    (())
    (cons)
    (cons)
    (save () 130)
    (lvar 1 0 target)
    (lvar 1 1 code)
    (cdr)
    (cddr)
    (cddr)
    (gvar optimize-code-x86-dec)
    (callj 2)
    130
    (cons)
    (return)
    132
    (lvar 1 1 code)
    (car)
    (save () 131)
    (lvar 1 0 target)
    (lvar 1 1 code)
    (cdr)
    (gvar optimize-code-x86-dec)
    (callj 2)
    131
    (cons)
    (return)
    (name ())
  )
  (callj 1)
  136
  (lvar 0 1 code)
  (return)
  (name optimize-code-x86-dec)
)
(gset optimize-code-x86-dec)
(pop)
(proc
  (args 2)
  (lvar 0 0 target)
  (const x86)
  (eq?)
  (bfl () 145)
  (lvar 0 1 code)
  (null?)
  (bfl () 143)
  (())
  (return)
  143
  (save () 138)
  (lvar 0 1 code)
  (const (imm push stack-ref-n add stack-set-n))
  (gvar simple-x86-assignment?)
  (callj 2)
  138
  (proc
    (args 1)
    (lvar 0 0 match)
    (bfl () 141)
    (const inc)
    (lvar 0 0 match)
    (())
    (cons)
    (cons)
    (save () 139)
    (lvar 1 0 target)
    (lvar 1 1 code)
    (cdr)
    (cddr)
    (cddr)
    (gvar optimize-code-x86-inc)
    (callj 2)
    139
    (cons)
    (return)
    141
    (lvar 1 1 code)
    (car)
    (save () 140)
    (lvar 1 0 target)
    (lvar 1 1 code)
    (cdr)
    (gvar optimize-code-x86-inc)
    (callj 2)
    140
    (cons)
    (return)
    (name ())
  )
  (callj 1)
  145
  (lvar 0 1 code)
  (return)
  (name optimize-code-x86-inc)
)
(gset optimize-code-x86-inc)
(pop)
(0)
(gset level)
(pop)
(())
(gset global-vars)
(pop)
(())
(gset local-vars)
(pop)
(())
(gset formal-parameters)
(pop)
(())
(gset functions)
(pop)
(())
(gset function-type)
(pop)
(())
(gset dynamic-link)
(pop)
(())
(gset loop-label-stack)
(pop)
(#f)
(gset fast-expression)
(pop)
(#f)
(gset operand1-is-num)
(pop)
(#f)
(gset fast-relop)
(pop)
(#f)
(gset immediate-push)
(pop)
(())
(gset immediate-list)
(pop)
(proc
  (args 0)
  (gvar quiet)
  (not)
  (bfl () 155)
  (gvar target)
  (proc
    (args 1)
    (lvar 0 0 g:::9)
    (const vm)
    (eqv?)
    (bfl () 153)
    (const "; ")
    (gvar my-display)
    (callj 1)
    153
    (lvar 0 0 g:::9)
    (const arm)
    (eqv?)
    (bfl () 151)
    (const "@ ")
    (gvar my-display)
    (callj 1)
    151
    (lvar 0 0 g:::9)
    (const riscv)
    (eqv?)
    (bfl () 149)
    (const "# ")
    (gvar my-display)
    (callj 1)
    149
    (lvar 0 0 g:::9)
    (const x86)
    (eqv?)
    (bfl () 147)
    (const "; ")
    (gvar my-display)
    (callj 1)
    147
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  155
  (())
  (return)
  (name display-comment)
)
(gset display-comment)
(pop)
(0)
(gset register-idx)
(pop)
(0)
(gset max-register-idx)
(pop)
(proc
  (args 0)
  (gvar register-idx)
  (1)
  (+)
  (gset register-idx)
  (pop)
  (gvar register-idx)
  (gvar max-register-idx)
  (>)
  (bfl () 157)
  (gvar register-idx)
  (gset max-register-idx)
  (return)
  157
  (())
  (return)
  (name increment-register)
)
(gset increment-register)
(pop)
(proc
  (args 0)
  (gvar register-idx)
  (1)
  (-)
  (gset register-idx)
  (return)
  (name decrement-register)
)
(gset decrement-register)
(pop)
(proc
  (args 0)
  (gvar register-idx)
  (proc
    (args 1)
    (lvar 0 0 g:::10)
    (0)
    (eqv?)
    (bfl () 169)
    (const "a")
    (gvar my-display)
    (callj 1)
    169
    (lvar 0 0 g:::10)
    (1)
    (eqv?)
    (bfl () 167)
    (const "b")
    (gvar my-display)
    (callj 1)
    167
    (lvar 0 0 g:::10)
    (2)
    (eqv?)
    (bfl () 165)
    (const "c")
    (gvar my-display)
    (callj 1)
    165
    (lvar 0 0 g:::10)
    (const 3)
    (eqv?)
    (bfl () 163)
    (const "d")
    (gvar my-display)
    (callj 1)
    163
    (lvar 0 0 g:::10)
    (const 4)
    (eqv?)
    (bfl () 161)
    (const "d")
    (gvar my-display)
    (callj 1)
    161
    (lvar 0 0 g:::10)
    (const 5)
    (eqv?)
    (bfl () 159)
    (const "s")
    (gvar my-display)
    (callj 1)
    159
    (const "?")
    (gvar my-display)
    (callj 1)
    (name ())
  )
  (callj 1)
  (name write-register-type-x86)
)
(gset write-register-type-x86)
(pop)
(proc
  (args 0)
  (gvar target)
  (proc
    (args 1)
    (lvar 0 0 g:::11)
    (const arm)
    (eqv?)
    (bfl () 211)
    (save () 171)
    (const "r")
    (gvar my-display)
    (callj 1)
    171
    (pop)
    (gvar register-idx)
    (proc
      (args 1)
      (lvar 0 0 g:::12)
      (0)
      (eqv?)
      (bfl () 184)
      (const "0")
      (gvar my-display)
      (callj 1)
      184
      (lvar 0 0 g:::12)
      (1)
      (eqv?)
      (bfl () 182)
      (const "2")
      (gvar my-display)
      (callj 1)
      182
      (lvar 0 0 g:::12)
      (2)
      (eqv?)
      (bfl () 180)
      (const "4")
      (gvar my-display)
      (callj 1)
      180
      (lvar 0 0 g:::12)
      (const 3)
      (eqv?)
      (bfl () 178)
      (const "5")
      (gvar my-display)
      (callj 1)
      178
      (lvar 0 0 g:::12)
      (const 4)
      (eqv?)
      (bfl () 176)
      (const "6")
      (gvar my-display)
      (callj 1)
      176
      (lvar 0 0 g:::12)
      (const 5)
      (eqv?)
      (bfl () 174)
      (const "7")
      (gvar my-display)
      (callj 1)
      174
      (lvar 0 0 g:::12)
      (const 6)
      (eqv?)
      (bfl () 172)
      (const "9")
      (gvar my-display)
      (callj 1)
      172
      (const "?")
      (gvar my-display)
      (callj 1)
      (name ())
    )
    (callj 1)
    211
    (lvar 0 0 g:::11)
    (const x86)
    (eqv?)
    (bfl () 209)
    (save () 186)
    (const "e")
    (gvar my-display)
    (callj 1)
    186
    (pop)
    (save () 187)
    (gvar write-register-type-x86)
    (callj 0)
    187
    (pop)
    (gvar register-idx)
    (const 4)
    (=)
    (bfl () 190)
    (const "i")
    (gvar my-display)
    (callj 1)
    190
    (gvar register-idx)
    (const 5)
    (=)
    (bfl () 188)
    (const "p")
    (gvar my-display)
    (callj 1)
    188
    (const "x")
    (gvar my-display)
    (callj 1)
    209
    (lvar 0 0 g:::11)
    (const riscv)
    (eqv?)
    (bfl () 207)
    (save () 192)
    (const "s")
    (gvar my-display)
    (callj 1)
    192
    (pop)
    (gvar register-idx)
    (proc
      (args 1)
      (lvar 0 0 g:::13)
      (0)
      (eqv?)
      (bfl () 205)
      (const "0")
      (gvar my-display)
      (callj 1)
      205
      (lvar 0 0 g:::13)
      (1)
      (eqv?)
      (bfl () 203)
      (const "2")
      (gvar my-display)
      (callj 1)
      203
      (lvar 0 0 g:::13)
      (2)
      (eqv?)
      (bfl () 201)
      (const "4")
      (gvar my-display)
      (callj 1)
      201
      (lvar 0 0 g:::13)
      (const 3)
      (eqv?)
      (bfl () 199)
      (const "5")
      (gvar my-display)
      (callj 1)
      199
      (lvar 0 0 g:::13)
      (const 4)
      (eqv?)
      (bfl () 197)
      (const "6")
      (gvar my-display)
      (callj 1)
      197
      (lvar 0 0 g:::13)
      (const 5)
      (eqv?)
      (bfl () 195)
      (const "7")
      (gvar my-display)
      (callj 1)
      195
      (lvar 0 0 g:::13)
      (const 6)
      (eqv?)
      (bfl () 193)
      (const "9")
      (gvar my-display)
      (callj 1)
      193
      (const "?")
      (gvar my-display)
      (callj 1)
      (name ())
    )
    (callj 1)
    207
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name write-register)
)
(gset write-register)
(pop)
(proc
  (args 1)
  (gvar fast-expression)
  (bfl () 222)
  (gvar write-register)
  (callj 0)
  222
  (gvar target)
  (proc
    (args 1)
    (lvar 0 0 g:::14)
    (const arm)
    (eqv?)
    (bfl () 220)
    (save () 213)
    (const "r")
    (gvar my-display)
    (callj 1)
    213
    (pop)
    (lvar 1 0 n)
    (gvar my-display)
    (callj 1)
    220
    (lvar 0 0 g:::14)
    (const x86)
    (eqv?)
    (bfl () 218)
    (save () 214)
    (const "?")
    (gvar my-display)
    (callj 1)
    214
    (pop)
    (lvar 1 0 n)
    (gvar my-display)
    (callj 1)
    218
    (lvar 0 0 g:::14)
    (const riscv)
    (eqv?)
    (bfl () 216)
    (save () 215)
    (const "s")
    (gvar my-display)
    (callj 1)
    215
    (pop)
    (lvar 1 0 n)
    (gvar my-display)
    (callj 1)
    216
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name write-push-register)
)
(gset write-push-register)
(pop)
(proc
  (args 0)
  (save () 224)
  (gvar decrement-register)
  (callj 0)
  224
  (pop)
  (save () 225)
  (gvar write-register)
  (callj 0)
  225
  (pop)
  (gvar increment-register)
  (callj 0)
  (name write-register-minus-one)
)
(gset write-register-minus-one)
(pop)
(proc
  (args 0)
  (save () 226)
  (gvar decrement-register)
  (callj 0)
  226
  (pop)
  (save () 227)
  (gvar decrement-register)
  (callj 0)
  227
  (pop)
  (save () 228)
  (gvar write-register)
  (callj 0)
  228
  (pop)
  (save () 229)
  (gvar increment-register)
  (callj 0)
  229
  (pop)
  (gvar increment-register)
  (callj 0)
  (name write-register-minus-two)
)
(gset write-register-minus-two)
(pop)
(proc
  (args 1)
  (lvar 0 0 immediate-constant)
  (bfl () 233)
  (gvar target)
  (const arm)
  (eq?)
  (bfl () 231)
  (save () 230)
  (const "$")
  (gvar my-display)
  (callj 1)
  230
  (pop)
  (br () 232)
  231
  232
  (lvar 0 0 immediate-constant)
  (gvar my-display)
  (callj 1)
  233
  (gvar write-register-minus-two)
  (callj 0)
  (name write-register-minus-two-or-constant)
)
(gset write-register-minus-two-or-constant)
(pop)
(proc
  (args 0)
  (gvar register-idx)
  (const 4)
  (>=)
  (bfl () 237)
  (save () 235)
  (const "?")
  (gvar my-display)
  (callj 1)
  235
  (pop)
  (br () 238)
  237
  (save () 236)
  (gvar write-register-type-x86)
  (callj 0)
  236
  (pop)
  238
  (const "l")
  (gvar my-display)
  (callj 1)
  (name write-register-lo-x86)
)
(gset write-register-lo-x86)
(pop)
(proc
  (args 0)
  (save () 239)
  (gvar decrement-register)
  (callj 0)
  239
  (pop)
  (save () 240)
  (gvar write-register-lo-x86)
  (callj 0)
  240
  (pop)
  (gvar increment-register)
  (callj 0)
  (name write-register-lo-minus-one-x86)
)
(gset write-register-lo-minus-one-x86)
(pop)
(proc
  (args 0)
  (save () 241)
  (gvar decrement-register)
  (callj 0)
  241
  (pop)
  (save () 242)
  (gvar decrement-register)
  (callj 0)
  242
  (pop)
  (save () 243)
  (gvar write-register-lo-x86)
  (callj 0)
  243
  (pop)
  (save () 244)
  (gvar increment-register)
  (callj 0)
  244
  (pop)
  (gvar increment-register)
  (callj 0)
  (name write-register-lo-minus-two-x86)
)
(gset write-register-lo-minus-two-x86)
(pop)
(proc
  (args 1)
  (save () 245)
  (const "        ")
  (gvar my-display)
  (callj 1)
  245
  (pop)
  (lvar 0 0 opcode)
  (proc
    (args 1)
    (lvar 0 0 g:::15)
    (const arm_mov)
    (eqv?)
    (bfl () 278)
    (const "mov    ")
    (gvar my-display)
    (callj 1)
    278
    (lvar 0 0 g:::15)
    (const arm_mvn)
    (eqv?)
    (bfl () 276)
    (const "mvn    ")
    (gvar my-display)
    (callj 1)
    276
    (lvar 0 0 g:::15)
    (const arm_ldr)
    (eqv?)
    (bfl () 274)
    (const "ldr    ")
    (gvar my-display)
    (callj 1)
    274
    (lvar 0 0 g:::15)
    (const arm_str)
    (eqv?)
    (bfl () 272)
    (const "str    ")
    (gvar my-display)
    (callj 1)
    272
    (lvar 0 0 g:::15)
    (const arm_add)
    (eqv?)
    (bfl () 270)
    (const "add    ")
    (gvar my-display)
    (callj 1)
    270
    (lvar 0 0 g:::15)
    (const arm_sub)
    (eqv?)
    (bfl () 268)
    (const "sub    ")
    (gvar my-display)
    (callj 1)
    268
    (lvar 0 0 g:::15)
    (const arm_mul)
    (eqv?)
    (bfl () 266)
    (const "mul    ")
    (gvar my-display)
    (callj 1)
    266
    (lvar 0 0 g:::15)
    (const arm_cmp)
    (eqv?)
    (bfl () 264)
    (const "cmp    ")
    (gvar my-display)
    (callj 1)
    264
    (lvar 0 0 g:::15)
    (const arm_bge)
    (eqv?)
    (bfl () 262)
    (const "bge    ")
    (gvar my-display)
    (callj 1)
    262
    (lvar 0 0 g:::15)
    (const arm_beq)
    (eqv?)
    (bfl () 260)
    (const "beq    ")
    (gvar my-display)
    (callj 1)
    260
    (lvar 0 0 g:::15)
    (const arm_bne)
    (eqv?)
    (bfl () 258)
    (const "bne    ")
    (gvar my-display)
    (callj 1)
    258
    (lvar 0 0 g:::15)
    (const arm_bl)
    (eqv?)
    (bfl () 256)
    (const "bl     ")
    (gvar my-display)
    (callj 1)
    256
    (lvar 0 0 g:::15)
    (const arm_b)
    (eqv?)
    (bfl () 254)
    (const "b      ")
    (gvar my-display)
    (callj 1)
    254
    (lvar 0 0 g:::15)
    (const arm_moveq)
    (eqv?)
    (bfl () 252)
    (const "moveq  ")
    (gvar my-display)
    (callj 1)
    252
    (lvar 0 0 g:::15)
    (const arm_movne)
    (eqv?)
    (bfl () 250)
    (const "movne  ")
    (gvar my-display)
    (callj 1)
    250
    (lvar 0 0 g:::15)
    (const arm_ldmfd)
    (eqv?)
    (bfl () 248)
    (const "ldmfd  ")
    (gvar my-display)
    (callj 1)
    248
    (lvar 0 0 g:::15)
    (const arm_stmfd)
    (eqv?)
    (bfl () 246)
    (const "stmfd  ")
    (gvar my-display)
    (callj 1)
    246
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name write-arm-opcode)
)
(gset write-arm-opcode)
(pop)
(proc
  (args 1)
  (save () 280)
  (const "        ")
  (gvar my-display)
  (callj 1)
  280
  (pop)
  (lvar 0 0 opcode)
  (proc
    (args 1)
    (lvar 0 0 g:::16)
    (const x86_mov)
    (eqv?)
    (bfl () 315)
    (const "mov    ")
    (gvar my-display)
    (callj 1)
    315
    (lvar 0 0 g:::16)
    (const x86_add)
    (eqv?)
    (bfl () 313)
    (const "add    ")
    (gvar my-display)
    (callj 1)
    313
    (lvar 0 0 g:::16)
    (const x86_sub)
    (eqv?)
    (bfl () 311)
    (const "sub    ")
    (gvar my-display)
    (callj 1)
    311
    (lvar 0 0 g:::16)
    (const x86_mul)
    (eqv?)
    (bfl () 309)
    (const "mul    ")
    (gvar my-display)
    (callj 1)
    309
    (lvar 0 0 g:::16)
    (const x86_cmp)
    (eqv?)
    (bfl () 307)
    (const "cmp    ")
    (gvar my-display)
    (callj 1)
    307
    (lvar 0 0 g:::16)
    (const x86_bge)
    (eqv?)
    (bfl () 305)
    (const "jge    ")
    (gvar my-display)
    (callj 1)
    305
    (lvar 0 0 g:::16)
    (const x86_beq)
    (eqv?)
    (bfl () 303)
    (const "je     ")
    (gvar my-display)
    (callj 1)
    303
    (lvar 0 0 g:::16)
    (const x86_bne)
    (eqv?)
    (bfl () 301)
    (const "jne    ")
    (gvar my-display)
    (callj 1)
    301
    (lvar 0 0 g:::16)
    (const x86_b)
    (eqv?)
    (bfl () 299)
    (const "jmp    ")
    (gvar my-display)
    (callj 1)
    299
    (lvar 0 0 g:::16)
    (const x86_call)
    (eqv?)
    (bfl () 297)
    (const "call   ")
    (gvar my-display)
    (callj 1)
    297
    (lvar 0 0 g:::16)
    (const x86_ret)
    (eqv?)
    (bfl () 295)
    (const "ret    ")
    (gvar my-display)
    (callj 1)
    295
    (lvar 0 0 g:::16)
    (const x86_neg)
    (eqv?)
    (bfl () 293)
    (const "neg    ")
    (gvar my-display)
    (callj 1)
    293
    (lvar 0 0 g:::16)
    (const x86_not)
    (eqv?)
    (bfl () 291)
    (const "not    ")
    (gvar my-display)
    (callj 1)
    291
    (lvar 0 0 g:::16)
    (const x86_and)
    (eqv?)
    (bfl () 289)
    (const "and    ")
    (gvar my-display)
    (callj 1)
    289
    (lvar 0 0 g:::16)
    (const x86_shl)
    (eqv?)
    (bfl () 287)
    (const "shl    ")
    (gvar my-display)
    (callj 1)
    287
    (lvar 0 0 g:::16)
    (const x86_xor)
    (eqv?)
    (bfl () 285)
    (const "xor    ")
    (gvar my-display)
    (callj 1)
    285
    (lvar 0 0 g:::16)
    (const x86_test)
    (eqv?)
    (bfl () 283)
    (const "test   ")
    (gvar my-display)
    (callj 1)
    283
    (lvar 0 0 g:::16)
    (const x86_align)
    (eqv?)
    (bfl () 281)
    (const "align  ")
    (gvar my-display)
    (callj 1)
    281
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name write-x86-opcode)
)
(gset write-x86-opcode)
(pop)
(proc
  (args 1)
  (save () 317)
  (const "        ")
  (gvar my-display)
  (callj 1)
  317
  (pop)
  (lvar 0 0 opcode)
  (proc
    (args 1)
    (lvar 0 0 g:::17)
    (const riscv_mv)
    (eqv?)
    (bfl () 360)
    (const "mv    ")
    (gvar my-display)
    (callj 1)
    360
    (lvar 0 0 g:::17)
    (const riscv_li)
    (eqv?)
    (bfl () 358)
    (const "li    ")
    (gvar my-display)
    (callj 1)
    358
    (lvar 0 0 g:::17)
    (const riscv_lw)
    (eqv?)
    (bfl () 356)
    (const "lw    ")
    (gvar my-display)
    (callj 1)
    356
    (lvar 0 0 g:::17)
    (const riscv_ld)
    (eqv?)
    (bfl () 354)
    (const "ld    ")
    (gvar my-display)
    (callj 1)
    354
    (lvar 0 0 g:::17)
    (const riscv_lui)
    (eqv?)
    (bfl () 352)
    (const "lui   ")
    (gvar my-display)
    (callj 1)
    352
    (lvar 0 0 g:::17)
    (const riscv_sw)
    (eqv?)
    (bfl () 350)
    (const "sw    ")
    (gvar my-display)
    (callj 1)
    350
    (lvar 0 0 g:::17)
    (const riscv_sd)
    (eqv?)
    (bfl () 348)
    (const "sd    ")
    (gvar my-display)
    (callj 1)
    348
    (lvar 0 0 g:::17)
    (const riscv_add)
    (eqv?)
    (bfl () 346)
    (const "add   ")
    (gvar my-display)
    (callj 1)
    346
    (lvar 0 0 g:::17)
    (const riscv_addi)
    (eqv?)
    (bfl () 344)
    (const "addi  ")
    (gvar my-display)
    (callj 1)
    344
    (lvar 0 0 g:::17)
    (const riscv_sub)
    (eqv?)
    (bfl () 342)
    (const "sub   ")
    (gvar my-display)
    (callj 1)
    342
    (lvar 0 0 g:::17)
    (const riscv_beq)
    (eqv?)
    (bfl () 340)
    (const "beq   ")
    (gvar my-display)
    (callj 1)
    340
    (lvar 0 0 g:::17)
    (const riscv_bne)
    (eqv?)
    (bfl () 338)
    (const "bne   ")
    (gvar my-display)
    (callj 1)
    338
    (lvar 0 0 g:::17)
    (const riscv_bge)
    (eqv?)
    (bfl () 336)
    (const "bge   ")
    (gvar my-display)
    (callj 1)
    336
    (lvar 0 0 g:::17)
    (const riscv_j)
    (eqv?)
    (bfl () 334)
    (const "j     ")
    (gvar my-display)
    (callj 1)
    334
    (lvar 0 0 g:::17)
    (const riscv_jr)
    (eqv?)
    (bfl () 332)
    (const "jr    ")
    (gvar my-display)
    (callj 1)
    332
    (lvar 0 0 g:::17)
    (const riscv_call)
    (eqv?)
    (bfl () 330)
    (const "call  ")
    (gvar my-display)
    (callj 1)
    330
    (lvar 0 0 g:::17)
    (const riscv_or)
    (eqv?)
    (bfl () 328)
    (const "or    ")
    (gvar my-display)
    (callj 1)
    328
    (lvar 0 0 g:::17)
    (const riscv_and)
    (eqv?)
    (bfl () 326)
    (const "and   ")
    (gvar my-display)
    (callj 1)
    326
    (lvar 0 0 g:::17)
    (const riscv_xor)
    (eqv?)
    (bfl () 324)
    (const "xor   ")
    (gvar my-display)
    (callj 1)
    324
    (lvar 0 0 g:::17)
    (const riscv_slli)
    (eqv?)
    (bfl () 322)
    (const "slli  ")
    (gvar my-display)
    (callj 1)
    322
    (lvar 0 0 g:::17)
    (const riscv_xori)
    (eqv?)
    (bfl () 320)
    (const "xori  ")
    (gvar my-display)
    (callj 1)
    320
    (lvar 0 0 g:::17)
    (const riscv_jalr)
    (eqv?)
    (bfl () 318)
    (const "jalr  ")
    (gvar my-display)
    (callj 1)
    318
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name write-riscv-opcode)
)
(gset write-riscv-opcode)
(pop)
(proc
  (args 2)
  (lvar 0 0 target)
  (proc
    (args 1)
    (lvar 0 0 g:::18)
    (const (arm riscv))
    (memv)
    (bfl () 389)
    (lvar 1 1 opcode)
    (proc
      (args 1)
      (lvar 0 0 g:::19)
      (const =)
      (eqv?)
      (bfl () 372)
      (const "eq  ")
      (gvar my-display)
      (callj 1)
      372
      (lvar 0 0 g:::19)
      (const <)
      (eqv?)
      (bfl () 370)
      (const "lt  ")
      (gvar my-display)
      (callj 1)
      370
      (lvar 0 0 g:::19)
      (const >)
      (eqv?)
      (bfl () 368)
      (const "gt  ")
      (gvar my-display)
      (callj 1)
      368
      (lvar 0 0 g:::19)
      (const <=)
      (eqv?)
      (bfl () 366)
      (const "le  ")
      (gvar my-display)
      (callj 1)
      366
      (lvar 0 0 g:::19)
      (const >=)
      (eqv?)
      (bfl () 364)
      (const "ge  ")
      (gvar my-display)
      (callj 1)
      364
      (lvar 0 0 g:::19)
      (const (!= ne))
      (memv)
      (bfl () 362)
      (const "ne  ")
      (gvar my-display)
      (callj 1)
      362
      (#f)
      (return)
      (name ())
    )
    (callj 1)
    389
    (lvar 0 0 g:::18)
    (const x86)
    (eqv?)
    (bfl () 387)
    (save () 374)
    (const "j")
    (gvar my-display)
    (callj 1)
    374
    (pop)
    (lvar 1 1 opcode)
    (proc
      (args 1)
      (lvar 0 0 g:::20)
      (const =)
      (eqv?)
      (bfl () 385)
      (const "e     ")
      (gvar my-display)
      (callj 1)
      385
      (lvar 0 0 g:::20)
      (const <)
      (eqv?)
      (bfl () 383)
      (const "l     ")
      (gvar my-display)
      (callj 1)
      383
      (lvar 0 0 g:::20)
      (const >)
      (eqv?)
      (bfl () 381)
      (const "g     ")
      (gvar my-display)
      (callj 1)
      381
      (lvar 0 0 g:::20)
      (const <=)
      (eqv?)
      (bfl () 379)
      (const "le    ")
      (gvar my-display)
      (callj 1)
      379
      (lvar 0 0 g:::20)
      (const >=)
      (eqv?)
      (bfl () 377)
      (const "ge    ")
      (gvar my-display)
      (callj 1)
      377
      (lvar 0 0 g:::20)
      (const !=)
      (eqv?)
      (bfl () 375)
      (const "ne    ")
      (gvar my-display)
      (callj 1)
      375
      (#f)
      (return)
      (name ())
    )
    (callj 1)
    387
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name write-predicate-op)
)
(gset write-predicate-op)
(pop)
(proc
  (args 1)
  (save () 391)
  (const "        ")
  (gvar my-display)
  (callj 1)
  391
  (pop)
  (lvar 0 0 opcode)
  (proc
    (args 1)
    (lvar 0 0 g:::21)
    (const =)
    (eqv?)
    (bfl () 402)
    (const "sete  ")
    (gvar my-display)
    (callj 1)
    402
    (lvar 0 0 g:::21)
    (const <)
    (eqv?)
    (bfl () 400)
    (const "setl  ")
    (gvar my-display)
    (callj 1)
    400
    (lvar 0 0 g:::21)
    (const >)
    (eqv?)
    (bfl () 398)
    (const "setg  ")
    (gvar my-display)
    (callj 1)
    398
    (lvar 0 0 g:::21)
    (const <=)
    (eqv?)
    (bfl () 396)
    (const "setle ")
    (gvar my-display)
    (callj 1)
    396
    (lvar 0 0 g:::21)
    (const >=)
    (eqv?)
    (bfl () 394)
    (const "setge ")
    (gvar my-display)
    (callj 1)
    394
    (lvar 0 0 g:::21)
    (const (!= ne))
    (memv)
    (bfl () 392)
    (const "setne ")
    (gvar my-display)
    (callj 1)
    392
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name write-predicate-set-op-x86)
)
(gset write-predicate-set-op-x86)
(pop)
(proc
  (args 2)
  (lvar 0 0 target)
  (proc
    (args 1)
    (lvar 0 0 g:::22)
    (const arm)
    (eqv?)
    (bfl () 431)
    (lvar 1 1 opcode)
    (proc
      (args 1)
      (lvar 0 0 g:::23)
      (const =)
      (eqv?)
      (bfl () 414)
      (const "ne  ")
      (gvar my-display)
      (callj 1)
      414
      (lvar 0 0 g:::23)
      (const <)
      (eqv?)
      (bfl () 412)
      (const "ge  ")
      (gvar my-display)
      (callj 1)
      412
      (lvar 0 0 g:::23)
      (const >)
      (eqv?)
      (bfl () 410)
      (const "le  ")
      (gvar my-display)
      (callj 1)
      410
      (lvar 0 0 g:::23)
      (const <=)
      (eqv?)
      (bfl () 408)
      (const "gt  ")
      (gvar my-display)
      (callj 1)
      408
      (lvar 0 0 g:::23)
      (const >=)
      (eqv?)
      (bfl () 406)
      (const "lt  ")
      (gvar my-display)
      (callj 1)
      406
      (lvar 0 0 g:::23)
      (const !=)
      (eqv?)
      (bfl () 404)
      (const "eq  ")
      (gvar my-display)
      (callj 1)
      404
      (#f)
      (return)
      (name ())
    )
    (callj 1)
    431
    (lvar 0 0 g:::22)
    (const x86)
    (eqv?)
    (bfl () 429)
    (save () 416)
    (const "j")
    (gvar my-display)
    (callj 1)
    416
    (pop)
    (lvar 1 1 opcode)
    (proc
      (args 1)
      (lvar 0 0 g:::24)
      (const =)
      (eqv?)
      (bfl () 427)
      (const "ne    ")
      (gvar my-display)
      (callj 1)
      427
      (lvar 0 0 g:::24)
      (const <)
      (eqv?)
      (bfl () 425)
      (const "ge    ")
      (gvar my-display)
      (callj 1)
      425
      (lvar 0 0 g:::24)
      (const >)
      (eqv?)
      (bfl () 423)
      (const "le    ")
      (gvar my-display)
      (callj 1)
      423
      (lvar 0 0 g:::24)
      (const <=)
      (eqv?)
      (bfl () 421)
      (const "g     ")
      (gvar my-display)
      (callj 1)
      421
      (lvar 0 0 g:::24)
      (const >=)
      (eqv?)
      (bfl () 419)
      (const "l     ")
      (gvar my-display)
      (callj 1)
      419
      (lvar 0 0 g:::24)
      (const !=)
      (eqv?)
      (bfl () 417)
      (const "e     ")
      (gvar my-display)
      (callj 1)
      417
      (#f)
      (return)
      (name ())
    )
    (callj 1)
    429
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name write-not-predicate-op)
)
(gset write-not-predicate-op)
(pop)
(proc
  (args 2)
  (save () 433)
  (const "        ")
  (gvar my-display)
  (callj 1)
  433
  (pop)
  (lvar 0 0 target)
  (proc
    (args 1)
    (lvar 0 0 g:::25)
    (const arm)
    (eqv?)
    (bfl () 486)
    (lvar 1 1 opcode)
    (proc
      (args 1)
      (lvar 0 0 g:::26)
      (const +)
      (eqv?)
      (bfl () 444)
      (const "add   ")
      (gvar my-display)
      (callj 1)
      444
      (lvar 0 0 g:::26)
      (const -)
      (eqv?)
      (bfl () 442)
      (const "sub   ")
      (gvar my-display)
      (callj 1)
      442
      (lvar 0 0 g:::26)
      (const *)
      (eqv?)
      (bfl () 440)
      (const "mul   ")
      (gvar my-display)
      (callj 1)
      440
      (lvar 0 0 g:::26)
      (const ^)
      (eqv?)
      (bfl () 438)
      (const "eor   ")
      (gvar my-display)
      (callj 1)
      438
      (lvar 0 0 g:::26)
      (const (|| |))
      (memv)
      (bfl () 436)
      (const "orr   ")
      (gvar my-display)
      (callj 1)
      436
      (lvar 0 0 g:::26)
      (const (&& &))
      (memv)
      (bfl () 434)
      (const "and   ")
      (gvar my-display)
      (callj 1)
      434
      (#f)
      (return)
      (name ())
    )
    (callj 1)
    486
    (lvar 0 0 g:::25)
    (const x86)
    (eqv?)
    (bfl () 484)
    (lvar 1 1 opcode)
    (proc
      (args 1)
      (lvar 0 0 g:::27)
      (const (+ add))
      (memv)
      (bfl () 460)
      (const "add    ")
      (gvar my-display)
      (callj 1)
      460
      (lvar 0 0 g:::27)
      (const (- sub))
      (memv)
      (bfl () 458)
      (const "sub    ")
      (gvar my-display)
      (callj 1)
      458
      (lvar 0 0 g:::27)
      (const *)
      (eqv?)
      (bfl () 456)
      (const "mul    ")
      (gvar my-display)
      (callj 1)
      456
      (lvar 0 0 g:::27)
      (const (^ eor bitxor))
      (memv)
      (bfl () 454)
      (const "xor    ")
      (gvar my-display)
      (callj 1)
      454
      (lvar 0 0 g:::27)
      (const shl)
      (eqv?)
      (bfl () 452)
      (const "shl    ")
      (gvar my-display)
      (callj 1)
      452
      (lvar 0 0 g:::27)
      (const shr)
      (eqv?)
      (bfl () 450)
      (const "sar    ")
      (gvar my-display)
      (callj 1)
      450
      (lvar 0 0 g:::27)
      (const (|| | or orr bitor))
      (memv)
      (bfl () 448)
      (const "or     ")
      (gvar my-display)
      (callj 1)
      448
      (lvar 0 0 g:::27)
      (const (&& & and bitand))
      (memv)
      (bfl () 446)
      (const "and    ")
      (gvar my-display)
      (callj 1)
      446
      (#f)
      (return)
      (name ())
    )
    (callj 1)
    484
    (lvar 0 0 g:::25)
    (const riscv)
    (eqv?)
    (bfl () 482)
    (lvar 1 1 opcode)
    (proc
      (args 1)
      (lvar 0 0 g:::28)
      (const (+ add))
      (memv)
      (bfl () 480)
      (const "add   ")
      (gvar my-display)
      (callj 1)
      480
      (lvar 0 0 g:::28)
      (const (- sub))
      (memv)
      (bfl () 478)
      (const "sub   ")
      (gvar my-display)
      (callj 1)
      478
      (lvar 0 0 g:::28)
      (const (* mul))
      (memv)
      (bfl () 476)
      (const "mul   ")
      (gvar my-display)
      (callj 1)
      476
      (lvar 0 0 g:::28)
      (const (/ div))
      (memv)
      (bfl () 474)
      (const "div   ")
      (gvar my-display)
      (callj 1)
      474
      (lvar 0 0 g:::28)
      (const (% mod))
      (memv)
      (bfl () 472)
      (const "rem   ")
      (gvar my-display)
      (callj 1)
      472
      (lvar 0 0 g:::28)
      (const shl)
      (eqv?)
      (bfl () 470)
      (const "sll    ")
      (gvar my-display)
      (callj 1)
      470
      (lvar 0 0 g:::28)
      (const shr)
      (eqv?)
      (bfl () 468)
      (const "sra    ")
      (gvar my-display)
      (callj 1)
      468
      (lvar 0 0 g:::28)
      (const (^ bitxor))
      (memv)
      (bfl () 466)
      (const "xor   ")
      (gvar my-display)
      (callj 1)
      466
      (lvar 0 0 g:::28)
      (const (|| | or bitor))
      (memv)
      (bfl () 464)
      (const "or    ")
      (gvar my-display)
      (callj 1)
      464
      (lvar 0 0 g:::28)
      (const (&& & and bitand))
      (memv)
      (bfl () 462)
      (const "and   ")
      (gvar my-display)
      (callj 1)
      462
      (#f)
      (return)
      (name ())
    )
    (callj 1)
    482
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name write-binary-opcode)
)
(gset write-binary-opcode)
(pop)
(0)
(gset instruction-run-count)
(pop)
(proc
  (args 0)
  (save () 488)
  (const ".ltorg")
  (gvar my-display)
  (callj 1)
  488
  (pop)
  (save () 489)
  (gvar my-newline)
  (callj 0)
  489
  (pop)
  (0)
  (gset instruction-run-count)
  (return)
  (name ltorg)
)
(gset ltorg)
(pop)
(proc
  (args 0)
  (gvar target)
  (const arm)
  (eq?)
  (bfl () 501)
  (gvar instruction-run-count)
  (gvar instruction-run-count-threshold)
  (>)
  (bfl () 499)
  (save () 490)
  (gvar gen)
  (callj 0)
  490
  (proc
    (args 1)
    (save () 491)
    (const "        b    ")
    (gvar my-display)
    (callj 1)
    491
    (pop)
    (save () 492)
    (lvar 0 0 label)
    (gvar my-display-label)
    (callj 1)
    492
    (pop)
    (save () 493)
    (gvar my-newline)
    (callj 0)
    493
    (pop)
    (save () 494)
    (const ".ltorg")
    (gvar my-display)
    (callj 1)
    494
    (pop)
    (save () 495)
    (gvar my-newline)
    (callj 0)
    495
    (pop)
    (save () 496)
    (lvar 0 0 label)
    (gvar my-display-label)
    (callj 1)
    496
    (pop)
    (save () 497)
    (const ":")
    (gvar my-display)
    (callj 1)
    497
    (pop)
    (save () 498)
    (gvar my-newline)
    (callj 0)
    498
    (pop)
    (0)
    (gset instruction-run-count)
    (return)
    (name ())
  )
  (callj 1)
  499
  (())
  (return)
  501
  (())
  (return)
  (name poolgap)
)
(gset poolgap)
(pop)
(proc
  (args 3)
  (lvar 0 0 target)
  (proc
    (args 1)
    (lvar 0 0 g:::29)
    (const arm)
    (eqv?)
    (bfl () 609)
    (lvar 1 1 op)
    (const shl)
    (eq?)
    (bfl () 528)
    (save () 503)
    (const arm_mov)
    (gvar write-arm-opcode)
    (callj 1)
    503
    (pop)
    (save () 504)
    (gvar write-register-minus-two)
    (callj 0)
    504
    (pop)
    (save () 505)
    (const ", ")
    (gvar my-display)
    (callj 1)
    505
    (pop)
    (save () 506)
    (gvar write-register-minus-one)
    (callj 0)
    506
    (pop)
    (save () 507)
    (const ", lsl ")
    (gvar my-display)
    (callj 1)
    507
    (pop)
    (save () 508)
    (lvar 1 2 immediate-constant)
    (gvar write-register-minus-two-or-constant)
    (callj 1)
    508
    (pop)
    (save () 509)
    (gvar my-newline)
    (callj 0)
    509
    (pop)
    (br () 529)
    528
    (lvar 1 1 op)
    (const shr)
    (eq?)
    (bfl () 526)
    (save () 510)
    (const arm_mov)
    (gvar write-arm-opcode)
    (callj 1)
    510
    (pop)
    (save () 511)
    (gvar write-register-minus-two)
    (callj 0)
    511
    (pop)
    (save () 512)
    (const ", ")
    (gvar my-display)
    (callj 1)
    512
    (pop)
    (save () 513)
    (gvar write-register-minus-one)
    (callj 0)
    513
    (pop)
    (save () 514)
    (const ", asr ")
    (gvar my-display)
    (callj 1)
    514
    (pop)
    (save () 515)
    (lvar 1 2 immediate-constant)
    (gvar write-register-minus-two-or-constant)
    (callj 1)
    515
    (pop)
    (save () 516)
    (gvar my-newline)
    (callj 0)
    516
    (pop)
    (br () 527)
    526
    (save () 517)
    (const "        ")
    (gvar my-display)
    (callj 1)
    517
    (pop)
    (save () 518)
    (lvar 1 1 op)
    (gvar my-display)
    (callj 1)
    518
    (pop)
    (save () 519)
    (const "    ")
    (gvar my-display)
    (callj 1)
    519
    (pop)
    (save () 520)
    (gvar write-register-minus-two)
    (callj 0)
    520
    (pop)
    (save () 521)
    (const ", ")
    (gvar my-display)
    (callj 1)
    521
    (pop)
    (save () 522)
    (gvar write-register-minus-one)
    (callj 0)
    522
    (pop)
    (save () 523)
    (const ", ")
    (gvar my-display)
    (callj 1)
    523
    (pop)
    (save () 524)
    (lvar 1 2 immediate-constant)
    (gvar write-register-minus-two-or-constant)
    (callj 1)
    524
    (pop)
    (save () 525)
    (gvar my-newline)
    (callj 0)
    525
    (pop)
    527
    529
    (gvar decrement-register)
    (callj 0)
    609
    (lvar 0 0 g:::29)
    (const x86)
    (eqv?)
    (bfl () 607)
    (save () 530)
    (lvar 1 1 op)
    (const shl)
    (eq?)
    (proc
      (args 1)
      (lvar 0 0 g:::30)
      (bfl () 531)
      (lvar 0 0 g:::30)
      (return)
      531
      (lvar 2 1 op)
      (const shr)
      (eq?)
      (return)
      (name ())
    )
    (callj 1)
    530
    (bfl () 596)
    (lvar 1 2 immediate-constant)
    (bfl () 583)
    (save () 533)
    (lvar 1 0 target)
    (lvar 1 1 op)
    (gvar write-binary-opcode)
    (callj 2)
    533
    (pop)
    (save () 534)
    (gvar write-register-minus-one)
    (callj 0)
    534
    (pop)
    (save () 535)
    (const ", ")
    (gvar my-display)
    (callj 1)
    535
    (pop)
    (save () 536)
    (lvar 1 2 immediate-constant)
    (gvar write-register-minus-two-or-constant)
    (callj 1)
    536
    (pop)
    (save () 537)
    (gvar my-newline)
    (callj 0)
    537
    (pop)
    (save () 538)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    538
    (pop)
    (save () 539)
    (gvar write-register-minus-two)
    (callj 0)
    539
    (pop)
    (save () 540)
    (const ", ")
    (gvar my-display)
    (callj 1)
    540
    (pop)
    (save () 541)
    (gvar write-register-minus-one)
    (callj 0)
    541
    (pop)
    (save () 542)
    (gvar my-newline)
    (callj 0)
    542
    (pop)
    (save () 543)
    (gvar pop-x86-register-if-max)
    (callj 0)
    543
    (pop)
    (gvar decrement-register)
    (callj 0)
    583
    (save () 544)
    (const "        push  ebx")
    (gvar my-display)
    (callj 1)
    544
    (pop)
    (save () 545)
    (gvar my-newline)
    (callj 0)
    545
    (pop)
    (save () 546)
    (const "        push  ecx")
    (gvar my-display)
    (callj 1)
    546
    (pop)
    (save () 547)
    (gvar my-newline)
    (callj 0)
    547
    (pop)
    (save () 548)
    (const "        push  ")
    (gvar my-display)
    (callj 1)
    548
    (pop)
    (save () 549)
    (gvar write-register-minus-two)
    (callj 0)
    549
    (pop)
    (save () 550)
    (gvar my-newline)
    (callj 0)
    550
    (pop)
    (save () 551)
    (const "        push  ")
    (gvar my-display)
    (callj 1)
    551
    (pop)
    (save () 552)
    (gvar write-register-minus-one)
    (callj 0)
    552
    (pop)
    (save () 553)
    (gvar my-newline)
    (callj 0)
    553
    (pop)
    (save () 554)
    (const x86_sub)
    (gvar write-x86-opcode)
    (callj 1)
    554
    (pop)
    (save () 555)
    (const "rsp, 4")
    (gvar my-display)
    (callj 1)
    555
    (pop)
    (save () 556)
    (gvar my-newline)
    (callj 0)
    556
    (pop)
    (save () 557)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    557
    (pop)
    (save () 558)
    (const "ecx, [rsp + 8]")
    (gvar my-display)
    (callj 1)
    558
    (pop)
    (save () 559)
    (gvar my-newline)
    (callj 0)
    559
    (pop)
    (save () 560)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    560
    (pop)
    (save () 561)
    (const "ebx, [rsp + 4]")
    (gvar my-display)
    (callj 1)
    561
    (pop)
    (save () 562)
    (gvar my-newline)
    (callj 0)
    562
    (pop)
    (save () 563)
    (lvar 1 0 target)
    (lvar 1 1 op)
    (gvar write-binary-opcode)
    (callj 2)
    563
    (pop)
    (save () 564)
    (const "ebx, cl")
    (gvar my-display)
    (callj 1)
    564
    (pop)
    (save () 565)
    (gvar my-newline)
    (callj 0)
    565
    (pop)
    (save () 566)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    566
    (pop)
    (save () 567)
    (const "[rsp], ebx")
    (gvar my-display)
    (callj 1)
    567
    (pop)
    (save () 568)
    (gvar my-newline)
    (callj 0)
    568
    (pop)
    (save () 569)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    569
    (pop)
    (save () 570)
    (const "ecx, [rsp + 12]")
    (gvar my-display)
    (callj 1)
    570
    (pop)
    (save () 571)
    (gvar my-newline)
    (callj 0)
    571
    (pop)
    (save () 572)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    572
    (pop)
    (save () 573)
    (const "ebx, [rsp + 16]")
    (gvar my-display)
    (callj 1)
    573
    (pop)
    (save () 574)
    (gvar my-newline)
    (callj 0)
    574
    (pop)
    (save () 575)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    575
    (pop)
    (save () 576)
    (gvar write-register-minus-two)
    (callj 0)
    576
    (pop)
    (save () 577)
    (const ", [rsp]")
    (gvar my-display)
    (callj 1)
    577
    (pop)
    (save () 578)
    (gvar my-newline)
    (callj 0)
    578
    (pop)
    (save () 579)
    (const x86_add)
    (gvar write-x86-opcode)
    (callj 1)
    579
    (pop)
    (save () 580)
    (const "rsp, 20")
    (gvar my-display)
    (callj 1)
    580
    (pop)
    (save () 581)
    (gvar my-newline)
    (callj 0)
    581
    (pop)
    (save () 582)
    (gvar pop-x86-register-if-max)
    (callj 0)
    582
    (pop)
    (gvar decrement-register)
    (callj 0)
    596
    (save () 585)
    (lvar 1 0 target)
    (lvar 1 1 op)
    (gvar write-binary-opcode)
    (callj 2)
    585
    (pop)
    (save () 586)
    (gvar write-register-minus-one)
    (callj 0)
    586
    (pop)
    (save () 587)
    (const ", ")
    (gvar my-display)
    (callj 1)
    587
    (pop)
    (save () 588)
    (lvar 1 2 immediate-constant)
    (gvar write-register-minus-two-or-constant)
    (callj 1)
    588
    (pop)
    (save () 589)
    (gvar my-newline)
    (callj 0)
    589
    (pop)
    (save () 590)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    590
    (pop)
    (save () 591)
    (gvar write-register-minus-two)
    (callj 0)
    591
    (pop)
    (save () 592)
    (const ", ")
    (gvar my-display)
    (callj 1)
    592
    (pop)
    (save () 593)
    (gvar write-register-minus-one)
    (callj 0)
    593
    (pop)
    (save () 594)
    (gvar my-newline)
    (callj 0)
    594
    (pop)
    (save () 595)
    (gvar pop-x86-register-if-max)
    (callj 0)
    595
    (pop)
    (gvar decrement-register)
    (callj 0)
    607
    (lvar 0 0 g:::29)
    (const riscv)
    (eqv?)
    (bfl () 605)
    (save () 598)
    (lvar 1 0 target)
    (lvar 1 1 op)
    (gvar write-binary-opcode)
    (callj 2)
    598
    (pop)
    (save () 599)
    (gvar write-register-minus-two)
    (callj 0)
    599
    (pop)
    (save () 600)
    (const ", ")
    (gvar my-display)
    (callj 1)
    600
    (pop)
    (save () 601)
    (gvar write-register-minus-one)
    (callj 0)
    601
    (pop)
    (save () 602)
    (const ", ")
    (gvar my-display)
    (callj 1)
    602
    (pop)
    (save () 603)
    (lvar 1 2 immediate-constant)
    (gvar write-register-minus-two-or-constant)
    (callj 1)
    603
    (pop)
    (save () 604)
    (gvar my-newline)
    (callj 0)
    604
    (pop)
    (gvar decrement-register)
    (callj 0)
    605
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name numeric-binary-function-fast)
)
(gset numeric-binary-function-fast)
(pop)
(proc
  (args 3)
  (gvar fast-expression)
  (bfl () 685)
  (lvar 0 0 target)
  (lvar 0 1 op)
  (save () 611)
  (lvar 0 2 op2)
  (gvar immediate-value?)
  (callj 1)
  611
  (gvar numeric-binary-function-fast)
  (callj 3)
  685
  (lvar 0 0 target)
  (proc
    (args 1)
    (lvar 0 0 g:::31)
    (const arm)
    (eqv?)
    (bfl () 683)
    (save () 612)
    (const "        ldr    r7, [r3, $-4]!")
    (gvar my-display)
    (callj 1)
    612
    (pop)
    (save () 613)
    (gvar my-newline)
    (callj 0)
    613
    (pop)
    (save () 614)
    (const "        ldr    r5, [r3, $-4]")
    (gvar my-display)
    (callj 1)
    614
    (pop)
    (save () 615)
    (gvar my-newline)
    (callj 0)
    615
    (pop)
    (lvar 1 1 op)
    (const shl)
    (eq?)
    (bfl () 630)
    (save () 616)
    (const "        ")
    (gvar my-display)
    (callj 1)
    616
    (pop)
    (save () 617)
    (const "mov")
    (gvar my-display)
    (callj 1)
    617
    (pop)
    (save () 618)
    (const "    r4, r7, lsl r5")
    (gvar my-display)
    (callj 1)
    618
    (pop)
    (save () 619)
    (gvar my-newline)
    (callj 0)
    619
    (pop)
    (br () 631)
    630
    (lvar 1 1 op)
    (const shr)
    (eq?)
    (bfl () 628)
    (save () 620)
    (const "        ")
    (gvar my-display)
    (callj 1)
    620
    (pop)
    (save () 621)
    (const "mov")
    (gvar my-display)
    (callj 1)
    621
    (pop)
    (save () 622)
    (const "    r4, r7, asr r5")
    (gvar my-display)
    (callj 1)
    622
    (pop)
    (save () 623)
    (gvar my-newline)
    (callj 0)
    623
    (pop)
    (br () 629)
    628
    (save () 624)
    (const "        ")
    (gvar my-display)
    (callj 1)
    624
    (pop)
    (save () 625)
    (lvar 1 1 op)
    (gvar my-display)
    (callj 1)
    625
    (pop)
    (save () 626)
    (const "    r4, r7, r5")
    (gvar my-display)
    (callj 1)
    626
    (pop)
    (save () 627)
    (gvar my-newline)
    (callj 0)
    627
    (pop)
    629
    631
    (save () 632)
    (const "        str    r4, [r3, $-4]")
    (gvar my-display)
    (callj 1)
    632
    (pop)
    (gvar my-newline)
    (callj 0)
    683
    (lvar 0 0 g:::31)
    (const x86)
    (eqv?)
    (bfl () 681)
    (lvar 1 1 op)
    (proc
      (args 1)
      (lvar 0 0 g:::32)
      (const mul)
      (eqv?)
      (bfl () 663)
      (const x86)
      (const my_mul)
      (gvar call)
      (callj 2)
      663
      (lvar 0 0 g:::32)
      (const (shl shr))
      (memv)
      (bfl () 661)
      (save () 633)
      (const x86_sub)
      (gvar write-x86-opcode)
      (callj 1)
      633
      (pop)
      (save () 634)
      (const "edi, 4")
      (gvar my-display)
      (callj 1)
      634
      (pop)
      (save () 635)
      (gvar my-newline)
      (callj 0)
      635
      (pop)
      (save () 636)
      (const x86_mov)
      (gvar write-x86-opcode)
      (callj 1)
      636
      (pop)
      (save () 637)
      (const "eax, [edi]")
      (gvar my-display)
      (callj 1)
      637
      (pop)
      (save () 638)
      (gvar my-newline)
      (callj 0)
      638
      (pop)
      (save () 639)
      (const x86_mov)
      (gvar write-x86-opcode)
      (callj 1)
      639
      (pop)
      (save () 640)
      (const "cl, [edi - 4]")
      (gvar my-display)
      (callj 1)
      640
      (pop)
      (save () 641)
      (gvar my-newline)
      (callj 0)
      641
      (pop)
      (save () 642)
      (lvar 2 0 target)
      (lvar 2 1 op)
      (gvar write-binary-opcode)
      (callj 2)
      642
      (pop)
      (save () 643)
      (const "eax, cl")
      (gvar my-display)
      (callj 1)
      643
      (pop)
      (save () 644)
      (gvar my-newline)
      (callj 0)
      644
      (pop)
      (save () 645)
      (const x86_mov)
      (gvar write-x86-opcode)
      (callj 1)
      645
      (pop)
      (save () 646)
      (const "[edi - 4], eax")
      (gvar my-display)
      (callj 1)
      646
      (pop)
      (gvar my-newline)
      (callj 0)
      661
      (save () 647)
      (const x86_sub)
      (gvar write-x86-opcode)
      (callj 1)
      647
      (pop)
      (save () 648)
      (const "edi, 4")
      (gvar my-display)
      (callj 1)
      648
      (pop)
      (save () 649)
      (gvar my-newline)
      (callj 0)
      649
      (pop)
      (save () 650)
      (const x86_mov)
      (gvar write-x86-opcode)
      (callj 1)
      650
      (pop)
      (save () 651)
      (const "eax, [edi]")
      (gvar my-display)
      (callj 1)
      651
      (pop)
      (save () 652)
      (gvar my-newline)
      (callj 0)
      652
      (pop)
      (save () 653)
      (const x86_mov)
      (gvar write-x86-opcode)
      (callj 1)
      653
      (pop)
      (save () 654)
      (const "ebx, [edi - 4]")
      (gvar my-display)
      (callj 1)
      654
      (pop)
      (save () 655)
      (gvar my-newline)
      (callj 0)
      655
      (pop)
      (save () 656)
      (lvar 2 0 target)
      (lvar 2 1 op)
      (gvar write-binary-opcode)
      (callj 2)
      656
      (pop)
      (save () 657)
      (const "eax, ebx")
      (gvar my-display)
      (callj 1)
      657
      (pop)
      (save () 658)
      (gvar my-newline)
      (callj 0)
      658
      (pop)
      (save () 659)
      (const x86_mov)
      (gvar write-x86-opcode)
      (callj 1)
      659
      (pop)
      (save () 660)
      (const "[edi - 4], eax")
      (gvar my-display)
      (callj 1)
      660
      (pop)
      (gvar my-newline)
      (callj 0)
      (name ())
    )
    (callj 1)
    681
    (lvar 0 0 g:::31)
    (const riscv)
    (eqv?)
    (bfl () 679)
    (save () 665)
    (const riscv_addi)
    (gvar write-riscv-opcode)
    (callj 1)
    665
    (pop)
    (save () 666)
    (const "s3, s3, -4")
    (gvar my-display)
    (callj 1)
    666
    (pop)
    (save () 667)
    (gvar my-newline)
    (callj 0)
    667
    (pop)
    (save () 668)
    (const riscv_lw)
    (gvar write-riscv-opcode)
    (callj 1)
    668
    (pop)
    (save () 669)
    (const "s7, (s3)")
    (gvar my-display)
    (callj 1)
    669
    (pop)
    (save () 670)
    (gvar my-newline)
    (callj 0)
    670
    (pop)
    (save () 671)
    (const riscv_lw)
    (gvar write-riscv-opcode)
    (callj 1)
    671
    (pop)
    (save () 672)
    (const "s5, -4(s3)")
    (gvar my-display)
    (callj 1)
    672
    (pop)
    (save () 673)
    (gvar my-newline)
    (callj 0)
    673
    (pop)
    (save () 674)
    (lvar 1 0 target)
    (lvar 1 1 op)
    (gvar write-binary-opcode)
    (callj 2)
    674
    (pop)
    (save () 675)
    (const "s4, s7, s5")
    (gvar my-display)
    (callj 1)
    675
    (pop)
    (save () 676)
    (gvar my-newline)
    (callj 0)
    676
    (pop)
    (save () 677)
    (const riscv_sw)
    (gvar write-riscv-opcode)
    (callj 1)
    677
    (pop)
    (save () 678)
    (const "s4, -4(s3)")
    (gvar my-display)
    (callj 1)
    678
    (pop)
    (gvar my-newline)
    (callj 0)
    679
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name numeric-binary-function)
)
(gset numeric-binary-function)
(pop)
(proc
  (args 1)
  (lvar 0 0 op)
  (proc
    (args 1)
    (lvar 0 0 g:::33)
    (const =)
    (eqv?)
    (bfl () 697)
    (const eq)
    (return)
    697
    (lvar 0 0 g:::33)
    (const <)
    (eqv?)
    (bfl () 695)
    (const lt)
    (return)
    695
    (lvar 0 0 g:::33)
    (const >)
    (eqv?)
    (bfl () 693)
    (const gt)
    (return)
    693
    (lvar 0 0 g:::33)
    (const <=)
    (eqv?)
    (bfl () 691)
    (const le)
    (return)
    691
    (lvar 0 0 g:::33)
    (const >=)
    (eqv?)
    (bfl () 689)
    (const ge)
    (return)
    689
    (lvar 0 0 g:::33)
    (const ne)
    (eqv?)
    (bfl () 687)
    (const ne)
    (return)
    687
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name get-predicate)
)
(gset get-predicate)
(pop)
(proc
  (args 1)
  (lvar 0 0 op)
  (proc
    (args 1)
    (lvar 0 0 g:::34)
    (const =)
    (eqv?)
    (bfl () 709)
    (const ne)
    (return)
    709
    (lvar 0 0 g:::34)
    (const <)
    (eqv?)
    (bfl () 707)
    (const ge)
    (return)
    707
    (lvar 0 0 g:::34)
    (const >)
    (eqv?)
    (bfl () 705)
    (const le)
    (return)
    705
    (lvar 0 0 g:::34)
    (const <=)
    (eqv?)
    (bfl () 703)
    (const gt)
    (return)
    703
    (lvar 0 0 g:::34)
    (const >=)
    (eqv?)
    (bfl () 701)
    (const lt)
    (return)
    701
    (lvar 0 0 g:::34)
    (const ne)
    (eqv?)
    (bfl () 699)
    (const eq)
    (return)
    699
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name get-not-predicate)
)
(gset get-not-predicate)
(pop)
(proc
  (args 1)
  (save () 711)
  (const ".l")
  (gvar my-display)
  (callj 1)
  711
  (pop)
  (lvar 0 0 label)
  (gvar my-display)
  (callj 1)
  (name my-display-label)
)
(gset my-display-label)
(pop)
(proc
  (args 3)
  (lvar 0 0 target)
  (proc
    (args 1)
    (lvar 0 0 g:::35)
    (const arm)
    (eqv?)
    (bfl () 780)
    (save () 712)
    (const arm_cmp)
    (gvar write-arm-opcode)
    (callj 1)
    712
    (pop)
    (save () 713)
    (gvar write-register-minus-one)
    (callj 0)
    713
    (pop)
    (save () 714)
    (const ", ")
    (gvar my-display)
    (callj 1)
    714
    (pop)
    (save () 715)
    (lvar 1 2 immediate-constant)
    (gvar write-register-minus-two-or-constant)
    (callj 1)
    715
    (pop)
    (save () 716)
    (gvar my-newline)
    (callj 0)
    716
    (pop)
    (gvar fast-relop)
    (not)
    (bfl () 731)
    (save () 717)
    (const "        mov")
    (gvar my-display)
    (callj 1)
    717
    (pop)
    (save () 718)
    (save () 719)
    (lvar 1 1 opcode)
    (gvar get-predicate)
    (callj 1)
    719
    (gvar my-display)
    (callj 1)
    718
    (pop)
    (save () 720)
    (const "  ")
    (gvar my-display)
    (callj 1)
    720
    (pop)
    (save () 721)
    (gvar write-register-minus-two)
    (callj 0)
    721
    (pop)
    (save () 722)
    (const ", $1")
    (gvar my-display)
    (callj 1)
    722
    (pop)
    (save () 723)
    (gvar my-newline)
    (callj 0)
    723
    (pop)
    (save () 724)
    (const "        mov")
    (gvar my-display)
    (callj 1)
    724
    (pop)
    (save () 725)
    (save () 726)
    (lvar 1 1 opcode)
    (gvar get-not-predicate)
    (callj 1)
    726
    (gvar my-display)
    (callj 1)
    725
    (pop)
    (save () 727)
    (const "  ")
    (gvar my-display)
    (callj 1)
    727
    (pop)
    (save () 728)
    (gvar write-register-minus-two)
    (callj 0)
    728
    (pop)
    (save () 729)
    (const ", $0")
    (gvar my-display)
    (callj 1)
    729
    (pop)
    (save () 730)
    (gvar my-newline)
    (callj 0)
    730
    (pop)
    (br () 732)
    731
    732
    (gvar decrement-register)
    (callj 0)
    780
    (lvar 0 0 g:::35)
    (const x86)
    (eqv?)
    (bfl () 778)
    (save () 733)
    (const x86_cmp)
    (gvar write-x86-opcode)
    (callj 1)
    733
    (pop)
    (save () 734)
    (gvar write-register-minus-one)
    (callj 0)
    734
    (pop)
    (save () 735)
    (const ", ")
    (gvar my-display)
    (callj 1)
    735
    (pop)
    (save () 736)
    (lvar 1 2 immediate-constant)
    (gvar write-register-minus-two-or-constant)
    (callj 1)
    736
    (pop)
    (save () 737)
    (gvar my-newline)
    (callj 0)
    737
    (pop)
    (gvar fast-relop)
    (not)
    (bfl () 745)
    (save () 738)
    (lvar 1 1 opcode)
    (gvar write-predicate-set-op-x86)
    (callj 1)
    738
    (pop)
    (save () 739)
    (gvar write-register-lo-minus-two-x86)
    (callj 0)
    739
    (pop)
    (save () 740)
    (gvar my-newline)
    (callj 0)
    740
    (pop)
    (save () 741)
    (const x86_and)
    (gvar write-x86-opcode)
    (callj 1)
    741
    (pop)
    (save () 742)
    (gvar write-register-minus-two)
    (callj 0)
    742
    (pop)
    (save () 743)
    (const ", 255")
    (gvar my-display)
    (callj 1)
    743
    (pop)
    (save () 744)
    (gvar my-newline)
    (callj 0)
    744
    (pop)
    (br () 746)
    745
    746
    (save () 747)
    (gvar pop-x86-register-if-max)
    (callj 0)
    747
    (pop)
    (gvar decrement-register)
    (callj 0)
    778
    (lvar 0 0 g:::35)
    (const riscv)
    (eqv?)
    (bfl () 776)
    (save () 748)
    (gvar gen)
    (callj 0)
    748
    (save () 749)
    (gvar gen)
    (callj 0)
    749
    (proc
      (args 2)
      (save () 750)
      (const "        b")
      (gvar my-display)
      (callj 1)
      750
      (pop)
      (save () 751)
      (lvar 2 0 target)
      (lvar 2 1 opcode)
      (gvar write-predicate-op)
      (callj 2)
      751
      (pop)
      (save () 752)
      (const " ")
      (gvar my-display)
      (callj 1)
      752
      (pop)
      (save () 753)
      (gvar write-register-minus-one)
      (callj 0)
      753
      (pop)
      (save () 754)
      (const ", ")
      (gvar my-display)
      (callj 1)
      754
      (pop)
      (save () 755)
      (gvar write-register-minus-two)
      (callj 0)
      755
      (pop)
      (save () 756)
      (const ", ")
      (gvar my-display)
      (callj 1)
      756
      (pop)
      (save () 757)
      (lvar 0 0 lbl1)
      (gvar my-display-label)
      (callj 1)
      757
      (pop)
      (save () 758)
      (gvar my-newline)
      (callj 0)
      758
      (pop)
      (save () 759)
      (const riscv_li)
      (gvar write-riscv-opcode)
      (callj 1)
      759
      (pop)
      (save () 760)
      (gvar write-register-minus-two)
      (callj 0)
      760
      (pop)
      (save () 761)
      (const ", 0")
      (gvar my-display)
      (callj 1)
      761
      (pop)
      (save () 762)
      (gvar my-newline)
      (callj 0)
      762
      (pop)
      (save () 763)
      (const riscv_j)
      (gvar write-riscv-opcode)
      (callj 1)
      763
      (pop)
      (save () 764)
      (lvar 0 1 lbl2)
      (gvar my-display-label)
      (callj 1)
      764
      (pop)
      (save () 765)
      (gvar my-newline)
      (callj 0)
      765
      (pop)
      (save () 766)
      (lvar 0 0 lbl1)
      (gvar my-display-label)
      (callj 1)
      766
      (pop)
      (save () 767)
      (const ":")
      (gvar my-display)
      (callj 1)
      767
      (pop)
      (save () 768)
      (gvar my-newline)
      (callj 0)
      768
      (pop)
      (save () 769)
      (const riscv_li)
      (gvar write-riscv-opcode)
      (callj 1)
      769
      (pop)
      (save () 770)
      (gvar write-register-minus-two)
      (callj 0)
      770
      (pop)
      (save () 771)
      (const ", 1")
      (gvar my-display)
      (callj 1)
      771
      (pop)
      (save () 772)
      (gvar my-newline)
      (callj 0)
      772
      (pop)
      (save () 773)
      (lvar 0 1 lbl2)
      (gvar my-display-label)
      (callj 1)
      773
      (pop)
      (save () 774)
      (const ":")
      (gvar my-display)
      (callj 1)
      774
      (pop)
      (save () 775)
      (gvar my-newline)
      (callj 0)
      775
      (pop)
      (gvar decrement-register)
      (callj 0)
      (name ())
    )
    (callj 2)
    776
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name predicate-binary-function-fast)
)
(gset predicate-binary-function-fast)
(pop)
(proc
  (args 3)
  (gvar fast-expression)
  (bfl () 875)
  (lvar 0 0 target)
  (lvar 0 1 op)
  (save () 782)
  (lvar 0 2 op2)
  (gvar immediate-value?)
  (callj 1)
  782
  (gvar predicate-binary-function-fast)
  (callj 3)
  875
  (lvar 0 0 target)
  (proc
    (args 1)
    (lvar 0 0 g:::36)
    (const arm)
    (eqv?)
    (bfl () 873)
    (save () 783)
    (const "        ldr    r7, [r3, $-4]!")
    (gvar my-display)
    (callj 1)
    783
    (pop)
    (save () 784)
    (gvar my-newline)
    (callj 0)
    784
    (pop)
    (gvar fast-relop)
    (bfl () 787)
    (save () 785)
    (const "        ldr    r5, [r3, $-4]!")
    (gvar my-display)
    (callj 1)
    785
    (pop)
    (br () 788)
    787
    (save () 786)
    (const "        ldr    r5, [r3, $-4]")
    (gvar my-display)
    (callj 1)
    786
    (pop)
    788
    (save () 789)
    (gvar my-newline)
    (callj 0)
    789
    (pop)
    (save () 790)
    (const "        cmp    r7, r5")
    (gvar my-display)
    (callj 1)
    790
    (pop)
    (save () 791)
    (gvar my-newline)
    (callj 0)
    791
    (pop)
    (gvar fast-relop)
    (not)
    (bfl () 803)
    (save () 792)
    (const "        mov")
    (gvar my-display)
    (callj 1)
    792
    (pop)
    (save () 793)
    (save () 794)
    (lvar 1 1 op)
    (gvar get-predicate)
    (callj 1)
    794
    (gvar my-display)
    (callj 1)
    793
    (pop)
    (save () 795)
    (const "  r1, $1")
    (gvar my-display)
    (callj 1)
    795
    (pop)
    (save () 796)
    (gvar my-newline)
    (callj 0)
    796
    (pop)
    (save () 797)
    (const "        mov")
    (gvar my-display)
    (callj 1)
    797
    (pop)
    (save () 798)
    (save () 799)
    (lvar 1 1 op)
    (gvar get-not-predicate)
    (callj 1)
    799
    (gvar my-display)
    (callj 1)
    798
    (pop)
    (save () 800)
    (const "  r1, $0")
    (gvar my-display)
    (callj 1)
    800
    (pop)
    (save () 801)
    (gvar my-newline)
    (callj 0)
    801
    (pop)
    (save () 802)
    (const "        str    r1, [r3, $-4]")
    (gvar my-display)
    (callj 1)
    802
    (pop)
    (gvar my-newline)
    (callj 0)
    803
    (())
    (return)
    873
    (lvar 0 0 g:::36)
    (const x86)
    (eqv?)
    (bfl () 871)
    (save () 805)
    (const x86_sub)
    (gvar write-x86-opcode)
    (callj 1)
    805
    (pop)
    (save () 806)
    (const "edi, 4")
    (gvar my-display)
    (callj 1)
    806
    (pop)
    (save () 807)
    (gvar my-newline)
    (callj 0)
    807
    (pop)
    (save () 808)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    808
    (pop)
    (save () 809)
    (const "eax, [edi]")
    (gvar my-display)
    (callj 1)
    809
    (pop)
    (save () 810)
    (gvar my-newline)
    (callj 0)
    810
    (pop)
    (save () 811)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    811
    (pop)
    (save () 812)
    (const "ebx, [edi - 4]")
    (gvar my-display)
    (callj 1)
    812
    (pop)
    (save () 813)
    (gvar my-newline)
    (callj 0)
    813
    (pop)
    (save () 814)
    (const x86_cmp)
    (gvar write-x86-opcode)
    (callj 1)
    814
    (pop)
    (save () 815)
    (const "eax, ebx")
    (gvar my-display)
    (callj 1)
    815
    (pop)
    (save () 816)
    (gvar my-newline)
    (callj 0)
    816
    (pop)
    (save () 817)
    (lvar 1 1 op)
    (gvar write-predicate-set-op-x86)
    (callj 1)
    817
    (pop)
    (save () 818)
    (const "al")
    (gvar my-display)
    (callj 1)
    818
    (pop)
    (save () 819)
    (gvar my-newline)
    (callj 0)
    819
    (pop)
    (save () 820)
    (const x86_and)
    (gvar write-x86-opcode)
    (callj 1)
    820
    (pop)
    (save () 821)
    (const "eax, 255")
    (gvar my-display)
    (callj 1)
    821
    (pop)
    (save () 822)
    (gvar my-newline)
    (callj 0)
    822
    (pop)
    (save () 823)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    823
    (pop)
    (save () 824)
    (const "[edi - 4], eax")
    (gvar my-display)
    (callj 1)
    824
    (pop)
    (gvar my-newline)
    (callj 0)
    871
    (lvar 0 0 g:::36)
    (const riscv)
    (eqv?)
    (bfl () 869)
    (save () 825)
    (gvar gen)
    (callj 0)
    825
    (save () 826)
    (gvar gen)
    (callj 0)
    826
    (proc
      (args 2)
      (save () 827)
      (const riscv_addi)
      (gvar write-riscv-opcode)
      (callj 1)
      827
      (pop)
      (save () 828)
      (const "s3, s3, -4")
      (gvar my-display)
      (callj 1)
      828
      (pop)
      (save () 829)
      (gvar my-newline)
      (callj 0)
      829
      (pop)
      (save () 830)
      (const riscv_lw)
      (gvar write-riscv-opcode)
      (callj 1)
      830
      (pop)
      (save () 831)
      (const "s7, (s3)")
      (gvar my-display)
      (callj 1)
      831
      (pop)
      (save () 832)
      (gvar my-newline)
      (callj 0)
      832
      (pop)
      (#f)
      (gset fast-relop)
      (pop)
      (gvar fast-relop)
      (bfl () 841)
      (save () 833)
      (const riscv_addi)
      (gvar write-riscv-opcode)
      (callj 1)
      833
      (pop)
      (save () 834)
      (const "s3, s3, -4")
      (gvar my-display)
      (callj 1)
      834
      (pop)
      (save () 835)
      (gvar my-newline)
      (callj 0)
      835
      (pop)
      (save () 836)
      (const riscv_lw)
      (gvar write-riscv-opcode)
      (callj 1)
      836
      (pop)
      (save () 837)
      (const "s5, (s3)")
      (gvar my-display)
      (callj 1)
      837
      (pop)
      (br () 842)
      841
      (save () 838)
      (const riscv_lw)
      (gvar write-riscv-opcode)
      (callj 1)
      838
      (pop)
      (save () 839)
      (const "s5, -4(s3)")
      (gvar my-display)
      (callj 1)
      839
      (pop)
      (save () 840)
      (gvar my-newline)
      (callj 0)
      840
      (pop)
      842
      (save () 843)
      (gvar my-newline)
      (callj 0)
      843
      (pop)
      (gvar fast-relop)
      (not)
      (bfl () 867)
      (save () 844)
      (const "        b")
      (gvar my-display)
      (callj 1)
      844
      (pop)
      (save () 845)
      (lvar 2 0 target)
      (lvar 2 1 op)
      (gvar write-predicate-op)
      (callj 2)
      845
      (pop)
      (save () 846)
      (const "  s7, s5, ")
      (gvar my-display)
      (callj 1)
      846
      (pop)
      (save () 847)
      (lvar 0 0 lbl1)
      (gvar my-display-label)
      (callj 1)
      847
      (pop)
      (save () 848)
      (gvar my-newline)
      (callj 0)
      848
      (pop)
      (save () 849)
      (const riscv_li)
      (gvar write-riscv-opcode)
      (callj 1)
      849
      (pop)
      (save () 850)
      (const "  s1, 0")
      (gvar my-display)
      (callj 1)
      850
      (pop)
      (save () 851)
      (gvar my-newline)
      (callj 0)
      851
      (pop)
      (save () 852)
      (const riscv_j)
      (gvar write-riscv-opcode)
      (callj 1)
      852
      (pop)
      (save () 853)
      (const "     ")
      (gvar my-display)
      (callj 1)
      853
      (pop)
      (save () 854)
      (lvar 0 1 lbl2)
      (gvar my-display-label)
      (callj 1)
      854
      (pop)
      (save () 855)
      (gvar my-newline)
      (callj 0)
      855
      (pop)
      (save () 856)
      (lvar 0 0 lbl1)
      (gvar my-display-label)
      (callj 1)
      856
      (pop)
      (save () 857)
      (const ":")
      (gvar my-display)
      (callj 1)
      857
      (pop)
      (save () 858)
      (gvar my-newline)
      (callj 0)
      858
      (pop)
      (save () 859)
      (const riscv_li)
      (gvar write-riscv-opcode)
      (callj 1)
      859
      (pop)
      (save () 860)
      (const "  s1, 1")
      (gvar my-display)
      (callj 1)
      860
      (pop)
      (save () 861)
      (gvar my-newline)
      (callj 0)
      861
      (pop)
      (save () 862)
      (lvar 0 1 lbl2)
      (gvar my-display-label)
      (callj 1)
      862
      (pop)
      (save () 863)
      (const ":")
      (gvar my-display)
      (callj 1)
      863
      (pop)
      (save () 864)
      (gvar my-newline)
      (callj 0)
      864
      (pop)
      (save () 865)
      (const riscv_sw)
      (gvar write-riscv-opcode)
      (callj 1)
      865
      (pop)
      (save () 866)
      (const "s1, -4(s3)")
      (gvar my-display)
      (callj 1)
      866
      (pop)
      (gvar my-newline)
      (callj 0)
      867
      (())
      (return)
      (name ())
    )
    (callj 2)
    869
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name predicate-binary-function)
)
(gset predicate-binary-function)
(pop)
(proc
  (args 1)
  (lvar 0 0 numeric-value)
  (0)
  (=)
  (bfl () 879)
  (const "eof_reached")
  (gvar my-display)
  (callj 1)
  879
  (lvar 0 0 numeric-value)
  (1)
  (=)
  (bfl () 877)
  (const "in_ch")
  (gvar my-display)
  (callj 1)
  877
  (const "unknown")
  (gvar my-display)
  (callj 1)
  (name write-riscv-special-symbol)
)
(gset write-riscv-special-symbol)
(pop)
(proc
  (args 3)
  (lvar 0 0 mode)
  (0)
  (=)
  (bfl () 883)
  (lvar 0 1 numeric-value)
  (const -2048)
  (>=)
  (bfl () 881)
  (lvar 0 1 numeric-value)
  (const 2048)
  (<)
  (br () 882)
  881
  (#f)
  882
  (br () 884)
  883
  (#f)
  884
  (bfl () 916)
  (save () 885)
  (const riscv_addi)
  (gvar write-riscv-opcode)
  (callj 1)
  885
  (pop)
  (save () 886)
  (lvar 0 2 register-number)
  (gvar write-push-register)
  (callj 1)
  886
  (pop)
  (save () 887)
  (const ", zero, ")
  (gvar my-display)
  (callj 1)
  887
  (pop)
  (save () 888)
  (lvar 0 1 numeric-value)
  (gvar my-display)
  (callj 1)
  888
  (pop)
  (gvar my-newline)
  (callj 0)
  916
  (save () 889)
  (const riscv_lui)
  (gvar write-riscv-opcode)
  (callj 1)
  889
  (pop)
  (save () 890)
  (lvar 0 2 register-number)
  (gvar write-push-register)
  (callj 1)
  890
  (pop)
  (save () 891)
  (const ", %")
  (gvar my-display)
  (callj 1)
  891
  (pop)
  (save () 892)
  (const "hi(")
  (gvar my-display)
  (callj 1)
  892
  (pop)
  (lvar 0 0 mode)
  (0)
  (=)
  (bfl () 898)
  (save () 893)
  (lvar 0 1 numeric-value)
  (gvar my-display)
  (callj 1)
  893
  (pop)
  (br () 899)
  898
  (lvar 0 0 mode)
  (1)
  (=)
  (bfl () 896)
  (save () 894)
  (lvar 0 1 numeric-value)
  (gvar write-riscv-special-symbol)
  (callj 1)
  894
  (pop)
  (br () 897)
  896
  (save () 895)
  (lvar 0 1 numeric-value)
  (gvar my-display-label)
  (callj 1)
  895
  (pop)
  897
  899
  (save () 900)
  (const ")")
  (gvar my-display)
  (callj 1)
  900
  (pop)
  (save () 901)
  (gvar my-newline)
  (callj 0)
  901
  (pop)
  (save () 902)
  (const riscv_addi)
  (gvar write-riscv-opcode)
  (callj 1)
  902
  (pop)
  (save () 903)
  (lvar 0 2 register-number)
  (gvar write-push-register)
  (callj 1)
  903
  (pop)
  (save () 904)
  (const ", ")
  (gvar my-display)
  (callj 1)
  904
  (pop)
  (save () 905)
  (lvar 0 2 register-number)
  (gvar write-push-register)
  (callj 1)
  905
  (pop)
  (save () 906)
  (const ", %")
  (gvar my-display)
  (callj 1)
  906
  (pop)
  (save () 907)
  (const "lo(")
  (gvar my-display)
  (callj 1)
  907
  (pop)
  (lvar 0 0 mode)
  (0)
  (=)
  (bfl () 913)
  (save () 908)
  (lvar 0 1 numeric-value)
  (gvar my-display)
  (callj 1)
  908
  (pop)
  (br () 914)
  913
  (lvar 0 0 mode)
  (1)
  (=)
  (bfl () 911)
  (save () 909)
  (lvar 0 1 numeric-value)
  (gvar write-riscv-special-symbol)
  (callj 1)
  909
  (pop)
  (br () 912)
  911
  (save () 910)
  (lvar 0 1 numeric-value)
  (gvar my-display-label)
  (callj 1)
  910
  (pop)
  912
  914
  (save () 915)
  (const ")")
  (gvar my-display)
  (callj 1)
  915
  (pop)
  (gvar my-newline)
  (callj 0)
  (name write-riscv-load-number-or-symbol)
)
(gset write-riscv-load-number-or-symbol)
(pop)
(proc
  (args 3)
  (lvar 0 0 target)
  (proc
    (args 1)
    (lvar 0 0 g:::37)
    (const arm)
    (eqv?)
    (bfl () 966)
    (save () 918)
    (const "        mov    r10, r8")
    (gvar my-display)
    (callj 1)
    918
    (pop)
    (save () 919)
    (gvar my-newline)
    (callj 0)
    919
    (pop)
    (gvar version)
    (const v6)
    (eq?)
    (bfl () 932)
    (save () 920)
    (lvar 1 2 two)
    (gvar log-constant)
    (callj 1)
    920
    (pop)
    (save () 921)
    (const "        ldr    r4, =N_")
    (gvar my-display)
    (callj 1)
    921
    (pop)
    (save () 922)
    (lvar 1 2 two)
    (gvar my-display)
    (callj 1)
    922
    (pop)
    (save () 923)
    (gvar my-newline)
    (callj 0)
    923
    (pop)
    (save () 924)
    (const "        ldr    r4, [r4]")
    (gvar my-display)
    (callj 1)
    924
    (pop)
    (save () 925)
    (gvar my-newline)
    (callj 0)
    925
    (pop)
    (br () 933)
    932
    (save () 926)
    (const "        movw   r4, #")
    (gvar my-display)
    (callj 1)
    926
    (pop)
    (save () 927)
    (lvar 1 2 two)
    (const 65535)
    (bitwise-and)
    (gvar my-display)
    (callj 1)
    927
    (pop)
    (save () 928)
    (gvar my-newline)
    (callj 0)
    928
    (pop)
    (save () 929)
    (const "        movt   r4, #")
    (gvar my-display)
    (callj 1)
    929
    (pop)
    (save () 930)
    (lvar 1 2 two)
    (const -16)
    (arithmetic-shift)
    (const 65535)
    (bitwise-and)
    (gvar my-display)
    (callj 1)
    930
    (pop)
    (save () 931)
    (gvar my-newline)
    (callj 0)
    931
    (pop)
    933
    (save () 934)
    (const "        mov    r4, r4, lsl $2")
    (gvar my-display)
    (callj 1)
    934
    (pop)
    (save () 935)
    (gvar my-newline)
    (callj 0)
    935
    (pop)
    (save () 936)
    (const "        add    r3, r10, r4")
    (gvar my-display)
    (callj 1)
    936
    (pop)
    (gvar my-newline)
    (callj 0)
    966
    (lvar 0 0 g:::37)
    (const x86)
    (eqv?)
    (bfl () 964)
    (save () 937)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    937
    (pop)
    (save () 938)
    (const "eax, stack")
    (gvar my-display)
    (callj 1)
    938
    (pop)
    (save () 939)
    (gvar my-newline)
    (callj 0)
    939
    (pop)
    (save () 940)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    940
    (pop)
    (save () 941)
    (const "esi, eax")
    (gvar my-display)
    (callj 1)
    941
    (pop)
    (save () 942)
    (gvar my-newline)
    (callj 0)
    942
    (pop)
    (save () 943)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    943
    (pop)
    (save () 944)
    (const "ebp, eax")
    (gvar my-display)
    (callj 1)
    944
    (pop)
    (save () 945)
    (gvar my-newline)
    (callj 0)
    945
    (pop)
    (save () 946)
    (const x86_add)
    (gvar write-x86-opcode)
    (callj 1)
    946
    (pop)
    (save () 947)
    (const "eax, ")
    (gvar my-display)
    (callj 1)
    947
    (pop)
    (save () 948)
    (lvar 1 2 two)
    (gvar my-display)
    (callj 1)
    948
    (pop)
    (save () 949)
    (const " * 4")
    (gvar my-display)
    (callj 1)
    949
    (pop)
    (save () 950)
    (gvar my-newline)
    (callj 0)
    950
    (pop)
    (save () 951)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    951
    (pop)
    (save () 952)
    (const "edi, eax")
    (gvar my-display)
    (callj 1)
    952
    (pop)
    (gvar my-newline)
    (callj 0)
    964
    (lvar 0 0 g:::37)
    (const riscv)
    (eqv?)
    (bfl () 962)
    (save () 953)
    (const riscv_mv)
    (gvar write-riscv-opcode)
    (callj 1)
    953
    (pop)
    (save () 954)
    (const "s10, s8")
    (gvar my-display)
    (callj 1)
    954
    (pop)
    (save () 955)
    (gvar my-newline)
    (callj 0)
    955
    (pop)
    (save () 956)
    (0)
    (lvar 1 2 two)
    (const 4)
    (gvar write-riscv-load-number-or-symbol)
    (callj 3)
    956
    (pop)
    (save () 957)
    (const riscv_slli)
    (gvar write-riscv-opcode)
    (callj 1)
    957
    (pop)
    (save () 958)
    (const "s4, s4, 2")
    (gvar my-display)
    (callj 1)
    958
    (pop)
    (save () 959)
    (gvar my-newline)
    (callj 0)
    959
    (pop)
    (save () 960)
    (const riscv_add)
    (gvar write-riscv-opcode)
    (callj 1)
    960
    (pop)
    (save () 961)
    (const "s3, s10, s4")
    (gvar my-display)
    (callj 1)
    961
    (pop)
    (gvar my-newline)
    (callj 0)
    962
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name top-level-begin)
)
(gset top-level-begin)
(pop)
(proc
  (args 4)
  (lvar 0 0 target)
  (proc
    (args 1)
    (lvar 0 0 g:::38)
    (const arm)
    (eqv?)
    (bfl () 1041)
    (save () 968)
    (const "        stmfd  sp!, {fp, lr}")
    (gvar my-display)
    (callj 1)
    968
    (pop)
    (save () 969)
    (gvar my-newline)
    (callj 0)
    969
    (pop)
    (save () 970)
    (const "        add    fp, sp, $4")
    (gvar my-display)
    (callj 1)
    970
    (pop)
    (save () 971)
    (gvar my-newline)
    (callj 0)
    971
    (pop)
    (save () 972)
    (const "        mov    r1, r10")
    (gvar my-display)
    (callj 1)
    972
    (pop)
    (save () 973)
    (gvar my-newline)
    (callj 0)
    973
    (pop)
    (save () 974)
    (const "        sub    r10, r3, $")
    (gvar my-display)
    (callj 1)
    974
    (pop)
    (save () 975)
    (lvar 1 1 one)
    (const 4)
    (*)
    (gvar my-display)
    (callj 1)
    975
    (pop)
    (save () 976)
    (gvar my-newline)
    (callj 0)
    976
    (pop)
    (save () 977)
    (const "        add    r3, r10, $")
    (gvar my-display)
    (callj 1)
    977
    (pop)
    (save () 978)
    (lvar 1 2 two)
    (const 4)
    (*)
    (gvar my-display)
    (callj 1)
    978
    (pop)
    (save () 979)
    (gvar my-newline)
    (callj 0)
    979
    (pop)
    (save () 980)
    (const "        add    r0, r10, $")
    (gvar my-display)
    (callj 1)
    980
    (pop)
    (save () 981)
    (lvar 1 3 dynamic-link)
    (const 4)
    (*)
    (gvar my-display)
    (callj 1)
    981
    (pop)
    (save () 982)
    (gvar my-newline)
    (callj 0)
    982
    (pop)
    (save () 983)
    (const "        str    r1, [r0]")
    (gvar my-display)
    (callj 1)
    983
    (pop)
    (gvar my-newline)
    (callj 0)
    1041
    (lvar 0 0 g:::38)
    (const x86)
    (eqv?)
    (bfl () 1039)
    (save () 984)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    984
    (pop)
    (save () 985)
    (const "ecx, ebp")
    (gvar my-display)
    (callj 1)
    985
    (pop)
    (save () 986)
    (gvar my-newline)
    (callj 0)
    986
    (pop)
    (save () 987)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    987
    (pop)
    (save () 988)
    (const "edx, edi")
    (gvar my-display)
    (callj 1)
    988
    (pop)
    (save () 989)
    (gvar my-newline)
    (callj 0)
    989
    (pop)
    (lvar 1 1 one)
    (0)
    (=)
    (not)
    (bfl () 994)
    (save () 990)
    (const x86_sub)
    (gvar write-x86-opcode)
    (callj 1)
    990
    (pop)
    (save () 991)
    (const "edx, 4 * ")
    (gvar my-display)
    (callj 1)
    991
    (pop)
    (save () 992)
    (lvar 1 1 one)
    (gvar my-display)
    (callj 1)
    992
    (pop)
    (save () 993)
    (gvar my-newline)
    (callj 0)
    993
    (pop)
    (br () 995)
    994
    995
    (save () 996)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    996
    (pop)
    (save () 997)
    (const "ebp, edx")
    (gvar my-display)
    (callj 1)
    997
    (pop)
    (save () 998)
    (gvar my-newline)
    (callj 0)
    998
    (pop)
    (lvar 1 2 two)
    (0)
    (=)
    (not)
    (bfl () 1003)
    (save () 999)
    (const x86_add)
    (gvar write-x86-opcode)
    (callj 1)
    999
    (pop)
    (save () 1000)
    (const "edi, 4 * ")
    (gvar my-display)
    (callj 1)
    1000
    (pop)
    (save () 1001)
    (lvar 1 2 two)
    (gvar my-display)
    (callj 1)
    1001
    (pop)
    (save () 1002)
    (gvar my-newline)
    (callj 0)
    1002
    (pop)
    (br () 1004)
    1003
    1004
    (lvar 1 3 dynamic-link)
    (0)
    (=)
    (not)
    (bfl () 1009)
    (save () 1005)
    (const x86_add)
    (gvar write-x86-opcode)
    (callj 1)
    1005
    (pop)
    (save () 1006)
    (const "edx, 4 * ")
    (gvar my-display)
    (callj 1)
    1006
    (pop)
    (save () 1007)
    (lvar 1 3 dynamic-link)
    (gvar my-display)
    (callj 1)
    1007
    (pop)
    (save () 1008)
    (gvar my-newline)
    (callj 0)
    1008
    (pop)
    (br () 1010)
    1009
    1010
    (save () 1011)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    1011
    (pop)
    (save () 1012)
    (const "[edx], ecx")
    (gvar my-display)
    (callj 1)
    1012
    (pop)
    (gvar my-newline)
    (callj 0)
    1039
    (lvar 0 0 g:::38)
    (const riscv)
    (eqv?)
    (bfl () 1037)
    (save () 1013)
    (const riscv_add)
    (gvar write-riscv-opcode)
    (callj 1)
    1013
    (pop)
    (save () 1014)
    (const "sp, sp, -8")
    (gvar my-display)
    (callj 1)
    1014
    (pop)
    (save () 1015)
    (gvar my-newline)
    (callj 0)
    1015
    (pop)
    (save () 1016)
    (const riscv_sd)
    (gvar write-riscv-opcode)
    (callj 1)
    1016
    (pop)
    (save () 1017)
    (const "ra, (sp)")
    (gvar my-display)
    (callj 1)
    1017
    (pop)
    (save () 1018)
    (gvar my-newline)
    (callj 0)
    1018
    (pop)
    (save () 1019)
    (const riscv_mv)
    (gvar write-riscv-opcode)
    (callj 1)
    1019
    (pop)
    (save () 1020)
    (const "s1, s10")
    (gvar my-display)
    (callj 1)
    1020
    (pop)
    (save () 1021)
    (gvar my-newline)
    (callj 0)
    1021
    (pop)
    (save () 1022)
    (const riscv_addi)
    (gvar write-riscv-opcode)
    (callj 1)
    1022
    (pop)
    (save () 1023)
    (const "s10, s3, -")
    (gvar my-display)
    (callj 1)
    1023
    (pop)
    (save () 1024)
    (lvar 1 1 one)
    (const 4)
    (*)
    (gvar my-display)
    (callj 1)
    1024
    (pop)
    (save () 1025)
    (gvar my-newline)
    (callj 0)
    1025
    (pop)
    (save () 1026)
    (const riscv_addi)
    (gvar write-riscv-opcode)
    (callj 1)
    1026
    (pop)
    (save () 1027)
    (const "s3, s10, ")
    (gvar my-display)
    (callj 1)
    1027
    (pop)
    (save () 1028)
    (lvar 1 2 two)
    (const 4)
    (*)
    (gvar my-display)
    (callj 1)
    1028
    (pop)
    (save () 1029)
    (const " + 4")
    (gvar my-display)
    (callj 1)
    1029
    (pop)
    (save () 1030)
    (gvar my-newline)
    (callj 0)
    1030
    (pop)
    (save () 1031)
    (const riscv_addi)
    (gvar write-riscv-opcode)
    (callj 1)
    1031
    (pop)
    (save () 1032)
    (const "s0, s10, ")
    (gvar my-display)
    (callj 1)
    1032
    (pop)
    (save () 1033)
    (lvar 1 3 dynamic-link)
    (const 4)
    (*)
    (gvar my-display)
    (callj 1)
    1033
    (pop)
    (save () 1034)
    (gvar my-newline)
    (callj 0)
    1034
    (pop)
    (save () 1035)
    (const riscv_sd)
    (gvar write-riscv-opcode)
    (callj 1)
    1035
    (pop)
    (save () 1036)
    (const "s1, (s0)")
    (gvar my-display)
    (callj 1)
    1036
    (pop)
    (gvar my-newline)
    (callj 0)
    1037
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name function-proc-begin)
)
(gset function-proc-begin)
(pop)
(proc
  (args 1)
  (save () 1043)
  (const "        b")
  (gvar my-display)
  (callj 1)
  1043
  (pop)
  (save () 1044)
  (const arm)
  (lvar 0 0 relop)
  (gvar write-predicate-op)
  (callj 2)
  1044
  (pop)
  (const "  ")
  (gvar my-display)
  (callj 1)
  (name write-arm-branch)
)
(gset write-arm-branch)
(pop)
(proc
  (args 1)
  (save () 1045)
  (const "        b")
  (gvar my-display)
  (callj 1)
  1045
  (pop)
  (save () 1046)
  (const arm)
  (lvar 0 0 relop)
  (gvar write-not-predicate-op)
  (callj 2)
  1046
  (pop)
  (const "  ")
  (gvar my-display)
  (callj 1)
  (name write-arm-branch-negate)
)
(gset write-arm-branch-negate)
(pop)
(proc
  (args 1)
  (save () 1047)
  (const "        ")
  (gvar my-display)
  (callj 1)
  1047
  (pop)
  (save () 1048)
  (const x86)
  (lvar 0 0 relop)
  (gvar write-predicate-op)
  (callj 2)
  1048
  (pop)
  (const "  ")
  (gvar my-display)
  (callj 1)
  (name write-x86-branch)
)
(gset write-x86-branch)
(pop)
(proc
  (args 1)
  (save () 1049)
  (const "        ")
  (gvar my-display)
  (callj 1)
  1049
  (pop)
  (save () 1050)
  (const x86)
  (lvar 0 0 relop)
  (gvar write-not-predicate-op)
  (callj 2)
  1050
  (pop)
  (const "  ")
  (gvar my-display)
  (callj 1)
  (name write-x86-branch-negate)
)
(gset write-x86-branch-negate)
(pop)
(proc
  (args 0)
  (save () 1051)
  (const "        push  edi")
  (gvar my-display)
  (callj 1)
  1051
  (pop)
  (gvar my-newline)
  (callj 0)
  (name write-x86-push-edi)
)
(gset write-x86-push-edi)
(pop)
(proc
  (args 0)
  (save () 1052)
  (const "        pop   edi")
  (gvar my-display)
  (callj 1)
  1052
  (pop)
  (gvar my-newline)
  (callj 0)
  (name write-x86-pop-edi)
)
(gset write-x86-pop-edi)
(pop)
(proc
  (args 0)
  (gvar max-register-idx)
  (gvar maximum-free-registers)
  (1)
  (-)
  (=)
  (bfl () 1055)
  (gvar register-idx)
  (gvar maximum-free-registers)
  (2)
  (-)
  (=)
  (bfl () 1053)
  (gvar fast-expression)
  (br () 1054)
  1053
  (#f)
  1054
  (br () 1056)
  1055
  (#f)
  1056
  (bfl () 1060)
  (save () 1057)
  (gvar display-comment)
  (callj 0)
  1057
  (pop)
  (save () 1058)
  (const "; save edi")
  (gvar my-display)
  (callj 1)
  1058
  (pop)
  (save () 1059)
  (gvar my-newline)
  (callj 0)
  1059
  (pop)
  (gvar write-x86-push-edi)
  (callj 0)
  1060
  (())
  (return)
  (name push-x86-register-if-max)
)
(gset push-x86-register-if-max)
(pop)
(proc
  (args 0)
  (gvar max-register-idx)
  (gvar maximum-free-registers)
  (1)
  (-)
  (=)
  (bfl () 1064)
  (gvar register-idx)
  (gvar maximum-free-registers)
  (2)
  (-)
  (=)
  (bfl () 1062)
  (gvar fast-expression)
  (br () 1063)
  1062
  (#f)
  1063
  (br () 1065)
  1064
  (#f)
  1065
  (bfl () 1069)
  (save () 1066)
  (gvar display-comment)
  (callj 0)
  1066
  (pop)
  (save () 1067)
  (const "; restore edi")
  (gvar my-display)
  (callj 1)
  1067
  (pop)
  (save () 1068)
  (gvar my-newline)
  (callj 0)
  1068
  (pop)
  (gvar write-x86-pop-edi)
  (callj 0)
  1069
  (())
  (return)
  (name pop-x86-register-if-max)
)
(gset pop-x86-register-if-max)
(pop)
(proc
  (args 1)
  (save () 1071)
  (const "        inc dword [ebp + ")
  (gvar my-display)
  (callj 1)
  1071
  (pop)
  (save () 1072)
  (lvar 0 0 offset)
  (const 4)
  (*)
  (gvar my-display)
  (callj 1)
  1072
  (pop)
  (save () 1073)
  (const "]")
  (gvar my-display)
  (callj 1)
  1073
  (pop)
  (gvar my-newline)
  (callj 0)
  (name write-inc-x86)
)
(gset write-inc-x86)
(pop)
(proc
  (args 1)
  (save () 1074)
  (const "        dec dword [ebp + ")
  (gvar my-display)
  (callj 1)
  1074
  (pop)
  (save () 1075)
  (lvar 0 0 offset)
  (const 4)
  (*)
  (gvar my-display)
  (callj 1)
  1075
  (pop)
  (save () 1076)
  (const "]")
  (gvar my-display)
  (callj 1)
  1076
  (pop)
  (gvar my-newline)
  (callj 0)
  (name write-dec-x86)
)
(gset write-dec-x86)
(pop)
(proc
  (args 2)
  (lvar 0 0 target)
  (proc
    (args 1)
    (lvar 0 0 g:::39)
    (const arm)
    (eqv?)
    (bfl () 1107)
    (save () 1077)
    (const "        add    r3, r10, $4")
    (gvar my-display)
    (callj 1)
    1077
    (pop)
    (save () 1078)
    (gvar my-newline)
    (callj 0)
    1078
    (pop)
    (save () 1079)
    (const "        ldr    r10, [r10, $")
    (gvar my-display)
    (callj 1)
    1079
    (pop)
    (save () 1080)
    (lvar 1 1 dynamic-link)
    (const 4)
    (*)
    (gvar my-display)
    (callj 1)
    1080
    (pop)
    (save () 1081)
    (const "]")
    (gvar my-display)
    (callj 1)
    1081
    (pop)
    (gvar my-newline)
    (callj 0)
    1107
    (lvar 0 0 g:::39)
    (const x86)
    (eqv?)
    (bfl () 1105)
    (save () 1082)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    1082
    (pop)
    (save () 1083)
    (const "edi, ebp")
    (gvar my-display)
    (callj 1)
    1083
    (pop)
    (save () 1084)
    (gvar my-newline)
    (callj 0)
    1084
    (pop)
    (save () 1085)
    (const x86_add)
    (gvar write-x86-opcode)
    (callj 1)
    1085
    (pop)
    (save () 1086)
    (const "edi, 4")
    (gvar my-display)
    (callj 1)
    1086
    (pop)
    (save () 1087)
    (gvar my-newline)
    (callj 0)
    1087
    (pop)
    (lvar 1 1 dynamic-link)
    (0)
    (=)
    (not)
    (bfl () 1092)
    (save () 1088)
    (const x86_add)
    (gvar write-x86-opcode)
    (callj 1)
    1088
    (pop)
    (save () 1089)
    (const "ebp, 4 * ")
    (gvar my-display)
    (callj 1)
    1089
    (pop)
    (save () 1090)
    (lvar 1 1 dynamic-link)
    (gvar my-display)
    (callj 1)
    1090
    (pop)
    (save () 1091)
    (gvar my-newline)
    (callj 0)
    1091
    (pop)
    (br () 1093)
    1092
    1093
    (save () 1094)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    1094
    (pop)
    (save () 1095)
    (const "ebp, [ebp]")
    (gvar my-display)
    (callj 1)
    1095
    (pop)
    (gvar my-newline)
    (callj 0)
    1105
    (lvar 0 0 g:::39)
    (const riscv)
    (eqv?)
    (bfl () 1103)
    (save () 1096)
    (const riscv_addi)
    (gvar write-riscv-opcode)
    (callj 1)
    1096
    (pop)
    (save () 1097)
    (const "s3, s10, 4")
    (gvar my-display)
    (callj 1)
    1097
    (pop)
    (save () 1098)
    (gvar my-newline)
    (callj 0)
    1098
    (pop)
    (save () 1099)
    (const riscv_ld)
    (gvar write-riscv-opcode)
    (callj 1)
    1099
    (pop)
    (save () 1100)
    (const "s10, ")
    (gvar my-display)
    (callj 1)
    1100
    (pop)
    (save () 1101)
    (lvar 1 1 dynamic-link)
    (const 4)
    (*)
    (gvar my-display)
    (callj 1)
    1101
    (pop)
    (save () 1102)
    (const "(s10)")
    (gvar my-display)
    (callj 1)
    1102
    (pop)
    (gvar my-newline)
    (callj 0)
    1103
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name function-end)
)
(gset function-end)
(pop)
(proc
  (args 2)
  (lvar 0 0 target)
  (proc
    (args 1)
    (lvar 0 0 g:::40)
    (const arm)
    (eqv?)
    (bfl () 1143)
    (save () 1109)
    (const "        mov    r3, r10")
    (gvar my-display)
    (callj 1)
    1109
    (pop)
    (save () 1110)
    (gvar my-newline)
    (callj 0)
    1110
    (pop)
    (lvar 1 1 dynamic-link)
    (0)
    (=)
    (bfl () 1115)
    (save () 1111)
    (const "        ldr    r10, [r10]")
    (gvar my-display)
    (callj 1)
    1111
    (pop)
    (gvar my-newline)
    (callj 0)
    1115
    (save () 1112)
    (const "        ldr    r10, [r10, $")
    (gvar my-display)
    (callj 1)
    1112
    (pop)
    (save () 1113)
    (lvar 1 1 dynamic-link)
    (const 4)
    (*)
    (gvar my-display)
    (callj 1)
    1113
    (pop)
    (save () 1114)
    (const "]")
    (gvar my-display)
    (callj 1)
    1114
    (pop)
    (gvar my-newline)
    (callj 0)
    1143
    (lvar 0 0 g:::40)
    (const x86)
    (eqv?)
    (bfl () 1141)
    (save () 1117)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    1117
    (pop)
    (save () 1118)
    (const "edi, ebp")
    (gvar my-display)
    (callj 1)
    1118
    (pop)
    (save () 1119)
    (gvar my-newline)
    (callj 0)
    1119
    (pop)
    (lvar 1 1 dynamic-link)
    (0)
    (=)
    (not)
    (bfl () 1124)
    (save () 1120)
    (const x86_add)
    (gvar write-x86-opcode)
    (callj 1)
    1120
    (pop)
    (save () 1121)
    (const "ebp, 4 * ")
    (gvar my-display)
    (callj 1)
    1121
    (pop)
    (save () 1122)
    (lvar 1 1 dynamic-link)
    (gvar my-display)
    (callj 1)
    1122
    (pop)
    (save () 1123)
    (gvar my-newline)
    (callj 0)
    1123
    (pop)
    (br () 1125)
    1124
    1125
    (save () 1126)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    1126
    (pop)
    (save () 1127)
    (const "ebp, [ebp]")
    (gvar my-display)
    (callj 1)
    1127
    (pop)
    (gvar my-newline)
    (callj 0)
    1141
    (lvar 0 0 g:::40)
    (const riscv)
    (eqv?)
    (bfl () 1139)
    (save () 1128)
    (const riscv_mv)
    (gvar write-riscv-opcode)
    (callj 1)
    1128
    (pop)
    (save () 1129)
    (const "s3, s10")
    (gvar my-display)
    (callj 1)
    1129
    (pop)
    (save () 1130)
    (gvar my-newline)
    (callj 0)
    1130
    (pop)
    (lvar 1 1 dynamic-link)
    (0)
    (=)
    (bfl () 1137)
    (save () 1131)
    (const riscv_ld)
    (gvar write-riscv-opcode)
    (callj 1)
    1131
    (pop)
    (save () 1132)
    (const "s10, (s10)")
    (gvar my-display)
    (callj 1)
    1132
    (pop)
    (gvar my-newline)
    (callj 0)
    1137
    (save () 1133)
    (const riscv_ld)
    (gvar write-riscv-opcode)
    (callj 1)
    1133
    (pop)
    (save () 1134)
    (const "s10, ")
    (gvar my-display)
    (callj 1)
    1134
    (pop)
    (save () 1135)
    (lvar 1 1 dynamic-link)
    (const 4)
    (*)
    (gvar my-display)
    (callj 1)
    1135
    (pop)
    (save () 1136)
    (const "(s10)")
    (gvar my-display)
    (callj 1)
    1136
    (pop)
    (gvar my-newline)
    (callj 0)
    1139
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name proc-end)
)
(gset proc-end)
(pop)
(proc
  (args 1)
  (lvar 0 0 target)
  (proc
    (args 1)
    (lvar 0 0 g:::41)
    (const arm)
    (eqv?)
    (bfl () 1219)
    (gvar fast-expression)
    (bfl () 1157)
    (save () 1145)
    (const arm_ldr)
    (gvar write-arm-opcode)
    (callj 1)
    1145
    (pop)
    (save () 1146)
    (gvar write-register-minus-one)
    (callj 0)
    1146
    (pop)
    (save () 1147)
    (const ", [r8, ")
    (gvar my-display)
    (callj 1)
    1147
    (pop)
    (save () 1148)
    (gvar write-register-minus-one)
    (callj 0)
    1148
    (pop)
    (save () 1149)
    (const ", lsl $2]")
    (gvar my-display)
    (callj 1)
    1149
    (pop)
    (gvar my-newline)
    (callj 0)
    1157
    (save () 1150)
    (const "        sub    r0, r3, $4")
    (gvar my-display)
    (callj 1)
    1150
    (pop)
    (save () 1151)
    (gvar my-newline)
    (callj 0)
    1151
    (pop)
    (save () 1152)
    (const "        ldr    r5, [r0]")
    (gvar my-display)
    (callj 1)
    1152
    (pop)
    (save () 1153)
    (gvar my-newline)
    (callj 0)
    1153
    (pop)
    (save () 1154)
    (const "        ldr    r6, [r8, r5, lsl $2]")
    (gvar my-display)
    (callj 1)
    1154
    (pop)
    (save () 1155)
    (gvar my-newline)
    (callj 0)
    1155
    (pop)
    (save () 1156)
    (const "        str    r6, [r0]")
    (gvar my-display)
    (callj 1)
    1156
    (pop)
    (gvar my-newline)
    (callj 0)
    1219
    (lvar 0 0 g:::41)
    (const x86)
    (eqv?)
    (bfl () 1217)
    (gvar fast-expression)
    (bfl () 1178)
    (save () 1159)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    1159
    (pop)
    (save () 1160)
    (gvar write-register-minus-one)
    (callj 0)
    1160
    (pop)
    (save () 1161)
    (const ", [esi + ")
    (gvar my-display)
    (callj 1)
    1161
    (pop)
    (save () 1162)
    (gvar write-register-minus-one)
    (callj 0)
    1162
    (pop)
    (save () 1163)
    (const " * 4]")
    (gvar my-display)
    (callj 1)
    1163
    (pop)
    (gvar my-newline)
    (callj 0)
    1178
    (save () 1164)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    1164
    (pop)
    (save () 1165)
    (const "ebx, edi")
    (gvar my-display)
    (callj 1)
    1165
    (pop)
    (save () 1166)
    (gvar my-newline)
    (callj 0)
    1166
    (pop)
    (save () 1167)
    (const x86_sub)
    (gvar write-x86-opcode)
    (callj 1)
    1167
    (pop)
    (save () 1168)
    (const "ebx, 4")
    (gvar my-display)
    (callj 1)
    1168
    (pop)
    (save () 1169)
    (gvar my-newline)
    (callj 0)
    1169
    (pop)
    (save () 1170)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    1170
    (pop)
    (save () 1171)
    (const "ecx, [ebx]")
    (gvar my-display)
    (callj 1)
    1171
    (pop)
    (save () 1172)
    (gvar my-newline)
    (callj 0)
    1172
    (pop)
    (save () 1173)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    1173
    (pop)
    (save () 1174)
    (const "edx, [esi + ecx * 4]")
    (gvar my-display)
    (callj 1)
    1174
    (pop)
    (save () 1175)
    (gvar my-newline)
    (callj 0)
    1175
    (pop)
    (save () 1176)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    1176
    (pop)
    (save () 1177)
    (const "[ebx], edx")
    (gvar my-display)
    (callj 1)
    1177
    (pop)
    (gvar my-newline)
    (callj 0)
    1217
    (lvar 0 0 g:::41)
    (const riscv)
    (eqv?)
    (bfl () 1215)
    (gvar fast-expression)
    (bfl () 1213)
    (save () 1180)
    (const riscv_slli)
    (gvar write-riscv-opcode)
    (callj 1)
    1180
    (pop)
    (save () 1181)
    (gvar write-register-minus-one)
    (callj 0)
    1181
    (pop)
    (save () 1182)
    (const ", ")
    (gvar my-display)
    (callj 1)
    1182
    (pop)
    (save () 1183)
    (gvar write-register-minus-one)
    (callj 0)
    1183
    (pop)
    (save () 1184)
    (const ", 2")
    (gvar my-display)
    (callj 1)
    1184
    (pop)
    (save () 1185)
    (gvar my-newline)
    (callj 0)
    1185
    (pop)
    (save () 1186)
    (const riscv_add)
    (gvar write-riscv-opcode)
    (callj 1)
    1186
    (pop)
    (save () 1187)
    (gvar write-register-minus-one)
    (callj 0)
    1187
    (pop)
    (save () 1188)
    (const ", s8, ")
    (gvar my-display)
    (callj 1)
    1188
    (pop)
    (save () 1189)
    (gvar write-register-minus-one)
    (callj 0)
    1189
    (pop)
    (save () 1190)
    (gvar my-newline)
    (callj 0)
    1190
    (pop)
    (save () 1191)
    (const riscv_lw)
    (gvar write-riscv-opcode)
    (callj 1)
    1191
    (pop)
    (save () 1192)
    (gvar write-register-minus-one)
    (callj 0)
    1192
    (pop)
    (save () 1193)
    (const ", (")
    (gvar my-display)
    (callj 1)
    1193
    (pop)
    (save () 1194)
    (gvar write-register-minus-one)
    (callj 0)
    1194
    (pop)
    (save () 1195)
    (const ")")
    (gvar my-display)
    (callj 1)
    1195
    (pop)
    (gvar my-newline)
    (callj 0)
    1213
    (save () 1196)
    (const riscv_addi)
    (gvar write-riscv-opcode)
    (callj 1)
    1196
    (pop)
    (save () 1197)
    (const "s0, s3, -4")
    (gvar my-display)
    (callj 1)
    1197
    (pop)
    (save () 1198)
    (gvar my-newline)
    (callj 0)
    1198
    (pop)
    (save () 1199)
    (const riscv_lw)
    (gvar write-riscv-opcode)
    (callj 1)
    1199
    (pop)
    (save () 1200)
    (const "s5, (s0)")
    (gvar my-display)
    (callj 1)
    1200
    (pop)
    (save () 1201)
    (gvar my-newline)
    (callj 0)
    1201
    (pop)
    (save () 1202)
    (const riscv_slli)
    (gvar write-riscv-opcode)
    (callj 1)
    1202
    (pop)
    (save () 1203)
    (const "s5, s5, 2")
    (gvar my-display)
    (callj 1)
    1203
    (pop)
    (save () 1204)
    (gvar my-newline)
    (callj 0)
    1204
    (pop)
    (save () 1205)
    (const riscv_add)
    (gvar write-riscv-opcode)
    (callj 1)
    1205
    (pop)
    (save () 1206)
    (const "s5, s8, s5")
    (gvar my-display)
    (callj 1)
    1206
    (pop)
    (save () 1207)
    (gvar my-newline)
    (callj 0)
    1207
    (pop)
    (save () 1208)
    (const riscv_lw)
    (gvar write-riscv-opcode)
    (callj 1)
    1208
    (pop)
    (save () 1209)
    (const "s6, (s5)")
    (gvar my-display)
    (callj 1)
    1209
    (pop)
    (save () 1210)
    (gvar my-newline)
    (callj 0)
    1210
    (pop)
    (save () 1211)
    (const riscv_sw)
    (gvar write-riscv-opcode)
    (callj 1)
    1211
    (pop)
    (save () 1212)
    (const "s6, (s0)")
    (gvar my-display)
    (callj 1)
    1212
    (pop)
    (gvar my-newline)
    (callj 0)
    1215
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name stack-ref)
)
(gset stack-ref)
(pop)
(proc
  (args 2)
  (lvar 0 0 target)
  (proc
    (args 1)
    (lvar 0 0 g:::42)
    (const arm)
    (eqv?)
    (bfl () 1313)
    (gvar fast-expression)
    (bfl () 1243)
    (lvar 1 1 n)
    (0)
    (=)
    (bfl () 1231)
    (save () 1221)
    (const arm_ldr)
    (gvar write-arm-opcode)
    (callj 1)
    1221
    (pop)
    (save () 1222)
    (gvar write-register)
    (callj 0)
    1222
    (pop)
    (save () 1223)
    (const ", [r10]")
    (gvar my-display)
    (callj 1)
    1223
    (pop)
    (save () 1224)
    (gvar my-newline)
    (callj 0)
    1224
    (pop)
    (br () 1232)
    1231
    (save () 1225)
    (const arm_ldr)
    (gvar write-arm-opcode)
    (callj 1)
    1225
    (pop)
    (save () 1226)
    (gvar write-register)
    (callj 0)
    1226
    (pop)
    (save () 1227)
    (const ", [r10, $")
    (gvar my-display)
    (callj 1)
    1227
    (pop)
    (save () 1228)
    (lvar 1 1 n)
    (const 4)
    (*)
    (gvar my-display)
    (callj 1)
    1228
    (pop)
    (save () 1229)
    (const "]")
    (gvar my-display)
    (callj 1)
    1229
    (pop)
    (save () 1230)
    (gvar my-newline)
    (callj 0)
    1230
    (pop)
    1232
    (gvar increment-register)
    (callj 0)
    1243
    (lvar 1 1 n)
    (0)
    (=)
    (bfl () 1241)
    (save () 1233)
    (const "        ldr    r0, [r10]")
    (gvar my-display)
    (callj 1)
    1233
    (pop)
    (save () 1234)
    (gvar my-newline)
    (callj 0)
    1234
    (pop)
    (save () 1235)
    (const "        str    r0, [r3], $4")
    (gvar my-display)
    (callj 1)
    1235
    (pop)
    (gvar my-newline)
    (callj 0)
    1241
    (save () 1236)
    (const "        ldr    r0, [r10, $")
    (gvar my-display)
    (callj 1)
    1236
    (pop)
    (save () 1237)
    (lvar 1 1 n)
    (const 4)
    (*)
    (gvar my-display)
    (callj 1)
    1237
    (pop)
    (save () 1238)
    (const "]")
    (gvar my-display)
    (callj 1)
    1238
    (pop)
    (save () 1239)
    (gvar my-newline)
    (callj 0)
    1239
    (pop)
    (save () 1240)
    (const "        str    r0, [r3], $4")
    (gvar my-display)
    (callj 1)
    1240
    (pop)
    (gvar my-newline)
    (callj 0)
    1313
    (lvar 0 0 g:::42)
    (const x86)
    (eqv?)
    (bfl () 1311)
    (gvar fast-expression)
    (bfl () 1273)
    (lvar 1 1 n)
    (0)
    (=)
    (bfl () 1255)
    (save () 1245)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    1245
    (pop)
    (save () 1246)
    (gvar write-register)
    (callj 0)
    1246
    (pop)
    (save () 1247)
    (const ", [ebp]")
    (gvar my-display)
    (callj 1)
    1247
    (pop)
    (save () 1248)
    (gvar my-newline)
    (callj 0)
    1248
    (pop)
    (br () 1256)
    1255
    (save () 1249)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    1249
    (pop)
    (save () 1250)
    (gvar write-register)
    (callj 0)
    1250
    (pop)
    (save () 1251)
    (const ", [ebp + ")
    (gvar my-display)
    (callj 1)
    1251
    (pop)
    (save () 1252)
    (lvar 1 1 n)
    (const 4)
    (*)
    (gvar my-display)
    (callj 1)
    1252
    (pop)
    (save () 1253)
    (const "]")
    (gvar my-display)
    (callj 1)
    1253
    (pop)
    (save () 1254)
    (gvar my-newline)
    (callj 0)
    1254
    (pop)
    1256
    (save () 1257)
    (gvar increment-register)
    (callj 0)
    1257
    (pop)
    (gvar push-x86-register-if-max)
    (callj 0)
    1273
    (lvar 1 1 n)
    (0)
    (=)
    (bfl () 1266)
    (save () 1258)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    1258
    (pop)
    (save () 1259)
    (const "eax, [ebp]")
    (gvar my-display)
    (callj 1)
    1259
    (pop)
    (save () 1260)
    (gvar my-newline)
    (callj 0)
    1260
    (pop)
    (br () 1267)
    1266
    (save () 1261)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    1261
    (pop)
    (save () 1262)
    (const "eax, [ebp + ")
    (gvar my-display)
    (callj 1)
    1262
    (pop)
    (save () 1263)
    (lvar 1 1 n)
    (const 4)
    (*)
    (gvar my-display)
    (callj 1)
    1263
    (pop)
    (save () 1264)
    (const "]")
    (gvar my-display)
    (callj 1)
    1264
    (pop)
    (save () 1265)
    (gvar my-newline)
    (callj 0)
    1265
    (pop)
    1267
    (save () 1268)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    1268
    (pop)
    (save () 1269)
    (const "[edi], eax")
    (gvar my-display)
    (callj 1)
    1269
    (pop)
    (save () 1270)
    (gvar my-newline)
    (callj 0)
    1270
    (pop)
    (save () 1271)
    (const x86_add)
    (gvar write-x86-opcode)
    (callj 1)
    1271
    (pop)
    (save () 1272)
    (const "edi, 4")
    (gvar my-display)
    (callj 1)
    1272
    (pop)
    (gvar my-newline)
    (callj 0)
    1311
    (lvar 0 0 g:::42)
    (const riscv)
    (eqv?)
    (bfl () 1309)
    (gvar fast-expression)
    (bfl () 1307)
    (lvar 1 1 n)
    (0)
    (=)
    (bfl () 1285)
    (save () 1275)
    (const riscv_lw)
    (gvar write-riscv-opcode)
    (callj 1)
    1275
    (pop)
    (save () 1276)
    (gvar write-register)
    (callj 0)
    1276
    (pop)
    (save () 1277)
    (const ", (s10)")
    (gvar my-display)
    (callj 1)
    1277
    (pop)
    (save () 1278)
    (gvar my-newline)
    (callj 0)
    1278
    (pop)
    (br () 1286)
    1285
    (save () 1279)
    (const riscv_lw)
    (gvar write-riscv-opcode)
    (callj 1)
    1279
    (pop)
    (save () 1280)
    (gvar write-register)
    (callj 0)
    1280
    (pop)
    (save () 1281)
    (const ", ")
    (gvar my-display)
    (callj 1)
    1281
    (pop)
    (save () 1282)
    (lvar 1 1 n)
    (const 4)
    (*)
    (gvar my-display)
    (callj 1)
    1282
    (pop)
    (save () 1283)
    (const "(s10)")
    (gvar my-display)
    (callj 1)
    1283
    (pop)
    (save () 1284)
    (gvar my-newline)
    (callj 0)
    1284
    (pop)
    1286
    (gvar increment-register)
    (callj 0)
    1307
    (lvar 1 1 n)
    (0)
    (=)
    (bfl () 1305)
    (save () 1287)
    (const riscv_lw)
    (gvar write-riscv-opcode)
    (callj 1)
    1287
    (pop)
    (save () 1288)
    (const "s0, (s10)")
    (gvar my-display)
    (callj 1)
    1288
    (pop)
    (save () 1289)
    (gvar my-newline)
    (callj 0)
    1289
    (pop)
    (save () 1290)
    (const riscv_sw)
    (gvar write-riscv-opcode)
    (callj 1)
    1290
    (pop)
    (save () 1291)
    (const "s0, (s3)")
    (gvar my-display)
    (callj 1)
    1291
    (pop)
    (save () 1292)
    (gvar my-newline)
    (callj 0)
    1292
    (pop)
    (save () 1293)
    (const riscv_addi)
    (gvar write-riscv-opcode)
    (callj 1)
    1293
    (pop)
    (save () 1294)
    (const "s3, s3, 4")
    (gvar my-display)
    (callj 1)
    1294
    (pop)
    (gvar my-newline)
    (callj 0)
    1305
    (save () 1295)
    (const riscv_lw)
    (gvar write-riscv-opcode)
    (callj 1)
    1295
    (pop)
    (save () 1296)
    (const "s0, ")
    (gvar my-display)
    (callj 1)
    1296
    (pop)
    (save () 1297)
    (lvar 1 1 n)
    (const 4)
    (*)
    (gvar my-display)
    (callj 1)
    1297
    (pop)
    (save () 1298)
    (const "(s10)")
    (gvar my-display)
    (callj 1)
    1298
    (pop)
    (save () 1299)
    (gvar my-newline)
    (callj 0)
    1299
    (pop)
    (save () 1300)
    (const riscv_sw)
    (gvar write-riscv-opcode)
    (callj 1)
    1300
    (pop)
    (save () 1301)
    (const "s0, (s3)")
    (gvar my-display)
    (callj 1)
    1301
    (pop)
    (save () 1302)
    (gvar my-newline)
    (callj 0)
    1302
    (pop)
    (save () 1303)
    (const riscv_addi)
    (gvar write-riscv-opcode)
    (callj 1)
    1303
    (pop)
    (save () 1304)
    (const "s3, s3, 4")
    (gvar my-display)
    (callj 1)
    1304
    (pop)
    (gvar my-newline)
    (callj 0)
    1309
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name stack-ref-n)
)
(gset stack-ref-n)
(pop)
(proc
  (args 1)
  (lvar 0 0 target)
  (proc
    (args 1)
    (lvar 0 0 g:::43)
    (const arm)
    (eqv?)
    (bfl () 1370)
    (gvar fast-expression)
    (bfl () 1322)
    (save () 1315)
    (const arm_str)
    (gvar write-arm-opcode)
    (callj 1)
    1315
    (pop)
    (save () 1316)
    (const "r0, [r8, r2, lsl $2]")
    (gvar my-display)
    (callj 1)
    1316
    (pop)
    (gvar my-newline)
    (callj 0)
    1322
    (save () 1317)
    (const "        ldr    r4, [r3, $-8]!")
    (gvar my-display)
    (callj 1)
    1317
    (pop)
    (save () 1318)
    (gvar my-newline)
    (callj 0)
    1318
    (pop)
    (save () 1319)
    (const "        ldr    r6, [r3, $4]")
    (gvar my-display)
    (callj 1)
    1319
    (pop)
    (save () 1320)
    (gvar my-newline)
    (callj 0)
    1320
    (pop)
    (save () 1321)
    (const "        str    r4, [r8, r6, lsl $2]")
    (gvar my-display)
    (callj 1)
    1321
    (pop)
    (gvar my-newline)
    (callj 0)
    1370
    (lvar 0 0 g:::43)
    (const x86)
    (eqv?)
    (bfl () 1368)
    (gvar fast-expression)
    (bfl () 1337)
    (save () 1324)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    1324
    (pop)
    (save () 1325)
    (const "[esi + ebx * 4], eax")
    (gvar my-display)
    (callj 1)
    1325
    (pop)
    (gvar my-newline)
    (callj 0)
    1337
    (save () 1326)
    (const x86_sub)
    (gvar write-x86-opcode)
    (callj 1)
    1326
    (pop)
    (save () 1327)
    (const "edi, 8")
    (gvar my-display)
    (callj 1)
    1327
    (pop)
    (save () 1328)
    (gvar my-newline)
    (callj 0)
    1328
    (pop)
    (save () 1329)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    1329
    (pop)
    (save () 1330)
    (const "ecx, [edi]")
    (gvar my-display)
    (callj 1)
    1330
    (pop)
    (save () 1331)
    (gvar my-newline)
    (callj 0)
    1331
    (pop)
    (save () 1332)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    1332
    (pop)
    (save () 1333)
    (const "edx, [edi + 4]")
    (gvar my-display)
    (callj 1)
    1333
    (pop)
    (save () 1334)
    (gvar my-newline)
    (callj 0)
    1334
    (pop)
    (save () 1335)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    1335
    (pop)
    (save () 1336)
    (const "[esi + edx * 4], ecx")
    (gvar my-display)
    (callj 1)
    1336
    (pop)
    (gvar my-newline)
    (callj 0)
    1368
    (lvar 0 0 g:::43)
    (const riscv)
    (eqv?)
    (bfl () 1366)
    (gvar fast-expression)
    (bfl () 1364)
    (save () 1339)
    (const riscv_slli)
    (gvar write-riscv-opcode)
    (callj 1)
    1339
    (pop)
    (save () 1340)
    (const "s2, s2, 2")
    (gvar my-display)
    (callj 1)
    1340
    (pop)
    (save () 1341)
    (gvar my-newline)
    (callj 0)
    1341
    (pop)
    (save () 1342)
    (const riscv_add)
    (gvar write-riscv-opcode)
    (callj 1)
    1342
    (pop)
    (save () 1343)
    (const "s2, s8, s2")
    (gvar my-display)
    (callj 1)
    1343
    (pop)
    (save () 1344)
    (gvar my-newline)
    (callj 0)
    1344
    (pop)
    (save () 1345)
    (const riscv_sw)
    (gvar write-riscv-opcode)
    (callj 1)
    1345
    (pop)
    (save () 1346)
    (const "s0, (s2)")
    (gvar my-display)
    (callj 1)
    1346
    (pop)
    (gvar my-newline)
    (callj 0)
    1364
    (save () 1347)
    (const riscv_addi)
    (gvar write-riscv-opcode)
    (callj 1)
    1347
    (pop)
    (save () 1348)
    (const "s3, s3, -8")
    (gvar my-display)
    (callj 1)
    1348
    (pop)
    (save () 1349)
    (gvar my-newline)
    (callj 0)
    1349
    (pop)
    (save () 1350)
    (const riscv_lw)
    (gvar write-riscv-opcode)
    (callj 1)
    1350
    (pop)
    (save () 1351)
    (const "s4, (s3)")
    (gvar my-display)
    (callj 1)
    1351
    (pop)
    (save () 1352)
    (gvar my-newline)
    (callj 0)
    1352
    (pop)
    (save () 1353)
    (const riscv_lw)
    (gvar write-riscv-opcode)
    (callj 1)
    1353
    (pop)
    (save () 1354)
    (const "s6, 4(s3)")
    (gvar my-display)
    (callj 1)
    1354
    (pop)
    (save () 1355)
    (gvar my-newline)
    (callj 0)
    1355
    (pop)
    (save () 1356)
    (const riscv_slli)
    (gvar write-riscv-opcode)
    (callj 1)
    1356
    (pop)
    (save () 1357)
    (const "s6, s6, 2")
    (gvar my-display)
    (callj 1)
    1357
    (pop)
    (save () 1358)
    (gvar my-newline)
    (callj 0)
    1358
    (pop)
    (save () 1359)
    (const riscv_add)
    (gvar write-riscv-opcode)
    (callj 1)
    1359
    (pop)
    (save () 1360)
    (const "s6, s8, s6")
    (gvar my-display)
    (callj 1)
    1360
    (pop)
    (save () 1361)
    (gvar my-newline)
    (callj 0)
    1361
    (pop)
    (save () 1362)
    (const riscv_sw)
    (gvar write-riscv-opcode)
    (callj 1)
    1362
    (pop)
    (save () 1363)
    (const "s4, (s6)")
    (gvar my-display)
    (callj 1)
    1363
    (pop)
    (gvar my-newline)
    (callj 0)
    1366
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name stack-set)
)
(gset stack-set)
(pop)
(proc
  (args 2)
  (lvar 0 0 target)
  (proc
    (args 1)
    (lvar 0 0 g:::44)
    (const arm)
    (eqv?)
    (bfl () 1450)
    (gvar fast-expression)
    (bfl () 1390)
    (lvar 1 1 n)
    (0)
    (=)
    (bfl () 1378)
    (save () 1372)
    (const arm_str)
    (gvar write-arm-opcode)
    (callj 1)
    1372
    (pop)
    (save () 1373)
    (const "r0, [r10]")
    (gvar my-display)
    (callj 1)
    1373
    (pop)
    (gvar my-newline)
    (callj 0)
    1378
    (save () 1374)
    (const arm_str)
    (gvar write-arm-opcode)
    (callj 1)
    1374
    (pop)
    (save () 1375)
    (const "r0, [r10, $")
    (gvar my-display)
    (callj 1)
    1375
    (pop)
    (save () 1376)
    (lvar 1 1 n)
    (const 4)
    (*)
    (gvar my-display)
    (callj 1)
    1376
    (pop)
    (save () 1377)
    (const "]")
    (gvar my-display)
    (callj 1)
    1377
    (pop)
    (gvar my-newline)
    (callj 0)
    1390
    (lvar 1 1 n)
    (0)
    (=)
    (bfl () 1388)
    (save () 1380)
    (const "        ldr    r0, [r3, $-4]!")
    (gvar my-display)
    (callj 1)
    1380
    (pop)
    (save () 1381)
    (gvar my-newline)
    (callj 0)
    1381
    (pop)
    (save () 1382)
    (const "        str    r0, [r10]")
    (gvar my-display)
    (callj 1)
    1382
    (pop)
    (gvar my-newline)
    (callj 0)
    1388
    (save () 1383)
    (const "        ldr    r0, [r3, $-4]!")
    (gvar my-display)
    (callj 1)
    1383
    (pop)
    (save () 1384)
    (gvar my-newline)
    (callj 0)
    1384
    (pop)
    (save () 1385)
    (const "        str    r0, [r10, $")
    (gvar my-display)
    (callj 1)
    1385
    (pop)
    (save () 1386)
    (lvar 1 1 n)
    (const 4)
    (*)
    (gvar my-display)
    (callj 1)
    1386
    (pop)
    (save () 1387)
    (const "]")
    (gvar my-display)
    (callj 1)
    1387
    (pop)
    (gvar my-newline)
    (callj 0)
    1450
    (lvar 0 0 g:::44)
    (const x86)
    (eqv?)
    (bfl () 1448)
    (gvar fast-expression)
    (bfl () 1414)
    (lvar 1 1 n)
    (0)
    (=)
    (bfl () 1398)
    (save () 1392)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    1392
    (pop)
    (save () 1393)
    (const "[ebp], eax")
    (gvar my-display)
    (callj 1)
    1393
    (pop)
    (gvar my-newline)
    (callj 0)
    1398
    (save () 1394)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    1394
    (pop)
    (save () 1395)
    (const "[ebp + ")
    (gvar my-display)
    (callj 1)
    1395
    (pop)
    (save () 1396)
    (lvar 1 1 n)
    (const 4)
    (*)
    (gvar my-display)
    (callj 1)
    1396
    (pop)
    (save () 1397)
    (const "], eax")
    (gvar my-display)
    (callj 1)
    1397
    (pop)
    (gvar my-newline)
    (callj 0)
    1414
    (save () 1400)
    (const x86_sub)
    (gvar write-x86-opcode)
    (callj 1)
    1400
    (pop)
    (save () 1401)
    (const "edi, 4")
    (gvar my-display)
    (callj 1)
    1401
    (pop)
    (save () 1402)
    (gvar my-newline)
    (callj 0)
    1402
    (pop)
    (save () 1403)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    1403
    (pop)
    (save () 1404)
    (const "edx, [edi]")
    (gvar my-display)
    (callj 1)
    1404
    (pop)
    (save () 1405)
    (gvar my-newline)
    (callj 0)
    1405
    (pop)
    (lvar 1 1 n)
    (0)
    (=)
    (bfl () 1412)
    (save () 1406)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    1406
    (pop)
    (save () 1407)
    (const "[ebp], edx")
    (gvar my-display)
    (callj 1)
    1407
    (pop)
    (gvar my-newline)
    (callj 0)
    1412
    (save () 1408)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    1408
    (pop)
    (save () 1409)
    (const "[ebp + 4 * ")
    (gvar my-display)
    (callj 1)
    1409
    (pop)
    (save () 1410)
    (lvar 1 1 n)
    (gvar my-display)
    (callj 1)
    1410
    (pop)
    (save () 1411)
    (const "], edx")
    (gvar my-display)
    (callj 1)
    1411
    (pop)
    (gvar my-newline)
    (callj 0)
    1448
    (lvar 0 0 g:::44)
    (const riscv)
    (eqv?)
    (bfl () 1446)
    (gvar fast-expression)
    (bfl () 1444)
    (lvar 1 1 n)
    (0)
    (=)
    (bfl () 1422)
    (save () 1416)
    (const riscv_sw)
    (gvar write-riscv-opcode)
    (callj 1)
    1416
    (pop)
    (save () 1417)
    (const "s0, (s10)")
    (gvar my-display)
    (callj 1)
    1417
    (pop)
    (gvar my-newline)
    (callj 0)
    1422
    (save () 1418)
    (const riscv_sw)
    (gvar write-riscv-opcode)
    (callj 1)
    1418
    (pop)
    (save () 1419)
    (const "s0, ")
    (gvar my-display)
    (callj 1)
    1419
    (pop)
    (save () 1420)
    (lvar 1 1 n)
    (const 4)
    (*)
    (gvar my-display)
    (callj 1)
    1420
    (pop)
    (save () 1421)
    (const "(s10)")
    (gvar my-display)
    (callj 1)
    1421
    (pop)
    (gvar my-newline)
    (callj 0)
    1444
    (lvar 1 1 n)
    (0)
    (=)
    (bfl () 1442)
    (save () 1424)
    (const riscv_addi)
    (gvar write-riscv-opcode)
    (callj 1)
    1424
    (pop)
    (save () 1425)
    (const "s3, s3, -4")
    (gvar my-display)
    (callj 1)
    1425
    (pop)
    (save () 1426)
    (gvar my-newline)
    (callj 0)
    1426
    (pop)
    (save () 1427)
    (const riscv_lw)
    (gvar write-riscv-opcode)
    (callj 1)
    1427
    (pop)
    (save () 1428)
    (const "s0, (s3)")
    (gvar my-display)
    (callj 1)
    1428
    (pop)
    (save () 1429)
    (gvar my-newline)
    (callj 0)
    1429
    (pop)
    (save () 1430)
    (const riscv_sw)
    (gvar write-riscv-opcode)
    (callj 1)
    1430
    (pop)
    (save () 1431)
    (const "s0, (s10)")
    (gvar my-display)
    (callj 1)
    1431
    (pop)
    (gvar my-newline)
    (callj 0)
    1442
    (save () 1432)
    (const riscv_addi)
    (gvar write-riscv-opcode)
    (callj 1)
    1432
    (pop)
    (save () 1433)
    (const "s3, s3, -4")
    (gvar my-display)
    (callj 1)
    1433
    (pop)
    (save () 1434)
    (gvar my-newline)
    (callj 0)
    1434
    (pop)
    (save () 1435)
    (const riscv_lw)
    (gvar write-riscv-opcode)
    (callj 1)
    1435
    (pop)
    (save () 1436)
    (const "s0, (s3)")
    (gvar my-display)
    (callj 1)
    1436
    (pop)
    (save () 1437)
    (gvar my-newline)
    (callj 0)
    1437
    (pop)
    (save () 1438)
    (const riscv_sw)
    (gvar write-riscv-opcode)
    (callj 1)
    1438
    (pop)
    (save () 1439)
    (const "s0, ")
    (gvar my-display)
    (callj 1)
    1439
    (pop)
    (save () 1440)
    (lvar 1 1 n)
    (const 4)
    (*)
    (gvar my-display)
    (callj 1)
    1440
    (pop)
    (save () 1441)
    (const "(s10)")
    (gvar my-display)
    (callj 1)
    1441
    (pop)
    (gvar my-newline)
    (callj 0)
    1446
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name stack-set-n)
)
(gset stack-set-n)
(pop)
(())
(gset global-constants)
(pop)
(proc
  (args 1)
  (lvar 0 0 x)
  (gvar global-constants)
  (member)
  (not)
  (bfl () 1452)
  (lvar 0 0 x)
  (gvar global-constants)
  (cons)
  (gset global-constants)
  (return)
  1452
  (())
  (return)
  (name log-constant)
)
(gset log-constant)
(pop)
(proc
  (args 1)
  (lvar 0 0 constants)
  (null?)
  (not)
  (bfl () 1475)
  (lvar 0 0 constants)
  (car)
  (proc
    (args 1)
    (lvar 0 0 constant)
    (0)
    (>=)
    (bfl () 1473)
    (save () 1454)
    (const "@X@")
    (gvar my-display)
    (callj 1)
    1454
    (pop)
    (save () 1455)
    (const "N_")
    (gvar my-display)
    (callj 1)
    1455
    (pop)
    (save () 1456)
    (lvar 0 0 constant)
    (gvar my-display)
    (callj 1)
    1456
    (pop)
    (save () 1457)
    (const ":")
    (gvar my-display)
    (callj 1)
    1457
    (pop)
    (save () 1458)
    (gvar my-newline)
    (callj 0)
    1458
    (pop)
    (save () 1459)
    (const "@X@")
    (gvar my-display)
    (callj 1)
    1459
    (pop)
    (save () 1460)
    (const ".word ")
    (gvar my-display)
    (callj 1)
    1460
    (pop)
    (save () 1461)
    (lvar 0 0 constant)
    (gvar my-display)
    (callj 1)
    1461
    (pop)
    (save () 1462)
    (gvar my-newline)
    (callj 0)
    1462
    (pop)
    (br () 1474)
    1473
    (save () 1463)
    (const "@X@")
    (gvar my-display)
    (callj 1)
    1463
    (pop)
    (save () 1464)
    (const "NN_")
    (gvar my-display)
    (callj 1)
    1464
    (pop)
    (save () 1465)
    (save () 1466)
    (lvar 0 0 constant)
    (gvar abs)
    (callj 1)
    1466
    (gvar my-display)
    (callj 1)
    1465
    (pop)
    (save () 1467)
    (const ":")
    (gvar my-display)
    (callj 1)
    1467
    (pop)
    (save () 1468)
    (gvar my-newline)
    (callj 0)
    1468
    (pop)
    (save () 1469)
    (const "@X@")
    (gvar my-display)
    (callj 1)
    1469
    (pop)
    (save () 1470)
    (const ".word ")
    (gvar my-display)
    (callj 1)
    1470
    (pop)
    (save () 1471)
    (lvar 0 0 constant)
    (gvar my-display)
    (callj 1)
    1471
    (pop)
    (save () 1472)
    (gvar my-newline)
    (callj 0)
    1472
    (pop)
    1474
    (lvar 1 0 constants)
    (cdr)
    (gvar display-global-constants)
    (callj 1)
    (name ())
  )
  (callj 1)
  1475
  (())
  (return)
  (name display-global-constants)
)
(gset display-global-constants)
(pop)
(proc
  (args 2)
  (save () 1477)
  (const arm_mov)
  (gvar write-arm-opcode)
  (callj 1)
  1477
  (pop)
  (save () 1478)
  (const 5)
  (gvar write-push-register)
  (callj 1)
  1478
  (pop)
  (save () 1479)
  (const ", $")
  (gvar my-display)
  (callj 1)
  1479
  (pop)
  (save () 1480)
  (lvar 0 0 n1)
  (gvar my-display)
  (callj 1)
  1480
  (pop)
  (save () 1481)
  (gvar my-newline)
  (callj 0)
  1481
  (pop)
  (save () 1482)
  (const arm_mov)
  (gvar write-arm-opcode)
  (callj 1)
  1482
  (pop)
  (save () 1483)
  (const 5)
  (gvar write-push-register)
  (callj 1)
  1483
  (pop)
  (save () 1484)
  (const ", ")
  (gvar my-display)
  (callj 1)
  1484
  (pop)
  (save () 1485)
  (const 5)
  (gvar write-push-register)
  (callj 1)
  1485
  (pop)
  (save () 1486)
  (const ", ror $")
  (gvar my-display)
  (callj 1)
  1486
  (pop)
  (save () 1487)
  (lvar 0 1 n2)
  (gvar my-display)
  (callj 1)
  1487
  (pop)
  (gvar my-newline)
  (callj 0)
  (name push-mov)
)
(gset push-mov)
(pop)
(proc
  (args 2)
  (save () 1488)
  (const arm_mov)
  (gvar write-arm-opcode)
  (callj 1)
  1488
  (pop)
  (save () 1489)
  (const 5)
  (gvar write-push-register)
  (callj 1)
  1489
  (pop)
  (save () 1490)
  (const ", $")
  (gvar my-display)
  (callj 1)
  1490
  (pop)
  (save () 1491)
  (lvar 0 0 n1)
  (gvar my-display)
  (callj 1)
  1491
  (pop)
  (save () 1492)
  (gvar my-newline)
  (callj 0)
  1492
  (pop)
  (save () 1493)
  (const arm_mvn)
  (gvar write-arm-opcode)
  (callj 1)
  1493
  (pop)
  (save () 1494)
  (const 5)
  (gvar write-push-register)
  (callj 1)
  1494
  (pop)
  (save () 1495)
  (const ", ")
  (gvar my-display)
  (callj 1)
  1495
  (pop)
  (save () 1496)
  (const 5)
  (gvar write-push-register)
  (callj 1)
  1496
  (pop)
  (save () 1497)
  (const ", ror $")
  (gvar my-display)
  (callj 1)
  1497
  (pop)
  (save () 1498)
  (lvar 0 1 n2)
  (gvar my-display)
  (callj 1)
  1498
  (pop)
  (gvar my-newline)
  (callj 0)
  (name push-movn)
)
(gset push-movn)
(pop)
(proc
  (args 2)
  (save () 1499)
  (const arm_mov)
  (gvar write-arm-opcode)
  (callj 1)
  1499
  (pop)
  (save () 1500)
  (const 5)
  (gvar write-push-register)
  (callj 1)
  1500
  (pop)
  (save () 1501)
  (const ", $")
  (gvar my-display)
  (callj 1)
  1501
  (pop)
  (save () 1502)
  (lvar 0 0 n1)
  (gvar my-display)
  (callj 1)
  1502
  (pop)
  (save () 1503)
  (gvar my-newline)
  (callj 0)
  1503
  (pop)
  (save () 1504)
  (const arm_mov)
  (gvar write-arm-opcode)
  (callj 1)
  1504
  (pop)
  (save () 1505)
  (const 5)
  (gvar write-push-register)
  (callj 1)
  1505
  (pop)
  (save () 1506)
  (const ", ")
  (gvar my-display)
  (callj 1)
  1506
  (pop)
  (save () 1507)
  (const 5)
  (gvar write-push-register)
  (callj 1)
  1507
  (pop)
  (save () 1508)
  (const ", lsl $")
  (gvar my-display)
  (callj 1)
  1508
  (pop)
  (save () 1509)
  (lvar 0 1 n2)
  (gvar my-display)
  (callj 1)
  1509
  (pop)
  (gvar my-newline)
  (callj 0)
  (name push-mov-lsl)
)
(gset push-mov-lsl)
(pop)
(proc
  (args 1)
  (gvar immediate-push)
  (bfl () 1621)
  (#f)
  (gset immediate-push)
  (pop)
  (gvar register-idx)
  (lvar 0 0 n)
  (())
  (cons)
  (cons)
  (gvar immediate-list)
  (cons)
  (gset immediate-list)
  (pop)
  (br () 1622)
  1621
  (save () 1510)
  (lvar 0 0 n)
  (proc
    (args 1)
    (lvar 0 0 g:::45)
    (const 268435455)
    (eqv?)
    (bfl () 1619)
    (const 15)
    (const 4)
    (gvar push-movn)
    (callj 2)
    1619
    (lvar 0 0 g:::45)
    (const 268435456)
    (eqv?)
    (bfl () 1617)
    (1)
    (const 4)
    (gvar push-mov)
    (callj 2)
    1617
    (lvar 0 0 g:::45)
    (const 1610612736)
    (eqv?)
    (bfl () 1615)
    (const 6)
    (const 4)
    (gvar push-mov)
    (callj 2)
    1615
    (lvar 0 0 g:::45)
    (const 1073741824)
    (eqv?)
    (bfl () 1613)
    (const 4)
    (const 4)
    (gvar push-mov)
    (callj 2)
    1613
    (lvar 0 0 g:::45)
    (const 1073741825)
    (eqv?)
    (bfl () 1611)
    (save () 1511)
    (const 4)
    (const 4)
    (gvar push-mov)
    (callj 2)
    1511
    (pop)
    (save () 1512)
    (const arm_add)
    (gvar write-arm-opcode)
    (callj 1)
    1512
    (pop)
    (save () 1513)
    (const 5)
    (gvar write-push-register)
    (callj 1)
    1513
    (pop)
    (save () 1514)
    (const ", ")
    (gvar my-display)
    (callj 1)
    1514
    (pop)
    (save () 1515)
    (const 5)
    (gvar write-push-register)
    (callj 1)
    1515
    (pop)
    (save () 1516)
    (const ", $1")
    (gvar my-display)
    (callj 1)
    1516
    (pop)
    (gvar my-newline)
    (callj 0)
    1611
    (lvar 0 0 g:::45)
    (const 16777216)
    (eqv?)
    (bfl () 1609)
    (1)
    (const 8)
    (gvar push-mov)
    (callj 2)
    1609
    (lvar 0 0 g:::45)
    (const -16777216)
    (eqv?)
    (bfl () 1607)
    (const 255)
    (const 8)
    (gvar push-mov)
    (callj 2)
    1607
    (lvar 0 0 g:::45)
    (const 16777215)
    (eqv?)
    (bfl () 1605)
    (const 255)
    (const 8)
    (gvar push-movn)
    (callj 2)
    1605
    (lvar 0 0 g:::45)
    (const 16711680)
    (eqv?)
    (bfl () 1603)
    (const 255)
    (const 16)
    (gvar push-mov-lsl)
    (callj 2)
    1603
    (lvar 0 0 g:::45)
    (const -2147483648)
    (eqv?)
    (bfl () 1601)
    (const 8)
    (const 4)
    (gvar push-mov)
    (callj 2)
    1601
    (lvar 0 0 g:::45)
    (const 2147483647)
    (eqv?)
    (bfl () 1599)
    (const 8)
    (const 4)
    (gvar push-movn)
    (callj 2)
    1599
    (lvar 0 0 g:::45)
    (const 536870912)
    (eqv?)
    (bfl () 1597)
    (2)
    (const 4)
    (gvar push-mov)
    (callj 2)
    1597
    (lvar 0 0 g:::45)
    (const 1879048192)
    (eqv?)
    (bfl () 1595)
    (const 7)
    (const 4)
    (gvar push-mov)
    (callj 2)
    1595
    (lvar 0 0 g:::45)
    (const 67108864)
    (eqv?)
    (bfl () 1593)
    (const 4)
    (const 8)
    (gvar push-mov)
    (callj 2)
    1593
    (lvar 0 0 g:::45)
    (const 83886080)
    (eqv?)
    (bfl () 1591)
    (const 5)
    (const 8)
    (gvar push-mov)
    (callj 2)
    1591
    (lvar 0 0 g:::45)
    (const 65535)
    (eqv?)
    (bfl () 1589)
    (save () 1517)
    (1)
    (const 16)
    (gvar push-mov-lsl)
    (callj 2)
    1517
    (pop)
    (save () 1518)
    (const arm_sub)
    (gvar write-arm-opcode)
    (callj 1)
    1518
    (pop)
    (save () 1519)
    (const 5)
    (gvar write-push-register)
    (callj 1)
    1519
    (pop)
    (save () 1520)
    (const ", ")
    (gvar my-display)
    (callj 1)
    1520
    (pop)
    (save () 1521)
    (const 5)
    (gvar write-push-register)
    (callj 1)
    1521
    (pop)
    (save () 1522)
    (const ", $1")
    (gvar my-display)
    (callj 1)
    1522
    (pop)
    (gvar my-newline)
    (callj 0)
    1589
    (lvar 1 0 n)
    (const 256)
    (<)
    (bfl () 1523)
    (lvar 1 0 n)
    (0)
    (>=)
    (br () 1524)
    1523
    (#f)
    1524
    (bfl () 1587)
    (save () 1525)
    (const arm_mov)
    (gvar write-arm-opcode)
    (callj 1)
    1525
    (pop)
    (save () 1526)
    (const 5)
    (gvar write-push-register)
    (callj 1)
    1526
    (pop)
    (save () 1527)
    (const ", $")
    (gvar my-display)
    (callj 1)
    1527
    (pop)
    (save () 1528)
    (lvar 1 0 n)
    (gvar my-display)
    (callj 1)
    1528
    (pop)
    (gvar my-newline)
    (callj 0)
    1587
    (lvar 1 0 n)
    (0)
    (<)
    (bfl () 1529)
    (lvar 1 0 n)
    (const -255)
    (>=)
    (br () 1530)
    1529
    (#f)
    1530
    (bfl () 1585)
    (save () 1531)
    (const arm_mvn)
    (gvar write-arm-opcode)
    (callj 1)
    1531
    (pop)
    (save () 1532)
    (const 5)
    (gvar write-push-register)
    (callj 1)
    1532
    (pop)
    (save () 1533)
    (const ", $")
    (gvar my-display)
    (callj 1)
    1533
    (pop)
    (save () 1534)
    (save () 1535)
    (lvar 1 0 n)
    (1)
    (+)
    (gvar abs)
    (callj 1)
    1535
    (gvar my-display)
    (callj 1)
    1534
    (pop)
    (gvar my-newline)
    (callj 0)
    1585
    (lvar 1 0 n)
    (0)
    (>=)
    (bfl () 1583)
    (gvar version)
    (const v6)
    (eq?)
    (bfl () 1558)
    (save () 1536)
    (lvar 1 0 n)
    (gvar log-constant)
    (callj 1)
    1536
    (pop)
    (save () 1537)
    (const arm_ldr)
    (gvar write-arm-opcode)
    (callj 1)
    1537
    (pop)
    (save () 1538)
    (const 5)
    (gvar write-push-register)
    (callj 1)
    1538
    (pop)
    (save () 1539)
    (const ", =N_")
    (gvar my-display)
    (callj 1)
    1539
    (pop)
    (save () 1540)
    (lvar 1 0 n)
    (gvar my-display)
    (callj 1)
    1540
    (pop)
    (save () 1541)
    (gvar my-newline)
    (callj 0)
    1541
    (pop)
    (save () 1542)
    (const arm_ldr)
    (gvar write-arm-opcode)
    (callj 1)
    1542
    (pop)
    (save () 1543)
    (const 5)
    (gvar write-push-register)
    (callj 1)
    1543
    (pop)
    (save () 1544)
    (const ", [")
    (gvar my-display)
    (callj 1)
    1544
    (pop)
    (save () 1545)
    (const 5)
    (gvar write-push-register)
    (callj 1)
    1545
    (pop)
    (save () 1546)
    (const "]")
    (gvar my-display)
    (callj 1)
    1546
    (pop)
    (gvar my-newline)
    (callj 0)
    1558
    (save () 1547)
    (const "        movw  ")
    (gvar my-display)
    (callj 1)
    1547
    (pop)
    (save () 1548)
    (const 5)
    (gvar write-push-register)
    (callj 1)
    1548
    (pop)
    (save () 1549)
    (const ", #")
    (gvar my-display)
    (callj 1)
    1549
    (pop)
    (save () 1550)
    (lvar 1 0 n)
    (const 65535)
    (bitwise-and)
    (gvar my-display)
    (callj 1)
    1550
    (pop)
    (save () 1551)
    (gvar my-newline)
    (callj 0)
    1551
    (pop)
    (lvar 1 0 n)
    (const 65535)
    (>)
    (bfl () 1556)
    (save () 1552)
    (const "        movt  ")
    (gvar my-display)
    (callj 1)
    1552
    (pop)
    (save () 1553)
    (const 5)
    (gvar write-push-register)
    (callj 1)
    1553
    (pop)
    (save () 1554)
    (const ", #")
    (gvar my-display)
    (callj 1)
    1554
    (pop)
    (save () 1555)
    (lvar 1 0 n)
    (const -16)
    (arithmetic-shift)
    (const 65535)
    (bitwise-and)
    (gvar my-display)
    (callj 1)
    1555
    (pop)
    (gvar my-newline)
    (callj 0)
    1556
    (())
    (return)
    1583
    (gvar version)
    (const v6)
    (eq?)
    (bfl () 1581)
    (save () 1560)
    (lvar 1 0 n)
    (gvar log-constant)
    (callj 1)
    1560
    (pop)
    (save () 1561)
    (const arm_ldr)
    (gvar write-arm-opcode)
    (callj 1)
    1561
    (pop)
    (save () 1562)
    (const 5)
    (gvar write-push-register)
    (callj 1)
    1562
    (pop)
    (save () 1563)
    (const ", =NN_")
    (gvar my-display)
    (callj 1)
    1563
    (pop)
    (save () 1564)
    (save () 1565)
    (lvar 1 0 n)
    (gvar abs)
    (callj 1)
    1565
    (gvar my-display)
    (callj 1)
    1564
    (pop)
    (save () 1566)
    (gvar my-newline)
    (callj 0)
    1566
    (pop)
    (save () 1567)
    (const arm_ldr)
    (gvar write-arm-opcode)
    (callj 1)
    1567
    (pop)
    (save () 1568)
    (const 5)
    (gvar write-push-register)
    (callj 1)
    1568
    (pop)
    (save () 1569)
    (const ", [")
    (gvar my-display)
    (callj 1)
    1569
    (pop)
    (save () 1570)
    (const 5)
    (gvar write-push-register)
    (callj 1)
    1570
    (pop)
    (save () 1571)
    (const "]")
    (gvar my-display)
    (callj 1)
    1571
    (pop)
    (gvar my-newline)
    (callj 0)
    1581
    (save () 1572)
    (const "        movw  ")
    (gvar my-display)
    (callj 1)
    1572
    (pop)
    (save () 1573)
    (const 5)
    (gvar write-push-register)
    (callj 1)
    1573
    (pop)
    (save () 1574)
    (const ", #")
    (gvar my-display)
    (callj 1)
    1574
    (pop)
    (save () 1575)
    (lvar 1 0 n)
    (const 65535)
    (bitwise-and)
    (gvar my-display)
    (callj 1)
    1575
    (pop)
    (save () 1576)
    (gvar my-newline)
    (callj 0)
    1576
    (pop)
    (save () 1577)
    (const "        movt  ")
    (gvar my-display)
    (callj 1)
    1577
    (pop)
    (save () 1578)
    (const 5)
    (gvar write-push-register)
    (callj 1)
    1578
    (pop)
    (save () 1579)
    (const ", #")
    (gvar my-display)
    (callj 1)
    1579
    (pop)
    (save () 1580)
    (lvar 1 0 n)
    (const -16)
    (arithmetic-shift)
    (const 65535)
    (bitwise-and)
    (gvar my-display)
    (callj 1)
    1580
    (pop)
    (gvar my-newline)
    (callj 0)
    (name ())
  )
  (callj 1)
  1510
  (pop)
  1622
  (gvar fast-expression)
  (bfl () 1624)
  (gvar increment-register)
  (callj 0)
  1624
  (save () 1623)
  (const "        str    r5, [r3], $4")
  (gvar my-display)
  (callj 1)
  1623
  (pop)
  (gvar my-newline)
  (callj 0)
  (name push-arm)
)
(gset push-arm)
(pop)
(proc
  (args 1)
  (gvar immediate-push)
  (bfl () 1647)
  (#f)
  (gset immediate-push)
  (pop)
  (gvar register-idx)
  (lvar 0 0 n)
  (())
  (cons)
  (cons)
  (gvar immediate-list)
  (cons)
  (gset immediate-list)
  (pop)
  (save () 1626)
  (gvar increment-register)
  (callj 0)
  1626
  (pop)
  (gvar push-x86-register-if-max)
  (callj 0)
  1647
  (gvar fast-expression)
  (bfl () 1645)
  (lvar 0 0 n)
  (0)
  (=)
  (bfl () 1635)
  (save () 1627)
  (const x86_xor)
  (gvar write-x86-opcode)
  (callj 1)
  1627
  (pop)
  (save () 1628)
  (lvar 0 0 n)
  (gvar write-push-register)
  (callj 1)
  1628
  (pop)
  (save () 1629)
  (const ", ")
  (gvar my-display)
  (callj 1)
  1629
  (pop)
  (save () 1630)
  (lvar 0 0 n)
  (gvar write-push-register)
  (callj 1)
  1630
  (pop)
  (br () 1636)
  1635
  (save () 1631)
  (const x86_mov)
  (gvar write-x86-opcode)
  (callj 1)
  1631
  (pop)
  (save () 1632)
  (lvar 0 0 n)
  (gvar write-push-register)
  (callj 1)
  1632
  (pop)
  (save () 1633)
  (const ", ")
  (gvar my-display)
  (callj 1)
  1633
  (pop)
  (save () 1634)
  (lvar 0 0 n)
  (gvar my-display)
  (callj 1)
  1634
  (pop)
  1636
  (save () 1637)
  (gvar my-newline)
  (callj 0)
  1637
  (pop)
  (save () 1638)
  (gvar increment-register)
  (callj 0)
  1638
  (pop)
  (gvar push-x86-register-if-max)
  (callj 0)
  1645
  (save () 1639)
  (const x86_mov)
  (gvar write-x86-opcode)
  (callj 1)
  1639
  (pop)
  (save () 1640)
  (const "dword [edi], ")
  (gvar my-display)
  (callj 1)
  1640
  (pop)
  (save () 1641)
  (lvar 0 0 n)
  (gvar my-display)
  (callj 1)
  1641
  (pop)
  (save () 1642)
  (gvar my-newline)
  (callj 0)
  1642
  (pop)
  (save () 1643)
  (const x86_add)
  (gvar write-x86-opcode)
  (callj 1)
  1643
  (pop)
  (save () 1644)
  (const "edi, 4")
  (gvar my-display)
  (callj 1)
  1644
  (pop)
  (gvar my-newline)
  (callj 0)
  (name push-x86)
)
(gset push-x86)
(pop)
(proc
  (args 1)
  (save () 1649)
  (0)
  (lvar 0 0 n)
  (const 5)
  (gvar write-riscv-load-number-or-symbol)
  (callj 3)
  1649
  (pop)
  (gvar fast-expression)
  (bfl () 1655)
  (gvar increment-register)
  (callj 0)
  1655
  (save () 1650)
  (const riscv_sw)
  (gvar write-riscv-opcode)
  (callj 1)
  1650
  (pop)
  (save () 1651)
  (const "s5, (s3)")
  (gvar my-display)
  (callj 1)
  1651
  (pop)
  (save () 1652)
  (gvar my-newline)
  (callj 0)
  1652
  (pop)
  (save () 1653)
  (const riscv_addi)
  (gvar write-riscv-opcode)
  (callj 1)
  1653
  (pop)
  (save () 1654)
  (const "s3, s3, 4")
  (gvar my-display)
  (callj 1)
  1654
  (pop)
  (gvar my-newline)
  (callj 0)
  (name push-riscv)
)
(gset push-riscv)
(pop)
(proc
  (args 2)
  (lvar 0 0 target)
  (proc
    (args 1)
    (lvar 0 0 g:::46)
    (const arm)
    (eqv?)
    (bfl () 1661)
    (lvar 1 1 n)
    (gvar push-arm)
    (callj 1)
    1661
    (lvar 0 0 g:::46)
    (const x86)
    (eqv?)
    (bfl () 1659)
    (lvar 1 1 n)
    (gvar push-x86)
    (callj 1)
    1659
    (lvar 0 0 g:::46)
    (const riscv)
    (eqv?)
    (bfl () 1657)
    (lvar 1 1 n)
    (gvar push-riscv)
    (callj 1)
    1657
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name push)
)
(gset push)
(pop)
(proc
  (args 1)
  (lvar 0 0 target)
  (proc
    (args 1)
    (lvar 0 0 g:::47)
    (const arm)
    (eqv?)
    (bfl () 1672)
    (save () 1663)
    (const "        ldr    r0, [r3, $-4]!")
    (gvar my-display)
    (callj 1)
    1663
    (pop)
    (save () 1664)
    (gvar my-newline)
    (callj 0)
    1664
    (pop)
    (save () 1665)
    (const "        ldr    r1, [r3, $-4]")
    (gvar my-display)
    (callj 1)
    1665
    (pop)
    (save () 1666)
    (gvar my-newline)
    (callj 0)
    1666
    (pop)
    (save () 1667)
    (const "        bl     signed_quotient")
    (gvar my-display)
    (callj 1)
    1667
    (pop)
    (save () 1668)
    (gvar my-newline)
    (callj 0)
    1668
    (pop)
    (save () 1669)
    (const "        str    r0, [r3, $-4]")
    (gvar my-display)
    (callj 1)
    1669
    (pop)
    (gvar my-newline)
    (callj 0)
    1672
    (lvar 0 0 g:::47)
    (const x86)
    (eqv?)
    (bfl () 1670)
    (const x86)
    (const my_div)
    (gvar call)
    (callj 2)
    1670
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name div)
)
(gset div)
(pop)
(proc
  (args 1)
  (lvar 0 0 target)
  (proc
    (args 1)
    (lvar 0 0 g:::48)
    (const arm)
    (eqv?)
    (bfl () 1683)
    (save () 1674)
    (const "        ldr    r0, [r3, $-4]!")
    (gvar my-display)
    (callj 1)
    1674
    (pop)
    (save () 1675)
    (gvar my-newline)
    (callj 0)
    1675
    (pop)
    (save () 1676)
    (const "        ldr    r1, [r3, $-4]")
    (gvar my-display)
    (callj 1)
    1676
    (pop)
    (save () 1677)
    (gvar my-newline)
    (callj 0)
    1677
    (pop)
    (save () 1678)
    (const "        bl     signed_remainder")
    (gvar my-display)
    (callj 1)
    1678
    (pop)
    (save () 1679)
    (gvar my-newline)
    (callj 0)
    1679
    (pop)
    (save () 1680)
    (const "        str    r0, [r3, $-4]")
    (gvar my-display)
    (callj 1)
    1680
    (pop)
    (gvar my-newline)
    (callj 0)
    1683
    (lvar 0 0 g:::48)
    (const x86)
    (eqv?)
    (bfl () 1681)
    (const x86)
    (const my_mod)
    (gvar call)
    (callj 2)
    1681
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name mod)
)
(gset mod)
(pop)
(proc
  (args 1)
  (lvar 0 0 target)
  (proc
    (args 1)
    (lvar 0 0 g:::49)
    (const arm)
    (eqv?)
    (bfl () 1726)
    (save () 1685)
    (gvar gen)
    (callj 0)
    1685
    (proc
      (args 1)
      (save () 1686)
      (const "        sub    r4, r3, $4")
      (gvar my-display)
      (callj 1)
      1686
      (pop)
      (save () 1687)
      (gvar my-newline)
      (callj 0)
      1687
      (pop)
      (save () 1688)
      (const "        ldr    r5, [r4]")
      (gvar my-display)
      (callj 1)
      1688
      (pop)
      (save () 1689)
      (gvar my-newline)
      (callj 0)
      1689
      (pop)
      (save () 1690)
      (const "        cmp    r5, $0")
      (gvar my-display)
      (callj 1)
      1690
      (pop)
      (save () 1691)
      (gvar my-newline)
      (callj 0)
      1691
      (pop)
      (save () 1692)
      (const "        bge    ")
      (gvar my-display)
      (callj 1)
      1692
      (pop)
      (save () 1693)
      (lvar 0 0 label)
      (gvar my-display-label)
      (callj 1)
      1693
      (pop)
      (save () 1694)
      (gvar my-newline)
      (callj 0)
      1694
      (pop)
      (save () 1695)
      (const "        mov    r0, $0")
      (gvar my-display)
      (callj 1)
      1695
      (pop)
      (save () 1696)
      (gvar my-newline)
      (callj 0)
      1696
      (pop)
      (save () 1697)
      (const "        sub    r5, r0, r5")
      (gvar my-display)
      (callj 1)
      1697
      (pop)
      (save () 1698)
      (gvar my-newline)
      (callj 0)
      1698
      (pop)
      (save () 1699)
      (const "        str    r5, [r4]")
      (gvar my-display)
      (callj 1)
      1699
      (pop)
      (save () 1700)
      (gvar my-newline)
      (callj 0)
      1700
      (pop)
      (save () 1701)
      (lvar 0 0 label)
      (gvar my-display-label)
      (callj 1)
      1701
      (pop)
      (save () 1702)
      (const ":")
      (gvar my-display)
      (callj 1)
      1702
      (pop)
      (gvar my-newline)
      (callj 0)
      (name ())
    )
    (callj 1)
    1726
    (lvar 0 0 g:::49)
    (const x86)
    (eqv?)
    (bfl () 1724)
    (const x86)
    (const my_abs)
    (gvar call)
    (callj 2)
    1724
    (lvar 0 0 g:::49)
    (const riscv)
    (eqv?)
    (bfl () 1722)
    (save () 1703)
    (gvar gen)
    (callj 0)
    1703
    (proc
      (args 1)
      (save () 1704)
      (const riscv_addi)
      (gvar write-riscv-opcode)
      (callj 1)
      1704
      (pop)
      (save () 1705)
      (const "s4, s3, -4")
      (gvar my-display)
      (callj 1)
      1705
      (pop)
      (save () 1706)
      (gvar my-newline)
      (callj 0)
      1706
      (pop)
      (save () 1707)
      (const riscv_lw)
      (gvar write-riscv-opcode)
      (callj 1)
      1707
      (pop)
      (save () 1708)
      (const "s5, (s4)")
      (gvar my-display)
      (callj 1)
      1708
      (pop)
      (save () 1709)
      (gvar my-newline)
      (callj 0)
      1709
      (pop)
      (save () 1710)
      (const riscv_bge)
      (gvar write-riscv-opcode)
      (callj 1)
      1710
      (pop)
      (save () 1711)
      (const "s5, zero, ")
      (gvar my-display)
      (callj 1)
      1711
      (pop)
      (save () 1712)
      (lvar 0 0 label)
      (gvar my-display-label)
      (callj 1)
      1712
      (pop)
      (save () 1713)
      (gvar my-newline)
      (callj 0)
      1713
      (pop)
      (save () 1714)
      (const riscv_sub)
      (gvar write-riscv-opcode)
      (callj 1)
      1714
      (pop)
      (save () 1715)
      (const "s5, zero, s5")
      (gvar my-display)
      (callj 1)
      1715
      (pop)
      (save () 1716)
      (gvar my-newline)
      (callj 0)
      1716
      (pop)
      (save () 1717)
      (const riscv_sw)
      (gvar write-riscv-opcode)
      (callj 1)
      1717
      (pop)
      (save () 1718)
      (const "s5, (s4)")
      (gvar my-display)
      (callj 1)
      1718
      (pop)
      (save () 1719)
      (gvar my-newline)
      (callj 0)
      1719
      (pop)
      (save () 1720)
      (lvar 0 0 label)
      (gvar my-display-label)
      (callj 1)
      1720
      (pop)
      (save () 1721)
      (const ":")
      (gvar my-display)
      (callj 1)
      1721
      (pop)
      (gvar my-newline)
      (callj 0)
      (name ())
    )
    (callj 1)
    1722
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name abs_)
)
(gset abs_)
(pop)
(proc
  (args 1)
  (lvar 0 0 target)
  (proc
    (args 1)
    (lvar 0 0 g:::50)
    (const arm)
    (eqv?)
    (bfl () 1785)
    (gvar fast-expression)
    (bfl () 1744)
    (save () 1728)
    (const arm_mov)
    (gvar write-arm-opcode)
    (callj 1)
    1728
    (pop)
    (save () 1729)
    (const "r1, $0")
    (gvar my-display)
    (callj 1)
    1729
    (pop)
    (save () 1730)
    (gvar my-newline)
    (callj 0)
    1730
    (pop)
    (save () 1731)
    (const arm_sub)
    (gvar write-arm-opcode)
    (callj 1)
    1731
    (pop)
    (save () 1732)
    (gvar write-register-minus-one)
    (callj 0)
    1732
    (pop)
    (save () 1733)
    (const ", r1, ")
    (gvar my-display)
    (callj 1)
    1733
    (pop)
    (save () 1734)
    (gvar write-register-minus-one)
    (callj 0)
    1734
    (pop)
    (gvar my-newline)
    (callj 0)
    1744
    (save () 1735)
    (const "        sub    r4, r3, $4")
    (gvar my-display)
    (callj 1)
    1735
    (pop)
    (save () 1736)
    (gvar my-newline)
    (callj 0)
    1736
    (pop)
    (save () 1737)
    (const "        ldr    r5, [r4]")
    (gvar my-display)
    (callj 1)
    1737
    (pop)
    (save () 1738)
    (gvar my-newline)
    (callj 0)
    1738
    (pop)
    (save () 1739)
    (const "        mov    r0, $0")
    (gvar my-display)
    (callj 1)
    1739
    (pop)
    (save () 1740)
    (gvar my-newline)
    (callj 0)
    1740
    (pop)
    (save () 1741)
    (const "        sub    r5, r0, r5")
    (gvar my-display)
    (callj 1)
    1741
    (pop)
    (save () 1742)
    (gvar my-newline)
    (callj 0)
    1742
    (pop)
    (save () 1743)
    (const "        str    r5, [r4]")
    (gvar my-display)
    (callj 1)
    1743
    (pop)
    (gvar my-newline)
    (callj 0)
    1785
    (lvar 0 0 g:::50)
    (const x86)
    (eqv?)
    (bfl () 1783)
    (gvar fast-expression)
    (bfl () 1762)
    (save () 1746)
    (const x86_neg)
    (gvar write-x86-opcode)
    (callj 1)
    1746
    (pop)
    (save () 1747)
    (gvar write-register-minus-one)
    (callj 0)
    1747
    (pop)
    (gvar my-newline)
    (callj 0)
    1762
    (save () 1748)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    1748
    (pop)
    (save () 1749)
    (const "ecx, edi")
    (gvar my-display)
    (callj 1)
    1749
    (pop)
    (save () 1750)
    (gvar my-newline)
    (callj 0)
    1750
    (pop)
    (save () 1751)
    (const x86_sub)
    (gvar write-x86-opcode)
    (callj 1)
    1751
    (pop)
    (save () 1752)
    (const "ecx, 4")
    (gvar my-display)
    (callj 1)
    1752
    (pop)
    (save () 1753)
    (gvar my-newline)
    (callj 0)
    1753
    (pop)
    (save () 1754)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    1754
    (pop)
    (save () 1755)
    (const "eax, [ecx]")
    (gvar my-display)
    (callj 1)
    1755
    (pop)
    (save () 1756)
    (gvar my-newline)
    (callj 0)
    1756
    (pop)
    (save () 1757)
    (const x86_neg)
    (gvar write-x86-opcode)
    (callj 1)
    1757
    (pop)
    (save () 1758)
    (const "eax")
    (gvar my-display)
    (callj 1)
    1758
    (pop)
    (save () 1759)
    (gvar my-newline)
    (callj 0)
    1759
    (pop)
    (save () 1760)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    1760
    (pop)
    (save () 1761)
    (const "[ecx], eax")
    (gvar my-display)
    (callj 1)
    1761
    (pop)
    (gvar my-newline)
    (callj 0)
    1783
    (lvar 0 0 g:::50)
    (const riscv)
    (eqv?)
    (bfl () 1781)
    (gvar fast-expression)
    (bfl () 1779)
    (save () 1764)
    (const riscv_sub)
    (gvar write-riscv-opcode)
    (callj 1)
    1764
    (pop)
    (save () 1765)
    (gvar write-register-minus-one)
    (callj 0)
    1765
    (pop)
    (save () 1766)
    (const ", zero, ")
    (gvar my-display)
    (callj 1)
    1766
    (pop)
    (save () 1767)
    (gvar write-register-minus-one)
    (callj 0)
    1767
    (pop)
    (gvar my-newline)
    (callj 0)
    1779
    (save () 1768)
    (const riscv_addi)
    (gvar write-riscv-opcode)
    (callj 1)
    1768
    (pop)
    (save () 1769)
    (const "s4, s3, -4")
    (gvar my-display)
    (callj 1)
    1769
    (pop)
    (save () 1770)
    (gvar my-newline)
    (callj 0)
    1770
    (pop)
    (save () 1771)
    (const riscv_lw)
    (gvar write-riscv-opcode)
    (callj 1)
    1771
    (pop)
    (save () 1772)
    (const "s5, (s4)")
    (gvar my-display)
    (callj 1)
    1772
    (pop)
    (save () 1773)
    (gvar my-newline)
    (callj 0)
    1773
    (pop)
    (save () 1774)
    (const riscv_sub)
    (gvar write-riscv-opcode)
    (callj 1)
    1774
    (pop)
    (save () 1775)
    (const "s5, zero, s5")
    (gvar my-display)
    (callj 1)
    1775
    (pop)
    (save () 1776)
    (gvar my-newline)
    (callj 0)
    1776
    (pop)
    (save () 1777)
    (const riscv_sw)
    (gvar write-riscv-opcode)
    (callj 1)
    1777
    (pop)
    (save () 1778)
    (const "s5, (s4)")
    (gvar my-display)
    (callj 1)
    1778
    (pop)
    (gvar my-newline)
    (callj 0)
    1781
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name negate)
)
(gset negate)
(pop)
(proc
  (args 1)
  (lvar 0 0 target)
  (proc
    (args 1)
    (lvar 0 0 g:::51)
    (const arm)
    (eqv?)
    (bfl () 1840)
    (gvar fast-expression)
    (bfl () 1798)
    (save () 1787)
    (const arm_mvn)
    (gvar write-arm-opcode)
    (callj 1)
    1787
    (pop)
    (save () 1788)
    (gvar write-register-minus-one)
    (callj 0)
    1788
    (pop)
    (save () 1789)
    (const ", ")
    (gvar my-display)
    (callj 1)
    1789
    (pop)
    (save () 1790)
    (gvar write-register-minus-one)
    (callj 0)
    1790
    (pop)
    (gvar my-newline)
    (callj 0)
    1798
    (save () 1791)
    (const "        sub    r4, r3, $4")
    (gvar my-display)
    (callj 1)
    1791
    (pop)
    (save () 1792)
    (gvar my-newline)
    (callj 0)
    1792
    (pop)
    (save () 1793)
    (const "        ldr    r5, [r4]")
    (gvar my-display)
    (callj 1)
    1793
    (pop)
    (save () 1794)
    (gvar my-newline)
    (callj 0)
    1794
    (pop)
    (save () 1795)
    (const "        mvn    r5, r5")
    (gvar my-display)
    (callj 1)
    1795
    (pop)
    (save () 1796)
    (gvar my-newline)
    (callj 0)
    1796
    (pop)
    (save () 1797)
    (const "        str    r5, [r4]")
    (gvar my-display)
    (callj 1)
    1797
    (pop)
    (gvar my-newline)
    (callj 0)
    1840
    (lvar 0 0 g:::51)
    (const x86)
    (eqv?)
    (bfl () 1838)
    (gvar fast-expression)
    (bfl () 1816)
    (save () 1800)
    (const x86_not)
    (gvar write-x86-opcode)
    (callj 1)
    1800
    (pop)
    (save () 1801)
    (gvar write-register-minus-one)
    (callj 0)
    1801
    (pop)
    (gvar my-newline)
    (callj 0)
    1816
    (save () 1802)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    1802
    (pop)
    (save () 1803)
    (const "ecx, edi")
    (gvar my-display)
    (callj 1)
    1803
    (pop)
    (save () 1804)
    (gvar my-newline)
    (callj 0)
    1804
    (pop)
    (save () 1805)
    (const x86_sub)
    (gvar write-x86-opcode)
    (callj 1)
    1805
    (pop)
    (save () 1806)
    (const "ecx, 4")
    (gvar my-display)
    (callj 1)
    1806
    (pop)
    (save () 1807)
    (gvar my-newline)
    (callj 0)
    1807
    (pop)
    (save () 1808)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    1808
    (pop)
    (save () 1809)
    (const "eax, [ecx]")
    (gvar my-display)
    (callj 1)
    1809
    (pop)
    (save () 1810)
    (gvar my-newline)
    (callj 0)
    1810
    (pop)
    (save () 1811)
    (const x86_not)
    (gvar write-x86-opcode)
    (callj 1)
    1811
    (pop)
    (save () 1812)
    (const "eax")
    (gvar my-display)
    (callj 1)
    1812
    (pop)
    (save () 1813)
    (gvar my-newline)
    (callj 0)
    1813
    (pop)
    (save () 1814)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    1814
    (pop)
    (save () 1815)
    (const "[ecx], eax")
    (gvar my-display)
    (callj 1)
    1815
    (pop)
    (gvar my-newline)
    (callj 0)
    1838
    (lvar 0 0 g:::51)
    (const riscv)
    (eqv?)
    (bfl () 1836)
    (gvar fast-expression)
    (bfl () 1834)
    (save () 1818)
    (const riscv_xori)
    (gvar write-riscv-opcode)
    (callj 1)
    1818
    (pop)
    (save () 1819)
    (gvar write-register-minus-one)
    (callj 0)
    1819
    (pop)
    (save () 1820)
    (const ", ")
    (gvar my-display)
    (callj 1)
    1820
    (pop)
    (save () 1821)
    (gvar write-register-minus-one)
    (callj 0)
    1821
    (pop)
    (save () 1822)
    (const ", -1")
    (gvar my-display)
    (callj 1)
    1822
    (pop)
    (gvar my-newline)
    (callj 0)
    1834
    (save () 1823)
    (const riscv_addi)
    (gvar write-riscv-opcode)
    (callj 1)
    1823
    (pop)
    (save () 1824)
    (const "s4, s3, -4")
    (gvar my-display)
    (callj 1)
    1824
    (pop)
    (save () 1825)
    (gvar my-newline)
    (callj 0)
    1825
    (pop)
    (save () 1826)
    (const riscv_lw)
    (gvar write-riscv-opcode)
    (callj 1)
    1826
    (pop)
    (save () 1827)
    (const "s5, (s4)")
    (gvar my-display)
    (callj 1)
    1827
    (pop)
    (save () 1828)
    (gvar my-newline)
    (callj 0)
    1828
    (pop)
    (save () 1829)
    (const riscv_xori)
    (gvar write-riscv-opcode)
    (callj 1)
    1829
    (pop)
    (save () 1830)
    (const "s5, s5, -1")
    (gvar my-display)
    (callj 1)
    1830
    (pop)
    (save () 1831)
    (gvar my-newline)
    (callj 0)
    1831
    (pop)
    (save () 1832)
    (const riscv_sw)
    (gvar write-riscv-opcode)
    (callj 1)
    1832
    (pop)
    (save () 1833)
    (const "s5, (s4)")
    (gvar my-display)
    (callj 1)
    1833
    (pop)
    (gvar my-newline)
    (callj 0)
    1836
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name bitnot)
)
(gset bitnot)
(pop)
(proc
  (args 2)
  (lvar 0 0 target)
  (proc
    (args 1)
    (lvar 0 0 g:::52)
    (const arm)
    (eqv?)
    (bfl () 1913)
    (gvar fast-expression)
    (bfl () 1865)
    (gvar fast-relop)
    (bfl () 1851)
    (save () 1842)
    (gvar fast-relop)
    (gvar write-arm-branch)
    (callj 1)
    1842
    (pop)
    (save () 1843)
    (lvar 1 1 label)
    (gvar my-display-label)
    (callj 1)
    1843
    (pop)
    (save () 1844)
    (gvar my-newline)
    (callj 0)
    1844
    (pop)
    (br () 1852)
    1851
    (save () 1845)
    (const arm_cmp)
    (gvar write-arm-opcode)
    (callj 1)
    1845
    (pop)
    (save () 1846)
    (const "r0, $1")
    (gvar my-display)
    (callj 1)
    1846
    (pop)
    (save () 1847)
    (gvar my-newline)
    (callj 0)
    1847
    (pop)
    (save () 1848)
    (const arm_beq)
    (gvar write-arm-opcode)
    (callj 1)
    1848
    (pop)
    (save () 1849)
    (lvar 1 1 label)
    (gvar my-display-label)
    (callj 1)
    1849
    (pop)
    (save () 1850)
    (gvar my-newline)
    (callj 0)
    1850
    (pop)
    1852
    (br () 1866)
    1865
    (gvar fast-relop)
    (bfl () 1863)
    (save () 1853)
    (gvar fast-relop)
    (gvar write-arm-branch)
    (callj 1)
    1853
    (pop)
    (save () 1854)
    (lvar 1 1 label)
    (gvar my-display-label)
    (callj 1)
    1854
    (pop)
    (save () 1855)
    (gvar my-newline)
    (callj 0)
    1855
    (pop)
    (br () 1864)
    1863
    (save () 1856)
    (const "        ldr    r5, [r3, $-4]!")
    (gvar my-display)
    (callj 1)
    1856
    (pop)
    (save () 1857)
    (gvar my-newline)
    (callj 0)
    1857
    (pop)
    (save () 1858)
    (const "        cmp    r5, $1")
    (gvar my-display)
    (callj 1)
    1858
    (pop)
    (save () 1859)
    (gvar my-newline)
    (callj 0)
    1859
    (pop)
    (save () 1860)
    (const "        beq    ")
    (gvar my-display)
    (callj 1)
    1860
    (pop)
    (save () 1861)
    (lvar 1 1 label)
    (gvar my-display-label)
    (callj 1)
    1861
    (pop)
    (save () 1862)
    (gvar my-newline)
    (callj 0)
    1862
    (pop)
    1864
    1866
    (#f)
    (gset fast-relop)
    (return)
    1913
    (lvar 0 0 g:::52)
    (const x86)
    (eqv?)
    (bfl () 1911)
    (gvar fast-expression)
    (bfl () 1893)
    (gvar fast-relop)
    (bfl () 1875)
    (save () 1867)
    (gvar fast-relop)
    (gvar write-x86-branch)
    (callj 1)
    1867
    (pop)
    (save () 1868)
    (lvar 1 1 label)
    (gvar my-display-label)
    (callj 1)
    1868
    (pop)
    (save () 1869)
    (gvar my-newline)
    (callj 0)
    1869
    (pop)
    (#f)
    (gset fast-relop)
    (return)
    1875
    (save () 1870)
    (const x86_cmp)
    (gvar write-x86-opcode)
    (callj 1)
    1870
    (pop)
    (save () 1871)
    (const "eax, 1")
    (gvar my-display)
    (callj 1)
    1871
    (pop)
    (save () 1872)
    (gvar my-newline)
    (callj 0)
    1872
    (pop)
    (save () 1873)
    (const x86_beq)
    (gvar write-x86-opcode)
    (callj 1)
    1873
    (pop)
    (save () 1874)
    (lvar 1 1 label)
    (gvar my-display-label)
    (callj 1)
    1874
    (pop)
    (gvar my-newline)
    (callj 0)
    1893
    (gvar fast-relop)
    (bfl () 1891)
    (save () 1877)
    (gvar fast-relop)
    (gvar write-x86-branch)
    (callj 1)
    1877
    (pop)
    (save () 1878)
    (lvar 1 1 label)
    (gvar my-display-label)
    (callj 1)
    1878
    (pop)
    (save () 1879)
    (gvar my-newline)
    (callj 0)
    1879
    (pop)
    (#f)
    (gset fast-relop)
    (return)
    1891
    (save () 1880)
    (const x86_sub)
    (gvar write-x86-opcode)
    (callj 1)
    1880
    (pop)
    (save () 1881)
    (const "edi, 4")
    (gvar my-display)
    (callj 1)
    1881
    (pop)
    (save () 1882)
    (gvar my-newline)
    (callj 0)
    1882
    (pop)
    (save () 1883)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    1883
    (pop)
    (save () 1884)
    (const "eax, [edi]")
    (gvar my-display)
    (callj 1)
    1884
    (pop)
    (save () 1885)
    (gvar my-newline)
    (callj 0)
    1885
    (pop)
    (save () 1886)
    (const x86_cmp)
    (gvar write-x86-opcode)
    (callj 1)
    1886
    (pop)
    (save () 1887)
    (const "eax, 1")
    (gvar my-display)
    (callj 1)
    1887
    (pop)
    (save () 1888)
    (gvar my-newline)
    (callj 0)
    1888
    (pop)
    (save () 1889)
    (const x86_beq)
    (gvar write-x86-opcode)
    (callj 1)
    1889
    (pop)
    (save () 1890)
    (lvar 1 1 label)
    (gvar my-display-label)
    (callj 1)
    1890
    (pop)
    (gvar my-newline)
    (callj 0)
    1911
    (lvar 0 0 g:::52)
    (const riscv)
    (eqv?)
    (bfl () 1909)
    (gvar fast-expression)
    (bfl () 1907)
    (save () 1895)
    (const riscv_bne)
    (gvar write-riscv-opcode)
    (callj 1)
    1895
    (pop)
    (save () 1896)
    (const "s0, zero, ")
    (gvar my-display)
    (callj 1)
    1896
    (pop)
    (save () 1897)
    (lvar 1 1 label)
    (gvar my-display-label)
    (callj 1)
    1897
    (pop)
    (gvar my-newline)
    (callj 0)
    1907
    (save () 1898)
    (const riscv_addi)
    (gvar write-riscv-opcode)
    (callj 1)
    1898
    (pop)
    (save () 1899)
    (const "s3, s3, -4")
    (gvar my-display)
    (callj 1)
    1899
    (pop)
    (save () 1900)
    (gvar my-newline)
    (callj 0)
    1900
    (pop)
    (save () 1901)
    (const riscv_lw)
    (gvar write-riscv-opcode)
    (callj 1)
    1901
    (pop)
    (save () 1902)
    (const "s5, (s3)")
    (gvar my-display)
    (callj 1)
    1902
    (pop)
    (save () 1903)
    (gvar my-newline)
    (callj 0)
    1903
    (pop)
    (save () 1904)
    (const riscv_bne)
    (gvar write-riscv-opcode)
    (callj 1)
    1904
    (pop)
    (save () 1905)
    (const "s5, zero, ")
    (gvar my-display)
    (callj 1)
    1905
    (pop)
    (save () 1906)
    (lvar 1 1 label)
    (gvar my-display-label)
    (callj 1)
    1906
    (pop)
    (gvar my-newline)
    (callj 0)
    1909
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name btr)
)
(gset btr)
(pop)
(proc
  (args 2)
  (lvar 0 0 target)
  (proc
    (args 1)
    (lvar 0 0 g:::53)
    (const arm)
    (eqv?)
    (bfl () 1982)
    (gvar fast-expression)
    (bfl () 1938)
    (gvar fast-relop)
    (bfl () 1924)
    (save () 1915)
    (gvar fast-relop)
    (gvar write-arm-branch-negate)
    (callj 1)
    1915
    (pop)
    (save () 1916)
    (lvar 1 1 label)
    (gvar my-display-label)
    (callj 1)
    1916
    (pop)
    (save () 1917)
    (gvar my-newline)
    (callj 0)
    1917
    (pop)
    (br () 1925)
    1924
    (save () 1918)
    (const arm_cmp)
    (gvar write-arm-opcode)
    (callj 1)
    1918
    (pop)
    (save () 1919)
    (const "r0, $0")
    (gvar my-display)
    (callj 1)
    1919
    (pop)
    (save () 1920)
    (gvar my-newline)
    (callj 0)
    1920
    (pop)
    (save () 1921)
    (const arm_beq)
    (gvar write-arm-opcode)
    (callj 1)
    1921
    (pop)
    (save () 1922)
    (lvar 1 1 label)
    (gvar my-display-label)
    (callj 1)
    1922
    (pop)
    (save () 1923)
    (gvar my-newline)
    (callj 0)
    1923
    (pop)
    1925
    (br () 1939)
    1938
    (gvar fast-relop)
    (bfl () 1936)
    (save () 1926)
    (gvar fast-relop)
    (gvar write-arm-branch-negate)
    (callj 1)
    1926
    (pop)
    (save () 1927)
    (lvar 1 1 label)
    (gvar my-display-label)
    (callj 1)
    1927
    (pop)
    (save () 1928)
    (gvar my-newline)
    (callj 0)
    1928
    (pop)
    (br () 1937)
    1936
    (save () 1929)
    (const "        ldr    r5, [r3, $-4]!")
    (gvar my-display)
    (callj 1)
    1929
    (pop)
    (save () 1930)
    (gvar my-newline)
    (callj 0)
    1930
    (pop)
    (save () 1931)
    (const "        cmp    r5, $0")
    (gvar my-display)
    (callj 1)
    1931
    (pop)
    (save () 1932)
    (gvar my-newline)
    (callj 0)
    1932
    (pop)
    (save () 1933)
    (const "        beq    ")
    (gvar my-display)
    (callj 1)
    1933
    (pop)
    (save () 1934)
    (lvar 1 1 label)
    (gvar my-display-label)
    (callj 1)
    1934
    (pop)
    (save () 1935)
    (gvar my-newline)
    (callj 0)
    1935
    (pop)
    1937
    1939
    (#f)
    (gset fast-relop)
    (return)
    1982
    (lvar 0 0 g:::53)
    (const x86)
    (eqv?)
    (bfl () 1980)
    (gvar fast-expression)
    (bfl () 1962)
    (gvar fast-relop)
    (bfl () 1948)
    (save () 1940)
    (gvar fast-relop)
    (gvar write-x86-branch-negate)
    (callj 1)
    1940
    (pop)
    (save () 1941)
    (lvar 1 1 label)
    (gvar my-display-label)
    (callj 1)
    1941
    (pop)
    (save () 1942)
    (gvar my-newline)
    (callj 0)
    1942
    (pop)
    (#f)
    (gset fast-relop)
    (return)
    1948
    (save () 1943)
    (const x86_test)
    (gvar write-x86-opcode)
    (callj 1)
    1943
    (pop)
    (save () 1944)
    (const "eax, eax")
    (gvar my-display)
    (callj 1)
    1944
    (pop)
    (save () 1945)
    (gvar my-newline)
    (callj 0)
    1945
    (pop)
    (save () 1946)
    (const x86_beq)
    (gvar write-x86-opcode)
    (callj 1)
    1946
    (pop)
    (save () 1947)
    (lvar 1 1 label)
    (gvar my-display-label)
    (callj 1)
    1947
    (pop)
    (gvar my-newline)
    (callj 0)
    1962
    (save () 1950)
    (const x86_sub)
    (gvar write-x86-opcode)
    (callj 1)
    1950
    (pop)
    (save () 1951)
    (const "edi, 4")
    (gvar my-display)
    (callj 1)
    1951
    (pop)
    (save () 1952)
    (gvar my-newline)
    (callj 0)
    1952
    (pop)
    (save () 1953)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    1953
    (pop)
    (save () 1954)
    (const "eax, [edi]")
    (gvar my-display)
    (callj 1)
    1954
    (pop)
    (save () 1955)
    (gvar my-newline)
    (callj 0)
    1955
    (pop)
    (save () 1956)
    (const x86_test)
    (gvar write-x86-opcode)
    (callj 1)
    1956
    (pop)
    (save () 1957)
    (const "eax, eax")
    (gvar my-display)
    (callj 1)
    1957
    (pop)
    (save () 1958)
    (gvar my-newline)
    (callj 0)
    1958
    (pop)
    (save () 1959)
    (const x86_beq)
    (gvar write-x86-opcode)
    (callj 1)
    1959
    (pop)
    (save () 1960)
    (lvar 1 1 label)
    (gvar my-display-label)
    (callj 1)
    1960
    (pop)
    (save () 1961)
    (gvar my-newline)
    (callj 0)
    1961
    (pop)
    (#f)
    (gset fast-relop)
    (return)
    1980
    (lvar 0 0 g:::53)
    (const riscv)
    (eqv?)
    (bfl () 1978)
    (gvar fast-expression)
    (bfl () 1976)
    (save () 1964)
    (const riscv_beq)
    (gvar write-riscv-opcode)
    (callj 1)
    1964
    (pop)
    (save () 1965)
    (const "s0, zero, ")
    (gvar my-display)
    (callj 1)
    1965
    (pop)
    (save () 1966)
    (lvar 1 1 label)
    (gvar my-display-label)
    (callj 1)
    1966
    (pop)
    (gvar my-newline)
    (callj 0)
    1976
    (save () 1967)
    (const riscv_addi)
    (gvar write-riscv-opcode)
    (callj 1)
    1967
    (pop)
    (save () 1968)
    (const "s3, s3, -4")
    (gvar my-display)
    (callj 1)
    1968
    (pop)
    (save () 1969)
    (gvar my-newline)
    (callj 0)
    1969
    (pop)
    (save () 1970)
    (const riscv_lw)
    (gvar write-riscv-opcode)
    (callj 1)
    1970
    (pop)
    (save () 1971)
    (const "s5, (s3)")
    (gvar my-display)
    (callj 1)
    1971
    (pop)
    (save () 1972)
    (gvar my-newline)
    (callj 0)
    1972
    (pop)
    (save () 1973)
    (const riscv_beq)
    (gvar write-riscv-opcode)
    (callj 1)
    1973
    (pop)
    (save () 1974)
    (const "s5, zero, ")
    (gvar my-display)
    (callj 1)
    1974
    (pop)
    (save () 1975)
    (lvar 1 1 label)
    (gvar my-display-label)
    (callj 1)
    1975
    (pop)
    (gvar my-newline)
    (callj 0)
    1978
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name bfl)
)
(gset bfl)
(pop)
(proc
  (args 2)
  (lvar 0 0 target)
  (proc
    (args 1)
    (lvar 0 0 g:::54)
    (const arm)
    (eqv?)
    (bfl () 1995)
    (save () 1984)
    (const "        b      ")
    (gvar my-display)
    (callj 1)
    1984
    (pop)
    (save () 1985)
    (lvar 1 1 label)
    (gvar my-display-label)
    (callj 1)
    1985
    (pop)
    (save () 1986)
    (gvar my-newline)
    (callj 0)
    1986
    (pop)
    (gvar ltorg)
    (callj 0)
    1995
    (lvar 0 0 g:::54)
    (const x86)
    (eqv?)
    (bfl () 1993)
    (save () 1987)
    (const x86_b)
    (gvar write-x86-opcode)
    (callj 1)
    1987
    (pop)
    (save () 1988)
    (lvar 1 1 label)
    (gvar my-display-label)
    (callj 1)
    1988
    (pop)
    (gvar my-newline)
    (callj 0)
    1993
    (lvar 0 0 g:::54)
    (const riscv)
    (eqv?)
    (bfl () 1991)
    (save () 1989)
    (const riscv_j)
    (gvar write-riscv-opcode)
    (callj 1)
    1989
    (pop)
    (save () 1990)
    (lvar 1 1 label)
    (gvar my-display-label)
    (callj 1)
    1990
    (pop)
    (gvar my-newline)
    (callj 0)
    1991
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name br)
)
(gset br)
(pop)
(proc
  (args 1)
  (lvar 0 0 target)
  (proc
    (args 1)
    (lvar 0 0 g:::55)
    (const arm)
    (eqv?)
    (bfl () 2102)
    (gvar fast-expression)
    (bfl () 2019)
    (save () 1997)
    (const arm_cmp)
    (gvar write-arm-opcode)
    (callj 1)
    1997
    (pop)
    (save () 1998)
    (gvar write-register-minus-one)
    (callj 0)
    1998
    (pop)
    (save () 1999)
    (const ", $0")
    (gvar my-display)
    (callj 1)
    1999
    (pop)
    (save () 2000)
    (gvar my-newline)
    (callj 0)
    2000
    (pop)
    (save () 2001)
    (const arm_moveq)
    (gvar write-arm-opcode)
    (callj 1)
    2001
    (pop)
    (save () 2002)
    (gvar write-register-minus-one)
    (callj 0)
    2002
    (pop)
    (save () 2003)
    (const ", $1")
    (gvar my-display)
    (callj 1)
    2003
    (pop)
    (save () 2004)
    (gvar my-newline)
    (callj 0)
    2004
    (pop)
    (save () 2005)
    (const arm_movne)
    (gvar write-arm-opcode)
    (callj 1)
    2005
    (pop)
    (save () 2006)
    (gvar write-register-minus-one)
    (callj 0)
    2006
    (pop)
    (save () 2007)
    (const ", $0")
    (gvar my-display)
    (callj 1)
    2007
    (pop)
    (gvar my-newline)
    (callj 0)
    2019
    (save () 2008)
    (const "        sub    r4, r3, $4")
    (gvar my-display)
    (callj 1)
    2008
    (pop)
    (save () 2009)
    (gvar my-newline)
    (callj 0)
    2009
    (pop)
    (save () 2010)
    (const "        ldr    r5, [r4]")
    (gvar my-display)
    (callj 1)
    2010
    (pop)
    (save () 2011)
    (gvar my-newline)
    (callj 0)
    2011
    (pop)
    (save () 2012)
    (const "        cmp    r5, $0")
    (gvar my-display)
    (callj 1)
    2012
    (pop)
    (save () 2013)
    (gvar my-newline)
    (callj 0)
    2013
    (pop)
    (save () 2014)
    (const "        moveq  r1, $1")
    (gvar my-display)
    (callj 1)
    2014
    (pop)
    (save () 2015)
    (gvar my-newline)
    (callj 0)
    2015
    (pop)
    (save () 2016)
    (const "        movne  r1, $0")
    (gvar my-display)
    (callj 1)
    2016
    (pop)
    (save () 2017)
    (gvar my-newline)
    (callj 0)
    2017
    (pop)
    (save () 2018)
    (const "        str    r1, [r4]")
    (gvar my-display)
    (callj 1)
    2018
    (pop)
    (gvar my-newline)
    (callj 0)
    2102
    (lvar 0 0 g:::55)
    (const x86)
    (eqv?)
    (bfl () 2100)
    (gvar fast-expression)
    (bfl () 2044)
    (save () 2021)
    (const x86_not)
    (gvar write-x86-opcode)
    (callj 1)
    2021
    (pop)
    (save () 2022)
    (gvar write-register-minus-one)
    (callj 0)
    2022
    (pop)
    (save () 2023)
    (gvar my-newline)
    (callj 0)
    2023
    (pop)
    (save () 2024)
    (const x86_and)
    (gvar write-x86-opcode)
    (callj 1)
    2024
    (pop)
    (save () 2025)
    (gvar write-register-minus-one)
    (callj 0)
    2025
    (pop)
    (save () 2026)
    (const ", 1")
    (gvar my-display)
    (callj 1)
    2026
    (pop)
    (gvar my-newline)
    (callj 0)
    2044
    (save () 2027)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    2027
    (pop)
    (save () 2028)
    (const "ecx, edi")
    (gvar my-display)
    (callj 1)
    2028
    (pop)
    (save () 2029)
    (gvar my-newline)
    (callj 0)
    2029
    (pop)
    (save () 2030)
    (const x86_sub)
    (gvar write-x86-opcode)
    (callj 1)
    2030
    (pop)
    (save () 2031)
    (const "ecx, 4")
    (gvar my-display)
    (callj 1)
    2031
    (pop)
    (save () 2032)
    (gvar my-newline)
    (callj 0)
    2032
    (pop)
    (save () 2033)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    2033
    (pop)
    (save () 2034)
    (const "eax, [ecx]")
    (gvar my-display)
    (callj 1)
    2034
    (pop)
    (save () 2035)
    (gvar my-newline)
    (callj 0)
    2035
    (pop)
    (save () 2036)
    (const x86_not)
    (gvar write-x86-opcode)
    (callj 1)
    2036
    (pop)
    (save () 2037)
    (const "eax")
    (gvar my-display)
    (callj 1)
    2037
    (pop)
    (save () 2038)
    (gvar my-newline)
    (callj 0)
    2038
    (pop)
    (save () 2039)
    (const x86_and)
    (gvar write-x86-opcode)
    (callj 1)
    2039
    (pop)
    (save () 2040)
    (const "eax, 1")
    (gvar my-display)
    (callj 1)
    2040
    (pop)
    (save () 2041)
    (gvar my-newline)
    (callj 0)
    2041
    (pop)
    (save () 2042)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    2042
    (pop)
    (save () 2043)
    (const "[ecx], eax")
    (gvar my-display)
    (callj 1)
    2043
    (pop)
    (gvar my-newline)
    (callj 0)
    2100
    (lvar 0 0 g:::55)
    (const riscv)
    (eqv?)
    (bfl () 2098)
    (save () 2046)
    (gvar gen)
    (callj 0)
    2046
    (save () 2047)
    (gvar gen)
    (callj 0)
    2047
    (proc
      (args 2)
      (gvar fast-expression)
      (bfl () 2096)
      (save () 2048)
      (const riscv_beq)
      (gvar write-riscv-opcode)
      (callj 1)
      2048
      (pop)
      (save () 2049)
      (gvar write-register-minus-one)
      (callj 0)
      2049
      (pop)
      (save () 2050)
      (const ", zero, ")
      (gvar my-display)
      (callj 1)
      2050
      (pop)
      (save () 2051)
      (lvar 0 0 lbl1)
      (gvar my-display-label)
      (callj 1)
      2051
      (pop)
      (save () 2052)
      (gvar my-newline)
      (callj 0)
      2052
      (pop)
      (save () 2053)
      (const riscv_li)
      (gvar write-riscv-opcode)
      (callj 1)
      2053
      (pop)
      (save () 2054)
      (gvar write-register-minus-one)
      (callj 0)
      2054
      (pop)
      (save () 2055)
      (const ", 0")
      (gvar my-display)
      (callj 1)
      2055
      (pop)
      (save () 2056)
      (gvar my-newline)
      (callj 0)
      2056
      (pop)
      (save () 2057)
      (const riscv_j)
      (gvar write-riscv-opcode)
      (callj 1)
      2057
      (pop)
      (save () 2058)
      (lvar 0 1 lbl2)
      (gvar my-display-label)
      (callj 1)
      2058
      (pop)
      (save () 2059)
      (gvar my-newline)
      (callj 0)
      2059
      (pop)
      (save () 2060)
      (lvar 0 0 lbl1)
      (gvar my-display-label)
      (callj 1)
      2060
      (pop)
      (save () 2061)
      (const ":")
      (gvar my-display)
      (callj 1)
      2061
      (pop)
      (save () 2062)
      (gvar my-newline)
      (callj 0)
      2062
      (pop)
      (save () 2063)
      (const riscv_li)
      (gvar write-riscv-opcode)
      (callj 1)
      2063
      (pop)
      (save () 2064)
      (gvar write-register-minus-one)
      (callj 0)
      2064
      (pop)
      (save () 2065)
      (const ", 1")
      (gvar my-display)
      (callj 1)
      2065
      (pop)
      (save () 2066)
      (gvar my-newline)
      (callj 0)
      2066
      (pop)
      (save () 2067)
      (lvar 0 1 lbl2)
      (gvar my-display-label)
      (callj 1)
      2067
      (pop)
      (save () 2068)
      (const ":")
      (gvar my-display)
      (callj 1)
      2068
      (pop)
      (gvar my-newline)
      (callj 0)
      2096
      (save () 2069)
      (const riscv_addi)
      (gvar write-riscv-opcode)
      (callj 1)
      2069
      (pop)
      (save () 2070)
      (const "s4, s3, -4")
      (gvar my-display)
      (callj 1)
      2070
      (pop)
      (save () 2071)
      (gvar my-newline)
      (callj 0)
      2071
      (pop)
      (save () 2072)
      (const riscv_lw)
      (gvar write-riscv-opcode)
      (callj 1)
      2072
      (pop)
      (save () 2073)
      (const "s5, (s4)")
      (gvar my-display)
      (callj 1)
      2073
      (pop)
      (save () 2074)
      (gvar my-newline)
      (callj 0)
      2074
      (pop)
      (save () 2075)
      (const riscv_beq)
      (gvar write-riscv-opcode)
      (callj 1)
      2075
      (pop)
      (save () 2076)
      (const "s5, zero, ")
      (gvar my-display)
      (callj 1)
      2076
      (pop)
      (save () 2077)
      (lvar 0 0 lbl1)
      (gvar my-display-label)
      (callj 1)
      2077
      (pop)
      (save () 2078)
      (gvar my-newline)
      (callj 0)
      2078
      (pop)
      (save () 2079)
      (const riscv_li)
      (gvar write-riscv-opcode)
      (callj 1)
      2079
      (pop)
      (save () 2080)
      (const "s1, 0")
      (gvar my-display)
      (callj 1)
      2080
      (pop)
      (save () 2081)
      (gvar my-newline)
      (callj 0)
      2081
      (pop)
      (save () 2082)
      (const riscv_j)
      (gvar write-riscv-opcode)
      (callj 1)
      2082
      (pop)
      (save () 2083)
      (lvar 0 1 lbl2)
      (gvar my-display-label)
      (callj 1)
      2083
      (pop)
      (save () 2084)
      (gvar my-newline)
      (callj 0)
      2084
      (pop)
      (save () 2085)
      (lvar 0 0 lbl1)
      (gvar my-display-label)
      (callj 1)
      2085
      (pop)
      (save () 2086)
      (const ":")
      (gvar my-display)
      (callj 1)
      2086
      (pop)
      (save () 2087)
      (gvar my-newline)
      (callj 0)
      2087
      (pop)
      (save () 2088)
      (const riscv_li)
      (gvar write-riscv-opcode)
      (callj 1)
      2088
      (pop)
      (save () 2089)
      (const "s1, 1")
      (gvar my-display)
      (callj 1)
      2089
      (pop)
      (save () 2090)
      (gvar my-newline)
      (callj 0)
      2090
      (pop)
      (save () 2091)
      (lvar 0 1 lbl2)
      (gvar my-display-label)
      (callj 1)
      2091
      (pop)
      (save () 2092)
      (const ":")
      (gvar my-display)
      (callj 1)
      2092
      (pop)
      (save () 2093)
      (gvar my-newline)
      (callj 0)
      2093
      (pop)
      (save () 2094)
      (const riscv_sw)
      (gvar write-riscv-opcode)
      (callj 1)
      2094
      (pop)
      (save () 2095)
      (const "s1, (s4)")
      (gvar my-display)
      (callj 1)
      2095
      (pop)
      (gvar my-newline)
      (callj 0)
      (name ())
    )
    (callj 2)
    2098
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name not_)
)
(gset not_)
(pop)
(proc
  (args 1)
  (lvar 0 0 name)
  (const main)
  (eq?)
  (bfl () 2104)
  (const __main)
  (display)
  (return)
  2104
  (lvar 0 0 name)
  (display)
  (return)
  (name display-name)
)
(gset display-name)
(pop)
(proc
  (args 1)
  (lvar 0 0 name)
  (const main)
  (eq?)
  (bfl () 2106)
  (const __main)
  (gvar my-display)
  (callj 1)
  2106
  (lvar 0 0 name)
  (gvar my-display)
  (callj 1)
  (name my-display-name)
)
(gset my-display-name)
(pop)
(proc
  (args 2)
  (lvar 0 0 target)
  (proc
    (args 1)
    (lvar 0 0 g:::56)
    (const arm)
    (eqv?)
    (bfl () 2118)
    (save () 2108)
    (const "        bl     ")
    (gvar my-display)
    (callj 1)
    2108
    (pop)
    (save () 2109)
    (lvar 1 1 name)
    (gvar my-display-name)
    (callj 1)
    2109
    (pop)
    (gvar my-newline)
    (callj 0)
    2118
    (lvar 0 0 g:::56)
    (const x86)
    (eqv?)
    (bfl () 2116)
    (save () 2110)
    (const x86_call)
    (gvar write-x86-opcode)
    (callj 1)
    2110
    (pop)
    (save () 2111)
    (lvar 1 1 name)
    (gvar my-display-name)
    (callj 1)
    2111
    (pop)
    (gvar my-newline)
    (callj 0)
    2116
    (lvar 0 0 g:::56)
    (const riscv)
    (eqv?)
    (bfl () 2114)
    (save () 2112)
    (const riscv_call)
    (gvar write-riscv-opcode)
    (callj 1)
    2112
    (pop)
    (save () 2113)
    (lvar 1 1 name)
    (gvar my-display-name)
    (callj 1)
    2113
    (pop)
    (gvar my-newline)
    (callj 0)
    2114
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name call)
)
(gset call)
(pop)
(proc
  (args 1)
  (lvar 0 0 target)
  (proc
    (args 1)
    (lvar 0 0 g:::57)
    (const arm)
    (eqv?)
    (bfl () 2135)
    (save () 2120)
    (const "        ldmfd  sp!, {fp, pc}")
    (gvar my-display)
    (callj 1)
    2120
    (pop)
    (save () 2121)
    (gvar my-newline)
    (callj 0)
    2121
    (pop)
    (gvar ltorg)
    (callj 0)
    2135
    (lvar 0 0 g:::57)
    (const x86)
    (eqv?)
    (bfl () 2133)
    (save () 2122)
    (const x86_ret)
    (gvar write-x86-opcode)
    (callj 1)
    2122
    (pop)
    (gvar my-newline)
    (callj 0)
    2133
    (lvar 0 0 g:::57)
    (const riscv)
    (eqv?)
    (bfl () 2131)
    (save () 2123)
    (const riscv_ld)
    (gvar write-riscv-opcode)
    (callj 1)
    2123
    (pop)
    (save () 2124)
    (const "ra, (sp)")
    (gvar my-display)
    (callj 1)
    2124
    (pop)
    (save () 2125)
    (gvar my-newline)
    (callj 0)
    2125
    (pop)
    (save () 2126)
    (const riscv_add)
    (gvar write-riscv-opcode)
    (callj 1)
    2126
    (pop)
    (save () 2127)
    (const "sp, sp, 8")
    (gvar my-display)
    (callj 1)
    2127
    (pop)
    (save () 2128)
    (gvar my-newline)
    (callj 0)
    2128
    (pop)
    (save () 2129)
    (const riscv_jr)
    (gvar write-riscv-opcode)
    (callj 1)
    2129
    (pop)
    (save () 2130)
    (const "ra")
    (gvar my-display)
    (callj 1)
    2130
    (pop)
    (gvar my-newline)
    (callj 0)
    2131
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name return)
)
(gset return)
(pop)
(proc
  (args 1)
  (lvar 0 0 target)
  (proc
    (args 1)
    (lvar 0 0 g:::58)
    (const arm)
    (eqv?)
    (bfl () 2221)
    (save () 2137)
    (gvar gen)
    (callj 0)
    2137
    (save () 2138)
    (gvar gen)
    (callj 0)
    2138
    (proc
      (args 2)
      (save () 2139)
      (const "        ldr    r0, =eof_reached")
      (gvar my-display)
      (callj 1)
      2139
      (pop)
      (save () 2140)
      (gvar my-newline)
      (callj 0)
      2140
      (pop)
      (save () 2141)
      (const "        ldr    r0, [r0]")
      (gvar my-display)
      (callj 1)
      2141
      (pop)
      (save () 2142)
      (gvar my-newline)
      (callj 0)
      2142
      (pop)
      (save () 2143)
      (const "        cmp    r0, $0")
      (gvar my-display)
      (callj 1)
      2143
      (pop)
      (save () 2144)
      (gvar my-newline)
      (callj 0)
      2144
      (pop)
      (save () 2145)
      (const "        bne    ")
      (gvar my-display)
      (callj 1)
      2145
      (pop)
      (save () 2146)
      (lvar 0 0 label1)
      (gvar my-display-label)
      (callj 1)
      2146
      (pop)
      (save () 2147)
      (gvar my-newline)
      (callj 0)
      2147
      (pop)
      (save () 2148)
      (const "        bl     _read_char")
      (gvar my-display)
      (callj 1)
      2148
      (pop)
      (save () 2149)
      (gvar my-newline)
      (callj 0)
      2149
      (pop)
      (save () 2150)
      (const "        b      ")
      (gvar my-display)
      (callj 1)
      2150
      (pop)
      (save () 2151)
      (lvar 0 1 label2)
      (gvar my-display-label)
      (callj 1)
      2151
      (pop)
      (save () 2152)
      (gvar my-newline)
      (callj 0)
      2152
      (pop)
      (save () 2153)
      (gvar ltorg)
      (callj 0)
      2153
      (pop)
      (save () 2154)
      (lvar 0 0 label1)
      (gvar my-display-label)
      (callj 1)
      2154
      (pop)
      (save () 2155)
      (const ":")
      (gvar my-display)
      (callj 1)
      2155
      (pop)
      (save () 2156)
      (gvar my-newline)
      (callj 0)
      2156
      (pop)
      (save () 2157)
      (const "        ldr    r0, =in_ch")
      (gvar my-display)
      (callj 1)
      2157
      (pop)
      (save () 2158)
      (gvar my-newline)
      (callj 0)
      2158
      (pop)
      (save () 2159)
      (const "        mvn    r1, $0")
      (gvar my-display)
      (callj 1)
      2159
      (pop)
      (save () 2160)
      (gvar my-newline)
      (callj 0)
      2160
      (pop)
      (save () 2161)
      (const "        str    r1, [r0]")
      (gvar my-display)
      (callj 1)
      2161
      (pop)
      (save () 2162)
      (gvar my-newline)
      (callj 0)
      2162
      (pop)
      (save () 2163)
      (lvar 0 1 label2)
      (gvar my-display-label)
      (callj 1)
      2163
      (pop)
      (save () 2164)
      (const ":")
      (gvar my-display)
      (callj 1)
      2164
      (pop)
      (save () 2165)
      (gvar my-newline)
      (callj 0)
      2165
      (pop)
      (save () 2166)
      (const "        ldr    r1, =in_ch")
      (gvar my-display)
      (callj 1)
      2166
      (pop)
      (save () 2167)
      (gvar my-newline)
      (callj 0)
      2167
      (pop)
      (save () 2168)
      (const "        ldr    r1, [r1]")
      (gvar my-display)
      (callj 1)
      2168
      (pop)
      (save () 2169)
      (gvar my-newline)
      (callj 0)
      2169
      (pop)
      (save () 2170)
      (const "        str    r1, [r3], $4")
      (gvar my-display)
      (callj 1)
      2170
      (pop)
      (gvar my-newline)
      (callj 0)
      (name ())
    )
    (callj 2)
    2221
    (lvar 0 0 g:::58)
    (const x86)
    (eqv?)
    (bfl () 2219)
    (save () 2171)
    (const x86_call)
    (gvar write-x86-opcode)
    (callj 1)
    2171
    (pop)
    (save () 2172)
    (const "_read_char")
    (gvar my-display)
    (callj 1)
    2172
    (pop)
    (save () 2173)
    (gvar my-newline)
    (callj 0)
    2173
    (pop)
    (save () 2174)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    2174
    (pop)
    (save () 2175)
    (const "[edi], eax")
    (gvar my-display)
    (callj 1)
    2175
    (pop)
    (save () 2176)
    (gvar my-newline)
    (callj 0)
    2176
    (pop)
    (save () 2177)
    (const x86_add)
    (gvar write-x86-opcode)
    (callj 1)
    2177
    (pop)
    (save () 2178)
    (const "edi, 4")
    (gvar my-display)
    (callj 1)
    2178
    (pop)
    (gvar my-newline)
    (callj 0)
    2219
    (lvar 0 0 g:::58)
    (const riscv)
    (eqv?)
    (bfl () 2217)
    (save () 2179)
    (gvar gen)
    (callj 0)
    2179
    (save () 2180)
    (gvar gen)
    (callj 0)
    2180
    (proc
      (args 2)
      (save () 2181)
      (1)
      (0)
      (0)
      (gvar write-riscv-load-number-or-symbol)
      (callj 3)
      2181
      (pop)
      (save () 2182)
      (const riscv_lw)
      (gvar write-riscv-opcode)
      (callj 1)
      2182
      (pop)
      (save () 2183)
      (const "s0, (s0)")
      (gvar my-display)
      (callj 1)
      2183
      (pop)
      (save () 2184)
      (gvar my-newline)
      (callj 0)
      2184
      (pop)
      (save () 2185)
      (const riscv_bne)
      (gvar write-riscv-opcode)
      (callj 1)
      2185
      (pop)
      (save () 2186)
      (const "s0, zero, ")
      (gvar my-display)
      (callj 1)
      2186
      (pop)
      (save () 2187)
      (lvar 0 0 lbl1)
      (gvar my-display-label)
      (callj 1)
      2187
      (pop)
      (save () 2188)
      (gvar my-newline)
      (callj 0)
      2188
      (pop)
      (save () 2189)
      (const riscv_call)
      (gvar write-riscv-opcode)
      (callj 1)
      2189
      (pop)
      (save () 2190)
      (const "_read_char")
      (gvar my-display)
      (callj 1)
      2190
      (pop)
      (save () 2191)
      (gvar my-newline)
      (callj 0)
      2191
      (pop)
      (save () 2192)
      (const riscv_j)
      (gvar write-riscv-opcode)
      (callj 1)
      2192
      (pop)
      (save () 2193)
      (lvar 0 1 lbl2)
      (gvar my-display-label)
      (callj 1)
      2193
      (pop)
      (save () 2194)
      (gvar my-newline)
      (callj 0)
      2194
      (pop)
      (save () 2195)
      (lvar 0 0 lbl1)
      (gvar my-display-label)
      (callj 1)
      2195
      (pop)
      (save () 2196)
      (const ":")
      (gvar my-display)
      (callj 1)
      2196
      (pop)
      (save () 2197)
      (gvar my-newline)
      (callj 0)
      2197
      (pop)
      (save () 2198)
      (1)
      (1)
      (0)
      (gvar write-riscv-load-number-or-symbol)
      (callj 3)
      2198
      (pop)
      (save () 2199)
      (const riscv_addi)
      (gvar write-riscv-opcode)
      (callj 1)
      2199
      (pop)
      (save () 2200)
      (const "s1, zero, -1")
      (gvar my-display)
      (callj 1)
      2200
      (pop)
      (save () 2201)
      (gvar my-newline)
      (callj 0)
      2201
      (pop)
      (save () 2202)
      (const riscv_sw)
      (gvar write-riscv-opcode)
      (callj 1)
      2202
      (pop)
      (save () 2203)
      (const "s1, (s0)")
      (gvar my-display)
      (callj 1)
      2203
      (pop)
      (save () 2204)
      (gvar my-newline)
      (callj 0)
      2204
      (pop)
      (save () 2205)
      (lvar 0 1 lbl2)
      (gvar my-display-label)
      (callj 1)
      2205
      (pop)
      (save () 2206)
      (const ":")
      (gvar my-display)
      (callj 1)
      2206
      (pop)
      (save () 2207)
      (gvar my-newline)
      (callj 0)
      2207
      (pop)
      (save () 2208)
      (1)
      (1)
      (1)
      (gvar write-riscv-load-number-or-symbol)
      (callj 3)
      2208
      (pop)
      (save () 2209)
      (const riscv_lw)
      (gvar write-riscv-opcode)
      (callj 1)
      2209
      (pop)
      (save () 2210)
      (const "s1, (s1)")
      (gvar my-display)
      (callj 1)
      2210
      (pop)
      (save () 2211)
      (gvar my-newline)
      (callj 0)
      2211
      (pop)
      (save () 2212)
      (const riscv_sw)
      (gvar write-riscv-opcode)
      (callj 1)
      2212
      (pop)
      (save () 2213)
      (const "s1, (s3)")
      (gvar my-display)
      (callj 1)
      2213
      (pop)
      (save () 2214)
      (gvar my-newline)
      (callj 0)
      2214
      (pop)
      (save () 2215)
      (const riscv_addi)
      (gvar write-riscv-opcode)
      (callj 1)
      2215
      (pop)
      (save () 2216)
      (const "s3, s3, 4")
      (gvar my-display)
      (callj 1)
      2216
      (pop)
      (gvar my-newline)
      (callj 0)
      (name ())
    )
    (callj 2)
    2217
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name read-char_)
)
(gset read-char_)
(pop)
(proc
  (args 1)
  (lvar 0 0 target)
  (proc
    (args 1)
    (lvar 0 0 g:::59)
    (const arm)
    (eqv?)
    (bfl () 2246)
    (save () 2223)
    (const "        ldr    r0, [r3, $-4]!")
    (gvar my-display)
    (callj 1)
    2223
    (pop)
    (save () 2224)
    (gvar my-newline)
    (callj 0)
    2224
    (pop)
    (save () 2225)
    (const "        bl     print_integer")
    (gvar my-display)
    (callj 1)
    2225
    (pop)
    (gvar my-newline)
    (callj 0)
    2246
    (lvar 0 0 g:::59)
    (const x86)
    (eqv?)
    (bfl () 2244)
    (save () 2226)
    (const x86_sub)
    (gvar write-x86-opcode)
    (callj 1)
    2226
    (pop)
    (save () 2227)
    (const "edi, 4")
    (gvar my-display)
    (callj 1)
    2227
    (pop)
    (save () 2228)
    (gvar my-newline)
    (callj 0)
    2228
    (pop)
    (save () 2229)
    (const x86_mov)
    (gvar write-x86-opcode)
    (callj 1)
    2229
    (pop)
    (save () 2230)
    (const "eax, [edi]")
    (gvar my-display)
    (callj 1)
    2230
    (pop)
    (save () 2231)
    (gvar my-newline)
    (callj 0)
    2231
    (pop)
    (save () 2232)
    (const x86_call)
    (gvar write-x86-opcode)
    (callj 1)
    2232
    (pop)
    (save () 2233)
    (const "_write_int")
    (gvar my-display)
    (callj 1)
    2233
    (pop)
    (gvar my-newline)
    (callj 0)
    2244
    (lvar 0 0 g:::59)
    (const riscv)
    (eqv?)
    (bfl () 2242)
    (save () 2234)
    (const riscv_lw)
    (gvar write-riscv-opcode)
    (callj 1)
    2234
    (pop)
    (save () 2235)
    (const "s0, -4(s3)")
    (gvar my-display)
    (callj 1)
    2235
    (pop)
    (save () 2236)
    (gvar my-newline)
    (callj 0)
    2236
    (pop)
    (save () 2237)
    (const riscv_addi)
    (gvar write-riscv-opcode)
    (callj 1)
    2237
    (pop)
    (save () 2238)
    (const "s3, s3, -4")
    (gvar my-display)
    (callj 1)
    2238
    (pop)
    (save () 2239)
    (gvar my-newline)
    (callj 0)
    2239
    (pop)
    (save () 2240)
    (const riscv_call)
    (gvar write-riscv-opcode)
    (callj 1)
    2240
    (pop)
    (save () 2241)
    (const "print_integer")
    (gvar my-display)
    (callj 1)
    2241
    (pop)
    (gvar my-newline)
    (callj 0)
    2242
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name display_)
)
(gset display_)
(pop)
(proc
  (args 1)
  (lvar 0 0 target)
  (proc
    (args 1)
    (lvar 0 0 g:::60)
    (const arm)
    (eqv?)
    (bfl () 2262)
    (save () 2248)
    (const "        ldr    r0, =newline")
    (gvar my-display)
    (callj 1)
    2248
    (pop)
    (save () 2249)
    (gvar my-newline)
    (callj 0)
    2249
    (pop)
    (save () 2250)
    (const "        bl     my_printf")
    (gvar my-display)
    (callj 1)
    2250
    (pop)
    (gvar my-newline)
    (callj 0)
    2262
    (lvar 0 0 g:::60)
    (const x86)
    (eqv?)
    (bfl () 2260)
    (save () 2251)
    (const x86_call)
    (gvar write-x86-opcode)
    (callj 1)
    2251
    (pop)
    (save () 2252)
    (const "my_newline")
    (gvar my-display)
    (callj 1)
    2252
    (pop)
    (gvar my-newline)
    (callj 0)
    2260
    (lvar 0 0 g:::60)
    (const riscv)
    (eqv?)
    (bfl () 2258)
    (save () 2253)
    (const riscv_li)
    (gvar write-riscv-opcode)
    (callj 1)
    2253
    (pop)
    (save () 2254)
    (const "t0, 10")
    (gvar my-display)
    (callj 1)
    2254
    (pop)
    (save () 2255)
    (gvar my-newline)
    (callj 0)
    2255
    (pop)
    (save () 2256)
    (const riscv_call)
    (gvar write-riscv-opcode)
    (callj 1)
    2256
    (pop)
    (save () 2257)
    (const "print_character")
    (gvar my-display)
    (callj 1)
    2257
    (pop)
    (gvar my-newline)
    (callj 0)
    2258
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name newline_)
)
(gset newline_)
(pop)
(proc
  (args 1)
  (lvar 0 0 target)
  (proc
    (args 1)
    (lvar 0 0 g:::61)
    (const arm)
    (eqv?)
    (bfl () 2271)
    (save () 2264)
    (const "        b      _cleanup")
    (gvar my-display)
    (callj 1)
    2264
    (pop)
    (gvar my-newline)
    (callj 0)
    2271
    (lvar 0 0 g:::61)
    (const x86)
    (eqv?)
    (bfl () 2269)
    (lvar 1 0 target)
    (const _my_exit)
    (gvar call)
    (callj 2)
    2269
    (lvar 0 0 g:::61)
    (const riscv)
    (eqv?)
    (bfl () 2267)
    (save () 2265)
    (const riscv_j)
    (gvar write-riscv-opcode)
    (callj 1)
    2265
    (pop)
    (save () 2266)
    (const "_cleanup")
    (gvar my-display)
    (callj 1)
    2266
    (pop)
    (gvar my-newline)
    (callj 0)
    2267
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name exit_)
)
(gset exit_)
(pop)
(proc
  (args 1)
  (lvar 0 0 target)
  (proc
    (args 1)
    (lvar 0 0 g:::62)
    (const arm)
    (eqv?)
    (bfl () 2290)
    (save () 2273)
    (const "        ldr    r2, [r3, $-4]!")
    (gvar my-display)
    (callj 1)
    2273
    (pop)
    (save () 2274)
    (gvar my-newline)
    (callj 0)
    2274
    (pop)
    (save () 2275)
    (const "        bl     _print_character")
    (gvar my-display)
    (callj 1)
    2275
    (pop)
    (gvar my-newline)
    (callj 0)
    2290
    (lvar 0 0 g:::62)
    (const x86)
    (eqv?)
    (bfl () 2288)
    (save () 2276)
    (const x86_call)
    (gvar write-x86-opcode)
    (callj 1)
    2276
    (pop)
    (save () 2277)
    (const "_write_char")
    (gvar my-display)
    (callj 1)
    2277
    (pop)
    (gvar my-newline)
    (callj 0)
    2288
    (lvar 0 0 g:::62)
    (const riscv)
    (eqv?)
    (bfl () 2286)
    (save () 2278)
    (const riscv_lw)
    (gvar write-riscv-opcode)
    (callj 1)
    2278
    (pop)
    (save () 2279)
    (const "t0, -4(s3)")
    (gvar my-display)
    (callj 1)
    2279
    (pop)
    (save () 2280)
    (gvar my-newline)
    (callj 0)
    2280
    (pop)
    (save () 2281)
    (const riscv_addi)
    (gvar write-riscv-opcode)
    (callj 1)
    2281
    (pop)
    (save () 2282)
    (const "s3, s3, -4")
    (gvar my-display)
    (callj 1)
    2282
    (pop)
    (save () 2283)
    (gvar my-newline)
    (callj 0)
    2283
    (pop)
    (save () 2284)
    (const riscv_call)
    (gvar write-riscv-opcode)
    (callj 1)
    2284
    (pop)
    (save () 2285)
    (const "print_character")
    (gvar my-display)
    (callj 1)
    2285
    (pop)
    (gvar my-newline)
    (callj 0)
    2286
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name write-char_)
)
(gset write-char_)
(pop)
(proc
  (args 2)
  (lvar 0 1 labels)
  (null?)
  (not)
  (bfl () 2308)
  (lvar 0 1 labels)
  (car)
  (cadr)
  (proc
    (args 1)
    (save () 2292)
    (lvar 1 0 target)
    (proc
      (args 1)
      (lvar 0 0 g:::63)
      (const arm)
      (eqv?)
      (bfl () 2306)
      (save () 2293)
      (const "        b      ")
      (gvar my-display)
      (callj 1)
      2293
      (pop)
      (save () 2294)
      (lvar 1 0 label)
      (gvar my-display-label)
      (callj 1)
      2294
      (pop)
      (gvar my-newline)
      (callj 0)
      2306
      (lvar 0 0 g:::63)
      (const x86)
      (eqv?)
      (bfl () 2304)
      (save () 2295)
      (const x86_b)
      (gvar write-x86-opcode)
      (callj 1)
      2295
      (pop)
      (save () 2296)
      (lvar 1 0 label)
      (gvar my-display-label)
      (callj 1)
      2296
      (pop)
      (save () 2297)
      (gvar my-newline)
      (callj 0)
      2297
      (pop)
      (save () 2298)
      (const x86_align)
      (gvar write-x86-opcode)
      (callj 1)
      2298
      (pop)
      (save () 2299)
      (const 16)
      (gvar my-display)
      (callj 1)
      2299
      (pop)
      (gvar my-newline)
      (callj 0)
      2304
      (lvar 0 0 g:::63)
      (const riscv)
      (eqv?)
      (bfl () 2302)
      (save () 2300)
      (const riscv_j)
      (gvar write-riscv-opcode)
      (callj 1)
      2300
      (pop)
      (save () 2301)
      (lvar 1 0 label)
      (gvar my-display-label)
      (callj 1)
      2301
      (pop)
      (gvar my-newline)
      (callj 0)
      2302
      (#f)
      (return)
      (name ())
    )
    (callj 1)
    2292
    (pop)
    (lvar 1 0 target)
    (lvar 1 1 labels)
    (cdr)
    (gvar display-brtable-labels)
    (callj 2)
    (name ())
  )
  (callj 1)
  2308
  (())
  (return)
  (name display-brtable-labels)
)
(gset display-brtable-labels)
(pop)
(proc
  (args 2)
  (lvar 0 0 target)
  (proc
    (args 1)
    (lvar 0 0 g:::64)
    (const arm)
    (eqv?)
    (bfl () 2368)
    (save () 2310)
    (gvar gen)
    (callj 0)
    2310
    (proc
      (args 1)
      (save () 2311)
      (const "        ldr    r0, [r3, $-4]!")
      (gvar my-display)
      (callj 1)
      2311
      (pop)
      (save () 2312)
      (gvar my-newline)
      (callj 0)
      2312
      (pop)
      (save () 2313)
      (const "        ldr    r1, =.l")
      (gvar my-display)
      (callj 1)
      2313
      (pop)
      (save () 2314)
      (lvar 0 0 branch-table-label)
      (gvar my-display)
      (callj 1)
      2314
      (pop)
      (save () 2315)
      (gvar my-newline)
      (callj 0)
      2315
      (pop)
      (save () 2316)
      (const "        add    pc, r1, r0, lsl $2")
      (gvar my-display)
      (callj 1)
      2316
      (pop)
      (save () 2317)
      (gvar my-newline)
      (callj 0)
      2317
      (pop)
      (save () 2318)
      (lvar 0 0 branch-table-label)
      (gvar my-display-label)
      (callj 1)
      2318
      (pop)
      (save () 2319)
      (const ":")
      (gvar my-display)
      (callj 1)
      2319
      (pop)
      (save () 2320)
      (gvar my-newline)
      (callj 0)
      2320
      (pop)
      (lvar 2 0 target)
      (lvar 2 1 labels)
      (gvar display-brtable-labels)
      (callj 2)
      (name ())
    )
    (callj 1)
    2368
    (lvar 0 0 g:::64)
    (const x86)
    (eqv?)
    (bfl () 2366)
    (save () 2321)
    (gvar gen)
    (callj 0)
    2321
    (proc
      (args 1)
      (save () 2322)
      (const x86_sub)
      (gvar write-x86-opcode)
      (callj 1)
      2322
      (pop)
      (save () 2323)
      (const "edi, 4")
      (gvar my-display)
      (callj 1)
      2323
      (pop)
      (save () 2324)
      (gvar my-newline)
      (callj 0)
      2324
      (pop)
      (save () 2325)
      (const x86_mov)
      (gvar write-x86-opcode)
      (callj 1)
      2325
      (pop)
      (save () 2326)
      (const "eax, [edi]")
      (gvar my-display)
      (callj 1)
      2326
      (pop)
      (save () 2327)
      (gvar my-newline)
      (callj 0)
      2327
      (pop)
      (save () 2328)
      (const x86_shl)
      (gvar write-x86-opcode)
      (callj 1)
      2328
      (pop)
      (save () 2329)
      (const "eax, 4")
      (gvar my-display)
      (callj 1)
      2329
      (pop)
      (save () 2330)
      (gvar my-newline)
      (callj 0)
      2330
      (pop)
      (save () 2331)
      (const x86_add)
      (gvar write-x86-opcode)
      (callj 1)
      2331
      (pop)
      (save () 2332)
      (const "eax, .l")
      (gvar my-display)
      (callj 1)
      2332
      (pop)
      (save () 2333)
      (lvar 0 0 branch-table-label)
      (gvar my-display)
      (callj 1)
      2333
      (pop)
      (save () 2334)
      (gvar my-newline)
      (callj 0)
      2334
      (pop)
      (save () 2335)
      (const x86_b)
      (gvar write-x86-opcode)
      (callj 1)
      2335
      (pop)
      (save () 2336)
      (const "rax")
      (gvar my-display)
      (callj 1)
      2336
      (pop)
      (save () 2337)
      (gvar my-newline)
      (callj 0)
      2337
      (pop)
      (save () 2338)
      (const x86_align)
      (gvar write-x86-opcode)
      (callj 1)
      2338
      (pop)
      (save () 2339)
      (const "16")
      (gvar my-display)
      (callj 1)
      2339
      (pop)
      (save () 2340)
      (gvar my-newline)
      (callj 0)
      2340
      (pop)
      (save () 2341)
      (lvar 0 0 branch-table-label)
      (gvar my-display-label)
      (callj 1)
      2341
      (pop)
      (save () 2342)
      (const ":")
      (gvar my-display)
      (callj 1)
      2342
      (pop)
      (save () 2343)
      (gvar my-newline)
      (callj 0)
      2343
      (pop)
      (lvar 2 0 target)
      (lvar 2 1 labels)
      (gvar display-brtable-labels)
      (callj 2)
      (name ())
    )
    (callj 1)
    2366
    (lvar 0 0 g:::64)
    (const riscv)
    (eqv?)
    (bfl () 2364)
    (save () 2344)
    (gvar gen)
    (callj 0)
    2344
    (proc
      (args 1)
      (save () 2345)
      (const riscv_addi)
      (gvar write-riscv-opcode)
      (callj 1)
      2345
      (pop)
      (save () 2346)
      (const "s3, s3, -4")
      (gvar my-display)
      (callj 1)
      2346
      (pop)
      (save () 2347)
      (gvar my-newline)
      (callj 0)
      2347
      (pop)
      (save () 2348)
      (const riscv_lw)
      (gvar write-riscv-opcode)
      (callj 1)
      2348
      (pop)
      (save () 2349)
      (const "s0, (s3)")
      (gvar my-display)
      (callj 1)
      2349
      (pop)
      (save () 2350)
      (gvar my-newline)
      (callj 0)
      2350
      (pop)
      (save () 2351)
      (const riscv_slli)
      (gvar write-riscv-opcode)
      (callj 1)
      2351
      (pop)
      (save () 2352)
      (const "s0, s0, 2")
      (gvar my-display)
      (callj 1)
      2352
      (pop)
      (save () 2353)
      (gvar my-newline)
      (callj 0)
      2353
      (pop)
      (save () 2354)
      (2)
      (lvar 0 0 branch-table-label)
      (2)
      (gvar write-riscv-load-number-or-symbol)
      (callj 3)
      2354
      (pop)
      (save () 2355)
      (const riscv_add)
      (gvar write-riscv-opcode)
      (callj 1)
      2355
      (pop)
      (save () 2356)
      (const "s0, s2, s0")
      (gvar my-display)
      (callj 1)
      2356
      (pop)
      (save () 2357)
      (gvar my-newline)
      (callj 0)
      2357
      (pop)
      (save () 2358)
      (const riscv_jalr)
      (gvar write-riscv-opcode)
      (callj 1)
      2358
      (pop)
      (save () 2359)
      (const "x0, s0, 0")
      (gvar my-display)
      (callj 1)
      2359
      (pop)
      (save () 2360)
      (gvar my-newline)
      (callj 0)
      2360
      (pop)
      (save () 2361)
      (lvar 0 0 branch-table-label)
      (gvar my-display-label)
      (callj 1)
      2361
      (pop)
      (save () 2362)
      (const ":")
      (gvar my-display)
      (callj 1)
      2362
      (pop)
      (save () 2363)
      (gvar my-newline)
      (callj 0)
      2363
      (pop)
      (lvar 2 0 target)
      (lvar 2 1 labels)
      (gvar display-brtable-labels)
      (callj 2)
      (name ())
    )
    (callj 1)
    2364
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name brtable)
)
(gset brtable)
(pop)
(proc
  (args 3)
  (lvar 0 0 vars)
  (null?)
  (bfl () 2372)
  (#f)
  (return)
  2372
  (lvar 0 0 vars)
  (car)
  (proc
    (args 1)
    (lvar 1 1 x)
    (lvar 0 0 var)
    (eq?)
    (bfl () 2370)
    (const stack-ref-n)
    (lvar 1 2 n)
    (())
    (cons)
    (cons)
    (return)
    2370
    (lvar 1 0 vars)
    (cdr)
    (lvar 1 1 x)
    (lvar 1 2 n)
    (1)
    (+)
    (gvar lookup-formal)
    (callj 3)
    (name ())
  )
  (callj 1)
  (name lookup-formal)
)
(gset lookup-formal)
(pop)
(proc
  (args 3)
  (lvar 0 0 vars)
  (null?)
  (bfl () 2376)
  (#f)
  (return)
  2376
  (lvar 0 0 vars)
  (car)
  (proc
    (args 1)
    (lvar 1 1 x)
    (lvar 0 0 var)
    (car)
    (eq?)
    (bfl () 2374)
    (const stack-ref-n)
    (lvar 1 2 n)
    (())
    (cons)
    (cons)
    (return)
    2374
    (lvar 1 0 vars)
    (cdr)
    (lvar 1 1 x)
    (lvar 1 2 n)
    (1)
    (+)
    (gvar lookup-local)
    (callj 3)
    (name ())
  )
  (callj 1)
  (name lookup-local)
)
(gset lookup-local)
(pop)
(proc
  (args 3)
  (lvar 0 0 vars)
  (null?)
  (bfl () 2382)
  (#f)
  (return)
  2382
  (lvar 0 0 vars)
  (car)
  (proc
    (args 1)
    (lvar 1 1 x)
    (lvar 0 0 var)
    (car)
    (eq?)
    (bfl () 2380)
    (const global)
    (lvar 1 2 n)
    (lvar 0 0 var)
    (cadr)
    (())
    (cons)
    (cons)
    (cons)
    (return)
    2380
    (lvar 1 0 vars)
    (cdr)
    (lvar 1 1 x)
    (lvar 0 0 var)
    (cadr)
    (number?)
    (bfl () 2378)
    (lvar 1 2 n)
    (1)
    (+)
    (br () 2379)
    2378
    (lvar 1 2 n)
    (lvar 0 0 var)
    (cadr)
    (cadr)
    (+)
    2379
    (gvar lookup-global)
    (callj 3)
    (name ())
  )
  (callj 1)
  (name lookup-global)
)
(gset lookup-global)
(pop)
(proc
  (args 1)
  (save () 2384)
  (gvar formal-parameters)
  (lvar 0 0 x)
  (0)
  (gvar lookup-formal)
  (callj 3)
  2384
  (proc
    (args 1)
    (lvar 0 0 result)
    (bfl () 2392)
    (lvar 0 0 result)
    (return)
    2392
    (save () 2385)
    (gvar local-vars)
    (lvar 1 0 x)
    (gvar formal-parameters)
    (length)
    (gvar lookup-local)
    (callj 3)
    2385
    (proc
      (args 1)
      (lvar 0 0 result)
      (bfl () 2390)
      (lvar 0 0 result)
      (return)
      2390
      (save () 2386)
      (gvar global-vars)
      (lvar 2 0 x)
      (0)
      (gvar lookup-global)
      (callj 3)
      2386
      (proc
        (args 1)
        (lvar 0 0 result)
        (bfl () 2388)
        (lvar 0 0 result)
        (return)
        2388
        (save () 2387)
        (gvar display-comment)
        (callj 0)
        2387
        (pop)
        (const "*** ERROR ")
        (display)
        (pop)
        (const "variable ")
        (display)
        (pop)
        (lvar 3 0 x)
        (display)
        (pop)
        (const " not found")
        (display)
        (pop)
        (newline)
        (pop)
        (#f)
        (return)
        (name ())
      )
      (callj 1)
      (name ())
    )
    (callj 1)
    (name ())
  )
  (callj 1)
  (name lookup)
)
(gset lookup)
(pop)
(proc
  (args 1)
  (lvar 0 0 s)
  (string-length)
  (0)
  (const write-string)
  (())
  (cons)
  (proc
    (args 3)
    (lvar 0 0 n)
    (lvar 0 2 lst)
    (cons)
    (lset 0 2 lst)
    (pop)
    (save () 2394)
    (())
    (proc
      (args 1)
      (proc
        (args 1)
        (lvar 0 0 i)
        (lvar 2 0 n)
        (2)
        (quotient)
        (=)
        (bfl () 2395)
        (())
        (return)
        2395
        (lvar 3 0 s)
        (lvar 2 1 idx2)
        (string-ref)
        (char->integer)
        (lvar 3 0 s)
        (lvar 2 1 idx2)
        (1)
        (+)
        (string-ref)
        (char->integer)
        (const 8)
        (arithmetic-shift)
        (bitwise-or)
        (lvar 2 2 lst)
        (cons)
        (lset 2 2 lst)
        (pop)
        (lvar 2 1 idx2)
        (2)
        (+)
        (lset 2 1 idx2)
        (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)
    2394
    (pop)
    (lvar 0 0 n)
    (1)
    (bitwise-and)
    (1)
    (=)
    (bfl () 2397)
    (lvar 1 0 s)
    (lvar 0 0 n)
    (1)
    (-)
    (string-ref)
    (char->integer)
    (lvar 0 2 lst)
    (cons)
    (lset 0 2 lst)
    (pop)
    (br () 2398)
    2397
    2398
    (lvar 0 2 lst)
    (gvar reverse)
    (callj 1)
    (name ())
  )
  (callj 3)
  (name emit-write-string)
)
(gset emit-write-string)
(pop)
(proc
  (args 1)
  (#f)
  (gset fast-expression)
  (pop)
  (lvar 0 0 x)
  (car)
  (lvar 0 0 x)
  (cdr)
  (proc
    (args 2)
    (0)
    (proc
      (args 1)
      (save () 2399)
      (save () 2400)
      (())
      (proc
        (args 1)
        (proc
          (args 0)
          (lvar 2 0 temp2)
          (lvar 3 0 count)
          (2)
          (-)
          (<)
          (bfl () 2406)
          (lvar 3 1 chars)
          (car)
          (proc
            (args 1)
            (save () 2401)
            (gvar target)
            (lvar 0 0 temp3)
            (const 255)
            (bitwise-and)
            (gvar push)
            (callj 2)
            2401
            (pop)
            (gvar instruction-run-count)
            (1)
            (+)
            (gset instruction-run-count)
            (pop)
            (save () 2402)
            (gvar poolgap)
            (callj 0)
            2402
            (pop)
            (save () 2403)
            (gvar target)
            (gvar write-char_)
            (callj 1)
            2403
            (pop)
            (save () 2404)
            (gvar target)
            (lvar 0 0 temp3)
            (const -8)
            (arithmetic-shift)
            (const 255)
            (bitwise-and)
            (gvar push)
            (callj 2)
            2404
            (pop)
            (save () 2405)
            (gvar target)
            (gvar write-char_)
            (callj 1)
            2405
            (pop)
            (lvar 4 1 chars)
            (cdr)
            (lset 4 1 chars)
            (pop)
            (lvar 3 0 temp2)
            (2)
            (+)
            (lset 3 0 temp2)
            (pop)
            (lvar 2 0 loop)
            (callj 0)
            (name ())
          )
          (callj 1)
          2406
          (())
          (return)
          (name loop)
        )
        (lset 0 0 loop)
        (pop)
        (lvar 0 0 loop)
        (return)
        (name ())
      )
      (callj 1)
      2400
      (callj 0)
      2399
      (pop)
      (save () 2408)
      (lvar 1 1 chars)
      (car)
      (proc
        (args 1)
        (save () 2409)
        (gvar target)
        (lvar 0 0 temp3)
        (const 255)
        (bitwise-and)
        (gvar push)
        (callj 2)
        2409
        (pop)
        (save () 2410)
        (gvar target)
        (gvar write-char_)
        (callj 1)
        2410
        (pop)
        (lvar 2 0 count)
        (2)
        (remainder)
        (0)
        (=)
        (bfl () 2412)
        (save () 2411)
        (gvar target)
        (lvar 0 0 temp3)
        (const -8)
        (arithmetic-shift)
        (const 255)
        (bitwise-and)
        (gvar push)
        (callj 2)
        2411
        (pop)
        (gvar target)
        (gvar write-char_)
        (callj 1)
        2412
        (())
        (return)
        (name ())
      )
      (callj 1)
      2408
      (pop)
      (gvar instruction-run-count)
      (1)
      (+)
      (gset instruction-run-count)
      (pop)
      (gvar poolgap)
      (callj 0)
      (name ())
    )
    (callj 1)
    (name ())
  )
  (callj 2)
  (name write-string)
)
(gset write-string)
(pop)
(proc
  (args 2)
  (lvar 0 0 vars)
  (null?)
  (bfl () 2416)
  (lvar 0 1 n)
  (return)
  2416
  (lvar 0 0 vars)
  (car)
  (proc
    (args 1)
    (lvar 1 0 vars)
    (cdr)
    (lvar 0 0 var)
    (cadr)
    (number?)
    (bfl () 2414)
    (lvar 1 1 n)
    (1)
    (+)
    (br () 2415)
    2414
    (lvar 1 1 n)
    (lvar 0 0 var)
    (cadr)
    (cadr)
    (+)
    2415
    (gvar get-globals-size)
    (callj 2)
    (name ())
  )
  (callj 1)
  (name get-globals-size)
)
(gset get-globals-size)
(pop)
(proc
  (args 1)
  (lvar 0 0 x)
  (car)
  (const letrec)
  (eq?)
  (return)
  (name letrec?)
)
(gset letrec?)
(pop)
(proc
  (args 1)
  (lvar 0 0 x)
  (car)
  (const let)
  (eq?)
  (return)
  (name let?)
)
(gset let?)
(pop)
(proc
  (args 1)
  (lvar 0 0 x)
  (car)
  (const let)
  (eq?)
  (bfl () 2418)
  (lvar 0 0 x)
  (cadr)
  (const loop)
  (eq?)
  (return)
  2418
  (#f)
  (return)
  (name let-loop?)
)
(gset let-loop?)
(pop)
(proc
  (args 1)
  (lvar 0 0 x)
  (car)
  (const if)
  (eq?)
  (return)
  (name if?)
)
(gset if?)
(pop)
(proc
  (args 1)
  (lvar 0 0 x)
  (car)
  (const begin)
  (eq?)
  (return)
  (name begin?)
)
(gset begin?)
(pop)
(proc
  (args 1)
  (lvar 0 0 x)
  (car)
  (const case)
  (eq?)
  (return)
  (name case?)
)
(gset case?)
(pop)
(proc
  (args 1)
  (lvar 0 0 x)
  (car)
  (const display)
  (eq?)
  (bfl () 2420)
  (lvar 0 0 x)
  (cadr)
  (string?)
  (return)
  2420
  (#f)
  (return)
  (name display-string?)
)
(gset display-string?)
(pop)
(proc
  (args 1)
  (lvar 0 0 op)
  (const (or and))
  (memq)
  (bfl () 2430)
  (#f)
  (return)
  2430
  (gvar immediate-list)
  (null?)
  (bfl () 2428)
  (#f)
  (return)
  2428
  (gvar register-idx)
  (2)
  (-)
  (gvar immediate-list)
  (caar)
  (=)
  (bfl () 2426)
  (gvar immediate-list)
  (car)
  (proc
    (args 1)
    (save () 2422)
    (gvar display-comment)
    (callj 0)
    2422
    (pop)
    (save () 2423)
    (const "* use immediate constant ")
    (gvar my-display)
    (callj 1)
    2423
    (pop)
    (save () 2424)
    (lvar 0 0 immediate-value)
    (cadr)
    (gvar my-display)
    (callj 1)
    2424
    (pop)
    (save () 2425)
    (gvar my-newline)
    (callj 0)
    2425
    (pop)
    (gvar immediate-list)
    (cdr)
    (gset immediate-list)
    (pop)
    (lvar 0 0 immediate-value)
    (cadr)
    (return)
    (name ())
  )
  (callj 1)
  2426
  (#f)
  (return)
  (name immediate-value?)
)
(gset immediate-value?)
(pop)
(())
(gset instructions)
(pop)
(proc
  (args 1)
  (lvar 0 0 instruction)
  (gvar instructions)
  (cons)
  (gset instructions)
  (return)
  (name add-to-instructions)
)
(gset add-to-instructions)
(pop)
(proc
  (args 1)
  (lvar 0 0 instruction)
  (car)
  (lvar 0 0 instruction)
  (cdr)
  (proc
    (args 2)
    (save () 2432)
    (lvar 0 0 opcode)
    (const imm)
    (eq?)
    (proc
      (args 1)
      (lvar 0 0 g:::65)
      (bfl () 2433)
      (lvar 0 0 g:::65)
      (return)
      2433
      (lvar 1 0 opcode)
      (const expr)
      (eq?)
      (return)
      (name ())
    )
    (callj 1)
    2432
    (not)
    (bfl () 2436)
    (gvar instruction-run-count)
    (1)
    (+)
    (gset instruction-run-count)
    (pop)
    (save () 2435)
    (gvar poolgap)
    (callj 0)
    2435
    (pop)
    (br () 2437)
    2436
    2437
    (gvar target)
    (const vm)
    (eq?)
    (not)
    (bfl () 2439)
    (save () 2438)
    (gvar display-comment)
    (callj 0)
    2438
    (pop)
    (br () 2440)
    2439
    2440
    (lvar 0 0 opcode)
    (const (br btr bfl brtable))
    (memq)
    (not)
    (bfl () 2446)
    (gvar target)
    (const vm)
    (eq?)
    (bfl () 2444)
    (save () 2441)
    (lvar 1 0 instruction)
    (gvar log-code-instruction)
    (callj 1)
    2441
    (pop)
    (br () 2445)
    2444
    (save () 2442)
    (lvar 1 0 instruction)
    (gvar my-display)
    (callj 1)
    2442
    (pop)
    (save () 2443)
    (gvar my-newline)
    (callj 0)
    2443
    (pop)
    2445
    (br () 2447)
    2446
    2447
    (lvar 0 0 opcode)
    (proc
      (args 1)
      (lvar 0 0 g:::66)
      (const imm)
      (eqv?)
      (bfl () 2553)
      (gvar fast-expression)
      (bfl () 2448)
      (#t)
      (gset immediate-push)
      (return)
      2448
      (())
      (return)
      2553
      (lvar 0 0 g:::66)
      (const top-level-begin)
      (eqv?)
      (bfl () 2551)
      (gvar target)
      (lvar 1 1 operands)
      (car)
      (lvar 1 1 operands)
      (cadr)
      (gvar top-level-begin)
      (callj 3)
      2551
      (lvar 0 0 g:::66)
      (const function-proc-begin)
      (eqv?)
      (bfl () 2549)
      (gvar target)
      (lvar 1 1 operands)
      (car)
      (lvar 1 1 operands)
      (cadr)
      (lvar 1 1 operands)
      (cddr)
      (car)
      (gvar function-proc-begin)
      (callj 4)
      2549
      (lvar 0 0 g:::66)
      (const function-end)
      (eqv?)
      (bfl () 2547)
      (gvar target)
      (lvar 1 1 operands)
      (car)
      (gvar function-end)
      (callj 2)
      2547
      (lvar 0 0 g:::66)
      (const proc-end)
      (eqv?)
      (bfl () 2545)
      (gvar target)
      (lvar 1 1 operands)
      (car)
      (gvar proc-end)
      (callj 2)
      2545
      (lvar 0 0 g:::66)
      (const stack-ref)
      (eqv?)
      (bfl () 2543)
      (gvar target)
      (gvar stack-ref)
      (callj 1)
      2543
      (lvar 0 0 g:::66)
      (const stack-ref-n)
      (eqv?)
      (bfl () 2541)
      (gvar target)
      (lvar 1 1 operands)
      (car)
      (gvar stack-ref-n)
      (callj 2)
      2541
      (lvar 0 0 g:::66)
      (const stack-set)
      (eqv?)
      (bfl () 2539)
      (gvar target)
      (gvar stack-set)
      (callj 1)
      2539
      (lvar 0 0 g:::66)
      (const stack-set-n)
      (eqv?)
      (bfl () 2537)
      (gvar target)
      (lvar 1 1 operands)
      (car)
      (gvar stack-set-n)
      (callj 2)
      2537
      (lvar 0 0 g:::66)
      (const push)
      (eqv?)
      (bfl () 2535)
      (gvar target)
      (lvar 1 1 operands)
      (car)
      (gvar push)
      (callj 2)
      2535
      (lvar 0 0 g:::66)
      (const (add sub mul shl shr))
      (memv)
      (bfl () 2533)
      (gvar target)
      (lvar 1 0 opcode)
      (lvar 1 0 opcode)
      (gvar numeric-binary-function)
      (callj 3)
      2533
      (lvar 0 0 g:::66)
      (const div)
      (eqv?)
      (bfl () 2531)
      (gvar target)
      (const riscv)
      (eq?)
      (bfl () 2450)
      (gvar target)
      (lvar 1 0 opcode)
      (lvar 1 0 opcode)
      (gvar numeric-binary-function)
      (callj 3)
      2450
      (gvar target)
      (gvar div)
      (callj 1)
      2531
      (lvar 0 0 g:::66)
      (const mod)
      (eqv?)
      (bfl () 2529)
      (gvar target)
      (const riscv)
      (eq?)
      (bfl () 2452)
      (gvar target)
      (lvar 1 0 opcode)
      (lvar 1 0 opcode)
      (gvar numeric-binary-function)
      (callj 3)
      2452
      (gvar target)
      (gvar mod)
      (callj 1)
      2529
      (lvar 0 0 g:::66)
      (const abs)
      (eqv?)
      (bfl () 2527)
      (gvar target)
      (gvar abs_)
      (callj 1)
      2527
      (lvar 0 0 g:::66)
      (const negate)
      (eqv?)
      (bfl () 2525)
      (gvar target)
      (gvar negate)
      (callj 1)
      2525
      (lvar 0 0 g:::66)
      (const (bitor bitand bitxor or and))
      (memv)
      (bfl () 2523)
      (gvar target)
      (const riscv)
      (eq?)
      (bfl () 2454)
      (gvar target)
      (lvar 1 0 opcode)
      (lvar 1 0 opcode)
      (gvar numeric-binary-function)
      (callj 3)
      2454
      (lvar 1 0 opcode)
      (const ((bitor orr) (bitand and) (bitxor eor) (or orr) (and and)))
      (assq)
      (cadr)
      (proc
        (args 1)
        (gvar target)
        (lvar 0 0 mnemonic)
        (lvar 2 0 opcode)
        (gvar numeric-binary-function)
        (callj 3)
        (name ())
      )
      (callj 1)
      2523
      (lvar 0 0 g:::66)
      (const bitnot)
      (eqv?)
      (bfl () 2521)
      (gvar target)
      (gvar bitnot)
      (callj 1)
      2521
      (lvar 0 0 g:::66)
      (const (eq lt gt le ge ne))
      (memv)
      (bfl () 2519)
      (lvar 1 0 opcode)
      (const ((eq =) (lt <) (gt >) (le <=) (ge >=) (ne ne)))
      (assq)
      (cadr)
      (proc
        (args 1)
        (gvar target)
        (lvar 0 0 mnemonic)
        (lvar 2 0 opcode)
        (gvar predicate-binary-function)
        (callj 3)
        (name ())
      )
      (callj 1)
      2519
      (lvar 0 0 g:::66)
      (const (btr bfl br))
      (memv)
      (bfl () 2517)
      (gvar target)
      (const vm)
      (eq?)
      (bfl () 2469)
      (save () 2456)
      (lvar 1 0 opcode)
      (lvar 1 1 operands)
      (car)
      (())
      (cons)
      (cons)
      (gvar log-code-instruction)
      (callj 1)
      2456
      (pop)
      (#f)
      (gset fast-relop)
      (return)
      2469
      (save () 2457)
      (const "(")
      (gvar my-display)
      (callj 1)
      2457
      (pop)
      (save () 2458)
      (lvar 1 0 opcode)
      (gvar my-display)
      (callj 1)
      2458
      (pop)
      (save () 2459)
      (const " l")
      (gvar my-display)
      (callj 1)
      2459
      (pop)
      (save () 2460)
      (lvar 1 1 operands)
      (car)
      (gvar my-display)
      (callj 1)
      2460
      (pop)
      (save () 2461)
      (const ")")
      (gvar my-display)
      (callj 1)
      2461
      (pop)
      (save () 2462)
      (gvar my-newline)
      (callj 0)
      2462
      (pop)
      (lvar 1 0 opcode)
      (proc
        (args 1)
        (lvar 0 0 g:::67)
        (const btr)
        (eqv?)
        (bfl () 2467)
        (gvar target)
        (lvar 2 1 operands)
        (car)
        (gvar btr)
        (callj 2)
        2467
        (lvar 0 0 g:::67)
        (const bfl)
        (eqv?)
        (bfl () 2465)
        (gvar target)
        (lvar 2 1 operands)
        (car)
        (gvar bfl)
        (callj 2)
        2465
        (lvar 0 0 g:::67)
        (const br)
        (eqv?)
        (bfl () 2463)
        (gvar target)
        (lvar 2 1 operands)
        (car)
        (gvar br)
        (callj 2)
        2463
        (#f)
        (return)
        (name ())
      )
      (callj 1)
      2517
      (lvar 0 0 g:::66)
      (const not)
      (eqv?)
      (bfl () 2515)
      (gvar target)
      (gvar not_)
      (callj 1)
      2515
      (lvar 0 0 g:::66)
      (const call)
      (eqv?)
      (bfl () 2513)
      (gvar target)
      (lvar 1 1 operands)
      (car)
      (gvar call)
      (callj 2)
      2513
      (lvar 0 0 g:::66)
      (const return)
      (eqv?)
      (bfl () 2511)
      (gvar target)
      (gvar return)
      (callj 1)
      2511
      (lvar 0 0 g:::66)
      (const display)
      (eqv?)
      (bfl () 2509)
      (gvar target)
      (gvar display_)
      (callj 1)
      2509
      (lvar 0 0 g:::66)
      (const newline)
      (eqv?)
      (bfl () 2507)
      (gvar target)
      (gvar newline_)
      (callj 1)
      2507
      (lvar 0 0 g:::66)
      (const exit)
      (eqv?)
      (bfl () 2505)
      (gvar target)
      (gvar exit_)
      (callj 1)
      2505
      (lvar 0 0 g:::66)
      (const write-char)
      (eqv?)
      (bfl () 2503)
      (gvar target)
      (gvar write-char_)
      (callj 1)
      2503
      (lvar 0 0 g:::66)
      (const read-char)
      (eqv?)
      (bfl () 2501)
      (gvar target)
      (gvar read-char_)
      (callj 1)
      2501
      (lvar 0 0 g:::66)
      (const inc)
      (eqv?)
      (bfl () 2499)
      (lvar 1 1 operands)
      (car)
      (gvar write-inc-x86)
      (callj 1)
      2499
      (lvar 0 0 g:::66)
      (const dec)
      (eqv?)
      (bfl () 2497)
      (lvar 1 1 operands)
      (car)
      (gvar write-dec-x86)
      (callj 1)
      2497
      (lvar 0 0 g:::66)
      (const write-string)
      (eqv?)
      (bfl () 2495)
      (save () 2471)
      (gvar target)
      (const arm)
      (eq?)
      (proc
        (args 1)
        (lvar 0 0 g:::68)
        (bfl () 2474)
        (lvar 0 0 g:::68)
        (return)
        2474
        (gvar target)
        (const x86)
        (eq?)
        (proc
          (args 1)
          (lvar 0 0 g:::69)
          (bfl () 2472)
          (lvar 0 0 g:::69)
          (return)
          2472
          (gvar target)
          (const riscv)
          (eq?)
          (return)
          (name ())
        )
        (callj 1)
        (name ())
      )
      (callj 1)
      2471
      (bfl () 2476)
      (lvar 1 1 operands)
      (gvar write-string)
      (callj 1)
      2476
      (())
      (return)
      2495
      (lvar 0 0 g:::66)
      (const brtable)
      (eqv?)
      (bfl () 2493)
      (gvar target)
      (const vm)
      (eq?)
      (bfl () 2491)
      (save () 2478)
      (lvar 1 0 opcode)
      (lvar 1 1 operands)
      (())
      (cons)
      (cons)
      (gvar log-code-instruction)
      (callj 1)
      2478
      (pop)
      (br () 2492)
      2491
      (save () 2479)
      (const "(")
      (gvar my-display)
      (callj 1)
      2479
      (pop)
      (save () 2480)
      (lvar 1 0 opcode)
      (gvar my-display)
      (callj 1)
      2480
      (pop)
      (save () 2481)
      (())
      (proc
        (args 1)
        (proc
          (args 1)
          (lvar 0 0 i)
          (lvar 3 1 operands)
          (length)
          (=)
          (bfl () 2487)
          (())
          (return)
          2487
          (save () 2482)
          (const " (")
          (gvar my-display)
          (callj 1)
          2482
          (pop)
          (save () 2483)
          (lvar 0 0 i)
          (gvar my-display)
          (callj 1)
          2483
          (pop)
          (save () 2484)
          (const " l")
          (gvar my-display)
          (callj 1)
          2484
          (pop)
          (save () 2485)
          (lvar 3 1 operands)
          (lvar 0 0 i)
          (list-ref)
          (cadr)
          (gvar my-display)
          (callj 1)
          2485
          (pop)
          (save () 2486)
          (const ")")
          (gvar my-display)
          (callj 1)
          2486
          (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)
      2481
      (pop)
      (save () 2489)
      (const ")")
      (gvar my-display)
      (callj 1)
      2489
      (pop)
      (save () 2490)
      (gvar my-newline)
      (callj 0)
      2490
      (pop)
      2492
      (gvar target)
      (lvar 1 1 operands)
      (gvar brtable)
      (callj 2)
      2493
      (#f)
      (return)
      (name ())
    )
    (callj 1)
    (name ())
  )
  (callj 2)
  (name display-instruction)
)
(gset display-instruction)
(pop)
(proc
  (args 1)
  (gvar target-save)
  (gset target)
  (pop)
  (save () 2555)
  (lvar 0 0 label)
  (gvar log-code-instruction)
  (callj 1)
  2555
  (pop)
  (const vm)
  (gset target)
  (return)
  (name display-label)
)
(gset display-label)
(pop)
(proc
  (args 1)
  (lvar 0 0 instructions)
  (null?)
  (not)
  (bfl () 2557)
  (lvar 0 0 instructions)
  (car)
  (proc
    (args 1)
    (save () 2556)
    (lvar 0 0 instruction)
    (gvar display-instruction)
    (callj 1)
    2556
    (pop)
    (lvar 1 0 instructions)
    (cdr)
    (gvar display-instructions)
    (callj 1)
    (name ())
  )
  (callj 1)
  2557
  (())
  (return)
  (name display-instructions)
)
(gset display-instructions)
(pop)
(proc
  (args 1)
  (save () 2559)
  (lvar 0 0 argument)
  (gvar lookup)
  (callj 1)
  2559
  (proc
    (args 1)
    (lvar 0 0 value)
    (car)
    (const global)
    (eq?)
    (bfl () 2563)
    (save () 2560)
    (const push)
    (lvar 0 0 value)
    (cadr)
    (())
    (cons)
    (cons)
    (gvar add-to-instructions)
    (callj 1)
    2560
    (pop)
    (lvar 0 0 value)
    (cdr)
    (cadr)
    (number?)
    (bfl () 2561)
    (const stack-ref)
    (())
    (cons)
    (gvar add-to-instructions)
    (callj 1)
    2561
    (())
    (return)
    2563
    (lvar 0 0 value)
    (gvar add-to-instructions)
    (callj 1)
    (name ())
  )
  (callj 1)
  (name translate-symbol-arguments)
)
(gset translate-symbol-arguments)
(pop)
(proc
  (args 3)
  (lvar 0 1 arguments)
  (null?)
  (not)
  (bfl () 2579)
  (lvar 0 1 arguments)
  (car)
  (proc
    (args 1)
    (lvar 0 0 argument)
    (number?)
    (bfl () 2577)
    (lvar 1 2 force-not-immediate)
    (bfl () 2571)
    (save () 2565)
    (const push)
    (lvar 0 0 argument)
    (())
    (cons)
    (cons)
    (gvar add-to-instructions)
    (callj 1)
    2565
    (pop)
    (br () 2572)
    2571
    (save () 2566)
    (lvar 1 0 operator)
    (lvar 0 0 argument)
    (gvar immediate-candidate)
    (callj 2)
    2566
    (bfl () 2568)
    (save () 2567)
    (const imm)
    (())
    (cons)
    (gvar add-to-instructions)
    (callj 1)
    2567
    (pop)
    (br () 2569)
    2568
    2569
    (save () 2570)
    (const push)
    (lvar 0 0 argument)
    (())
    (cons)
    (cons)
    (gvar add-to-instructions)
    (callj 1)
    2570
    (pop)
    2572
    (br () 2578)
    2577
    (lvar 0 0 argument)
    (symbol?)
    (bfl () 2575)
    (save () 2573)
    (lvar 0 0 argument)
    (gvar translate-symbol-arguments)
    (callj 1)
    2573
    (pop)
    (br () 2576)
    2575
    (save () 2574)
    (lvar 0 0 argument)
    (gvar translate-expr)
    (callj 1)
    2574
    (pop)
    2576
    2578
    (lvar 1 0 operator)
    (lvar 1 1 arguments)
    (cdr)
    (lvar 1 2 force-not-immediate)
    (gvar translate-actual-arguments)
    (callj 3)
    (name ())
  )
  (callj 1)
  2579
  (())
  (return)
  (name translate-actual-arguments)
)
(gset translate-actual-arguments)
(pop)
(proc
  (args 1)
  (lvar 0 0 operator)
  (proc
    (args 1)
    (lvar 0 0 g:::70)
    (const +)
    (eqv?)
    (bfl () 2644)
    (const add)
    (())
    (cons)
    (return)
    2644
    (lvar 0 0 g:::70)
    (const -)
    (eqv?)
    (bfl () 2642)
    (const sub)
    (())
    (cons)
    (return)
    2642
    (lvar 0 0 g:::70)
    (const *)
    (eqv?)
    (bfl () 2640)
    (const mul)
    (())
    (cons)
    (return)
    2640
    (lvar 0 0 g:::70)
    (const quotient)
    (eqv?)
    (bfl () 2638)
    (const div)
    (())
    (cons)
    (return)
    2638
    (lvar 0 0 g:::70)
    (const remainder)
    (eqv?)
    (bfl () 2636)
    (const mod)
    (())
    (cons)
    (return)
    2636
    (lvar 0 0 g:::70)
    (const =)
    (eqv?)
    (bfl () 2634)
    (const eq)
    (())
    (cons)
    (return)
    2634
    (lvar 0 0 g:::70)
    (const !=)
    (eqv?)
    (bfl () 2632)
    (const ne)
    (())
    (cons)
    (return)
    2632
    (lvar 0 0 g:::70)
    (const <)
    (eqv?)
    (bfl () 2630)
    (const lt)
    (())
    (cons)
    (return)
    2630
    (lvar 0 0 g:::70)
    (const >)
    (eqv?)
    (bfl () 2628)
    (const gt)
    (())
    (cons)
    (return)
    2628
    (lvar 0 0 g:::70)
    (const <=)
    (eqv?)
    (bfl () 2626)
    (const le)
    (())
    (cons)
    (return)
    2626
    (lvar 0 0 g:::70)
    (const >=)
    (eqv?)
    (bfl () 2624)
    (const ge)
    (())
    (cons)
    (return)
    2624
    (lvar 0 0 g:::70)
    (const shl)
    (eqv?)
    (bfl () 2622)
    (const shl)
    (())
    (cons)
    (return)
    2622
    (lvar 0 0 g:::70)
    (const shr)
    (eqv?)
    (bfl () 2620)
    (const shr)
    (())
    (cons)
    (return)
    2620
    (lvar 0 0 g:::70)
    (const !)
    (eqv?)
    (bfl () 2618)
    (const not)
    (())
    (cons)
    (return)
    2618
    (lvar 0 0 g:::70)
    (const &&)
    (eqv?)
    (bfl () 2616)
    (const and)
    (())
    (cons)
    (return)
    2616
    (lvar 0 0 g:::70)
    (const ||)
    (eqv?)
    (bfl () 2614)
    (const or)
    (())
    (cons)
    (return)
    2614
    (lvar 0 0 g:::70)
    (const bitwise-or)
    (eqv?)
    (bfl () 2612)
    (const bitor)
    (())
    (cons)
    (return)
    2612
    (lvar 0 0 g:::70)
    (const bitwise-and)
    (eqv?)
    (bfl () 2610)
    (const bitand)
    (())
    (cons)
    (return)
    2610
    (lvar 0 0 g:::70)
    (const bitwise-xor)
    (eqv?)
    (bfl () 2608)
    (const bitxor)
    (())
    (cons)
    (return)
    2608
    (lvar 0 0 g:::70)
    (const bitwise-not)
    (eqv?)
    (bfl () 2606)
    (const bitnot)
    (())
    (cons)
    (return)
    2606
    (lvar 0 0 g:::70)
    (const abs)
    (eqv?)
    (bfl () 2604)
    (const abs)
    (())
    (cons)
    (return)
    2604
    (lvar 0 0 g:::70)
    (const vector-ref)
    (eqv?)
    (bfl () 2602)
    (save () 2581)
    (const add)
    (())
    (cons)
    (gvar add-to-instructions)
    (callj 1)
    2581
    (pop)
    (const stack-ref)
    (())
    (cons)
    (return)
    2602
    (lvar 0 0 g:::70)
    (const vector-set!)
    (eqv?)
    (bfl () 2600)
    (save () 2582)
    (const add)
    (())
    (cons)
    (gvar add-to-instructions)
    (callj 1)
    2582
    (pop)
    (const stack-set)
    (())
    (cons)
    (return)
    2600
    (lvar 0 0 g:::70)
    (const display)
    (eqv?)
    (bfl () 2598)
    (const display)
    (())
    (cons)
    (return)
    2598
    (lvar 0 0 g:::70)
    (const newline)
    (eqv?)
    (bfl () 2596)
    (const write-string)
    (1)
    (const 10)
    (())
    (cons)
    (cons)
    (cons)
    (return)
    2596
    (lvar 0 0 g:::70)
    (const putchar)
    (eqv?)
    (bfl () 2594)
    (const write-char)
    (())
    (cons)
    (return)
    2594
    (lvar 0 0 g:::70)
    (const getchar)
    (eqv?)
    (bfl () 2592)
    (const read-char)
    (())
    (cons)
    (return)
    2592
    (lvar 0 0 g:::70)
    (const return)
    (eqv?)
    (bfl () 2590)
    (save () 2583)
    (const stack-set-n)
    (0)
    (())
    (cons)
    (cons)
    (gvar add-to-instructions)
    (callj 1)
    2583
    (pop)
    (save () 2584)
    (const function-end)
    (gvar dynamic-link)
    (())
    (cons)
    (cons)
    (gvar add-to-instructions)
    (callj 1)
    2584
    (pop)
    (const return)
    (())
    (cons)
    (return)
    2590
    (lvar 0 0 g:::70)
    (const return-from-procedure)
    (eqv?)
    (bfl () 2588)
    (save () 2585)
    (const proc-end)
    (gvar dynamic-link)
    (())
    (cons)
    (cons)
    (gvar add-to-instructions)
    (callj 1)
    2585
    (pop)
    (const return)
    (())
    (cons)
    (return)
    2588
    (lvar 0 0 g:::70)
    (const exit)
    (eqv?)
    (bfl () 2586)
    (const exit)
    (())
    (cons)
    (return)
    2586
    (const call)
    (lvar 1 0 operator)
    (())
    (cons)
    (cons)
    (return)
    (name ())
  )
  (callj 1)
  (name translate-operator)
)
(gset translate-operator)
(pop)
(proc
  (args 2)
  (gvar target-save)
  (const riscv)
  (eq?)
  (bfl () 2652)
  (#f)
  (return)
  2652
  (lvar 0 1 n)
  (number?)
  (bfl () 2650)
  (lvar 0 1 n)
  (0)
  (>=)
  (bfl () 2646)
  (lvar 0 1 n)
  (const 255)
  (<=)
  (br () 2647)
  2646
  (#f)
  2647
  (bfl () 2648)
  (lvar 0 0 operator)
  (const (+ - shl shr = != < > <= >= bitwise-or bitwise-and bitwise-xor bitwise-not))
  (memq)
  (return)
  2648
  (#f)
  (return)
  2650
  (#f)
  (return)
  (name immediate-candidate)
)
(gset immediate-candidate)
(pop)
(proc
  (args 1)
  (lvar 0 0 expr)
  (null?)
  (bfl () 2687)
  (#t)
  (return)
  2687
  (lvar 0 0 expr)
  (pair?)
  (bfl () 2685)
  (lvar 0 0 expr)
  (car)
  (const (abs display newline getchar putchar exit))
  (memq)
  (bfl () 2683)
  (#f)
  (return)
  2683
  (save () 2654)
  (gvar target-save)
  (const x86)
  (eq?)
  (proc
    (args 1)
    (lvar 0 0 g:::71)
    (bfl () 2655)
    (lvar 0 0 g:::71)
    (return)
    2655
    (gvar target-save)
    (const arm)
    (eq?)
    (return)
    (name ())
  )
  (callj 1)
  2654
  (bfl () 2657)
  (lvar 0 0 expr)
  (car)
  (const (remainder quotient))
  (memq)
  (br () 2658)
  2657
  (#f)
  2658
  (bfl () 2681)
  (#f)
  (return)
  2681
  (gvar target-save)
  (const x86)
  (eq?)
  (bfl () 2659)
  (lvar 0 0 expr)
  (car)
  (const (*))
  (memq)
  (br () 2660)
  2659
  (#f)
  2660
  (bfl () 2679)
  (#f)
  (return)
  2679
  (save () 2661)
  (gvar functions)
  (lvar 0 0 expr)
  (car)
  (gvar find-function)
  (callj 2)
  2661
  (bfl () 2677)
  (#f)
  (return)
  2677
  (lvar 0 0 expr)
  (cdr)
  (length)
  (0)
  (=)
  (bfl () 2675)
  (#t)
  (return)
  2675
  (lvar 0 0 expr)
  (cdr)
  (length)
  (1)
  (=)
  (bfl () 2673)
  (lvar 0 0 expr)
  (cadr)
  (gvar expr-doesnt-have-function?)
  (callj 1)
  2673
  (lvar 0 0 expr)
  (cdr)
  (length)
  (2)
  (=)
  (bfl () 2671)
  (save () 2662)
  (lvar 0 0 expr)
  (cadr)
  (gvar expr-doesnt-have-function?)
  (callj 1)
  2662
  (bfl () 2663)
  (lvar 0 0 expr)
  (cdr)
  (cadr)
  (gvar expr-doesnt-have-function?)
  (callj 1)
  2663
  (#f)
  (return)
  2671
  (save () 2665)
  (lvar 0 0 expr)
  (cadr)
  (gvar expr-doesnt-have-function?)
  (callj 1)
  2665
  (bfl () 2669)
  (save () 2666)
  (lvar 0 0 expr)
  (cdr)
  (cadr)
  (gvar expr-doesnt-have-function?)
  (callj 1)
  2666
  (bfl () 2667)
  (lvar 0 0 expr)
  (cddr)
  (cadr)
  (gvar expr-doesnt-have-function?)
  (callj 1)
  2667
  (#f)
  (return)
  2669
  (#f)
  (return)
  2685
  (#t)
  (return)
  (name expr-doesnt-have-function?)
)
(gset expr-doesnt-have-function?)
(pop)
(proc
  (args 2)
  (lvar 0 0 operator)
  (const (+ - * quotient remainder = != < > <= >= shl shr bitwise-or bitwise-and bitwise-xor && || vector-ref vector-set!))
  (memq)
  (bfl () 2689)
  (lvar 0 1 operands)
  (gvar reverse)
  (callj 1)
  2689
  (lvar 0 1 operands)
  (return)
  (name reverse-operands-if-primitive)
)
(gset reverse-operands-if-primitive)
(pop)
(proc
  (args 4)
  (save () 2691)
  (lvar 0 3 expr)
  (cadr)
  (gvar simplify-expr)
  (callj 1)
  2691
  (save () 2692)
  (lvar 0 3 expr)
  (cdr)
  (cadr)
  (gvar simplify-expr)
  (callj 1)
  2692
  (proc
    (args 2)
    (lvar 0 0 operand1)
    (number?)
    (bfl () 2693)
    (lvar 0 1 operand2)
    (number?)
    (br () 2694)
    2693
    (#f)
    2694
    (bfl () 2703)
    (lvar 0 0 operand1)
    (lvar 0 1 operand2)
    (lvar 1 0 fn)
    (callj 2)
    2703
    (lvar 0 0 operand1)
    (number?)
    (bfl () 2701)
    (lvar 0 0 operand1)
    (lvar 1 2 const)
    (=)
    (bfl () 2695)
    (lvar 0 1 operand2)
    (return)
    2695
    (lvar 1 1 op)
    (lvar 0 1 operand2)
    (lvar 0 0 operand1)
    (())
    (cons)
    (cons)
    (cons)
    (return)
    2701
    (lvar 0 1 operand2)
    (number?)
    (bfl () 2699)
    (lvar 0 1 operand2)
    (lvar 1 2 const)
    (=)
    (bfl () 2697)
    (lvar 0 0 operand1)
    (return)
    2697
    (lvar 1 1 op)
    (lvar 0 0 operand1)
    (lvar 0 1 operand2)
    (())
    (cons)
    (cons)
    (cons)
    (return)
    2699
    (lvar 1 1 op)
    (lvar 0 0 operand1)
    (lvar 0 1 operand2)
    (())
    (cons)
    (cons)
    (cons)
    (return)
    (name ())
  )
  (callj 2)
  (name simplify-add-mul)
)
(gset simplify-add-mul)
(pop)
(proc
  (args 1)
  (save () 2705)
  (lvar 0 0 expr)
  (cadr)
  (gvar simplify-expr)
  (callj 1)
  2705
  (save () 2706)
  (lvar 0 0 expr)
  (cdr)
  (cadr)
  (gvar simplify-expr)
  (callj 1)
  2706
  (proc
    (args 2)
    (lvar 0 0 operand1)
    (number?)
    (bfl () 2707)
    (lvar 0 1 operand2)
    (number?)
    (br () 2708)
    2707
    (#f)
    2708
    (bfl () 2717)
    (lvar 0 0 operand1)
    (lvar 0 1 operand2)
    (-)
    (return)
    2717
    (lvar 0 0 operand1)
    (number?)
    (bfl () 2715)
    (lvar 0 0 operand1)
    (0)
    (=)
    (bfl () 2709)
    (const -)
    (lvar 0 1 operand2)
    (())
    (cons)
    (cons)
    (return)
    2709
    (const +)
    (const -)
    (lvar 0 1 operand2)
    (())
    (cons)
    (cons)
    (lvar 0 0 operand1)
    (())
    (cons)
    (cons)
    (cons)
    (return)
    2715
    (lvar 0 1 operand2)
    (number?)
    (bfl () 2713)
    (lvar 0 1 operand2)
    (0)
    (=)
    (bfl () 2711)
    (lvar 0 0 operand1)
    (return)
    2711
    (const -)
    (lvar 0 0 operand1)
    (lvar 0 1 operand2)
    (())
    (cons)
    (cons)
    (cons)
    (return)
    2713
    (const -)
    (lvar 0 0 operand1)
    (lvar 0 1 operand2)
    (())
    (cons)
    (cons)
    (cons)
    (return)
    (name ())
  )
  (callj 2)
  (name simplify-sub)
)
(gset simplify-sub)
(pop)
(proc
  (args 1)
  (save () 2719)
  (lvar 0 0 expr)
  (cadr)
  (gvar simplify-expr)
  (callj 1)
  2719
  (save () 2720)
  (lvar 0 0 expr)
  (cdr)
  (cadr)
  (gvar simplify-expr)
  (callj 1)
  2720
  (proc
    (args 2)
    (lvar 0 0 operand1)
    (number?)
    (bfl () 2721)
    (lvar 0 1 operand2)
    (number?)
    (br () 2722)
    2721
    (#f)
    2722
    (bfl () 2725)
    (lvar 0 0 operand1)
    (0)
    (lvar 0 1 operand2)
    (-)
    (arithmetic-shift)
    (return)
    2725
    (lvar 0 0 operand1)
    (number?)
    (bfl () 2723)
    (#t)
    (gset operand1-is-num)
    (pop)
    (br () 2724)
    2723
    2724
    (const shr)
    (lvar 0 0 operand1)
    (lvar 0 1 operand2)
    (())
    (cons)
    (cons)
    (cons)
    (return)
    (name ())
  )
  (callj 2)
  (name simplify-shr)
)
(gset simplify-shr)
(pop)
(proc
  (args 1)
  (save () 2727)
  (lvar 0 0 expr)
  (cadr)
  (gvar simplify-expr)
  (callj 1)
  2727
  (save () 2728)
  (lvar 0 0 expr)
  (cdr)
  (cadr)
  (gvar simplify-expr)
  (callj 1)
  2728
  (proc
    (args 2)
    (lvar 0 0 operand1)
    (number?)
    (bfl () 2729)
    (lvar 0 1 operand2)
    (number?)
    (br () 2730)
    2729
    (#f)
    2730
    (bfl () 2733)
    (lvar 0 0 operand1)
    (lvar 0 1 operand2)
    (arithmetic-shift)
    (return)
    2733
    (lvar 0 0 operand1)
    (number?)
    (bfl () 2731)
    (#t)
    (gset operand1-is-num)
    (pop)
    (br () 2732)
    2731
    2732
    (const shl)
    (lvar 0 0 operand1)
    (lvar 0 1 operand2)
    (())
    (cons)
    (cons)
    (cons)
    (return)
    (name ())
  )
  (callj 2)
  (name simplify-shl)
)
(gset simplify-shl)
(pop)
(proc
  (args 6)
  (save () 2735)
  (lvar 0 5 expr)
  (cadr)
  (gvar simplify-expr)
  (callj 1)
  2735
  (save () 2736)
  (lvar 0 5 expr)
  (cdr)
  (cadr)
  (gvar simplify-expr)
  (callj 1)
  2736
  (proc
    (args 2)
    (lvar 0 0 operand1)
    (number?)
    (bfl () 2737)
    (lvar 0 1 operand2)
    (number?)
    (br () 2738)
    2737
    (#f)
    2738
    (bfl () 2744)
    (save () 2739)
    (lvar 0 0 operand1)
    (lvar 0 1 operand2)
    (lvar 1 0 fn)
    (callj 2)
    2739
    (bfl () 2740)
    (lvar 1 1 result1)
    (return)
    2740
    (lvar 1 2 result2)
    (return)
    2744
    (lvar 0 0 operand1)
    (number?)
    (bfl () 2742)
    (lvar 1 3 op1)
    (lvar 0 1 operand2)
    (lvar 0 0 operand1)
    (())
    (cons)
    (cons)
    (cons)
    (return)
    2742
    (lvar 1 4 op2)
    (lvar 0 0 operand1)
    (lvar 0 1 operand2)
    (())
    (cons)
    (cons)
    (cons)
    (return)
    (name ())
  )
  (callj 2)
  (name simplify-generic)
)
(gset simplify-generic)
(pop)
(proc
  (args 3)
  (save () 2746)
  (lvar 0 2 expr)
  (cadr)
  (gvar simplify-expr)
  (callj 1)
  2746
  (save () 2747)
  (lvar 0 2 expr)
  (cdr)
  (cadr)
  (gvar simplify-expr)
  (callj 1)
  2747
  (proc
    (args 2)
    (lvar 0 0 operand1)
    (number?)
    (bfl () 2748)
    (lvar 0 1 operand2)
    (number?)
    (br () 2749)
    2748
    (#f)
    2749
    (bfl () 2752)
    (lvar 0 0 operand1)
    (lvar 0 1 operand2)
    (lvar 1 0 fn)
    (callj 2)
    2752
    (lvar 0 0 operand1)
    (number?)
    (bfl () 2750)
    (lvar 1 1 op)
    (lvar 0 1 operand2)
    (lvar 0 0 operand1)
    (())
    (cons)
    (cons)
    (cons)
    (return)
    2750
    (lvar 1 1 op)
    (lvar 0 0 operand1)
    (lvar 0 1 operand2)
    (())
    (cons)
    (cons)
    (cons)
    (return)
    (name ())
  )
  (callj 2)
  (name simplify-bitwise)
)
(gset simplify-bitwise)
(pop)
(proc
  (args 2)
  (lvar 0 0 vars)
  (null?)
  (bfl () 2755)
  (())
  (return)
  2755
  (lvar 0 0 vars)
  (car)
  (lvar 0 1 vals)
  (car)
  (())
  (cons)
  (cons)
  (save () 2754)
  (lvar 0 0 vars)
  (cdr)
  (lvar 0 1 vals)
  (cdr)
  (gvar pairlis)
  (callj 2)
  2754
  (cons)
  (return)
  (name pairlis)
)
(gset pairlis)
(pop)
(proc
  (args 2)
  (lvar 0 0 arguments)
  (null?)
  (bfl () 2768)
  (())
  (return)
  2768
  (lvar 0 0 arguments)
  (car)
  (proc
    (args 1)
    (lvar 0 0 argument)
    (number?)
    (bfl () 2766)
    (lvar 0 0 argument)
    (save () 2757)
    (lvar 1 0 arguments)
    (cdr)
    (lvar 1 1 env)
    (gvar expand-actual-arguments)
    (callj 2)
    2757
    (cons)
    (return)
    2766
    (lvar 0 0 argument)
    (symbol?)
    (bfl () 2764)
    (lvar 0 0 argument)
    (lvar 1 1 env)
    (assq)
    (proc
      (args 1)
      (lvar 0 0 s)
      (bfl () 2760)
      (lvar 0 0 s)
      (cadr)
      (save () 2758)
      (lvar 2 0 arguments)
      (cdr)
      (lvar 2 1 env)
      (gvar expand-actual-arguments)
      (callj 2)
      2758
      (cons)
      (return)
      2760
      (lvar 1 0 argument)
      (save () 2759)
      (lvar 2 0 arguments)
      (cdr)
      (lvar 2 1 env)
      (gvar expand-actual-arguments)
      (callj 2)
      2759
      (cons)
      (return)
      (name ())
    )
    (callj 1)
    2764
    (save () 2762)
    (lvar 0 0 argument)
    (lvar 1 1 env)
    (gvar expand-expr)
    (callj 2)
    2762
    (save () 2763)
    (lvar 1 0 arguments)
    (cdr)
    (lvar 1 1 env)
    (gvar expand-actual-arguments)
    (callj 2)
    2763
    (cons)
    (return)
    (name ())
  )
  (callj 1)
  (name expand-actual-arguments)
)
(gset expand-actual-arguments)
(pop)
(proc
  (args 1)
  (save () 2770)
  (gvar functions)
  (lvar 0 0 fn)
  (gvar find-function)
  (callj 2)
  2770
  (proc
    (args 1)
    (lvar 0 0 found)
    (bfl () 2773)
    (lvar 0 0 found)
    (cadr)
    (cdr)
    (cadr)
    (car)
    (const return)
    (eq?)
    (bfl () 2771)
    (lvar 0 0 found)
    (return)
    2771
    (#f)
    (return)
    2773
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name expandable-fn?)
)
(gset expandable-fn?)
(pop)
(proc
  (args 1)
  (save () 2775)
  (gvar functions)
  (lvar 0 0 proc)
  (gvar find-function)
  (callj 2)
  2775
  (proc
    (args 1)
    (lvar 0 0 found)
    (bfl () 2782)
    (lvar 0 0 found)
    (cadr)
    (cddr)
    (length)
    (2)
    (=)
    (bfl () 2780)
    (lvar 0 0 found)
    (cadr)
    (cddr)
    (cdr)
    (caar)
    (const return-from-procedure)
    (eq?)
    (bfl () 2776)
    (lvar 0 0 found)
    (cadr)
    (cddr)
    (caar)
    (const (if let begin display newline exit))
    (memq)
    (not)
    (br () 2777)
    2776
    (#f)
    2777
    (bfl () 2778)
    (lvar 0 0 found)
    (return)
    2778
    (#f)
    (return)
    2780
    (#f)
    (return)
    2782
    (#f)
    (return)
    (name ())
  )
  (callj 1)
  (name expandable-proc?)
)
(gset expandable-proc?)
(pop)
(proc
  (args 2)
  (lvar 0 0 expr)
  (null?)
  (bfl () 2801)
  (lvar 0 0 expr)
  (return)
  2801
  (lvar 0 0 expr)
  (number?)
  (bfl () 2799)
  (lvar 0 0 expr)
  (return)
  2799
  (lvar 0 0 expr)
  (symbol?)
  (bfl () 2797)
  (lvar 0 0 expr)
  (lvar 0 1 env)
  (assq)
  (proc
    (args 1)
    (lvar 0 0 s)
    (bfl () 2784)
    (lvar 0 0 s)
    (cadr)
    (return)
    2784
    (lvar 1 0 expr)
    (return)
    (name ())
  )
  (callj 1)
  2797
  (lvar 0 0 expr)
  (car)
  (lvar 0 0 expr)
  (cdr)
  (proc
    (args 2)
    (save () 2786)
    (lvar 0 0 operator)
    (gvar expandable-fn?)
    (callj 1)
    2786
    (proc
      (args 1)
      (lvar 0 0 expandable-fn)
      (bfl () 2795)
      (lvar 0 0 expandable-fn)
      (cadr)
      (cdr)
      (cadr)
      (cadr)
      (save () 2787)
      (lvar 0 0 expandable-fn)
      (cadr)
      (cadr)
      (save () 2788)
      (lvar 1 1 operands)
      (lvar 2 1 env)
      (gvar expand-actual-arguments)
      (callj 2)
      2788
      (gvar pairlis)
      (callj 2)
      2787
      (gvar expand-expr)
      (callj 2)
      2795
      (save () 2789)
      (lvar 1 0 operator)
      (gvar expandable-proc?)
      (callj 1)
      2789
      (proc
        (args 1)
        (lvar 0 0 expandable-proc)
        (bfl () 2793)
        (lvar 0 0 expandable-proc)
        (cadr)
        (cdr)
        (cadr)
        (save () 2790)
        (lvar 0 0 expandable-proc)
        (cadr)
        (cadr)
        (save () 2791)
        (lvar 2 1 operands)
        (lvar 3 1 env)
        (gvar expand-actual-arguments)
        (callj 2)
        2791
        (gvar pairlis)
        (callj 2)
        2790
        (gvar expand-expr)
        (callj 2)
        2793
        (lvar 2 0 operator)
        (save () 2792)
        (lvar 2 1 operands)
        (lvar 3 1 env)
        (gvar expand-actual-arguments)
        (callj 2)
        2792
        (cons)
        (return)
        (name ())
      )
      (callj 1)
      (name ())
    )
    (callj 1)
    (name ())
  )
  (callj 2)
  (name expand-expr)
)
(gset expand-expr)
(pop)
(proc
  (args 1)
  (lvar 0 0 expr)
  (null?)
  (bfl () 2837)
  (())
  (return)
  2837
  (lvar 0 0 expr)
  (pair?)
  (bfl () 2835)
  (lvar 0 0 expr)
  (car)
  (const +)
  (eq?)
  (bfl () 2833)
  (gvar __primitives)
  (0)
  (vector-ref)
  (const +)
  (0)
  (lvar 0 0 expr)
  (gvar simplify-add-mul)
  (callj 4)
  2833
  (lvar 0 0 expr)
  (car)
  (const -)
  (eq?)
  (bfl () 2803)
  (lvar 0 0 expr)
  (length)
  (const 3)
  (=)
  (br () 2804)
  2803
  (#f)
  2804
  (bfl () 2831)
  (lvar 0 0 expr)
  (gvar simplify-sub)
  (callj 1)
  2831
  (lvar 0 0 expr)
  (car)
  (const *)
  (eq?)
  (bfl () 2829)
  (gvar __primitives)
  (1)
  (vector-ref)
  (const *)
  (1)
  (lvar 0 0 expr)
  (gvar simplify-add-mul)
  (callj 4)
  2829
  (lvar 0 0 expr)
  (car)
  (const bitwise-and)
  (eq?)
  (bfl () 2827)
  (gvar __primitives)
  (2)
  (vector-ref)
  (const bitwise-and)
  (lvar 0 0 expr)
  (gvar simplify-bitwise)
  (callj 3)
  2827
  (lvar 0 0 expr)
  (car)
  (const bitwise-or)
  (eq?)
  (bfl () 2825)
  (gvar __primitives)
  (const 3)
  (vector-ref)
  (const bitwise-or)
  (lvar 0 0 expr)
  (gvar simplify-bitwise)
  (callj 3)
  2825
  (lvar 0 0 expr)
  (car)
  (const bitwise-xor)
  (eq?)
  (bfl () 2823)
  (gvar __primitives)
  (const 4)
  (vector-ref)
  (const bitwise-xor)
  (lvar 0 0 expr)
  (gvar simplify-bitwise)
  (callj 3)
  2823
  (lvar 0 0 expr)
  (car)
  (const shr)
  (eq?)
  (bfl () 2821)
  (lvar 0 0 expr)
  (gvar simplify-shr)
  (callj 1)
  2821
  (lvar 0 0 expr)
  (car)
  (const shl)
  (eq?)
  (bfl () 2819)
  (lvar 0 0 expr)
  (gvar simplify-shl)
  (callj 1)
  2819
  (lvar 0 0 expr)
  (car)
  (const =)
  (eq?)
  (bfl () 2817)
  (gvar __primitives)
  (const 5)
  (vector-ref)
  (1)
  (0)
  (const =)
  (const =)
  (lvar 0 0 expr)
  (gvar simplify-generic)
  (callj 6)
  2817
  (lvar 0 0 expr)
  (car)
  (const !=)
  (eq?)
  (bfl () 2815)
  (proc
    (args 2)
    (lvar 0 0 x)
    (lvar 0 1 y)
    (=)
    (not)
    (return)
    (name ())
  )
  (1)
  (0)
  (const !=)
  (const !=)
  (lvar 0 0 expr)
  (gvar simplify-generic)
  (callj 6)
  2815
  (lvar 0 0 expr)
  (car)
  (const <)
  (eq?)
  (bfl () 2813)
  (gvar __primitives)
  (const 6)
  (vector-ref)
  (1)
  (0)
  (const >=)
  (const <)
  (lvar 0 0 expr)
  (gvar simplify-generic)
  (callj 6)
  2813
  (lvar 0 0 expr)
  (car)
  (const >)
  (eq?)
  (bfl () 2811)
  (gvar __primitives)
  (const 7)
  (vector-ref)
  (1)
  (0)
  (const <=)
  (const >)
  (lvar 0 0 expr)
  (gvar simplify-generic)
  (callj 6)
  2811
  (lvar 0 0 expr)
  (car)
  (const <=)
  (eq?)
  (bfl () 2809)
  (gvar __primitives)
  (const 8)
  (vector-ref)
  (1)
  (0)
  (const >)
  (const <=)
  (lvar 0 0 expr)
  (gvar simplify-generic)
  (callj 6)
  2809
  (lvar 0 0 expr)
  (car)
  (const >=)
  (eq?)
  (bfl () 2807)
  (gvar __primitives)
  (const 9)
  (vector-ref)
  (1)
  (0)
  (const <)
  (const >=)
  (lvar 0 0 expr)
  (gvar simplify-generic)
  (callj 6)
  2807
  (save () 2805)
  (lvar 0 0 expr)
  (car)
  (gvar simplify-expr)
  (callj 1)
  2805
  (save () 2806)
  (lvar 0 0 expr)
  (cdr)
  (gvar simplify-expr)
  (callj 1)
  2806
  (cons)
  (return)
  2835
  (lvar 0 0 expr)
  (return)
  (name simplify-expr)
)
(gset simplify-expr)
(pop)
(proc
  (args 1)
  (#f)
  (gset operand1-is-num)
  (pop)
  (save () 2839)
  (lvar 0 0 expr)
  (gvar simplify-expr)
  (callj 1)
  2839
  (proc
    (args 1)
    (lvar 0 0 expr)
    (number?)
    (bfl () 2857)
    (const push)
    (lvar 0 0 expr)
    (())
    (cons)
    (cons)
    (gvar add-to-instructions)
    (callj 1)
    2857
    (lvar 0 0 expr)
    (symbol?)
    (bfl () 2855)
    (lvar 0 0 expr)
    (gvar translate-symbol-arguments)
    (callj 1)
    2855
    (lvar 0 0 expr)
    (car)
    (lvar 0 0 expr)
    (cdr)
    (proc
      (args 2)
      (lvar 0 0 operator)
      (const set!)
      (eq?)
      (bfl () 2853)
      (lvar 0 1 operands)
      (car)
      (proc
        (args 1)
        (save () 2840)
        (lvar 1 0 operator)
        (lvar 1 1 operands)
        (cdr)
        (#f)
        (gvar translate-actual-arguments)
        (callj 3)
        2840
        (pop)
        (save () 2841)
        (lvar 0 0 var)
        (gvar lookup)
        (callj 1)
        2841
        (proc
          (args 1)
          (lvar 0 0 lookup-var)
          (car)
          (const global)
          (eq?)
          (bfl () 2843)
          (save () 2842)
          (const push)
          (lvar 0 0 lookup-var)
          (cadr)
          (())
          (cons)
          (cons)
          (gvar add-to-instructions)
          (callj 1)
          2842
          (pop)
          (const stack-set)
          (())
          (cons)
          (gvar add-to-instructions)
          (callj 1)
          2843
          (const stack-set-n)
          (lvar 0 0 lookup-var)
          (cadr)
          (())
          (cons)
          (cons)
          (gvar add-to-instructions)
          (callj 1)
          (name ())
        )
        (callj 1)
        (name ())
      )
      (callj 1)
      2853
      (lvar 0 0 operator)
      (const -)
      (eq?)
      (bfl () 2845)
      (lvar 0 1 operands)
      (length)
      (1)
      (=)
      (br () 2846)
      2845
      (#f)
      2846
      (bfl () 2851)
      (save () 2847)
      (lvar 0 0 operator)
      (lvar 0 1 operands)
      (#t)
      (gvar translate-actual-arguments)
      (callj 3)
      2847
      (pop)
      (const negate)
      (())
      (cons)
      (gvar add-to-instructions)
      (callj 1)
      2851
      (save () 2848)
      (lvar 0 0 operator)
      (save () 2849)
      (lvar 0 0 operator)
      (lvar 0 1 operands)
      (gvar reverse-operands-if-primitive)
      (callj 2)
      2849
      (#f)
      (gvar translate-actual-arguments)
      (callj 3)
      2848
      (pop)
      (save () 2850)
      (lvar 0 0 operator)
      (gvar translate-operator)
      (callj 1)
      2850
      (gvar add-to-instructions)
      (callj 1)
      (name ())
    )
    (callj 2)
    (name ())
  )
  (callj 1)
  (name translate-expr)
)
(gset translate-expr)
(pop)
(proc
  (args 1)
  (lvar 0 0 instructions)
  (null?)
  (bfl () 2863)
  (#f)
  (return)
  2863
  (lvar 0 0 instructions)
  (car)
  (proc
    (args 1)
    (lvar 1 0 instructions)
    (cdr)
    (null?)
    (bfl () 2861)
    (#f)
    (return)
    2861
    (lvar 1 0 instructions)
    (cadr)
    (proc
      (args 1)
      (lvar 1 0 instruction1)
      (const (push 0))
      (equal?)
      (bfl () 2859)
      (lvar 0 0 instruction2)
      (const (add))
      (equal?)
      (return)
      2859
      (#f)
      (return)
      (name ())
    )
    (callj 1)
    (name ())
  )
  (callj 1)
  (name add-zero?)
)
(gset add-zero?)
(pop)
(proc
  (args 1)
  (lvar 0 0 instructions)
  (null?)
  (bfl () 2869)
  (#f)
  (return)
  2869
  (lvar 0 0 instructions)
  (car)
  (proc
    (args 1)
    (lvar 1 0 instructions)
    (cdr)
    (null?)
    (bfl () 2867)
    (#f)
    (return)
    2867
    (lvar 1 0 instructions)
    (cadr)
    (proc
      (args 1)
      (lvar 1 0 instruction1)
      (const (stack-ref-n 0))
      (equal?)
      (bfl () 2865)
      (lvar 0 0 instruction2)
      (const (stack-set-n 0))
      (equal?)
      (return)
      2865
      (#f)
      (return)
      (name ())
    )
    (callj 1)
    (name ())
  )
  (callj 1)
  (name ref-set?)
)
(gset ref-set?)
(pop)
(proc
  (args 1)
  (lvar 0 0 instructions)
  (null?)
  (bfl () 2878)
  (())
  (return)
  2878
  (save () 2871)
  (lvar 0 0 instructions)
  (gvar add-zero?)
  (callj 1)
  2871
  (bfl () 2876)
  (lvar 0 0 instructions)
  (cddr)
  (gvar peephole)
  (callj 1)
  2876
  (save () 2872)
  (lvar 0 0 instructions)
  (gvar ref-set?)
  (callj 1)
  2872
  (bfl () 2874)
  (lvar 0 0 instructions)
  (cddr)
  (gvar peephole)
  (callj 1)
  2874
  (lvar 0 0 instructions)
  (car)
  (save () 2873)
  (lvar 0 0 instructions)
  (cdr)
  (gvar peephole)
  (callj 1)
  2873
  (cons)
  (return)
  (name peephole)
)
(gset peephole)
(pop)
(proc
  (args 2)
  (save () 2880)
  (lvar 0 0 expr)
  (())
  (gvar expand-expr)
  (callj 2)
  2880
  (lset 0 0 expr)
  (pop)
  (lvar 0 1 force-slow)
  (bfl () 2894)
  (#f)
  (gset fast-expression)
  (pop)
  (br () 2895)
  2894
  (save () 2881)
  (lvar 0 0 expr)
  (gvar expr-doesnt-have-function?)
  (callj 1)
  2881
  (bfl () 2892)
  (#t)
  (gset quiet)
  (pop)
  (())
  (gset instructions)
  (pop)
  (())
  (gset immediate-list)
  (pop)
  (0)
  (gset register-idx)
  (pop)
  (0)
  (gset max-register-idx)
  (pop)
  (#t)
  (gset fast-expression)
  (pop)
  (gvar target-save)
  (gset target)
  (pop)
  (save () 2882)
  (lvar 0 0 expr)
  (gvar translate-expr)
  (callj 1)
  2882
  (pop)
  (save () 2883)
  (save () 2884)
  (save () 2885)
  (gvar instructions)
  (gvar reverse)
  (callj 1)
  2885
  (gvar peephole)
  (callj 1)
  2884
  (gvar display-instructions)
  (callj 1)
  2883
  (pop)
  (const vm)
  (gset target)
  (pop)
  (#f)
  (gset quiet)
  (pop)
  (gvar operand1-is-num)
  (bfl () 2888)
  (#f)
  (br () 2889)
  2888
  (gvar max-register-idx)
  (0)
  (=)
  (bfl () 2886)
  (#f)
  (br () 2887)
  2886
  (gvar max-register-idx)
  (gvar maximum-free-registers)
  (<)
  2887
  2889
  (bfl () 2890)
  (#t)
  (gset fast-expression)
  (pop)
  (br () 2891)
  2890
  (#f)
  (gset fast-expression)
  (pop)
  2891
  (br () 2893)
  2892
  (#f)
  (gset fast-expression)
  (pop)
  2893
  2895
  (#f)
  (gset quiet)
  (pop)
  (())
  (gset instructions)
  (pop)
  (())
  (gset immediate-list)
  (pop)
  (save () 2896)
  (const expr)
  (gvar fast-expression)
  (gvar max-register-idx)
  (gvar fast-relop)
  (lvar 0 0 expr)
  (())
  (cons)
  (cons)
  (cons)
  (cons)
  (cons)
  (gvar display-instruction)
  (callj 1)
  2896
  (pop)
  (0)
  (gset register-idx)
  (pop)
  (0)
  (gset max-register-idx)
  (pop)
  (save () 2897)
  (lvar 0 0 expr)
  (gvar translate-expr)
  (callj 1)
  2897
  (pop)
  (save () 2898)
  (save () 2899)
  (gvar instructions)
  (gvar reverse)
  (callj 1)
  2899
  (gvar peephole)
  (callj 1)
  2898
  (gvar display-instructions)
  (callj 1)
  (name translate-expr-and-display)
)
(gset translate-expr-and-display)
(pop)
(proc
  (args 2)
  (save () 2900)
  (lvar 0 0 predicate)
  (())
  (gvar expand-expr)
  (callj 2)
  2900
  (lset 0 0 predicate)
  (pop)
  (#f)
  (gset fast-relop)
  (pop)
  (lvar 0 0 predicate)
  (pair?)
  (bfl () 2907)
  (lvar 0 0 predicate)
  (length)
  (const 3)
  (=)
  (bfl () 2905)
  (lvar 0 0 predicate)
  (car)
  (const (= != < > <= >=))
  (memq)
  (bfl () 2903)
  (lvar 0 0 predicate)
  (cadr)
  (number?)
  (not)
  (bfl () 2901)
  (lvar 0 0 predicate)
  (car)
  (gset fast-relop)
  (pop)
  (br () 2902)
  2901
  2902
  (br () 2904)
  2903
  2904
  (br () 2906)
  2905
  2906
  (br () 2908)
  2907
  2908
  (lvar 0 0 predicate)
  (lvar 0 1 force-slow)
  (gvar translate-expr-and-display)
  (callj 2)
  (name translate-predicate-expr-and-display)
)
(gset translate-predicate-expr-and-display)
(pop)
(proc
  (args 1)
  (lvar 0 0 statements)
  (null?)
  (not)
  (bfl () 2910)
  (lvar 0 0 statements)
  (car)
  (proc
    (args 1)
    (save () 2909)
    (lvar 0 0 statement)
    (gvar my-eval)
    (callj 1)
    2909
    (pop)
    (lvar 1 0 statements)
    (cdr)
    (gvar translate-statements)
    (callj 1)
    (name ())
  )
  (callj 1)
  2910
  (())
  (return)
  (name translate-statements)
)
(gset translate-statements)
(pop)
(proc
  (args 2)
  (lvar 0 1 name)
  (lvar 0 0 functions)
  (assq)
  (return)
  (name find-function)
)
(gset find-function)
(pop)
(proc
  (args 1)
  (())
  (proc
    (args 1)
    (proc
      (args 2)
      (lvar 0 0 x)
      (null?)
      (bfl () 2915)
      (lvar 0 1 y)
      (return)
      2915
      (lvar 0 0 x)
      (pair?)
      (bfl () 2913)
      (lvar 0 0 x)
      (car)
      (save () 2912)
      (lvar 0 0 x)
      (cdr)
      (lvar 0 1 y)
      (lvar 1 0 flatten-help)
      (callj 2)
      2912
      (lvar 1 0 flatten-help)
      (callj 2)
      2913
      (lvar 0 0 x)
      (lvar 0 1 y)
      (cons)
      (return)
      (name flatten-help)
    )
    (lset 0 0 flatten-help)
    (pop)
    (lvar 1 0 x)
    (())
    (lvar 0 0 flatten-help)
    (callj 2)
    (name ())
  )
  (callj 1)
  (name flatten)
)
(gset flatten)
(pop)
(proc
  (args 1)
  (const return)
  (save () 2917)
  (lvar 0 0 function)
  (gvar flatten)
  (callj 1)
  2917
  (memq)
  (bfl () 2918)
  (const function)
  (return)
  2918
  (const procedure)
  (return)
  (name function-or-proc?)
)
(gset function-or-proc?)
(pop)
(proc
  (args 1)
  (save () 2920)
  (gvar target)
  (const vm)
  (eq?)
  (proc
    (args 1)
    (lvar 0 0 g:::72)
    (bfl () 2921)
    (lvar 0 0 g:::72)
    (return)
    2921
    (gvar target)
    (const riscv)
    (eq?)
    (return)
    (name ())
  )
  (callj 1)
  2920
  (not)
  (bfl () 2925)
  (lvar 0 0 name)
  (const (memcmp32 memcpy32 memset32))
  (memq)
  (bfl () 2923)
  (lvar 0 0 name)
  (const ((memcmp32 __memcmp32) (memcpy32 __memcpy32) (memset32 __memset32)))
  (assv)
  (cadr)
  (proc
    (args 1)
    (lvar 0 0 name2)
    (gvar log-code-instruction)
    (callj 1)
    (name ())
  )
  (callj 1)
  2923
  (())
  (return)
  2925
  (())
  (return)
  (name fast-function-hook)
)
(gset fast-function-hook)
(pop)
(proc
  (args 1)
  (lvar 0 0 function)
  (car)
  (lvar 0 0 function)
  (cadr)
  (0)
  (proc
    (args 3)
    (lvar 0 1 value)
    (cadr)
    (gset formal-parameters)
    (pop)
    (())
    (gset local-vars)
    (pop)
    (lvar 0 1 value)
    (cddr)
    (caar)
    (const let)
    (eq?)
    (bfl () 2929)
    (lvar 0 1 value)
    (cddr)
    (car)
    (cadr)
    (const loop)
    (eq?)
    (not)
    (bfl () 2927)
    (lvar 0 1 value)
    (cddr)
    (car)
    (cdr)
    (car)
    (length)
    (lset 0 2 local-vars-size)
    (pop)
    (br () 2928)
    2927
    2928
    (br () 2930)
    2929
    2930
    (save () 2931)
    (save () 2932)
    (gvar functions)
    (lvar 0 0 name)
    (gvar find-function)
    (callj 2)
    2932
    (gvar function-or-proc?)
    (callj 1)
    2931
    (gset function-type)
    (pop)
    (gvar function-type)
    (not)
    (bfl () 2936)
    (save () 2933)
    (lvar 0 0 name)
    (gvar my-display)
    (callj 1)
    2933
    (pop)
    (save () 2934)
    (const " not found")
    (gvar my-display)
    (callj 1)
    2934
    (pop)
    (save () 2935)
    (gvar my-newline)
    (callj 0)
    2935
    (pop)
    (br () 2937)
    2936
    2937
    (gvar formal-parameters)
    (length)
    (lvar 0 2 local-vars-size)
    (+)
    (gvar function-type)
    (const function)
    (eq?)
    (bfl () 2938)
    (1)
    (br () 2939)
    2938
    (0)
    2939
    (+)
    (gset dynamic-link)
    (pop)
    (lvar 0 1 value)
    (cdr)
    (cdr)
    (proc
      (args 1)
      (gvar target-save)
      (gset target)
      (pop)
      (save () 2940)
      (lvar 1 0 name)
      (gvar fast-function-hook)
      (callj 1)
      2940
      (pop)
      (save () 2941)
      (lvar 1 0 name)
      (gvar log-code-instruction)
      (callj 1)
      2941
      (pop)
      (const vm)
      (gset target)
      (pop)
      (save () 2942)
      (const function-proc-begin)
      (gvar formal-parameters)
      (length)
      (gvar formal-parameters)
      (length)
      (lvar 1 2 local-vars-size)
      (+)
      (gvar function-type)
      (const function)
      (eq?)
      (bfl () 2943)
      (2)
      (br () 2944)
      2943
      (1)
      2944
      (+)
      (gvar dynamic-link)
      (())
      (cons)
      (cons)
      (cons)
      (cons)
      (gvar display-instruction)
      (callj 1)
      2942
      (pop)
      (save () 2945)
      (lvar 0 0 body)
      (gvar translate-statements)
      (callj 1)
      2945
      (pop)
      (gvar target-save)
      (gset target)
      (pop)
      (lvar 1 0 name)
      (gvar fast-function-hook)
      (callj 1)
      (name ())
    )
    (callj 1)
    (name ())
  )
  (callj 3)
  (name translate-function)
)
(gset translate-function)
(pop)
(proc
  (args 1)
  (lvar 0 0 functions)
  (null?)
  (not)
  (bfl () 2947)
  (lvar 0 0 functions)
  (car)
  (proc
    (args 1)
    (save () 2946)
    (lvar 0 0 function)
    (gvar translate-function)
    (callj 1)
    2946
    (pop)
    (lvar 1 0 functions)
    (cdr)
    (gvar translate-functions)
    (callj 1)
    (name ())
  )
  (callj 1)
  2947
  (())
  (return)
  (name translate-functions)
)
(gset translate-functions)
(pop)
(proc
  (args 1)
  (lvar 0 0 expr)
  (car)
  (gset functions)
  (pop)
  (lvar 0 0 expr)
  (cadr)
  (proc
    (args 1)
    (save () 2949)
    (const top-level-begin)
    (0)
    (save () 2950)
    (gvar global-vars)
    (0)
    (gvar get-globals-size)
    (callj 2)
    2950
    (const 4)
    (+)
    (())
    (cons)
    (cons)
    (cons)
    (gvar display-instruction)
    (callj 1)
    2949
    (pop)
    (save () 2951)
    (const call)
    (const __main)
    (())
    (cons)
    (cons)
    (gvar display-instruction)
    (callj 1)
    2951
    (pop)
    (save () 2952)
    (const exit)
    (())
    (cons)
    (gvar display-instruction)
    (callj 1)
    2952
    (pop)
    (gvar functions)
    (gvar translate-functions)
    (callj 1)
    (name ())
  )
  (callj 1)
  (name translate-letrec)
)
(gset translate-letrec)
(pop)
(proc
  (args 1)
  (gvar level)
  (0)
  (=)
  (bfl () 2953)
  (lvar 0 0 expr)
  (car)
  (gset global-vars)
  (pop)
  (1)
  (gset level)
  (pop)
  (br () 2954)
  2953
  (lvar 0 0 expr)
  (car)
  (gset local-vars)
  (pop)
  2954
  (lvar 0 0 expr)
  (car)
  (lvar 0 0 expr)
  (cdr)
  (proc
    (args 2)
    (lvar 0 1 body)
    (gvar translate-statements)
    (callj 1)
    (name ())
  )
  (callj 2)
  (name translate-let)
)
(gset translate-let)
(pop)
(proc
  (args 1)
  (save () 2955)
  (gvar gen)
  (callj 0)
  2955
  (proc
    (args 1)
    (lvar 0 0 label)
    (gvar loop-label-stack)
    (cons)
    (gset loop-label-stack)
    (pop)
    (save () 2956)
    (lvar 0 0 label)
    (gvar display-label)
    (callj 1)
    2956
    (pop)
    (lvar 1 0 expr)
    (gvar translate-statements)
    (callj 1)
    (name ())
  )
  (callj 1)
  (name translate-let-loop)
)
(gset translate-let-loop)
(pop)
(proc
  (args 1)
  (lvar 0 0 predicate)
  (pair?)
  (bfl () 2959)
  (lvar 0 0 predicate)
  (car)
  (proc
    (args 1)
    (lvar 0 0 test)
    (const __test)
    (eq?)
    (bfl () 2957)
    (lvar 1 0 predicate)
    (cadr)
    (return)
    2957
    (lvar 1 0 predicate)
    (return)
    (name ())
  )
  (callj 1)
  2959
  (lvar 0 0 predicate)
  (return)
  (name filter-predicate)
)
(gset filter-predicate)
(pop)
(proc
  (args 1)
  (save () 2961)
  (lvar 0 0 expr)
  (car)
  (gvar filter-predicate)
  (callj 1)
  2961
  (lvar 0 0 expr)
  (cdr)
  (proc
    (args 2)
    (lvar 0 1 exprs)
    (cdr)
    (null?)
    (bfl () 2976)
    (lvar 0 1 exprs)
    (car)
    (save () 2962)
    (gvar gen)
    (callj 0)
    2962
    (proc
      (args 2)
      (lvar 1 0 predicate)
      (1)
      (equal?)
      (bfl () 2966)
      (lvar 0 0 then-part)
      (gvar my-eval)
      (callj 1)
      2966
      (save () 2963)
      (lvar 1 0 predicate)
      (#f)
      (gvar translate-predicate-expr-and-display)
      (callj 2)
      2963
      (pop)
      (save () 2964)
      (const bfl)
      (lvar 0 1 l0)
      (())
      (cons)
      (cons)
      (gvar display-instruction)
      (callj 1)
      2964
      (pop)
      (save () 2965)
      (lvar 0 0 then-part)
      (gvar my-eval)
      (callj 1)
      2965
      (pop)
      (lvar 0 1 l0)
      (gvar display-label)
      (callj 1)
      (name ())
    )
    (callj 2)
    2976
    (lvar 0 1 exprs)
    (car)
    (lvar 0 1 exprs)
    (cadr)
    (save () 2968)
    (gvar gen)
    (callj 0)
    2968
    (save () 2969)
    (gvar gen)
    (callj 0)
    2969
    (proc
      (args 4)
      (save () 2970)
      (lvar 1 0 predicate)
      (#f)
      (gvar translate-predicate-expr-and-display)
      (callj 2)
      2970
      (pop)
      (save () 2971)
      (const bfl)
      (lvar 0 2 l0)
      (())
      (cons)
      (cons)
      (gvar display-instruction)
      (callj 1)
      2971
      (pop)
      (save () 2972)
      (lvar 0 0 then-part)
      (gvar my-eval)
      (callj 1)
      2972
      (pop)
      (save () 2973)
      (const br)
      (lvar 0 3 l1)
      (())
      (cons)
      (cons)
      (gvar display-instruction)
      (callj 1)
      2973
      (pop)
      (save () 2974)
      (lvar 0 2 l0)
      (gvar display-label)
      (callj 1)
      2974
      (pop)
      (save () 2975)
      (lvar 0 1 else-part)
      (gvar my-eval)
      (callj 1)
      2975
      (pop)
      (lvar 0 3 l1)
      (gvar display-label)
      (callj 1)
      (name ())
    )
    (callj 4)
    (name ())
  )
  (callj 2)
  (name translate-if)
)
(gset translate-if)
(pop)
(proc
  (args 1)
  (lvar 0 0 expr)
  (car)
  (lvar 0 0 expr)
  (cdr)
  (lvar 0 0 expr)
  (cdr)
  (length)
  (save () 2978)
  (gvar gen)
  (callj 0)
  2978
  (save () 2979)
  (gvar gen)
  (callj 0)
  2979
  (save () 2980)
  (gvar gen)
  (callj 0)
  2980
  (proc
    (args 6)
    (save () 2981)
    (())
    (proc
      (args 1)
      (proc
        (args 1)
        (lvar 0 0 i)
        (lvar 2 2 n-cases)
        (=)
        (bfl () 2983)
        (())
        (return)
        2983
        (save () 2982)
        (gvar gen)
        (callj 0)
        2982
        (pop)
        (lvar 0 0 i)
        (1)
        (+)
        (lvar 1 0 loop)
        (callj 1)
        (name loop)
      )
      (lset 0 0 loop)
      (pop)
      (1)
      (lvar 0 0 loop)
      (callj 1)
      (name ())
    )
    (callj 1)
    2981
    (pop)
    (save () 2985)
    (lvar 0 0 n-expr)
    (#t)
    (gvar translate-expr-and-display)
    (callj 2)
    2985
    (pop)
    (save () 2986)
    (const br)
    (lvar 0 3 switch)
    (())
    (cons)
    (cons)
    (gvar display-instruction)
    (callj 1)
    2986
    (pop)
    (save () 2987)
    (())
    (proc
      (args 1)
      (proc
        (args 1)
        (lvar 0 0 i)
        (lvar 2 2 n-cases)
        (=)
        (bfl () 2991)
        (())
        (return)
        2991
        (save () 2988)
        (lvar 2 5 first-case)
        (lvar 0 0 i)
        (+)
        (gvar display-label)
        (callj 1)
        2988
        (pop)
        (save () 2989)
        (lvar 2 1 cases)
        (cdar)
        (gvar translate-statements)
        (callj 1)
        2989
        (pop)
        (save () 2990)
        (const br)
        (lvar 2 4 break)
        (())
        (cons)
        (cons)
        (gvar display-instruction)
        (callj 1)
        2990
        (pop)
        (lvar 2 1 cases)
        (cdr)
        (lset 2 1 cases)
        (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)
    2987
    (pop)
    (save () 2993)
    (lvar 0 3 switch)
    (gvar display-label)
    (callj 1)
    2993
    (pop)
    (save () 2994)
    (())
    (proc
      (args 1)
      (save () 2995)
      (())
      (proc
        (args 1)
        (proc
          (args 1)
          (lvar 0 0 i)
          (lvar 3 2 n-cases)
          (=)
          (bfl () 2996)
          (())
          (return)
          2996
          (lvar 0 0 i)
          (lvar 3 5 first-case)
          (lvar 0 0 i)
          (+)
          (())
          (cons)
          (cons)
          (lvar 2 0 brtable-list)
          (cons)
          (lset 2 0 brtable-list)
          (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)
      2995
      (pop)
      (const brtable)
      (save () 2998)
      (lvar 0 0 brtable-list)
      (gvar reverse)
      (callj 1)
      2998
      (cons)
      (gvar display-instruction)
      (callj 1)
      (name ())
    )
    (callj 1)
    2994
    (pop)
    (lvar 0 4 break)
    (gvar display-label)
    (callj 1)
    (name ())
  )
  (callj 6)
  (name translate-case)
)
(gset translate-case)
(pop)
(proc
  (args 1)
  (save () 2999)
  (lvar 0 0 expr)
  (gvar letrec?)
  (callj 1)
  2999
  (bfl () 3034)
  (lvar 0 0 expr)
  (cdr)
  (gvar translate-letrec)
  (callj 1)
  3034
  (save () 3000)
  (lvar 0 0 expr)
  (gvar let-loop?)
  (callj 1)
  3000
  (bfl () 3032)
  (lvar 0 0 expr)
  (cddr)
  (cdr)
  (gvar translate-let-loop)
  (callj 1)
  3032
  (save () 3001)
  (lvar 0 0 expr)
  (gvar let?)
  (callj 1)
  3001
  (bfl () 3030)
  (lvar 0 0 expr)
  (cdr)
  (gvar translate-let)
  (callj 1)
  3030
  (save () 3002)
  (lvar 0 0 expr)
  (gvar begin?)
  (callj 1)
  3002
  (bfl () 3028)
  (lvar 0 0 expr)
  (cdr)
  (gvar translate-statements)
  (callj 1)
  3028
  (save () 3003)
  (lvar 0 0 expr)
  (gvar case?)
  (callj 1)
  3003
  (bfl () 3026)
  (lvar 0 0 expr)
  (cdr)
  (gvar translate-case)
  (callj 1)
  3026
  (save () 3004)
  (lvar 0 0 expr)
  (gvar if?)
  (callj 1)
  3004
  (bfl () 3024)
  (lvar 0 0 expr)
  (cdr)
  (gvar translate-if)
  (callj 1)
  3024
  (save () 3005)
  (lvar 0 0 expr)
  (gvar display-string?)
  (callj 1)
  3005
  (bfl () 3022)
  (save () 3006)
  (lvar 0 0 expr)
  (cadr)
  (gvar emit-write-string)
  (callj 1)
  3006
  (proc
    (args 1)
    (gvar target)
    (const vm)
    (eq?)
    (bfl () 3017)
    (lvar 0 0 s)
    (gvar log-code-instruction)
    (callj 1)
    3017
    (save () 3007)
    (gvar target)
    (const arm)
    (eq?)
    (proc
      (args 1)
      (lvar 0 0 g:::73)
      (bfl () 3010)
      (lvar 0 0 g:::73)
      (return)
      3010
      (gvar target)
      (const x86)
      (eq?)
      (proc
        (args 1)
        (lvar 0 0 g:::74)
        (bfl () 3008)
        (lvar 0 0 g:::74)
        (return)
        3008
        (gvar target)
        (const riscv)
        (eq?)
        (return)
        (name ())
      )
      (callj 1)
      (name ())
    )
    (callj 1)
    3007
    (bfl () 3015)
    (save () 3012)
    (gvar display-comment)
    (callj 0)
    3012
    (pop)
    (save () 3013)
    (lvar 0 0 s)
    (gvar my-display)
    (callj 1)
    3013
    (pop)
    (save () 3014)
    (gvar my-newline)
    (callj 0)
    3014
    (pop)
    (lvar 0 0 s)
    (cdr)
    (gvar write-string)
    (callj 1)
    3015
    (())
    (return)
    (name ())
  )
  (callj 1)
  3022
  (lvar 0 0 expr)
  (const (loop))
  (equal?)
  (bfl () 3020)
  (save () 3019)
  (const br)
  (gvar loop-label-stack)
  (car)
  (())
  (cons)
  (cons)
  (gvar display-instruction)
  (callj 1)
  3019
  (pop)
  (gvar loop-label-stack)
  (cdr)
  (gset loop-label-stack)
  (return)
  3020
  (lvar 0 0 expr)
  (#f)
  (gvar translate-expr-and-display)
  (callj 2)
  (name my-eval)
)
(gset my-eval)
(pop)
(proc
  (args 1)
  (lvar 0 0 expr)
  (car)
  (const let)
  (eq?)
  (bfl () 3036)
  (0)
  (gset level)
  (pop)
  (br () 3037)
  3036
  (1)
  (gset level)
  (pop)
  3037
  (lvar 0 0 expr)
  (return)
  (name set-top-level)
)
(gset set-top-level)
(pop)
(proc
  (args 1)
  (lvar 0 0 expr)
  (car)
  (const define)
  (eq?)
  (return)
  (name define?)
)
(gset define?)
(pop)
(())
(gset defines)
(pop)
(proc
  (args 1)
  (lvar 0 0 expr)
  (gvar defines)
  (cons)
  (gset defines)
  (return)
  (name process-define)
)
(gset process-define)
(pop)
(proc
  (args 1)
  (lvar 0 0 symbol)
  (gvar defines)
  (assq)
  (proc
    (args 1)
    (lvar 0 0 found)
    (bfl () 3038)
    (lvar 0 0 found)
    (cadr)
    (return)
    3038
    (lvar 1 0 symbol)
    (return)
    (name ())
  )
  (callj 1)
  (name lookup-define)
)
(gset lookup-define)
(pop)
(proc
  (args 1)
  (lvar 0 0 expr)
  (pair?)
  (bfl () 3044)
  (save () 3040)
  (lvar 0 0 expr)
  (car)
  (gvar filter-defines)
  (callj 1)
  3040
  (save () 3041)
  (lvar 0 0 expr)
  (cdr)
  (gvar filter-defines)
  (callj 1)
  3041
  (cons)
  (return)
  3044
  (lvar 0 0 expr)
  (symbol?)
  (bfl () 3042)
  (lvar 0 0 expr)
  (gvar lookup-define)
  (callj 1)
  3042
  (lvar 0 0 expr)
  (return)
  (name filter-defines)
)
(gset filter-defines)
(pop)
(save () 3046)
(save () 3047)
(())
(proc
  (args 1)
  (proc
    (args 0)
    (save () 3048)
    (gvar read)
    (callj 0)
    3048
    (proc
      (args 1)
      (save () 3049)
      (lvar 0 0 form)
      (gvar define?)
      (callj 1)
      3049
      (bfl () 3053)
      (save () 3050)
      (lvar 0 0 form)
      (cdr)
      (gvar process-define)
      (callj 1)
      3050
      (pop)
      (lvar 2 0 loop)
      (callj 0)
      3053
      (save () 3051)
      (save () 3052)
      (lvar 0 0 form)
      (gvar filter-defines)
      (callj 1)
      3052
      (gvar set-top-level)
      (callj 1)
      3051
      (gvar my-eval)
      (callj 1)
      (name ())
    )
    (callj 1)
    (name loop)
  )
  (lset 0 0 loop)
  (pop)
  (lvar 0 0 loop)
  (return)
  (name ())
)
(callj 1)
3047
(callj 0)
3046
(gvar target-save)
(gset target)
(save () 3055)
(save () 3056)
(gvar code-instructions)
(gvar reverse)
(callj 1)
3056
(proc
  (args 1)
  (save () 3057)
  (gvar target)
  (save () 3058)
  (gvar target)
  (save () 3059)
  (lvar 0 0 code)
  (lvar 0 0 code)
  (gvar optimize-code)
  (callj 2)
  3059
  (gvar optimize-code-x86-dec)
  (callj 2)
  3058
  (gvar optimize-code-x86-inc)
  (callj 2)
  3057
  (gvar display-code)
  (callj 1)
  (name ())
)
(callj 1)
3055
(gvar target-save)
(gset target)
(gvar target)
(const arm)
(eq?)
(bfl () 3061)
(save () 3060)
(gvar global-constants)
(gvar display-global-constants)
(callj 1)
3060
(br () 3062)
3061
(())
3062
(halt)
)
