(define hash2610 (hasheq))
(define hash2725 (hash))
(define kw2846 (string->keyword "direct"))
(define kw2615 (string->keyword "anonymous"))
(define hash2589 (hasheqv))
(define qq-append
  (lambda (a_0 b_0)
    (if (list? a_0)
      (append a_0 b_0)
      (raise-argument-error 'unquote-splicing "list?" a_0))))
(define fixnum-for-every-system?
  (lambda (v_0)
    (if (fixnum? v_0) (if (fx>= v_0 -536870912) (fx<= v_0 536870911) #f) #f)))
(define call-with-exception-handler
  (lambda (exnh_0 thunk_0)
    (begin0
      (with-continuation-mark*
       push-authentic
       exception-handler-key
       exnh_0
       (|#%app| thunk_0))
      (void))))
(define not-there (gensym))
(define do-hash-update
  (lambda (who_0 mut?_0 set_0 ht_0 key_0 xform_0 default_0)
    (let ((v_0 (hash-ref ht_0 key_0 default_0)))
      (if (eq? v_0 not-there)
        (raise-mismatch-error who_0 "no value found for key: " key_0)
        (|#%app| set_0 ht_0 key_0 (|#%app| xform_0 v_0))))))
(define hash-update!
  (case-lambda
   ((ht_0 key_0 xform_0 default_0)
    (do-hash-update 'hash-update! #t hash-set! ht_0 key_0 xform_0 default_0))
   ((ht_0 key_0 xform_0)
    (do-hash-update 'hash-update! #t hash-set! ht_0 key_0 xform_0 not-there))))
(define path-string?
  (lambda (s_0)
    (let ((or-part_0 (path? s_0)))
      (if or-part_0
        or-part_0
        (if (string? s_0)
          (let ((or-part_1 (relative-path? s_0)))
            (if or-part_1 or-part_1 (absolute-path? s_0)))
          #f)))))
(define-values
 (prop:keyword-impersonator keyword-impersonator? keyword-impersonator-ref)
 (make-struct-type-property 'keyword-impersonator))
(define keyword-procedure-impersonator-of
  (lambda (v_0)
    (if (keyword-impersonator? v_0)
      (|#%app| (keyword-impersonator-ref v_0) v_0)
      #f)))
(define-values
 (struct:keyword-procedure
  mk-kw-proc
  keyword-procedure?
  keyword-procedure-ref
  keyword-procedure-set!)
 (let ((app_0
        (list
         (cons prop:checked-procedure #t)
         (cons prop:impersonator-of keyword-procedure-impersonator-of))))
   (make-struct-type
    'keyword-procedure
    #f
    4
    0
    #f
    app_0
    (current-inspector)
    #f
    '(0 1 2 3))))
(define keyword-procedure-required
  (make-struct-field-accessor keyword-procedure-ref 2))
(define keyword-procedure-allowed
  (make-struct-field-accessor keyword-procedure-ref 3))
(define-values
 (prop:procedure-accessor procedure-accessor? procedure-accessor-ref)
 (make-struct-type-property
  'procedure
  (lambda (v_0 info-l_0)
    (if (exact-integer? v_0)
      (make-struct-field-accessor (list-ref info-l_0 3) v_0)
      #f))))
(define-values
 (new-prop:procedure new-procedure? new-procedure-ref)
 (make-struct-type-property
  'procedure
  #f
  (list (cons prop:procedure values) (cons prop:procedure-accessor values))
  #t))
(define procedure-keywords
  (lambda (p_0)
    (if (keyword-procedure? p_0)
      (let ((app_0 (keyword-procedure-required p_0)))
        (values app_0 (keyword-procedure-allowed p_0)))
      (if (procedure? p_0)
        (if (new-procedure? p_0)
          (let ((v_0 (new-procedure-ref p_0)))
            (if (procedure? v_0)
              (procedure-keywords v_0)
              (let ((a_0 (procedure-accessor-ref p_0)))
                (if a_0
                  (procedure-keywords (|#%app| a_0 p_0))
                  (values null null)))))
          (values null null))
        (raise-argument-error*
         'procedure-keywords
         'racket/primitive
         "procedure?"
         p_0)))))
(define check-struct-type
  (lambda (name_0 what_0)
    (begin
      (if what_0
        (if (struct-type? what_0)
          (void)
          (raise-argument-error name_0 "(or/c struct-type? #f)" what_0))
        (void))
      what_0)))
(define reverse$1
  (|#%name|
   reverse
   (lambda (l_0)
     (letrec*
      ((loop_0
        (|#%name|
         loop
         (lambda (a_0 l_1)
           (if (null? l_1)
             a_0
             (let ((app_0 (cons (car l_1) a_0))) (loop_0 app_0 (cdr l_1))))))))
      (loop_0 null l_0)))))
(define-values
 (sort vector-sort vector-sort!)
 (let ((generic-sort_0
        (|#%name|
         generic-sort
         (lambda (A_0 less-than?_0 n_0)
           (let ((n/2-_0 (unsafe-fxrshift n_0 1)))
             (let ((n/2+_0 (unsafe-fx- n_0 n/2-_0)))
               (letrec*
                ((copying-mergesort_0
                  (|#%name|
                   copying-mergesort
                   (lambda (Alo_0 Blo_0 n_1)
                     (if (unsafe-fx= n_1 1)
                       (unsafe-vector-set!
                        A_0
                        Blo_0
                        (unsafe-vector-ref A_0 Alo_0))
                       (if (unsafe-fx= n_1 2)
                         (let ((x_0 (unsafe-vector-ref A_0 Alo_0)))
                           (let ((y_0
                                  (unsafe-vector-ref
                                   A_0
                                   (unsafe-fx+ Alo_0 1))))
                             (let ((x_1 x_0))
                               (if (|#%app| less-than?_0 y_0 x_1)
                                 (begin
                                   (unsafe-vector-set! A_0 Blo_0 y_0)
                                   (unsafe-vector-set!
                                    A_0
                                    (unsafe-fx+ Blo_0 1)
                                    x_1))
                                 (begin
                                   (unsafe-vector-set! A_0 Blo_0 x_1)
                                   (unsafe-vector-set!
                                    A_0
                                    (unsafe-fx+ Blo_0 1)
                                    y_0))))))
                         (if (unsafe-fx< n_1 16)
                           (begin
                             (unsafe-vector-set!
                              A_0
                              Blo_0
                              (unsafe-vector-ref A_0 Alo_0))
                             (letrec*
                              ((iloop_0
                                (|#%name|
                                 iloop
                                 (lambda (i_0)
                                   (if (unsafe-fx< i_0 n_1)
                                     (let ((ref-i_0
                                            (unsafe-vector-ref
                                             A_0
                                             (unsafe-fx+ Alo_0 i_0))))
                                       (letrec*
                                        ((jloop_0
                                          (|#%name|
                                           jloop
                                           (lambda (j_0)
                                             (let ((ref-j-1_0
                                                    (unsafe-vector-ref
                                                     A_0
                                                     (unsafe-fx- j_0 1))))
                                               (if (if (unsafe-fx< Blo_0 j_0)
                                                     (|#%app|
                                                      less-than?_0
                                                      ref-i_0
                                                      ref-j-1_0)
                                                     #f)
                                                 (begin
                                                   (unsafe-vector-set!
                                                    A_0
                                                    j_0
                                                    ref-j-1_0)
                                                   (jloop_0
                                                    (unsafe-fx- j_0 1)))
                                                 (begin
                                                   (unsafe-vector-set!
                                                    A_0
                                                    j_0
                                                    ref-i_0)
                                                   (iloop_0
                                                    (unsafe-fx+ i_0 1)))))))))
                                        (jloop_0 (unsafe-fx+ Blo_0 i_0))))
                                     (void))))))
                              (iloop_0 1)))
                           (let ((n/2-_1 (unsafe-fxrshift n_1 1)))
                             (let ((n/2+_1 (unsafe-fx- n_1 n/2-_1)))
                               (let ((Amid1_0 (unsafe-fx+ Alo_0 n/2-_1)))
                                 (let ((Amid2_0 (unsafe-fx+ Alo_0 n/2+_1)))
                                   (let ((Bmid1_0 (unsafe-fx+ Blo_0 n/2-_1)))
                                     (begin
                                       (copying-mergesort_0
                                        Amid1_0
                                        Bmid1_0
                                        n/2+_1)
                                       (copying-mergesort_0
                                        Alo_0
                                        Amid2_0
                                        n/2-_1)
                                       (let ((b2_0 (unsafe-fx+ Blo_0 n_1)))
                                         (letrec*
                                          ((loop_0
                                            (|#%name|
                                             loop
                                             (lambda (a1_0 b1_0 c1_0)
                                               (let ((x_0
                                                      (unsafe-vector-ref
                                                       A_0
                                                       a1_0)))
                                                 (let ((y_0
                                                        (unsafe-vector-ref
                                                         A_0
                                                         b1_0)))
                                                   (let ((x_1 x_0))
                                                     (if (not
                                                          (|#%app|
                                                           less-than?_0
                                                           y_0
                                                           x_1))
                                                       (begin
                                                         (unsafe-vector-set!
                                                          A_0
                                                          c1_0
                                                          x_1)
                                                         (let ((a1_1
                                                                (unsafe-fx+
                                                                 a1_0
                                                                 1)))
                                                           (let ((c1_1
                                                                  (unsafe-fx+
                                                                   c1_0
                                                                   1)))
                                                             (if (unsafe-fx<
                                                                  c1_1
                                                                  b1_0)
                                                               (loop_0
                                                                a1_1
                                                                b1_0
                                                                c1_1)
                                                               (void)))))
                                                       (begin
                                                         (unsafe-vector-set!
                                                          A_0
                                                          c1_0
                                                          y_0)
                                                         (let ((b1_1
                                                                (unsafe-fx+
                                                                 b1_0
                                                                 1)))
                                                           (let ((c1_1
                                                                  (unsafe-fx+
                                                                   c1_0
                                                                   1)))
                                                             (if (unsafe-fx<=
                                                                  b2_0
                                                                  b1_1)
                                                               (letrec*
                                                                ((loop_1
                                                                  (|#%name|
                                                                   loop
                                                                   (lambda (a1_1
                                                                            c1_2)
                                                                     (if (unsafe-fx<
                                                                          c1_2
                                                                          b1_1)
                                                                       (begin
                                                                         (unsafe-vector-set!
                                                                          A_0
                                                                          c1_2
                                                                          (unsafe-vector-ref
                                                                           A_0
                                                                           a1_1))
                                                                         (loop_1
                                                                          (unsafe-fx+
                                                                           a1_1
                                                                           1)
                                                                          (unsafe-fx+
                                                                           c1_2
                                                                           1)))
                                                                       (void))))))
                                                                (loop_1
                                                                 a1_0
                                                                 c1_1))
                                                               (loop_0
                                                                a1_0
                                                                b1_1
                                                                c1_1)))))))))))))
                                          (loop_0
                                           Amid2_0
                                           Bmid1_0
                                           Blo_0))))))))))))))))
                (begin
                  (copying-mergesort_0 n/2-_0 n_0 n/2+_0)
                  (if (zero? n/2-_0)
                    (void)
                    (copying-mergesort_0 0 n/2+_0 n/2-_0))
                  (letrec*
                   ((loop_0
                     (|#%name|
                      loop
                      (lambda (a1_0 b1_0 c1_0)
                        (let ((x_0 (unsafe-vector-ref A_0 a1_0)))
                          (let ((y_0 (unsafe-vector-ref A_0 b1_0)))
                            (let ((x_1 x_0))
                              (if (|#%app| less-than?_0 x_1 y_0)
                                (begin
                                  (unsafe-vector-set! A_0 c1_0 x_1)
                                  (let ((a1_1 (unsafe-fx+ a1_0 1)))
                                    (let ((c1_1 (unsafe-fx+ c1_0 1)))
                                      (if (unsafe-fx< c1_1 b1_0)
                                        (loop_0 a1_1 b1_0 c1_1)
                                        (void)))))
                                (begin
                                  (unsafe-vector-set! A_0 c1_0 y_0)
                                  (let ((b1_1 (unsafe-fx+ b1_0 1)))
                                    (let ((c1_1 (unsafe-fx+ c1_0 1)))
                                      (if (unsafe-fx<= n_0 b1_1)
                                        (letrec*
                                         ((loop_1
                                           (|#%name|
                                            loop
                                            (lambda (a1_1 c1_2)
                                              (if (unsafe-fx< c1_2 b1_1)
                                                (begin
                                                  (unsafe-vector-set!
                                                   A_0
                                                   c1_2
                                                   (unsafe-vector-ref
                                                    A_0
                                                    a1_1))
                                                  (loop_1
                                                   (unsafe-fx+ a1_1 1)
                                                   (unsafe-fx+ c1_2 1)))
                                                (void))))))
                                         (loop_1 a1_0 c1_1))
                                        (loop_0 a1_0 b1_1 c1_1)))))))))))))
                   (loop_0 n_0 n/2+_0 0))))))))))
   (let ((generic-sort/key_0
          (|#%name|
           generic-sort/key
           (lambda (A_0 less-than?_0 n_0 key_0)
             (let ((n/2-_0 (unsafe-fxrshift n_0 1)))
               (let ((n/2+_0 (unsafe-fx- n_0 n/2-_0)))
                 (letrec*
                  ((copying-mergesort_0
                    (|#%name|
                     copying-mergesort
                     (lambda (Alo_0 Blo_0 n_1)
                       (if (unsafe-fx= n_1 1)
                         (unsafe-vector-set!
                          A_0
                          Blo_0
                          (unsafe-vector-ref A_0 Alo_0))
                         (if (unsafe-fx= n_1 2)
                           (let ((x_0 (unsafe-vector-ref A_0 Alo_0)))
                             (let ((y_0
                                    (unsafe-vector-ref
                                     A_0
                                     (unsafe-fx+ Alo_0 1))))
                               (let ((x_1 x_0))
                                 (if (if key_0
                                       (let ((app_0 (|#%app| key_0 y_0)))
                                         (|#%app|
                                          less-than?_0
                                          app_0
                                          (|#%app| key_0 x_1)))
                                       (|#%app| less-than?_0 y_0 x_1))
                                   (begin
                                     (unsafe-vector-set! A_0 Blo_0 y_0)
                                     (unsafe-vector-set!
                                      A_0
                                      (unsafe-fx+ Blo_0 1)
                                      x_1))
                                   (begin
                                     (unsafe-vector-set! A_0 Blo_0 x_1)
                                     (unsafe-vector-set!
                                      A_0
                                      (unsafe-fx+ Blo_0 1)
                                      y_0))))))
                           (if (unsafe-fx< n_1 16)
                             (begin
                               (unsafe-vector-set!
                                A_0
                                Blo_0
                                (unsafe-vector-ref A_0 Alo_0))
                               (letrec*
                                ((iloop_0
                                  (|#%name|
                                   iloop
                                   (lambda (i_0)
                                     (if (unsafe-fx< i_0 n_1)
                                       (let ((ref-i_0
                                              (unsafe-vector-ref
                                               A_0
                                               (unsafe-fx+ Alo_0 i_0))))
                                         (letrec*
                                          ((jloop_0
                                            (|#%name|
                                             jloop
                                             (lambda (j_0)
                                               (let ((ref-j-1_0
                                                      (unsafe-vector-ref
                                                       A_0
                                                       (unsafe-fx- j_0 1))))
                                                 (if (if (unsafe-fx< Blo_0 j_0)
                                                       (if key_0
                                                         (let ((app_0
                                                                (|#%app|
                                                                 key_0
                                                                 ref-i_0)))
                                                           (|#%app|
                                                            less-than?_0
                                                            app_0
                                                            (|#%app|
                                                             key_0
                                                             ref-j-1_0)))
                                                         (|#%app|
                                                          less-than?_0
                                                          ref-i_0
                                                          ref-j-1_0))
                                                       #f)
                                                   (begin
                                                     (unsafe-vector-set!
                                                      A_0
                                                      j_0
                                                      ref-j-1_0)
                                                     (jloop_0
                                                      (unsafe-fx- j_0 1)))
                                                   (begin
                                                     (unsafe-vector-set!
                                                      A_0
                                                      j_0
                                                      ref-i_0)
                                                     (iloop_0
                                                      (unsafe-fx+
                                                       i_0
                                                       1)))))))))
                                          (jloop_0 (unsafe-fx+ Blo_0 i_0))))
                                       (void))))))
                                (iloop_0 1)))
                             (let ((n/2-_1 (unsafe-fxrshift n_1 1)))
                               (let ((n/2+_1 (unsafe-fx- n_1 n/2-_1)))
                                 (let ((Amid1_0 (unsafe-fx+ Alo_0 n/2-_1)))
                                   (let ((Amid2_0 (unsafe-fx+ Alo_0 n/2+_1)))
                                     (let ((Bmid1_0 (unsafe-fx+ Blo_0 n/2-_1)))
                                       (begin
                                         (copying-mergesort_0
                                          Amid1_0
                                          Bmid1_0
                                          n/2+_1)
                                         (copying-mergesort_0
                                          Alo_0
                                          Amid2_0
                                          n/2-_1)
                                         (let ((b2_0 (unsafe-fx+ Blo_0 n_1)))
                                           (letrec*
                                            ((loop_0
                                              (|#%name|
                                               loop
                                               (lambda (a1_0 b1_0 c1_0)
                                                 (let ((x_0
                                                        (unsafe-vector-ref
                                                         A_0
                                                         a1_0)))
                                                   (let ((y_0
                                                          (unsafe-vector-ref
                                                           A_0
                                                           b1_0)))
                                                     (let ((x_1 x_0))
                                                       (if (not
                                                            (if key_0
                                                              (let ((app_0
                                                                     (|#%app|
                                                                      key_0
                                                                      y_0)))
                                                                (|#%app|
                                                                 less-than?_0
                                                                 app_0
                                                                 (|#%app|
                                                                  key_0
                                                                  x_1)))
                                                              (|#%app|
                                                               less-than?_0
                                                               y_0
                                                               x_1)))
                                                         (begin
                                                           (unsafe-vector-set!
                                                            A_0
                                                            c1_0
                                                            x_1)
                                                           (let ((a1_1
                                                                  (unsafe-fx+
                                                                   a1_0
                                                                   1)))
                                                             (let ((c1_1
                                                                    (unsafe-fx+
                                                                     c1_0
                                                                     1)))
                                                               (if (unsafe-fx<
                                                                    c1_1
                                                                    b1_0)
                                                                 (loop_0
                                                                  a1_1
                                                                  b1_0
                                                                  c1_1)
                                                                 (void)))))
                                                         (begin
                                                           (unsafe-vector-set!
                                                            A_0
                                                            c1_0
                                                            y_0)
                                                           (let ((b1_1
                                                                  (unsafe-fx+
                                                                   b1_0
                                                                   1)))
                                                             (let ((c1_1
                                                                    (unsafe-fx+
                                                                     c1_0
                                                                     1)))
                                                               (if (unsafe-fx<=
                                                                    b2_0
                                                                    b1_1)
                                                                 (letrec*
                                                                  ((loop_1
                                                                    (|#%name|
                                                                     loop
                                                                     (lambda (a1_1
                                                                              c1_2)
                                                                       (if (unsafe-fx<
                                                                            c1_2
                                                                            b1_1)
                                                                         (begin
                                                                           (unsafe-vector-set!
                                                                            A_0
                                                                            c1_2
                                                                            (unsafe-vector-ref
                                                                             A_0
                                                                             a1_1))
                                                                           (loop_1
                                                                            (unsafe-fx+
                                                                             a1_1
                                                                             1)
                                                                            (unsafe-fx+
                                                                             c1_2
                                                                             1)))
                                                                         (void))))))
                                                                  (loop_1
                                                                   a1_0
                                                                   c1_1))
                                                                 (loop_0
                                                                  a1_0
                                                                  b1_1
                                                                  c1_1)))))))))))))
                                            (loop_0
                                             Amid2_0
                                             Bmid1_0
                                             Blo_0))))))))))))))))
                  (begin
                    (copying-mergesort_0 n/2-_0 n_0 n/2+_0)
                    (if (zero? n/2-_0)
                      (void)
                      (copying-mergesort_0 0 n/2+_0 n/2-_0))
                    (letrec*
                     ((loop_0
                       (|#%name|
                        loop
                        (lambda (a1_0 b1_0 c1_0)
                          (let ((x_0 (unsafe-vector-ref A_0 a1_0)))
                            (let ((y_0 (unsafe-vector-ref A_0 b1_0)))
                              (let ((x_1 x_0))
                                (if (if key_0
                                      (let ((app_0 (|#%app| key_0 x_1)))
                                        (|#%app|
                                         less-than?_0
                                         app_0
                                         (|#%app| key_0 y_0)))
                                      (|#%app| less-than?_0 x_1 y_0))
                                  (begin
                                    (unsafe-vector-set! A_0 c1_0 x_1)
                                    (let ((a1_1 (unsafe-fx+ a1_0 1)))
                                      (let ((c1_1 (unsafe-fx+ c1_0 1)))
                                        (if (unsafe-fx< c1_1 b1_0)
                                          (loop_0 a1_1 b1_0 c1_1)
                                          (void)))))
                                  (begin
                                    (unsafe-vector-set! A_0 c1_0 y_0)
                                    (let ((b1_1 (unsafe-fx+ b1_0 1)))
                                      (let ((c1_1 (unsafe-fx+ c1_0 1)))
                                        (if (unsafe-fx<= n_0 b1_1)
                                          (letrec*
                                           ((loop_1
                                             (|#%name|
                                              loop
                                              (lambda (a1_1 c1_2)
                                                (if (unsafe-fx< c1_2 b1_1)
                                                  (begin
                                                    (unsafe-vector-set!
                                                     A_0
                                                     c1_2
                                                     (unsafe-vector-ref
                                                      A_0
                                                      a1_1))
                                                    (loop_1
                                                     (unsafe-fx+ a1_1 1)
                                                     (unsafe-fx+ c1_2 1)))
                                                  (void))))))
                                           (loop_1 a1_0 c1_1))
                                          (loop_0 a1_0 b1_1 c1_1)))))))))))))
                     (loop_0 n_0 n/2+_0 0))))))))))
     (values
      (case-lambda
       ((lst_0 less-than?_0)
        (let ((n_0 (length lst_0)))
          (if (unsafe-fx= n_0 0)
            lst_0
            (if (letrec*
                 ((loop_0
                   (|#%name|
                    loop
                    (lambda (last_0 next_0)
                      (let ((or-part_0 (null? next_0)))
                        (if or-part_0
                          or-part_0
                          (if (not
                               (|#%app|
                                less-than?_0
                                (unsafe-car next_0)
                                last_0))
                            (loop_0 (unsafe-car next_0) (unsafe-cdr next_0))
                            #f)))))))
                 (let ((app_0 (car lst_0))) (loop_0 app_0 (cdr lst_0))))
              lst_0
              (if (unsafe-fx<= n_0 3)
                (if (unsafe-fx= n_0 1)
                  lst_0
                  (if (unsafe-fx= n_0 2)
                    (let ((app_0 (cadr lst_0))) (list app_0 (car lst_0)))
                    (let ((a_0 (car lst_0)))
                      (let ((b_0 (cadr lst_0)))
                        (let ((c_0 (caddr lst_0)))
                          (let ((b_1 b_0) (a_1 a_0))
                            (if (|#%app| less-than?_0 b_1 a_1)
                              (if (|#%app| less-than?_0 c_0 b_1)
                                (list c_0 b_1 a_1)
                                (if (|#%app| less-than?_0 c_0 a_1)
                                  (list b_1 c_0 a_1)
                                  (list b_1 a_1 c_0)))
                              (if (|#%app| less-than?_0 c_0 a_1)
                                (list c_0 a_1 b_1)
                                (list a_1 c_0 b_1)))))))))
                (let ((vec_0 (make-vector (+ n_0 (ceiling (/ n_0 2))))))
                  (begin
                    (letrec*
                     ((loop_0
                       (|#%name|
                        loop
                        (lambda (i_0 lst_1)
                          (if (pair? lst_1)
                            (begin
                              (vector-set! vec_0 i_0 (car lst_1))
                              (let ((app_0 (add1 i_0)))
                                (loop_0 app_0 (cdr lst_1))))
                            (void))))))
                     (loop_0 0 lst_0))
                    (generic-sort_0 vec_0 less-than?_0 n_0)
                    (letrec*
                     ((loop_0
                       (|#%name|
                        loop
                        (lambda (i_0 r_0)
                          (let ((i_1 (sub1 i_0)))
                            (if (< i_1 0)
                              r_0
                              (loop_0
                               i_1
                               (cons (vector-ref vec_0 i_1) r_0))))))))
                     (loop_0 n_0 '())))))))))
       ((lst_0 less-than?_0 getkey_0)
        (if (if getkey_0 (not (eq? values getkey_0)) #f)
          (|#%app| sort lst_0 less-than?_0 getkey_0 #f)
          (|#%app| sort lst_0 less-than?_0)))
       ((lst_0 less-than?_0 getkey_0 cache-keys?_0)
        (if (if getkey_0 (not (eq? values getkey_0)) #f)
          (let ((n_0 (length lst_0)))
            (if (unsafe-fx= n_0 0)
              lst_0
              (if cache-keys?_0
                (let ((vec_0 (make-vector (+ n_0 (ceiling (/ n_0 2))))))
                  (begin
                    (letrec*
                     ((loop_0
                       (|#%name|
                        loop
                        (lambda (i_0 lst_1)
                          (if (pair? lst_1)
                            (let ((x_0 (car lst_1)))
                              (begin
                                (unsafe-vector-set!
                                 vec_0
                                 i_0
                                 (cons (|#%app| getkey_0 x_0) x_0))
                                (loop_0 (unsafe-fx+ i_0 1) (cdr lst_1))))
                            (void))))))
                     (loop_0 0 lst_0))
                    (generic-sort/key_0 vec_0 less-than?_0 n_0 unsafe-car)
                    (letrec*
                     ((loop_0
                       (|#%name|
                        loop
                        (lambda (i_0 r_0)
                          (let ((i_1 (unsafe-fx- i_0 1)))
                            (if (unsafe-fx< i_1 0)
                              r_0
                              (loop_0
                               i_1
                               (cons
                                (unsafe-cdr (unsafe-vector-ref vec_0 i_1))
                                r_0))))))))
                     (loop_0 n_0 '()))))
                (if (letrec*
                     ((loop_0
                       (|#%name|
                        loop
                        (lambda (last_0 next_0)
                          (let ((or-part_0 (null? next_0)))
                            (if or-part_0
                              or-part_0
                              (if (not
                                   (if getkey_0
                                     (let ((app_0
                                            (|#%app|
                                             getkey_0
                                             (unsafe-car next_0))))
                                       (|#%app|
                                        less-than?_0
                                        app_0
                                        (|#%app| getkey_0 last_0)))
                                     (|#%app|
                                      less-than?_0
                                      (unsafe-car next_0)
                                      last_0)))
                                (loop_0
                                 (unsafe-car next_0)
                                 (unsafe-cdr next_0))
                                #f)))))))
                     (let ((app_0 (car lst_0))) (loop_0 app_0 (cdr lst_0))))
                  lst_0
                  (if (unsafe-fx<= n_0 3)
                    (if (unsafe-fx= n_0 1)
                      lst_0
                      (if (unsafe-fx= n_0 2)
                        (let ((app_0 (cadr lst_0))) (list app_0 (car lst_0)))
                        (let ((a_0 (car lst_0)))
                          (let ((b_0 (cadr lst_0)))
                            (let ((c_0 (caddr lst_0)))
                              (let ((b_1 b_0) (a_1 a_0))
                                (if (if getkey_0
                                      (let ((app_0 (|#%app| getkey_0 b_1)))
                                        (|#%app|
                                         less-than?_0
                                         app_0
                                         (|#%app| getkey_0 a_1)))
                                      (|#%app| less-than?_0 b_1 a_1))
                                  (if (if getkey_0
                                        (let ((app_0 (|#%app| getkey_0 c_0)))
                                          (|#%app|
                                           less-than?_0
                                           app_0
                                           (|#%app| getkey_0 b_1)))
                                        (|#%app| less-than?_0 c_0 b_1))
                                    (list c_0 b_1 a_1)
                                    (if (if getkey_0
                                          (let ((app_0 (|#%app| getkey_0 c_0)))
                                            (|#%app|
                                             less-than?_0
                                             app_0
                                             (|#%app| getkey_0 a_1)))
                                          (|#%app| less-than?_0 c_0 a_1))
                                      (list b_1 c_0 a_1)
                                      (list b_1 a_1 c_0)))
                                  (if (if getkey_0
                                        (let ((app_0 (|#%app| getkey_0 c_0)))
                                          (|#%app|
                                           less-than?_0
                                           app_0
                                           (|#%app| getkey_0 a_1)))
                                        (|#%app| less-than?_0 c_0 a_1))
                                    (list c_0 a_1 b_1)
                                    (list a_1 c_0 b_1)))))))))
                    (let ((vec_0 (make-vector (+ n_0 (ceiling (/ n_0 2))))))
                      (begin
                        (letrec*
                         ((loop_0
                           (|#%name|
                            loop
                            (lambda (i_0 lst_1)
                              (if (pair? lst_1)
                                (begin
                                  (vector-set! vec_0 i_0 (car lst_1))
                                  (let ((app_0 (add1 i_0)))
                                    (loop_0 app_0 (cdr lst_1))))
                                (void))))))
                         (loop_0 0 lst_0))
                        (generic-sort/key_0 vec_0 less-than?_0 n_0 getkey_0)
                        (letrec*
                         ((loop_0
                           (|#%name|
                            loop
                            (lambda (i_0 r_0)
                              (let ((i_1 (sub1 i_0)))
                                (if (< i_1 0)
                                  r_0
                                  (loop_0
                                   i_1
                                   (cons (vector-ref vec_0 i_1) r_0))))))))
                         (loop_0 n_0 '())))))))))
          (|#%app| sort lst_0 less-than?_0))))
      (case-lambda
       ((vec_0 less-than?_0 start_0 end_0)
        (let ((n_0 (- end_0 start_0)))
          (let ((dst-vec_0 (make-vector n_0)))
            (begin
              (if (unsafe-fx= n_0 0)
                (void)
                (if (letrec*
                     ((loop_0
                       (|#%name|
                        loop
                        (lambda (prev-val_0 next-index_0)
                          (let ((or-part_0 (unsafe-fx= next-index_0 end_0)))
                            (if or-part_0
                              or-part_0
                              (let ((next-val_0
                                     (unsafe-vector-ref vec_0 next-index_0)))
                                (if (not
                                     (|#%app|
                                      less-than?_0
                                      next-val_0
                                      prev-val_0))
                                  (loop_0
                                   next-val_0
                                   (unsafe-fx+ next-index_0 1))
                                  #f))))))))
                     (let ((app_0 (unsafe-vector-ref vec_0 start_0)))
                       (loop_0 app_0 (unsafe-fx+ start_0 1))))
                  (vector-copy! dst-vec_0 0 vec_0 start_0 end_0)
                  (if (unsafe-fx<= n_0 3)
                    (begin
                      (vector-copy! dst-vec_0 0 vec_0 start_0 end_0)
                      (if (unsafe-fx= n_0 1)
                        (void)
                        (if (unsafe-fx= n_0 2)
                          (let ((tmp_0 (unsafe-vector-ref dst-vec_0 0)))
                            (begin
                              (unsafe-vector-set!
                               dst-vec_0
                               0
                               (unsafe-vector-ref dst-vec_0 1))
                              (unsafe-vector-set! dst-vec_0 1 tmp_0)))
                          (let ((a_0 (unsafe-vector-ref dst-vec_0 0)))
                            (let ((b_0 (unsafe-vector-ref dst-vec_0 1)))
                              (let ((c_0 (unsafe-vector-ref dst-vec_0 2)))
                                (let ((b_1 b_0) (a_1 a_0))
                                  (if (|#%app| less-than?_0 b_1 a_1)
                                    (if (|#%app| less-than?_0 c_0 b_1)
                                      (begin
                                        (unsafe-vector-set! dst-vec_0 0 c_0)
                                        (unsafe-vector-set! dst-vec_0 2 a_1))
                                      (if (|#%app| less-than?_0 c_0 a_1)
                                        (begin
                                          (unsafe-vector-set! dst-vec_0 0 b_1)
                                          (unsafe-vector-set! dst-vec_0 1 c_0)
                                          (unsafe-vector-set! dst-vec_0 2 a_1))
                                        (begin
                                          (unsafe-vector-set! dst-vec_0 0 b_1)
                                          (unsafe-vector-set!
                                           dst-vec_0
                                           1
                                           a_1))))
                                    (if (|#%app| less-than?_0 c_0 a_1)
                                      (begin
                                        (unsafe-vector-set! dst-vec_0 0 c_0)
                                        (unsafe-vector-set! dst-vec_0 1 a_1)
                                        (unsafe-vector-set! dst-vec_0 2 b_1))
                                      (begin
                                        (unsafe-vector-set! dst-vec_0 1 c_0)
                                        (unsafe-vector-set!
                                         dst-vec_0
                                         2
                                         b_1)))))))))))
                    (let ((work-vec_0
                           (make-vector (+ n_0 (ceiling (/ n_0 2))) #f)))
                      (begin
                        (vector-copy! work-vec_0 0 vec_0 start_0 end_0)
                        (generic-sort_0 work-vec_0 less-than?_0 n_0)
                        (vector-copy! dst-vec_0 0 work-vec_0 0 n_0))))))
              dst-vec_0))))
       ((vec_0 less-than?_0 start_0 end_0 getkey_0 cache-keys?_0)
        (if (if getkey_0 (not (eq? values getkey_0)) #f)
          (let ((n_0 (- end_0 start_0)))
            (let ((dst-vec_0 (make-vector n_0)))
              (begin
                (if (unsafe-fx= n_0 0)
                  (void)
                  (if cache-keys?_0
                    (let ((work-vec_0
                           (make-vector (+ n_0 (ceiling (/ n_0 2))) #t)))
                      (begin
                        (letrec*
                         ((loop_0
                           (|#%name|
                            loop
                            (lambda (i_0)
                              (if (unsafe-fx< i_0 n_0)
                                (begin
                                  (let ((x_0
                                         (unsafe-vector-ref
                                          vec_0
                                          (unsafe-fx+ i_0 start_0))))
                                    (unsafe-vector-set!
                                     work-vec_0
                                     i_0
                                     (cons (|#%app| getkey_0 x_0) x_0)))
                                  (loop_0 (unsafe-fx+ i_0 1)))
                                (void))))))
                         (loop_0 0))
                        (generic-sort/key_0
                         work-vec_0
                         less-than?_0
                         n_0
                         unsafe-car)
                        (letrec*
                         ((loop_0
                           (|#%name|
                            loop
                            (lambda (i_0)
                              (if (unsafe-fx< i_0 n_0)
                                (begin
                                  (unsafe-vector-set!
                                   dst-vec_0
                                   (unsafe-fx+ i_0 0)
                                   (unsafe-cdr
                                    (unsafe-vector-ref work-vec_0 i_0)))
                                  (loop_0 (unsafe-fx+ i_0 1)))
                                (void))))))
                         (loop_0 0))))
                    (if (letrec*
                         ((loop_0
                           (|#%name|
                            loop
                            (lambda (prev-val_0 next-index_0)
                              (let ((or-part_0
                                     (unsafe-fx= next-index_0 end_0)))
                                (if or-part_0
                                  or-part_0
                                  (let ((next-val_0
                                         (unsafe-vector-ref
                                          vec_0
                                          next-index_0)))
                                    (if (not
                                         (if getkey_0
                                           (let ((app_0
                                                  (|#%app|
                                                   getkey_0
                                                   next-val_0)))
                                             (|#%app|
                                              less-than?_0
                                              app_0
                                              (|#%app| getkey_0 prev-val_0)))
                                           (|#%app|
                                            less-than?_0
                                            next-val_0
                                            prev-val_0)))
                                      (loop_0
                                       next-val_0
                                       (unsafe-fx+ next-index_0 1))
                                      #f))))))))
                         (let ((app_0 (unsafe-vector-ref vec_0 start_0)))
                           (loop_0 app_0 (unsafe-fx+ start_0 1))))
                      (vector-copy! dst-vec_0 0 vec_0 start_0 end_0)
                      (if (unsafe-fx<= n_0 3)
                        (begin
                          (vector-copy! dst-vec_0 0 vec_0 start_0 end_0)
                          (if (unsafe-fx= n_0 1)
                            (void)
                            (if (unsafe-fx= n_0 2)
                              (let ((tmp_0 (unsafe-vector-ref dst-vec_0 0)))
                                (begin
                                  (unsafe-vector-set!
                                   dst-vec_0
                                   0
                                   (unsafe-vector-ref dst-vec_0 1))
                                  (unsafe-vector-set! dst-vec_0 1 tmp_0)))
                              (let ((a_0 (unsafe-vector-ref dst-vec_0 0)))
                                (let ((b_0 (unsafe-vector-ref dst-vec_0 1)))
                                  (let ((c_0 (unsafe-vector-ref dst-vec_0 2)))
                                    (let ((b_1 b_0) (a_1 a_0))
                                      (if (if getkey_0
                                            (let ((app_0
                                                   (|#%app| getkey_0 b_1)))
                                              (|#%app|
                                               less-than?_0
                                               app_0
                                               (|#%app| getkey_0 a_1)))
                                            (|#%app| less-than?_0 b_1 a_1))
                                        (if (if getkey_0
                                              (let ((app_0
                                                     (|#%app| getkey_0 c_0)))
                                                (|#%app|
                                                 less-than?_0
                                                 app_0
                                                 (|#%app| getkey_0 b_1)))
                                              (|#%app| less-than?_0 c_0 b_1))
                                          (begin
                                            (unsafe-vector-set!
                                             dst-vec_0
                                             0
                                             c_0)
                                            (unsafe-vector-set!
                                             dst-vec_0
                                             2
                                             a_1))
                                          (if (if getkey_0
                                                (let ((app_0
                                                       (|#%app| getkey_0 c_0)))
                                                  (|#%app|
                                                   less-than?_0
                                                   app_0
                                                   (|#%app| getkey_0 a_1)))
                                                (|#%app| less-than?_0 c_0 a_1))
                                            (begin
                                              (unsafe-vector-set!
                                               dst-vec_0
                                               0
                                               b_1)
                                              (unsafe-vector-set!
                                               dst-vec_0
                                               1
                                               c_0)
                                              (unsafe-vector-set!
                                               dst-vec_0
                                               2
                                               a_1))
                                            (begin
                                              (unsafe-vector-set!
                                               dst-vec_0
                                               0
                                               b_1)
                                              (unsafe-vector-set!
                                               dst-vec_0
                                               1
                                               a_1))))
                                        (if (if getkey_0
                                              (let ((app_0
                                                     (|#%app| getkey_0 c_0)))
                                                (|#%app|
                                                 less-than?_0
                                                 app_0
                                                 (|#%app| getkey_0 a_1)))
                                              (|#%app| less-than?_0 c_0 a_1))
                                          (begin
                                            (unsafe-vector-set!
                                             dst-vec_0
                                             0
                                             c_0)
                                            (unsafe-vector-set!
                                             dst-vec_0
                                             1
                                             a_1)
                                            (unsafe-vector-set!
                                             dst-vec_0
                                             2
                                             b_1))
                                          (begin
                                            (unsafe-vector-set!
                                             dst-vec_0
                                             1
                                             c_0)
                                            (unsafe-vector-set!
                                             dst-vec_0
                                             2
                                             b_1)))))))))))
                        (let ((work-vec_0
                               (make-vector (+ n_0 (ceiling (/ n_0 2))) #f)))
                          (begin
                            (vector-copy! work-vec_0 0 vec_0 start_0 end_0)
                            (generic-sort/key_0
                             work-vec_0
                             less-than?_0
                             n_0
                             getkey_0)
                            (vector-copy! dst-vec_0 0 work-vec_0 0 n_0)))))))
                dst-vec_0)))
          (|#%app| vector-sort vec_0 less-than?_0 start_0 end_0))))
      (case-lambda
       ((vec_0 less-than?_0 start_0 end_0)
        (let ((n_0 (- end_0 start_0)))
          (begin
            (if (unsafe-fx= n_0 0)
              (void)
              (if (letrec*
                   ((loop_0
                     (|#%name|
                      loop
                      (lambda (prev-val_0 next-index_0)
                        (let ((or-part_0 (unsafe-fx= next-index_0 end_0)))
                          (if or-part_0
                            or-part_0
                            (let ((next-val_0
                                   (unsafe-vector-ref vec_0 next-index_0)))
                              (if (not
                                   (|#%app|
                                    less-than?_0
                                    next-val_0
                                    prev-val_0))
                                (loop_0 next-val_0 (unsafe-fx+ next-index_0 1))
                                #f))))))))
                   (let ((app_0 (unsafe-vector-ref vec_0 start_0)))
                     (loop_0 app_0 (unsafe-fx+ start_0 1))))
                (void)
                (if (unsafe-fx<= n_0 3)
                  (if (unsafe-fx= n_0 1)
                    (void)
                    (if (unsafe-fx= n_0 2)
                      (let ((tmp_0
                             (unsafe-vector-ref vec_0 (unsafe-fx+ start_0 0))))
                        (begin
                          (unsafe-vector-set!
                           vec_0
                           (unsafe-fx+ start_0 0)
                           (unsafe-vector-ref vec_0 (unsafe-fx+ start_0 1)))
                          (unsafe-vector-set!
                           vec_0
                           (unsafe-fx+ start_0 1)
                           tmp_0)))
                      (let ((a_0
                             (unsafe-vector-ref vec_0 (unsafe-fx+ start_0 0))))
                        (let ((b_0
                               (unsafe-vector-ref
                                vec_0
                                (unsafe-fx+ start_0 1))))
                          (let ((c_0
                                 (unsafe-vector-ref
                                  vec_0
                                  (unsafe-fx+ start_0 2))))
                            (let ((b_1 b_0) (a_1 a_0))
                              (if (|#%app| less-than?_0 b_1 a_1)
                                (if (|#%app| less-than?_0 c_0 b_1)
                                  (begin
                                    (unsafe-vector-set!
                                     vec_0
                                     (unsafe-fx+ start_0 0)
                                     c_0)
                                    (unsafe-vector-set!
                                     vec_0
                                     (unsafe-fx+ start_0 2)
                                     a_1))
                                  (if (|#%app| less-than?_0 c_0 a_1)
                                    (begin
                                      (unsafe-vector-set!
                                       vec_0
                                       (unsafe-fx+ start_0 0)
                                       b_1)
                                      (unsafe-vector-set!
                                       vec_0
                                       (unsafe-fx+ start_0 1)
                                       c_0)
                                      (unsafe-vector-set!
                                       vec_0
                                       (unsafe-fx+ start_0 2)
                                       a_1))
                                    (begin
                                      (unsafe-vector-set!
                                       vec_0
                                       (unsafe-fx+ start_0 0)
                                       b_1)
                                      (unsafe-vector-set!
                                       vec_0
                                       (unsafe-fx+ start_0 1)
                                       a_1))))
                                (if (|#%app| less-than?_0 c_0 a_1)
                                  (begin
                                    (unsafe-vector-set!
                                     vec_0
                                     (unsafe-fx+ start_0 0)
                                     c_0)
                                    (unsafe-vector-set!
                                     vec_0
                                     (unsafe-fx+ start_0 1)
                                     a_1)
                                    (unsafe-vector-set!
                                     vec_0
                                     (unsafe-fx+ start_0 2)
                                     b_1))
                                  (begin
                                    (unsafe-vector-set!
                                     vec_0
                                     (unsafe-fx+ start_0 1)
                                     c_0)
                                    (unsafe-vector-set!
                                     vec_0
                                     (unsafe-fx+ start_0 2)
                                     b_1))))))))))
                  (let ((work-vec_0
                         (make-vector (+ n_0 (ceiling (/ n_0 2))) #f)))
                    (begin
                      (vector-copy! work-vec_0 0 vec_0 start_0 end_0)
                      (generic-sort_0 work-vec_0 less-than?_0 n_0)
                      (vector-copy! vec_0 start_0 work-vec_0 0 n_0))))))
            (void))))
       ((vec_0 less-than?_0 start_0 end_0 getkey_0 cache-keys?_0)
        (if (if getkey_0 (not (eq? values getkey_0)) #f)
          (let ((n_0 (- end_0 start_0)))
            (begin
              (if (unsafe-fx= n_0 0)
                (void)
                (if cache-keys?_0
                  (let ((work-vec_0
                         (make-vector (+ n_0 (ceiling (/ n_0 2))) #t)))
                    (begin
                      (letrec*
                       ((loop_0
                         (|#%name|
                          loop
                          (lambda (i_0)
                            (if (unsafe-fx< i_0 n_0)
                              (begin
                                (let ((x_0
                                       (unsafe-vector-ref
                                        vec_0
                                        (unsafe-fx+ i_0 start_0))))
                                  (unsafe-vector-set!
                                   work-vec_0
                                   i_0
                                   (cons (|#%app| getkey_0 x_0) x_0)))
                                (loop_0 (unsafe-fx+ i_0 1)))
                              (void))))))
                       (loop_0 0))
                      (generic-sort/key_0
                       work-vec_0
                       less-than?_0
                       n_0
                       unsafe-car)
                      (letrec*
                       ((loop_0
                         (|#%name|
                          loop
                          (lambda (i_0)
                            (if (unsafe-fx< i_0 n_0)
                              (begin
                                (unsafe-vector-set!
                                 vec_0
                                 (unsafe-fx+ i_0 start_0)
                                 (unsafe-cdr
                                  (unsafe-vector-ref work-vec_0 i_0)))
                                (loop_0 (unsafe-fx+ i_0 1)))
                              (void))))))
                       (loop_0 0))))
                  (if (letrec*
                       ((loop_0
                         (|#%name|
                          loop
                          (lambda (prev-val_0 next-index_0)
                            (let ((or-part_0 (unsafe-fx= next-index_0 end_0)))
                              (if or-part_0
                                or-part_0
                                (let ((next-val_0
                                       (unsafe-vector-ref vec_0 next-index_0)))
                                  (if (not
                                       (if getkey_0
                                         (let ((app_0
                                                (|#%app| getkey_0 next-val_0)))
                                           (|#%app|
                                            less-than?_0
                                            app_0
                                            (|#%app| getkey_0 prev-val_0)))
                                         (|#%app|
                                          less-than?_0
                                          next-val_0
                                          prev-val_0)))
                                    (loop_0
                                     next-val_0
                                     (unsafe-fx+ next-index_0 1))
                                    #f))))))))
                       (let ((app_0 (unsafe-vector-ref vec_0 start_0)))
                         (loop_0 app_0 (unsafe-fx+ start_0 1))))
                    (void)
                    (if (unsafe-fx<= n_0 3)
                      (if (unsafe-fx= n_0 1)
                        (void)
                        (if (unsafe-fx= n_0 2)
                          (let ((tmp_0
                                 (unsafe-vector-ref
                                  vec_0
                                  (unsafe-fx+ start_0 0))))
                            (begin
                              (unsafe-vector-set!
                               vec_0
                               (unsafe-fx+ start_0 0)
                               (unsafe-vector-ref
                                vec_0
                                (unsafe-fx+ start_0 1)))
                              (unsafe-vector-set!
                               vec_0
                               (unsafe-fx+ start_0 1)
                               tmp_0)))
                          (let ((a_0
                                 (unsafe-vector-ref
                                  vec_0
                                  (unsafe-fx+ start_0 0))))
                            (let ((b_0
                                   (unsafe-vector-ref
                                    vec_0
                                    (unsafe-fx+ start_0 1))))
                              (let ((c_0
                                     (unsafe-vector-ref
                                      vec_0
                                      (unsafe-fx+ start_0 2))))
                                (let ((b_1 b_0) (a_1 a_0))
                                  (if (if getkey_0
                                        (let ((app_0 (|#%app| getkey_0 b_1)))
                                          (|#%app|
                                           less-than?_0
                                           app_0
                                           (|#%app| getkey_0 a_1)))
                                        (|#%app| less-than?_0 b_1 a_1))
                                    (if (if getkey_0
                                          (let ((app_0 (|#%app| getkey_0 c_0)))
                                            (|#%app|
                                             less-than?_0
                                             app_0
                                             (|#%app| getkey_0 b_1)))
                                          (|#%app| less-than?_0 c_0 b_1))
                                      (begin
                                        (unsafe-vector-set!
                                         vec_0
                                         (unsafe-fx+ start_0 0)
                                         c_0)
                                        (unsafe-vector-set!
                                         vec_0
                                         (unsafe-fx+ start_0 2)
                                         a_1))
                                      (if (if getkey_0
                                            (let ((app_0
                                                   (|#%app| getkey_0 c_0)))
                                              (|#%app|
                                               less-than?_0
                                               app_0
                                               (|#%app| getkey_0 a_1)))
                                            (|#%app| less-than?_0 c_0 a_1))
                                        (begin
                                          (unsafe-vector-set!
                                           vec_0
                                           (unsafe-fx+ start_0 0)
                                           b_1)
                                          (unsafe-vector-set!
                                           vec_0
                                           (unsafe-fx+ start_0 1)
                                           c_0)
                                          (unsafe-vector-set!
                                           vec_0
                                           (unsafe-fx+ start_0 2)
                                           a_1))
                                        (begin
                                          (unsafe-vector-set!
                                           vec_0
                                           (unsafe-fx+ start_0 0)
                                           b_1)
                                          (unsafe-vector-set!
                                           vec_0
                                           (unsafe-fx+ start_0 1)
                                           a_1))))
                                    (if (if getkey_0
                                          (let ((app_0 (|#%app| getkey_0 c_0)))
                                            (|#%app|
                                             less-than?_0
                                             app_0
                                             (|#%app| getkey_0 a_1)))
                                          (|#%app| less-than?_0 c_0 a_1))
                                      (begin
                                        (unsafe-vector-set!
                                         vec_0
                                         (unsafe-fx+ start_0 0)
                                         c_0)
                                        (unsafe-vector-set!
                                         vec_0
                                         (unsafe-fx+ start_0 1)
                                         a_1)
                                        (unsafe-vector-set!
                                         vec_0
                                         (unsafe-fx+ start_0 2)
                                         b_1))
                                      (begin
                                        (unsafe-vector-set!
                                         vec_0
                                         (unsafe-fx+ start_0 1)
                                         c_0)
                                        (unsafe-vector-set!
                                         vec_0
                                         (unsafe-fx+ start_0 2)
                                         b_1))))))))))
                      (let ((work-vec_0
                             (make-vector (+ n_0 (ceiling (/ n_0 2))) #f)))
                        (begin
                          (vector-copy! work-vec_0 0 vec_0 start_0 end_0)
                          (generic-sort/key_0
                           work-vec_0
                           less-than?_0
                           n_0
                           getkey_0)
                          (vector-copy! vec_0 start_0 work-vec_0 0 n_0)))))))
              (void)))
          (|#%app| vector-sort! vec_0 less-than?_0 start_0 end_0))))))))
(define 1/raise-argument-error
  (|#%name|
   raise-argument-error
   (lambda (who_0 . args_0)
     (apply raise-argument-error* who_0 'racket/primitive args_0))))
(define 1/raise-arguments-error
  (|#%name|
   raise-arguments-error
   (lambda (who_0 . args_0)
     (apply raise-arguments-error* who_0 'racket/primitive args_0))))
(define 1/raise-range-error
  (|#%name|
   raise-range-error
   (lambda (who_0 . args_0)
     (apply raise-range-error* who_0 'racket/primitive args_0))))
(define-values
 (prop:stream stream-via-prop? stream-ref)
 (make-struct-type-property
  'stream
  (lambda (v_0 si_0)
    (begin
      (if (if (vector? v_0)
            (if (= 3 (vector-length v_0))
              (if (procedure? (vector-ref v_0 0))
                (if (procedure-arity-includes? (vector-ref v_0 0) 1)
                  (if (procedure? (vector-ref v_0 1))
                    (if (procedure-arity-includes? (vector-ref v_0 1) 1)
                      (if (procedure? (vector-ref v_0 2))
                        (procedure-arity-includes? (vector-ref v_0 2) 1)
                        #f)
                      #f)
                    #f)
                  #f)
                #f)
              #f)
            #f)
        (void)
        (1/raise-argument-error
         'guard-for-prop:stream
         (string-append
          "(vector/c (procedure-arity-includes/c 1)\n"
          "          (procedure-arity-includes/c 1)\n"
          "          (procedure-arity-includes/c 1))")
         v_0))
      (vector->immutable-vector v_0)))
  '()
  #t))
(define-values
 (prop:gen-sequence sequence-via-prop? sequence-ref)
 (make-struct-type-property
  'sequence
  (lambda (v_0 si_0)
    (begin
      (if (if (procedure? v_0) (procedure-arity-includes? v_0 1) #f)
        (void)
        (1/raise-argument-error
         'guard-for-prop:sequence
         "(procedure-arity-includes/c 1)"
         v_0))
      v_0))))
(define-values
 (struct:range make-range range? range-ref range-set!)
 (make-struct-type
  'stream
  #f
  3
  0
  #f
  (list
   (cons
    prop:stream
    (vector
     (lambda (v_0)
       (let ((cont?_0 (|#%app| range-ref v_0 2)))
         (if cont?_0 (not (|#%app| cont?_0 (|#%app| range-ref v_0 0))) #f)))
     (lambda (v_0) (|#%app| range-ref v_0 0))
     (lambda (v_0)
       (let ((app_0
              (let ((app_0 (|#%app| range-ref v_0 1)))
                (|#%app| app_0 (|#%app| range-ref v_0 0)))))
         (let ((app_1 (|#%app| range-ref v_0 1)))
           (make-range app_0 app_1 (|#%app| range-ref v_0 2)))))))
   (cons
    prop:gen-sequence
    (lambda (v_0)
      (let ((app_0 (|#%app| range-ref v_0 1)))
        (let ((app_1 (|#%app| range-ref v_0 0)))
          (values values #f app_0 app_1 (|#%app| range-ref v_0 2) #f #f))))))))
(define check-range
  (lambda (a_0 b_0 step_0) (check-range-generic 'in-range a_0 b_0 step_0)))
(define check-range-generic
  (lambda (who_0 a_0 b_0 step_0)
    (begin
      (if (real? a_0) (void) (1/raise-argument-error who_0 "real?" a_0))
      (if (real? b_0) (void) (1/raise-argument-error who_0 "real?" b_0))
      (if (real? step_0)
        (void)
        (1/raise-argument-error who_0 "real?" step_0)))))
(define check-naturals
  (lambda (n_0)
    (if (if (integer? n_0) (if (exact? n_0) (>= n_0 0) #f) #f)
      (void)
      (1/raise-argument-error 'in-naturals "exact-nonnegative-integer?" n_0))))
(define-values
 (struct:list-stream
  make-list-stream
  list-stream?
  list-stream-ref
  list-stream-set!)
 (make-struct-type
  'stream
  #f
  1
  0
  #f
  (list
   (cons
    prop:stream
    (vector
     (lambda (v_0) (not (pair? (|#%app| list-stream-ref v_0 0))))
     (lambda (v_0) (car (|#%app| list-stream-ref v_0 0)))
     (lambda (v_0) (make-list-stream (cdr (|#%app| list-stream-ref v_0 0))))))
   (cons
    prop:gen-sequence
    (lambda (v_0)
      (values car cdr values (|#%app| list-stream-ref v_0 0) pair? #f #f))))))
(define check-list
  (lambda (l_0)
    (if (list? l_0) (void) (1/raise-argument-error 'in-list "list?" l_0))))
(define check-in-hash
  (lambda (ht_0)
    (if (hash? ht_0) (void) (1/raise-argument-error 'in-hash "hash?" ht_0))))
(define check-in-hash-keys
  (lambda (ht_0)
    (if (hash? ht_0)
      (void)
      (1/raise-argument-error 'in-hash-keys "hash?" ht_0))))
(define check-ranges
  (lambda (who_0 type-name_0 vec_0 start_0 stop_0 step_0 len_0)
    (begin
      (if (exact-nonnegative-integer? start_0)
        (void)
        (1/raise-argument-error who_0 "exact-nonnegative-integer?" start_0))
      (if (let ((or-part_0 (< start_0 len_0)))
            (if or-part_0 or-part_0 (= len_0 start_0 stop_0)))
        (void)
        (1/raise-range-error
         who_0
         type-name_0
         "starting "
         start_0
         vec_0
         0
         (sub1 len_0)))
      (if (exact-integer? stop_0)
        (void)
        (1/raise-argument-error who_0 "exact-integer?" stop_0))
      (if (if (<= -1 stop_0) (<= stop_0 len_0) #f)
        (void)
        (1/raise-range-error
         who_0
         type-name_0
         "stopping "
         stop_0
         vec_0
         -1
         len_0))
      (if (if (exact-integer? step_0) (not (zero? step_0)) #f)
        (void)
        (1/raise-argument-error
         who_0
         "(and/c exact-integer? (not/c zero?))"
         step_0))
      (if (if (< start_0 stop_0) (< step_0 0) #f)
        (1/raise-arguments-error
         who_0
         "starting index less than stopping index, but given a negative step"
         "starting index"
         start_0
         "stopping index"
         stop_0
         "step"
         step_0)
        (void))
      (if (if (< stop_0 start_0) (> step_0 0) #f)
        (1/raise-arguments-error
         who_0
         "starting index more than stopping index, but given a positive step"
         "starting index"
         start_0
         "stopping index"
         stop_0
         "step"
         step_0)
        (void)))))
(define normalise-inputs
  (lambda (who_0
           type-name_0
           vector?_0
           unsafe-vector-length_0
           vec_0
           start_0
           stop_0
           step_0)
    (begin
      (if (|#%app| vector?_0 vec_0)
        (void)
        (1/raise-argument-error who_0 (string-append type-name_0 "?") vec_0))
      (let ((len_0 (|#%app| unsafe-vector-length_0 vec_0)))
        (let ((stop*_0 (if stop_0 stop_0 len_0)))
          (begin
            (check-ranges who_0 type-name_0 vec_0 start_0 stop*_0 step_0 len_0)
            (values vec_0 start_0 stop*_0 step_0)))))))
(define unsafe-normalise-inputs
  (lambda (unsafe-vector-length_0 vec_0 start_0 stop_0 step_0)
    (values
     vec_0
     start_0
     (if stop_0 stop_0 (|#%app| unsafe-vector-length_0 vec_0))
     step_0)))
(define check-vector
  (lambda (v_0)
    (if (vector? v_0)
      (void)
      (1/raise-argument-error 'in-vector (string-append "vector" "?") v_0))))
(define-values
 (struct:do-stream make-do-stream do-stream? do-stream-ref do-stream-set!)
 (make-struct-type
  'stream
  #f
  3
  0
  #f
  (list
   (cons
    prop:stream
    (vector
     (lambda (v_0) (|#%app| (|#%app| do-stream-ref v_0 0)))
     (lambda (v_0) (|#%app| (|#%app| do-stream-ref v_0 1)))
     (lambda (v_0) (|#%app| (|#%app| do-stream-ref v_0 2))))))))
(define empty-stream (make-do-stream (lambda () #t) void void))
(define map_2353
  (|#%name|
   map
   (case-lambda
    ((f_0 l_0)
     (letrec*
      ((loop_0
        (|#%name|
         loop
         (lambda (l_1)
           (if (null? l_1)
             null
             (let ((r_0 (cdr l_1)))
               (let ((app_0 (|#%app| f_0 (car l_1))))
                 (cons app_0 (loop_0 r_0)))))))))
      (loop_0 l_0)))
    ((f_0 l1_0 l2_0)
     (letrec*
      ((loop_0
        (|#%name|
         loop
         (lambda (l1_1 l2_1)
           (if (null? l1_1)
             null
             (let ((r1_0 (cdr l1_1)))
               (let ((r2_0 (cdr l2_1)))
                 (let ((r1_1 r1_0))
                   (let ((app_0
                          (let ((app_0 (car l1_1)))
                            (|#%app| f_0 app_0 (car l2_1)))))
                     (cons app_0 (loop_0 r1_1 r2_0)))))))))))
      (loop_0 l1_0 l2_0)))
    ((f_0 l_0 . args_0) (gen-map f_0 (cons l_0 args_0))))))
(define andmap_2814
  (|#%name|
   andmap
   (case-lambda
    ((f_0 l_0)
     (if (null? l_0)
       #t
       (letrec*
        ((loop_0
          (|#%name|
           loop
           (lambda (l_1)
             (if (null? (cdr l_1))
               (|#%app| f_0 (car l_1))
               (let ((r_0 (cdr l_1)))
                 (if (|#%app| f_0 (car l_1)) (loop_0 r_0) #f)))))))
        (loop_0 l_0))))
    ((f_0 l1_0 l2_0)
     (if (null? l1_0)
       #t
       (letrec*
        ((loop_0
          (|#%name|
           loop
           (lambda (l1_1 l2_1)
             (if (null? (cdr l1_1))
               (let ((app_0 (car l1_1))) (|#%app| f_0 app_0 (car l2_1)))
               (let ((r1_0 (cdr l1_1)))
                 (let ((r2_0 (cdr l2_1)))
                   (let ((r1_1 r1_0))
                     (if (let ((app_0 (car l1_1)))
                           (|#%app| f_0 app_0 (car l2_1)))
                       (loop_0 r1_1 r2_0)
                       #f)))))))))
        (loop_0 l1_0 l2_0))))
    ((f_0 l_0 . args_0) (gen-andmap f_0 (cons l_0 args_0))))))
(define check-args
  (lambda (who_0 f_0 ls_0)
    (begin
      (if (procedure? f_0)
        (void)
        (raise-argument-error who_0 "procedure?" f_0))
      (letrec*
       ((loop_0
         (|#%name|
          loop
          (lambda (prev-len_0 ls_1 i_0)
            (if (null? ls_1)
              (void)
              (let ((l_0 (car ls_1)))
                (begin
                  (if (list? l_0)
                    (void)
                    (raise-argument-error who_0 "list?" l_0))
                  (let ((len_0 (length l_0)))
                    (begin
                      (if (if prev-len_0 (not (= len_0 prev-len_0)) #f)
                        (raise-arguments-error
                         who_0
                         "all lists must have same size"
                         "first list length"
                         prev-len_0
                         "other list length"
                         len_0
                         "procedure"
                         f_0)
                        (void))
                      (let ((app_0 (cdr ls_1)))
                        (loop_0 len_0 app_0 (add1 i_0))))))))))))
       (loop_0 #f ls_0 1))
      (if (procedure-arity-includes? f_0 (length ls_0))
        (void)
        (call-with-values
         (lambda () (procedure-keywords f_0))
         (lambda (required-keywords_0 optional-keywords_0)
           (let ((app_0
                  (if (pair? required-keywords_0)
                    (string-append
                     "argument mismatch;\n"
                     " the given procedure expects keyword arguments")
                    (string-append
                     "argument mismatch;\n"
                     " the given procedure's expected number of arguments does not match"
                     " the given number of lists"))))
             (let ((app_1
                    (unquoted-printing-string
                     (let ((or-part_0
                            (let ((n_0 (object-name f_0)))
                              (if (symbol? n_0) (symbol->string n_0) #f))))
                       (if or-part_0 or-part_0 "#<procedure>")))))
               (apply
                raise-arguments-error
                who_0
                app_0
                "given procedure"
                app_1
                (let ((app_2
                       (let ((a_0 (procedure-arity f_0)))
                         (if (pair? required-keywords_0)
                           null
                           (if (integer? a_0)
                             (list "expected" a_0)
                             (if (arity-at-least? a_0)
                               (list
                                "expected"
                                (unquoted-printing-string
                                 (string-append
                                  "at least "
                                  (number->string
                                   (arity-at-least-value a_0)))))
                               null))))))
                  (let ((app_3
                         (if (pair? required-keywords_0)
                           null
                           (list "given" (length ls_0)))))
                    (let ((app_4
                           (if (pair? required-keywords_0)
                             (list
                              "required keywords"
                              (unquoted-printing-string
                               (apply-string-append
                                0
                                (cdr
                                 (letrec*
                                  ((loop_0
                                    (|#%name|
                                     loop
                                     (lambda (kws_0)
                                       (if (null? kws_0)
                                         null
                                         (let ((app_4
                                                (string-append
                                                 "#:"
                                                 (keyword->string
                                                  (car kws_0)))))
                                           (list*
                                            " "
                                            app_4
                                            (loop_0 (cdr kws_0)))))))))
                                  (loop_0 required-keywords_0))))))
                             null)))
                      (append
                       app_2
                       app_3
                       app_4
                       (let ((w_0
                              (let ((app_5 (error-print-width)))
                                (quotient app_5 (length ls_0)))))
                         (if (> w_0 10)
                           (list
                            "argument lists..."
                            (unquoted-printing-string
                             (apply-string-append
                              0
                              (letrec*
                               ((loop_0
                                 (|#%name|
                                  loop
                                  (lambda (ls_1)
                                    (if (null? ls_1)
                                      null
                                      (let ((app_5
                                             (string-append
                                              "\n   "
                                              (let ((app_5
                                                     (error-value->string-handler)))
                                                (|#%app|
                                                 app_5
                                                 (car ls_1)
                                                 w_0)))))
                                        (cons app_5 (loop_0 (cdr ls_1)))))))))
                               (loop_0 ls_0)))))
                           null)))))))))))))))
(define gen-map
  (lambda (f_0 ls_0)
    (begin
      #t
      (letrec*
       ((loop_0
         (|#%name|
          loop
          (lambda (ls_1)
            (if (null? (car ls_1))
              null
              (let ((next-ls_0 (map_2353 cdr ls_1)))
                (let ((app_0 (apply f_0 (map_2353 car ls_1))))
                  (cons app_0 (loop_0 next-ls_0)))))))))
       (loop_0 ls_0)))))
(define gen-andmap
  (lambda (f_0 ls_0)
    (begin
      #t
      (letrec*
       ((loop_0
         (|#%name|
          loop
          (lambda (ls_1)
            (if (null? (car ls_1))
              #t
              (if (null? (cdar ls_1))
                (apply f_0 (map_2353 car ls_1))
                (let ((next-ls_0 (map_2353 cdr ls_1)))
                  (if (apply f_0 (map_2353 car ls_1))
                    (loop_0 next-ls_0)
                    #f))))))))
       (loop_0 ls_0)))))
(define hash-keys
  (let ((hash-keys_0
         (|#%name|
          hash-keys
          (lambda (h_0 try-order?_0)
            (if try-order?_0
              (hash-map h_0 (lambda (k_0 v_0) k_0) #t)
              (letrec*
               ((loop_0
                 (|#%name|
                  loop
                  (lambda (pos_0)
                    (if pos_0
                      (let ((k_0
                             (hash-iterate-key h_0 pos_0 unsafe-undefined)))
                        (let ((r_0 (loop_0 (hash-iterate-next h_0 pos_0))))
                          (let ((k_1 k_0))
                            (if (eq? k_1 unsafe-undefined)
                              r_0
                              (cons k_1 r_0)))))
                      null)))))
               (loop_0 (hash-iterate-first h_0))))))))
    (|#%name|
     hash-keys
     (case-lambda
      ((h_0)
       (begin
         (if (hash? h_0)
           (void)
           (raise-argument-error 'hash-keys "hash?" 0 h_0))
         (hash-keys_0 h_0 #f)))
      ((h_0 try-order?_0)
       (begin
         (if (hash? h_0)
           (void)
           (raise-argument-error 'hash-keys "hash?" 0 h_0 try-order?_0))
         (hash-keys_0 h_0 try-order?_0)))))))
(define hash-empty?
  (lambda (table_0)
    (begin
      (if (hash? table_0)
        (void)
        (raise-argument-error 'hash-empty? "hash?" table_0))
      (zero? (hash-count table_0)))))
(define sort.1
  (|#%name|
   sort
   (lambda (cache-keys?2_0 key1_0 lst5_0 less?6_0)
     (begin
       (if (list? lst5_0) (void) (raise-argument-error 'sort "list?" lst5_0))
       (if (if (procedure? less?6_0) (procedure-arity-includes? less?6_0 2) #f)
         (void)
         (raise-argument-error 'sort "(any/c any/c . -> . any/c)" less?6_0))
       (if (if key1_0
             (not
              (if (procedure? key1_0) (procedure-arity-includes? key1_0 1) #f))
             #f)
         (raise-argument-error 'sort "(any/c . -> . any/c)" key1_0)
         (void))
       (if key1_0
         (|#%app| sort lst5_0 less?6_0 key1_0 cache-keys?2_0)
         (|#%app| sort lst5_0 less?6_0))))))
(define print-value-columns
  (make-parameter
   +inf.0
   (lambda (c_0)
     (if (let ((or-part_0 (eqv? c_0 +inf.0)))
           (if or-part_0 or-part_0 (if (exact-integer? c_0) (> c_0 5) #f)))
       c_0
       (raise-argument-error
        'print-value-columns
        "(or/c +inf.0 (and/c exact-integer? (>/c 5)))"
        c_0)))
   'print-value-columns))
(define correlated?$1 syntax?)
(define correlated-e$1 syntax-e)
(define correlated-property$1 syntax-property)
(define datum->correlated$1 datum->syntax)
(define correlated-source$1 syntax-source)
(define correlated-line$1 syntax-line)
(define correlated-column$1 syntax-column)
(define correlated-position$1 syntax-position)
(define correlated-span$1 syntax-span)
(define unwrap (lambda (v_0) (if (syntax? v_0) (syntax-e v_0) v_0)))
(define wrap? (lambda (v_0) (syntax? v_0)))
(define unwrap-list
  (lambda (v_0)
    (if (null? v_0)
      null
      (if (pair? v_0)
        (let ((r_0 (unwrap-list (cdr v_0))))
          (if (eq? r_0 (cdr v_0)) v_0 (cons (car v_0) r_0)))
        (if (syntax? v_0) (unwrap-list (syntax-e v_0)) v_0)))))
(define wrap-car
  (lambda (v_0) (if (syntax? v_0) (car (syntax-e v_0)) (car v_0))))
(define wrap-cdr
  (lambda (v_0) (if (syntax? v_0) (cdr (syntax-e v_0)) (cdr v_0))))
(define wrap-pair? (lambda (v_0) (pair? (unwrap v_0))))
(define wrap-null? (lambda (v_0) (null? (unwrap v_0))))
(define wrap-list?
  (lambda (v_0)
    (if (null? v_0)
      #t
      (if (syntax? v_0)
        (wrap-list? (syntax-e v_0))
        (if (pair? v_0) (wrap-list? (cdr v_0)) #f)))))
(define wrap-eq?
  (lambda (a_0 b_0) (let ((app_0 (unwrap a_0))) (eq? app_0 (unwrap b_0)))))
(define wrap-equal?
  (lambda (a_0 b_0)
    (let ((b_1 (unwrap b_0)))
      (let ((or-part_0 (if (not (pair? a_0)) (equal? a_0 b_1) #f)))
        (if or-part_0
          or-part_0
          (if (pair? a_0)
            (if (pair? b_1)
              (if (let ((app_0 (car a_0))) (wrap-equal? app_0 (car b_1)))
                (let ((app_0 (car a_0))) (wrap-equal? app_0 (car b_1)))
                #f)
              #f)
            #f))))))
(define wrap-property
  (lambda (a_0 key_0) (if (syntax? a_0) (syntax-property a_0 key_0) #f)))
(define wrap-property-set
  (lambda (a_0 key_0 val_0)
    (let ((a_1 (if (syntax? a_0) a_0 (datum->syntax #f a_0 #f #f))))
      (syntax-property a_1 key_0 val_0))))
(define wrap-source
  (lambda (a_0)
    (if (syntax? a_0)
      (let ((app_0 (syntax-source a_0)))
        (let ((app_1 (syntax-line a_0)))
          (let ((app_2 (syntax-column a_0)))
            (let ((app_3 (syntax-position a_0)))
              (values app_0 app_1 app_2 app_3 (syntax-span a_0))))))
      (values #f #f #f #f #f))))
(define reannotate
  (lambda (old-term_0 new-term_0)
    (if (syntax? old-term_0)
      (datum->syntax #f new-term_0 old-term_0 old-term_0)
      new-term_0)))
(define reannotate/new-srcloc
  (lambda (old-term_0 new-term_0 new-srcloc_0)
    (datum->syntax #f new-term_0 new-srcloc_0 old-term_0)))
(define finish_2045
  (make-struct-type-install-properties
   '(known-constant)
   0
   0
   #f
   null
   'prefab
   #f
   '()
   #f
   'known-constant))
(define struct:known-constant
  (make-record-type-descriptor
   'known-constant
   #f
   (structure-type-lookup-prefab-uid 'known-constant #f 0 0 #f '())
   #f
   #f
   '(0 . 0)))
(define effect_2537 (finish_2045 struct:known-constant))
(define known-constant
  (|#%name|
   known-constant
   (record-constructor
    (make-record-constructor-descriptor struct:known-constant #f #f))))
(define known-constant?_2598
  (|#%name| known-constant? (record-predicate struct:known-constant)))
(define known-constant?
  (|#%name|
   known-constant?
   (lambda (v)
     (if (known-constant?_2598 v)
       #t
       ($value
        (if (impersonator? v)
          (known-constant?_2598 (impersonator-val v))
          #f))))))
(define finish_2081
  (make-struct-type-install-properties
   '(known-consistent)
   0
   0
   (if (struct-type? struct:known-constant)
     struct:known-constant
     (check-struct-type 'struct struct:known-constant))
   null
   'prefab
   #f
   '()
   #f
   'known-consistent))
(define struct:known-consistent
  (make-record-type-descriptor
   'known-consistent
   (if (struct-type? struct:known-constant)
     struct:known-constant
     (check-struct-type 'struct struct:known-constant))
   (structure-type-lookup-prefab-uid
    'known-consistent
    (if (struct-type? struct:known-constant)
      struct:known-constant
      (check-struct-type 'struct struct:known-constant))
    0
    0
    #f
    '())
   #f
   #f
   '(0 . 0)))
(define effect_2382 (finish_2081 struct:known-consistent))
(define known-consistent
  (|#%name|
   known-consistent
   (record-constructor
    (make-record-constructor-descriptor struct:known-consistent #f #f))))
(define known-consistent?_3048
  (|#%name| known-consistent? (record-predicate struct:known-consistent)))
(define known-consistent?
  (|#%name|
   known-consistent?
   (lambda (v)
     (if (known-consistent?_3048 v)
       #t
       ($value
        (if (impersonator? v)
          (known-consistent?_3048 (impersonator-val v))
          #f))))))
(define finish_2443
  (make-struct-type-install-properties
   '(known-authentic)
   0
   0
   (if (struct-type? struct:known-constant)
     struct:known-constant
     (check-struct-type 'struct struct:known-constant))
   null
   'prefab
   #f
   '()
   #f
   'known-authentic))
(define struct:known-authentic
  (make-record-type-descriptor
   'known-authentic
   (if (struct-type? struct:known-constant)
     struct:known-constant
     (check-struct-type 'struct struct:known-constant))
   (structure-type-lookup-prefab-uid
    'known-authentic
    (if (struct-type? struct:known-constant)
      struct:known-constant
      (check-struct-type 'struct struct:known-constant))
    0
    0
    #f
    '())
   #f
   #f
   '(0 . 0)))
(define effect_2570 (finish_2443 struct:known-authentic))
(define known-authentic
  (|#%name|
   known-authentic
   (record-constructor
    (make-record-constructor-descriptor struct:known-authentic #f #f))))
(define known-authentic?_3119
  (|#%name| known-authentic? (record-predicate struct:known-authentic)))
(define known-authentic?
  (|#%name|
   known-authentic?
   (lambda (v)
     (if (known-authentic?_3119 v)
       #t
       ($value
        (if (impersonator? v)
          (known-authentic?_3119 (impersonator-val v))
          #f))))))
(define finish_2536
  (make-struct-type-install-properties
   '(known-copy)
   1
   0
   (if (struct-type? struct:known-constant)
     struct:known-constant
     (check-struct-type 'struct struct:known-constant))
   null
   'prefab
   #f
   '(0)
   #f
   'known-copy))
(define struct:known-copy
  (make-record-type-descriptor
   'known-copy
   (if (struct-type? struct:known-constant)
     struct:known-constant
     (check-struct-type 'struct struct:known-constant))
   (structure-type-lookup-prefab-uid
    'known-copy
    (if (struct-type? struct:known-constant)
      struct:known-constant
      (check-struct-type 'struct struct:known-constant))
    1
    0
    #f
    '(0))
   #f
   #f
   '(1 . 1)))
(define effect_2542 (finish_2536 struct:known-copy))
(define known-copy
  (|#%name|
   known-copy
   (record-constructor
    (make-record-constructor-descriptor struct:known-copy #f #f))))
(define known-copy?_2832
  (|#%name| known-copy? (record-predicate struct:known-copy)))
(define known-copy?
  (|#%name|
   known-copy?
   (lambda (v)
     (if (known-copy?_2832 v)
       #t
       ($value
        (if (impersonator? v) (known-copy?_2832 (impersonator-val v)) #f))))))
(define known-copy-id_2721
  (|#%name| known-copy-id (record-accessor struct:known-copy 0)))
(define known-copy-id
  (|#%name|
   known-copy-id
   (lambda (s)
     (if (known-copy?_2832 s)
       (known-copy-id_2721 s)
       ($value
        (impersonate-ref known-copy-id_2721 struct:known-copy 0 s 'id))))))
(define finish_2861
  (make-struct-type-install-properties
   '(known-literal)
   1
   0
   (if (struct-type? struct:known-consistent)
     struct:known-consistent
     (check-struct-type 'struct struct:known-consistent))
   null
   'prefab
   #f
   '(0)
   #f
   'known-literal))
(define struct:known-literal
  (make-record-type-descriptor
   'known-literal
   (if (struct-type? struct:known-consistent)
     struct:known-consistent
     (check-struct-type 'struct struct:known-consistent))
   (structure-type-lookup-prefab-uid
    'known-literal
    (if (struct-type? struct:known-consistent)
      struct:known-consistent
      (check-struct-type 'struct struct:known-consistent))
    1
    0
    #f
    '(0))
   #f
   #f
   '(1 . 1)))
(define effect_2788 (finish_2861 struct:known-literal))
(define known-literal
  (|#%name|
   known-literal
   (record-constructor
    (make-record-constructor-descriptor struct:known-literal #f #f))))
(define known-literal?_2305
  (|#%name| known-literal? (record-predicate struct:known-literal)))
(define known-literal?
  (|#%name|
   known-literal?
   (lambda (v)
     (if (known-literal?_2305 v)
       #t
       ($value
        (if (impersonator? v)
          (known-literal?_2305 (impersonator-val v))
          #f))))))
(define known-literal-value_2398
  (|#%name| known-literal-value (record-accessor struct:known-literal 0)))
(define known-literal-value
  (|#%name|
   known-literal-value
   (lambda (s)
     (if (known-literal?_2305 s)
       (known-literal-value_2398 s)
       ($value
        (impersonate-ref
         known-literal-value_2398
         struct:known-literal
         0
         s
         'value))))))
(define finish_2091
  (make-struct-type-install-properties
   '(known-foreign-inline)
   1
   0
   (if (struct-type? struct:known-consistent)
     struct:known-consistent
     (check-struct-type 'struct struct:known-consistent))
   null
   'prefab
   #f
   '(0)
   #f
   'known-foreign-inline))
(define struct:known-foreign-inline
  (make-record-type-descriptor
   'known-foreign-inline
   (if (struct-type? struct:known-consistent)
     struct:known-consistent
     (check-struct-type 'struct struct:known-consistent))
   (structure-type-lookup-prefab-uid
    'known-foreign-inline
    (if (struct-type? struct:known-consistent)
      struct:known-consistent
      (check-struct-type 'struct struct:known-consistent))
    1
    0
    #f
    '(0))
   #f
   #f
   '(1 . 1)))
(define effect_2697 (finish_2091 struct:known-foreign-inline))
(define known-foreign-inline
  (|#%name|
   known-foreign-inline
   (record-constructor
    (make-record-constructor-descriptor struct:known-foreign-inline #f #f))))
(define known-foreign-inline?_2580
  (|#%name|
   known-foreign-inline?
   (record-predicate struct:known-foreign-inline)))
(define known-foreign-inline?
  (|#%name|
   known-foreign-inline?
   (lambda (v)
     (if (known-foreign-inline?_2580 v)
       #t
       ($value
        (if (impersonator? v)
          (known-foreign-inline?_2580 (impersonator-val v))
          #f))))))
(define known-foreign-inline-expr_2708
  (|#%name|
   known-foreign-inline-expr
   (record-accessor struct:known-foreign-inline 0)))
(define known-foreign-inline-expr
  (|#%name|
   known-foreign-inline-expr
   (lambda (s)
     (if (known-foreign-inline?_2580 s)
       (known-foreign-inline-expr_2708 s)
       ($value
        (impersonate-ref
         known-foreign-inline-expr_2708
         struct:known-foreign-inline
         0
         s
         'expr))))))
(define finish_1929
  (make-struct-type-install-properties
   '(known-ctype)
   1
   0
   (if (struct-type? struct:known-constant)
     struct:known-constant
     (check-struct-type 'struct struct:known-constant))
   null
   'prefab
   #f
   '(0)
   #f
   'known-ctype))
(define struct:known-ctype
  (make-record-type-descriptor
   'known-ctype
   (if (struct-type? struct:known-constant)
     struct:known-constant
     (check-struct-type 'struct struct:known-constant))
   (structure-type-lookup-prefab-uid
    'known-ctype
    (if (struct-type? struct:known-constant)
      struct:known-constant
      (check-struct-type 'struct struct:known-constant))
    1
    0
    #f
    '(0))
   #f
   #f
   '(1 . 1)))
(define effect_2479 (finish_1929 struct:known-ctype))
(define known-ctype
  (|#%name|
   known-ctype
   (record-constructor
    (make-record-constructor-descriptor struct:known-ctype #f #f))))
(define known-ctype?_2499
  (|#%name| known-ctype? (record-predicate struct:known-ctype)))
(define known-ctype?
  (|#%name|
   known-ctype?
   (lambda (v)
     (if (known-ctype?_2499 v)
       #t
       ($value
        (if (impersonator? v) (known-ctype?_2499 (impersonator-val v)) #f))))))
(define known-ctype-rep_2319
  (|#%name| known-ctype-rep (record-accessor struct:known-ctype 0)))
(define known-ctype-rep
  (|#%name|
   known-ctype-rep
   (lambda (s)
     (if (known-ctype?_2499 s)
       (known-ctype-rep_2319 s)
       ($value
        (impersonate-ref known-ctype-rep_2319 struct:known-ctype 0 s 'rep))))))
(define finish_2897
  (make-struct-type-install-properties
   '(known-procedure)
   1
   0
   (if (struct-type? struct:known-consistent)
     struct:known-consistent
     (check-struct-type 'struct struct:known-consistent))
   null
   'prefab
   #f
   '(0)
   #f
   'known-procedure))
(define struct:known-procedure
  (make-record-type-descriptor
   'known-procedure
   (if (struct-type? struct:known-consistent)
     struct:known-consistent
     (check-struct-type 'struct struct:known-consistent))
   (structure-type-lookup-prefab-uid
    'known-procedure
    (if (struct-type? struct:known-consistent)
      struct:known-consistent
      (check-struct-type 'struct struct:known-consistent))
    1
    0
    #f
    '(0))
   #f
   #f
   '(1 . 1)))
(define effect_2677 (finish_2897 struct:known-procedure))
(define known-procedure
  (|#%name|
   known-procedure
   (record-constructor
    (make-record-constructor-descriptor struct:known-procedure #f #f))))
(define known-procedure?_2612
  (|#%name| known-procedure? (record-predicate struct:known-procedure)))
(define known-procedure?
  (|#%name|
   known-procedure?
   (lambda (v)
     (if (known-procedure?_2612 v)
       #t
       ($value
        (if (impersonator? v)
          (known-procedure?_2612 (impersonator-val v))
          #f))))))
(define known-procedure-arity-mask_2503
  (|#%name|
   known-procedure-arity-mask
   (record-accessor struct:known-procedure 0)))
(define known-procedure-arity-mask
  (|#%name|
   known-procedure-arity-mask
   (lambda (s)
     (if (known-procedure?_2612 s)
       (known-procedure-arity-mask_2503 s)
       ($value
        (impersonate-ref
         known-procedure-arity-mask_2503
         struct:known-procedure
         0
         s
         'arity-mask))))))
(define finish_2542
  (make-struct-type-install-properties
   '(known-procedure/single-valued)
   0
   0
   (if (struct-type? struct:known-procedure)
     struct:known-procedure
     (check-struct-type 'struct struct:known-procedure))
   null
   'prefab
   #f
   '()
   #f
   'known-procedure/single-valued))
(define struct:known-procedure/single-valued
  (make-record-type-descriptor
   'known-procedure/single-valued
   (if (struct-type? struct:known-procedure)
     struct:known-procedure
     (check-struct-type 'struct struct:known-procedure))
   (structure-type-lookup-prefab-uid
    'known-procedure/single-valued
    (if (struct-type? struct:known-procedure)
      struct:known-procedure
      (check-struct-type 'struct struct:known-procedure))
    0
    0
    #f
    '())
   #f
   #f
   '(0 . 0)))
(define effect_2532 (finish_2542 struct:known-procedure/single-valued))
(define known-procedure/single-valued
  (|#%name|
   known-procedure/single-valued
   (record-constructor
    (make-record-constructor-descriptor
     struct:known-procedure/single-valued
     #f
     #f))))
(define known-procedure/single-valued?_3105
  (|#%name|
   known-procedure/single-valued?
   (record-predicate struct:known-procedure/single-valued)))
(define known-procedure/single-valued?
  (|#%name|
   known-procedure/single-valued?
   (lambda (v)
     (if (known-procedure/single-valued?_3105 v)
       #t
       ($value
        (if (impersonator? v)
          (known-procedure/single-valued?_3105 (impersonator-val v))
          #f))))))
(define finish_2099
  (make-struct-type-install-properties
   '(known-procedure/no-prompt)
   0
   0
   (if (struct-type? struct:known-procedure/single-valued)
     struct:known-procedure/single-valued
     (check-struct-type 'struct struct:known-procedure/single-valued))
   null
   'prefab
   #f
   '()
   #f
   'known-procedure/no-prompt))
(define struct:known-procedure/no-prompt
  (make-record-type-descriptor
   'known-procedure/no-prompt
   (if (struct-type? struct:known-procedure/single-valued)
     struct:known-procedure/single-valued
     (check-struct-type 'struct struct:known-procedure/single-valued))
   (structure-type-lookup-prefab-uid
    'known-procedure/no-prompt
    (if (struct-type? struct:known-procedure/single-valued)
      struct:known-procedure/single-valued
      (check-struct-type 'struct struct:known-procedure/single-valued))
    0
    0
    #f
    '())
   #f
   #f
   '(0 . 0)))
(define effect_1771 (finish_2099 struct:known-procedure/no-prompt))
(define known-procedure/no-prompt
  (|#%name|
   known-procedure/no-prompt
   (record-constructor
    (make-record-constructor-descriptor
     struct:known-procedure/no-prompt
     #f
     #f))))
(define known-procedure/no-prompt?_2036
  (|#%name|
   known-procedure/no-prompt?
   (record-predicate struct:known-procedure/no-prompt)))
(define known-procedure/no-prompt?
  (|#%name|
   known-procedure/no-prompt?
   (lambda (v)
     (if (known-procedure/no-prompt?_2036 v)
       #t
       ($value
        (if (impersonator? v)
          (known-procedure/no-prompt?_2036 (impersonator-val v))
          #f))))))
(define finish_2719
  (make-struct-type-install-properties
   '(known-procedure/no-prompt/multi)
   0
   0
   (if (struct-type? struct:known-procedure)
     struct:known-procedure
     (check-struct-type 'struct struct:known-procedure))
   null
   'prefab
   #f
   '()
   #f
   'known-procedure/no-prompt/multi))
(define struct:known-procedure/no-prompt/multi
  (make-record-type-descriptor
   'known-procedure/no-prompt/multi
   (if (struct-type? struct:known-procedure)
     struct:known-procedure
     (check-struct-type 'struct struct:known-procedure))
   (structure-type-lookup-prefab-uid
    'known-procedure/no-prompt/multi
    (if (struct-type? struct:known-procedure)
      struct:known-procedure
      (check-struct-type 'struct struct:known-procedure))
    0
    0
    #f
    '())
   #f
   #f
   '(0 . 0)))
(define effect_2793 (finish_2719 struct:known-procedure/no-prompt/multi))
(define known-procedure/no-prompt/multi
  (|#%name|
   known-procedure/no-prompt/multi
   (record-constructor
    (make-record-constructor-descriptor
     struct:known-procedure/no-prompt/multi
     #f
     #f))))
(define known-procedure/no-prompt/multi?_2394
  (|#%name|
   known-procedure/no-prompt/multi?
   (record-predicate struct:known-procedure/no-prompt/multi)))
(define known-procedure/no-prompt/multi?
  (|#%name|
   known-procedure/no-prompt/multi?
   (lambda (v)
     (if (known-procedure/no-prompt/multi?_2394 v)
       #t
       ($value
        (if (impersonator? v)
          (known-procedure/no-prompt/multi?_2394 (impersonator-val v))
          #f))))))
(define finish_2412
  (make-struct-type-install-properties
   '(known-procedure/no-prompt-up-to)
   1
   0
   (if (struct-type? struct:known-procedure)
     struct:known-procedure
     (check-struct-type 'struct struct:known-procedure))
   null
   'prefab
   #f
   '(0)
   #f
   'known-procedure/no-prompt-up-to))
(define struct:known-procedure/no-prompt-up-to
  (make-record-type-descriptor
   'known-procedure/no-prompt-up-to
   (if (struct-type? struct:known-procedure)
     struct:known-procedure
     (check-struct-type 'struct struct:known-procedure))
   (structure-type-lookup-prefab-uid
    'known-procedure/no-prompt-up-to
    (if (struct-type? struct:known-procedure)
      struct:known-procedure
      (check-struct-type 'struct struct:known-procedure))
    1
    0
    #f
    '(0))
   #f
   #f
   '(1 . 1)))
(define effect_2754 (finish_2412 struct:known-procedure/no-prompt-up-to))
(define known-procedure/no-prompt-up-to
  (|#%name|
   known-procedure/no-prompt-up-to
   (record-constructor
    (make-record-constructor-descriptor
     struct:known-procedure/no-prompt-up-to
     #f
     #f))))
(define known-procedure/no-prompt-up-to?_2279
  (|#%name|
   known-procedure/no-prompt-up-to?
   (record-predicate struct:known-procedure/no-prompt-up-to)))
(define known-procedure/no-prompt-up-to?
  (|#%name|
   known-procedure/no-prompt-up-to?
   (lambda (v)
     (if (known-procedure/no-prompt-up-to?_2279 v)
       #t
       ($value
        (if (impersonator? v)
          (known-procedure/no-prompt-up-to?_2279 (impersonator-val v))
          #f))))))
(define known-procedure/no-prompt-up-to-n_2628
  (|#%name|
   known-procedure/no-prompt-up-to-n
   (record-accessor struct:known-procedure/no-prompt-up-to 0)))
(define known-procedure/no-prompt-up-to-n
  (|#%name|
   known-procedure/no-prompt-up-to-n
   (lambda (s)
     (if (known-procedure/no-prompt-up-to?_2279 s)
       (known-procedure/no-prompt-up-to-n_2628 s)
       ($value
        (impersonate-ref
         known-procedure/no-prompt-up-to-n_2628
         struct:known-procedure/no-prompt-up-to
         0
         s
         'n))))))
(define finish_2574
  (make-struct-type-install-properties
   '(known-procedure/no-return)
   0
   0
   (if (struct-type? struct:known-procedure/single-valued)
     struct:known-procedure/single-valued
     (check-struct-type 'struct struct:known-procedure/single-valued))
   null
   'prefab
   #f
   '()
   #f
   'known-procedure/no-return))
(define struct:known-procedure/no-return
  (make-record-type-descriptor
   'known-procedure/no-return
   (if (struct-type? struct:known-procedure/single-valued)
     struct:known-procedure/single-valued
     (check-struct-type 'struct struct:known-procedure/single-valued))
   (structure-type-lookup-prefab-uid
    'known-procedure/no-return
    (if (struct-type? struct:known-procedure/single-valued)
      struct:known-procedure/single-valued
      (check-struct-type 'struct struct:known-procedure/single-valued))
    0
    0
    #f
    '())
   #f
   #f
   '(0 . 0)))
(define effect_2517 (finish_2574 struct:known-procedure/no-return))
(define known-procedure/no-return
  (|#%name|
   known-procedure/no-return
   (record-constructor
    (make-record-constructor-descriptor
     struct:known-procedure/no-return
     #f
     #f))))
(define known-procedure/no-return?_1763
  (|#%name|
   known-procedure/no-return?
   (record-predicate struct:known-procedure/no-return)))
(define known-procedure/no-return?
  (|#%name|
   known-procedure/no-return?
   (lambda (v)
     (if (known-procedure/no-return?_1763 v)
       #t
       ($value
        (if (impersonator? v)
          (known-procedure/no-return?_1763 (impersonator-val v))
          #f))))))
(define finish_2190
  (make-struct-type-install-properties
   '(known-procedure/parameter)
   0
   0
   (if (struct-type? struct:known-procedure/single-valued)
     struct:known-procedure/single-valued
     (check-struct-type 'struct struct:known-procedure/single-valued))
   null
   'prefab
   #f
   '()
   #f
   'known-procedure/parameter))
(define struct:known-procedure/parameter
  (make-record-type-descriptor
   'known-procedure/parameter
   (if (struct-type? struct:known-procedure/single-valued)
     struct:known-procedure/single-valued
     (check-struct-type 'struct struct:known-procedure/single-valued))
   (structure-type-lookup-prefab-uid
    'known-procedure/parameter
    (if (struct-type? struct:known-procedure/single-valued)
      struct:known-procedure/single-valued
      (check-struct-type 'struct struct:known-procedure/single-valued))
    0
    0
    #f
    '())
   #f
   #f
   '(0 . 0)))
(define effect_2451 (finish_2190 struct:known-procedure/parameter))
(define known-procedure/parameter
  (|#%name|
   known-procedure/parameter
   (record-constructor
    (make-record-constructor-descriptor
     struct:known-procedure/parameter
     #f
     #f))))
(define known-procedure/parameter?_2642
  (|#%name|
   known-procedure/parameter?
   (record-predicate struct:known-procedure/parameter)))
(define known-procedure/parameter?
  (|#%name|
   known-procedure/parameter?
   (lambda (v)
     (if (known-procedure/parameter?_2642 v)
       #t
       ($value
        (if (impersonator? v)
          (known-procedure/parameter?_2642 (impersonator-val v))
          #f))))))
(define finish_2550
  (make-struct-type-install-properties
   '(known-procedure/can-inline)
   1
   0
   (if (struct-type? struct:known-procedure)
     struct:known-procedure
     (check-struct-type 'struct struct:known-procedure))
   null
   'prefab
   #f
   '(0)
   #f
   'known-procedure/can-inline))
(define struct:known-procedure/can-inline
  (make-record-type-descriptor
   'known-procedure/can-inline
   (if (struct-type? struct:known-procedure)
     struct:known-procedure
     (check-struct-type 'struct struct:known-procedure))
   (structure-type-lookup-prefab-uid
    'known-procedure/can-inline
    (if (struct-type? struct:known-procedure)
      struct:known-procedure
      (check-struct-type 'struct struct:known-procedure))
    1
    0
    #f
    '(0))
   #f
   #f
   '(1 . 1)))
(define effect_2308 (finish_2550 struct:known-procedure/can-inline))
(define known-procedure/can-inline
  (|#%name|
   known-procedure/can-inline
   (record-constructor
    (make-record-constructor-descriptor
     struct:known-procedure/can-inline
     #f
     #f))))
(define known-procedure/can-inline?_2843
  (|#%name|
   known-procedure/can-inline?
   (record-predicate struct:known-procedure/can-inline)))
(define known-procedure/can-inline?
  (|#%name|
   known-procedure/can-inline?
   (lambda (v)
     (if (known-procedure/can-inline?_2843 v)
       #t
       ($value
        (if (impersonator? v)
          (known-procedure/can-inline?_2843 (impersonator-val v))
          #f))))))
(define known-procedure/can-inline-expr_2497
  (|#%name|
   known-procedure/can-inline-expr
   (record-accessor struct:known-procedure/can-inline 0)))
(define known-procedure/can-inline-expr
  (|#%name|
   known-procedure/can-inline-expr
   (lambda (s)
     (if (known-procedure/can-inline?_2843 s)
       (known-procedure/can-inline-expr_2497 s)
       ($value
        (impersonate-ref
         known-procedure/can-inline-expr_2497
         struct:known-procedure/can-inline
         0
         s
         'expr))))))
(define finish_1976
  (make-struct-type-install-properties
   '(known-procedure/can-inline/need-imports)
   1
   0
   (if (struct-type? struct:known-procedure/can-inline)
     struct:known-procedure/can-inline
     (check-struct-type 'struct struct:known-procedure/can-inline))
   null
   'prefab
   #f
   '(0)
   #f
   'known-procedure/can-inline/need-imports))
(define struct:known-procedure/can-inline/need-imports
  (make-record-type-descriptor
   'known-procedure/can-inline/need-imports
   (if (struct-type? struct:known-procedure/can-inline)
     struct:known-procedure/can-inline
     (check-struct-type 'struct struct:known-procedure/can-inline))
   (structure-type-lookup-prefab-uid
    'known-procedure/can-inline/need-imports
    (if (struct-type? struct:known-procedure/can-inline)
      struct:known-procedure/can-inline
      (check-struct-type 'struct struct:known-procedure/can-inline))
    1
    0
    #f
    '(0))
   #f
   #f
   '(1 . 1)))
(define effect_2618
  (finish_1976 struct:known-procedure/can-inline/need-imports))
(define known-procedure/can-inline/need-imports
  (|#%name|
   known-procedure/can-inline/need-imports
   (record-constructor
    (make-record-constructor-descriptor
     struct:known-procedure/can-inline/need-imports
     #f
     #f))))
(define known-procedure/can-inline/need-imports?_2059
  (|#%name|
   known-procedure/can-inline/need-imports?
   (record-predicate struct:known-procedure/can-inline/need-imports)))
(define known-procedure/can-inline/need-imports?
  (|#%name|
   known-procedure/can-inline/need-imports?
   (lambda (v)
     (if (known-procedure/can-inline/need-imports?_2059 v)
       #t
       ($value
        (if (impersonator? v)
          (known-procedure/can-inline/need-imports?_2059 (impersonator-val v))
          #f))))))
(define known-procedure/can-inline/need-imports-needed_2435
  (|#%name|
   known-procedure/can-inline/need-imports-needed
   (record-accessor struct:known-procedure/can-inline/need-imports 0)))
(define known-procedure/can-inline/need-imports-needed
  (|#%name|
   known-procedure/can-inline/need-imports-needed
   (lambda (s)
     (if (known-procedure/can-inline/need-imports?_2059 s)
       (known-procedure/can-inline/need-imports-needed_2435 s)
       ($value
        (impersonate-ref
         known-procedure/can-inline/need-imports-needed_2435
         struct:known-procedure/can-inline/need-imports
         0
         s
         'needed))))))
(define finish_1734
  (make-struct-type-install-properties
   '(known-procedure/folding)
   0
   0
   (if (struct-type? struct:known-procedure/no-prompt)
     struct:known-procedure/no-prompt
     (check-struct-type 'struct struct:known-procedure/no-prompt))
   null
   'prefab
   #f
   '()
   #f
   'known-procedure/folding))
(define struct:known-procedure/folding
  (make-record-type-descriptor
   'known-procedure/folding
   (if (struct-type? struct:known-procedure/no-prompt)
     struct:known-procedure/no-prompt
     (check-struct-type 'struct struct:known-procedure/no-prompt))
   (structure-type-lookup-prefab-uid
    'known-procedure/folding
    (if (struct-type? struct:known-procedure/no-prompt)
      struct:known-procedure/no-prompt
      (check-struct-type 'struct struct:known-procedure/no-prompt))
    0
    0
    #f
    '())
   #f
   #f
   '(0 . 0)))
(define effect_2478 (finish_1734 struct:known-procedure/folding))
(define known-procedure/folding
  (|#%name|
   known-procedure/folding
   (record-constructor
    (make-record-constructor-descriptor
     struct:known-procedure/folding
     #f
     #f))))
(define known-procedure/folding?_2882
  (|#%name|
   known-procedure/folding?
   (record-predicate struct:known-procedure/folding)))
(define known-procedure/folding?
  (|#%name|
   known-procedure/folding?
   (lambda (v)
     (if (known-procedure/folding?_2882 v)
       #t
       ($value
        (if (impersonator? v)
          (known-procedure/folding?_2882 (impersonator-val v))
          #f))))))
(define finish_2008
  (make-struct-type-install-properties
   '(known-procedure/folding/limited)
   1
   0
   (if (struct-type? struct:known-procedure/folding)
     struct:known-procedure/folding
     (check-struct-type 'struct struct:known-procedure/folding))
   null
   'prefab
   #f
   '(0)
   #f
   'known-procedure/folding/limited))
(define struct:known-procedure/folding/limited
  (make-record-type-descriptor
   'known-procedure/folding/limited
   (if (struct-type? struct:known-procedure/folding)
     struct:known-procedure/folding
     (check-struct-type 'struct struct:known-procedure/folding))
   (structure-type-lookup-prefab-uid
    'known-procedure/folding/limited
    (if (struct-type? struct:known-procedure/folding)
      struct:known-procedure/folding
      (check-struct-type 'struct struct:known-procedure/folding))
    1
    0
    #f
    '(0))
   #f
   #f
   '(1 . 1)))
(define effect_2518 (finish_2008 struct:known-procedure/folding/limited))
(define known-procedure/folding/limited
  (|#%name|
   known-procedure/folding/limited
   (record-constructor
    (make-record-constructor-descriptor
     struct:known-procedure/folding/limited
     #f
     #f))))
(define known-procedure/folding/limited?_2382
  (|#%name|
   known-procedure/folding/limited?
   (record-predicate struct:known-procedure/folding/limited)))
(define known-procedure/folding/limited?
  (|#%name|
   known-procedure/folding/limited?
   (lambda (v)
     (if (known-procedure/folding/limited?_2382 v)
       #t
       ($value
        (if (impersonator? v)
          (known-procedure/folding/limited?_2382 (impersonator-val v))
          #f))))))
(define known-procedure/folding/limited-kind_2789
  (|#%name|
   known-procedure/folding/limited-kind
   (record-accessor struct:known-procedure/folding/limited 0)))
(define known-procedure/folding/limited-kind
  (|#%name|
   known-procedure/folding/limited-kind
   (lambda (s)
     (if (known-procedure/folding/limited?_2382 s)
       (known-procedure/folding/limited-kind_2789 s)
       ($value
        (impersonate-ref
         known-procedure/folding/limited-kind_2789
         struct:known-procedure/folding/limited
         0
         s
         'kind))))))
(define finish_2826
  (make-struct-type-install-properties
   '(known-procedure/succeeds)
   0
   0
   (if (struct-type? struct:known-procedure/no-prompt)
     struct:known-procedure/no-prompt
     (check-struct-type 'struct struct:known-procedure/no-prompt))
   null
   'prefab
   #f
   '()
   #f
   'known-procedure/succeeds))
(define struct:known-procedure/succeeds
  (make-record-type-descriptor
   'known-procedure/succeeds
   (if (struct-type? struct:known-procedure/no-prompt)
     struct:known-procedure/no-prompt
     (check-struct-type 'struct struct:known-procedure/no-prompt))
   (structure-type-lookup-prefab-uid
    'known-procedure/succeeds
    (if (struct-type? struct:known-procedure/no-prompt)
      struct:known-procedure/no-prompt
      (check-struct-type 'struct struct:known-procedure/no-prompt))
    0
    0
    #f
    '())
   #f
   #f
   '(0 . 0)))
(define effect_2467 (finish_2826 struct:known-procedure/succeeds))
(define known-procedure/succeeds
  (|#%name|
   known-procedure/succeeds
   (record-constructor
    (make-record-constructor-descriptor
     struct:known-procedure/succeeds
     #f
     #f))))
(define known-procedure/succeeds?_3041
  (|#%name|
   known-procedure/succeeds?
   (record-predicate struct:known-procedure/succeeds)))
(define known-procedure/succeeds?
  (|#%name|
   known-procedure/succeeds?
   (lambda (v)
     (if (known-procedure/succeeds?_3041 v)
       #t
       ($value
        (if (impersonator? v)
          (known-procedure/succeeds?_3041 (impersonator-val v))
          #f))))))
(define finish_2544
  (make-struct-type-install-properties
   '(known-procedure/then-pure)
   0
   0
   (if (struct-type? struct:known-procedure/succeeds)
     struct:known-procedure/succeeds
     (check-struct-type 'struct struct:known-procedure/succeeds))
   null
   'prefab
   #f
   '()
   #f
   'known-procedure/then-pure))
(define struct:known-procedure/then-pure
  (make-record-type-descriptor
   'known-procedure/then-pure
   (if (struct-type? struct:known-procedure/succeeds)
     struct:known-procedure/succeeds
     (check-struct-type 'struct struct:known-procedure/succeeds))
   (structure-type-lookup-prefab-uid
    'known-procedure/then-pure
    (if (struct-type? struct:known-procedure/succeeds)
      struct:known-procedure/succeeds
      (check-struct-type 'struct struct:known-procedure/succeeds))
    0
    0
    #f
    '())
   #f
   #f
   '(0 . 0)))
(define effect_1957 (finish_2544 struct:known-procedure/then-pure))
(define known-procedure/then-pure
  (|#%name|
   known-procedure/then-pure
   (record-constructor
    (make-record-constructor-descriptor
     struct:known-procedure/then-pure
     #f
     #f))))
(define known-procedure/then-pure?_2475
  (|#%name|
   known-procedure/then-pure?
   (record-predicate struct:known-procedure/then-pure)))
(define known-procedure/then-pure?
  (|#%name|
   known-procedure/then-pure?
   (lambda (v)
     (if (known-procedure/then-pure?_2475 v)
       #t
       ($value
        (if (impersonator? v)
          (known-procedure/then-pure?_2475 (impersonator-val v))
          #f))))))
(define finish_2400
  (make-struct-type-install-properties
   '(known-procedure/then-pure/folding-unsafe)
   1
   0
   (if (struct-type? struct:known-procedure/then-pure)
     struct:known-procedure/then-pure
     (check-struct-type 'struct struct:known-procedure/then-pure))
   null
   'prefab
   #f
   '(0)
   #f
   'known-procedure/then-pure/folding-unsafe))
(define struct:known-procedure/then-pure/folding-unsafe
  (make-record-type-descriptor
   'known-procedure/then-pure/folding-unsafe
   (if (struct-type? struct:known-procedure/then-pure)
     struct:known-procedure/then-pure
     (check-struct-type 'struct struct:known-procedure/then-pure))
   (structure-type-lookup-prefab-uid
    'known-procedure/then-pure/folding-unsafe
    (if (struct-type? struct:known-procedure/then-pure)
      struct:known-procedure/then-pure
      (check-struct-type 'struct struct:known-procedure/then-pure))
    1
    0
    #f
    '(0))
   #f
   #f
   '(1 . 1)))
(define effect_2700
  (finish_2400 struct:known-procedure/then-pure/folding-unsafe))
(define known-procedure/then-pure/folding-unsafe
  (|#%name|
   known-procedure/then-pure/folding-unsafe
   (record-constructor
    (make-record-constructor-descriptor
     struct:known-procedure/then-pure/folding-unsafe
     #f
     #f))))
(define known-procedure/then-pure/folding-unsafe?_3036
  (|#%name|
   known-procedure/then-pure/folding-unsafe?
   (record-predicate struct:known-procedure/then-pure/folding-unsafe)))
(define known-procedure/then-pure/folding-unsafe?
  (|#%name|
   known-procedure/then-pure/folding-unsafe?
   (lambda (v)
     (if (known-procedure/then-pure/folding-unsafe?_3036 v)
       #t
       ($value
        (if (impersonator? v)
          (known-procedure/then-pure/folding-unsafe?_3036 (impersonator-val v))
          #f))))))
(define known-procedure/then-pure/folding-unsafe-safe_2633
  (|#%name|
   known-procedure/then-pure/folding-unsafe-safe
   (record-accessor struct:known-procedure/then-pure/folding-unsafe 0)))
(define known-procedure/then-pure/folding-unsafe-safe
  (|#%name|
   known-procedure/then-pure/folding-unsafe-safe
   (lambda (s)
     (if (known-procedure/then-pure/folding-unsafe?_3036 s)
       (known-procedure/then-pure/folding-unsafe-safe_2633 s)
       ($value
        (impersonate-ref
         known-procedure/then-pure/folding-unsafe-safe_2633
         struct:known-procedure/then-pure/folding-unsafe
         0
         s
         'safe))))))
(define finish_2051
  (make-struct-type-install-properties
   '(known-procedure/allocates)
   0
   0
   (if (struct-type? struct:known-procedure/succeeds)
     struct:known-procedure/succeeds
     (check-struct-type 'struct struct:known-procedure/succeeds))
   null
   'prefab
   #f
   '()
   #f
   'known-procedure/allocates))
(define struct:known-procedure/allocates
  (make-record-type-descriptor
   'known-procedure/allocates
   (if (struct-type? struct:known-procedure/succeeds)
     struct:known-procedure/succeeds
     (check-struct-type 'struct struct:known-procedure/succeeds))
   (structure-type-lookup-prefab-uid
    'known-procedure/allocates
    (if (struct-type? struct:known-procedure/succeeds)
      struct:known-procedure/succeeds
      (check-struct-type 'struct struct:known-procedure/succeeds))
    0
    0
    #f
    '())
   #f
   #f
   '(0 . 0)))
(define effect_2336 (finish_2051 struct:known-procedure/allocates))
(define known-procedure/allocates
  (|#%name|
   known-procedure/allocates
   (record-constructor
    (make-record-constructor-descriptor
     struct:known-procedure/allocates
     #f
     #f))))
(define known-procedure/allocates?_2244
  (|#%name|
   known-procedure/allocates?
   (record-predicate struct:known-procedure/allocates)))
(define known-procedure/allocates?
  (|#%name|
   known-procedure/allocates?
   (lambda (v)
     (if (known-procedure/allocates?_2244 v)
       #t
       ($value
        (if (impersonator? v)
          (known-procedure/allocates?_2244 (impersonator-val v))
          #f))))))
(define finish_2724
  (make-struct-type-install-properties
   '(known-procedure/pure)
   0
   0
   (if (struct-type? struct:known-procedure/allocates)
     struct:known-procedure/allocates
     (check-struct-type 'struct struct:known-procedure/allocates))
   null
   'prefab
   #f
   '()
   #f
   'known-procedure/pure))
(define struct:known-procedure/pure
  (make-record-type-descriptor
   'known-procedure/pure
   (if (struct-type? struct:known-procedure/allocates)
     struct:known-procedure/allocates
     (check-struct-type 'struct struct:known-procedure/allocates))
   (structure-type-lookup-prefab-uid
    'known-procedure/pure
    (if (struct-type? struct:known-procedure/allocates)
      struct:known-procedure/allocates
      (check-struct-type 'struct struct:known-procedure/allocates))
    0
    0
    #f
    '())
   #f
   #f
   '(0 . 0)))
(define effect_3058 (finish_2724 struct:known-procedure/pure))
(define known-procedure/pure
  (|#%name|
   known-procedure/pure
   (record-constructor
    (make-record-constructor-descriptor struct:known-procedure/pure #f #f))))
(define known-procedure/pure?_2240
  (|#%name|
   known-procedure/pure?
   (record-predicate struct:known-procedure/pure)))
(define known-procedure/pure?
  (|#%name|
   known-procedure/pure?
   (lambda (v)
     (if (known-procedure/pure?_2240 v)
       #t
       ($value
        (if (impersonator? v)
          (known-procedure/pure?_2240 (impersonator-val v))
          #f))))))
(define finish_2466
  (make-struct-type-install-properties
   '(known-procedure/pure/folding)
   0
   0
   (if (struct-type? struct:known-procedure/pure)
     struct:known-procedure/pure
     (check-struct-type 'struct struct:known-procedure/pure))
   null
   'prefab
   #f
   '()
   #f
   'known-procedure/pure/folding))
(define struct:known-procedure/pure/folding
  (make-record-type-descriptor
   'known-procedure/pure/folding
   (if (struct-type? struct:known-procedure/pure)
     struct:known-procedure/pure
     (check-struct-type 'struct struct:known-procedure/pure))
   (structure-type-lookup-prefab-uid
    'known-procedure/pure/folding
    (if (struct-type? struct:known-procedure/pure)
      struct:known-procedure/pure
      (check-struct-type 'struct struct:known-procedure/pure))
    0
    0
    #f
    '())
   #f
   #f
   '(0 . 0)))
(define effect_2264 (finish_2466 struct:known-procedure/pure/folding))
(define known-procedure/pure/folding
  (|#%name|
   known-procedure/pure/folding
   (record-constructor
    (make-record-constructor-descriptor
     struct:known-procedure/pure/folding
     #f
     #f))))
(define known-procedure/pure/folding?_2719
  (|#%name|
   known-procedure/pure/folding?
   (record-predicate struct:known-procedure/pure/folding)))
(define known-procedure/pure/folding?
  (|#%name|
   known-procedure/pure/folding?
   (lambda (v)
     (if (known-procedure/pure/folding?_2719 v)
       #t
       ($value
        (if (impersonator? v)
          (known-procedure/pure/folding?_2719 (impersonator-val v))
          #f))))))
(define finish_3128
  (make-struct-type-install-properties
   '(known-procedure/has-unsafe)
   1
   0
   (if (struct-type? struct:known-procedure/no-prompt)
     struct:known-procedure/no-prompt
     (check-struct-type 'struct struct:known-procedure/no-prompt))
   null
   'prefab
   #f
   '(0)
   #f
   'known-procedure/has-unsafe))
(define struct:known-procedure/has-unsafe
  (make-record-type-descriptor
   'known-procedure/has-unsafe
   (if (struct-type? struct:known-procedure/no-prompt)
     struct:known-procedure/no-prompt
     (check-struct-type 'struct struct:known-procedure/no-prompt))
   (structure-type-lookup-prefab-uid
    'known-procedure/has-unsafe
    (if (struct-type? struct:known-procedure/no-prompt)
      struct:known-procedure/no-prompt
      (check-struct-type 'struct struct:known-procedure/no-prompt))
    1
    0
    #f
    '(0))
   #f
   #f
   '(1 . 1)))
(define effect_1752 (finish_3128 struct:known-procedure/has-unsafe))
(define known-procedure/has-unsafe
  (|#%name|
   known-procedure/has-unsafe
   (record-constructor
    (make-record-constructor-descriptor
     struct:known-procedure/has-unsafe
     #f
     #f))))
(define known-procedure/has-unsafe?_2703
  (|#%name|
   known-procedure/has-unsafe?
   (record-predicate struct:known-procedure/has-unsafe)))
(define known-procedure/has-unsafe?
  (|#%name|
   known-procedure/has-unsafe?
   (lambda (v)
     (if (known-procedure/has-unsafe?_2703 v)
       #t
       ($value
        (if (impersonator? v)
          (known-procedure/has-unsafe?_2703 (impersonator-val v))
          #f))))))
(define known-procedure/has-unsafe-alternate_2847
  (|#%name|
   known-procedure/has-unsafe-alternate
   (record-accessor struct:known-procedure/has-unsafe 0)))
(define known-procedure/has-unsafe-alternate
  (|#%name|
   known-procedure/has-unsafe-alternate
   (lambda (s)
     (if (known-procedure/has-unsafe?_2703 s)
       (known-procedure/has-unsafe-alternate_2847 s)
       ($value
        (impersonate-ref
         known-procedure/has-unsafe-alternate_2847
         struct:known-procedure/has-unsafe
         0
         s
         'alternate))))))
(define finish_2439
  (make-struct-type-install-properties
   '(known-procedure/has-unsafe/folding)
   0
   0
   (if (struct-type? struct:known-procedure/has-unsafe)
     struct:known-procedure/has-unsafe
     (check-struct-type 'struct struct:known-procedure/has-unsafe))
   null
   'prefab
   #f
   '()
   #f
   'known-procedure/has-unsafe/folding))
(define struct:known-procedure/has-unsafe/folding
  (make-record-type-descriptor
   'known-procedure/has-unsafe/folding
   (if (struct-type? struct:known-procedure/has-unsafe)
     struct:known-procedure/has-unsafe
     (check-struct-type 'struct struct:known-procedure/has-unsafe))
   (structure-type-lookup-prefab-uid
    'known-procedure/has-unsafe/folding
    (if (struct-type? struct:known-procedure/has-unsafe)
      struct:known-procedure/has-unsafe
      (check-struct-type 'struct struct:known-procedure/has-unsafe))
    0
    0
    #f
    '())
   #f
   #f
   '(0 . 0)))
(define effect_2489 (finish_2439 struct:known-procedure/has-unsafe/folding))
(define known-procedure/has-unsafe/folding
  (|#%name|
   known-procedure/has-unsafe/folding
   (record-constructor
    (make-record-constructor-descriptor
     struct:known-procedure/has-unsafe/folding
     #f
     #f))))
(define known-procedure/has-unsafe/folding?_2169
  (|#%name|
   known-procedure/has-unsafe/folding?
   (record-predicate struct:known-procedure/has-unsafe/folding)))
(define known-procedure/has-unsafe/folding?
  (|#%name|
   known-procedure/has-unsafe/folding?
   (lambda (v)
     (if (known-procedure/has-unsafe/folding?_2169 v)
       #t
       ($value
        (if (impersonator? v)
          (known-procedure/has-unsafe/folding?_2169 (impersonator-val v))
          #f))))))
(define finish_2602
  (make-struct-type-install-properties
   '(known-procedure/has-unsafe/folding/limited)
   1
   0
   (if (struct-type? struct:known-procedure/has-unsafe/folding)
     struct:known-procedure/has-unsafe/folding
     (check-struct-type 'struct struct:known-procedure/has-unsafe/folding))
   null
   'prefab
   #f
   '(0)
   #f
   'known-procedure/has-unsafe/folding/limited))
(define struct:known-procedure/has-unsafe/folding/limited
  (make-record-type-descriptor
   'known-procedure/has-unsafe/folding/limited
   (if (struct-type? struct:known-procedure/has-unsafe/folding)
     struct:known-procedure/has-unsafe/folding
     (check-struct-type 'struct struct:known-procedure/has-unsafe/folding))
   (structure-type-lookup-prefab-uid
    'known-procedure/has-unsafe/folding/limited
    (if (struct-type? struct:known-procedure/has-unsafe/folding)
      struct:known-procedure/has-unsafe/folding
      (check-struct-type 'struct struct:known-procedure/has-unsafe/folding))
    1
    0
    #f
    '(0))
   #f
   #f
   '(1 . 1)))
(define effect_2512
  (finish_2602 struct:known-procedure/has-unsafe/folding/limited))
(define known-procedure/has-unsafe/folding/limited
  (|#%name|
   known-procedure/has-unsafe/folding/limited
   (record-constructor
    (make-record-constructor-descriptor
     struct:known-procedure/has-unsafe/folding/limited
     #f
     #f))))
(define known-procedure/has-unsafe/folding/limited?_2926
  (|#%name|
   known-procedure/has-unsafe/folding/limited?
   (record-predicate struct:known-procedure/has-unsafe/folding/limited)))
(define known-procedure/has-unsafe/folding/limited?
  (|#%name|
   known-procedure/has-unsafe/folding/limited?
   (lambda (v)
     (if (known-procedure/has-unsafe/folding/limited?_2926 v)
       #t
       ($value
        (if (impersonator? v)
          (known-procedure/has-unsafe/folding/limited?_2926
           (impersonator-val v))
          #f))))))
(define known-procedure/has-unsafe/folding/limited-kind_1942
  (|#%name|
   known-procedure/has-unsafe/folding/limited-kind
   (record-accessor struct:known-procedure/has-unsafe/folding/limited 0)))
(define known-procedure/has-unsafe/folding/limited-kind
  (|#%name|
   known-procedure/has-unsafe/folding/limited-kind
   (lambda (s)
     (if (known-procedure/has-unsafe/folding/limited?_2926 s)
       (known-procedure/has-unsafe/folding/limited-kind_1942 s)
       ($value
        (impersonate-ref
         known-procedure/has-unsafe/folding/limited-kind_1942
         struct:known-procedure/has-unsafe/folding/limited
         0
         s
         'kind))))))
(define finish_2844
  (make-struct-type-install-properties
   '(known-struct-type)
   4
   0
   (if (struct-type? struct:known-consistent)
     struct:known-consistent
     (check-struct-type 'struct struct:known-consistent))
   null
   'prefab
   #f
   '(0 1 2 3)
   #f
   'known-struct-type))
(define struct:known-struct-type
  (make-record-type-descriptor
   'known-struct-type
   (if (struct-type? struct:known-consistent)
     struct:known-consistent
     (check-struct-type 'struct struct:known-consistent))
   (structure-type-lookup-prefab-uid
    'known-struct-type
    (if (struct-type? struct:known-consistent)
      struct:known-consistent
      (check-struct-type 'struct struct:known-consistent))
    4
    0
    #f
    '(0 1 2 3))
   #f
   #f
   '(4 . 15)))
(define effect_2667 (finish_2844 struct:known-struct-type))
(define known-struct-type
  (|#%name|
   known-struct-type
   (record-constructor
    (make-record-constructor-descriptor struct:known-struct-type #f #f))))
(define known-struct-type?_2572
  (|#%name| known-struct-type? (record-predicate struct:known-struct-type)))
(define known-struct-type?
  (|#%name|
   known-struct-type?
   (lambda (v)
     (if (known-struct-type?_2572 v)
       #t
       ($value
        (if (impersonator? v)
          (known-struct-type?_2572 (impersonator-val v))
          #f))))))
(define known-struct-type-type_1931
  (|#%name|
   known-struct-type-type
   (record-accessor struct:known-struct-type 0)))
(define known-struct-type-type
  (|#%name|
   known-struct-type-type
   (lambda (s)
     (if (known-struct-type?_2572 s)
       (known-struct-type-type_1931 s)
       ($value
        (impersonate-ref
         known-struct-type-type_1931
         struct:known-struct-type
         0
         s
         'type))))))
(define known-struct-type-field-count_2903
  (|#%name|
   known-struct-type-field-count
   (record-accessor struct:known-struct-type 1)))
(define known-struct-type-field-count
  (|#%name|
   known-struct-type-field-count
   (lambda (s)
     (if (known-struct-type?_2572 s)
       (known-struct-type-field-count_2903 s)
       ($value
        (impersonate-ref
         known-struct-type-field-count_2903
         struct:known-struct-type
         1
         s
         'field-count))))))
(define known-struct-type-pure-constructor?_2541
  (|#%name|
   known-struct-type-pure-constructor?
   (record-accessor struct:known-struct-type 2)))
(define known-struct-type-pure-constructor?
  (|#%name|
   known-struct-type-pure-constructor?
   (lambda (s)
     (if (known-struct-type?_2572 s)
       (known-struct-type-pure-constructor?_2541 s)
       ($value
        (impersonate-ref
         known-struct-type-pure-constructor?_2541
         struct:known-struct-type
         2
         s
         'pure-constructor?))))))
(define known-struct-type-sealed?_2229
  (|#%name|
   known-struct-type-sealed?
   (record-accessor struct:known-struct-type 3)))
(define known-struct-type-sealed?
  (|#%name|
   known-struct-type-sealed?
   (lambda (s)
     (if (known-struct-type?_2572 s)
       (known-struct-type-sealed?_2229 s)
       ($value
        (impersonate-ref
         known-struct-type-sealed?_2229
         struct:known-struct-type
         3
         s
         'sealed?))))))
(define finish_2453
  (make-struct-type-install-properties
   '(known-constructor)
   1
   0
   (if (struct-type? struct:known-procedure/allocates)
     struct:known-procedure/allocates
     (check-struct-type 'struct struct:known-procedure/allocates))
   null
   'prefab
   #f
   '(0)
   #f
   'known-constructor))
(define struct:known-constructor
  (make-record-type-descriptor
   'known-constructor
   (if (struct-type? struct:known-procedure/allocates)
     struct:known-procedure/allocates
     (check-struct-type 'struct struct:known-procedure/allocates))
   (structure-type-lookup-prefab-uid
    'known-constructor
    (if (struct-type? struct:known-procedure/allocates)
      struct:known-procedure/allocates
      (check-struct-type 'struct struct:known-procedure/allocates))
    1
    0
    #f
    '(0))
   #f
   #f
   '(1 . 1)))
(define effect_1913 (finish_2453 struct:known-constructor))
(define known-constructor
  (|#%name|
   known-constructor
   (record-constructor
    (make-record-constructor-descriptor struct:known-constructor #f #f))))
(define known-constructor?_2802
  (|#%name| known-constructor? (record-predicate struct:known-constructor)))
(define known-constructor?
  (|#%name|
   known-constructor?
   (lambda (v)
     (if (known-constructor?_2802 v)
       #t
       ($value
        (if (impersonator? v)
          (known-constructor?_2802 (impersonator-val v))
          #f))))))
(define known-constructor-type_2993
  (|#%name|
   known-constructor-type
   (record-accessor struct:known-constructor 0)))
(define known-constructor-type
  (|#%name|
   known-constructor-type
   (lambda (s)
     (if (known-constructor?_2802 s)
       (known-constructor-type_2993 s)
       ($value
        (impersonate-ref
         known-constructor-type_2993
         struct:known-constructor
         0
         s
         'type))))))
(define finish_2917
  (make-struct-type-install-properties
   '(known-predicate)
   1
   0
   (if (struct-type? struct:known-procedure/pure)
     struct:known-procedure/pure
     (check-struct-type 'struct struct:known-procedure/pure))
   null
   'prefab
   #f
   '(0)
   #f
   'known-predicate))
(define struct:known-predicate
  (make-record-type-descriptor
   'known-predicate
   (if (struct-type? struct:known-procedure/pure)
     struct:known-procedure/pure
     (check-struct-type 'struct struct:known-procedure/pure))
   (structure-type-lookup-prefab-uid
    'known-predicate
    (if (struct-type? struct:known-procedure/pure)
      struct:known-procedure/pure
      (check-struct-type 'struct struct:known-procedure/pure))
    1
    0
    #f
    '(0))
   #f
   #f
   '(1 . 1)))
(define effect_2144 (finish_2917 struct:known-predicate))
(define known-predicate
  (|#%name|
   known-predicate
   (record-constructor
    (make-record-constructor-descriptor struct:known-predicate #f #f))))
(define known-predicate?_2903
  (|#%name| known-predicate? (record-predicate struct:known-predicate)))
(define known-predicate?
  (|#%name|
   known-predicate?
   (lambda (v)
     (if (known-predicate?_2903 v)
       #t
       ($value
        (if (impersonator? v)
          (known-predicate?_2903 (impersonator-val v))
          #f))))))
(define known-predicate-type_2853
  (|#%name| known-predicate-type (record-accessor struct:known-predicate 0)))
(define known-predicate-type
  (|#%name|
   known-predicate-type
   (lambda (s)
     (if (known-predicate?_2903 s)
       (known-predicate-type_2853 s)
       ($value
        (impersonate-ref
         known-predicate-type_2853
         struct:known-predicate
         0
         s
         'type))))))
(define finish_2548
  (make-struct-type-install-properties
   '(known-accessor)
   1
   0
   (if (struct-type? struct:known-procedure/single-valued)
     struct:known-procedure/single-valued
     (check-struct-type 'struct struct:known-procedure/single-valued))
   null
   'prefab
   #f
   '(0)
   #f
   'known-accessor))
(define struct:known-accessor
  (make-record-type-descriptor
   'known-accessor
   (if (struct-type? struct:known-procedure/single-valued)
     struct:known-procedure/single-valued
     (check-struct-type 'struct struct:known-procedure/single-valued))
   (structure-type-lookup-prefab-uid
    'known-accessor
    (if (struct-type? struct:known-procedure/single-valued)
      struct:known-procedure/single-valued
      (check-struct-type 'struct struct:known-procedure/single-valued))
    1
    0
    #f
    '(0))
   #f
   #f
   '(1 . 1)))
(define effect_2905 (finish_2548 struct:known-accessor))
(define known-accessor
  (|#%name|
   known-accessor
   (record-constructor
    (make-record-constructor-descriptor struct:known-accessor #f #f))))
(define known-accessor?_2710
  (|#%name| known-accessor? (record-predicate struct:known-accessor)))
(define known-accessor?
  (|#%name|
   known-accessor?
   (lambda (v)
     (if (known-accessor?_2710 v)
       #t
       ($value
        (if (impersonator? v)
          (known-accessor?_2710 (impersonator-val v))
          #f))))))
(define known-accessor-type_2147
  (|#%name| known-accessor-type (record-accessor struct:known-accessor 0)))
(define known-accessor-type
  (|#%name|
   known-accessor-type
   (lambda (s)
     (if (known-accessor?_2710 s)
       (known-accessor-type_2147 s)
       ($value
        (impersonate-ref
         known-accessor-type_2147
         struct:known-accessor
         0
         s
         'type))))))
(define finish_2552
  (make-struct-type-install-properties
   '(known-mutator)
   1
   0
   (if (struct-type? struct:known-procedure/single-valued)
     struct:known-procedure/single-valued
     (check-struct-type 'struct struct:known-procedure/single-valued))
   null
   'prefab
   #f
   '(0)
   #f
   'known-mutator))
(define struct:known-mutator
  (make-record-type-descriptor
   'known-mutator
   (if (struct-type? struct:known-procedure/single-valued)
     struct:known-procedure/single-valued
     (check-struct-type 'struct struct:known-procedure/single-valued))
   (structure-type-lookup-prefab-uid
    'known-mutator
    (if (struct-type? struct:known-procedure/single-valued)
      struct:known-procedure/single-valued
      (check-struct-type 'struct struct:known-procedure/single-valued))
    1
    0
    #f
    '(0))
   #f
   #f
   '(1 . 1)))
(define effect_2521 (finish_2552 struct:known-mutator))
(define known-mutator
  (|#%name|
   known-mutator
   (record-constructor
    (make-record-constructor-descriptor struct:known-mutator #f #f))))
(define known-mutator?_2993
  (|#%name| known-mutator? (record-predicate struct:known-mutator)))
(define known-mutator?
  (|#%name|
   known-mutator?
   (lambda (v)
     (if (known-mutator?_2993 v)
       #t
       ($value
        (if (impersonator? v)
          (known-mutator?_2993 (impersonator-val v))
          #f))))))
(define known-mutator-type_2618
  (|#%name| known-mutator-type (record-accessor struct:known-mutator 0)))
(define known-mutator-type
  (|#%name|
   known-mutator-type
   (lambda (s)
     (if (known-mutator?_2993 s)
       (known-mutator-type_2618 s)
       ($value
        (impersonate-ref
         known-mutator-type_2618
         struct:known-mutator
         0
         s
         'type))))))
(define finish_2184
  (make-struct-type-install-properties
   '(known-struct-constructor)
   1
   0
   (if (struct-type? struct:known-constructor)
     struct:known-constructor
     (check-struct-type 'struct struct:known-constructor))
   null
   'prefab
   #f
   '(0)
   #f
   'known-struct-constructor))
(define struct:known-struct-constructor
  (make-record-type-descriptor
   'known-struct-constructor
   (if (struct-type? struct:known-constructor)
     struct:known-constructor
     (check-struct-type 'struct struct:known-constructor))
   (structure-type-lookup-prefab-uid
    'known-struct-constructor
    (if (struct-type? struct:known-constructor)
      struct:known-constructor
      (check-struct-type 'struct struct:known-constructor))
    1
    0
    #f
    '(0))
   #f
   #f
   '(1 . 1)))
(define effect_3238 (finish_2184 struct:known-struct-constructor))
(define known-struct-constructor
  (|#%name|
   known-struct-constructor
   (record-constructor
    (make-record-constructor-descriptor
     struct:known-struct-constructor
     #f
     #f))))
(define known-struct-constructor?_2705
  (|#%name|
   known-struct-constructor?
   (record-predicate struct:known-struct-constructor)))
(define known-struct-constructor?
  (|#%name|
   known-struct-constructor?
   (lambda (v)
     (if (known-struct-constructor?_2705 v)
       #t
       ($value
        (if (impersonator? v)
          (known-struct-constructor?_2705 (impersonator-val v))
          #f))))))
(define known-struct-constructor-type-id_2882
  (|#%name|
   known-struct-constructor-type-id
   (record-accessor struct:known-struct-constructor 0)))
(define known-struct-constructor-type-id
  (|#%name|
   known-struct-constructor-type-id
   (lambda (s)
     (if (known-struct-constructor?_2705 s)
       (known-struct-constructor-type-id_2882 s)
       ($value
        (impersonate-ref
         known-struct-constructor-type-id_2882
         struct:known-struct-constructor
         0
         s
         'type-id))))))
(define finish_2304
  (make-struct-type-install-properties
   '(known-struct-predicate)
   3
   0
   (if (struct-type? struct:known-predicate)
     struct:known-predicate
     (check-struct-type 'struct struct:known-predicate))
   null
   'prefab
   #f
   '(0 1 2)
   #f
   'known-struct-predicate))
(define struct:known-struct-predicate
  (make-record-type-descriptor
   'known-struct-predicate
   (if (struct-type? struct:known-predicate)
     struct:known-predicate
     (check-struct-type 'struct struct:known-predicate))
   (structure-type-lookup-prefab-uid
    'known-struct-predicate
    (if (struct-type? struct:known-predicate)
      struct:known-predicate
      (check-struct-type 'struct struct:known-predicate))
    3
    0
    #f
    '(0 1 2))
   #f
   #f
   '(3 . 7)))
(define effect_2384 (finish_2304 struct:known-struct-predicate))
(define known-struct-predicate
  (|#%name|
   known-struct-predicate
   (record-constructor
    (make-record-constructor-descriptor struct:known-struct-predicate #f #f))))
(define known-struct-predicate?_2418
  (|#%name|
   known-struct-predicate?
   (record-predicate struct:known-struct-predicate)))
(define known-struct-predicate?
  (|#%name|
   known-struct-predicate?
   (lambda (v)
     (if (known-struct-predicate?_2418 v)
       #t
       ($value
        (if (impersonator? v)
          (known-struct-predicate?_2418 (impersonator-val v))
          #f))))))
(define known-struct-predicate-type-id_2101
  (|#%name|
   known-struct-predicate-type-id
   (record-accessor struct:known-struct-predicate 0)))
(define known-struct-predicate-type-id
  (|#%name|
   known-struct-predicate-type-id
   (lambda (s)
     (if (known-struct-predicate?_2418 s)
       (known-struct-predicate-type-id_2101 s)
       ($value
        (impersonate-ref
         known-struct-predicate-type-id_2101
         struct:known-struct-predicate
         0
         s
         'type-id))))))
(define known-struct-predicate-authentic?_2155
  (|#%name|
   known-struct-predicate-authentic?
   (record-accessor struct:known-struct-predicate 1)))
(define known-struct-predicate-authentic?
  (|#%name|
   known-struct-predicate-authentic?
   (lambda (s)
     (if (known-struct-predicate?_2418 s)
       (known-struct-predicate-authentic?_2155 s)
       ($value
        (impersonate-ref
         known-struct-predicate-authentic?_2155
         struct:known-struct-predicate
         1
         s
         'authentic?))))))
(define known-struct-predicate-sealed?_2251
  (|#%name|
   known-struct-predicate-sealed?
   (record-accessor struct:known-struct-predicate 2)))
(define known-struct-predicate-sealed?
  (|#%name|
   known-struct-predicate-sealed?
   (lambda (s)
     (if (known-struct-predicate?_2418 s)
       (known-struct-predicate-sealed?_2251 s)
       ($value
        (impersonate-ref
         known-struct-predicate-sealed?_2251
         struct:known-struct-predicate
         2
         s
         'sealed?))))))
(define finish_3014
  (make-struct-type-install-properties
   '(known-field-accessor)
   4
   0
   (if (struct-type? struct:known-accessor)
     struct:known-accessor
     (check-struct-type 'struct struct:known-accessor))
   null
   'prefab
   #f
   '(0 1 2 3)
   #f
   'known-field-accessor))
(define struct:known-field-accessor
  (make-record-type-descriptor
   'known-field-accessor
   (if (struct-type? struct:known-accessor)
     struct:known-accessor
     (check-struct-type 'struct struct:known-accessor))
   (structure-type-lookup-prefab-uid
    'known-field-accessor
    (if (struct-type? struct:known-accessor)
      struct:known-accessor
      (check-struct-type 'struct struct:known-accessor))
    4
    0
    #f
    '(0 1 2 3))
   #f
   #f
   '(4 . 15)))
(define effect_2259 (finish_3014 struct:known-field-accessor))
(define known-field-accessor
  (|#%name|
   known-field-accessor
   (record-constructor
    (make-record-constructor-descriptor struct:known-field-accessor #f #f))))
(define known-field-accessor?_2878
  (|#%name|
   known-field-accessor?
   (record-predicate struct:known-field-accessor)))
(define known-field-accessor?
  (|#%name|
   known-field-accessor?
   (lambda (v)
     (if (known-field-accessor?_2878 v)
       #t
       ($value
        (if (impersonator? v)
          (known-field-accessor?_2878 (impersonator-val v))
          #f))))))
(define known-field-accessor-type-id_2744
  (|#%name|
   known-field-accessor-type-id
   (record-accessor struct:known-field-accessor 0)))
(define known-field-accessor-type-id
  (|#%name|
   known-field-accessor-type-id
   (lambda (s)
     (if (known-field-accessor?_2878 s)
       (known-field-accessor-type-id_2744 s)
       ($value
        (impersonate-ref
         known-field-accessor-type-id_2744
         struct:known-field-accessor
         0
         s
         'type-id))))))
(define known-field-accessor-authentic?_2286
  (|#%name|
   known-field-accessor-authentic?
   (record-accessor struct:known-field-accessor 1)))
(define known-field-accessor-authentic?
  (|#%name|
   known-field-accessor-authentic?
   (lambda (s)
     (if (known-field-accessor?_2878 s)
       (known-field-accessor-authentic?_2286 s)
       ($value
        (impersonate-ref
         known-field-accessor-authentic?_2286
         struct:known-field-accessor
         1
         s
         'authentic?))))))
(define known-field-accessor-pos_2482
  (|#%name|
   known-field-accessor-pos
   (record-accessor struct:known-field-accessor 2)))
(define known-field-accessor-pos
  (|#%name|
   known-field-accessor-pos
   (lambda (s)
     (if (known-field-accessor?_2878 s)
       (known-field-accessor-pos_2482 s)
       ($value
        (impersonate-ref
         known-field-accessor-pos_2482
         struct:known-field-accessor
         2
         s
         'pos))))))
(define known-field-accessor-known-immutable?_2377
  (|#%name|
   known-field-accessor-known-immutable?
   (record-accessor struct:known-field-accessor 3)))
(define known-field-accessor-known-immutable?
  (|#%name|
   known-field-accessor-known-immutable?
   (lambda (s)
     (if (known-field-accessor?_2878 s)
       (known-field-accessor-known-immutable?_2377 s)
       ($value
        (impersonate-ref
         known-field-accessor-known-immutable?_2377
         struct:known-field-accessor
         3
         s
         'known-immutable?))))))
(define finish_2908
  (make-struct-type-install-properties
   '(known-field-mutator)
   3
   0
   (if (struct-type? struct:known-mutator)
     struct:known-mutator
     (check-struct-type 'struct struct:known-mutator))
   null
   'prefab
   #f
   '(0 1 2)
   #f
   'known-field-mutator))
(define struct:known-field-mutator
  (make-record-type-descriptor
   'known-field-mutator
   (if (struct-type? struct:known-mutator)
     struct:known-mutator
     (check-struct-type 'struct struct:known-mutator))
   (structure-type-lookup-prefab-uid
    'known-field-mutator
    (if (struct-type? struct:known-mutator)
      struct:known-mutator
      (check-struct-type 'struct struct:known-mutator))
    3
    0
    #f
    '(0 1 2))
   #f
   #f
   '(3 . 7)))
(define effect_2603 (finish_2908 struct:known-field-mutator))
(define known-field-mutator
  (|#%name|
   known-field-mutator
   (record-constructor
    (make-record-constructor-descriptor struct:known-field-mutator #f #f))))
(define known-field-mutator?_2222
  (|#%name|
   known-field-mutator?
   (record-predicate struct:known-field-mutator)))
(define known-field-mutator?
  (|#%name|
   known-field-mutator?
   (lambda (v)
     (if (known-field-mutator?_2222 v)
       #t
       ($value
        (if (impersonator? v)
          (known-field-mutator?_2222 (impersonator-val v))
          #f))))))
(define known-field-mutator-type-id_2433
  (|#%name|
   known-field-mutator-type-id
   (record-accessor struct:known-field-mutator 0)))
(define known-field-mutator-type-id
  (|#%name|
   known-field-mutator-type-id
   (lambda (s)
     (if (known-field-mutator?_2222 s)
       (known-field-mutator-type-id_2433 s)
       ($value
        (impersonate-ref
         known-field-mutator-type-id_2433
         struct:known-field-mutator
         0
         s
         'type-id))))))
(define known-field-mutator-authentic?_2735
  (|#%name|
   known-field-mutator-authentic?
   (record-accessor struct:known-field-mutator 1)))
(define known-field-mutator-authentic?
  (|#%name|
   known-field-mutator-authentic?
   (lambda (s)
     (if (known-field-mutator?_2222 s)
       (known-field-mutator-authentic?_2735 s)
       ($value
        (impersonate-ref
         known-field-mutator-authentic?_2735
         struct:known-field-mutator
         1
         s
         'authentic?))))))
(define known-field-mutator-pos_2749
  (|#%name|
   known-field-mutator-pos
   (record-accessor struct:known-field-mutator 2)))
(define known-field-mutator-pos
  (|#%name|
   known-field-mutator-pos
   (lambda (s)
     (if (known-field-mutator?_2222 s)
       (known-field-mutator-pos_2749 s)
       ($value
        (impersonate-ref
         known-field-mutator-pos_2749
         struct:known-field-mutator
         2
         s
         'pos))))))
(define finish_2543
  (make-struct-type-install-properties
   '(known-struct-constructor/need-imports)
   1
   0
   (if (struct-type? struct:known-struct-constructor)
     struct:known-struct-constructor
     (check-struct-type 'struct struct:known-struct-constructor))
   null
   'prefab
   #f
   '(0)
   #f
   'known-struct-constructor/need-imports))
(define struct:known-struct-constructor/need-imports
  (make-record-type-descriptor
   'known-struct-constructor/need-imports
   (if (struct-type? struct:known-struct-constructor)
     struct:known-struct-constructor
     (check-struct-type 'struct struct:known-struct-constructor))
   (structure-type-lookup-prefab-uid
    'known-struct-constructor/need-imports
    (if (struct-type? struct:known-struct-constructor)
      struct:known-struct-constructor
      (check-struct-type 'struct struct:known-struct-constructor))
    1
    0
    #f
    '(0))
   #f
   #f
   '(1 . 1)))
(define effect_2146 (finish_2543 struct:known-struct-constructor/need-imports))
(define known-struct-constructor/need-imports
  (|#%name|
   known-struct-constructor/need-imports
   (record-constructor
    (make-record-constructor-descriptor
     struct:known-struct-constructor/need-imports
     #f
     #f))))
(define known-struct-constructor/need-imports?_2300
  (|#%name|
   known-struct-constructor/need-imports?
   (record-predicate struct:known-struct-constructor/need-imports)))
(define known-struct-constructor/need-imports?
  (|#%name|
   known-struct-constructor/need-imports?
   (lambda (v)
     (if (known-struct-constructor/need-imports?_2300 v)
       #t
       ($value
        (if (impersonator? v)
          (known-struct-constructor/need-imports?_2300 (impersonator-val v))
          #f))))))
(define known-struct-constructor/need-imports-needed_2757
  (|#%name|
   known-struct-constructor/need-imports-needed
   (record-accessor struct:known-struct-constructor/need-imports 0)))
(define known-struct-constructor/need-imports-needed
  (|#%name|
   known-struct-constructor/need-imports-needed
   (lambda (s)
     (if (known-struct-constructor/need-imports?_2300 s)
       (known-struct-constructor/need-imports-needed_2757 s)
       ($value
        (impersonate-ref
         known-struct-constructor/need-imports-needed_2757
         struct:known-struct-constructor/need-imports
         0
         s
         'needed))))))
(define finish_2626
  (make-struct-type-install-properties
   '(known-struct-predicate/need-imports)
   1
   0
   (if (struct-type? struct:known-struct-predicate)
     struct:known-struct-predicate
     (check-struct-type 'struct struct:known-struct-predicate))
   null
   'prefab
   #f
   '(0)
   #f
   'known-struct-predicate/need-imports))
(define struct:known-struct-predicate/need-imports
  (make-record-type-descriptor
   'known-struct-predicate/need-imports
   (if (struct-type? struct:known-struct-predicate)
     struct:known-struct-predicate
     (check-struct-type 'struct struct:known-struct-predicate))
   (structure-type-lookup-prefab-uid
    'known-struct-predicate/need-imports
    (if (struct-type? struct:known-struct-predicate)
      struct:known-struct-predicate
      (check-struct-type 'struct struct:known-struct-predicate))
    1
    0
    #f
    '(0))
   #f
   #f
   '(1 . 1)))
(define effect_3156 (finish_2626 struct:known-struct-predicate/need-imports))
(define known-struct-predicate/need-imports
  (|#%name|
   known-struct-predicate/need-imports
   (record-constructor
    (make-record-constructor-descriptor
     struct:known-struct-predicate/need-imports
     #f
     #f))))
(define known-struct-predicate/need-imports?_2911
  (|#%name|
   known-struct-predicate/need-imports?
   (record-predicate struct:known-struct-predicate/need-imports)))
(define known-struct-predicate/need-imports?
  (|#%name|
   known-struct-predicate/need-imports?
   (lambda (v)
     (if (known-struct-predicate/need-imports?_2911 v)
       #t
       ($value
        (if (impersonator? v)
          (known-struct-predicate/need-imports?_2911 (impersonator-val v))
          #f))))))
(define known-struct-predicate/need-imports-needed_2072
  (|#%name|
   known-struct-predicate/need-imports-needed
   (record-accessor struct:known-struct-predicate/need-imports 0)))
(define known-struct-predicate/need-imports-needed
  (|#%name|
   known-struct-predicate/need-imports-needed
   (lambda (s)
     (if (known-struct-predicate/need-imports?_2911 s)
       (known-struct-predicate/need-imports-needed_2072 s)
       ($value
        (impersonate-ref
         known-struct-predicate/need-imports-needed_2072
         struct:known-struct-predicate/need-imports
         0
         s
         'needed))))))
(define finish_2444
  (make-struct-type-install-properties
   '(known-field-accessor/need-imports)
   1
   0
   (if (struct-type? struct:known-field-accessor)
     struct:known-field-accessor
     (check-struct-type 'struct struct:known-field-accessor))
   null
   'prefab
   #f
   '(0)
   #f
   'known-field-accessor/need-imports))
(define struct:known-field-accessor/need-imports
  (make-record-type-descriptor
   'known-field-accessor/need-imports
   (if (struct-type? struct:known-field-accessor)
     struct:known-field-accessor
     (check-struct-type 'struct struct:known-field-accessor))
   (structure-type-lookup-prefab-uid
    'known-field-accessor/need-imports
    (if (struct-type? struct:known-field-accessor)
      struct:known-field-accessor
      (check-struct-type 'struct struct:known-field-accessor))
    1
    0
    #f
    '(0))
   #f
   #f
   '(1 . 1)))
(define effect_2513 (finish_2444 struct:known-field-accessor/need-imports))
(define known-field-accessor/need-imports
  (|#%name|
   known-field-accessor/need-imports
   (record-constructor
    (make-record-constructor-descriptor
     struct:known-field-accessor/need-imports
     #f
     #f))))
(define known-field-accessor/need-imports?_2679
  (|#%name|
   known-field-accessor/need-imports?
   (record-predicate struct:known-field-accessor/need-imports)))
(define known-field-accessor/need-imports?
  (|#%name|
   known-field-accessor/need-imports?
   (lambda (v)
     (if (known-field-accessor/need-imports?_2679 v)
       #t
       ($value
        (if (impersonator? v)
          (known-field-accessor/need-imports?_2679 (impersonator-val v))
          #f))))))
(define known-field-accessor/need-imports-needed_2087
  (|#%name|
   known-field-accessor/need-imports-needed
   (record-accessor struct:known-field-accessor/need-imports 0)))
(define known-field-accessor/need-imports-needed
  (|#%name|
   known-field-accessor/need-imports-needed
   (lambda (s)
     (if (known-field-accessor/need-imports?_2679 s)
       (known-field-accessor/need-imports-needed_2087 s)
       ($value
        (impersonate-ref
         known-field-accessor/need-imports-needed_2087
         struct:known-field-accessor/need-imports
         0
         s
         'needed))))))
(define finish_2153
  (make-struct-type-install-properties
   '(known-field-mutator/need-imports)
   1
   0
   (if (struct-type? struct:known-field-mutator)
     struct:known-field-mutator
     (check-struct-type 'struct struct:known-field-mutator))
   null
   'prefab
   #f
   '(0)
   #f
   'known-field-mutator/need-imports))
(define struct:known-field-mutator/need-imports
  (make-record-type-descriptor
   'known-field-mutator/need-imports
   (if (struct-type? struct:known-field-mutator)
     struct:known-field-mutator
     (check-struct-type 'struct struct:known-field-mutator))
   (structure-type-lookup-prefab-uid
    'known-field-mutator/need-imports
    (if (struct-type? struct:known-field-mutator)
      struct:known-field-mutator
      (check-struct-type 'struct struct:known-field-mutator))
    1
    0
    #f
    '(0))
   #f
   #f
   '(1 . 1)))
(define effect_2273 (finish_2153 struct:known-field-mutator/need-imports))
(define known-field-mutator/need-imports
  (|#%name|
   known-field-mutator/need-imports
   (record-constructor
    (make-record-constructor-descriptor
     struct:known-field-mutator/need-imports
     #f
     #f))))
(define known-field-mutator/need-imports?_2495
  (|#%name|
   known-field-mutator/need-imports?
   (record-predicate struct:known-field-mutator/need-imports)))
(define known-field-mutator/need-imports?
  (|#%name|
   known-field-mutator/need-imports?
   (lambda (v)
     (if (known-field-mutator/need-imports?_2495 v)
       #t
       ($value
        (if (impersonator? v)
          (known-field-mutator/need-imports?_2495 (impersonator-val v))
          #f))))))
(define known-field-mutator/need-imports-needed_2344
  (|#%name|
   known-field-mutator/need-imports-needed
   (record-accessor struct:known-field-mutator/need-imports 0)))
(define known-field-mutator/need-imports-needed
  (|#%name|
   known-field-mutator/need-imports-needed
   (lambda (s)
     (if (known-field-mutator/need-imports?_2495 s)
       (known-field-mutator/need-imports-needed_2344 s)
       ($value
        (impersonate-ref
         known-field-mutator/need-imports-needed_2344
         struct:known-field-mutator/need-imports
         0
         s
         'needed))))))
(define finish_2492
  (make-struct-type-install-properties
   '(known-struct-type-property/immediate-guard)
   0
   0
   #f
   null
   'prefab
   #f
   '()
   #f
   'known-struct-type-property/immediate-guard))
(define struct:known-struct-type-property/immediate-guard
  (make-record-type-descriptor
   'known-struct-type-property/immediate-guard
   #f
   (structure-type-lookup-prefab-uid
    'known-struct-type-property/immediate-guard
    #f
    0
    0
    #f
    '())
   #f
   #f
   '(0 . 0)))
(define effect_2294
  (finish_2492 struct:known-struct-type-property/immediate-guard))
(define known-struct-type-property/immediate-guard
  (|#%name|
   known-struct-type-property/immediate-guard
   (record-constructor
    (make-record-constructor-descriptor
     struct:known-struct-type-property/immediate-guard
     #f
     #f))))
(define known-struct-type-property/immediate-guard?_2536
  (|#%name|
   known-struct-type-property/immediate-guard?
   (record-predicate struct:known-struct-type-property/immediate-guard)))
(define known-struct-type-property/immediate-guard?
  (|#%name|
   known-struct-type-property/immediate-guard?
   (lambda (v)
     (if (known-struct-type-property/immediate-guard?_2536 v)
       #t
       ($value
        (if (impersonator? v)
          (known-struct-type-property/immediate-guard?_2536
           (impersonator-val v))
          #f))))))
(define a-known-constant (known-constant))
(define a-known-consistent (known-consistent))
(define gensym-counter (make-parameter #f))
(define deterministic-gensym
  (lambda (prefix_0)
    (let ((b_0 (gensym-counter)))
      (begin
        (if b_0
          (void)
          (error
           'deterministic-gensym
           "not in `call-with-deterministic-gensym`"))
        (set-box! b_0 (add1 (unbox b_0)))
        (string->uninterned-symbol
         (let ((app_0
                (if (string? prefix_0) prefix_0 (symbol->string prefix_0))))
           (string-append app_0 (number->string (unbox b_0)))))))))
(define finish_2868
  (make-struct-type-install-properties
   '(import)
   4
   0
   #f
   (list (cons prop:authentic #t))
   (current-inspector)
   #f
   '(0 1 2 3)
   #f
   'import))
(define struct:import
  (make-record-type-descriptor
   'import
   #f
   (|#%nongenerative-uid| import)
   #f
   #f
   '(4 . 0)))
(define effect_2192 (finish_2868 struct:import))
(define import1.1
  (|#%name|
   import
   (record-constructor
    (make-record-constructor-descriptor struct:import #f #f))))
(define import? (|#%name| import? (record-predicate struct:import)))
(define import-grp (|#%name| import-grp (record-accessor struct:import 0)))
(define import-id (|#%name| import-id (record-accessor struct:import 1)))
(define import-int-id
  (|#%name| import-int-id (record-accessor struct:import 2)))
(define import-ext-id
  (|#%name| import-ext-id (record-accessor struct:import 3)))
(define finish_2201
  (make-struct-type-install-properties
   '(import-group)
   6
   0
   #f
   (list (cons prop:authentic #t))
   (current-inspector)
   #f
   '(0 1)
   #f
   'import-group))
(define struct:import-group
  (make-record-type-descriptor
   'import-group
   #f
   (|#%nongenerative-uid| import-group)
   #f
   #f
   '(6 . 60)))
(define effect_2739 (finish_2201 struct:import-group))
(define import-group2.1
  (|#%name|
   import-group
   (record-constructor
    (make-record-constructor-descriptor struct:import-group #f #f))))
(define import-group?
  (|#%name| import-group? (record-predicate struct:import-group)))
(define import-group-index
  (|#%name| import-group-index (record-accessor struct:import-group 0)))
(define import-group-key
  (|#%name| import-group-key (record-accessor struct:import-group 1)))
(define import-group-knowns/proc
  (|#%name| import-group-knowns/proc (record-accessor struct:import-group 2)))
(define import-group-converter
  (|#%name| import-group-converter (record-accessor struct:import-group 3)))
(define import-group-import-keys
  (|#%name| import-group-import-keys (record-accessor struct:import-group 4)))
(define import-group-imports
  (|#%name| import-group-imports (record-accessor struct:import-group 5)))
(define set-import-group-knowns/proc!
  (|#%name|
   set-import-group-knowns/proc!
   (record-mutator struct:import-group 2)))
(define set-import-group-converter!
  (|#%name|
   set-import-group-converter!
   (record-mutator struct:import-group 3)))
(define set-import-group-import-keys!
  (|#%name|
   set-import-group-import-keys!
   (record-mutator struct:import-group 4)))
(define set-import-group-imports!
  (|#%name| set-import-group-imports! (record-mutator struct:import-group 5)))
(define import-group-knowns
  (lambda (grp_0)
    (let ((knowns/proc_0 (import-group-knowns/proc grp_0)))
      (if (procedure? knowns/proc_0)
        (call-with-values
         (lambda () (|#%app| knowns/proc_0 (import-group-key grp_0)))
         (lambda (knowns_0 converter_0 import-keys_0)
           (let ((knowns-or-empty_0 (if knowns_0 knowns_0 (hasheq))))
             (begin
               (set-import-group-knowns/proc! grp_0 knowns-or-empty_0)
               (set-import-group-converter! grp_0 converter_0)
               (set-import-group-import-keys! grp_0 import-keys_0)
               knowns-or-empty_0))))
        knowns/proc_0))))
(define import-group-lookup-ready?
  (lambda (grp_0)
    (let ((knowns/proc_0 (import-group-knowns/proc grp_0)))
      (not (procedure? knowns/proc_0)))))
(define import-group-lookup
  (lambda (g_0 id_0)
    (let ((v_0 (hash-ref (import-group-knowns g_0) id_0 #f)))
      (if v_0
        (let ((converter_0 (import-group-converter g_0)))
          (if converter_0 (|#%app| converter_0 v_0) v_0))
        v_0))))
(define import-lookup
  (lambda (im_0) (import-group-lookup (import-grp im_0) (import-ext-id im_0))))
(define hash-ref-either
  (lambda (knowns_0 imports_0 key_0)
    (let ((or-part_0 (hash-ref knowns_0 key_0 #f)))
      (if or-part_0
        or-part_0
        (let ((im_0 (hash-ref imports_0 key_0 #f)))
          (if im_0 (import-lookup im_0) #f))))))
(define make-add-import!
  (lambda (imports_0 grps_0 get-import-knowns_0 add-group!_0)
    (let ((next-index_0 (length grps_0)))
      (lambda (im_0 ext-id_0 index_0)
        (let ((grp_0 (import-grp im_0)))
          (if index_0
            (begin
              (import-group-knowns grp_0)
              (let ((import-keys_0 (import-group-import-keys grp_0)))
                (let ((key_0
                       (if import-keys_0
                         (vector-ref import-keys_0 index_0)
                         #f)))
                  (if key_0
                    (let ((from-grp_0
                           (find-or-add-import-group!
                            grps_0
                            key_0
                            get-import-knowns_0
                            add-group!_0
                            next-index_0
                            (lambda ()
                              (set! next-index_0 (add1 next-index_0))))))
                      (if from-grp_0
                        (find-or-add-import-from-group!
                         from-grp_0
                         ext-id_0
                         imports_0)
                        #f))
                    #f))))
            (find-or-add-import-from-group! grp_0 ext-id_0 imports_0)))))))
(define find-or-add-import-from-group!
  (lambda (grp_0 ext-id_0 imports_0)
    (let ((or-part_0
           (let ((lst_0 (import-group-imports grp_0)))
             (letrec*
              ((for-loop_0
                (|#%name|
                 for-loop
                 (lambda (result_0 lst_1)
                   (if (pair? lst_1)
                     (let ((im_0 (unsafe-car lst_1)))
                       (let ((rest_0 (unsafe-cdr lst_1)))
                         (let ((result_1
                                (let ((result_1
                                       (if (eq? ext-id_0 (import-ext-id im_0))
                                         (import-int-id im_0)
                                         #f)))
                                  (values result_1))))
                           (if (if (not (let ((x_0 (list im_0))) result_1))
                                 #t
                                 #f)
                             (for-loop_0 result_1 rest_0)
                             result_1))))
                     result_0)))))
              (for-loop_0 #f lst_0)))))
      (if or-part_0
        or-part_0
        (let ((id_0 (deterministic-gensym ext-id_0)))
          (let ((int-id_0 (deterministic-gensym ext-id_0)))
            (let ((id_1 id_0))
              (let ((im_0 (import1.1 grp_0 id_1 int-id_0 ext-id_0)))
                (begin
                  (set-import-group-imports!
                   grp_0
                   (cons im_0 (import-group-imports grp_0)))
                  (hash-set! imports_0 int-id_0 im_0)
                  int-id_0)))))))))
(define find-or-add-import-group!
  (lambda (grps_0
           key_0
           get-import-knowns_0
           add-group!_0
           next-index_0
           inc-index!_0)
    (let ((or-part_0
           (letrec*
            ((for-loop_0
              (|#%name|
               for-loop
               (lambda (result_0 lst_0)
                 (if (pair? lst_0)
                   (let ((grp_0 (unsafe-car lst_0)))
                     (let ((rest_0 (unsafe-cdr lst_0)))
                       (let ((result_1
                              (let ((result_1
                                     (if (eq? key_0 (import-group-key grp_0))
                                       grp_0
                                       #f)))
                                (values result_1))))
                         (if (if (not (let ((x_0 (list grp_0))) result_1))
                               #t
                               #f)
                           (for-loop_0 result_1 rest_0)
                           result_1))))
                   result_0)))))
            (for-loop_0 #f grps_0))))
      (if or-part_0
        or-part_0
        (let ((grp_0
               (import-group2.1
                next-index_0
                key_0
                get-import-knowns_0
                #f
                #f
                '())))
          (begin
            (|#%app| inc-index!_0)
            (|#%app| add-group!_0 grp_0)
            grp_0))))))
(define finish_2670
  (make-struct-type-install-properties
   '(export)
   2
   0
   #f
   (list (cons prop:authentic #t))
   (current-inspector)
   #f
   '(0 1)
   #f
   'export))
(define struct:export
  (make-record-type-descriptor
   'export
   #f
   (|#%nongenerative-uid| export)
   #f
   #f
   '(2 . 0)))
(define effect_2782 (finish_2670 struct:export))
(define export1.1
  (|#%name|
   export
   (record-constructor
    (make-record-constructor-descriptor struct:export #f #f))))
(define export? (|#%name| export? (record-predicate struct:export)))
(define export-id (|#%name| export-id (record-accessor struct:export 0)))
(define export-ext-id
  (|#%name| export-ext-id (record-accessor struct:export 1)))
(define finish_2581
  (make-struct-type-install-properties
   '(export-like)
   3
   0
   struct:export
   (list (cons prop:authentic #t))
   (current-inspector)
   #f
   '(0 1)
   #f
   'export-like))
(define struct:export-like
  (make-record-type-descriptor
   'export-like
   struct:export
   (|#%nongenerative-uid| export-like)
   #f
   #f
   '(3 . 4)))
(define effect_2157 (finish_2581 struct:export-like))
(define export-like2.1
  (|#%name|
   export-like
   (record-constructor
    (make-record-constructor-descriptor struct:export-like #f #f))))
(define export-like?
  (|#%name| export-like? (record-predicate struct:export-like)))
(define export-like-id
  (|#%name| export-like-id (record-accessor struct:export-like 0)))
(define export-like-ext-id
  (|#%name| export-like-ext-id (record-accessor struct:export-like 1)))
(define export-like-referenced?
  (|#%name| export-like-referenced? (record-accessor struct:export-like 2)))
(define set-export-like-referenced?!
  (|#%name|
   set-export-like-referenced?!
   (record-mutator struct:export-like 2)))
(define check-fxvector
  (lambda (v_0)
    (if (fxvector? v_0)
      (void)
      (1/raise-argument-error
       'in-fxvector*
       (string-append "fxvector" "?")
       v_0))))
(define not-an-fX.1$1
  (|#%name|
   not-an-fX
   (lambda (who_0 v_0) (raise-argument-error who_0 "fixnum?" v_0))))
(define finish_2648
  (make-struct-type-install-properties
   '(too-early)
   2
   0
   #f
   (list (cons prop:authentic #t))
   (current-inspector)
   #f
   '(0 1)
   #f
   'too-early))
(define struct:too-early
  (make-record-type-descriptor
   'too-early
   #f
   (|#%nongenerative-uid| too-early)
   #f
   #f
   '(2 . 0)))
(define effect_2833 (finish_2648 struct:too-early))
(define too-early1.1
  (|#%name|
   too-early
   (record-constructor
    (make-record-constructor-descriptor struct:too-early #f #f))))
(define too-early? (|#%name| too-early? (record-predicate struct:too-early)))
(define too-early-name
  (|#%name| too-early-name (record-accessor struct:too-early 0)))
(define too-early-set!ed?
  (|#%name| too-early-set!ed? (record-accessor struct:too-early 1)))
(define delayed-mutated-state? (lambda (v_0) (procedure? v_0)))
(define simple-mutated-state?
  (lambda (v_0)
    (let ((or-part_0 (not v_0)))
      (if or-part_0
        or-part_0
        (let ((or-part_1 (procedure? v_0)))
          (if or-part_1 or-part_1 (eq? v_0 'too-early/ready)))))))
(define not-ready-mutated-state? (lambda (v_0) (eq? v_0 'not-ready)))
(define too-early-mutated-state?
  (lambda (v_0)
    (let ((or-part_0 (eq? v_0 'too-early)))
      (if or-part_0
        or-part_0
        (let ((or-part_1 (eq? v_0 'set!ed-too-early)))
          (if or-part_1
            or-part_1
            (let ((or-part_2 (eq? v_0 'undefined)))
              (if or-part_2 or-part_2 (too-early? v_0)))))))))
(define too-early-mutated-state-name
  (lambda (v_0 default-sym_0)
    (if (too-early? v_0) (too-early-name v_0) default-sym_0)))
(define needs-letrec-convert-mutated-state?
  (lambda (v_0)
    (let ((or-part_0 (too-early? v_0)))
      (if or-part_0
        or-part_0
        (let ((or-part_1 (eq? v_0 'too-early)))
          (if or-part_1
            or-part_1
            (let ((or-part_2 (eq? v_0 'too-early/ready)))
              (if or-part_2 or-part_2 (eq? v_0 'implicitly-set!ed)))))))))
(define via-variable-mutated-state?
  (lambda (v_0)
    (let ((or-part_0 (eq? v_0 'set!ed)))
      (if or-part_0
        or-part_0
        (let ((or-part_1 (eq? v_0 'undefined)))
          (if or-part_1
            or-part_1
            (let ((or-part_2 (eq? v_0 'too-early)))
              (if or-part_2 or-part_2 (eq? v_0 'set!ed-too-early)))))))))
(define set!ed-mutated-state?
  (lambda (v_0)
    (let ((or-part_0 (eq? v_0 'set!ed)))
      (if or-part_0
        or-part_0
        (let ((or-part_1 (eq? v_0 'set!ed-too-early)))
          (if or-part_1
            or-part_1
            (if (too-early? v_0) (too-early-set!ed? v_0) #f)))))))
(define state->set!ed-state
  (lambda (v_0)
    (if (too-early? v_0)
      (if (too-early? v_0)
        (too-early1.1 (too-early-name v_0) #t)
        (raise-argument-error 'struct-copy "too-early?" v_0))
      (if (eq? v_0 'not-ready)
        'set!ed-too-early
        (if (too-early-mutated-state? v_0)
          'set!ed-too-early
          (if (eq? v_0 'implicitly-set!ed) v_0 'set!ed))))))
(define simple?.1
  (|#%name|
   simple?
   (lambda (no-alloc?2_0
            ordered?3_0
            pure?1_0
            result-arity5_0
            succeeds?4_0
            e11_0
            prim-knowns12_0
            knowns13_0
            imports14_0
            mutated15_0
            simples16_0
            unsafe-mode?17_0)
     (letrec*
      ((simple?_0
        (|#%name|
         simple?
         (lambda (e_0 result-arity_0)
           (let ((returns_0
                  (|#%name|
                   returns
                   (lambda (n_0)
                     (let ((or-part_0 (not result-arity_0)))
                       (if or-part_0 or-part_0 (eqv? n_0 result-arity_0)))))))
             (let ((simple-begin?_0
                    (|#%name|
                     simple-begin?
                     (lambda (es_0)
                       (let ((c_0 (hash-ref simples16_0 e_0 '#(0 0 1))))
                         (let ((AT_0
                                (|#%name|
                                 AT
                                 (lambda (x_0) (unsafe-fxlshift 1 x_0)))))
                           (let ((bit_0
                                  (if pure?1_0
                                    (if no-alloc?2_0
                                      (if ordered?3_0 (if succeeds?4_0 1 2) 4)
                                      (if ordered?3_0
                                        (if succeeds?4_0 8 16)
                                        32))
                                    64)))
                             (let ((r_0
                                    (if (fx=
                                         bit_0
                                         (fxand (vector-ref c_0 0) bit_0))
                                      #t
                                      (if (fx=
                                           bit_0
                                           (fxand (vector-ref c_0 1) bit_0))
                                        #f
                                        'unknown))))
                               (let ((arity-match?_0
                                      (eqv?
                                       result-arity_0
                                       (vector-ref c_0 2))))
                                 (if (let ((or-part_0 (eq? 'unknown r_0)))
                                       (if or-part_0
                                         or-part_0
                                         (not arity-match?_0)))
                                   (let ((r_1
                                          (letrec*
                                           ((loop_0
                                             (|#%name|
                                              loop
                                              (lambda (es_1)
                                                (if (null? (cdr es_1))
                                                  (simple?_0
                                                   (car es_1)
                                                   result-arity_0)
                                                  (if (simple?_0 (car es_1) #f)
                                                    (loop_0 (cdr es_1))
                                                    #f))))))
                                           (loop_0 es_0))))
                                     (begin
                                       (hash-set!
                                        simples16_0
                                        e_0
                                        (let ((app_0
                                               (if r_1
                                                 (fxior
                                                  (vector-ref c_0 0)
                                                  bit_0)
                                                 (vector-ref c_0 0))))
                                          (let ((app_1
                                                 (if r_1
                                                   (vector-ref c_0 1)
                                                   (fxior
                                                    (vector-ref c_0 1)
                                                    bit_0))))
                                            (vector
                                             app_0
                                             app_1
                                             (vector-ref c_0 2)))))
                                       r_1))
                                   r_0))))))))))
               (let ((ok-to-call?_0
                      (|#%name|
                       ok-to-call?
                       (lambda (proc-name_0 v_0 n-args_0)
                         (if pure?1_0
                           (if (let ((or-part_0
                                      (if no-alloc?2_0
                                        (known-procedure/pure? v_0)
                                        (let ((or-part_0
                                               (known-procedure/allocates?
                                                v_0)))
                                          (if or-part_0
                                            or-part_0
                                            (if n-args_0
                                              (if (let ((or-part_1
                                                         (eq?
                                                          proc-name_0
                                                          'hasheq)))
                                                    (if or-part_1
                                                      or-part_1
                                                      (eq?
                                                       proc-name_0
                                                       'hasheqv)))
                                                (even? n-args_0)
                                                #f)
                                              #f))))))
                                 (if or-part_0
                                   or-part_0
                                   (if ordered?3_0
                                     (let ((or-part_1
                                            (known-procedure/then-pure? v_0)))
                                       (if or-part_1
                                         or-part_1
                                         (let ((or-part_2
                                                (if succeeds?4_0
                                                  (if (eqv? n-args_0 0)
                                                    (known-procedure/parameter?
                                                     v_0)
                                                    #f)
                                                  #f)))
                                           (if or-part_2
                                             or-part_2
                                             (if unsafe-mode?17_0
                                               (if (known-field-accessor? v_0)
                                                 (if (known-field-accessor-authentic?
                                                      v_0)
                                                   (known-field-accessor-known-immutable?
                                                    v_0)
                                                   #f)
                                                 #f)
                                               #f)))))
                                     #f)))
                             (returns_0 1)
                             #f)
                           (let ((or-part_0
                                  (if (known-procedure/no-prompt? v_0)
                                    (returns_0 1)
                                    #f)))
                             (if or-part_0
                               or-part_0
                               (let ((or-part_1
                                      (if (eqv? n-args_0 0)
                                        (if (known-procedure/parameter? v_0)
                                          (returns_0 1)
                                          #f)
                                        #f)))
                                 (if or-part_1
                                   or-part_1
                                   (let ((or-part_2
                                          (if (known-procedure/no-prompt/multi?
                                               v_0)
                                            (eqv? result-arity_0 #f)
                                            #f)))
                                     (if or-part_2
                                       or-part_2
                                       (let ((or-part_3
                                              (if (known-field-accessor? v_0)
                                                (if (known-field-accessor-authentic?
                                                     v_0)
                                                  (returns_0 1)
                                                  #f)
                                                #f)))
                                         (if or-part_3
                                           or-part_3
                                           (let ((or-part_4
                                                  (if (known-field-mutator?
                                                       v_0)
                                                    (if (known-field-mutator-authentic?
                                                         v_0)
                                                      (returns_0 1)
                                                      #f)
                                                    #f)))
                                             (if or-part_4
                                               or-part_4
                                               (if (known-procedure/no-prompt-up-to?
                                                    v_0)
                                                 (if n-args_0
                                                   (if (<=
                                                        n-args_0
                                                        (known-procedure/no-prompt-up-to-n
                                                         v_0))
                                                     (returns_0 1)
                                                     #f)
                                                   #f)
                                                 #f))))))))))))))))
                 (let ((hd_0
                        (let ((p_0 (unwrap e_0)))
                          (if (pair? p_0) (unwrap (car p_0)) #f))))
                   (if (if (eq? 'lambda hd_0) #t #f)
                     (returns_0 1)
                     (if (if (eq? 'case-lambda hd_0) #t #f)
                       (returns_0 1)
                       (if (if (eq? 'quote hd_0) #t #f)
                         (returns_0 1)
                         (if (if (eq? '|#%variable-reference| hd_0) #t #f)
                           (returns_0 1)
                           (if (if (eq? '|#%foreign-inline| hd_0)
                                 (let ((a_0 (cdr (unwrap e_0))))
                                   (let ((p_0 (unwrap a_0)))
                                     (if (pair? p_0)
                                       (let ((a_1 (cdr p_0)))
                                         (let ((p_1 (unwrap a_1)))
                                           (if (pair? p_1)
                                             (let ((a_2 (cdr p_1)))
                                               (let ((app_0 (unwrap '())))
                                                 (eq? app_0 (unwrap a_2))))
                                             #f)))
                                       #f)))
                                 #f)
                             (let ((mode_0
                                    (let ((d_0 (cdr (unwrap e_0))))
                                      (let ((d_1 (cdr (unwrap d_0))))
                                        (let ((a_0 (car (unwrap d_1))))
                                          a_0)))))
                               (if (if (if (eq? mode_0 'copy)
                                         #t
                                         (eq? mode_0 'copy*))
                                     #t
                                     (if (if (eq? mode_0 'pure)
                                           #t
                                           (eq? mode_0 'pure*))
                                       (not no-alloc?2_0)
                                       (not
                                        (if pure?1_0 pure?1_0 no-alloc?2_0))))
                                 (returns_0 1)
                                 #f))
                             (if (if (eq? 'let-values hd_0)
                                   (let ((a_0 (cdr (unwrap e_0))))
                                     (let ((p_0 (unwrap a_0)))
                                       (if (pair? p_0)
                                         (if (let ((a_1 (car p_0)))
                                               (if (wrap-list? a_1)
                                                 (letrec*
                                                  ((for-loop_0
                                                    (|#%name|
                                                     for-loop
                                                     (lambda (result_0 lst_0)
                                                       (if (not
                                                            (null?
                                                             (unwrap lst_0)))
                                                         (let ((v_0
                                                                (if (pair?
                                                                     (unwrap
                                                                      lst_0))
                                                                  (wrap-car
                                                                   lst_0)
                                                                  lst_0)))
                                                           (let ((rest_0
                                                                  (if (pair?
                                                                       (unwrap
                                                                        lst_0))
                                                                    (wrap-cdr
                                                                     lst_0)
                                                                    null)))
                                                             (let ((v_1 v_0))
                                                               (let ((result_1
                                                                      (let ((result_1
                                                                             (let ((p_1
                                                                                    (unwrap
                                                                                     v_1)))
                                                                               (if (pair?
                                                                                    p_1)
                                                                                 (let ((a_2
                                                                                        (cdr
                                                                                         p_1)))
                                                                                   (let ((p_2
                                                                                          (unwrap
                                                                                           a_2)))
                                                                                     (if (pair?
                                                                                          p_2)
                                                                                       (let ((a_3
                                                                                              (cdr
                                                                                               p_2)))
                                                                                         (let ((app_0
                                                                                                (unwrap
                                                                                                 '())))
                                                                                           (eq?
                                                                                            app_0
                                                                                            (unwrap
                                                                                             a_3))))
                                                                                       #f)))
                                                                                 #f))))
                                                                        (values
                                                                         result_1))))
                                                                 (if (if (not
                                                                          (let ((x_0
                                                                                 (list
                                                                                  v_1)))
                                                                            (not
                                                                             result_1)))
                                                                       #t
                                                                       #f)
                                                                   (for-loop_0
                                                                    result_1
                                                                    rest_0)
                                                                   result_1)))))
                                                         result_0)))))
                                                  (for-loop_0 #t a_1))
                                                 #f))
                                           (let ((a_1 (cdr p_0)))
                                             (let ((p_1 (unwrap a_1)))
                                               (if (pair? p_1)
                                                 (let ((a_2 (cdr p_1)))
                                                   (let ((app_0 (unwrap '())))
                                                     (eq? app_0 (unwrap a_2))))
                                                 #f)))
                                           #f)
                                         #f)))
                                   #f)
                               (call-with-values
                                (lambda ()
                                  (let ((d_0 (cdr (unwrap e_0))))
                                    (let ((p_0 (unwrap d_0)))
                                      (call-with-values
                                       (lambda ()
                                         (let ((a_0 (car p_0)))
                                           (call-with-values
                                            (lambda ()
                                              (letrec*
                                               ((for-loop_0
                                                 (|#%name|
                                                  for-loop
                                                  (lambda (idss_0 rhss_0 lst_0)
                                                    (if (not
                                                         (null?
                                                          (unwrap lst_0)))
                                                      (let ((v_0
                                                             (if (pair?
                                                                  (unwrap
                                                                   lst_0))
                                                               (wrap-car lst_0)
                                                               lst_0)))
                                                        (let ((rest_0
                                                               (if (pair?
                                                                    (unwrap
                                                                     lst_0))
                                                                 (wrap-cdr
                                                                  lst_0)
                                                                 null)))
                                                          (let ((v_1 v_0))
                                                            (call-with-values
                                                             (lambda ()
                                                               (call-with-values
                                                                (lambda ()
                                                                  (call-with-values
                                                                   (lambda ()
                                                                     (let ((p_1
                                                                            (unwrap
                                                                             v_1)))
                                                                       (let ((idss_1
                                                                              (let ((a_1
                                                                                     (car
                                                                                      p_1)))
                                                                                a_1)))
                                                                         (let ((rhss_1
                                                                                (let ((d_1
                                                                                       (cdr
                                                                                        p_1)))
                                                                                  (let ((a_1
                                                                                         (car
                                                                                          (unwrap
                                                                                           d_1))))
                                                                                    a_1))))
                                                                           (let ((idss_2
                                                                                  idss_1))
                                                                             (values
                                                                              idss_2
                                                                              rhss_1))))))
                                                                   (lambda (idss19_0
                                                                            rhss20_0)
                                                                     (values
                                                                      (cons
                                                                       idss19_0
                                                                       idss_0)
                                                                      (cons
                                                                       rhss20_0
                                                                       rhss_0)))))
                                                                (lambda (idss_1
                                                                         rhss_1)
                                                                  (values
                                                                   idss_1
                                                                   rhss_1))))
                                                             (lambda (idss_1
                                                                      rhss_1)
                                                               (for-loop_0
                                                                idss_1
                                                                rhss_1
                                                                rest_0))))))
                                                      (values
                                                       idss_0
                                                       rhss_0))))))
                                               (for-loop_0 null null a_0)))
                                            (lambda (idss_0 rhss_0)
                                              (let ((app_0 (reverse$1 idss_0)))
                                                (values
                                                 app_0
                                                 (reverse$1 rhss_0)))))))
                                       (lambda (idss_0 rhss_0)
                                         (let ((body_0
                                                (let ((d_1 (cdr p_0)))
                                                  (let ((a_0
                                                         (car (unwrap d_1))))
                                                    a_0))))
                                           (let ((idss_1 idss_0)
                                                 (rhss_1 rhss_0))
                                             (values
                                              idss_1
                                              rhss_1
                                              body_0))))))))
                                (lambda (idss_0 rhss_0 body_0)
                                  (let ((c_0
                                         (hash-ref simples16_0 e_0 '#(0 0 1))))
                                    (let ((AT_0
                                           (|#%name|
                                            AT
                                            (lambda (x_0)
                                              (unsafe-fxlshift 1 x_0)))))
                                      (let ((bit_0
                                             (if pure?1_0
                                               (if no-alloc?2_0
                                                 (if ordered?3_0
                                                   (if succeeds?4_0 1 2)
                                                   4)
                                                 (if ordered?3_0
                                                   (if succeeds?4_0 8 16)
                                                   32))
                                               64)))
                                        (let ((r_0
                                               (if (fx=
                                                    bit_0
                                                    (fxand
                                                     (vector-ref c_0 0)
                                                     bit_0))
                                                 #t
                                                 (if (fx=
                                                      bit_0
                                                      (fxand
                                                       (vector-ref c_0 1)
                                                       bit_0))
                                                   #f
                                                   'unknown))))
                                          (let ((arity-match?_0
                                                 (eqv?
                                                  result-arity_0
                                                  (vector-ref c_0 2))))
                                            (if (let ((or-part_0
                                                       (eq? 'unknown r_0)))
                                                  (if or-part_0
                                                    or-part_0
                                                    (not arity-match?_0)))
                                              (let ((r_1
                                                     (if (letrec*
                                                          ((for-loop_0
                                                            (|#%name|
                                                             for-loop
                                                             (lambda (result_0
                                                                      lst_0
                                                                      lst_1)
                                                               (if (if (pair?
                                                                        lst_0)
                                                                     (pair?
                                                                      lst_1)
                                                                     #f)
                                                                 (let ((ids_0
                                                                        (unsafe-car
                                                                         lst_0)))
                                                                   (let ((rest_0
                                                                          (unsafe-cdr
                                                                           lst_0)))
                                                                     (let ((rhs_0
                                                                            (unsafe-car
                                                                             lst_1)))
                                                                       (let ((rest_1
                                                                              (unsafe-cdr
                                                                               lst_1)))
                                                                         (let ((result_1
                                                                                (let ((result_1
                                                                                       (simple?_0
                                                                                        rhs_0
                                                                                        (length
                                                                                         ids_0))))
                                                                                  (values
                                                                                   result_1))))
                                                                           (if (if (not
                                                                                    (let ((x_0
                                                                                           (list
                                                                                            ids_0)))
                                                                                      (not
                                                                                       result_1)))
                                                                                 (if (not
                                                                                      (let ((x_0
                                                                                             (list
                                                                                              rhs_0)))
                                                                                        (not
                                                                                         result_1)))
                                                                                   #t
                                                                                   #f)
                                                                                 #f)
                                                                             (for-loop_0
                                                                              result_1
                                                                              rest_0
                                                                              rest_1)
                                                                             result_1))))))
                                                                 result_0)))))
                                                          (for-loop_0
                                                           #t
                                                           idss_0
                                                           rhss_0))
                                                       (simple?_0
                                                        body_0
                                                        result-arity_0)
                                                       #f)))
                                                (begin
                                                  (hash-set!
                                                   simples16_0
                                                   e_0
                                                   (let ((app_0
                                                          (if r_1
                                                            (fxior
                                                             (vector-ref c_0 0)
                                                             bit_0)
                                                            (vector-ref
                                                             c_0
                                                             0))))
                                                     (let ((app_1
                                                            (if r_1
                                                              (vector-ref
                                                               c_0
                                                               1)
                                                              (fxior
                                                               (vector-ref
                                                                c_0
                                                                1)
                                                               bit_0))))
                                                       (vector
                                                        app_0
                                                        app_1
                                                        (vector-ref c_0 2)))))
                                                  r_1))
                                              r_0))))))))
                               (if (if (eq? 'let hd_0)
                                     (let ((a_0 (cdr (unwrap e_0))))
                                       (let ((p_0 (unwrap a_0)))
                                         (if (pair? p_0)
                                           (if (let ((a_1 (car p_0)))
                                                 (if (wrap-list? a_1)
                                                   (letrec*
                                                    ((for-loop_0
                                                      (|#%name|
                                                       for-loop
                                                       (lambda (result_0 lst_0)
                                                         (if (not
                                                              (null?
                                                               (unwrap lst_0)))
                                                           (let ((v_0
                                                                  (if (pair?
                                                                       (unwrap
                                                                        lst_0))
                                                                    (wrap-car
                                                                     lst_0)
                                                                    lst_0)))
                                                             (let ((rest_0
                                                                    (if (pair?
                                                                         (unwrap
                                                                          lst_0))
                                                                      (wrap-cdr
                                                                       lst_0)
                                                                      null)))
                                                               (let ((v_1 v_0))
                                                                 (let ((result_1
                                                                        (let ((result_1
                                                                               (let ((p_1
                                                                                      (unwrap
                                                                                       v_1)))
                                                                                 (if (pair?
                                                                                      p_1)
                                                                                   (let ((a_2
                                                                                          (cdr
                                                                                           p_1)))
                                                                                     (let ((p_2
                                                                                            (unwrap
                                                                                             a_2)))
                                                                                       (if (pair?
                                                                                            p_2)
                                                                                         (let ((a_3
                                                                                                (cdr
                                                                                                 p_2)))
                                                                                           (let ((app_0
                                                                                                  (unwrap
                                                                                                   '())))
                                                                                             (eq?
                                                                                              app_0
                                                                                              (unwrap
                                                                                               a_3))))
                                                                                         #f)))
                                                                                   #f))))
                                                                          (values
                                                                           result_1))))
                                                                   (if (if (not
                                                                            (let ((x_0
                                                                                   (list
                                                                                    v_1)))
                                                                              (not
                                                                               result_1)))
                                                                         #t
                                                                         #f)
                                                                     (for-loop_0
                                                                      result_1
                                                                      rest_0)
                                                                     result_1)))))
                                                           result_0)))))
                                                    (for-loop_0 #t a_1))
                                                   #f))
                                             (let ((a_1 (cdr p_0)))
                                               (let ((p_1 (unwrap a_1)))
                                                 (if (pair? p_1)
                                                   (let ((a_2 (cdr p_1)))
                                                     (let ((app_0
                                                            (unwrap '())))
                                                       (eq?
                                                        app_0
                                                        (unwrap a_2))))
                                                   #f)))
                                             #f)
                                           #f)))
                                     #f)
                                 (call-with-values
                                  (lambda ()
                                    (let ((d_0 (cdr (unwrap e_0))))
                                      (let ((p_0 (unwrap d_0)))
                                        (let ((rhss_0
                                               (let ((a_0 (car p_0)))
                                                 (let ((rhss_0
                                                        (letrec*
                                                         ((for-loop_0
                                                           (|#%name|
                                                            for-loop
                                                            (lambda (rhss_0
                                                                     lst_0)
                                                              (if (not
                                                                   (null?
                                                                    (unwrap
                                                                     lst_0)))
                                                                (let ((v_0
                                                                       (if (pair?
                                                                            (unwrap
                                                                             lst_0))
                                                                         (wrap-car
                                                                          lst_0)
                                                                         lst_0)))
                                                                  (let ((rest_0
                                                                         (if (pair?
                                                                              (unwrap
                                                                               lst_0))
                                                                           (wrap-cdr
                                                                            lst_0)
                                                                           null)))
                                                                    (let ((v_1
                                                                           v_0))
                                                                      (let ((rhss_1
                                                                             (let ((rhss_1
                                                                                    (let ((rhss21_0
                                                                                           (let ((d_1
                                                                                                  (cdr
                                                                                                   (unwrap
                                                                                                    v_1))))
                                                                                             (let ((a_1
                                                                                                    (car
                                                                                                     (unwrap
                                                                                                      d_1))))
                                                                                               a_1))))
                                                                                      (cons
                                                                                       rhss21_0
                                                                                       rhss_0))))
                                                                               (values
                                                                                rhss_1))))
                                                                        (for-loop_0
                                                                         rhss_1
                                                                         rest_0)))))
                                                                rhss_0)))))
                                                         (for-loop_0
                                                          null
                                                          a_0))))
                                                   (reverse$1 rhss_0)))))
                                          (let ((body_0
                                                 (let ((d_1 (cdr p_0)))
                                                   (let ((a_0
                                                          (car (unwrap d_1))))
                                                     a_0))))
                                            (let ((rhss_1 rhss_0))
                                              (values rhss_1 body_0)))))))
                                  (lambda (rhss_0 body_0)
                                    (let ((c_0
                                           (hash-ref
                                            simples16_0
                                            e_0
                                            '#(0 0 1))))
                                      (let ((AT_0
                                             (|#%name|
                                              AT
                                              (lambda (x_0)
                                                (unsafe-fxlshift 1 x_0)))))
                                        (let ((bit_0
                                               (if pure?1_0
                                                 (if no-alloc?2_0
                                                   (if ordered?3_0
                                                     (if succeeds?4_0 1 2)
                                                     4)
                                                   (if ordered?3_0
                                                     (if succeeds?4_0 8 16)
                                                     32))
                                                 64)))
                                          (let ((r_0
                                                 (if (fx=
                                                      bit_0
                                                      (fxand
                                                       (vector-ref c_0 0)
                                                       bit_0))
                                                   #t
                                                   (if (fx=
                                                        bit_0
                                                        (fxand
                                                         (vector-ref c_0 1)
                                                         bit_0))
                                                     #f
                                                     'unknown))))
                                            (let ((arity-match?_0
                                                   (eqv?
                                                    result-arity_0
                                                    (vector-ref c_0 2))))
                                              (if (let ((or-part_0
                                                         (eq? 'unknown r_0)))
                                                    (if or-part_0
                                                      or-part_0
                                                      (not arity-match?_0)))
                                                (let ((r_1
                                                       (if (letrec*
                                                            ((for-loop_0
                                                              (|#%name|
                                                               for-loop
                                                               (lambda (result_0
                                                                        lst_0)
                                                                 (if (pair?
                                                                      lst_0)
                                                                   (let ((rhs_0
                                                                          (unsafe-car
                                                                           lst_0)))
                                                                     (let ((rest_0
                                                                            (unsafe-cdr
                                                                             lst_0)))
                                                                       (let ((result_1
                                                                              (let ((result_1
                                                                                     (simple?_0
                                                                                      rhs_0
                                                                                      1)))
                                                                                (values
                                                                                 result_1))))
                                                                         (if (if (not
                                                                                  (let ((x_0
                                                                                         (list
                                                                                          rhs_0)))
                                                                                    (not
                                                                                     result_1)))
                                                                               #t
                                                                               #f)
                                                                           (for-loop_0
                                                                            result_1
                                                                            rest_0)
                                                                           result_1))))
                                                                   result_0)))))
                                                            (for-loop_0
                                                             #t
                                                             rhss_0))
                                                         (simple?_0
                                                          body_0
                                                          result-arity_0)
                                                         #f)))
                                                  (begin
                                                    (hash-set!
                                                     simples16_0
                                                     e_0
                                                     (let ((app_0
                                                            (if r_1
                                                              (fxior
                                                               (vector-ref
                                                                c_0
                                                                0)
                                                               bit_0)
                                                              (vector-ref
                                                               c_0
                                                               0))))
                                                       (let ((app_1
                                                              (if r_1
                                                                (vector-ref
                                                                 c_0
                                                                 1)
                                                                (fxior
                                                                 (vector-ref
                                                                  c_0
                                                                  1)
                                                                 bit_0))))
                                                         (vector
                                                          app_0
                                                          app_1
                                                          (vector-ref
                                                           c_0
                                                           2)))))
                                                    r_1))
                                                r_0))))))))
                                 (if (if (eq? 'letrec-values hd_0)
                                       (let ((a_0 (cdr (unwrap e_0))))
                                         (let ((p_0 (unwrap a_0)))
                                           (if (pair? p_0)
                                             (if (let ((a_1 (car p_0)))
                                                   (if (wrap-list? a_1)
                                                     (letrec*
                                                      ((for-loop_0
                                                        (|#%name|
                                                         for-loop
                                                         (lambda (result_0
                                                                  lst_0)
                                                           (if (not
                                                                (null?
                                                                 (unwrap
                                                                  lst_0)))
                                                             (let ((v_0
                                                                    (if (pair?
                                                                         (unwrap
                                                                          lst_0))
                                                                      (wrap-car
                                                                       lst_0)
                                                                      lst_0)))
                                                               (let ((rest_0
                                                                      (if (pair?
                                                                           (unwrap
                                                                            lst_0))
                                                                        (wrap-cdr
                                                                         lst_0)
                                                                        null)))
                                                                 (let ((v_1
                                                                        v_0))
                                                                   (let ((result_1
                                                                          (let ((result_1
                                                                                 (let ((p_1
                                                                                        (unwrap
                                                                                         v_1)))
                                                                                   (if (pair?
                                                                                        p_1)
                                                                                     (if (let ((a_2
                                                                                                (car
                                                                                                 p_1)))
                                                                                           (wrap-list?
                                                                                            a_2))
                                                                                       (let ((a_2
                                                                                              (cdr
                                                                                               p_1)))
                                                                                         (let ((p_2
                                                                                                (unwrap
                                                                                                 a_2)))
                                                                                           (if (pair?
                                                                                                p_2)
                                                                                             (let ((a_3
                                                                                                    (cdr
                                                                                                     p_2)))
                                                                                               (let ((app_0
                                                                                                      (unwrap
                                                                                                       '())))
                                                                                                 (eq?
                                                                                                  app_0
                                                                                                  (unwrap
                                                                                                   a_3))))
                                                                                             #f)))
                                                                                       #f)
                                                                                     #f))))
                                                                            (values
                                                                             result_1))))
                                                                     (if (if (not
                                                                              (let ((x_0
                                                                                     (list
                                                                                      v_1)))
                                                                                (not
                                                                                 result_1)))
                                                                           #t
                                                                           #f)
                                                                       (for-loop_0
                                                                        result_1
                                                                        rest_0)
                                                                       result_1)))))
                                                             result_0)))))
                                                      (for-loop_0 #t a_1))
                                                     #f))
                                               (let ((a_1 (cdr p_0)))
                                                 (let ((p_1 (unwrap a_1)))
                                                   (if (pair? p_1)
                                                     (let ((a_2 (cdr p_1)))
                                                       (let ((app_0
                                                              (unwrap '())))
                                                         (eq?
                                                          app_0
                                                          (unwrap a_2))))
                                                     #f)))
                                               #f)
                                             #f)))
                                       #f)
                                   (call-with-values
                                    (lambda ()
                                      (let ((d_0 (cdr (unwrap e_0))))
                                        (let ((p_0 (unwrap d_0)))
                                          (call-with-values
                                           (lambda ()
                                             (let ((a_0 (car p_0)))
                                               (call-with-values
                                                (lambda ()
                                                  (letrec*
                                                   ((for-loop_0
                                                     (|#%name|
                                                      for-loop
                                                      (lambda (idss_0
                                                               rhss_0
                                                               lst_0)
                                                        (if (not
                                                             (null?
                                                              (unwrap lst_0)))
                                                          (let ((v_0
                                                                 (if (pair?
                                                                      (unwrap
                                                                       lst_0))
                                                                   (wrap-car
                                                                    lst_0)
                                                                   lst_0)))
                                                            (let ((rest_0
                                                                   (if (pair?
                                                                        (unwrap
                                                                         lst_0))
                                                                     (wrap-cdr
                                                                      lst_0)
                                                                     null)))
                                                              (let ((v_1 v_0))
                                                                (call-with-values
                                                                 (lambda ()
                                                                   (call-with-values
                                                                    (lambda ()
                                                                      (call-with-values
                                                                       (lambda ()
                                                                         (let ((p_1
                                                                                (unwrap
                                                                                 v_1)))
                                                                           (let ((idss_1
                                                                                  (let ((a_1
                                                                                         (car
                                                                                          p_1)))
                                                                                    (unwrap-list
                                                                                     a_1))))
                                                                             (let ((rhss_1
                                                                                    (let ((d_1
                                                                                           (cdr
                                                                                            p_1)))
                                                                                      (let ((a_1
                                                                                             (car
                                                                                              (unwrap
                                                                                               d_1))))
                                                                                        a_1))))
                                                                               (let ((idss_2
                                                                                      idss_1))
                                                                                 (values
                                                                                  idss_2
                                                                                  rhss_1))))))
                                                                       (lambda (idss22_0
                                                                                rhss23_0)
                                                                         (values
                                                                          (cons
                                                                           idss22_0
                                                                           idss_0)
                                                                          (cons
                                                                           rhss23_0
                                                                           rhss_0)))))
                                                                    (lambda (idss_1
                                                                             rhss_1)
                                                                      (values
                                                                       idss_1
                                                                       rhss_1))))
                                                                 (lambda (idss_1
                                                                          rhss_1)
                                                                   (for-loop_0
                                                                    idss_1
                                                                    rhss_1
                                                                    rest_0))))))
                                                          (values
                                                           idss_0
                                                           rhss_0))))))
                                                   (for-loop_0 null null a_0)))
                                                (lambda (idss_0 rhss_0)
                                                  (let ((app_0
                                                         (reverse$1 idss_0)))
                                                    (values
                                                     app_0
                                                     (reverse$1 rhss_0)))))))
                                           (lambda (idss_0 rhss_0)
                                             (let ((body_0
                                                    (let ((d_1 (cdr p_0)))
                                                      (let ((a_0
                                                             (car
                                                              (unwrap d_1))))
                                                        a_0))))
                                               (let ((idss_1 idss_0)
                                                     (rhss_1 rhss_0))
                                                 (values
                                                  idss_1
                                                  rhss_1
                                                  body_0))))))))
                                    (lambda (idss_0 rhss_0 body_0)
                                      (let ((c_0
                                             (hash-ref
                                              simples16_0
                                              e_0
                                              '#(0 0 1))))
                                        (let ((AT_0
                                               (|#%name|
                                                AT
                                                (lambda (x_0)
                                                  (unsafe-fxlshift 1 x_0)))))
                                          (let ((bit_0
                                                 (if pure?1_0
                                                   (if no-alloc?2_0
                                                     (if ordered?3_0
                                                       (if succeeds?4_0 1 2)
                                                       4)
                                                     (if ordered?3_0
                                                       (if succeeds?4_0 8 16)
                                                       32))
                                                   64)))
                                            (let ((r_0
                                                   (if (fx=
                                                        bit_0
                                                        (fxand
                                                         (vector-ref c_0 0)
                                                         bit_0))
                                                     #t
                                                     (if (fx=
                                                          bit_0
                                                          (fxand
                                                           (vector-ref c_0 1)
                                                           bit_0))
                                                       #f
                                                       'unknown))))
                                              (let ((arity-match?_0
                                                     (eqv?
                                                      result-arity_0
                                                      (vector-ref c_0 2))))
                                                (if (let ((or-part_0
                                                           (eq? 'unknown r_0)))
                                                      (if or-part_0
                                                        or-part_0
                                                        (not arity-match?_0)))
                                                  (let ((r_1
                                                         (if (letrec*
                                                              ((for-loop_0
                                                                (|#%name|
                                                                 for-loop
                                                                 (lambda (result_0
                                                                          lst_0
                                                                          lst_1)
                                                                   (if (if (pair?
                                                                            lst_0)
                                                                         (pair?
                                                                          lst_1)
                                                                         #f)
                                                                     (let ((ids_0
                                                                            (unsafe-car
                                                                             lst_0)))
                                                                       (let ((rest_0
                                                                              (unsafe-cdr
                                                                               lst_0)))
                                                                         (let ((rhs_0
                                                                                (unsafe-car
                                                                                 lst_1)))
                                                                           (let ((rest_1
                                                                                  (unsafe-cdr
                                                                                   lst_1)))
                                                                             (let ((result_1
                                                                                    (let ((result_1
                                                                                           (simple?_0
                                                                                            rhs_0
                                                                                            (length
                                                                                             ids_0))))
                                                                                      (values
                                                                                       result_1))))
                                                                               (if (if (not
                                                                                        (let ((x_0
                                                                                               (list
                                                                                                ids_0)))
                                                                                          (not
                                                                                           result_1)))
                                                                                     (if (not
                                                                                          (let ((x_0
                                                                                                 (list
                                                                                                  rhs_0)))
                                                                                            (not
                                                                                             result_1)))
                                                                                       #t
                                                                                       #f)
                                                                                     #f)
                                                                                 (for-loop_0
                                                                                  result_1
                                                                                  rest_0
                                                                                  rest_1)
                                                                                 result_1))))))
                                                                     result_0)))))
                                                              (for-loop_0
                                                               #t
                                                               idss_0
                                                               rhss_0))
                                                           (simple?_0
                                                            body_0
                                                            result-arity_0)
                                                           #f)))
                                                    (begin
                                                      (hash-set!
                                                       simples16_0
                                                       e_0
                                                       (let ((app_0
                                                              (if r_1
                                                                (fxior
                                                                 (vector-ref
                                                                  c_0
                                                                  0)
                                                                 bit_0)
                                                                (vector-ref
                                                                 c_0
                                                                 0))))
                                                         (let ((app_1
                                                                (if r_1
                                                                  (vector-ref
                                                                   c_0
                                                                   1)
                                                                  (fxior
                                                                   (vector-ref
                                                                    c_0
                                                                    1)
                                                                   bit_0))))
                                                           (vector
                                                            app_0
                                                            app_1
                                                            (vector-ref
                                                             c_0
                                                             2)))))
                                                      r_1))
                                                  r_0))))))))
                                   (if (if (eq? 'letrec* hd_0)
                                         (let ((a_0 (cdr (unwrap e_0))))
                                           (let ((p_0 (unwrap a_0)))
                                             (if (pair? p_0)
                                               (if (let ((a_1 (car p_0)))
                                                     (if (wrap-list? a_1)
                                                       (letrec*
                                                        ((for-loop_0
                                                          (|#%name|
                                                           for-loop
                                                           (lambda (result_0
                                                                    lst_0)
                                                             (if (not
                                                                  (null?
                                                                   (unwrap
                                                                    lst_0)))
                                                               (let ((v_0
                                                                      (if (pair?
                                                                           (unwrap
                                                                            lst_0))
                                                                        (wrap-car
                                                                         lst_0)
                                                                        lst_0)))
                                                                 (let ((rest_0
                                                                        (if (pair?
                                                                             (unwrap
                                                                              lst_0))
                                                                          (wrap-cdr
                                                                           lst_0)
                                                                          null)))
                                                                   (let ((v_1
                                                                          v_0))
                                                                     (let ((result_1
                                                                            (let ((result_1
                                                                                   (let ((p_1
                                                                                          (unwrap
                                                                                           v_1)))
                                                                                     (if (pair?
                                                                                          p_1)
                                                                                       (let ((a_2
                                                                                              (cdr
                                                                                               p_1)))
                                                                                         (let ((p_2
                                                                                                (unwrap
                                                                                                 a_2)))
                                                                                           (if (pair?
                                                                                                p_2)
                                                                                             (let ((a_3
                                                                                                    (cdr
                                                                                                     p_2)))
                                                                                               (let ((app_0
                                                                                                      (unwrap
                                                                                                       '())))
                                                                                                 (eq?
                                                                                                  app_0
                                                                                                  (unwrap
                                                                                                   a_3))))
                                                                                             #f)))
                                                                                       #f))))
                                                                              (values
                                                                               result_1))))
                                                                       (if (if (not
                                                                                (let ((x_0
                                                                                       (list
                                                                                        v_1)))
                                                                                  (not
                                                                                   result_1)))
                                                                             #t
                                                                             #f)
                                                                         (for-loop_0
                                                                          result_1
                                                                          rest_0)
                                                                         result_1)))))
                                                               result_0)))))
                                                        (for-loop_0 #t a_1))
                                                       #f))
                                                 (let ((a_1 (cdr p_0)))
                                                   (let ((p_1 (unwrap a_1)))
                                                     (if (pair? p_1)
                                                       (let ((a_2 (cdr p_1)))
                                                         (let ((app_0
                                                                (unwrap '())))
                                                           (eq?
                                                            app_0
                                                            (unwrap a_2))))
                                                       #f)))
                                                 #f)
                                               #f)))
                                         #f)
                                     (call-with-values
                                      (lambda ()
                                        (let ((d_0 (cdr (unwrap e_0))))
                                          (let ((p_0 (unwrap d_0)))
                                            (call-with-values
                                             (lambda ()
                                               (let ((a_0 (car p_0)))
                                                 (call-with-values
                                                  (lambda ()
                                                    (letrec*
                                                     ((for-loop_0
                                                       (|#%name|
                                                        for-loop
                                                        (lambda (ids_0
                                                                 rhss_0
                                                                 lst_0)
                                                          (if (not
                                                               (null?
                                                                (unwrap
                                                                 lst_0)))
                                                            (let ((v_0
                                                                   (if (pair?
                                                                        (unwrap
                                                                         lst_0))
                                                                     (wrap-car
                                                                      lst_0)
                                                                     lst_0)))
                                                              (let ((rest_0
                                                                     (if (pair?
                                                                          (unwrap
                                                                           lst_0))
                                                                       (wrap-cdr
                                                                        lst_0)
                                                                       null)))
                                                                (let ((v_1
                                                                       v_0))
                                                                  (call-with-values
                                                                   (lambda ()
                                                                     (call-with-values
                                                                      (lambda ()
                                                                        (call-with-values
                                                                         (lambda ()
                                                                           (let ((p_1
                                                                                  (unwrap
                                                                                   v_1)))
                                                                             (let ((ids_1
                                                                                    (let ((a_1
                                                                                           (car
                                                                                            p_1)))
                                                                                      a_1)))
                                                                               (let ((rhss_1
                                                                                      (let ((d_1
                                                                                             (cdr
                                                                                              p_1)))
                                                                                        (let ((a_1
                                                                                               (car
                                                                                                (unwrap
                                                                                                 d_1))))
                                                                                          a_1))))
                                                                                 (let ((ids_2
                                                                                        ids_1))
                                                                                   (values
                                                                                    ids_2
                                                                                    rhss_1))))))
                                                                         (lambda (ids24_0
                                                                                  rhss25_0)
                                                                           (values
                                                                            (cons
                                                                             ids24_0
                                                                             ids_0)
                                                                            (cons
                                                                             rhss25_0
                                                                             rhss_0)))))
                                                                      (lambda (ids_1
                                                                               rhss_1)
                                                                        (values
                                                                         ids_1
                                                                         rhss_1))))
                                                                   (lambda (ids_1
                                                                            rhss_1)
                                                                     (for-loop_0
                                                                      ids_1
                                                                      rhss_1
                                                                      rest_0))))))
                                                            (values
                                                             ids_0
                                                             rhss_0))))))
                                                     (for-loop_0
                                                      null
                                                      null
                                                      a_0)))
                                                  (lambda (ids_0 rhss_0)
                                                    (let ((app_0
                                                           (reverse$1 ids_0)))
                                                      (values
                                                       app_0
                                                       (reverse$1 rhss_0)))))))
                                             (lambda (ids_0 rhss_0)
                                               (let ((body_0
                                                      (let ((d_1 (cdr p_0)))
                                                        (let ((a_0
                                                               (car
                                                                (unwrap d_1))))
                                                          a_0))))
                                                 (let ((ids_1 ids_0)
                                                       (rhss_1 rhss_0))
                                                   (values
                                                    ids_1
                                                    rhss_1
                                                    body_0))))))))
                                      (lambda (ids_0 rhss_0 body_0)
                                        (let ((c_0
                                               (hash-ref
                                                simples16_0
                                                e_0
                                                '#(0 0 1))))
                                          (let ((AT_0
                                                 (|#%name|
                                                  AT
                                                  (lambda (x_0)
                                                    (unsafe-fxlshift 1 x_0)))))
                                            (let ((bit_0
                                                   (if pure?1_0
                                                     (if no-alloc?2_0
                                                       (if ordered?3_0
                                                         (if succeeds?4_0 1 2)
                                                         4)
                                                       (if ordered?3_0
                                                         (if succeeds?4_0 8 16)
                                                         32))
                                                     64)))
                                              (let ((r_0
                                                     (if (fx=
                                                          bit_0
                                                          (fxand
                                                           (vector-ref c_0 0)
                                                           bit_0))
                                                       #t
                                                       (if (fx=
                                                            bit_0
                                                            (fxand
                                                             (vector-ref c_0 1)
                                                             bit_0))
                                                         #f
                                                         'unknown))))
                                                (let ((arity-match?_0
                                                       (eqv?
                                                        result-arity_0
                                                        (vector-ref c_0 2))))
                                                  (if (let ((or-part_0
                                                             (eq?
                                                              'unknown
                                                              r_0)))
                                                        (if or-part_0
                                                          or-part_0
                                                          (not
                                                           arity-match?_0)))
                                                    (let ((r_1
                                                           (if (letrec*
                                                                ((for-loop_0
                                                                  (|#%name|
                                                                   for-loop
                                                                   (lambda (result_0
                                                                            lst_0)
                                                                     (if (pair?
                                                                          lst_0)
                                                                       (let ((rhs_0
                                                                              (unsafe-car
                                                                               lst_0)))
                                                                         (let ((rest_0
                                                                                (unsafe-cdr
                                                                                 lst_0)))
                                                                           (let ((result_1
                                                                                  (let ((result_1
                                                                                         (simple?_0
                                                                                          rhs_0
                                                                                          1)))
                                                                                    (values
                                                                                     result_1))))
                                                                             (if (if (not
                                                                                      (let ((x_0
                                                                                             (list
                                                                                              rhs_0)))
                                                                                        (not
                                                                                         result_1)))
                                                                                   #t
                                                                                   #f)
                                                                               (for-loop_0
                                                                                result_1
                                                                                rest_0)
                                                                               result_1))))
                                                                       result_0)))))
                                                                (for-loop_0
                                                                 #t
                                                                 rhss_0))
                                                             (simple?_0
                                                              body_0
                                                              result-arity_0)
                                                             #f)))
                                                      (begin
                                                        (hash-set!
                                                         simples16_0
                                                         e_0
                                                         (let ((app_0
                                                                (if r_1
                                                                  (fxior
                                                                   (vector-ref
                                                                    c_0
                                                                    0)
                                                                   bit_0)
                                                                  (vector-ref
                                                                   c_0
                                                                   0))))
                                                           (let ((app_1
                                                                  (if r_1
                                                                    (vector-ref
                                                                     c_0
                                                                     1)
                                                                    (fxior
                                                                     (vector-ref
                                                                      c_0
                                                                      1)
                                                                     bit_0))))
                                                             (vector
                                                              app_0
                                                              app_1
                                                              (vector-ref
                                                               c_0
                                                               2)))))
                                                        r_1))
                                                    r_0))))))))
                                     (if (if (if (eq? 'begin hd_0)
                                               (let ((a_0 (cdr (unwrap e_0))))
                                                 (wrap-list? a_0))
                                               #f)
                                           (not pure?1_0)
                                           #f)
                                       (let ((es_0
                                              (let ((d_0 (cdr (unwrap e_0))))
                                                (unwrap-list d_0))))
                                         (simple-begin?_0 es_0))
                                       (if (if (eq? 'begin-unsafe hd_0)
                                             (let ((a_0 (cdr (unwrap e_0))))
                                               (wrap-list? a_0))
                                             #f)
                                         (let ((es_0
                                                (let ((d_0 (cdr (unwrap e_0))))
                                                  (unwrap-list d_0))))
                                           (simple-begin?_0 es_0))
                                         (if (if (eq? 'begin0 hd_0)
                                               (let ((a_0 (cdr (unwrap e_0))))
                                                 (let ((p_0 (unwrap a_0)))
                                                   (if (pair? p_0)
                                                     (let ((a_1 (cdr p_0)))
                                                       (wrap-list? a_1))
                                                     #f)))
                                               #f)
                                           (call-with-values
                                            (lambda ()
                                              (let ((d_0 (cdr (unwrap e_0))))
                                                (let ((p_0 (unwrap d_0)))
                                                  (let ((e0_0
                                                         (let ((a_0 (car p_0)))
                                                           a_0)))
                                                    (let ((es_0
                                                           (let ((d_1
                                                                  (cdr p_0)))
                                                             (unwrap-list
                                                              d_1))))
                                                      (let ((e0_1 e0_0))
                                                        (values
                                                         e0_1
                                                         es_0)))))))
                                            (lambda (e0_0 es_0)
                                              (let ((c_0
                                                     (hash-ref
                                                      simples16_0
                                                      e_0
                                                      '#(0 0 1))))
                                                (let ((AT_0
                                                       (|#%name|
                                                        AT
                                                        (lambda (x_0)
                                                          (unsafe-fxlshift
                                                           1
                                                           x_0)))))
                                                  (let ((bit_0
                                                         (if pure?1_0
                                                           (if no-alloc?2_0
                                                             (if ordered?3_0
                                                               (if succeeds?4_0
                                                                 1
                                                                 2)
                                                               4)
                                                             (if ordered?3_0
                                                               (if succeeds?4_0
                                                                 8
                                                                 16)
                                                               32))
                                                           64)))
                                                    (let ((r_0
                                                           (if (fx=
                                                                bit_0
                                                                (fxand
                                                                 (vector-ref
                                                                  c_0
                                                                  0)
                                                                 bit_0))
                                                             #t
                                                             (if (fx=
                                                                  bit_0
                                                                  (fxand
                                                                   (vector-ref
                                                                    c_0
                                                                    1)
                                                                   bit_0))
                                                               #f
                                                               'unknown))))
                                                      (let ((arity-match?_0
                                                             (eqv?
                                                              result-arity_0
                                                              (vector-ref
                                                               c_0
                                                               2))))
                                                        (if (let ((or-part_0
                                                                   (eq?
                                                                    'unknown
                                                                    r_0)))
                                                              (if or-part_0
                                                                or-part_0
                                                                (not
                                                                 arity-match?_0)))
                                                          (let ((r_1
                                                                 (if (simple?_0
                                                                      e0_0
                                                                      result-arity_0)
                                                                   (letrec*
                                                                    ((for-loop_0
                                                                      (|#%name|
                                                                       for-loop
                                                                       (lambda (result_0
                                                                                lst_0)
                                                                         (if (pair?
                                                                              lst_0)
                                                                           (let ((e_1
                                                                                  (unsafe-car
                                                                                   lst_0)))
                                                                             (let ((rest_0
                                                                                    (unsafe-cdr
                                                                                     lst_0)))
                                                                               (let ((result_1
                                                                                      (let ((result_1
                                                                                             (simple?_0
                                                                                              e_1
                                                                                              #f)))
                                                                                        (values
                                                                                         result_1))))
                                                                                 (if (if (not
                                                                                          (let ((x_0
                                                                                                 (list
                                                                                                  e_1)))
                                                                                            (not
                                                                                             result_1)))
                                                                                       #t
                                                                                       #f)
                                                                                   (for-loop_0
                                                                                    result_1
                                                                                    rest_0)
                                                                                   result_1))))
                                                                           result_0)))))
                                                                    (for-loop_0
                                                                     #t
                                                                     es_0))
                                                                   #f)))
                                                            (begin
                                                              (hash-set!
                                                               simples16_0
                                                               e_0
                                                               (let ((app_0
                                                                      (if r_1
                                                                        (fxior
                                                                         (vector-ref
                                                                          c_0
                                                                          0)
                                                                         bit_0)
                                                                        (vector-ref
                                                                         c_0
                                                                         0))))
                                                                 (let ((app_1
                                                                        (if r_1
                                                                          (vector-ref
                                                                           c_0
                                                                           1)
                                                                          (fxior
                                                                           (vector-ref
                                                                            c_0
                                                                            1)
                                                                           bit_0))))
                                                                   (vector
                                                                    app_0
                                                                    app_1
                                                                    (vector-ref
                                                                     c_0
                                                                     2)))))
                                                              r_1))
                                                          r_0))))))))
                                           (if (if (if (eq? 'set! hd_0)
                                                     (let ((a_0
                                                            (cdr
                                                             (unwrap e_0))))
                                                       (let ((p_0
                                                              (unwrap a_0)))
                                                         (if (pair? p_0)
                                                           (let ((a_1
                                                                  (cdr p_0)))
                                                             (let ((p_1
                                                                    (unwrap
                                                                     a_1)))
                                                               (if (pair? p_1)
                                                                 (let ((a_2
                                                                        (cdr
                                                                         p_1)))
                                                                   (let ((app_0
                                                                          (unwrap
                                                                           '())))
                                                                     (eq?
                                                                      app_0
                                                                      (unwrap
                                                                       a_2))))
                                                                 #f)))
                                                           #f)))
                                                     #f)
                                                 (not pure?1_0)
                                                 #f)
                                             (let ((e_1
                                                    (let ((d_0
                                                           (cdr (unwrap e_0))))
                                                      (let ((d_1
                                                             (cdr
                                                              (unwrap d_0))))
                                                        (let ((a_0
                                                               (car
                                                                (unwrap d_1))))
                                                          a_0)))))
                                               (begin
                                                 (simple?_0 e_1 1)
                                                 (returns_0 1)))
                                             (if (if (eq? 'if hd_0)
                                                   (let ((a_0
                                                          (cdr (unwrap e_0))))
                                                     (let ((p_0 (unwrap a_0)))
                                                       (if (pair? p_0)
                                                         (let ((a_1 (cdr p_0)))
                                                           (let ((p_1
                                                                  (unwrap
                                                                   a_1)))
                                                             (if (pair? p_1)
                                                               (let ((a_2
                                                                      (cdr
                                                                       p_1)))
                                                                 (let ((p_2
                                                                        (unwrap
                                                                         a_2)))
                                                                   (if (pair?
                                                                        p_2)
                                                                     (let ((a_3
                                                                            (cdr
                                                                             p_2)))
                                                                       (let ((app_0
                                                                              (unwrap
                                                                               '())))
                                                                         (eq?
                                                                          app_0
                                                                          (unwrap
                                                                           a_3))))
                                                                     #f)))
                                                               #f)))
                                                         #f)))
                                                   #f)
                                               (call-with-values
                                                (lambda ()
                                                  (let ((d_0
                                                         (cdr (unwrap e_0))))
                                                    (let ((p_0 (unwrap d_0)))
                                                      (let ((tst_0
                                                             (let ((a_0
                                                                    (car p_0)))
                                                               a_0)))
                                                        (call-with-values
                                                         (lambda ()
                                                           (let ((d_1
                                                                  (cdr p_0)))
                                                             (let ((p_1
                                                                    (unwrap
                                                                     d_1)))
                                                               (let ((thn_0
                                                                      (let ((a_0
                                                                             (car
                                                                              p_1)))
                                                                        a_0)))
                                                                 (let ((els_0
                                                                        (let ((d_2
                                                                               (cdr
                                                                                p_1)))
                                                                          (let ((a_0
                                                                                 (car
                                                                                  (unwrap
                                                                                   d_2))))
                                                                            a_0))))
                                                                   (let ((thn_1
                                                                          thn_0))
                                                                     (values
                                                                      thn_1
                                                                      els_0)))))))
                                                         (lambda (thn_0 els_0)
                                                           (let ((tst_1 tst_0))
                                                             (values
                                                              tst_1
                                                              thn_0
                                                              els_0))))))))
                                                (lambda (tst_0 thn_0 els_0)
                                                  (if (simple?_0 tst_0 1)
                                                    (if (simple?_0
                                                         thn_0
                                                         result-arity_0)
                                                      (simple?_0
                                                       els_0
                                                       result-arity_0)
                                                      #f)
                                                    #f)))
                                               (if (if (eq? 'values hd_0)
                                                     (let ((a_0
                                                            (cdr
                                                             (unwrap e_0))))
                                                       (wrap-list? a_0))
                                                     #f)
                                                 (let ((es_0
                                                        (let ((d_0
                                                               (cdr
                                                                (unwrap e_0))))
                                                          (unwrap-list d_0))))
                                                   (let ((c_0
                                                          (hash-ref
                                                           simples16_0
                                                           e_0
                                                           '#(0 0 1))))
                                                     (let ((AT_0
                                                            (|#%name|
                                                             AT
                                                             (lambda (x_0)
                                                               (unsafe-fxlshift
                                                                1
                                                                x_0)))))
                                                       (let ((bit_0
                                                              (if pure?1_0
                                                                (if no-alloc?2_0
                                                                  (if ordered?3_0
                                                                    (if succeeds?4_0
                                                                      1
                                                                      2)
                                                                    4)
                                                                  (if ordered?3_0
                                                                    (if succeeds?4_0
                                                                      8
                                                                      16)
                                                                    32))
                                                                64)))
                                                         (let ((r_0
                                                                (if (fx=
                                                                     bit_0
                                                                     (fxand
                                                                      (vector-ref
                                                                       c_0
                                                                       0)
                                                                      bit_0))
                                                                  #t
                                                                  (if (fx=
                                                                       bit_0
                                                                       (fxand
                                                                        (vector-ref
                                                                         c_0
                                                                         1)
                                                                        bit_0))
                                                                    #f
                                                                    'unknown))))
                                                           (let ((arity-match?_0
                                                                  (eqv?
                                                                   result-arity_0
                                                                   (vector-ref
                                                                    c_0
                                                                    2))))
                                                             (if (let ((or-part_0
                                                                        (eq?
                                                                         'unknown
                                                                         r_0)))
                                                                   (if or-part_0
                                                                     or-part_0
                                                                     (not
                                                                      arity-match?_0)))
                                                               (let ((r_1
                                                                      (if (returns_0
                                                                           (length
                                                                            es_0))
                                                                        (letrec*
                                                                         ((for-loop_0
                                                                           (|#%name|
                                                                            for-loop
                                                                            (lambda (result_0
                                                                                     lst_0)
                                                                              (if (pair?
                                                                                   lst_0)
                                                                                (let ((e_1
                                                                                       (unsafe-car
                                                                                        lst_0)))
                                                                                  (let ((rest_0
                                                                                         (unsafe-cdr
                                                                                          lst_0)))
                                                                                    (let ((result_1
                                                                                           (let ((result_1
                                                                                                  (simple?_0
                                                                                                   e_1
                                                                                                   1)))
                                                                                             (values
                                                                                              result_1))))
                                                                                      (if (if (not
                                                                                               (let ((x_0
                                                                                                      (list
                                                                                                       e_1)))
                                                                                                 (not
                                                                                                  result_1)))
                                                                                            #t
                                                                                            #f)
                                                                                        (for-loop_0
                                                                                         result_1
                                                                                         rest_0)
                                                                                        result_1))))
                                                                                result_0)))))
                                                                         (for-loop_0
                                                                          #t
                                                                          es_0))
                                                                        #f)))
                                                                 (begin
                                                                   (hash-set!
                                                                    simples16_0
                                                                    e_0
                                                                    (let ((app_0
                                                                           (if r_1
                                                                             (fxior
                                                                              (vector-ref
                                                                               c_0
                                                                               0)
                                                                              bit_0)
                                                                             (vector-ref
                                                                              c_0
                                                                              0))))
                                                                      (let ((app_1
                                                                             (if r_1
                                                                               (vector-ref
                                                                                c_0
                                                                                1)
                                                                               (fxior
                                                                                (vector-ref
                                                                                 c_0
                                                                                 1)
                                                                                bit_0))))
                                                                        (vector
                                                                         app_0
                                                                         app_1
                                                                         (vector-ref
                                                                          c_0
                                                                          2)))))
                                                                   r_1))
                                                               r_0)))))))
                                                 (if (if (eq? 'apply hd_0)
                                                       (let ((a_0
                                                              (cdr
                                                               (unwrap e_0))))
                                                         (let ((p_0
                                                                (unwrap a_0)))
                                                           (if (pair? p_0)
                                                             (let ((a_1
                                                                    (cdr p_0)))
                                                               (wrap-list?
                                                                a_1))
                                                             #f)))
                                                       #f)
                                                   (call-with-values
                                                    (lambda ()
                                                      (let ((d_0
                                                             (cdr
                                                              (unwrap e_0))))
                                                        (let ((p_0
                                                               (unwrap d_0)))
                                                          (let ((proc_0
                                                                 (let ((a_0
                                                                        (car
                                                                         p_0)))
                                                                   a_0)))
                                                            (let ((es_0
                                                                   (let ((d_1
                                                                          (cdr
                                                                           p_0)))
                                                                     (unwrap-list
                                                                      d_1))))
                                                              (let ((proc_1
                                                                     proc_0))
                                                                (values
                                                                 proc_1
                                                                 es_0)))))))
                                                    (lambda (proc_0 es_0)
                                                      (let ((c_0
                                                             (hash-ref
                                                              simples16_0
                                                              e_0
                                                              '#(0 0 1))))
                                                        (let ((AT_0
                                                               (|#%name|
                                                                AT
                                                                (lambda (x_0)
                                                                  (unsafe-fxlshift
                                                                   1
                                                                   x_0)))))
                                                          (let ((bit_0
                                                                 (if pure?1_0
                                                                   (if no-alloc?2_0
                                                                     (if ordered?3_0
                                                                       (if succeeds?4_0
                                                                         1
                                                                         2)
                                                                       4)
                                                                     (if ordered?3_0
                                                                       (if succeeds?4_0
                                                                         8
                                                                         16)
                                                                       32))
                                                                   64)))
                                                            (let ((r_0
                                                                   (if (fx=
                                                                        bit_0
                                                                        (fxand
                                                                         (vector-ref
                                                                          c_0
                                                                          0)
                                                                         bit_0))
                                                                     #t
                                                                     (if (fx=
                                                                          bit_0
                                                                          (fxand
                                                                           (vector-ref
                                                                            c_0
                                                                            1)
                                                                           bit_0))
                                                                       #f
                                                                       'unknown))))
                                                              (let ((arity-match?_0
                                                                     (eqv?
                                                                      result-arity_0
                                                                      (vector-ref
                                                                       c_0
                                                                       2))))
                                                                (if (let ((or-part_0
                                                                           (eq?
                                                                            'unknown
                                                                            r_0)))
                                                                      (if or-part_0
                                                                        or-part_0
                                                                        (not
                                                                         arity-match?_0)))
                                                                  (let ((r_1
                                                                         (if (not
                                                                              result-arity_0)
                                                                           (if (not
                                                                                pure?1_0)
                                                                             (if (let ((proc_1
                                                                                        (unwrap
                                                                                         proc_0)))
                                                                                   (if (symbol?
                                                                                        proc_1)
                                                                                     (let ((v_0
                                                                                            (let ((or-part_0
                                                                                                   (hash-ref-either
                                                                                                    knowns13_0
                                                                                                    imports14_0
                                                                                                    proc_1)))
                                                                                              (if or-part_0
                                                                                                or-part_0
                                                                                                (hash-ref
                                                                                                 prim-knowns12_0
                                                                                                 proc_1
                                                                                                 #f)))))
                                                                                       (ok-to-call?_0
                                                                                        proc_1
                                                                                        v_0
                                                                                        #f))
                                                                                     #f))
                                                                               (letrec*
                                                                                ((for-loop_0
                                                                                  (|#%name|
                                                                                   for-loop
                                                                                   (lambda (result_0
                                                                                            lst_0)
                                                                                     (if (pair?
                                                                                          lst_0)
                                                                                       (let ((e_1
                                                                                              (unsafe-car
                                                                                               lst_0)))
                                                                                         (let ((rest_0
                                                                                                (unsafe-cdr
                                                                                                 lst_0)))
                                                                                           (let ((result_1
                                                                                                  (let ((result_1
                                                                                                         (simple?_0
                                                                                                          e_1
                                                                                                          1)))
                                                                                                    (values
                                                                                                     result_1))))
                                                                                             (if (if (not
                                                                                                      (let ((x_0
                                                                                                             (list
                                                                                                              e_1)))
                                                                                                        (not
                                                                                                         result_1)))
                                                                                                   #t
                                                                                                   #f)
                                                                                               (for-loop_0
                                                                                                result_1
                                                                                                rest_0)
                                                                                               result_1))))
                                                                                       result_0)))))
                                                                                (for-loop_0
                                                                                 #t
                                                                                 es_0))
                                                                               #f)
                                                                             #f)
                                                                           #f)))
                                                                    (begin
                                                                      (hash-set!
                                                                       simples16_0
                                                                       e_0
                                                                       (let ((app_0
                                                                              (if r_1
                                                                                (fxior
                                                                                 (vector-ref
                                                                                  c_0
                                                                                  0)
                                                                                 bit_0)
                                                                                (vector-ref
                                                                                 c_0
                                                                                 0))))
                                                                         (let ((app_1
                                                                                (if r_1
                                                                                  (vector-ref
                                                                                   c_0
                                                                                   1)
                                                                                  (fxior
                                                                                   (vector-ref
                                                                                    c_0
                                                                                    1)
                                                                                   bit_0))))
                                                                           (vector
                                                                            app_0
                                                                            app_1
                                                                            (vector-ref
                                                                             c_0
                                                                             2)))))
                                                                      r_1))
                                                                  r_0))))))))
                                                   (if (let ((p_0
                                                              (unwrap e_0)))
                                                         (if (pair? p_0)
                                                           #t
                                                           #f))
                                                     (call-with-values
                                                      (lambda ()
                                                        (let ((p_0
                                                               (unwrap e_0)))
                                                          (let ((proc_0
                                                                 (let ((a_0
                                                                        (car
                                                                         p_0)))
                                                                   a_0)))
                                                            (let ((args_0
                                                                   (let ((d_0
                                                                          (cdr
                                                                           p_0)))
                                                                     d_0)))
                                                              (let ((proc_1
                                                                     proc_0))
                                                                (values
                                                                 proc_1
                                                                 args_0))))))
                                                      (lambda (proc_0 args_0)
                                                        (let ((c_0
                                                               (hash-ref
                                                                simples16_0
                                                                e_0
                                                                '#(0 0 1))))
                                                          (let ((AT_0
                                                                 (|#%name|
                                                                  AT
                                                                  (lambda (x_0)
                                                                    (unsafe-fxlshift
                                                                     1
                                                                     x_0)))))
                                                            (let ((bit_0
                                                                   (if pure?1_0
                                                                     (if no-alloc?2_0
                                                                       (if ordered?3_0
                                                                         (if succeeds?4_0
                                                                           1
                                                                           2)
                                                                         4)
                                                                       (if ordered?3_0
                                                                         (if succeeds?4_0
                                                                           8
                                                                           16)
                                                                         32))
                                                                     64)))
                                                              (let ((r_0
                                                                     (if (fx=
                                                                          bit_0
                                                                          (fxand
                                                                           (vector-ref
                                                                            c_0
                                                                            0)
                                                                           bit_0))
                                                                       #t
                                                                       (if (fx=
                                                                            bit_0
                                                                            (fxand
                                                                             (vector-ref
                                                                              c_0
                                                                              1)
                                                                             bit_0))
                                                                         #f
                                                                         'unknown))))
                                                                (let ((arity-match?_0
                                                                       (eqv?
                                                                        result-arity_0
                                                                        (vector-ref
                                                                         c_0
                                                                         2))))
                                                                  (if (let ((or-part_0
                                                                             (eq?
                                                                              'unknown
                                                                              r_0)))
                                                                        (if or-part_0
                                                                          or-part_0
                                                                          (not
                                                                           arity-match?_0)))
                                                                    (let ((r_1
                                                                           (let ((proc_1
                                                                                  (unwrap
                                                                                   proc_0)))
                                                                             (if (let ((or-part_0
                                                                                        (if (symbol?
                                                                                             proc_1)
                                                                                          (if (let ((v_0
                                                                                                     (let ((or-part_0
                                                                                                            (hash-ref-either
                                                                                                             knowns13_0
                                                                                                             imports14_0
                                                                                                             proc_1)))
                                                                                                       (if or-part_0
                                                                                                         or-part_0
                                                                                                         (hash-ref
                                                                                                          prim-knowns12_0
                                                                                                          proc_1
                                                                                                          #f)))))
                                                                                                (if (ok-to-call?_0
                                                                                                     proc_1
                                                                                                     v_0
                                                                                                     (length
                                                                                                      args_0))
                                                                                                  (let ((app_0
                                                                                                         (known-procedure-arity-mask
                                                                                                          v_0)))
                                                                                                    (bitwise-bit-set?
                                                                                                     app_0
                                                                                                     (length
                                                                                                      args_0)))
                                                                                                  #f))
                                                                                            (simple-mutated-state?
                                                                                             (hash-ref
                                                                                              mutated15_0
                                                                                              proc_1
                                                                                              #f))
                                                                                            #f)
                                                                                          #f)))
                                                                                   (if or-part_0
                                                                                     or-part_0
                                                                                     (let ((hd_1
                                                                                            (let ((p_0
                                                                                                   (unwrap
                                                                                                    proc_1)))
                                                                                              (if (pair?
                                                                                                   p_0)
                                                                                                (unwrap
                                                                                                 (car
                                                                                                  p_0))
                                                                                                #f))))
                                                                                       (if (if (eq?
                                                                                                '|#%foreign-inline|
                                                                                                hd_1)
                                                                                             (let ((a_0
                                                                                                    (cdr
                                                                                                     (unwrap
                                                                                                      proc_1))))
                                                                                               (let ((p_0
                                                                                                      (unwrap
                                                                                                       a_0)))
                                                                                                 (if (pair?
                                                                                                      p_0)
                                                                                                   (let ((a_1
                                                                                                          (cdr
                                                                                                           p_0)))
                                                                                                     (let ((p_1
                                                                                                            (unwrap
                                                                                                             a_1)))
                                                                                                       (if (pair?
                                                                                                            p_1)
                                                                                                         (let ((a_2
                                                                                                                (cdr
                                                                                                                 p_1)))
                                                                                                           (let ((app_0
                                                                                                                  (unwrap
                                                                                                                   '())))
                                                                                                             (eq?
                                                                                                              app_0
                                                                                                              (unwrap
                                                                                                               a_2))))
                                                                                                         #f)))
                                                                                                   #f)))
                                                                                             #f)
                                                                                         (let ((mode_0
                                                                                                (let ((d_0
                                                                                                       (cdr
                                                                                                        (unwrap
                                                                                                         proc_1))))
                                                                                                  (let ((d_1
                                                                                                         (cdr
                                                                                                          (unwrap
                                                                                                           d_0))))
                                                                                                    (let ((a_0
                                                                                                           (car
                                                                                                            (unwrap
                                                                                                             d_1))))
                                                                                                      a_0)))))
                                                                                           (if (if (eq?
                                                                                                    mode_0
                                                                                                    'copy*)
                                                                                                 #t
                                                                                                 (if (eq?
                                                                                                      mode_0
                                                                                                      'pure*)
                                                                                                   (not
                                                                                                    no-alloc?2_0)
                                                                                                   #f))
                                                                                             (returns_0
                                                                                              1)
                                                                                             #f))
                                                                                         #f))))
                                                                               (letrec*
                                                                                ((for-loop_0
                                                                                  (|#%name|
                                                                                   for-loop
                                                                                   (lambda (result_0
                                                                                            lst_0)
                                                                                     (if (pair?
                                                                                          lst_0)
                                                                                       (let ((arg_0
                                                                                              (unsafe-car
                                                                                               lst_0)))
                                                                                         (let ((rest_0
                                                                                                (unsafe-cdr
                                                                                                 lst_0)))
                                                                                           (let ((result_1
                                                                                                  (let ((result_1
                                                                                                         (simple?_0
                                                                                                          arg_0
                                                                                                          1)))
                                                                                                    (values
                                                                                                     result_1))))
                                                                                             (if (if (not
                                                                                                      (let ((x_0
                                                                                                             (list
                                                                                                              arg_0)))
                                                                                                        (not
                                                                                                         result_1)))
                                                                                                   #t
                                                                                                   #f)
                                                                                               (for-loop_0
                                                                                                result_1
                                                                                                rest_0)
                                                                                               result_1))))
                                                                                       result_0)))))
                                                                                (for-loop_0
                                                                                 #t
                                                                                 args_0))
                                                                               #f))))
                                                                      (begin
                                                                        (hash-set!
                                                                         simples16_0
                                                                         e_0
                                                                         (let ((app_0
                                                                                (if r_1
                                                                                  (fxior
                                                                                   (vector-ref
                                                                                    c_0
                                                                                    0)
                                                                                   bit_0)
                                                                                  (vector-ref
                                                                                   c_0
                                                                                   0))))
                                                                           (let ((app_1
                                                                                  (if r_1
                                                                                    (vector-ref
                                                                                     c_0
                                                                                     1)
                                                                                    (fxior
                                                                                     (vector-ref
                                                                                      c_0
                                                                                      1)
                                                                                     bit_0))))
                                                                             (vector
                                                                              app_0
                                                                              app_1
                                                                              (vector-ref
                                                                               c_0
                                                                               2)))))
                                                                        r_1))
                                                                    r_0))))))))
                                                     (let ((e_1 (unwrap e_0)))
                                                       (if (returns_0 1)
                                                         (let ((or-part_0
                                                                (if (symbol?
                                                                     e_1)
                                                                  (simple-mutated-state?
                                                                   (hash-ref
                                                                    mutated15_0
                                                                    e_1
                                                                    #f))
                                                                  #f)))
                                                           (if or-part_0
                                                             or-part_0
                                                             (let ((or-part_1
                                                                    (integer?
                                                                     e_1)))
                                                               (if or-part_1
                                                                 or-part_1
                                                                 (let ((or-part_2
                                                                        (boolean?
                                                                         e_1)))
                                                                   (if or-part_2
                                                                     or-part_2
                                                                     (let ((or-part_3
                                                                            (string?
                                                                             e_1)))
                                                                       (if or-part_3
                                                                         or-part_3
                                                                         (let ((or-part_4
                                                                                (bytes?
                                                                                 e_1)))
                                                                           (if or-part_4
                                                                             or-part_4
                                                                             (regexp?
                                                                              e_1)))))))))))
                                                         #f)))))))))))))))))))))))))))
      (simple?_0 e11_0 result-arity5_0)))))
(define simple/can-copy?
  (lambda (e_0 prim-knowns_0 knowns_0 imports_0 mutated_0)
    (let ((hd_0
           (let ((p_0 (unwrap e_0))) (if (pair? p_0) (unwrap (car p_0)) #f))))
      (if (if (eq? 'quote hd_0)
            (let ((a_0 (cdr (unwrap e_0))))
              (let ((p_0 (unwrap a_0)))
                (if (pair? p_0)
                  (let ((a_1 (cdr p_0)))
                    (let ((app_0 (unwrap '()))) (eq? app_0 (unwrap a_1))))
                  #f)))
            #f)
        (let ((v_0
               (let ((d_0 (cdr (unwrap e_0))))
                 (let ((a_0 (car (unwrap d_0)))) a_0))))
          (can-copy-literal? v_0))
        (if (let ((p_0 (unwrap e_0))) (if (pair? p_0) #t #f))
          #f
          (let ((e_1 (unwrap e_0)))
            (let ((or-part_0
                   (if (symbol? e_1)
                     (simple-mutated-state? (hash-ref mutated_0 e_1 #f))
                     #f)))
              (if or-part_0 or-part_0 (can-copy-literal? e_1)))))))))
(define can-copy-literal?
  (lambda (e_0)
    (let ((or-part_0 (integer? e_0)))
      (if or-part_0
        or-part_0
        (let ((or-part_1 (boolean? e_0)))
          (if or-part_1 or-part_1 (symbol? e_0)))))))
(define known-copy->local-id
  (lambda (k_0 key_0 imports_0 prim-knowns_0)
    (let ((im_0 (hash-ref imports_0 key_0 #f)))
      (let ((id_0 (known-copy-id k_0)))
        (if (not im_0)
          id_0
          (if (hash-ref prim-knowns_0 (unwrap id_0) #f) id_0 #f))))))
(define find-known+import
  (lambda (key_0 prim-knowns_0 knowns_0 imports_0 mutated_0)
    (let ((cond-val_0 (hash-ref prim-knowns_0 key_0 #f)))
      (if cond-val_0
        (values cond-val_0 #f)
        (let ((cond-val_1 (hash-ref-either knowns_0 imports_0 key_0)))
          (if cond-val_1
            (if (not (simple-mutated-state? (hash-ref mutated_0 key_0 #f)))
              (values #f #f)
              (if (known-copy? cond-val_1)
                (let ((new-key_0
                       (unwrap
                        (known-copy->local-id
                         cond-val_1
                         key_0
                         imports_0
                         prim-knowns_0))))
                  (find-known+import
                   new-key_0
                   prim-knowns_0
                   knowns_0
                   imports_0
                   mutated_0))
                (values cond-val_1 (hash-ref imports_0 key_0 #f))))
            (values #f #f)))))))
(define find-known
  (lambda (key_0 prim-knowns_0 knowns_0 imports_0 mutated_0)
    (call-with-values
     (lambda ()
       (find-known+import key_0 prim-knowns_0 knowns_0 imports_0 mutated_0))
     (lambda (k_0 im_0) k_0))))
(define unwrap-let.1
  (|#%name|
   unwrap-let
   (lambda (keep-unsafe-begin?1_0 v3_0)
     (letrec*
      ((unwrap-let_0
        (|#%name|
         unwrap-let
         (lambda (v_0)
           (let ((hd_0
                  (let ((p_0 (unwrap v_0)))
                    (if (pair? p_0) (unwrap (car p_0)) #f))))
             (if (if (eq? 'let-values hd_0)
                   (let ((a_0 (cdr (unwrap v_0))))
                     (let ((p_0 (unwrap a_0)))
                       (if (pair? p_0)
                         (if (let ((a_1 (car p_0)))
                               (let ((app_0 (unwrap '())))
                                 (eq? app_0 (unwrap a_1))))
                           (let ((a_1 (cdr p_0)))
                             (let ((p_1 (unwrap a_1)))
                               (if (pair? p_1)
                                 (let ((a_2 (cdr p_1)))
                                   (let ((app_0 (unwrap '())))
                                     (eq? app_0 (unwrap a_2))))
                                 #f)))
                           #f)
                         #f)))
                   #f)
               (let ((body_0
                      (let ((d_0 (cdr (unwrap v_0))))
                        (let ((d_1 (cdr (unwrap d_0))))
                          (let ((a_0 (car (unwrap d_1)))) a_0)))))
                 (unwrap-let_0 body_0))
               (if (if (eq? 'letrec-values hd_0)
                     (let ((a_0 (cdr (unwrap v_0))))
                       (let ((p_0 (unwrap a_0)))
                         (if (pair? p_0)
                           (if (let ((a_1 (car p_0)))
                                 (let ((app_0 (unwrap '())))
                                   (eq? app_0 (unwrap a_1))))
                             (let ((a_1 (cdr p_0)))
                               (let ((p_1 (unwrap a_1)))
                                 (if (pair? p_1)
                                   (let ((a_2 (cdr p_1)))
                                     (let ((app_0 (unwrap '())))
                                       (eq? app_0 (unwrap a_2))))
                                   #f)))
                             #f)
                           #f)))
                     #f)
                 (let ((body_0
                        (let ((d_0 (cdr (unwrap v_0))))
                          (let ((d_1 (cdr (unwrap d_0))))
                            (let ((a_0 (car (unwrap d_1)))) a_0)))))
                   (unwrap-let_0 body_0))
                 (if (if (eq? 'begin hd_0)
                       (let ((a_0 (cdr (unwrap v_0))))
                         (let ((p_0 (unwrap a_0)))
                           (if (pair? p_0)
                             (let ((a_1 (cdr p_0)))
                               (let ((app_0 (unwrap '())))
                                 (eq? app_0 (unwrap a_1))))
                             #f)))
                       #f)
                   (let ((body_0
                          (let ((d_0 (cdr (unwrap v_0))))
                            (let ((a_0 (car (unwrap d_0)))) a_0))))
                     (unwrap-let_0 body_0))
                   (if (if (eq? 'begin-unsafe hd_0)
                         (let ((a_0 (cdr (unwrap v_0))))
                           (let ((p_0 (unwrap a_0)))
                             (if (pair? p_0)
                               (let ((a_1 (cdr p_0)))
                                 (let ((app_0 (unwrap '())))
                                   (eq? app_0 (unwrap a_1))))
                               #f)))
                         #f)
                     (let ((body_0
                            (let ((d_0 (cdr (unwrap v_0))))
                              (let ((a_0 (car (unwrap d_0)))) a_0))))
                       (if keep-unsafe-begin?1_0 v_0 (unwrap-let_0 body_0)))
                     (if (if (eq? 'begin0 hd_0)
                           (let ((a_0 (cdr (unwrap v_0))))
                             (let ((p_0 (unwrap a_0)))
                               (if (pair? p_0)
                                 (let ((a_1 (cdr p_0)))
                                   (let ((app_0 (unwrap '())))
                                     (eq? app_0 (unwrap a_1))))
                                 #f)))
                           #f)
                       (let ((body_0
                              (let ((d_0 (cdr (unwrap v_0))))
                                (let ((a_0 (car (unwrap d_0)))) a_0))))
                         (unwrap-let_0 body_0))
                       v_0))))))))))
      (unwrap-let_0 v3_0)))))
(define lambda?.1
  (|#%name|
   lambda?
   (lambda (simple?1_0 v3_0)
     (let ((v_0 (unwrap-let.1 #f v3_0)))
       (let ((hd_0
              (let ((p_0 (unwrap v_0)))
                (if (pair? p_0) (unwrap (car p_0)) #f))))
         (if (if (eq? 'lambda hd_0) #t #f)
           #t
           (if (if (eq? 'case-lambda hd_0) #t #f)
             #t
             (if (if (eq? 'let-values hd_0)
                   (let ((a_0 (cdr (unwrap v_0))))
                     (let ((p_0 (unwrap a_0)))
                       (if (pair? p_0)
                         (if (let ((a_1 (car p_0)))
                               (let ((p_1 (unwrap a_1)))
                                 (if (pair? p_1)
                                   (if (let ((a_2 (car p_1)))
                                         (let ((p_2 (unwrap a_2)))
                                           (if (pair? p_2)
                                             (if (let ((a_3 (car p_2)))
                                                   (let ((p_3 (unwrap a_3)))
                                                     (if (pair? p_3)
                                                       (let ((a_4 (cdr p_3)))
                                                         (let ((app_0
                                                                (unwrap '())))
                                                           (eq?
                                                            app_0
                                                            (unwrap a_4))))
                                                       #f)))
                                               (let ((a_3 (cdr p_2)))
                                                 (let ((p_3 (unwrap a_3)))
                                                   (if (pair? p_3)
                                                     (let ((a_4 (cdr p_3)))
                                                       (let ((app_0
                                                              (unwrap '())))
                                                         (eq?
                                                          app_0
                                                          (unwrap a_4))))
                                                     #f)))
                                               #f)
                                             #f)))
                                     (let ((a_2 (cdr p_1)))
                                       (let ((app_0 (unwrap '())))
                                         (eq? app_0 (unwrap a_2))))
                                     #f)
                                   #f)))
                           (let ((a_1 (cdr p_0)))
                             (let ((p_1 (unwrap a_1)))
                               (if (pair? p_1)
                                 (let ((a_2 (cdr p_1)))
                                   (let ((app_0 (unwrap '())))
                                     (eq? app_0 (unwrap a_2))))
                                 #f)))
                           #f)
                         #f)))
                   #f)
               (call-with-values
                (lambda ()
                  (let ((d_0 (cdr (unwrap v_0))))
                    (let ((p_0 (unwrap d_0)))
                      (call-with-values
                       (lambda ()
                         (let ((a_0 (car p_0)))
                           (let ((a_1 (car (unwrap a_0))))
                             (let ((p_1 (unwrap a_1)))
                               (let ((id_0
                                      (let ((a_2 (car p_1)))
                                        (let ((a_3 (car (unwrap a_2)))) a_3))))
                                 (let ((rhs_0
                                        (let ((d_1 (cdr p_1)))
                                          (let ((a_2 (car (unwrap d_1))))
                                            a_2))))
                                   (let ((id_1 id_0))
                                     (values id_1 rhs_0))))))))
                       (lambda (id_0 rhs_0)
                         (let ((body_0
                                (let ((d_1 (cdr p_0)))
                                  (let ((a_0 (car (unwrap d_1)))) a_0))))
                           (let ((id_1 id_0) (rhs_1 rhs_0))
                             (values id_1 rhs_1 body_0))))))))
                (lambda (id_0 rhs_0 body_0)
                  (let-lambda?.1 simple?1_0 id_0 rhs_0 body_0)))
               (if (if (eq? 'letrec-values hd_0)
                     (let ((a_0 (cdr (unwrap v_0))))
                       (let ((p_0 (unwrap a_0)))
                         (if (pair? p_0)
                           (if (let ((a_1 (car p_0)))
                                 (let ((p_1 (unwrap a_1)))
                                   (if (pair? p_1)
                                     (if (let ((a_2 (car p_1)))
                                           (let ((p_2 (unwrap a_2)))
                                             (if (pair? p_2)
                                               (if (let ((a_3 (car p_2)))
                                                     (let ((p_3 (unwrap a_3)))
                                                       (if (pair? p_3)
                                                         (let ((a_4 (cdr p_3)))
                                                           (let ((app_0
                                                                  (unwrap
                                                                   '())))
                                                             (eq?
                                                              app_0
                                                              (unwrap a_4))))
                                                         #f)))
                                                 (let ((a_3 (cdr p_2)))
                                                   (let ((p_3 (unwrap a_3)))
                                                     (if (pair? p_3)
                                                       (let ((a_4 (cdr p_3)))
                                                         (let ((app_0
                                                                (unwrap '())))
                                                           (eq?
                                                            app_0
                                                            (unwrap a_4))))
                                                       #f)))
                                                 #f)
                                               #f)))
                                       (let ((a_2 (cdr p_1)))
                                         (let ((app_0 (unwrap '())))
                                           (eq? app_0 (unwrap a_2))))
                                       #f)
                                     #f)))
                             (let ((a_1 (cdr p_0)))
                               (let ((p_1 (unwrap a_1)))
                                 (if (pair? p_1)
                                   (let ((a_2 (cdr p_1)))
                                     (let ((app_0 (unwrap '())))
                                       (eq? app_0 (unwrap a_2))))
                                   #f)))
                             #f)
                           #f)))
                     #f)
                 (call-with-values
                  (lambda ()
                    (let ((d_0 (cdr (unwrap v_0))))
                      (let ((p_0 (unwrap d_0)))
                        (call-with-values
                         (lambda ()
                           (let ((a_0 (car p_0)))
                             (let ((a_1 (car (unwrap a_0))))
                               (let ((p_1 (unwrap a_1)))
                                 (let ((id_0
                                        (let ((a_2 (car p_1)))
                                          (let ((a_3 (car (unwrap a_2))))
                                            a_3))))
                                   (let ((rhs_0
                                          (let ((d_1 (cdr p_1)))
                                            (let ((a_2 (car (unwrap d_1))))
                                              a_2))))
                                     (let ((id_1 id_0))
                                       (values id_1 rhs_0))))))))
                         (lambda (id_0 rhs_0)
                           (let ((body_0
                                  (let ((d_1 (cdr p_0)))
                                    (let ((a_0 (car (unwrap d_1)))) a_0))))
                             (let ((id_1 id_0) (rhs_1 rhs_0))
                               (values id_1 rhs_1 body_0))))))))
                  (lambda (id_0 rhs_0 body_0)
                    (let-lambda?.1 simple?1_0 id_0 rhs_0 body_0)))
                 (if (if (eq? 'let hd_0)
                       (let ((a_0 (cdr (unwrap v_0))))
                         (let ((p_0 (unwrap a_0)))
                           (if (pair? p_0)
                             (if (let ((a_1 (car p_0)))
                                   (let ((p_1 (unwrap a_1)))
                                     (if (pair? p_1)
                                       (if (let ((a_2 (car p_1)))
                                             (let ((p_2 (unwrap a_2)))
                                               (if (pair? p_2)
                                                 (let ((a_3 (cdr p_2)))
                                                   (let ((p_3 (unwrap a_3)))
                                                     (if (pair? p_3)
                                                       (let ((a_4 (cdr p_3)))
                                                         (let ((app_0
                                                                (unwrap '())))
                                                           (eq?
                                                            app_0
                                                            (unwrap a_4))))
                                                       #f)))
                                                 #f)))
                                         (let ((a_2 (cdr p_1)))
                                           (let ((app_0 (unwrap '())))
                                             (eq? app_0 (unwrap a_2))))
                                         #f)
                                       #f)))
                               (let ((a_1 (cdr p_0)))
                                 (let ((p_1 (unwrap a_1)))
                                   (if (pair? p_1)
                                     (let ((a_2 (cdr p_1)))
                                       (let ((app_0 (unwrap '())))
                                         (eq? app_0 (unwrap a_2))))
                                     #f)))
                               #f)
                             #f)))
                       #f)
                   (call-with-values
                    (lambda ()
                      (let ((d_0 (cdr (unwrap v_0))))
                        (let ((p_0 (unwrap d_0)))
                          (call-with-values
                           (lambda ()
                             (let ((a_0 (car p_0)))
                               (let ((a_1 (car (unwrap a_0))))
                                 (let ((p_1 (unwrap a_1)))
                                   (let ((id_0 (let ((a_2 (car p_1))) a_2)))
                                     (let ((rhs_0
                                            (let ((d_1 (cdr p_1)))
                                              (let ((a_2 (car (unwrap d_1))))
                                                a_2))))
                                       (let ((id_1 id_0))
                                         (values id_1 rhs_0))))))))
                           (lambda (id_0 rhs_0)
                             (let ((body_0
                                    (let ((d_1 (cdr p_0)))
                                      (let ((a_0 (car (unwrap d_1)))) a_0))))
                               (let ((id_1 id_0) (rhs_1 rhs_0))
                                 (values id_1 rhs_1 body_0))))))))
                    (lambda (id_0 rhs_0 body_0)
                      (let-lambda?.1 simple?1_0 id_0 rhs_0 body_0)))
                   (if (if (eq? 'letrec* hd_0)
                         (let ((a_0 (cdr (unwrap v_0))))
                           (let ((p_0 (unwrap a_0)))
                             (if (pair? p_0)
                               (if (let ((a_1 (car p_0)))
                                     (let ((p_1 (unwrap a_1)))
                                       (if (pair? p_1)
                                         (if (let ((a_2 (car p_1)))
                                               (let ((p_2 (unwrap a_2)))
                                                 (if (pair? p_2)
                                                   (let ((a_3 (cdr p_2)))
                                                     (let ((p_3 (unwrap a_3)))
                                                       (if (pair? p_3)
                                                         (let ((a_4 (cdr p_3)))
                                                           (let ((app_0
                                                                  (unwrap
                                                                   '())))
                                                             (eq?
                                                              app_0
                                                              (unwrap a_4))))
                                                         #f)))
                                                   #f)))
                                           (let ((a_2 (cdr p_1)))
                                             (let ((app_0 (unwrap '())))
                                               (eq? app_0 (unwrap a_2))))
                                           #f)
                                         #f)))
                                 (let ((a_1 (cdr p_0)))
                                   (let ((p_1 (unwrap a_1)))
                                     (if (pair? p_1)
                                       (let ((a_2 (cdr p_1)))
                                         (let ((app_0 (unwrap '())))
                                           (eq? app_0 (unwrap a_2))))
                                       #f)))
                                 #f)
                               #f)))
                         #f)
                     (call-with-values
                      (lambda ()
                        (let ((d_0 (cdr (unwrap v_0))))
                          (let ((p_0 (unwrap d_0)))
                            (call-with-values
                             (lambda ()
                               (let ((a_0 (car p_0)))
                                 (let ((a_1 (car (unwrap a_0))))
                                   (let ((p_1 (unwrap a_1)))
                                     (let ((id_0 (let ((a_2 (car p_1))) a_2)))
                                       (let ((rhs_0
                                              (let ((d_1 (cdr p_1)))
                                                (let ((a_2 (car (unwrap d_1))))
                                                  a_2))))
                                         (let ((id_1 id_0))
                                           (values id_1 rhs_0))))))))
                             (lambda (id_0 rhs_0)
                               (let ((body_0
                                      (let ((d_1 (cdr p_0)))
                                        (let ((a_0 (car (unwrap d_1)))) a_0))))
                                 (let ((id_1 id_0) (rhs_1 rhs_0))
                                   (values id_1 rhs_1 body_0))))))))
                      (lambda (id_0 rhs_0 body_0)
                        (let-lambda?.1 simple?1_0 id_0 rhs_0 body_0)))
                     (if (if (eq? 'let-values hd_0)
                           (let ((a_0 (cdr (unwrap v_0))))
                             (let ((p_0 (unwrap a_0)))
                               (if (pair? p_0)
                                 (let ((a_1 (cdr p_0)))
                                   (let ((p_1 (unwrap a_1)))
                                     (if (pair? p_1)
                                       (let ((a_2 (cdr p_1)))
                                         (let ((app_0 (unwrap '())))
                                           (eq? app_0 (unwrap a_2))))
                                       #f)))
                                 #f)))
                           #f)
                       (let ((body_0
                              (let ((d_0 (cdr (unwrap v_0))))
                                (let ((d_1 (cdr (unwrap d_0))))
                                  (let ((a_0 (car (unwrap d_1)))) a_0)))))
                         (if (not simple?1_0) (lambda?.1 #f body_0) #f))
                       (if (if (eq? 'letrec-values hd_0)
                             (let ((a_0 (cdr (unwrap v_0))))
                               (let ((p_0 (unwrap a_0)))
                                 (if (pair? p_0)
                                   (let ((a_1 (cdr p_0)))
                                     (let ((p_1 (unwrap a_1)))
                                       (if (pair? p_1)
                                         (let ((a_2 (cdr p_1)))
                                           (let ((app_0 (unwrap '())))
                                             (eq? app_0 (unwrap a_2))))
                                         #f)))
                                   #f)))
                             #f)
                         (let ((body_0
                                (let ((d_0 (cdr (unwrap v_0))))
                                  (let ((d_1 (cdr (unwrap d_0))))
                                    (let ((a_0 (car (unwrap d_1)))) a_0)))))
                           (if (not simple?1_0) (lambda?.1 #f body_0) #f))
                         (if (if (eq? 'begin hd_0) #t #f)
                           (let ((bodys_0
                                  (let ((d_0 (cdr (unwrap v_0)))) d_0)))
                             (if (not simple?1_0)
                               (letrec*
                                ((loop_0
                                  (|#%name|
                                   loop
                                   (lambda (bodys_1)
                                     (if (null? (cdr bodys_1))
                                       (let ((temp30_0 (car bodys_1)))
                                         (lambda?.1 simple?1_0 temp30_0))
                                       (loop_0 (cdr bodys_1)))))))
                                (loop_0 bodys_0))
                               #f))
                           (if (if (eq? 'values hd_0)
                                 (let ((a_0 (cdr (unwrap v_0))))
                                   (let ((p_0 (unwrap a_0)))
                                     (if (pair? p_0)
                                       (let ((a_1 (cdr p_0)))
                                         (let ((app_0 (unwrap '())))
                                           (eq? app_0 (unwrap a_1))))
                                       #f)))
                                 #f)
                             (let ((body_0
                                    (let ((d_0 (cdr (unwrap v_0))))
                                      (let ((a_0 (car (unwrap d_0)))) a_0))))
                               (lambda?.1 simple?1_0 body_0))
                             #f)))))))))))))))
(define let-lambda?.1
  (|#%name|
   let-lambda?
   (lambda (simple?5_0 id7_0 rhs8_0 body9_0)
     (let ((or-part_0
            (if (let ((app_0 (unwrap id7_0))) (eq? app_0 (unwrap body9_0)))
              (lambda?.1 simple?5_0 rhs8_0)
              #f)))
       (if or-part_0
         or-part_0
         (if (not simple?5_0) (lambda?.1 simple?5_0 body9_0) #f))))))
(define extract-lambda
  (lambda (v_0)
    (let ((new-v_0 (unwrap-let.1 #f v_0)))
      (let ((hd_0
             (let ((p_0 (unwrap new-v_0)))
               (if (pair? p_0) (unwrap (car p_0)) #f))))
        (if (if (eq? 'lambda hd_0) #t #f)
          (values new-v_0 #t)
          (if (if (eq? 'case-lambda hd_0) #t #f)
            (values new-v_0 #t)
            (if (if (eq? 'let-values hd_0)
                  (let ((a_0 (cdr (unwrap new-v_0))))
                    (let ((p_0 (unwrap a_0)))
                      (if (pair? p_0)
                        (if (let ((a_1 (car p_0)))
                              (let ((p_1 (unwrap a_1)))
                                (if (pair? p_1)
                                  (if (let ((a_2 (car p_1)))
                                        (let ((p_2 (unwrap a_2)))
                                          (if (pair? p_2)
                                            (if (let ((a_3 (car p_2)))
                                                  (let ((p_3 (unwrap a_3)))
                                                    (if (pair? p_3)
                                                      (let ((a_4 (cdr p_3)))
                                                        (let ((app_0
                                                               (unwrap '())))
                                                          (eq?
                                                           app_0
                                                           (unwrap a_4))))
                                                      #f)))
                                              (let ((a_3 (cdr p_2)))
                                                (let ((p_3 (unwrap a_3)))
                                                  (if (pair? p_3)
                                                    (let ((a_4 (cdr p_3)))
                                                      (let ((app_0
                                                             (unwrap '())))
                                                        (eq?
                                                         app_0
                                                         (unwrap a_4))))
                                                    #f)))
                                              #f)
                                            #f)))
                                    (let ((a_2 (cdr p_1)))
                                      (let ((app_0 (unwrap '())))
                                        (eq? app_0 (unwrap a_2))))
                                    #f)
                                  #f)))
                          (let ((a_1 (cdr p_0)))
                            (let ((p_1 (unwrap a_1)))
                              (if (pair? p_1)
                                (let ((a_2 (cdr p_1)))
                                  (let ((app_0 (unwrap '())))
                                    (eq? app_0 (unwrap a_2))))
                                #f)))
                          #f)
                        #f)))
                  #f)
              (call-with-values
               (lambda ()
                 (let ((d_0 (cdr (unwrap new-v_0))))
                   (let ((p_0 (unwrap d_0)))
                     (call-with-values
                      (lambda ()
                        (let ((a_0 (car p_0)))
                          (let ((a_1 (car (unwrap a_0))))
                            (let ((p_1 (unwrap a_1)))
                              (let ((id_0
                                     (let ((a_2 (car p_1)))
                                       (let ((a_3 (car (unwrap a_2)))) a_3))))
                                (let ((rhs_0
                                       (let ((d_1 (cdr p_1)))
                                         (let ((a_2 (car (unwrap d_1))))
                                           a_2))))
                                  (let ((id_1 id_0)) (values id_1 rhs_0))))))))
                      (lambda (id_0 rhs_0)
                        (let ((body_0
                               (let ((d_1 (cdr p_0)))
                                 (let ((a_0 (car (unwrap d_1)))) a_0))))
                          (let ((id_1 id_0) (rhs_1 rhs_0))
                            (values id_1 rhs_1 body_0))))))))
               (lambda (id_0 rhs_0 body_0)
                 (extract-let-lambda #f id_0 rhs_0 body_0)))
              (if (if (eq? 'letrec-values hd_0)
                    (let ((a_0 (cdr (unwrap new-v_0))))
                      (let ((p_0 (unwrap a_0)))
                        (if (pair? p_0)
                          (if (let ((a_1 (car p_0)))
                                (let ((p_1 (unwrap a_1)))
                                  (if (pair? p_1)
                                    (if (let ((a_2 (car p_1)))
                                          (let ((p_2 (unwrap a_2)))
                                            (if (pair? p_2)
                                              (if (let ((a_3 (car p_2)))
                                                    (let ((p_3 (unwrap a_3)))
                                                      (if (pair? p_3)
                                                        (let ((a_4 (cdr p_3)))
                                                          (let ((app_0
                                                                 (unwrap '())))
                                                            (eq?
                                                             app_0
                                                             (unwrap a_4))))
                                                        #f)))
                                                (let ((a_3 (cdr p_2)))
                                                  (let ((p_3 (unwrap a_3)))
                                                    (if (pair? p_3)
                                                      (let ((a_4 (cdr p_3)))
                                                        (let ((app_0
                                                               (unwrap '())))
                                                          (eq?
                                                           app_0
                                                           (unwrap a_4))))
                                                      #f)))
                                                #f)
                                              #f)))
                                      (let ((a_2 (cdr p_1)))
                                        (let ((app_0 (unwrap '())))
                                          (eq? app_0 (unwrap a_2))))
                                      #f)
                                    #f)))
                            (let ((a_1 (cdr p_0)))
                              (let ((p_1 (unwrap a_1)))
                                (if (pair? p_1)
                                  (let ((a_2 (cdr p_1)))
                                    (let ((app_0 (unwrap '())))
                                      (eq? app_0 (unwrap a_2))))
                                  #f)))
                            #f)
                          #f)))
                    #f)
                (call-with-values
                 (lambda ()
                   (let ((d_0 (cdr (unwrap new-v_0))))
                     (let ((p_0 (unwrap d_0)))
                       (call-with-values
                        (lambda ()
                          (let ((a_0 (car p_0)))
                            (let ((a_1 (car (unwrap a_0))))
                              (let ((p_1 (unwrap a_1)))
                                (let ((id_0
                                       (let ((a_2 (car p_1)))
                                         (let ((a_3 (car (unwrap a_2))))
                                           a_3))))
                                  (let ((rhs_0
                                         (let ((d_1 (cdr p_1)))
                                           (let ((a_2 (car (unwrap d_1))))
                                             a_2))))
                                    (let ((id_1 id_0))
                                      (values id_1 rhs_0))))))))
                        (lambda (id_0 rhs_0)
                          (let ((body_0
                                 (let ((d_1 (cdr p_0)))
                                   (let ((a_0 (car (unwrap d_1)))) a_0))))
                            (let ((id_1 id_0) (rhs_1 rhs_0))
                              (values id_1 rhs_1 body_0))))))))
                 (lambda (id_0 rhs_0 body_0)
                   (extract-let-lambda #t id_0 rhs_0 body_0)))
                (if (if (eq? 'let hd_0)
                      (let ((a_0 (cdr (unwrap new-v_0))))
                        (let ((p_0 (unwrap a_0)))
                          (if (pair? p_0)
                            (if (let ((a_1 (car p_0)))
                                  (let ((p_1 (unwrap a_1)))
                                    (if (pair? p_1)
                                      (if (let ((a_2 (car p_1)))
                                            (let ((p_2 (unwrap a_2)))
                                              (if (pair? p_2)
                                                (let ((a_3 (cdr p_2)))
                                                  (let ((p_3 (unwrap a_3)))
                                                    (if (pair? p_3)
                                                      (let ((a_4 (cdr p_3)))
                                                        (let ((app_0
                                                               (unwrap '())))
                                                          (eq?
                                                           app_0
                                                           (unwrap a_4))))
                                                      #f)))
                                                #f)))
                                        (let ((a_2 (cdr p_1)))
                                          (let ((app_0 (unwrap '())))
                                            (eq? app_0 (unwrap a_2))))
                                        #f)
                                      #f)))
                              (let ((a_1 (cdr p_0)))
                                (let ((p_1 (unwrap a_1)))
                                  (if (pair? p_1)
                                    (let ((a_2 (cdr p_1)))
                                      (let ((app_0 (unwrap '())))
                                        (eq? app_0 (unwrap a_2))))
                                    #f)))
                              #f)
                            #f)))
                      #f)
                  (call-with-values
                   (lambda ()
                     (let ((d_0 (cdr (unwrap new-v_0))))
                       (let ((p_0 (unwrap d_0)))
                         (call-with-values
                          (lambda ()
                            (let ((a_0 (car p_0)))
                              (let ((a_1 (car (unwrap a_0))))
                                (let ((p_1 (unwrap a_1)))
                                  (let ((id_0 (let ((a_2 (car p_1))) a_2)))
                                    (let ((rhs_0
                                           (let ((d_1 (cdr p_1)))
                                             (let ((a_2 (car (unwrap d_1))))
                                               a_2))))
                                      (let ((id_1 id_0))
                                        (values id_1 rhs_0))))))))
                          (lambda (id_0 rhs_0)
                            (let ((body_0
                                   (let ((d_1 (cdr p_0)))
                                     (let ((a_0 (car (unwrap d_1)))) a_0))))
                              (let ((id_1 id_0) (rhs_1 rhs_0))
                                (values id_1 rhs_1 body_0))))))))
                   (lambda (id_0 rhs_0 body_0)
                     (extract-let-lambda #f id_0 rhs_0 body_0)))
                  (if (if (eq? 'letrec* hd_0)
                        (let ((a_0 (cdr (unwrap new-v_0))))
                          (let ((p_0 (unwrap a_0)))
                            (if (pair? p_0)
                              (if (let ((a_1 (car p_0)))
                                    (let ((p_1 (unwrap a_1)))
                                      (if (pair? p_1)
                                        (if (let ((a_2 (car p_1)))
                                              (let ((p_2 (unwrap a_2)))
                                                (if (pair? p_2)
                                                  (let ((a_3 (cdr p_2)))
                                                    (let ((p_3 (unwrap a_3)))
                                                      (if (pair? p_3)
                                                        (let ((a_4 (cdr p_3)))
                                                          (let ((app_0
                                                                 (unwrap '())))
                                                            (eq?
                                                             app_0
                                                             (unwrap a_4))))
                                                        #f)))
                                                  #f)))
                                          (let ((a_2 (cdr p_1)))
                                            (let ((app_0 (unwrap '())))
                                              (eq? app_0 (unwrap a_2))))
                                          #f)
                                        #f)))
                                (let ((a_1 (cdr p_0)))
                                  (let ((p_1 (unwrap a_1)))
                                    (if (pair? p_1)
                                      (let ((a_2 (cdr p_1)))
                                        (let ((app_0 (unwrap '())))
                                          (eq? app_0 (unwrap a_2))))
                                      #f)))
                                #f)
                              #f)))
                        #f)
                    (call-with-values
                     (lambda ()
                       (let ((d_0 (cdr (unwrap new-v_0))))
                         (let ((p_0 (unwrap d_0)))
                           (call-with-values
                            (lambda ()
                              (let ((a_0 (car p_0)))
                                (let ((a_1 (car (unwrap a_0))))
                                  (let ((p_1 (unwrap a_1)))
                                    (let ((id_0 (let ((a_2 (car p_1))) a_2)))
                                      (let ((rhs_0
                                             (let ((d_1 (cdr p_1)))
                                               (let ((a_2 (car (unwrap d_1))))
                                                 a_2))))
                                        (let ((id_1 id_0))
                                          (values id_1 rhs_0))))))))
                            (lambda (id_0 rhs_0)
                              (let ((body_0
                                     (let ((d_1 (cdr p_0)))
                                       (let ((a_0 (car (unwrap d_1)))) a_0))))
                                (let ((id_1 id_0) (rhs_1 rhs_0))
                                  (values id_1 rhs_1 body_0))))))))
                     (lambda (id_0 rhs_0 body_0)
                       (extract-let-lambda #t id_0 rhs_0 body_0)))
                    (if (if (eq? 'let-values hd_0)
                          (let ((a_0 (cdr (unwrap new-v_0))))
                            (let ((p_0 (unwrap a_0)))
                              (if (pair? p_0)
                                (let ((a_1 (cdr p_0)))
                                  (let ((p_1 (unwrap a_1)))
                                    (if (pair? p_1)
                                      (let ((a_2 (cdr p_1)))
                                        (let ((app_0 (unwrap '())))
                                          (eq? app_0 (unwrap a_2))))
                                      #f)))
                                #f)))
                          #f)
                      (let ((body_0
                             (let ((d_0 (cdr (unwrap new-v_0))))
                               (let ((d_1 (cdr (unwrap d_0))))
                                 (let ((a_0 (car (unwrap d_1)))) a_0)))))
                        (extract-lambda* body_0))
                      (if (if (eq? 'letrec-values hd_0)
                            (let ((a_0 (cdr (unwrap new-v_0))))
                              (let ((p_0 (unwrap a_0)))
                                (if (pair? p_0)
                                  (let ((a_1 (cdr p_0)))
                                    (let ((p_1 (unwrap a_1)))
                                      (if (pair? p_1)
                                        (let ((a_2 (cdr p_1)))
                                          (let ((app_0 (unwrap '())))
                                            (eq? app_0 (unwrap a_2))))
                                        #f)))
                                  #f)))
                            #f)
                        (let ((body_0
                               (let ((d_0 (cdr (unwrap new-v_0))))
                                 (let ((d_1 (cdr (unwrap d_0))))
                                   (let ((a_0 (car (unwrap d_1)))) a_0)))))
                          (extract-lambda* body_0))
                        (if (if (eq? 'let hd_0)
                              (let ((a_0 (cdr (unwrap new-v_0))))
                                (let ((p_0 (unwrap a_0)))
                                  (if (pair? p_0)
                                    (let ((a_1 (cdr p_0)))
                                      (let ((p_1 (unwrap a_1)))
                                        (if (pair? p_1)
                                          (let ((a_2 (cdr p_1)))
                                            (let ((app_0 (unwrap '())))
                                              (eq? app_0 (unwrap a_2))))
                                          #f)))
                                    #f)))
                              #f)
                          (let ((body_0
                                 (let ((d_0 (cdr (unwrap new-v_0))))
                                   (let ((d_1 (cdr (unwrap d_0))))
                                     (let ((a_0 (car (unwrap d_1)))) a_0)))))
                            (extract-lambda* body_0))
                          (if (if (eq? 'letrec* hd_0)
                                (let ((a_0 (cdr (unwrap new-v_0))))
                                  (let ((p_0 (unwrap a_0)))
                                    (if (pair? p_0)
                                      (let ((a_1 (cdr p_0)))
                                        (let ((p_1 (unwrap a_1)))
                                          (if (pair? p_1)
                                            (let ((a_2 (cdr p_1)))
                                              (let ((app_0 (unwrap '())))
                                                (eq? app_0 (unwrap a_2))))
                                            #f)))
                                      #f)))
                                #f)
                            (let ((body_0
                                   (let ((d_0 (cdr (unwrap new-v_0))))
                                     (let ((d_1 (cdr (unwrap d_0))))
                                       (let ((a_0 (car (unwrap d_1)))) a_0)))))
                              (extract-lambda* body_0))
                            (if (if (eq? 'begin hd_0) #t #f)
                              (let ((bodys_0
                                     (let ((d_0 (cdr (unwrap new-v_0)))) d_0)))
                                (letrec*
                                 ((loop_0
                                   (|#%name|
                                    loop
                                    (lambda (bodys_1)
                                      (if (null? (cdr bodys_1))
                                        (extract-lambda* (car bodys_1))
                                        (loop_0 (cdr bodys_1)))))))
                                 (loop_0 bodys_0)))
                              (if (if (eq? 'values hd_0)
                                    (let ((a_0 (cdr (unwrap new-v_0))))
                                      (let ((p_0 (unwrap a_0)))
                                        (if (pair? p_0)
                                          (let ((a_1 (cdr p_0)))
                                            (let ((app_0 (unwrap '())))
                                              (eq? app_0 (unwrap a_1))))
                                          #f)))
                                    #f)
                                (let ((body_0
                                       (let ((d_0 (cdr (unwrap new-v_0))))
                                         (let ((a_0 (car (unwrap d_0))))
                                           a_0))))
                                  (extract-lambda body_0))
                                (error
                                 'match
                                 "failed ~e"
                                 new-v_0)))))))))))))))))
(define extract-let-lambda
  (lambda (rec?_0 id_0 rhs_0 body_0)
    (if (let ((app_0 (unwrap id_0))) (eq? app_0 (unwrap body_0)))
      (if rec?_0 (extract-lambda* rhs_0) (extract-lambda rhs_0))
      (extract-lambda* body_0))))
(define extract-lambda*
  (lambda (v_0)
    (call-with-values
     (lambda () (extract-lambda v_0))
     (lambda (lam_0 inlinable?_0) (values lam_0 #f)))))
(define lambda-arity-mask
  (lambda (v_0)
    (let ((hd_0
           (let ((p_0 (unwrap v_0))) (if (pair? p_0) (unwrap (car p_0)) #f))))
      (if (if (eq? 'lambda hd_0)
            (let ((a_0 (cdr (unwrap v_0))))
              (let ((p_0 (unwrap a_0))) (if (pair? p_0) #t #f)))
            #f)
        (let ((args_0
               (let ((d_0 (cdr (unwrap v_0))))
                 (let ((a_0 (car (unwrap d_0)))) a_0))))
          (args-arity-mask args_0))
        (if (if (eq? 'case-lambda hd_0)
              (let ((a_0 (cdr (unwrap v_0))))
                (if (wrap-list? a_0)
                  (letrec*
                   ((for-loop_0
                     (|#%name|
                      for-loop
                      (lambda (result_0 lst_0)
                        (if (not (null? (unwrap lst_0)))
                          (let ((v_1
                                 (if (pair? (unwrap lst_0))
                                   (wrap-car lst_0)
                                   lst_0)))
                            (let ((rest_0
                                   (if (pair? (unwrap lst_0))
                                     (wrap-cdr lst_0)
                                     null)))
                              (let ((v_2 v_1))
                                (let ((result_1
                                       (let ((result_1
                                              (let ((p_0 (unwrap v_2)))
                                                (if (pair? p_0) #t #f))))
                                         (values result_1))))
                                  (if (if (not
                                           (let ((x_0 (list v_2)))
                                             (not result_1)))
                                        #t
                                        #f)
                                    (for-loop_0 result_1 rest_0)
                                    result_1)))))
                          result_0)))))
                   (for-loop_0 #t a_0))
                  #f))
              #f)
          (let ((argss_0
                 (let ((d_0 (cdr (unwrap v_0))))
                   (let ((argss_0
                          (letrec*
                           ((for-loop_0
                             (|#%name|
                              for-loop
                              (lambda (argss_0 lst_0)
                                (if (not (null? (unwrap lst_0)))
                                  (let ((v_1
                                         (if (pair? (unwrap lst_0))
                                           (wrap-car lst_0)
                                           lst_0)))
                                    (let ((rest_0
                                           (if (pair? (unwrap lst_0))
                                             (wrap-cdr lst_0)
                                             null)))
                                      (let ((v_2 v_1))
                                        (let ((argss_1
                                               (let ((argss_1
                                                      (let ((argss39_0
                                                             (let ((a_0
                                                                    (car
                                                                     (unwrap
                                                                      v_2))))
                                                               a_0)))
                                                        (cons
                                                         argss39_0
                                                         argss_0))))
                                                 (values argss_1))))
                                          (for-loop_0 argss_1 rest_0)))))
                                  argss_0)))))
                           (for-loop_0 null d_0))))
                     (reverse$1 argss_0)))))
            (letrec*
             ((for-loop_0
               (|#%name|
                for-loop
                (lambda (mask_0 lst_0)
                  (if (pair? lst_0)
                    (let ((args_0 (unsafe-car lst_0)))
                      (let ((rest_0 (unsafe-cdr lst_0)))
                        (let ((mask_1
                               (let ((mask_1
                                      (bitwise-ior
                                       mask_0
                                       (args-arity-mask args_0))))
                                 (values mask_1))))
                          (for-loop_0 mask_1 rest_0))))
                    mask_0)))))
             (for-loop_0 0 argss_0)))
          (error 'match "failed ~e" v_0))))))
(define args-arity-mask
  (lambda (args_0)
    (if (null? (unwrap args_0))
      1
      (if (pair? (unwrap args_0))
        (arithmetic-shift (args-arity-mask (wrap-cdr args_0)) 1)
        -1))))
(define finish_2575
  (make-struct-type-install-properties
   '(struct-type-info)
   11
   0
   #f
   (list (cons prop:authentic #t))
   (current-inspector)
   #f
   '(0 1 2 3 4 5 6 7 8 9 10)
   #f
   'struct-type-info))
(define struct:struct-type-info
  (make-record-type-descriptor
   'struct-type-info
   #f
   (|#%nongenerative-uid| struct-type-info)
   #f
   #f
   '(11 . 0)))
(define effect_2037 (finish_2575 struct:struct-type-info))
(define struct-type-info1.1
  (|#%name|
   struct-type-info
   (record-constructor
    (make-record-constructor-descriptor struct:struct-type-info #f #f))))
(define struct-type-info?
  (|#%name| struct-type-info? (record-predicate struct:struct-type-info)))
(define struct-type-info-name
  (|#%name| struct-type-info-name (record-accessor struct:struct-type-info 0)))
(define struct-type-info-parent
  (|#%name|
   struct-type-info-parent
   (record-accessor struct:struct-type-info 1)))
(define struct-type-info-immediate-field-count
  (|#%name|
   struct-type-info-immediate-field-count
   (record-accessor struct:struct-type-info 2)))
(define struct-type-info-field-count
  (|#%name|
   struct-type-info-field-count
   (record-accessor struct:struct-type-info 3)))
(define struct-type-info-pure-constructor?
  (|#%name|
   struct-type-info-pure-constructor?
   (record-accessor struct:struct-type-info 4)))
(define struct-type-info-authentic?
  (|#%name|
   struct-type-info-authentic?
   (record-accessor struct:struct-type-info 5)))
(define struct-type-info-sealed?
  (|#%name|
   struct-type-info-sealed?
   (record-accessor struct:struct-type-info 6)))
(define struct-type-info-prefab-immutables
  (|#%name|
   struct-type-info-prefab-immutables
   (record-accessor struct:struct-type-info 7)))
(define struct-type-info-non-prefab-immutables
  (|#%name|
   struct-type-info-non-prefab-immutables
   (record-accessor struct:struct-type-info 8)))
(define struct-type-info-constructor-name-expr
  (|#%name|
   struct-type-info-constructor-name-expr
   (record-accessor struct:struct-type-info 9)))
(define struct-type-info-rest
  (|#%name|
   struct-type-info-rest
   (record-accessor struct:struct-type-info 10)))
(define struct-type-info-rest-properties-list-pos 0)
(define make-struct-type-info
  (lambda (v_0 prim-knowns_0 knowns_0 imports_0 mutated_0)
    (let ((v_1 (unwrap-let.1 #f v_0)))
      (let ((hd_0
             (let ((p_0 (unwrap v_1)))
               (if (pair? p_0) (unwrap (car p_0)) #f))))
        (if (if (eq? 'make-struct-type hd_0)
              (let ((a_0 (cdr (unwrap v_1))))
                (let ((p_0 (unwrap a_0)))
                  (if (pair? p_0)
                    (if (let ((a_1 (car p_0)))
                          (let ((p_1 (unwrap a_1)))
                            (if (pair? p_1)
                              (if (let ((a_2 (car p_1)))
                                    (let ((app_0 (unwrap 'quote)))
                                      (eq? app_0 (unwrap a_2))))
                                (let ((a_2 (cdr p_1)))
                                  (let ((p_2 (unwrap a_2)))
                                    (if (pair? p_2)
                                      (let ((a_3 (cdr p_2)))
                                        (let ((app_0 (unwrap '())))
                                          (eq? app_0 (unwrap a_3))))
                                      #f)))
                                #f)
                              #f)))
                      (let ((a_1 (cdr p_0)))
                        (let ((p_1 (unwrap a_1)))
                          (if (pair? p_1)
                            (let ((a_2 (cdr p_1)))
                              (let ((p_2 (unwrap a_2)))
                                (if (pair? p_2)
                                  (let ((a_3 (cdr p_2)))
                                    (let ((p_3 (unwrap a_3)))
                                      (if (pair? p_3)
                                        (if (let ((a_4 (car p_3)))
                                              (wrap-equal? 0 a_4))
                                          (let ((a_4 (cdr p_3)))
                                            (let ((p_4 (unwrap a_4)))
                                              (if (pair? p_4)
                                                (if (let ((a_5 (car p_4)))
                                                      (let ((app_0
                                                             (unwrap #f)))
                                                        (eq?
                                                         app_0
                                                         (unwrap a_5))))
                                                  #t
                                                  #f)
                                                #f)))
                                          #f)
                                        #f)))
                                  #f)))
                            #f)))
                      #f)
                    #f)))
              #f)
          (call-with-values
           (lambda ()
             (let ((d_0 (cdr (unwrap v_1))))
               (let ((p_0 (unwrap d_0)))
                 (let ((name_0
                        (let ((a_0 (car p_0)))
                          (let ((d_1 (cdr (unwrap a_0))))
                            (let ((a_1 (car (unwrap d_1)))) a_1)))))
                   (call-with-values
                    (lambda ()
                      (let ((d_1 (cdr p_0)))
                        (let ((p_1 (unwrap d_1)))
                          (let ((parent_0 (let ((a_0 (car p_1))) a_0)))
                            (call-with-values
                             (lambda ()
                               (let ((d_2 (cdr p_1)))
                                 (let ((p_2 (unwrap d_2)))
                                   (let ((fields_0
                                          (let ((a_0 (car p_2))) a_0)))
                                     (let ((rest_0
                                            (let ((d_3 (cdr p_2)))
                                              (let ((d_4 (cdr (unwrap d_3))))
                                                (let ((d_5 (cdr (unwrap d_4))))
                                                  d_5)))))
                                       (let ((fields_1 fields_0))
                                         (values fields_1 rest_0)))))))
                             (lambda (fields_0 rest_0)
                               (let ((parent_1 parent_0))
                                 (values parent_1 fields_0 rest_0))))))))
                    (lambda (parent_0 fields_0 rest_0)
                      (let ((name_1 name_0))
                        (values name_1 parent_0 fields_0 rest_0))))))))
           (lambda (name_0 parent_0 fields_0 rest_0)
             (let ((u-name_0 (unwrap name_0)))
               (let ((u-parent_0
                      (let ((u-parent_0 (unwrap parent_0)))
                        (let ((or-part_0
                               (extract-struct-typed-from-checked u-parent_0)))
                          (if or-part_0 or-part_0 u-parent_0)))))
                 (let ((u-name_1 u-name_0))
                   (if (symbol? u-name_1)
                     (if (let ((or-part_0 (not u-parent_0)))
                           (if or-part_0
                             or-part_0
                             (known-struct-type?
                              (call-with-values
                               (lambda ()
                                 (find-known+import
                                  u-parent_0
                                  prim-knowns_0
                                  knowns_0
                                  imports_0
                                  mutated_0))
                               (lambda (k_0 im_0) k_0)))))
                       (if (exact-nonnegative-integer? fields_0)
                         (if (<= (length rest_0) 6)
                           (let ((prefab-imms_0
                                  (if (let ((app_0 (unwrap '())))
                                        (eq? app_0 (unwrap rest_0)))
                                    'non-prefab
                                    (if (let ((p_0 (unwrap rest_0)))
                                          (if (pair? p_0)
                                            (let ((a_0 (cdr p_0)))
                                              (let ((app_0 (unwrap '())))
                                                (eq? app_0 (unwrap a_0))))
                                            #f))
                                      'non-prefab
                                      (if (let ((p_0 (unwrap rest_0)))
                                            (if (pair? p_0)
                                              (let ((a_0 (cdr p_0)))
                                                (let ((p_1 (unwrap a_0)))
                                                  (if (pair? p_1)
                                                    (if (let ((a_1 (car p_1)))
                                                          (let ((app_0
                                                                 (unwrap #f)))
                                                            (eq?
                                                             app_0
                                                             (unwrap a_1))))
                                                      #t
                                                      #f)
                                                    #f)))
                                              #f))
                                        'non-prefab
                                        (if (let ((p_0 (unwrap rest_0)))
                                              (if (pair? p_0)
                                                (let ((a_0 (cdr p_0)))
                                                  (let ((p_1 (unwrap a_0)))
                                                    (if (pair? p_1)
                                                      (if (let ((a_1
                                                                 (car p_1)))
                                                            (let ((p_2
                                                                   (unwrap
                                                                    a_1)))
                                                              (if (pair? p_2)
                                                                (if (let ((a_2
                                                                           (car
                                                                            p_2)))
                                                                      (let ((app_0
                                                                             (unwrap
                                                                              'current-inspector)))
                                                                        (eq?
                                                                         app_0
                                                                         (unwrap
                                                                          a_2))))
                                                                  (let ((a_2
                                                                         (cdr
                                                                          p_2)))
                                                                    (let ((app_0
                                                                           (unwrap
                                                                            '())))
                                                                      (eq?
                                                                       app_0
                                                                       (unwrap
                                                                        a_2))))
                                                                  #f)
                                                                #f)))
                                                        #t
                                                        #f)
                                                      #f)))
                                                #f))
                                          'non-prefab
                                          (if (let ((p_0 (unwrap rest_0)))
                                                (if (pair? p_0)
                                                  (let ((a_0 (cdr p_0)))
                                                    (let ((p_1 (unwrap a_0)))
                                                      (if (pair? p_1)
                                                        (if (let ((a_1
                                                                   (car p_1)))
                                                              (let ((p_2
                                                                     (unwrap
                                                                      a_1)))
                                                                (if (pair? p_2)
                                                                  (if (let ((a_2
                                                                             (car
                                                                              p_2)))
                                                                        (let ((app_0
                                                                               (unwrap
                                                                                'quote)))
                                                                          (eq?
                                                                           app_0
                                                                           (unwrap
                                                                            a_2))))
                                                                    (let ((a_2
                                                                           (cdr
                                                                            p_2)))
                                                                      (let ((p_3
                                                                             (unwrap
                                                                              a_2)))
                                                                        (if (pair?
                                                                             p_3)
                                                                          (if (let ((a_3
                                                                                     (car
                                                                                      p_3)))
                                                                                (let ((app_0
                                                                                       (unwrap
                                                                                        'prefab)))
                                                                                  (eq?
                                                                                   app_0
                                                                                   (unwrap
                                                                                    a_3))))
                                                                            (let ((a_3
                                                                                   (cdr
                                                                                    p_3)))
                                                                              (let ((app_0
                                                                                     (unwrap
                                                                                      '())))
                                                                                (eq?
                                                                                 app_0
                                                                                 (unwrap
                                                                                  a_3))))
                                                                            #f)
                                                                          #f)))
                                                                    #f)
                                                                  #f)))
                                                          (let ((a_1
                                                                 (cdr p_1)))
                                                            (let ((p_2
                                                                   (unwrap
                                                                    a_1)))
                                                              (if (pair? p_2)
                                                                (let ((a_2
                                                                       (cdr
                                                                        p_2)))
                                                                  (let ((p_3
                                                                         (unwrap
                                                                          a_2)))
                                                                    (if (pair?
                                                                         p_3)
                                                                      (if (let ((a_3
                                                                                 (car
                                                                                  p_3)))
                                                                            (let ((p_4
                                                                                   (unwrap
                                                                                    a_3)))
                                                                              (if (pair?
                                                                                   p_4)
                                                                                (if (let ((a_4
                                                                                           (car
                                                                                            p_4)))
                                                                                      (let ((app_0
                                                                                             (unwrap
                                                                                              'quote)))
                                                                                        (eq?
                                                                                         app_0
                                                                                         (unwrap
                                                                                          a_4))))
                                                                                  (let ((a_4
                                                                                         (cdr
                                                                                          p_4)))
                                                                                    (let ((p_5
                                                                                           (unwrap
                                                                                            a_4)))
                                                                                      (if (pair?
                                                                                           p_5)
                                                                                        (let ((a_5
                                                                                               (cdr
                                                                                                p_5)))
                                                                                          (let ((app_0
                                                                                                 (unwrap
                                                                                                  '())))
                                                                                            (eq?
                                                                                             app_0
                                                                                             (unwrap
                                                                                              a_5))))
                                                                                        #f)))
                                                                                  #f)
                                                                                #f)))
                                                                        #t
                                                                        #f)
                                                                      #f)))
                                                                #f)))
                                                          #f)
                                                        #f)))
                                                  #f))
                                            (let ((immutables_0
                                                   (let ((d_0
                                                          (cdr
                                                           (unwrap rest_0))))
                                                     (let ((d_1
                                                            (cdr
                                                             (unwrap d_0))))
                                                       (let ((d_2
                                                              (cdr
                                                               (unwrap d_1))))
                                                         (let ((a_0
                                                                (car
                                                                 (unwrap
                                                                  d_2))))
                                                           (let ((d_3
                                                                  (cdr
                                                                   (unwrap
                                                                    a_0))))
                                                             (let ((a_1
                                                                    (car
                                                                     (unwrap
                                                                      d_3))))
                                                               a_1))))))))
                                              immutables_0)
                                            (if (let ((p_0 (unwrap rest_0)))
                                                  (if (pair? p_0)
                                                    (let ((a_0 (cdr p_0)))
                                                      (let ((p_1 (unwrap a_0)))
                                                        (if (pair? p_1)
                                                          (if (let ((a_1
                                                                     (car
                                                                      p_1)))
                                                                (let ((p_2
                                                                       (unwrap
                                                                        a_1)))
                                                                  (if (pair?
                                                                       p_2)
                                                                    (if (let ((a_2
                                                                               (car
                                                                                p_2)))
                                                                          (let ((app_0
                                                                                 (unwrap
                                                                                  'quote)))
                                                                            (eq?
                                                                             app_0
                                                                             (unwrap
                                                                              a_2))))
                                                                      (let ((a_2
                                                                             (cdr
                                                                              p_2)))
                                                                        (let ((p_3
                                                                               (unwrap
                                                                                a_2)))
                                                                          (if (pair?
                                                                               p_3)
                                                                            (if (let ((a_3
                                                                                       (car
                                                                                        p_3)))
                                                                                  (let ((app_0
                                                                                         (unwrap
                                                                                          'prefab)))
                                                                                    (eq?
                                                                                     app_0
                                                                                     (unwrap
                                                                                      a_3))))
                                                                              (let ((a_3
                                                                                     (cdr
                                                                                      p_3)))
                                                                                (let ((app_0
                                                                                       (unwrap
                                                                                        '())))
                                                                                  (eq?
                                                                                   app_0
                                                                                   (unwrap
                                                                                    a_3))))
                                                                              #f)
                                                                            #f)))
                                                                      #f)
                                                                    #f)))
                                                            (let ((a_1
                                                                   (cdr p_1)))
                                                              (let ((p_2
                                                                     (unwrap
                                                                      a_1)))
                                                                (if (pair? p_2)
                                                                  (let ((a_2
                                                                         (cdr
                                                                          p_2)))
                                                                    (let ((app_0
                                                                           (unwrap
                                                                            '())))
                                                                      (eq?
                                                                       app_0
                                                                       (unwrap
                                                                        a_2))))
                                                                  #f)))
                                                            #f)
                                                          #f)))
                                                    #f))
                                              '()
                                              (if (let ((p_0 (unwrap rest_0)))
                                                    (if (pair? p_0)
                                                      (let ((a_0 (cdr p_0)))
                                                        (let ((p_1
                                                               (unwrap a_0)))
                                                          (if (pair? p_1)
                                                            (if (let ((a_1
                                                                       (car
                                                                        p_1)))
                                                                  (let ((p_2
                                                                         (unwrap
                                                                          a_1)))
                                                                    (if (pair?
                                                                         p_2)
                                                                      (if (let ((a_2
                                                                                 (car
                                                                                  p_2)))
                                                                            (let ((app_0
                                                                                   (unwrap
                                                                                    'quote)))
                                                                              (eq?
                                                                               app_0
                                                                               (unwrap
                                                                                a_2))))
                                                                        (let ((a_2
                                                                               (cdr
                                                                                p_2)))
                                                                          (let ((p_3
                                                                                 (unwrap
                                                                                  a_2)))
                                                                            (if (pair?
                                                                                 p_3)
                                                                              (if (let ((a_3
                                                                                         (car
                                                                                          p_3)))
                                                                                    (let ((app_0
                                                                                           (unwrap
                                                                                            'prefab)))
                                                                                      (eq?
                                                                                       app_0
                                                                                       (unwrap
                                                                                        a_3))))
                                                                                (let ((a_3
                                                                                       (cdr
                                                                                        p_3)))
                                                                                  (let ((app_0
                                                                                         (unwrap
                                                                                          '())))
                                                                                    (eq?
                                                                                     app_0
                                                                                     (unwrap
                                                                                      a_3))))
                                                                                #f)
                                                                              #f)))
                                                                        #f)
                                                                      #f)))
                                                              (let ((a_1
                                                                     (cdr
                                                                      p_1)))
                                                                (let ((app_0
                                                                       (unwrap
                                                                        '())))
                                                                  (eq?
                                                                   app_0
                                                                   (unwrap
                                                                    a_1))))
                                                              #f)
                                                            #f)))
                                                      #f))
                                                '()
                                                #f)))))))))
                             (let ((parent-sti_0
                                    (if u-parent_0
                                      (call-with-values
                                       (lambda ()
                                         (find-known+import
                                          u-parent_0
                                          prim-knowns_0
                                          knowns_0
                                          imports_0
                                          mutated_0))
                                       (lambda (k_0 im_0) k_0))
                                      #f)))
                               (let ((prefab-imms_1 prefab-imms_0))
                                 (let ((includes-property?_0
                                        (|#%name|
                                         includes-property?
                                         (lambda (name_1)
                                           (if (pair? rest_0)
                                             (let ((v_2 (car rest_0)))
                                               (let ((hd_1
                                                      (let ((p_0 (unwrap v_2)))
                                                        (if (pair? p_0)
                                                          (unwrap (car p_0))
                                                          #f))))
                                                 (if (if (eq? 'list hd_1)
                                                       (let ((a_0
                                                              (cdr
                                                               (unwrap v_2))))
                                                         (if (wrap-list? a_0)
                                                           (letrec*
                                                            ((for-loop_0
                                                              (|#%name|
                                                               for-loop
                                                               (lambda (result_0
                                                                        lst_0)
                                                                 (if (not
                                                                      (null?
                                                                       (unwrap
                                                                        lst_0)))
                                                                   (let ((v_3
                                                                          (if (pair?
                                                                               (unwrap
                                                                                lst_0))
                                                                            (wrap-car
                                                                             lst_0)
                                                                            lst_0)))
                                                                     (let ((rest_1
                                                                            (if (pair?
                                                                                 (unwrap
                                                                                  lst_0))
                                                                              (wrap-cdr
                                                                               lst_0)
                                                                              null)))
                                                                       (let ((v_4
                                                                              v_3))
                                                                         (let ((result_1
                                                                                (let ((result_1
                                                                                       (let ((p_0
                                                                                              (unwrap
                                                                                               v_4)))
                                                                                         (if (pair?
                                                                                              p_0)
                                                                                           (if (let ((a_1
                                                                                                      (car
                                                                                                       p_0)))
                                                                                                 (let ((app_0
                                                                                                        (unwrap
                                                                                                         'cons)))
                                                                                                   (eq?
                                                                                                    app_0
                                                                                                    (unwrap
                                                                                                     a_1))))
                                                                                             (let ((a_1
                                                                                                    (cdr
                                                                                                     p_0)))
                                                                                               (let ((p_1
                                                                                                      (unwrap
                                                                                                       a_1)))
                                                                                                 (if (pair?
                                                                                                      p_1)
                                                                                                   (let ((a_2
                                                                                                          (cdr
                                                                                                           p_1)))
                                                                                                     (let ((p_2
                                                                                                            (unwrap
                                                                                                             a_2)))
                                                                                                       (if (pair?
                                                                                                            p_2)
                                                                                                         (let ((a_3
                                                                                                                (cdr
                                                                                                                 p_2)))
                                                                                                           (let ((app_0
                                                                                                                  (unwrap
                                                                                                                   '())))
                                                                                                             (eq?
                                                                                                              app_0
                                                                                                              (unwrap
                                                                                                               a_3))))
                                                                                                         #f)))
                                                                                                   #f)))
                                                                                             #f)
                                                                                           #f))))
                                                                                  (values
                                                                                   result_1))))
                                                                           (if (if (not
                                                                                    (let ((x_0
                                                                                           (list
                                                                                            v_4)))
                                                                                      (not
                                                                                       result_1)))
                                                                                 #t
                                                                                 #f)
                                                                             (for-loop_0
                                                                              result_1
                                                                              rest_1)
                                                                             result_1)))))
                                                                   result_0)))))
                                                            (for-loop_0
                                                             #t
                                                             a_0))
                                                           #f))
                                                       #f)
                                                   (call-with-values
                                                    (lambda ()
                                                      (let ((d_0
                                                             (cdr
                                                              (unwrap v_2))))
                                                        (call-with-values
                                                         (lambda ()
                                                           (letrec*
                                                            ((for-loop_0
                                                              (|#%name|
                                                               for-loop
                                                               (lambda (props_0
                                                                        vals_0
                                                                        lst_0)
                                                                 (if (not
                                                                      (null?
                                                                       (unwrap
                                                                        lst_0)))
                                                                   (let ((v_3
                                                                          (if (pair?
                                                                               (unwrap
                                                                                lst_0))
                                                                            (wrap-car
                                                                             lst_0)
                                                                            lst_0)))
                                                                     (let ((rest_1
                                                                            (if (pair?
                                                                                 (unwrap
                                                                                  lst_0))
                                                                              (wrap-cdr
                                                                               lst_0)
                                                                              null)))
                                                                       (let ((v_4
                                                                              v_3))
                                                                         (call-with-values
                                                                          (lambda ()
                                                                            (call-with-values
                                                                             (lambda ()
                                                                               (call-with-values
                                                                                (lambda ()
                                                                                  (let ((d_1
                                                                                         (cdr
                                                                                          (unwrap
                                                                                           v_4))))
                                                                                    (let ((p_0
                                                                                           (unwrap
                                                                                            d_1)))
                                                                                      (let ((props_1
                                                                                             (let ((a_0
                                                                                                    (car
                                                                                                     p_0)))
                                                                                               a_0)))
                                                                                        (let ((vals_1
                                                                                               (let ((d_2
                                                                                                      (cdr
                                                                                                       p_0)))
                                                                                                 (let ((a_0
                                                                                                        (car
                                                                                                         (unwrap
                                                                                                          d_2))))
                                                                                                   a_0))))
                                                                                          (let ((props_2
                                                                                                 props_1))
                                                                                            (values
                                                                                             props_2
                                                                                             vals_1)))))))
                                                                                (lambda (props4_0
                                                                                         vals5_0)
                                                                                  (values
                                                                                   (cons
                                                                                    props4_0
                                                                                    props_0)
                                                                                   (cons
                                                                                    vals5_0
                                                                                    vals_0)))))
                                                                             (lambda (props_1
                                                                                      vals_1)
                                                                               (values
                                                                                props_1
                                                                                vals_1))))
                                                                          (lambda (props_1
                                                                                   vals_1)
                                                                            (for-loop_0
                                                                             props_1
                                                                             vals_1
                                                                             rest_1))))))
                                                                   (values
                                                                    props_0
                                                                    vals_0))))))
                                                            (for-loop_0
                                                             null
                                                             null
                                                             d_0)))
                                                         (lambda (props_0
                                                                  vals_0)
                                                           (let ((app_0
                                                                  (reverse$1
                                                                   props_0)))
                                                             (values
                                                              app_0
                                                              (reverse$1
                                                               vals_0)))))))
                                                    (lambda (props_0 vals_0)
                                                      (letrec*
                                                       ((for-loop_0
                                                         (|#%name|
                                                          for-loop
                                                          (lambda (result_0
                                                                   lst_0)
                                                            (if (pair? lst_0)
                                                              (let ((prop_0
                                                                     (unsafe-car
                                                                      lst_0)))
                                                                (let ((rest_1
                                                                       (unsafe-cdr
                                                                        lst_0)))
                                                                  (let ((result_1
                                                                         (let ((result_1
                                                                                (eq?
                                                                                 (unwrap
                                                                                  prop_0)
                                                                                 name_1)))
                                                                           (values
                                                                            result_1))))
                                                                    (if (if (not
                                                                             (let ((x_0
                                                                                    (list
                                                                                     prop_0)))
                                                                               result_1))
                                                                          #t
                                                                          #f)
                                                                      (for-loop_0
                                                                       result_1
                                                                       rest_1)
                                                                      result_1))))
                                                              result_0)))))
                                                       (for-loop_0
                                                        #f
                                                        props_0))))
                                                   #f)))
                                             #f)))))
                                   (letrec*
                                    ((handle-proc-spec_0
                                      (|#%name|
                                       handle-proc-spec
                                       (lambda (proc-spec_0 imms_0)
                                         (if (not proc-spec_0)
                                           imms_0
                                           (if (exact-nonnegative-integer?
                                                proc-spec_0)
                                             (cons proc-spec_0 imms_0)
                                             (if (lambda?.1 #f proc-spec_0)
                                               imms_0
                                               (let ((proc-spec_1
                                                      (unwrap proc-spec_0)))
                                                 (if (symbol? proc-spec_1)
                                                   (let ((k_0
                                                          (call-with-values
                                                           (lambda ()
                                                             (find-known+import
                                                              proc-spec_1
                                                              prim-knowns_0
                                                              knowns_0
                                                              imports_0
                                                              mutated_0))
                                                           (lambda (k_0 im_0)
                                                             k_0))))
                                                     (if (not k_0)
                                                       #f
                                                       (if (known-literal? k_0)
                                                         (let ((v_2
                                                                (known-literal-value
                                                                 k_0)))
                                                           (if (let ((or-part_0
                                                                      (not
                                                                       v_2)))
                                                                 (if or-part_0
                                                                   or-part_0
                                                                   (exact-nonnegative-integer?
                                                                    v_2)))
                                                             (handle-proc-spec_0
                                                              v_2
                                                              imms_0)
                                                             #f))
                                                         (if (known-procedure?
                                                              k_0)
                                                           imms_0
                                                           #f))))
                                                   #f)))))))))
                                    (let ((constructor-name-expr_0
                                           (if (> (length rest_0) 5)
                                             (list-ref rest_0 5)
                                             #f)))
                                      (let ((non-prefab-imms_0
                                             (if (eq?
                                                  prefab-imms_1
                                                  'non-prefab)
                                               (if (let ((app_0 (unwrap '())))
                                                     (eq?
                                                      app_0
                                                      (unwrap rest_0)))
                                                 '()
                                                 (if (let ((p_0
                                                            (unwrap rest_0)))
                                                       (if (pair? p_0)
                                                         (let ((a_0 (cdr p_0)))
                                                           (let ((app_0
                                                                  (unwrap
                                                                   '())))
                                                             (eq?
                                                              app_0
                                                              (unwrap a_0))))
                                                         #f))
                                                   '()
                                                   (if (let ((p_0
                                                              (unwrap rest_0)))
                                                         (if (pair? p_0)
                                                           (let ((a_0
                                                                  (cdr p_0)))
                                                             (let ((p_1
                                                                    (unwrap
                                                                     a_0)))
                                                               (if (pair? p_1)
                                                                 (let ((a_1
                                                                        (cdr
                                                                         p_1)))
                                                                   (let ((app_0
                                                                          (unwrap
                                                                           '())))
                                                                     (eq?
                                                                      app_0
                                                                      (unwrap
                                                                       a_1))))
                                                                 #f)))
                                                           #f))
                                                     '()
                                                     (if (let ((p_0
                                                                (unwrap
                                                                 rest_0)))
                                                           (if (pair? p_0)
                                                             (let ((a_0
                                                                    (cdr p_0)))
                                                               (let ((p_1
                                                                      (unwrap
                                                                       a_0)))
                                                                 (if (pair?
                                                                      p_1)
                                                                   (let ((a_1
                                                                          (cdr
                                                                           p_1)))
                                                                     (let ((p_2
                                                                            (unwrap
                                                                             a_1)))
                                                                       (if (pair?
                                                                            p_2)
                                                                         (let ((a_2
                                                                                (cdr
                                                                                 p_2)))
                                                                           (let ((app_0
                                                                                  (unwrap
                                                                                   '())))
                                                                             (eq?
                                                                              app_0
                                                                              (unwrap
                                                                               a_2))))
                                                                         #f)))
                                                                   #f)))
                                                             #f))
                                                       (let ((proc-spec_0
                                                              (let ((d_0
                                                                     (cdr
                                                                      (unwrap
                                                                       rest_0))))
                                                                (let ((d_1
                                                                       (cdr
                                                                        (unwrap
                                                                         d_0))))
                                                                  (let ((a_0
                                                                         (car
                                                                          (unwrap
                                                                           d_1))))
                                                                    a_0)))))
                                                         (handle-proc-spec_0
                                                          proc-spec_0
                                                          '()))
                                                       (if (let ((p_0
                                                                  (unwrap
                                                                   rest_0)))
                                                             (if (pair? p_0)
                                                               (let ((a_0
                                                                      (cdr
                                                                       p_0)))
                                                                 (let ((p_1
                                                                        (unwrap
                                                                         a_0)))
                                                                   (if (pair?
                                                                        p_1)
                                                                     (let ((a_1
                                                                            (cdr
                                                                             p_1)))
                                                                       (let ((p_2
                                                                              (unwrap
                                                                               a_1)))
                                                                         (if (pair?
                                                                              p_2)
                                                                           (let ((a_2
                                                                                  (cdr
                                                                                   p_2)))
                                                                             (let ((p_3
                                                                                    (unwrap
                                                                                     a_2)))
                                                                               (if (pair?
                                                                                    p_3)
                                                                                 (if (let ((a_3
                                                                                            (car
                                                                                             p_3)))
                                                                                       (let ((p_4
                                                                                              (unwrap
                                                                                               a_3)))
                                                                                         (if (pair?
                                                                                              p_4)
                                                                                           (if (let ((a_4
                                                                                                      (car
                                                                                                       p_4)))
                                                                                                 (let ((app_0
                                                                                                        (unwrap
                                                                                                         'quote)))
                                                                                                   (eq?
                                                                                                    app_0
                                                                                                    (unwrap
                                                                                                     a_4))))
                                                                                             (let ((a_4
                                                                                                    (cdr
                                                                                                     p_4)))
                                                                                               (let ((p_5
                                                                                                      (unwrap
                                                                                                       a_4)))
                                                                                                 (if (pair?
                                                                                                      p_5)
                                                                                                   (let ((a_5
                                                                                                          (cdr
                                                                                                           p_5)))
                                                                                                     (let ((app_0
                                                                                                            (unwrap
                                                                                                             '())))
                                                                                                       (eq?
                                                                                                        app_0
                                                                                                        (unwrap
                                                                                                         a_5))))
                                                                                                   #f)))
                                                                                             #f)
                                                                                           #f)))
                                                                                   #t
                                                                                   #f)
                                                                                 #f)))
                                                                           #f)))
                                                                     #f)))
                                                               #f))
                                                         (call-with-values
                                                          (lambda ()
                                                            (let ((d_0
                                                                   (cdr
                                                                    (unwrap
                                                                     rest_0))))
                                                              (let ((d_1
                                                                     (cdr
                                                                      (unwrap
                                                                       d_0))))
                                                                (let ((p_0
                                                                       (unwrap
                                                                        d_1)))
                                                                  (let ((proc-spec_0
                                                                         (let ((a_0
                                                                                (car
                                                                                 p_0)))
                                                                           a_0)))
                                                                    (let ((immutables_0
                                                                           (let ((d_2
                                                                                  (cdr
                                                                                   p_0)))
                                                                             (let ((a_0
                                                                                    (car
                                                                                     (unwrap
                                                                                      d_2))))
                                                                               (let ((d_3
                                                                                      (cdr
                                                                                       (unwrap
                                                                                        a_0))))
                                                                                 (let ((a_1
                                                                                        (car
                                                                                         (unwrap
                                                                                          d_3))))
                                                                                   a_1))))))
                                                                      (let ((proc-spec_1
                                                                             proc-spec_0))
                                                                        (values
                                                                         proc-spec_1
                                                                         immutables_0))))))))
                                                          (lambda (proc-spec_0
                                                                   immutables_0)
                                                            (handle-proc-spec_0
                                                             proc-spec_0
                                                             immutables_0)))
                                                         #f)))))
                                               #f)))
                                        (if (if (eq? prefab-imms_1 'non-prefab)
                                              non-prefab-imms_0
                                              prefab-imms_1)
                                          (let ((app_0
                                                 (+
                                                  fields_0
                                                  (if u-parent_0
                                                    (known-struct-type-field-count
                                                     parent-sti_0)
                                                    0))))
                                            (let ((app_1
                                                   (if (let ((or-part_0
                                                              (not
                                                               u-parent_0)))
                                                         (if or-part_0
                                                           or-part_0
                                                           (known-struct-type-pure-constructor?
                                                            parent-sti_0)))
                                                     (if (let ((or-part_0
                                                                (<
                                                                 (length
                                                                  rest_0)
                                                                 5)))
                                                           (if or-part_0
                                                             or-part_0
                                                             (not
                                                              (unwrap
                                                               (list-ref
                                                                rest_0
                                                                4)))))
                                                       (not
                                                        (includes-property?_0
                                                         'prop:chaperone-unsafe-undefined))
                                                       #f)
                                                     #f)))
                                              (let ((app_2
                                                     (includes-property?_0
                                                      'prop:authentic)))
                                                (struct-type-info1.1
                                                 name_0
                                                 parent_0
                                                 fields_0
                                                 app_0
                                                 app_1
                                                 app_2
                                                 (includes-property?_0
                                                  'prop:sealed)
                                                 (if (eq?
                                                      prefab-imms_1
                                                      'non-prefab)
                                                   #f
                                                   prefab-imms_1)
                                                 non-prefab-imms_0
                                                 constructor-name-expr_0
                                                 rest_0))))
                                          #f))))))))
                           #f)
                         #f)
                       #f)
                     #f))))))
          #f)))))
(define pure-properties-list
  (lambda (e_0 prim-knowns_0 knowns_0 imports_0 mutated_0 simples_0)
    (let ((hd_0
           (let ((p_0 (unwrap e_0))) (if (pair? p_0) (unwrap (car p_0)) #f))))
      (if (if (eq? 'list hd_0)
            (let ((a_0 (cdr (unwrap e_0))))
              (if (wrap-list? a_0)
                (letrec*
                 ((for-loop_0
                   (|#%name|
                    for-loop
                    (lambda (result_0 lst_0)
                      (if (not (null? (unwrap lst_0)))
                        (let ((v_0
                               (if (pair? (unwrap lst_0))
                                 (wrap-car lst_0)
                                 lst_0)))
                          (let ((rest_0
                                 (if (pair? (unwrap lst_0))
                                   (wrap-cdr lst_0)
                                   null)))
                            (let ((v_1 v_0))
                              (let ((result_1
                                     (let ((result_1
                                            (let ((p_0 (unwrap v_1)))
                                              (if (pair? p_0)
                                                (if (let ((a_1 (car p_0)))
                                                      (let ((app_0
                                                             (unwrap 'cons)))
                                                        (eq?
                                                         app_0
                                                         (unwrap a_1))))
                                                  (let ((a_1 (cdr p_0)))
                                                    (let ((p_1 (unwrap a_1)))
                                                      (if (pair? p_1)
                                                        (let ((a_2 (cdr p_1)))
                                                          (let ((p_2
                                                                 (unwrap a_2)))
                                                            (if (pair? p_2)
                                                              (let ((a_3
                                                                     (cdr
                                                                      p_2)))
                                                                (let ((app_0
                                                                       (unwrap
                                                                        '())))
                                                                  (eq?
                                                                   app_0
                                                                   (unwrap
                                                                    a_3))))
                                                              #f)))
                                                        #f)))
                                                  #f)
                                                #f))))
                                       (values result_1))))
                                (if (if (not
                                         (let ((x_0 (list v_1)))
                                           (not result_1)))
                                      #t
                                      #f)
                                  (for-loop_0 result_1 rest_0)
                                  result_1)))))
                        result_0)))))
                 (for-loop_0 #t a_0))
                #f))
            #f)
        (call-with-values
         (lambda ()
           (let ((d_0 (cdr (unwrap e_0))))
             (call-with-values
              (lambda ()
                (letrec*
                 ((for-loop_0
                   (|#%name|
                    for-loop
                    (lambda (props_0 vals_0 lst_0)
                      (if (not (null? (unwrap lst_0)))
                        (let ((v_0
                               (if (pair? (unwrap lst_0))
                                 (wrap-car lst_0)
                                 lst_0)))
                          (let ((rest_0
                                 (if (pair? (unwrap lst_0))
                                   (wrap-cdr lst_0)
                                   null)))
                            (let ((v_1 v_0))
                              (call-with-values
                               (lambda ()
                                 (call-with-values
                                  (lambda ()
                                    (call-with-values
                                     (lambda ()
                                       (let ((d_1 (cdr (unwrap v_1))))
                                         (let ((p_0 (unwrap d_1)))
                                           (let ((props_1
                                                  (let ((a_0 (car p_0))) a_0)))
                                             (let ((vals_1
                                                    (let ((d_2 (cdr p_0)))
                                                      (let ((a_0
                                                             (car
                                                              (unwrap d_2))))
                                                        a_0))))
                                               (let ((props_2 props_1))
                                                 (values props_2 vals_1)))))))
                                     (lambda (props7_0 vals8_0)
                                       (values
                                        (cons props7_0 props_0)
                                        (cons vals8_0 vals_0)))))
                                  (lambda (props_1 vals_1)
                                    (values props_1 vals_1))))
                               (lambda (props_1 vals_1)
                                 (for-loop_0 props_1 vals_1 rest_0))))))
                        (values props_0 vals_0))))))
                 (for-loop_0 null null d_0)))
              (lambda (props_0 vals_0)
                (let ((app_0 (reverse$1 props_0)))
                  (values app_0 (reverse$1 vals_0)))))))
         (lambda (props_0 vals_0)
           (reverse$1
            (letrec*
             ((for-loop_0
               (|#%name|
                for-loop
                (lambda (fold-var_0 lst_0 lst_1)
                  (if (if (pair? lst_0) (pair? lst_1) #f)
                    (let ((prop_0 (unsafe-car lst_0)))
                      (let ((rest_0 (unsafe-cdr lst_0)))
                        (let ((val_0 (unsafe-car lst_1)))
                          (let ((rest_1 (unsafe-cdr lst_1)))
                            (let ((fold-var_1
                                   (let ((fold-var_1
                                          (cons
                                           (let ((u-prop_0 (unwrap prop_0)))
                                             (let ((nice-prop?_0
                                                    (if (symbol? u-prop_0)
                                                      (if (known-struct-type-property/immediate-guard?
                                                           (call-with-values
                                                            (lambda ()
                                                              (find-known+import
                                                               u-prop_0
                                                               prim-knowns_0
                                                               knowns_0
                                                               imports_0
                                                               mutated_0))
                                                            (lambda (k_0 im_0)
                                                              k_0)))
                                                        (simple?.1
                                                         #f
                                                         #f
                                                         #f
                                                         1
                                                         #f
                                                         val_0
                                                         prim-knowns_0
                                                         knowns_0
                                                         imports_0
                                                         mutated_0
                                                         simples_0
                                                         #f)
                                                        #f)
                                                      #f)))
                                               (list*
                                                nice-prop?_0
                                                prop_0
                                                val_0)))
                                           fold-var_0)))
                                     (values fold-var_1))))
                              (for-loop_0 fold-var_1 rest_0 rest_1))))))
                    fold-var_0)))))
             (for-loop_0 null props_0 vals_0)))))
        (if (let ((app_0 (unwrap 'null))) (eq? app_0 (unwrap e_0)))
          null
          (if (if (eq? 'quote hd_0)
                (let ((a_0 (cdr (unwrap e_0))))
                  (let ((p_0 (unwrap a_0)))
                    (if (pair? p_0)
                      (if (let ((a_1 (car p_0)))
                            (let ((app_0 (unwrap '())))
                              (eq? app_0 (unwrap a_1))))
                        (let ((a_1 (cdr p_0)))
                          (let ((app_0 (unwrap '())))
                            (eq? app_0 (unwrap a_1))))
                        #f)
                      #f)))
                #f)
            null
            #f))))))
(define extract-struct-typed-from-checked
  (lambda (e_0)
    (let ((hd_0
           (let ((p_0 (unwrap e_0))) (if (pair? p_0) (unwrap (car p_0)) #f))))
      (if (if (eq? 'let-values hd_0)
            (let ((a_0 (cdr (unwrap e_0))))
              (let ((p_0 (unwrap a_0)))
                (if (pair? p_0)
                  (if (let ((a_1 (car p_0)))
                        (let ((p_1 (unwrap a_1)))
                          (if (pair? p_1)
                            (if (let ((a_2 (car p_1)))
                                  (let ((p_2 (unwrap a_2)))
                                    (if (pair? p_2)
                                      (if (let ((a_3 (car p_2)))
                                            (let ((p_3 (unwrap a_3)))
                                              (if (pair? p_3)
                                                (let ((a_4 (cdr p_3)))
                                                  (let ((app_0 (unwrap '())))
                                                    (eq? app_0 (unwrap a_4))))
                                                #f)))
                                        (let ((a_3 (cdr p_2)))
                                          (let ((p_3 (unwrap a_3)))
                                            (if (pair? p_3)
                                              (let ((a_4 (cdr p_3)))
                                                (let ((app_0 (unwrap '())))
                                                  (eq? app_0 (unwrap a_4))))
                                              #f)))
                                        #f)
                                      #f)))
                              (let ((a_2 (cdr p_1)))
                                (let ((app_0 (unwrap '())))
                                  (eq? app_0 (unwrap a_2))))
                              #f)
                            #f)))
                    (let ((a_1 (cdr p_0)))
                      (let ((p_1 (unwrap a_1)))
                        (if (pair? p_1)
                          (if (let ((a_2 (car p_1)))
                                (let ((p_2 (unwrap a_2)))
                                  (if (pair? p_2)
                                    (if (let ((a_3 (car p_2)))
                                          (let ((app_0 (unwrap 'if)))
                                            (eq? app_0 (unwrap a_3))))
                                      (let ((a_3 (cdr p_2)))
                                        (let ((p_3 (unwrap a_3)))
                                          (if (pair? p_3)
                                            (if (let ((a_4 (car p_3)))
                                                  (let ((p_4 (unwrap a_4)))
                                                    (if (pair? p_4)
                                                      (if (let ((a_5
                                                                 (car p_4)))
                                                            (let ((app_0
                                                                   (unwrap
                                                                    'struct-type?)))
                                                              (eq?
                                                               app_0
                                                               (unwrap a_5))))
                                                        (let ((a_5 (cdr p_4)))
                                                          (let ((p_5
                                                                 (unwrap a_5)))
                                                            (if (pair? p_5)
                                                              (let ((a_6
                                                                     (cdr
                                                                      p_5)))
                                                                (let ((app_0
                                                                       (unwrap
                                                                        '())))
                                                                  (eq?
                                                                   app_0
                                                                   (unwrap
                                                                    a_6))))
                                                              #f)))
                                                        #f)
                                                      #f)))
                                              (let ((a_4 (cdr p_3)))
                                                (let ((p_4 (unwrap a_4)))
                                                  (if (pair? p_4)
                                                    (let ((a_5 (cdr p_4)))
                                                      (let ((p_5 (unwrap a_5)))
                                                        (if (pair? p_5)
                                                          (let ((a_6
                                                                 (cdr p_5)))
                                                            (let ((app_0
                                                                   (unwrap
                                                                    '())))
                                                              (eq?
                                                               app_0
                                                               (unwrap a_6))))
                                                          #f)))
                                                    #f)))
                                              #f)
                                            #f)))
                                      #f)
                                    #f)))
                            (let ((a_2 (cdr p_1)))
                              (let ((app_0 (unwrap '())))
                                (eq? app_0 (unwrap a_2))))
                            #f)
                          #f)))
                    #f)
                  #f)))
            #f)
        (call-with-values
         (lambda ()
           (let ((d_0 (cdr (unwrap e_0))))
             (let ((p_0 (unwrap d_0)))
               (call-with-values
                (lambda ()
                  (let ((a_0 (car p_0)))
                    (let ((a_1 (car (unwrap a_0))))
                      (let ((p_1 (unwrap a_1)))
                        (let ((tmp1_0
                               (let ((a_2 (car p_1)))
                                 (let ((a_3 (car (unwrap a_2)))) a_3))))
                          (let ((id_0
                                 (let ((d_1 (cdr p_1)))
                                   (let ((a_2 (car (unwrap d_1)))) a_2))))
                            (let ((tmp1_1 tmp1_0)) (values tmp1_1 id_0))))))))
                (lambda (tmp1_0 id_0)
                  (call-with-values
                   (lambda ()
                     (let ((d_1 (cdr p_0)))
                       (let ((a_0 (car (unwrap d_1))))
                         (let ((d_2 (cdr (unwrap a_0))))
                           (let ((p_1 (unwrap d_2)))
                             (let ((tmp2_0
                                    (let ((a_1 (car p_1)))
                                      (let ((d_3 (cdr (unwrap a_1))))
                                        (let ((a_2 (car (unwrap d_3))))
                                          a_2)))))
                               (let ((tmp3_0
                                      (let ((d_3 (cdr p_1)))
                                        (let ((a_1 (car (unwrap d_3)))) a_1))))
                                 (let ((tmp2_1 tmp2_0))
                                   (values tmp2_1 tmp3_0)))))))))
                   (lambda (tmp2_0 tmp3_0)
                     (let ((tmp1_1 tmp1_0) (id_1 id_0))
                       (values tmp1_1 id_1 tmp2_0 tmp3_0)))))))))
         (lambda (tmp1_0 id_0 tmp2_0 tmp3_0)
           (let ((u-tmp1_0 (unwrap tmp1_0)))
             (if (eq? u-tmp1_0 (unwrap tmp2_0))
               (if (eq? u-tmp1_0 (unwrap tmp3_0))
                 (let ((u_0 (unwrap id_0))) (if (symbol? u_0) u_0 #f))
                 #f)
               #f))))
        #f))))
(define add-struct-type-property-known
  (lambda (prop:s_0 s-ref_0 s?_0 immediate-guard?_0 knowns_0)
    (let ((type_0
           (string->uninterned-symbol (symbol->string (unwrap prop:s_0)))))
      (let ((knowns_1
             (let ((app_0 (unwrap s-ref_0)))
               (hash-set knowns_0 app_0 (known-accessor 2 type_0)))))
        (let ((knowns_2
               (let ((app_0 (unwrap s?_0)))
                 (hash-set knowns_1 app_0 (known-predicate 2 type_0)))))
          (if immediate-guard?_0
            (let ((app_0 (unwrap prop:s_0)))
              (hash-set
               knowns_2
               app_0
               (known-struct-type-property/immediate-guard)))
            knowns_2))))))
(define literal?
  (lambda (v_0)
    (let ((u_0 (unwrap v_0)))
      (let ((or-part_0 (number? u_0)))
        (if or-part_0
          or-part_0
          (let ((or-part_1 (boolean? u_0)))
            (if or-part_1
              or-part_1
              (let ((or-part_2 (eq? u_0 'eof)))
                (if or-part_2
                  or-part_2
                  (if (pair? u_0)
                    (let ((a_0 (unwrap (car u_0))))
                      (if (eq? a_0 'quote)
                        (let ((u_1 (unwrap (cadr u_0))))
                          (let ((or-part_3
                                 (if (symbol? u_1)
                                   (let ((or-part_3 (symbol-interned? u_1)))
                                     (if or-part_3
                                       or-part_3
                                       (symbol-unreadable? u_1)))
                                   #f)))
                            (if or-part_3
                              or-part_3
                              (let ((or-part_4 (null? u_1)))
                                (if or-part_4
                                  or-part_4
                                  (let ((or-part_5 (char? u_1)))
                                    (if or-part_5 or-part_5 (void? u_1))))))))
                        (if (if (eq? a_0 'void) (null? (cdr u_0)) #f) #t #f)))
                    #f))))))))))
(define unwrap-literal
  (lambda (v_0)
    (let ((u_0 (unwrap v_0)))
      (if (pair? u_0)
        (let ((a_0 (unwrap (car u_0))))
          (if (eq? a_0 'quote)
            (unwrap (cadr u_0))
            (if (eq? a_0 'void) (void) (void))))
        (if (eq? u_0 'eof) eof u_0)))))
(define wrap-literal
  (lambda (x_0)
    (if (let ((or-part_0 (string? x_0)))
          (if or-part_0
            or-part_0
            (let ((or-part_1 (bytes? x_0)))
              (if or-part_1
                or-part_1
                (let ((or-part_2 (boolean? x_0)))
                  (if or-part_2 or-part_2 (number? x_0)))))))
      x_0
      (if (void? x_0)
        (list 'quote (void))
        (if (eof-object? x_0) 'eof (list 'quote x_0))))))
(define register-literal-serialization
  (lambda (q_0 serializable?-box_0 datum-intern?_0)
    (letrec*
     ((check-register_0
       (|#%name|
        check-register
        (lambda (q_1 seen_0)
          (let ((register!_0
                 (|#%name|
                  register!
                  (lambda (q_2)
                    (begin
                      (if (unbox serializable?-box_0)
                        (void)
                        (set-box! serializable?-box_0 (make-hasheq)))
                      (hash-set! (unbox serializable?-box_0) q_2 #t))))))
            (if (symbol? q_1)
              (if (let ((or-part_0 (symbol-interned? q_1)))
                    (if or-part_0 or-part_0 (symbol-unreadable? q_1)))
                (void)
                (register!_0 q_1))
              (if (let ((or-part_0 (null? q_1)))
                    (if or-part_0
                      or-part_0
                      (let ((or-part_1 (number? q_1)))
                        (if or-part_1
                          or-part_1
                          (let ((or-part_2 (char? q_1)))
                            (if or-part_2
                              or-part_2
                              (let ((or-part_3 (boolean? q_1)))
                                (if or-part_3
                                  or-part_3
                                  (let ((or-part_4 (eof-object? q_1)))
                                    (if or-part_4
                                      or-part_4
                                      (let ((or-part_5 (void? q_1)))
                                        (if or-part_5
                                          or-part_5
                                          (eq?
                                           q_1
                                           unsafe-undefined)))))))))))))
                (void)
                (if (let ((or-part_0 (string? q_1)))
                      (if or-part_0 or-part_0 (bytes? q_1)))
                  (if datum-intern?_0 (register!_0 q_1) (void))
                  (if (pair? q_1)
                    (if (hash-ref seen_0 q_1 #f)
                      (raise-arguments-error
                       'compile
                       "cannot compile cyclic value"
                       "value"
                       q_1)
                      (let ((seen_1 (hash-set seen_0 q_1 #t)))
                        (begin
                          (check-register_0 (car q_1) seen_1)
                          (check-register_0 (cdr q_1) seen_1))))
                    (if (vector? q_1)
                      (if (hash-ref seen_0 q_1 #f)
                        (raise-arguments-error
                         'compile
                         "cannot compile cyclic value"
                         "value"
                         q_1)
                        (let ((seen_1 (hash-set seen_0 q_1 #t)))
                          (begin
                            (call-with-values
                             (lambda ()
                               (values q_1 (unsafe-vector-length q_1)))
                             (lambda (vec_0 len_0)
                               (letrec*
                                ((for-loop_0
                                  (|#%name|
                                   for-loop
                                   (lambda (pos_0)
                                     (if (unsafe-fx< pos_0 len_0)
                                       (let ((e_0
                                              (unsafe-vector-ref vec_0 pos_0)))
                                         (begin
                                           (check-register_0 e_0 seen_1)
                                           (for-loop_0 (unsafe-fx+ 1 pos_0))))
                                       (values))))))
                                (for-loop_0 0))))
                            (void))))
                      (if (hash? q_1)
                        (begin
                          (register!_0 q_1)
                          (if (hash-ref seen_0 q_1 #f)
                            (raise-arguments-error
                             'compile
                             "cannot compile cyclic value"
                             "value"
                             q_1)
                            (let ((seen_1 (hash-set seen_0 q_1 #t)))
                              (begin
                                (letrec*
                                 ((for-loop_0
                                   (|#%name|
                                    for-loop
                                    (lambda (i_0)
                                      (if i_0
                                        (call-with-values
                                         (lambda ()
                                           (hash-iterate-key+value q_1 i_0))
                                         (lambda (k_0 v_0)
                                           (begin
                                             (begin
                                               (check-register_0 k_0 seen_1)
                                               (check-register_0 v_0 seen_1))
                                             (for-loop_0
                                              (hash-iterate-next q_1 i_0)))))
                                        (values))))))
                                 (for-loop_0 (hash-iterate-first q_1)))
                                (void)))))
                        (if (box? q_1)
                          (if (hash-ref seen_0 q_1 #f)
                            (raise-arguments-error
                             'compile
                             "cannot compile cyclic value"
                             "value"
                             q_1)
                            (let ((seen_1 (hash-set seen_0 q_1 #t)))
                              (check-register_0 (unbox q_1) seen_1)))
                          (if (srcloc? q_1)
                            (begin (register!_0 q_1) (srcloc-source q_1))
                            (if (prefab-struct-key q_1)
                              (begin
                                (register!_0 q_1)
                                (if (hash-ref seen_0 q_1 #f)
                                  (raise-arguments-error
                                   'compile
                                   "cannot compile cyclic value"
                                   "value"
                                   q_1)
                                  (let ((seen_1 (hash-set seen_0 q_1 #t)))
                                    (check-register_0
                                     (struct->vector q_1)
                                     seen_1)))
                                (call-with-values
                                 (lambda () (struct-info q_1))
                                 (lambda (st_0 skipped?_0)
                                   (check-register_0 st_0 seen_0))))
                              (register!_0 q_1)))))))))))))))
     (check-register_0 q_0 hash2610))))
(define try-fold-primitive
  (lambda (orig-prim-sym_0 orig-k_0 exps_0 prim-knowns_0 primitives_0)
    (let ((prim-sym_0
           (if (known-procedure/then-pure/folding-unsafe? orig-k_0)
             (known-procedure/then-pure/folding-unsafe-safe orig-k_0)
             orig-prim-sym_0)))
      (let ((k_0
             (if (known-procedure/then-pure/folding-unsafe? orig-k_0)
               (hash-ref prim-knowns_0 prim-sym_0 #f)
               orig-k_0)))
        (let ((vals_0
               (reverse$1
                (letrec*
                 ((for-loop_0
                   (|#%name|
                    for-loop
                    (lambda (fold-var_0 lst_0)
                      (if (pair? lst_0)
                        (let ((exp_0 (unsafe-car lst_0)))
                          (let ((rest_0 (unsafe-cdr lst_0)))
                            (let ((fold-var_1
                                   (let ((fold-var_1
                                          (cons
                                           (unwrap-literal exp_0)
                                           fold-var_0)))
                                     (values fold-var_1))))
                              (for-loop_0 fold-var_1 rest_0))))
                        fold-var_0)))))
                 (for-loop_0 null exps_0)))))
          (let ((check-result_0 (limit-check k_0 vals_0)))
            (if check-result_0
              (call-with-escape-continuation
               (lambda (esc_0)
                 (call-with-exception-handler
                  (lambda (exn_0)
                    (if (exn:fail? exn_0) (|#%app| esc_0 #f) exn_0))
                  (lambda ()
                    (let ((result_0
                           (apply
                            (hash-ref
                             primitives_0
                             prim-sym_0
                             (lambda args_0 (error "missing")))
                            vals_0)))
                      (begin
                        (|#%app| check-result_0 result_0)
                        (list (wrap-literal result_0))))))))
              #f)))))))
(define limit-check
  (lambda (k_0 vals_0)
    (let ((kind_0
           (if (known-procedure/folding/limited? k_0)
             (known-procedure/folding/limited-kind k_0)
             (if (known-procedure/has-unsafe/folding/limited? k_0)
               (known-procedure/has-unsafe/folding/limited-kind k_0)
               #f))))
      (if (eq? kind_0 #f)
        void
        (if (eq? kind_0 'expt)
          (if (not
               (if (= 2 (length vals_0))
                 (let ((x_0 (car vals_0)))
                   (let ((n_0 (cadr vals_0)))
                     (let ((x_1 x_0))
                       (if (number? x_1)
                         (if (exact? x_1)
                           (if (exact-integer? n_0)
                             (>
                              (abs
                               (*
                                (let ((app_0
                                       (integer-length
                                        (numerator (real-part x_1)))))
                                  (let ((app_1
                                         (integer-length
                                          (denominator (real-part x_1)))))
                                    (let ((app_2
                                           (integer-length
                                            (numerator (imag-part x_1)))))
                                      (max
                                       app_0
                                       app_1
                                       app_2
                                       (integer-length
                                        (denominator (imag-part x_1)))))))
                                n_0))
                              1000)
                             #f)
                           #f)
                         #f))))
                 #f))
            void
            #f)
          (if (eq? kind_0 'fixnum)
            (if (letrec*
                 ((for-loop_0
                   (|#%name|
                    for-loop
                    (lambda (result_0 lst_0)
                      (if (pair? lst_0)
                        (let ((v_0 (unsafe-car lst_0)))
                          (let ((rest_0 (unsafe-cdr lst_0)))
                            (let ((result_1
                                   (let ((result_1
                                          (fixnum-for-every-system? v_0)))
                                     (values result_1))))
                              (if (if (not
                                       (let ((x_0 (list v_0))) (not result_1)))
                                    #t
                                    #f)
                                (for-loop_0 result_1 rest_0)
                                result_1))))
                        result_0)))))
                 (for-loop_0 #t vals_0))
              (lambda (v_0)
                (if (fixnum-for-every-system? v_0)
                  (void)
                  (error "result is not a fixnum for every system")))
              #f)
            (error 'schemify:limited-ok? "unknown limit kind: ~a" k_0)))))))
(define make-ffi-static-core
  (lambda (arg-types_0
           result-type_0
           abi_0
           varargs-after_0
           blocking?_0
           async-apply_0
           save-errno_0
           prim-knowns_0
           primitives_0
           knowns_0
           imports_0
           mutated_0)
    (letrec*
     ((lookup_0
       (|#%name|
        lookup
        (lambda (id_0)
          (let ((u_0 (unwrap id_0)))
            (if (symbol? u_0)
              (call-with-values
               (lambda ()
                 (find-known+import
                  u_0
                  prim-knowns_0
                  knowns_0
                  imports_0
                  mutated_0))
               (lambda (k_0 im_0) k_0))
              (if (if (pair? u_0)
                    (if (eq? 'assert-ctype-representation (unwrap (car u_0)))
                      (pair? (unwrap (cdr u_0)))
                      #f)
                    #f)
                (lookup_0 (car (unwrap (cdr u_0))))
                #f)))))))
     (let ((get-literal_0
            (|#%name|
             get-literal
             (lambda (stx_0)
               (let ((hd_0
                      (let ((p_0 (unwrap stx_0)))
                        (if (pair? p_0) (unwrap (car p_0)) #f))))
                 (if (if (eq? 'quote hd_0)
                       (let ((a_0 (cdr (unwrap stx_0))))
                         (let ((p_0 (unwrap a_0)))
                           (if (pair? p_0)
                             (let ((a_1 (cdr p_0)))
                               (let ((app_0 (unwrap '())))
                                 (eq? app_0 (unwrap a_1))))
                             #f)))
                       #f)
                   (let ((v_0
                          (let ((d_0 (cdr (unwrap stx_0))))
                            (let ((a_0 (car (unwrap d_0)))) a_0))))
                     (known-literal (unwrap v_0)))
                   (let ((u_0 (unwrap stx_0)))
                     (if (if (not (symbol? u_0)) (not (pair? u_0)) #f)
                       (known-literal u_0)
                       (lookup_0 stx_0)))))))))
       (let ((get-boolean-literal_0
              (|#%name|
               get-boolean-literal
               (lambda (stx_0)
                 (let ((hd_0
                        (let ((p_0 (unwrap stx_0)))
                          (if (pair? p_0) (unwrap (car p_0)) #f))))
                   (if (if (eq? 'lambda hd_0) #t #f)
                     (known-literal #t)
                     (if (if (eq? 'case-lambda hd_0) #t #f)
                       (known-literal #t)
                       (let ((k_0 (get-literal_0 stx_0)))
                         (if (known-procedure? k_0)
                           (known-literal #t)
                           k_0)))))))))
         (let ((arg-ks_0
                (reverse$1
                 (letrec*
                  ((for-loop_0
                    (|#%name|
                     for-loop
                     (lambda (fold-var_0 lst_0)
                       (if (pair? lst_0)
                         (let ((arg-type_0 (unsafe-car lst_0)))
                           (let ((rest_0 (unsafe-cdr lst_0)))
                             (let ((fold-var_1
                                    (let ((fold-var_1
                                           (cons
                                            (lookup_0 arg-type_0)
                                            fold-var_0)))
                                      (values fold-var_1))))
                               (for-loop_0 fold-var_1 rest_0))))
                         fold-var_0)))))
                  (for-loop_0 null arg-types_0)))))
           (let ((result-k_0 (lookup_0 result-type_0)))
             (if (andmap_2814 known-ctype? arg-ks_0)
               (if (known-ctype? result-k_0)
                 (let ((abi-k_0 (get-literal_0 abi_0)))
                   (let ((varargs-after-k_0 (get-literal_0 varargs-after_0)))
                     (let ((blocking?-k_0 (get-boolean-literal_0 blocking?_0)))
                       (let ((async-apply-k_0
                              (get-boolean-literal_0 async-apply_0)))
                         (let ((save-errno-k_0 (get-literal_0 save-errno_0)))
                           (let ((async-apply-k_1 async-apply-k_0)
                                 (blocking?-k_1 blocking?-k_0)
                                 (varargs-after-k_1 varargs-after-k_0)
                                 (abi-k_1 abi-k_0))
                             (if (known-literal? abi-k_1)
                               (if (known-literal? varargs-after-k_1)
                                 (if (known-literal? blocking?-k_1)
                                   (if (known-literal? async-apply-k_1)
                                     (if (known-literal? save-errno-k_0)
                                       (let ((app_0
                                              (let ((app_0
                                                     (map_2353
                                                      known-ctype-rep
                                                      arg-ks_0)))
                                                (let ((app_1
                                                       (known-ctype-rep
                                                        result-k_0)))
                                                  (let ((app_2
                                                         (list
                                                          'quote
                                                          (known-literal-value
                                                           abi-k_1))))
                                                    (let ((app_3
                                                           (known-literal-value
                                                            varargs-after-k_1)))
                                                      (let ((app_4
                                                             (if (let ((or-part_0
                                                                        (known-literal-value
                                                                         blocking?-k_1)))
                                                                   (if or-part_0
                                                                     or-part_0
                                                                     (known-literal-value
                                                                      async-apply-k_1)))
                                                               #t
                                                               #f)))
                                                        (list
                                                         'ffi-static-call-and-callback-core
                                                         app_0
                                                         app_1
                                                         app_2
                                                         app_3
                                                         app_4
                                                         (list
                                                          'quote
                                                          (known-literal-value
                                                           save-errno-k_0))))))))))
                                         (list
                                          'values
                                          app_0
                                          (list* 'list arg-types_0)
                                          result-type_0
                                          abi_0
                                          varargs-after_0
                                          blocking?_0
                                          async-apply_0
                                          save-errno_0))
                                       #f)
                                     #f)
                                   #f)
                                 #f)
                               #f)))))))
                 #f)
               #f))))))))
(define optimize
  (lambda (v_0
           prim-knowns_0
           primitives_0
           knowns_0
           imports_0
           mutated_0
           target_0
           compiler-query_0)
    (let ((v_1 (unwrap-let.1 #t v_0)))
      (let ((hd_0
             (let ((p_0 (unwrap v_1)))
               (if (pair? p_0) (unwrap (car p_0)) #f))))
        (if (if (eq? 'if hd_0)
              (let ((a_0 (cdr (unwrap v_1))))
                (let ((p_0 (unwrap a_0)))
                  (if (pair? p_0)
                    (let ((a_1 (cdr p_0)))
                      (let ((p_1 (unwrap a_1)))
                        (if (pair? p_1)
                          (let ((a_2 (cdr p_1)))
                            (let ((p_2 (unwrap a_2)))
                              (if (pair? p_2)
                                (let ((a_3 (cdr p_2)))
                                  (let ((app_0 (unwrap '())))
                                    (eq? app_0 (unwrap a_3))))
                                #f)))
                          #f)))
                    #f)))
              #f)
          (call-with-values
           (lambda ()
             (let ((d_0 (cdr (unwrap v_1))))
               (let ((p_0 (unwrap d_0)))
                 (let ((t_0 (let ((a_0 (car p_0))) a_0)))
                   (call-with-values
                    (lambda ()
                      (let ((d_1 (cdr p_0)))
                        (let ((p_1 (unwrap d_1)))
                          (let ((e1_0 (let ((a_0 (car p_1))) a_0)))
                            (let ((e2_0
                                   (let ((d_2 (cdr p_1)))
                                     (let ((a_0 (car (unwrap d_2)))) a_0))))
                              (let ((e1_1 e1_0)) (values e1_1 e2_0)))))))
                    (lambda (e1_0 e2_0)
                      (let ((t_1 t_0)) (values t_1 e1_0 e2_0))))))))
           (lambda (t_0 e1_0 e2_0)
             (if (literal? t_0) (if (unwrap t_0) e1_0 e2_0) v_1)))
          (if (if (eq? 'begin hd_0)
                (let ((a_0 (cdr (unwrap v_1))))
                  (let ((p_0 (unwrap a_0)))
                    (if (pair? p_0)
                      (if (let ((a_1 (car p_0)))
                            (let ((p_1 (unwrap a_1)))
                              (if (pair? p_1)
                                (if (let ((a_2 (car p_1)))
                                      (let ((app_0 (unwrap 'quote)))
                                        (eq? app_0 (unwrap a_2))))
                                  (let ((a_2 (cdr p_1)))
                                    (let ((p_2 (unwrap a_2)))
                                      (if (pair? p_2)
                                        (let ((a_3 (cdr p_2)))
                                          (let ((app_0 (unwrap '())))
                                            (eq? app_0 (unwrap a_3))))
                                        #f)))
                                  #f)
                                #f)))
                        (let ((a_1 (cdr p_0)))
                          (let ((p_1 (unwrap a_1))) (if (pair? p_1) #t #f)))
                        #f)
                      #f)))
                #f)
            (call-with-values
             (lambda ()
               (let ((d_0 (cdr (unwrap v_1))))
                 (let ((d_1 (cdr (unwrap d_0))))
                   (let ((p_0 (unwrap d_1)))
                     (let ((e_0 (let ((a_0 (car p_0))) a_0)))
                       (let ((es_0 (let ((d_2 (cdr p_0))) d_2)))
                         (let ((e_1 e_0)) (values e_1 es_0))))))))
             (lambda (e_0 es_0)
               (optimize
                (reannotate v_1 (list* 'begin e_0 es_0))
                prim-knowns_0
                primitives_0
                knowns_0
                imports_0
                mutated_0
                target_0
                compiler-query_0)))
            (if (if (eq? 'begin-unsafe hd_0)
                  (let ((a_0 (cdr (unwrap v_1))))
                    (let ((p_0 (unwrap a_0)))
                      (if (pair? p_0)
                        (let ((a_1 (cdr p_0)))
                          (let ((app_0 (unwrap '())))
                            (eq? app_0 (unwrap a_1))))
                        #f)))
                  #f)
              (let ((e_0
                     (let ((d_0 (cdr (unwrap v_1))))
                       (let ((a_0 (car (unwrap d_0)))) a_0))))
                (let ((new-e_0
                       (optimize
                        e_0
                        prim-knowns_0
                        primitives_0
                        knowns_0
                        imports_0
                        mutated_0
                        target_0
                        compiler-query_0)))
                  (if (pair? (unwrap new-e_0))
                    (list 'begin-unsafe new-e_0)
                    new-e_0)))
              (if (if (eq? 'not hd_0)
                    (let ((a_0 (cdr (unwrap v_1))))
                      (let ((p_0 (unwrap a_0)))
                        (if (pair? p_0)
                          (let ((a_1 (cdr p_0)))
                            (let ((app_0 (unwrap '())))
                              (eq? app_0 (unwrap a_1))))
                          #f)))
                    #f)
                (let ((t_0
                       (let ((d_0 (cdr (unwrap v_1))))
                         (let ((a_0 (car (unwrap d_0)))) a_0))))
                  (if (literal? t_0) (not (unwrap t_0)) v_1))
                (if (if (eq? 'procedure? hd_0)
                      (let ((a_0 (cdr (unwrap v_1))))
                        (let ((p_0 (unwrap a_0)))
                          (if (pair? p_0)
                            (let ((a_1 (cdr p_0)))
                              (let ((app_0 (unwrap '())))
                                (eq? app_0 (unwrap a_1))))
                            #f)))
                      #f)
                  (let ((e_0
                         (let ((d_0 (cdr (unwrap v_1))))
                           (let ((a_0 (car (unwrap d_0)))) a_0))))
                    (if (lambda?.1 #f e_0)
                      (call-with-values
                       (lambda () (extract-lambda e_0))
                       (lambda (lam_0 inlinable?_0)
                         (if inlinable?_0 #t (list* 'begin e_0 '(#t)))))
                      (let ((u_0 (unwrap e_0)))
                        (if (symbol? u_0)
                          (let ((k_0
                                 (call-with-values
                                  (lambda ()
                                    (find-known+import
                                     u_0
                                     prim-knowns_0
                                     knowns_0
                                     imports_0
                                     mutated_0))
                                  (lambda (k_0 im_0) k_0))))
                            (if (known-procedure? k_0) #t v_1))
                          v_1))))
                  (if (if (eq? 'procedure-arity-includes? hd_0)
                        (let ((a_0 (cdr (unwrap v_1))))
                          (let ((p_0 (unwrap a_0)))
                            (if (pair? p_0)
                              (let ((a_1 (cdr p_0)))
                                (let ((p_1 (unwrap a_1)))
                                  (if (pair? p_1) #t #f)))
                              #f)))
                        #f)
                    (call-with-values
                     (lambda ()
                       (let ((d_0 (cdr (unwrap v_1))))
                         (let ((p_0 (unwrap d_0)))
                           (let ((e_0 (let ((a_0 (car p_0))) a_0)))
                             (call-with-values
                              (lambda ()
                                (let ((d_1 (cdr p_0)))
                                  (let ((p_1 (unwrap d_1)))
                                    (let ((n_0 (let ((a_0 (car p_1))) a_0)))
                                      (let ((opt_0
                                             (let ((d_2 (cdr p_1))) d_2)))
                                        (let ((n_1 n_0))
                                          (values n_1 opt_0)))))))
                              (lambda (n_0 opt_0)
                                (let ((e_1 e_0)) (values e_1 n_0 opt_0))))))))
                     (lambda (e_0 n_0 opt_0)
                       (let ((u-n_0 (unwrap n_0)))
                         (if (if (exact-nonnegative-integer? n_0)
                               (let ((or-part_0 (null? opt_0)))
                                 (if or-part_0
                                   or-part_0
                                   (if (null? (cdr opt_0))
                                     (literal? (car opt_0))
                                     #f)))
                               #f)
                           (if (lambda?.1 #f e_0)
                             (call-with-values
                              (lambda () (extract-lambda e_0))
                              (lambda (lam_0 inlinable?_0)
                                (let ((inc?_0
                                       (bitwise-bit-set?
                                        (lambda-arity-mask lam_0)
                                        n_0)))
                                  (if inlinable?_0
                                    inc?_0
                                    (list 'begin e_0 inc?_0)))))
                             (let ((u_0 (unwrap e_0)))
                               (if (symbol? u_0)
                                 (let ((k_0
                                        (call-with-values
                                         (lambda ()
                                           (find-known+import
                                            u_0
                                            prim-knowns_0
                                            knowns_0
                                            imports_0
                                            mutated_0))
                                         (lambda (k_0 im_0) k_0))))
                                   (if (known-procedure? k_0)
                                     (bitwise-bit-set?
                                      (known-procedure-arity-mask k_0)
                                      u-n_0)
                                     v_1))
                                 v_1)))
                           v_1))))
                    (if (if (eq? 'procedure-specialize hd_0)
                          (let ((a_0 (cdr (unwrap v_1))))
                            (let ((p_0 (unwrap a_0)))
                              (if (pair? p_0)
                                (let ((a_1 (cdr p_0)))
                                  (let ((app_0 (unwrap '())))
                                    (eq? app_0 (unwrap a_1))))
                                #f)))
                          #f)
                      (let ((e_0
                             (let ((d_0 (cdr (unwrap v_1))))
                               (let ((a_0 (car (unwrap d_0)))) a_0))))
                        (if (lambda?.1 #f e_0) e_0 v_1))
                      (if (if (eq? 'ffi-maybe-call-and-callback-core hd_0)
                            (let ((a_0 (cdr (unwrap v_1))))
                              (let ((p_0 (unwrap a_0)))
                                (if (pair? p_0)
                                  (let ((a_1 (cdr p_0)))
                                    (let ((p_1 (unwrap a_1)))
                                      (if (pair? p_1)
                                        (let ((a_2 (cdr p_1)))
                                          (let ((p_2 (unwrap a_2)))
                                            (if (pair? p_2)
                                              (let ((a_3 (cdr p_2)))
                                                (let ((p_3 (unwrap a_3)))
                                                  (if (pair? p_3)
                                                    (let ((a_4 (cdr p_3)))
                                                      (let ((p_4 (unwrap a_4)))
                                                        (if (pair? p_4)
                                                          (let ((a_5
                                                                 (cdr p_4)))
                                                            (let ((p_5
                                                                   (unwrap
                                                                    a_5)))
                                                              (if (pair? p_5)
                                                                (let ((a_6
                                                                       (cdr
                                                                        p_5)))
                                                                  (let ((p_6
                                                                         (unwrap
                                                                          a_6)))
                                                                    (if (pair?
                                                                         p_6)
                                                                      #t
                                                                      #f)))
                                                                #f)))
                                                          #f)))
                                                    #f)))
                                              #f)))
                                        #f)))
                                  #f)))
                            #f)
                        (call-with-values
                         (lambda ()
                           (let ((d_0 (cdr (unwrap v_1))))
                             (let ((p_0 (unwrap d_0)))
                               (let ((must-at_0 (let ((a_0 (car p_0))) a_0)))
                                 (call-with-values
                                  (lambda ()
                                    (let ((d_1 (cdr p_0)))
                                      (let ((p_1 (unwrap d_1)))
                                        (let ((abi_0
                                               (let ((a_0 (car p_1))) a_0)))
                                          (call-with-values
                                           (lambda ()
                                             (let ((d_2 (cdr p_1)))
                                               (let ((p_2 (unwrap d_2)))
                                                 (let ((varargs-after_0
                                                        (let ((a_0 (car p_2)))
                                                          a_0)))
                                                   (call-with-values
                                                    (lambda ()
                                                      (let ((d_3 (cdr p_2)))
                                                        (let ((p_3
                                                               (unwrap d_3)))
                                                          (let ((blocking?_0
                                                                 (let ((a_0
                                                                        (car
                                                                         p_3)))
                                                                   a_0)))
                                                            (call-with-values
                                                             (lambda ()
                                                               (let ((d_4
                                                                      (cdr
                                                                       p_3)))
                                                                 (let ((p_4
                                                                        (unwrap
                                                                         d_4)))
                                                                   (let ((async-apply_0
                                                                          (let ((a_0
                                                                                 (car
                                                                                  p_4)))
                                                                            a_0)))
                                                                     (call-with-values
                                                                      (lambda ()
                                                                        (let ((d_5
                                                                               (cdr
                                                                                p_4)))
                                                                          (let ((p_5
                                                                                 (unwrap
                                                                                  d_5)))
                                                                            (let ((save-errno_0
                                                                                   (let ((a_0
                                                                                          (car
                                                                                           p_5)))
                                                                                     a_0)))
                                                                              (call-with-values
                                                                               (lambda ()
                                                                                 (let ((d_6
                                                                                        (cdr
                                                                                         p_5)))
                                                                                   (let ((p_6
                                                                                          (unwrap
                                                                                           d_6)))
                                                                                     (let ((result-type_0
                                                                                            (let ((a_0
                                                                                                   (car
                                                                                                    p_6)))
                                                                                              a_0)))
                                                                                       (let ((arg-types_0
                                                                                              (let ((d_7
                                                                                                     (cdr
                                                                                                      p_6)))
                                                                                                d_7)))
                                                                                         (let ((result-type_1
                                                                                                result-type_0))
                                                                                           (values
                                                                                            result-type_1
                                                                                            arg-types_0)))))))
                                                                               (lambda (result-type_0
                                                                                        arg-types_0)
                                                                                 (let ((save-errno_1
                                                                                        save-errno_0))
                                                                                   (values
                                                                                    save-errno_1
                                                                                    result-type_0
                                                                                    arg-types_0))))))))
                                                                      (lambda (save-errno_0
                                                                               result-type_0
                                                                               arg-types_0)
                                                                        (let ((async-apply_1
                                                                               async-apply_0))
                                                                          (values
                                                                           async-apply_1
                                                                           save-errno_0
                                                                           result-type_0
                                                                           arg-types_0))))))))
                                                             (lambda (async-apply_0
                                                                      save-errno_0
                                                                      result-type_0
                                                                      arg-types_0)
                                                               (let ((blocking?_1
                                                                      blocking?_0))
                                                                 (values
                                                                  blocking?_1
                                                                  async-apply_0
                                                                  save-errno_0
                                                                  result-type_0
                                                                  arg-types_0))))))))
                                                    (lambda (blocking?_0
                                                             async-apply_0
                                                             save-errno_0
                                                             result-type_0
                                                             arg-types_0)
                                                      (let ((varargs-after_1
                                                             varargs-after_0))
                                                        (values
                                                         varargs-after_1
                                                         blocking?_0
                                                         async-apply_0
                                                         save-errno_0
                                                         result-type_0
                                                         arg-types_0))))))))
                                           (lambda (varargs-after_0
                                                    blocking?_0
                                                    async-apply_0
                                                    save-errno_0
                                                    result-type_0
                                                    arg-types_0)
                                             (let ((abi_1 abi_0))
                                               (values
                                                abi_1
                                                varargs-after_0
                                                blocking?_0
                                                async-apply_0
                                                save-errno_0
                                                result-type_0
                                                arg-types_0))))))))
                                  (lambda (abi_0
                                           varargs-after_0
                                           blocking?_0
                                           async-apply_0
                                           save-errno_0
                                           result-type_0
                                           arg-types_0)
                                    (let ((must-at_1 must-at_0))
                                      (values
                                       must-at_1
                                       abi_0
                                       varargs-after_0
                                       blocking?_0
                                       async-apply_0
                                       save-errno_0
                                       result-type_0
                                       arg-types_0))))))))
                         (lambda (must-at_0
                                  abi_0
                                  varargs-after_0
                                  blocking?_0
                                  async-apply_0
                                  save-errno_0
                                  result-type_0
                                  arg-types_0)
                           (let ((or-part_0
                                  (if (eq? target_0 'compile)
                                    (let ((or-part_0
                                           (make-ffi-static-core
                                            arg-types_0
                                            result-type_0
                                            abi_0
                                            varargs-after_0
                                            blocking?_0
                                            async-apply_0
                                            save-errno_0
                                            prim-knowns_0
                                            primitives_0
                                            knowns_0
                                            imports_0
                                            mutated_0)))
                                      (if or-part_0
                                        or-part_0
                                        (if (unwrap must-at_0)
                                          (error
                                           'compile
                                           "unable to generate foreign function statically: ~s"
                                           (let ((hd_1
                                                  (let ((p_0
                                                         (unwrap must-at_0)))
                                                    (if (pair? p_0)
                                                      (unwrap (car p_0))
                                                      #f))))
                                             (if (if (eq? 'quote hd_1)
                                                   (let ((a_0
                                                          (cdr
                                                           (unwrap
                                                            must-at_0))))
                                                     (let ((p_0 (unwrap a_0)))
                                                       (if (pair? p_0)
                                                         (let ((a_1 (cdr p_0)))
                                                           (let ((app_0
                                                                  (unwrap
                                                                   '())))
                                                             (eq?
                                                              app_0
                                                              (unwrap a_1))))
                                                         #f)))
                                                   #f)
                                               (let ((e_0
                                                      (let ((d_0
                                                             (cdr
                                                              (unwrap
                                                               must-at_0))))
                                                        (let ((a_0
                                                               (car
                                                                (unwrap d_0))))
                                                          a_0))))
                                                 e_0)
                                               must-at_0)))
                                          #f)))
                                    #f)))
                             (if or-part_0 or-part_0 v_1))))
                        (if (if (eq? 'system-type hd_0) #t #f)
                          (let ((hd_1
                                 (let ((p_0 (unwrap v_1)))
                                   (if (pair? p_0) (unwrap (car p_0)) #f))))
                            (if (if (eq? 'system-type hd_1)
                                  (let ((a_0 (cdr (unwrap v_1))))
                                    (let ((p_0 (unwrap a_0)))
                                      (if (pair? p_0)
                                        (if (let ((a_1 (car p_0)))
                                              (let ((p_1 (unwrap a_1)))
                                                (if (pair? p_1)
                                                  (if (let ((a_2 (car p_1)))
                                                        (let ((app_0
                                                               (unwrap
                                                                'quote)))
                                                          (eq?
                                                           app_0
                                                           (unwrap a_2))))
                                                    (let ((a_2 (cdr p_1)))
                                                      (let ((p_2 (unwrap a_2)))
                                                        (if (pair? p_2)
                                                          (if (let ((a_3
                                                                     (car
                                                                      p_2)))
                                                                (let ((app_0
                                                                       (unwrap
                                                                        'vm)))
                                                                  (eq?
                                                                   app_0
                                                                   (unwrap
                                                                    a_3))))
                                                            (let ((a_3
                                                                   (cdr p_2)))
                                                              (let ((app_0
                                                                     (unwrap
                                                                      '())))
                                                                (eq?
                                                                 app_0
                                                                 (unwrap
                                                                  a_3))))
                                                            #f)
                                                          #f)))
                                                    #f)
                                                  #f)))
                                          (let ((a_1 (cdr p_0)))
                                            (let ((app_0 (unwrap '())))
                                              (eq? app_0 (unwrap a_1))))
                                          #f)
                                        #f)))
                                  #f)
                              ''chez-scheme
                              (if (if (eq? 'system-type hd_1)
                                    (let ((a_0 (cdr (unwrap v_1))))
                                      (let ((app_0 (unwrap '())))
                                        (eq? app_0 (unwrap a_0))))
                                    #f)
                                (let ((sym_0
                                       (|#%app|
                                        compiler-query_0
                                        '(system-type))))
                                  (if sym_0 (list 'quote sym_0) v_1))
                                (if (if (eq? 'system-type hd_1)
                                      (let ((a_0 (cdr (unwrap v_1))))
                                        (let ((p_0 (unwrap a_0)))
                                          (if (pair? p_0)
                                            (if (let ((a_1 (car p_0)))
                                                  (let ((p_1 (unwrap a_1)))
                                                    (if (pair? p_1)
                                                      (if (let ((a_2
                                                                 (car p_1)))
                                                            (let ((app_0
                                                                   (unwrap
                                                                    'quote)))
                                                              (eq?
                                                               app_0
                                                               (unwrap a_2))))
                                                        (let ((a_2 (cdr p_1)))
                                                          (let ((p_2
                                                                 (unwrap a_2)))
                                                            (if (pair? p_2)
                                                              (if (let ((a_3
                                                                         (car
                                                                          p_2)))
                                                                    (let ((app_0
                                                                           (unwrap
                                                                            'word)))
                                                                      (eq?
                                                                       app_0
                                                                       (unwrap
                                                                        a_3))))
                                                                (let ((a_3
                                                                       (cdr
                                                                        p_2)))
                                                                  (let ((app_0
                                                                         (unwrap
                                                                          '())))
                                                                    (eq?
                                                                     app_0
                                                                     (unwrap
                                                                      a_3))))
                                                                #f)
                                                              #f)))
                                                        #f)
                                                      #f)))
                                              (let ((a_1 (cdr p_0)))
                                                (let ((app_0 (unwrap '())))
                                                  (eq? app_0 (unwrap a_1))))
                                              #f)
                                            #f)))
                                      #f)
                                  (let ((n_0
                                         (|#%app|
                                          compiler-query_0
                                          '(foreign-sizeof 'void*))))
                                    (if (eqv? n_0 8)
                                      64
                                      (if (eqv? n_0 4) 32 v_1)))
                                  v_1))))
                          (if (if (eq? 'compiler-sizeof hd_0)
                                (let ((a_0 (cdr (unwrap v_1))))
                                  (let ((p_0 (unwrap a_0)))
                                    (if (pair? p_0)
                                      (if (let ((a_1 (car p_0)))
                                            (let ((p_1 (unwrap a_1)))
                                              (if (pair? p_1)
                                                (if (let ((a_2 (car p_1)))
                                                      (let ((app_0
                                                             (unwrap 'quote)))
                                                        (eq?
                                                         app_0
                                                         (unwrap a_2))))
                                                  (let ((a_2 (cdr p_1)))
                                                    (let ((p_2 (unwrap a_2)))
                                                      (if (pair? p_2)
                                                        (let ((a_3 (cdr p_2)))
                                                          (let ((app_0
                                                                 (unwrap '())))
                                                            (eq?
                                                             app_0
                                                             (unwrap a_3))))
                                                        #f)))
                                                  #f)
                                                #f)))
                                        (let ((a_1 (cdr p_0)))
                                          (let ((app_0 (unwrap '())))
                                            (eq? app_0 (unwrap a_1))))
                                        #f)
                                      #f)))
                                #f)
                            (let ((arg_0
                                   (let ((d_0 (cdr (unwrap v_1))))
                                     (let ((a_0 (car (unwrap d_0))))
                                       (let ((d_1 (cdr (unwrap a_0))))
                                         (let ((a_1 (car (unwrap d_1))))
                                           a_1))))))
                              (let ((scheme-arg_0
                                     (letrec*
                                      ((loop_0
                                        (|#%name|
                                         loop
                                         (lambda (arg_1)
                                           (let ((tmp_0 (unwrap arg_1)))
                                             (if (if (eq? tmp_0 'int)
                                                   #t
                                                   (if (eq? tmp_0 'char)
                                                     #t
                                                     (if (eq? tmp_0 'wchar)
                                                       #t
                                                       (if (eq? tmp_0 'float)
                                                         #t
                                                         (if (eq?
                                                              tmp_0
                                                              'double)
                                                           #t
                                                           (if (eq?
                                                                tmp_0
                                                                'short)
                                                             #t
                                                             (eq?
                                                              tmp_0
                                                              'long)))))))
                                               arg_1
                                               (let ((u_0 (unwrap-list arg_1)))
                                                 (if (list? u_0)
                                                   (if (= 2 (length u_0))
                                                     (if (if (eq?
                                                              'long
                                                              (unwrap
                                                               (car u_0)))
                                                           (eq?
                                                            'long
                                                            (unwrap
                                                             (cadr u_0)))
                                                           #f)
                                                       'long-long
                                                       (if (if (eq?
                                                                (unwrap
                                                                 (cadr u_0))
                                                                '*)
                                                             (let ((a_0
                                                                    (unwrap
                                                                     (car
                                                                      u_0))))
                                                               (if (symbol?
                                                                    a_0)
                                                                 (let ((or-part_0
                                                                        (eq?
                                                                         'void
                                                                         a_0)))
                                                                   (if or-part_0
                                                                     or-part_0
                                                                     (loop_0
                                                                      a_0)))
                                                                 #f))
                                                             #f)
                                                         'void*
                                                         #f))
                                                     #f)
                                                   #f))))))))
                                      (loop_0 arg_0))))
                                (let ((or-part_0
                                       (if scheme-arg_0
                                         (let ((opt_0
                                                (|#%app|
                                                 compiler-query_0
                                                 (list
                                                  'foreign-sizeof
                                                  (list
                                                   'quote
                                                   scheme-arg_0)))))
                                           (if (integer? opt_0) opt_0 #f))
                                         #f)))
                                  (if or-part_0 or-part_0 v_1))))
                            (if (if (if (eq? 'apply hd_0)
                                      (let ((a_0 (cdr (unwrap v_1))))
                                        (let ((p_0 (unwrap a_0)))
                                          (if (pair? p_0)
                                            (let ((a_1 (cdr p_0)))
                                              (let ((p_1 (unwrap a_1)))
                                                (if (pair? p_1) #t #f)))
                                            #f)))
                                      #f)
                                  (memq
                                   (if (let ((p_0 (unwrap v_1)))
                                         (if (pair? p_0)
                                           (let ((a_0 (cdr p_0)))
                                             (let ((p_1 (unwrap a_0)))
                                               (if (pair? p_1) #t #f)))
                                           #f))
                                     (let ((rator_0
                                            (let ((d_0 (cdr (unwrap v_1))))
                                              (let ((a_0 (car (unwrap d_0))))
                                                a_0))))
                                       (unwrap rator_0))
                                     (error 'match "failed ~e" v_1))
                                   '(string-append
                                     string-append-immutable
                                     bytes-append))
                                  #f)
                              (call-with-values
                               (lambda ()
                                 (let ((d_0 (cdr (unwrap v_1))))
                                   (let ((p_0 (unwrap d_0)))
                                     (let ((rator_0
                                            (let ((a_0 (car p_0))) a_0)))
                                       (call-with-values
                                        (lambda ()
                                          (let ((d_1 (cdr p_0)))
                                            (let ((p_1 (unwrap d_1)))
                                              (let ((rand_0
                                                     (let ((a_0 (car p_1)))
                                                       a_0)))
                                                (let ((rands_0
                                                       (let ((d_2 (cdr p_1)))
                                                         d_2)))
                                                  (let ((rand_1 rand_0))
                                                    (values
                                                     rand_1
                                                     rands_0)))))))
                                        (lambda (rand_0 rands_0)
                                          (let ((rator_1 rator_0))
                                            (values
                                             rator_1
                                             rand_0
                                             rands_0))))))))
                               (lambda (rator_0 rand_0 rands_0)
                                 (let ((new-rator_0
                                        (let ((tmp_0 (unwrap rator_0)))
                                          (if (eq? tmp_0 'string-append)
                                            'apply-string-append
                                            (if (eq?
                                                 tmp_0
                                                 'string-append-immutable)
                                              'apply-string-append-immutable
                                              (if (eq? tmp_0 'bytes-append)
                                                'apply-bytes-append
                                                (void)))))))
                                   (let ((app_0
                                          (sub1
                                           (length (cons rand_0 rands_0)))))
                                     (list
                                      new-rator_0
                                      app_0
                                      (if (null? rands_0)
                                        rand_0
                                        (list* 'list* rand_0 rands_0)))))))
                              (if (let ((p_0 (unwrap v_1)))
                                    (if (pair? p_0) #t #f))
                                (call-with-values
                                 (lambda ()
                                   (let ((p_0 (unwrap v_1)))
                                     (let ((rator_0
                                            (let ((a_0 (car p_0))) a_0)))
                                       (let ((rands_0
                                              (let ((d_0 (cdr p_0))) d_0)))
                                         (let ((rator_1 rator_0))
                                           (values rator_1 rands_0))))))
                                 (lambda (rator_0 rands_0)
                                   (let ((u-rator_0 (unwrap rator_0)))
                                     (let ((k_0
                                            (if (symbol? u-rator_0)
                                              (hash-ref
                                               prim-knowns_0
                                               u-rator_0
                                               #f)
                                              #f)))
                                       (let ((cond-val_0
                                              (if k_0
                                                (if (let ((or-part_0
                                                           (known-procedure/folding?
                                                            k_0)))
                                                      (if or-part_0
                                                        or-part_0
                                                        (let ((or-part_1
                                                               (known-procedure/pure/folding?
                                                                k_0)))
                                                          (if or-part_1
                                                            or-part_1
                                                            (let ((or-part_2
                                                                   (known-procedure/then-pure/folding-unsafe?
                                                                    k_0)))
                                                              (if or-part_2
                                                                or-part_2
                                                                (known-procedure/has-unsafe/folding?
                                                                 k_0)))))))
                                                  (if (letrec*
                                                       ((for-loop_0
                                                         (|#%name|
                                                          for-loop
                                                          (lambda (result_0
                                                                   lst_0)
                                                            (if (pair? lst_0)
                                                              (let ((rand_0
                                                                     (unsafe-car
                                                                      lst_0)))
                                                                (let ((rest_0
                                                                       (unsafe-cdr
                                                                        lst_0)))
                                                                  (let ((result_1
                                                                         (let ((result_1
                                                                                (literal?
                                                                                 rand_0)))
                                                                           (values
                                                                            result_1))))
                                                                    (if (if (not
                                                                             (let ((x_0
                                                                                    (list
                                                                                     rand_0)))
                                                                               (not
                                                                                result_1)))
                                                                          #t
                                                                          #f)
                                                                      (for-loop_0
                                                                       result_1
                                                                       rest_0)
                                                                      result_1))))
                                                              result_0)))))
                                                       (for-loop_0 #t rands_0))
                                                    (try-fold-primitive
                                                     u-rator_0
                                                     k_0
                                                     rands_0
                                                     prim-knowns_0
                                                     primitives_0)
                                                    #f)
                                                  #f)
                                                #f)))
                                         (if cond-val_0
                                           (car cond-val_0)
                                           v_1))))))
                                (let ((u_0 (unwrap v_1)))
                                  (if (symbol? u_0)
                                    (let ((k_0
                                           (hash-ref-either
                                            knowns_0
                                            imports_0
                                            u_0)))
                                      (if (if (known-literal? k_0)
                                            (simple-mutated-state?
                                             (hash-ref mutated_0 u_0 #f))
                                            #f)
                                        (wrap-literal
                                         (known-literal-value k_0))
                                        (if (if (known-foreign-inline? k_0)
                                              (simple-mutated-state?
                                               (hash-ref mutated_0 u_0 #f))
                                              #f)
                                          (known-foreign-inline-expr k_0)
                                          v_1)))
                                    v_1))))))))))))))))))
(define optimize*
  (lambda (v_0
           prim-knowns_0
           primitives_0
           knowns_0
           imports_0
           mutated_0
           unsafe-mode?_0
           target_0
           compiler-query_0)
    (letrec*
     ((do-optimize_0
       (|#%name|
        do-optimize
        (lambda (v_1 unsafe-mode?_1 env_0)
          (let ((optimize*_0
                 (|#%name|
                  optimize*
                  (lambda (v_2) (do-optimize_0 v_2 unsafe-mode?_1 env_0)))))
            (let ((optimize*-body_0
                   (|#%name|
                    optimize*-body
                    (lambda (body_0)
                      (reverse$1
                       (letrec*
                        ((for-loop_0
                          (|#%name|
                           for-loop
                           (lambda (fold-var_0 lst_0)
                             (if (not (null? (unwrap lst_0)))
                               (let ((v_2
                                      (if (pair? (unwrap lst_0))
                                        (wrap-car lst_0)
                                        lst_0)))
                                 (let ((rest_0
                                        (if (pair? (unwrap lst_0))
                                          (wrap-cdr lst_0)
                                          null)))
                                   (let ((v_3 v_2))
                                     (let ((fold-var_1
                                            (let ((fold-var_1
                                                   (cons
                                                    (optimize*_0 v_3)
                                                    fold-var_0)))
                                              (values fold-var_1))))
                                       (for-loop_0 fold-var_1 rest_0)))))
                               fold-var_0)))))
                        (for-loop_0 null body_0)))))))
              (let ((optimize*-body/unsafe_0
                     (|#%name|
                      optimize*-body/unsafe
                      (lambda (body_0)
                        (reverse$1
                         (letrec*
                          ((for-loop_0
                            (|#%name|
                             for-loop
                             (lambda (fold-var_0 lst_0)
                               (if (not (null? (unwrap lst_0)))
                                 (let ((v_2
                                        (if (pair? (unwrap lst_0))
                                          (wrap-car lst_0)
                                          lst_0)))
                                   (let ((rest_0
                                          (if (pair? (unwrap lst_0))
                                            (wrap-cdr lst_0)
                                            null)))
                                     (let ((v_3 v_2))
                                       (let ((fold-var_1
                                              (let ((fold-var_1
                                                     (cons
                                                      (do-optimize_0
                                                       v_3
                                                       #t
                                                       env_0)
                                                      fold-var_0)))
                                                (values fold-var_1))))
                                         (for-loop_0 fold-var_1 rest_0)))))
                                 fold-var_0)))))
                          (for-loop_0 null body_0)))))))
                (let ((optimize*-let_0
                       (|#%name|
                        optimize*-let
                        (lambda (v_2)
                          (if (let ((p_0 (unwrap v_2)))
                                (if (pair? p_0)
                                  (let ((a_0 (cdr p_0)))
                                    (let ((p_1 (unwrap a_0)))
                                      (if (pair? p_1)
                                        (if (let ((a_1 (car p_1)))
                                              (let ((app_0 (unwrap '())))
                                                (eq? app_0 (unwrap a_1))))
                                          (let ((a_1 (cdr p_1)))
                                            (let ((p_2 (unwrap a_1)))
                                              (if (pair? p_2)
                                                (let ((a_2 (cdr p_2)))
                                                  (let ((app_0 (unwrap '())))
                                                    (eq? app_0 (unwrap a_2))))
                                                #f)))
                                          #f)
                                        #f)))
                                  #f))
                            (call-with-values
                             (lambda ()
                               (let ((p_0 (unwrap v_2)))
                                 (let ((let-id_0 (let ((a_0 (car p_0))) a_0)))
                                   (let ((body_0
                                          (let ((d_0 (cdr p_0)))
                                            (let ((d_1 (cdr (unwrap d_0))))
                                              (let ((a_0 (car (unwrap d_1))))
                                                a_0)))))
                                     (let ((let-id_1 let-id_0))
                                       (values let-id_1 body_0))))))
                             (lambda (let-id_0 body_0) (optimize*_0 body_0)))
                            (if (let ((p_0 (unwrap v_2)))
                                  (if (pair? p_0)
                                    (let ((a_0 (cdr p_0)))
                                      (let ((p_1 (unwrap a_0)))
                                        (if (pair? p_1)
                                          (if (let ((a_1 (car p_1)))
                                                (if (wrap-list? a_1)
                                                  (letrec*
                                                   ((for-loop_0
                                                     (|#%name|
                                                      for-loop
                                                      (lambda (result_0 lst_0)
                                                        (if (not
                                                             (null?
                                                              (unwrap lst_0)))
                                                          (let ((v_3
                                                                 (if (pair?
                                                                      (unwrap
                                                                       lst_0))
                                                                   (wrap-car
                                                                    lst_0)
                                                                   lst_0)))
                                                            (let ((rest_0
                                                                   (if (pair?
                                                                        (unwrap
                                                                         lst_0))
                                                                     (wrap-cdr
                                                                      lst_0)
                                                                     null)))
                                                              (let ((v_4 v_3))
                                                                (let ((result_1
                                                                       (let ((result_1
                                                                              (let ((p_2
                                                                                     (unwrap
                                                                                      v_4)))
                                                                                (if (pair?
                                                                                     p_2)
                                                                                  (let ((a_2
                                                                                         (cdr
                                                                                          p_2)))
                                                                                    (let ((p_3
                                                                                           (unwrap
                                                                                            a_2)))
                                                                                      (if (pair?
                                                                                           p_3)
                                                                                        (let ((a_3
                                                                                               (cdr
                                                                                                p_3)))
                                                                                          (let ((app_0
                                                                                                 (unwrap
                                                                                                  '())))
                                                                                            (eq?
                                                                                             app_0
                                                                                             (unwrap
                                                                                              a_3))))
                                                                                        #f)))
                                                                                  #f))))
                                                                         (values
                                                                          result_1))))
                                                                  (if (if (not
                                                                           (let ((x_0
                                                                                  (list
                                                                                   v_4)))
                                                                             (not
                                                                              result_1)))
                                                                        #t
                                                                        #f)
                                                                    (for-loop_0
                                                                     result_1
                                                                     rest_0)
                                                                    result_1)))))
                                                          result_0)))))
                                                   (for-loop_0 #t a_1))
                                                  #f))
                                            (let ((a_1 (cdr p_1)))
                                              (wrap-list? a_1))
                                            #f)
                                          #f)))
                                    #f))
                              (call-with-values
                               (lambda ()
                                 (let ((p_0 (unwrap v_2)))
                                   (let ((let-id_0
                                          (let ((a_0 (car p_0))) a_0)))
                                     (call-with-values
                                      (lambda ()
                                        (let ((d_0 (cdr p_0)))
                                          (let ((p_1 (unwrap d_0)))
                                            (call-with-values
                                             (lambda ()
                                               (let ((a_0 (car p_1)))
                                                 (call-with-values
                                                  (lambda ()
                                                    (letrec*
                                                     ((for-loop_0
                                                       (|#%name|
                                                        for-loop
                                                        (lambda (idss_0
                                                                 rhss_0
                                                                 lst_0)
                                                          (if (not
                                                               (null?
                                                                (unwrap
                                                                 lst_0)))
                                                            (let ((v_3
                                                                   (if (pair?
                                                                        (unwrap
                                                                         lst_0))
                                                                     (wrap-car
                                                                      lst_0)
                                                                     lst_0)))
                                                              (let ((rest_0
                                                                     (if (pair?
                                                                          (unwrap
                                                                           lst_0))
                                                                       (wrap-cdr
                                                                        lst_0)
                                                                       null)))
                                                                (let ((v_4
                                                                       v_3))
                                                                  (call-with-values
                                                                   (lambda ()
                                                                     (call-with-values
                                                                      (lambda ()
                                                                        (call-with-values
                                                                         (lambda ()
                                                                           (let ((p_2
                                                                                  (unwrap
                                                                                   v_4)))
                                                                             (let ((idss_1
                                                                                    (let ((a_1
                                                                                           (car
                                                                                            p_2)))
                                                                                      a_1)))
                                                                               (let ((rhss_1
                                                                                      (let ((d_1
                                                                                             (cdr
                                                                                              p_2)))
                                                                                        (let ((a_1
                                                                                               (car
                                                                                                (unwrap
                                                                                                 d_1))))
                                                                                          a_1))))
                                                                                 (let ((idss_2
                                                                                        idss_1))
                                                                                   (values
                                                                                    idss_2
                                                                                    rhss_1))))))
                                                                         (lambda (idss6_0
                                                                                  rhss7_0)
                                                                           (values
                                                                            (cons
                                                                             idss6_0
                                                                             idss_0)
                                                                            (cons
                                                                             rhss7_0
                                                                             rhss_0)))))
                                                                      (lambda (idss_1
                                                                               rhss_1)
                                                                        (values
                                                                         idss_1
                                                                         rhss_1))))
                                                                   (lambda (idss_1
                                                                            rhss_1)
                                                                     (for-loop_0
                                                                      idss_1
                                                                      rhss_1
                                                                      rest_0))))))
                                                            (values
                                                             idss_0
                                                             rhss_0))))))
                                                     (for-loop_0
                                                      null
                                                      null
                                                      a_0)))
                                                  (lambda (idss_0 rhss_0)
                                                    (let ((app_0
                                                           (reverse$1 idss_0)))
                                                      (values
                                                       app_0
                                                       (reverse$1 rhss_0)))))))
                                             (lambda (idss_0 rhss_0)
                                               (let ((body_0
                                                      (let ((d_1 (cdr p_1)))
                                                        (unwrap-list d_1))))
                                                 (let ((idss_1 idss_0)
                                                       (rhss_1 rhss_0))
                                                   (values
                                                    idss_1
                                                    rhss_1
                                                    body_0))))))))
                                      (lambda (idss_0 rhss_0 body_0)
                                        (let ((let-id_1 let-id_0))
                                          (values
                                           let-id_1
                                           idss_0
                                           rhss_0
                                           body_0)))))))
                               (lambda (let-id_0 idss_0 rhss_0 body_0)
                                 (let ((new-env_0
                                        (letrec*
                                         ((for-loop_0
                                           (|#%name|
                                            for-loop
                                            (lambda (env_1 lst_0 lst_1)
                                              (if (if (pair? lst_0)
                                                    (pair? lst_1)
                                                    #f)
                                                (let ((ids_0
                                                       (unsafe-car lst_0)))
                                                  (let ((rest_0
                                                         (unsafe-cdr lst_0)))
                                                    (let ((rhs_0
                                                           (unsafe-car lst_1)))
                                                      (let ((rest_1
                                                             (unsafe-cdr
                                                              lst_1)))
                                                        (let ((env_2
                                                               (let ((env_2
                                                                      (if (let ((p_0
                                                                                 (unwrap
                                                                                  ids_0)))
                                                                            (if (pair?
                                                                                 p_0)
                                                                              (let ((a_0
                                                                                     (cdr
                                                                                      p_0)))
                                                                                (let ((app_0
                                                                                       (unwrap
                                                                                        '())))
                                                                                  (eq?
                                                                                   app_0
                                                                                   (unwrap
                                                                                    a_0))))
                                                                              #f))
                                                                        (let ((id_0
                                                                               (let ((a_0
                                                                                      (car
                                                                                       (unwrap
                                                                                        ids_0))))
                                                                                 a_0)))
                                                                          (let ((u_0
                                                                                 (unwrap
                                                                                  rhs_0)))
                                                                            (if (if (symbol?
                                                                                     u_0)
                                                                                  (simple-mutated-state?
                                                                                   (hash-ref
                                                                                    mutated_0
                                                                                    u_0
                                                                                    #f))
                                                                                  #f)
                                                                              (let ((app_0
                                                                                     (unwrap
                                                                                      id_0)))
                                                                                (hash-set
                                                                                 env_1
                                                                                 app_0
                                                                                 (hash-ref
                                                                                  env_1
                                                                                  u_0
                                                                                  rhs_0)))
                                                                              env_1)))
                                                                        env_1)))
                                                                 (values
                                                                  env_2))))
                                                          (for-loop_0
                                                           env_2
                                                           rest_0
                                                           rest_1))))))
                                                env_1)))))
                                         (for-loop_0 env_0 idss_0 rhss_0))))
                                   (if (eq? new-env_0 env_0)
                                     (let ((app_0
                                            (reverse$1
                                             (letrec*
                                              ((for-loop_0
                                                (|#%name|
                                                 for-loop
                                                 (lambda (fold-var_0
                                                          lst_0
                                                          lst_1)
                                                   (if (if (pair? lst_0)
                                                         (pair? lst_1)
                                                         #f)
                                                     (let ((ids_0
                                                            (unsafe-car
                                                             lst_0)))
                                                       (let ((rest_0
                                                              (unsafe-cdr
                                                               lst_0)))
                                                         (let ((rhs_0
                                                                (unsafe-car
                                                                 lst_1)))
                                                           (let ((rest_1
                                                                  (unsafe-cdr
                                                                   lst_1)))
                                                             (let ((fold-var_1
                                                                    (let ((fold-var_1
                                                                           (cons
                                                                            (list
                                                                             ids_0
                                                                             (optimize*_0
                                                                              rhs_0))
                                                                            fold-var_0)))
                                                                      (values
                                                                       fold-var_1))))
                                                               (for-loop_0
                                                                fold-var_1
                                                                rest_0
                                                                rest_1))))))
                                                     fold-var_0)))))
                                              (for-loop_0
                                               null
                                               idss_0
                                               rhss_0)))))
                                       (list*
                                        let-id_0
                                        app_0
                                        (optimize*-body_0 body_0)))
                                     (do-optimize_0
                                      (list*
                                       let-id_0
                                       (reverse$1
                                        (letrec*
                                         ((for-loop_0
                                           (|#%name|
                                            for-loop
                                            (lambda (fold-var_0 lst_0 lst_1)
                                              (if (if (pair? lst_0)
                                                    (pair? lst_1)
                                                    #f)
                                                (let ((ids_0
                                                       (unsafe-car lst_0)))
                                                  (let ((rest_0
                                                         (unsafe-cdr lst_0)))
                                                    (let ((rhs_0
                                                           (unsafe-car lst_1)))
                                                      (let ((rest_1
                                                             (unsafe-cdr
                                                              lst_1)))
                                                        (let ((fold-var_1
                                                               (if (if (let ((p_0
                                                                              (unwrap
                                                                               ids_0)))
                                                                         (if (pair?
                                                                              p_0)
                                                                           (let ((a_0
                                                                                  (cdr
                                                                                   p_0)))
                                                                             (let ((app_0
                                                                                    (unwrap
                                                                                     '())))
                                                                               (eq?
                                                                                app_0
                                                                                (unwrap
                                                                                 a_0))))
                                                                           #f))
                                                                     (let ((id_0
                                                                            (let ((a_0
                                                                                   (car
                                                                                    (unwrap
                                                                                     ids_0))))
                                                                              a_0)))
                                                                       (hash-ref
                                                                        new-env_0
                                                                        (unwrap
                                                                         id_0)
                                                                        #f))
                                                                     #f)
                                                                 fold-var_0
                                                                 (let ((fold-var_1
                                                                        (cons
                                                                         (list
                                                                          ids_0
                                                                          rhs_0)
                                                                         fold-var_0)))
                                                                   (values
                                                                    fold-var_1)))))
                                                          (for-loop_0
                                                           fold-var_1
                                                           rest_0
                                                           rest_1))))))
                                                fold-var_0)))))
                                         (for-loop_0 null idss_0 rhss_0)))
                                       body_0)
                                      unsafe-mode?_1
                                      new-env_0)))))
                              (error 'match "failed ~e" v_2)))))))
                  (let ((new-v_0
                         (reannotate
                          v_1
                          (let ((hd_0
                                 (let ((p_0 (unwrap v_1)))
                                   (if (pair? p_0) (unwrap (car p_0)) #f))))
                            (if (if (eq? 'lambda hd_0)
                                  (let ((a_0 (cdr (unwrap v_1))))
                                    (let ((p_0 (unwrap a_0)))
                                      (if (pair? p_0)
                                        (let ((a_1 (cdr p_0)))
                                          (wrap-list? a_1))
                                        #f)))
                                  #f)
                              (call-with-values
                               (lambda ()
                                 (let ((d_0 (cdr (unwrap v_1))))
                                   (let ((p_0 (unwrap d_0)))
                                     (let ((formal_0
                                            (let ((a_0 (car p_0))) a_0)))
                                       (let ((body_0
                                              (let ((d_1 (cdr p_0)))
                                                (unwrap-list d_1))))
                                         (let ((formal_1 formal_0))
                                           (values formal_1 body_0)))))))
                               (lambda (formal_0 body_0)
                                 (list*
                                  'lambda
                                  formal_0
                                  (optimize*-body_0 body_0))))
                              (if (if (eq? 'case-lambda hd_0)
                                    (let ((a_0 (cdr (unwrap v_1))))
                                      (if (wrap-list? a_0)
                                        (letrec*
                                         ((for-loop_0
                                           (|#%name|
                                            for-loop
                                            (lambda (result_0 lst_0)
                                              (if (not (null? (unwrap lst_0)))
                                                (let ((v_2
                                                       (if (pair?
                                                            (unwrap lst_0))
                                                         (wrap-car lst_0)
                                                         lst_0)))
                                                  (let ((rest_0
                                                         (if (pair?
                                                              (unwrap lst_0))
                                                           (wrap-cdr lst_0)
                                                           null)))
                                                    (let ((v_3 v_2))
                                                      (let ((result_1
                                                             (let ((result_1
                                                                    (let ((p_0
                                                                           (unwrap
                                                                            v_3)))
                                                                      (if (pair?
                                                                           p_0)
                                                                        (let ((a_1
                                                                               (cdr
                                                                                p_0)))
                                                                          (wrap-list?
                                                                           a_1))
                                                                        #f))))
                                                               (values
                                                                result_1))))
                                                        (if (if (not
                                                                 (let ((x_0
                                                                        (list
                                                                         v_3)))
                                                                   (not
                                                                    result_1)))
                                                              #t
                                                              #f)
                                                          (for-loop_0
                                                           result_1
                                                           rest_0)
                                                          result_1)))))
                                                result_0)))))
                                         (for-loop_0 #t a_0))
                                        #f))
                                    #f)
                                (call-with-values
                                 (lambda ()
                                   (let ((d_0 (cdr (unwrap v_1))))
                                     (call-with-values
                                      (lambda ()
                                        (letrec*
                                         ((for-loop_0
                                           (|#%name|
                                            for-loop
                                            (lambda (formalss_0 bodys_0 lst_0)
                                              (if (not (null? (unwrap lst_0)))
                                                (let ((v_2
                                                       (if (pair?
                                                            (unwrap lst_0))
                                                         (wrap-car lst_0)
                                                         lst_0)))
                                                  (let ((rest_0
                                                         (if (pair?
                                                              (unwrap lst_0))
                                                           (wrap-cdr lst_0)
                                                           null)))
                                                    (let ((v_3 v_2))
                                                      (call-with-values
                                                       (lambda ()
                                                         (call-with-values
                                                          (lambda ()
                                                            (call-with-values
                                                             (lambda ()
                                                               (let ((p_0
                                                                      (unwrap
                                                                       v_3)))
                                                                 (let ((formalss_1
                                                                        (let ((a_0
                                                                               (car
                                                                                p_0)))
                                                                          a_0)))
                                                                   (let ((bodys_1
                                                                          (let ((d_1
                                                                                 (cdr
                                                                                  p_0)))
                                                                            (unwrap-list
                                                                             d_1))))
                                                                     (let ((formalss_2
                                                                            formalss_1))
                                                                       (values
                                                                        formalss_2
                                                                        bodys_1))))))
                                                             (lambda (formalss8_0
                                                                      bodys9_0)
                                                               (values
                                                                (cons
                                                                 formalss8_0
                                                                 formalss_0)
                                                                (cons
                                                                 bodys9_0
                                                                 bodys_0)))))
                                                          (lambda (formalss_1
                                                                   bodys_1)
                                                            (values
                                                             formalss_1
                                                             bodys_1))))
                                                       (lambda (formalss_1
                                                                bodys_1)
                                                         (for-loop_0
                                                          formalss_1
                                                          bodys_1
                                                          rest_0))))))
                                                (values
                                                 formalss_0
                                                 bodys_0))))))
                                         (for-loop_0 null null d_0)))
                                      (lambda (formalss_0 bodys_0)
                                        (let ((app_0 (reverse$1 formalss_0)))
                                          (values
                                           app_0
                                           (reverse$1 bodys_0)))))))
                                 (lambda (formalss_0 bodys_0)
                                   (list*
                                    'case-lambda
                                    (reverse$1
                                     (letrec*
                                      ((for-loop_0
                                        (|#%name|
                                         for-loop
                                         (lambda (fold-var_0 lst_0 lst_1)
                                           (if (if (pair? lst_0)
                                                 (pair? lst_1)
                                                 #f)
                                             (let ((formals_0
                                                    (unsafe-car lst_0)))
                                               (let ((rest_0
                                                      (unsafe-cdr lst_0)))
                                                 (let ((body_0
                                                        (unsafe-car lst_1)))
                                                   (let ((rest_1
                                                          (unsafe-cdr lst_1)))
                                                     (let ((fold-var_1
                                                            (let ((fold-var_1
                                                                   (cons
                                                                    (list*
                                                                     formals_0
                                                                     (optimize*-body_0
                                                                      body_0))
                                                                    fold-var_0)))
                                                              (values
                                                               fold-var_1))))
                                                       (for-loop_0
                                                        fold-var_1
                                                        rest_0
                                                        rest_1))))))
                                             fold-var_0)))))
                                      (for-loop_0 null formalss_0 bodys_0))))))
                                (if (if (eq? 'let-values hd_0) #t #f)
                                  (optimize*-let_0 v_1)
                                  (if (if (eq? 'letrec-values hd_0) #t #f)
                                    (optimize*-let_0 v_1)
                                    (if (if (eq? 'if hd_0)
                                          (let ((a_0 (cdr (unwrap v_1))))
                                            (let ((p_0 (unwrap a_0)))
                                              (if (pair? p_0)
                                                (let ((a_1 (cdr p_0)))
                                                  (let ((p_1 (unwrap a_1)))
                                                    (if (pair? p_1)
                                                      (let ((a_2 (cdr p_1)))
                                                        (let ((p_2
                                                               (unwrap a_2)))
                                                          (if (pair? p_2)
                                                            (let ((a_3
                                                                   (cdr p_2)))
                                                              (let ((app_0
                                                                     (unwrap
                                                                      '())))
                                                                (eq?
                                                                 app_0
                                                                 (unwrap
                                                                  a_3))))
                                                            #f)))
                                                      #f)))
                                                #f)))
                                          #f)
                                      (call-with-values
                                       (lambda ()
                                         (let ((d_0 (cdr (unwrap v_1))))
                                           (let ((p_0 (unwrap d_0)))
                                             (let ((tst_0
                                                    (let ((a_0 (car p_0)))
                                                      a_0)))
                                               (call-with-values
                                                (lambda ()
                                                  (let ((d_1 (cdr p_0)))
                                                    (let ((p_1 (unwrap d_1)))
                                                      (let ((thn_0
                                                             (let ((a_0
                                                                    (car p_1)))
                                                               a_0)))
                                                        (let ((els_0
                                                               (let ((d_2
                                                                      (cdr
                                                                       p_1)))
                                                                 (let ((a_0
                                                                        (car
                                                                         (unwrap
                                                                          d_2))))
                                                                   a_0))))
                                                          (let ((thn_1 thn_0))
                                                            (values
                                                             thn_1
                                                             els_0)))))))
                                                (lambda (thn_0 els_0)
                                                  (let ((tst_1 tst_0))
                                                    (values
                                                     tst_1
                                                     thn_0
                                                     els_0))))))))
                                       (lambda (tst_0 thn_0 els_0)
                                         (let ((app_0 (optimize*_0 tst_0)))
                                           (let ((app_1 (optimize*_0 thn_0)))
                                             (list
                                              'if
                                              app_0
                                              app_1
                                              (optimize*_0 els_0))))))
                                      (if (if (eq?
                                               'with-continuation-mark
                                               hd_0)
                                            (let ((a_0 (cdr (unwrap v_1))))
                                              (let ((p_0 (unwrap a_0)))
                                                (if (pair? p_0)
                                                  (let ((a_1 (cdr p_0)))
                                                    (let ((p_1 (unwrap a_1)))
                                                      (if (pair? p_1)
                                                        (let ((a_2 (cdr p_1)))
                                                          (let ((p_2
                                                                 (unwrap a_2)))
                                                            (if (pair? p_2)
                                                              (let ((a_3
                                                                     (cdr
                                                                      p_2)))
                                                                (let ((app_0
                                                                       (unwrap
                                                                        '())))
                                                                  (eq?
                                                                   app_0
                                                                   (unwrap
                                                                    a_3))))
                                                              #f)))
                                                        #f)))
                                                  #f)))
                                            #f)
                                        (call-with-values
                                         (lambda ()
                                           (let ((d_0 (cdr (unwrap v_1))))
                                             (let ((p_0 (unwrap d_0)))
                                               (let ((key_0
                                                      (let ((a_0 (car p_0)))
                                                        a_0)))
                                                 (call-with-values
                                                  (lambda ()
                                                    (let ((d_1 (cdr p_0)))
                                                      (let ((p_1 (unwrap d_1)))
                                                        (let ((val_0
                                                               (let ((a_0
                                                                      (car
                                                                       p_1)))
                                                                 a_0)))
                                                          (let ((body_0
                                                                 (let ((d_2
                                                                        (cdr
                                                                         p_1)))
                                                                   (let ((a_0
                                                                          (car
                                                                           (unwrap
                                                                            d_2))))
                                                                     a_0))))
                                                            (let ((val_1
                                                                   val_0))
                                                              (values
                                                               val_1
                                                               body_0)))))))
                                                  (lambda (val_0 body_0)
                                                    (let ((key_1 key_0))
                                                      (values
                                                       key_1
                                                       val_0
                                                       body_0))))))))
                                         (lambda (key_0 val_0 body_0)
                                           (let ((app_0 (optimize*_0 key_0)))
                                             (let ((app_1 (optimize*_0 val_0)))
                                               (list
                                                'with-continuation-mark
                                                app_0
                                                app_1
                                                (optimize*_0 body_0))))))
                                        (if (if (eq? 'begin hd_0)
                                              (let ((a_0 (cdr (unwrap v_1))))
                                                (let ((p_0 (unwrap a_0)))
                                                  (if (pair? p_0)
                                                    (let ((a_1 (cdr p_0)))
                                                      (let ((app_0
                                                             (unwrap '())))
                                                        (eq?
                                                         app_0
                                                         (unwrap a_1))))
                                                    #f)))
                                              #f)
                                          (let ((body_0
                                                 (let ((d_0
                                                        (cdr (unwrap v_1))))
                                                   (let ((a_0
                                                          (car (unwrap d_0))))
                                                     a_0))))
                                            (optimize*_0 body_0))
                                          (if (if (eq? 'begin hd_0)
                                                (let ((a_0 (cdr (unwrap v_1))))
                                                  (let ((p_0 (unwrap a_0)))
                                                    (if (pair? p_0)
                                                      (if (let ((a_1
                                                                 (car p_0)))
                                                            (let ((p_1
                                                                   (unwrap
                                                                    a_1)))
                                                              (if (pair? p_1)
                                                                (if (let ((a_2
                                                                           (car
                                                                            p_1)))
                                                                      (let ((app_0
                                                                             (unwrap
                                                                              'quote)))
                                                                        (eq?
                                                                         app_0
                                                                         (unwrap
                                                                          a_2))))
                                                                  (let ((a_2
                                                                         (cdr
                                                                          p_1)))
                                                                    (let ((p_2
                                                                           (unwrap
                                                                            a_2)))
                                                                      (if (pair?
                                                                           p_2)
                                                                        (let ((a_3
                                                                               (cdr
                                                                                p_2)))
                                                                          (let ((app_0
                                                                                 (unwrap
                                                                                  '())))
                                                                            (eq?
                                                                             app_0
                                                                             (unwrap
                                                                              a_3))))
                                                                        #f)))
                                                                  #f)
                                                                #f)))
                                                        (let ((a_1 (cdr p_0)))
                                                          (let ((p_1
                                                                 (unwrap a_1)))
                                                            (if (pair? p_1)
                                                              (let ((a_2
                                                                     (cdr
                                                                      p_1)))
                                                                (let ((app_0
                                                                       (unwrap
                                                                        '())))
                                                                  (eq?
                                                                   app_0
                                                                   (unwrap
                                                                    a_2))))
                                                              #f)))
                                                        #f)
                                                      #f)))
                                                #f)
                                            (let ((body_0
                                                   (let ((d_0
                                                          (cdr (unwrap v_1))))
                                                     (let ((d_1
                                                            (cdr
                                                             (unwrap d_0))))
                                                       (let ((a_0
                                                              (car
                                                               (unwrap d_1))))
                                                         a_0)))))
                                              (optimize*_0 body_0))
                                            (if (if (eq? 'begin hd_0)
                                                  (let ((a_0
                                                         (cdr (unwrap v_1))))
                                                    (wrap-list? a_0))
                                                  #f)
                                              (let ((body_0
                                                     (let ((d_0
                                                            (cdr
                                                             (unwrap v_1))))
                                                       (unwrap-list d_0))))
                                                (list*
                                                 'begin
                                                 (optimize*-body_0 body_0)))
                                              (if (if (eq? 'begin-unsafe hd_0)
                                                    (let ((a_0
                                                           (cdr (unwrap v_1))))
                                                      (wrap-list? a_0))
                                                    #f)
                                                (let ((body_0
                                                       (let ((d_0
                                                              (cdr
                                                               (unwrap v_1))))
                                                         (unwrap-list d_0))))
                                                  (list*
                                                   'begin-unsafe
                                                   (optimize*-body/unsafe_0
                                                    body_0)))
                                                (if (if (eq? 'begin0 hd_0)
                                                      (let ((a_0
                                                             (cdr
                                                              (unwrap v_1))))
                                                        (let ((p_0
                                                               (unwrap a_0)))
                                                          (if (pair? p_0)
                                                            (let ((a_1
                                                                   (cdr p_0)))
                                                              (let ((app_0
                                                                     (unwrap
                                                                      '())))
                                                                (eq?
                                                                 app_0
                                                                 (unwrap
                                                                  a_1))))
                                                            #f)))
                                                      #f)
                                                  (let ((e_0
                                                         (let ((d_0
                                                                (cdr
                                                                 (unwrap
                                                                  v_1))))
                                                           (let ((a_0
                                                                  (car
                                                                   (unwrap
                                                                    d_0))))
                                                             a_0))))
                                                    (optimize*_0 e_0))
                                                  (if (if (eq? 'begin0 hd_0)
                                                        (let ((a_0
                                                               (cdr
                                                                (unwrap v_1))))
                                                          (let ((p_0
                                                                 (unwrap a_0)))
                                                            (if (pair? p_0)
                                                              (let ((a_1
                                                                     (cdr
                                                                      p_0)))
                                                                (wrap-list?
                                                                 a_1))
                                                              #f)))
                                                        #f)
                                                    (call-with-values
                                                     (lambda ()
                                                       (let ((d_0
                                                              (cdr
                                                               (unwrap v_1))))
                                                         (let ((p_0
                                                                (unwrap d_0)))
                                                           (let ((e_0
                                                                  (let ((a_0
                                                                         (car
                                                                          p_0)))
                                                                    a_0)))
                                                             (let ((body_0
                                                                    (let ((d_1
                                                                           (cdr
                                                                            p_0)))
                                                                      (unwrap-list
                                                                       d_1))))
                                                               (let ((e_1 e_0))
                                                                 (values
                                                                  e_1
                                                                  body_0)))))))
                                                     (lambda (e_0 body_0)
                                                       (let ((app_0
                                                              (optimize*_0
                                                               e_0)))
                                                         (list*
                                                          'begin0
                                                          app_0
                                                          (optimize*-body_0
                                                           body_0)))))
                                                    (if (if (eq? 'set! hd_0)
                                                          (let ((a_0
                                                                 (cdr
                                                                  (unwrap
                                                                   v_1))))
                                                            (let ((p_0
                                                                   (unwrap
                                                                    a_0)))
                                                              (if (pair? p_0)
                                                                (let ((a_1
                                                                       (cdr
                                                                        p_0)))
                                                                  (let ((p_1
                                                                         (unwrap
                                                                          a_1)))
                                                                    (if (pair?
                                                                         p_1)
                                                                      (let ((a_2
                                                                             (cdr
                                                                              p_1)))
                                                                        (let ((app_0
                                                                               (unwrap
                                                                                '())))
                                                                          (eq?
                                                                           app_0
                                                                           (unwrap
                                                                            a_2))))
                                                                      #f)))
                                                                #f)))
                                                          #f)
                                                      (call-with-values
                                                       (lambda ()
                                                         (let ((d_0
                                                                (cdr
                                                                 (unwrap
                                                                  v_1))))
                                                           (let ((p_0
                                                                  (unwrap
                                                                   d_0)))
                                                             (let ((id_0
                                                                    (let ((a_0
                                                                           (car
                                                                            p_0)))
                                                                      a_0)))
                                                               (let ((rhs_0
                                                                      (let ((d_1
                                                                             (cdr
                                                                              p_0)))
                                                                        (let ((a_0
                                                                               (car
                                                                                (unwrap
                                                                                 d_1))))
                                                                          a_0))))
                                                                 (let ((id_1
                                                                        id_0))
                                                                   (values
                                                                    id_1
                                                                    rhs_0)))))))
                                                       (lambda (id_0 rhs_0)
                                                         (list
                                                          'set!
                                                          id_0
                                                          (optimize*_0
                                                           rhs_0))))
                                                      (if (if (eq?
                                                               'variable-reference-from-unsafe?
                                                               hd_0)
                                                            (let ((a_0
                                                                   (cdr
                                                                    (unwrap
                                                                     v_1))))
                                                              (let ((p_0
                                                                     (unwrap
                                                                      a_0)))
                                                                (if (pair? p_0)
                                                                  (if (let ((a_1
                                                                             (car
                                                                              p_0)))
                                                                        (let ((p_1
                                                                               (unwrap
                                                                                a_1)))
                                                                          (if (pair?
                                                                               p_1)
                                                                            (if (let ((a_2
                                                                                       (car
                                                                                        p_1)))
                                                                                  (let ((app_0
                                                                                         (unwrap
                                                                                          '|#%variable-reference|)))
                                                                                    (eq?
                                                                                     app_0
                                                                                     (unwrap
                                                                                      a_2))))
                                                                              (let ((a_2
                                                                                     (cdr
                                                                                      p_1)))
                                                                                (let ((app_0
                                                                                       (unwrap
                                                                                        '())))
                                                                                  (eq?
                                                                                   app_0
                                                                                   (unwrap
                                                                                    a_2))))
                                                                              #f)
                                                                            #f)))
                                                                    (let ((a_1
                                                                           (cdr
                                                                            p_0)))
                                                                      (let ((app_0
                                                                             (unwrap
                                                                              '())))
                                                                        (eq?
                                                                         app_0
                                                                         (unwrap
                                                                          a_1))))
                                                                    #f)
                                                                  #f)))
                                                            #f)
                                                        unsafe-mode?_1
                                                        (if (if (eq?
                                                                 '|#%variable-reference|
                                                                 hd_0)
                                                              (let ((a_0
                                                                     (cdr
                                                                      (unwrap
                                                                       v_1))))
                                                                (let ((app_0
                                                                       (unwrap
                                                                        '())))
                                                                  (eq?
                                                                   app_0
                                                                   (unwrap
                                                                    a_0))))
                                                              #f)
                                                          v_1
                                                          (if (if (eq?
                                                                   '|#%variable-reference|
                                                                   hd_0)
                                                                (let ((a_0
                                                                       (cdr
                                                                        (unwrap
                                                                         v_1))))
                                                                  (let ((p_0
                                                                         (unwrap
                                                                          a_0)))
                                                                    (if (pair?
                                                                         p_0)
                                                                      (let ((a_1
                                                                             (cdr
                                                                              p_0)))
                                                                        (let ((app_0
                                                                               (unwrap
                                                                                '())))
                                                                          (eq?
                                                                           app_0
                                                                           (unwrap
                                                                            a_1))))
                                                                      #f)))
                                                                #f)
                                                            (let ((id_0
                                                                   (let ((d_0
                                                                          (cdr
                                                                           (unwrap
                                                                            v_1))))
                                                                     (let ((a_0
                                                                            (car
                                                                             (unwrap
                                                                              d_0))))
                                                                       a_0))))
                                                              v_1)
                                                            (if (if (eq?
                                                                     '|#%foreign-inline|
                                                                     hd_0)
                                                                  #t
                                                                  #f)
                                                              v_1
                                                              (if (if (eq?
                                                                       'quote
                                                                       hd_0)
                                                                    (let ((a_0
                                                                           (cdr
                                                                            (unwrap
                                                                             v_1))))
                                                                      (let ((p_0
                                                                             (unwrap
                                                                              a_0)))
                                                                        (if (pair?
                                                                             p_0)
                                                                          (let ((a_1
                                                                                 (cdr
                                                                                  p_0)))
                                                                            (let ((app_0
                                                                                   (unwrap
                                                                                    '())))
                                                                              (eq?
                                                                               app_0
                                                                               (unwrap
                                                                                a_1))))
                                                                          #f)))
                                                                    #f)
                                                                v_1
                                                                (if (let ((p_0
                                                                           (unwrap
                                                                            v_1)))
                                                                      (if (pair?
                                                                           p_0)
                                                                        (let ((a_0
                                                                               (cdr
                                                                                p_0)))
                                                                          (wrap-list?
                                                                           a_0))
                                                                        #f))
                                                                  (call-with-values
                                                                   (lambda ()
                                                                     (let ((p_0
                                                                            (unwrap
                                                                             v_1)))
                                                                       (let ((rator_0
                                                                              (let ((a_0
                                                                                     (car
                                                                                      p_0)))
                                                                                a_0)))
                                                                         (let ((exps_0
                                                                                (let ((d_0
                                                                                       (cdr
                                                                                        p_0)))
                                                                                  (unwrap-list
                                                                                   d_0))))
                                                                           (let ((rator_1
                                                                                  rator_0))
                                                                             (values
                                                                              rator_1
                                                                              exps_0))))))
                                                                   (lambda (rator_0
                                                                            exps_0)
                                                                     (let ((app_0
                                                                            (optimize*_0
                                                                             rator_0)))
                                                                       (list*
                                                                        app_0
                                                                        (optimize*-body_0
                                                                         exps_0)))))
                                                                  (let ((u_0
                                                                         (unwrap
                                                                          v_1)))
                                                                    (let ((or-part_0
                                                                           (if (symbol?
                                                                                u_0)
                                                                             (hash-ref
                                                                              env_0
                                                                              u_0
                                                                              #f)
                                                                             #f)))
                                                                      (if or-part_0
                                                                        or-part_0
                                                                        v_1))))))))))))))))))))))))))
                    (optimize
                     new-v_0
                     prim-knowns_0
                     primitives_0
                     knowns_0
                     imports_0
                     mutated_0
                     target_0
                     (lambda (v_2) #f)))))))))))
     (do-optimize_0 v_0 unsafe-mode?_0 hash2610))))
(define parameter-result?
  (lambda (v_0 prim-knowns_0 knowns_0 mutated_0)
    (if (pair? (unwrap v_0))
      (let ((u-rator_0 (unwrap (wrap-car v_0))))
        (let ((or-part_0 (eq? u-rator_0 'make-parameter)))
          (if or-part_0
            or-part_0
            (let ((or-part_1 (eq? u-rator_0 'derived-parameter)))
              (if or-part_1
                or-part_1
                (let ((or-part_2 (eq? u-rator_0 'make-pthread-parameter)))
                  (if or-part_2
                    or-part_2
                    (if (symbol? u-rator_0)
                      (let ((k_0 (hash-ref knowns_0 u-rator_0 #f)))
                        (if (known-copy? k_0)
                          (let ((id_0 (known-copy-id k_0)))
                            (let ((or-part_3 (eq? 'make-parameter id_0)))
                              (if or-part_3
                                or-part_3
                                (let ((or-part_4
                                       (eq? 'make-derived-parameter id_0)))
                                  (if or-part_4
                                    or-part_4
                                    (eq? 'make-pthread-parameter id_0))))))
                          #f))
                      #f))))))))
      #f)))
(define make-ctype?/rep
  (lambda (v_0 prim-knowns_0 knowns_0 imports_0 mutated_0)
    (if (pair? (unwrap v_0))
      (let ((u-rator_0 (unwrap (wrap-car v_0))))
        (if (let ((or-part_0 (eq? u-rator_0 'make-ctype)))
              (if or-part_0 or-part_0 (eq? u-rator_0 'assert-ctype)))
          (if (let ((v_1 (wrap-cdr v_0))) (pair? (unwrap v_1)))
            (letrec*
             ((loop_0
               (|#%name|
                loop
                (lambda (u-arg_0)
                  (if (symbol? u-arg_0)
                    (let ((k_0
                           (let ((or-part_0
                                  (hash-ref prim-knowns_0 u-arg_0 #f)))
                             (if or-part_0
                               or-part_0
                               (hash-ref-either knowns_0 imports_0 u-arg_0)))))
                      (if (known-ctype? k_0)
                        (known-ctype-rep k_0)
                        (if (known-copy? k_0)
                          (loop_0 (unwrap (known-copy-id k_0)))
                          #f)))
                    #f)))))
             (loop_0 (unwrap (wrap-car (wrap-cdr v_0)))))
            #f)
          #f))
      #f)))
(define constructed-procedure-arity-mask
  (lambda (v_0)
    (let ((hd_0
           (let ((p_0 (unwrap v_0))) (if (pair? p_0) (unwrap (car p_0)) #f))))
      (if (if (eq? 'make-struct-field-accessor hd_0) #t #f)
        1
        (if (if (eq? 'make-struct-field-mutator hd_0) #t #f) 2 #f)))))
(define truncate-path
  (lambda (p_0)
    (call-with-values
     (lambda () (split-path p_0))
     (lambda (base1_0 name1_0 dir?_0)
       (if (path-for-some-system? base1_0)
         (call-with-values
          (lambda () (split-path base1_0))
          (lambda (base2_0 name2_0 dir?_1)
            (if (not base2_0)
              (path-for-some-system->string p_0)
              (if (symbol? name2_0)
                (string-append ".../" (path-elem->string name1_0))
                (let ((app_0 (path-for-some-system->string name2_0)))
                  (string-append
                   ".../"
                   app_0
                   "/"
                   (path-elem->string name1_0)))))))
         (if (eq? base1_0 'relative)
           (path-elem->string name1_0)
           (path-for-some-system->string p_0)))))))
(define path-elem->string
  (lambda (p_0)
    (if (eq? p_0 'same)
      "."
      (if (eq? p_0 'up) ".." (path-for-some-system->string p_0)))))
(define path-for-some-system->string
  (lambda (p_0)
    (if (path? p_0)
      (path->string p_0)
      (bytes->string/utf-8 (path->bytes p_0) '#\xfffd))))
(define wrap-truncate-paths
  (lambda (e_0)
    (if (syntax? e_0)
      (let ((orig_0 (unwrap e_0)))
        (let ((u-e_0 (wrap-truncate-paths orig_0)))
          (call-with-values
           (lambda () (wrap-source e_0))
           (lambda (src_0 line_0 col_0 pos_0 span_0)
             (if (if (not (path-for-some-system? src_0)) (eq? orig_0 u-e_0) #f)
               e_0
               (if (path-for-some-system? src_0)
                 (let ((new-srcloc_0
                        (unsafe-make-srcloc
                         (truncate-path src_0)
                         line_0
                         col_0
                         pos_0
                         span_0)))
                   (datum->syntax #f u-e_0 new-srcloc_0 e_0))
                 (reannotate e_0 u-e_0)))))))
      (if (pair? e_0)
        (let ((a_0 (wrap-truncate-paths (car e_0))))
          (let ((d_0 (wrap-truncate-paths (cdr e_0))))
            (if (if (eq? a_0 (car e_0)) (eq? d_0 (cdr e_0)) #f)
              e_0
              (cons a_0 d_0))))
        e_0))))
(define inline-base 3)
(define inline-factor 3)
(define init-inline-fuel 8)
(define can-inline?
  (lambda (v_0)
    (let ((hd_0
           (let ((p_0 (unwrap v_0))) (if (pair? p_0) (unwrap (car p_0)) #f))))
      (if (if (eq? 'lambda hd_0)
            (let ((a_0 (cdr (unwrap v_0))))
              (let ((p_0 (unwrap a_0))) (if (pair? p_0) #t #f)))
            #f)
        (call-with-values
         (lambda ()
           (let ((d_0 (cdr (unwrap v_0))))
             (let ((p_0 (unwrap d_0)))
               (let ((args_0 (let ((a_0 (car p_0))) a_0)))
                 (let ((bodys_0 (let ((d_1 (cdr p_0))) d_1)))
                   (let ((args_1 args_0)) (values args_1 bodys_0)))))))
         (lambda (args_0 bodys_0)
           (smaller-than? bodys_0 (+ 3 (* 3 (args-size args_0))))))
        (if (if (eq? 'case-lambda hd_0)
              (let ((a_0 (cdr (unwrap v_0))))
                (if (wrap-list? a_0)
                  (letrec*
                   ((for-loop_0
                     (|#%name|
                      for-loop
                      (lambda (result_0 lst_0)
                        (if (not (null? (unwrap lst_0)))
                          (let ((v_1
                                 (if (pair? (unwrap lst_0))
                                   (wrap-car lst_0)
                                   lst_0)))
                            (let ((rest_0
                                   (if (pair? (unwrap lst_0))
                                     (wrap-cdr lst_0)
                                     null)))
                              (let ((v_2 v_1))
                                (let ((result_1
                                       (let ((result_1
                                              (let ((p_0 (unwrap v_2)))
                                                (if (pair? p_0) #t #f))))
                                         (values result_1))))
                                  (if (if (not
                                           (let ((x_0 (list v_2)))
                                             (not result_1)))
                                        #t
                                        #f)
                                    (for-loop_0 result_1 rest_0)
                                    result_1)))))
                          result_0)))))
                   (for-loop_0 #t a_0))
                  #f))
              #f)
          (call-with-values
           (lambda ()
             (let ((d_0 (cdr (unwrap v_0))))
               (call-with-values
                (lambda ()
                  (letrec*
                   ((for-loop_0
                     (|#%name|
                      for-loop
                      (lambda (argss_0 bodyss_0 lst_0)
                        (if (not (null? (unwrap lst_0)))
                          (let ((v_1
                                 (if (pair? (unwrap lst_0))
                                   (wrap-car lst_0)
                                   lst_0)))
                            (let ((rest_0
                                   (if (pair? (unwrap lst_0))
                                     (wrap-cdr lst_0)
                                     null)))
                              (let ((v_2 v_1))
                                (call-with-values
                                 (lambda ()
                                   (call-with-values
                                    (lambda ()
                                      (call-with-values
                                       (lambda ()
                                         (let ((p_0 (unwrap v_2)))
                                           (let ((argss_1
                                                  (let ((a_0 (car p_0))) a_0)))
                                             (let ((bodyss_1
                                                    (let ((d_1 (cdr p_0)))
                                                      d_1)))
                                               (let ((argss_2 argss_1))
                                                 (values argss_2 bodyss_1))))))
                                       (lambda (argss1_0 bodyss2_0)
                                         (values
                                          (cons argss1_0 argss_0)
                                          (cons bodyss2_0 bodyss_0)))))
                                    (lambda (argss_1 bodyss_1)
                                      (values argss_1 bodyss_1))))
                                 (lambda (argss_1 bodyss_1)
                                   (for-loop_0 argss_1 bodyss_1 rest_0))))))
                          (values argss_0 bodyss_0))))))
                   (for-loop_0 null null d_0)))
                (lambda (argss_0 bodyss_0)
                  (let ((app_0 (reverse$1 argss_0)))
                    (values app_0 (reverse$1 bodyss_0)))))))
           (lambda (argss_0 bodyss_0)
             (letrec*
              ((for-loop_0
                (|#%name|
                 for-loop
                 (lambda (result_0 lst_0 lst_1)
                   (if (if (pair? lst_0) (pair? lst_1) #f)
                     (let ((args_0 (unsafe-car lst_0)))
                       (let ((rest_0 (unsafe-cdr lst_0)))
                         (let ((bodys_0 (unsafe-car lst_1)))
                           (let ((rest_1 (unsafe-cdr lst_1)))
                             (let ((result_1
                                    (let ((result_1
                                           (smaller-than?
                                            bodys_0
                                            (+ 3 (* 3 (args-size args_0))))))
                                      (values result_1))))
                               (if (if (not
                                        (let ((x_0 (list args_0)))
                                          (not result_1)))
                                     (if (not
                                          (let ((x_0 (list bodys_0)))
                                            (not result_1)))
                                       #t
                                       #f)
                                     #f)
                                 (for-loop_0 result_1 rest_0 rest_1)
                                 result_1))))))
                     result_0)))))
              (for-loop_0 #t argss_0 bodyss_0))))
          #f)))))
(define args-size
  (lambda (args_0)
    (if (pair? (unwrap args_0)) (+ 1 (args-size (wrap-cdr args_0))) 1)))
(define smaller-than?
  (lambda (v_0 size_0)
    (positive?
     (letrec*
      ((loop_0
        (|#%name|
         loop
         (lambda (v_1 size_1)
           (if (zero? size_1)
             0
             (if (pair? (unwrap v_1))
               (if (eq? (unwrap (wrap-car v_1)) 'quote)
                 (let ((v_2 (unwrap (wrap-car (wrap-cdr v_1)))))
                   (if (if (symbol? v_2)
                         (let ((or-part_0 (symbol-interned? v_2)))
                           (if or-part_0 or-part_0 (symbol-unreadable? v_2)))
                         #f)
                     (sub1 size_1)
                     0))
                 (if (eq? (unwrap (wrap-car v_1)) '|#%foreign-inline|)
                   (if (memq
                        (unwrap (wrap-car (wrap-cdr (wrap-cdr v_1))))
                        '(copy copy*))
                     (sub1 size_1)
                     0)
                   (let ((app_0 (wrap-cdr v_1)))
                     (loop_0 app_0 (loop_0 (wrap-car v_1) size_1)))))
               (sub1 size_1)))))))
      (loop_0 v_0 size_0)))))
(define inline-clone
  (lambda (k_0 im_0 add-import!_0 mutated_0 imports_0)
    (let ((env_0
           (if (known-procedure/can-inline/need-imports? k_0)
             (needed->env
              (known-procedure/can-inline/need-imports-needed k_0)
              add-import!_0
              im_0)
             '())))
      (if env_0
        (let ((v_0 (known-procedure/can-inline-expr k_0)))
          (let ((hd_0
                 (let ((p_0 (unwrap v_0)))
                   (if (pair? p_0) (unwrap (car p_0)) #f))))
            (if (if (eq? 'lambda hd_0)
                  (let ((a_0 (cdr (unwrap v_0))))
                    (let ((p_0 (unwrap a_0))) (if (pair? p_0) #t #f)))
                  #f)
              (call-with-values
               (lambda ()
                 (let ((d_0 (cdr (unwrap v_0))))
                   (let ((p_0 (unwrap d_0)))
                     (let ((args_0 (let ((a_0 (car p_0))) a_0)))
                       (let ((bodys_0 (let ((d_1 (cdr p_0))) d_1)))
                         (let ((args_1 args_0)) (values args_1 bodys_0)))))))
               (lambda (args_0 bodys_0)
                 (call-with-values
                  (lambda () (clone-args args_0 env_0 mutated_0))
                  (lambda (new-args_0 new-env_0)
                    (list*
                     'lambda
                     new-args_0
                     (clone-body bodys_0 new-env_0 mutated_0))))))
              (if (if (eq? 'case-lambda hd_0)
                    (let ((a_0 (cdr (unwrap v_0))))
                      (if (wrap-list? a_0)
                        (letrec*
                         ((for-loop_0
                           (|#%name|
                            for-loop
                            (lambda (result_0 lst_0)
                              (if (not (null? (unwrap lst_0)))
                                (let ((v_1
                                       (if (pair? (unwrap lst_0))
                                         (wrap-car lst_0)
                                         lst_0)))
                                  (let ((rest_0
                                         (if (pair? (unwrap lst_0))
                                           (wrap-cdr lst_0)
                                           null)))
                                    (let ((v_2 v_1))
                                      (let ((result_1
                                             (let ((result_1
                                                    (let ((p_0 (unwrap v_2)))
                                                      (if (pair? p_0) #t #f))))
                                               (values result_1))))
                                        (if (if (not
                                                 (let ((x_0 (list v_2)))
                                                   (not result_1)))
                                              #t
                                              #f)
                                          (for-loop_0 result_1 rest_0)
                                          result_1)))))
                                result_0)))))
                         (for-loop_0 #t a_0))
                        #f))
                    #f)
                (call-with-values
                 (lambda ()
                   (let ((d_0 (cdr (unwrap v_0))))
                     (call-with-values
                      (lambda ()
                        (letrec*
                         ((for-loop_0
                           (|#%name|
                            for-loop
                            (lambda (argss_0 bodyss_0 lst_0)
                              (if (not (null? (unwrap lst_0)))
                                (let ((v_1
                                       (if (pair? (unwrap lst_0))
                                         (wrap-car lst_0)
                                         lst_0)))
                                  (let ((rest_0
                                         (if (pair? (unwrap lst_0))
                                           (wrap-cdr lst_0)
                                           null)))
                                    (let ((v_2 v_1))
                                      (call-with-values
                                       (lambda ()
                                         (call-with-values
                                          (lambda ()
                                            (call-with-values
                                             (lambda ()
                                               (let ((p_0 (unwrap v_2)))
                                                 (let ((argss_1
                                                        (let ((a_0 (car p_0)))
                                                          a_0)))
                                                   (let ((bodyss_1
                                                          (let ((d_1
                                                                 (cdr p_0)))
                                                            d_1)))
                                                     (let ((argss_2 argss_1))
                                                       (values
                                                        argss_2
                                                        bodyss_1))))))
                                             (lambda (argss3_0 bodyss4_0)
                                               (values
                                                (cons argss3_0 argss_0)
                                                (cons bodyss4_0 bodyss_0)))))
                                          (lambda (argss_1 bodyss_1)
                                            (values argss_1 bodyss_1))))
                                       (lambda (argss_1 bodyss_1)
                                         (for-loop_0
                                          argss_1
                                          bodyss_1
                                          rest_0))))))
                                (values argss_0 bodyss_0))))))
                         (for-loop_0 null null d_0)))
                      (lambda (argss_0 bodyss_0)
                        (let ((app_0 (reverse$1 argss_0)))
                          (values app_0 (reverse$1 bodyss_0)))))))
                 (lambda (argss_0 bodyss_0)
                   (list*
                    'case-lambda
                    (reverse$1
                     (letrec*
                      ((for-loop_0
                        (|#%name|
                         for-loop
                         (lambda (fold-var_0 lst_0 lst_1)
                           (if (if (pair? lst_0) (pair? lst_1) #f)
                             (let ((args_0 (unsafe-car lst_0)))
                               (let ((rest_0 (unsafe-cdr lst_0)))
                                 (let ((bodys_0 (unsafe-car lst_1)))
                                   (let ((rest_1 (unsafe-cdr lst_1)))
                                     (let ((fold-var_1
                                            (let ((fold-var_1
                                                   (cons
                                                    (call-with-values
                                                     (lambda ()
                                                       (clone-args
                                                        args_0
                                                        env_0
                                                        mutated_0))
                                                     (lambda (new-args_0
                                                              new-env_0)
                                                       (list*
                                                        new-args_0
                                                        (clone-body
                                                         bodys_0
                                                         new-env_0
                                                         mutated_0))))
                                                    fold-var_0)))
                                              (values fold-var_1))))
                                       (for-loop_0
                                        fold-var_1
                                        rest_0
                                        rest_1))))))
                             fold-var_0)))))
                      (for-loop_0 null argss_0 bodyss_0))))))
                (let ((cond-val_0 (hash-ref imports_0 (unwrap v_0) #f)))
                  (if cond-val_0
                    (let ((i-k_0 (import-lookup cond-val_0)))
                      (if (known-procedure/can-inline? i-k_0)
                        (inline-clone
                         i-k_0
                         cond-val_0
                         add-import!_0
                         mutated_0
                         imports_0)
                        #f))
                    #f))))))
        #f))))
(define inline-type-id
  (lambda (k_0 im_0 add-import!_0 mutated_0 imports_0)
    (let ((type-id_0
           (if (known-struct-constructor? k_0)
             (known-struct-constructor-type-id k_0)
             (if (known-struct-predicate? k_0)
               (known-struct-predicate-type-id k_0)
               (if (known-field-accessor? k_0)
                 (known-field-accessor-type-id k_0)
                 (if (known-field-mutator? k_0)
                   (known-field-mutator-type-id k_0)
                   #f))))))
      (let ((env_0
             (if (not type-id_0)
               #f
               (if (not im_0)
                 '()
                 (if (known-struct-constructor/need-imports? k_0)
                   (needed->env
                    (known-struct-constructor/need-imports-needed k_0)
                    add-import!_0
                    im_0)
                   (if (known-struct-predicate/need-imports? k_0)
                     (needed->env
                      (known-struct-predicate/need-imports-needed k_0)
                      add-import!_0
                      im_0)
                     (if (known-field-accessor/need-imports? k_0)
                       (needed->env
                        (known-field-accessor/need-imports-needed k_0)
                        add-import!_0
                        im_0)
                       (if (known-field-mutator/need-imports? k_0)
                         (needed->env
                          (known-field-mutator/need-imports-needed k_0)
                          add-import!_0
                          im_0)
                         '()))))))))
        (if env_0
          (if (null? env_0) type-id_0 (clone-expr type-id_0 env_0 mutated_0))
          #f)))))
(define needed->env
  (lambda (needed_0 add-import!_0 im_0)
    (letrec*
     ((for-loop_0
       (|#%name|
        for-loop
        (lambda (env_0 lst_0)
          (if (pair? lst_0)
            (let ((need_0 (unsafe-car lst_0)))
              (let ((rest_0 (unsafe-cdr lst_0)))
                (let ((env_1
                       (let ((env_1
                              (if env_0
                                (let ((id_0
                                       (let ((app_0 (cadr need_0)))
                                         (|#%app|
                                          add-import!_0
                                          im_0
                                          app_0
                                          (cddr need_0)))))
                                  (if id_0
                                    (cons (cons (car need_0) id_0) env_0)
                                    #f))
                                #f)))
                         (values env_1))))
                  (for-loop_0 env_1 rest_0))))
            env_0)))))
     (for-loop_0 '() needed_0))))
(define clone-args
  (lambda (args_0 base-env_0 mutated_0)
    (let ((env_0
           (letrec*
            ((loop_0
              (|#%name|
               loop
               (lambda (args_1)
                 (if (null? (unwrap args_1))
                   base-env_0
                   (if (pair? (unwrap args_1))
                     (let ((u_0 (unwrap (wrap-car args_1))))
                       (let ((g_0 (deterministic-gensym u_0)))
                         (let ((m_0 (hash-ref mutated_0 u_0 #f)))
                           (begin
                             (if m_0 (hash-set! mutated_0 g_0 m_0) (void))
                             (let ((app_0 (cons u_0 g_0)))
                               (cons app_0 (loop_0 (wrap-cdr args_1))))))))
                     (let ((u_0 (unwrap args_1)))
                       (cons
                        (cons u_0 (deterministic-gensym u_0))
                        base-env_0))))))))
            (loop_0 args_0))))
      (values
       (letrec*
        ((loop_0
          (|#%name|
           loop
           (lambda (args_1 env_1)
             (if (null? (unwrap args_1))
               '()
               (if (pair? (unwrap args_1))
                 (let ((u_0 (unwrap (wrap-car args_1))))
                   (let ((app_0 (cdr (car env_1))))
                     (cons
                      app_0
                      (let ((app_1 (wrap-cdr args_1)))
                        (loop_0 app_1 (cdr env_1))))))
                 (cdr (car env_1))))))))
        (loop_0 args_0 env_0))
       env_0))))
(define clone-body
  (lambda (l_0 env_0 mutated_0)
    (reverse$1
     (letrec*
      ((for-loop_0
        (|#%name|
         for-loop
         (lambda (fold-var_0 lst_0)
           (if (not (null? (unwrap lst_0)))
             (let ((e_0 (if (pair? (unwrap lst_0)) (wrap-car lst_0) lst_0)))
               (let ((rest_0
                      (if (pair? (unwrap lst_0)) (wrap-cdr lst_0) null)))
                 (let ((e_1 e_0))
                   (let ((fold-var_1
                          (let ((fold-var_1
                                 (cons
                                  (clone-expr e_1 env_0 mutated_0)
                                  fold-var_0)))
                            (values fold-var_1))))
                     (for-loop_0 fold-var_1 rest_0)))))
             fold-var_0)))))
      (for-loop_0 null l_0)))))
(define clone-let
  (lambda (v_0 env_0 mutated_0)
    (if (let ((p_0 (unwrap v_0)))
          (if (pair? p_0)
            (let ((a_0 (cdr p_0)))
              (let ((p_1 (unwrap a_0)))
                (if (pair? p_1)
                  (if (let ((a_1 (car p_1)))
                        (if (wrap-list? a_1)
                          (letrec*
                           ((for-loop_0
                             (|#%name|
                              for-loop
                              (lambda (result_0 lst_0)
                                (if (not (null? (unwrap lst_0)))
                                  (let ((v_1
                                         (if (pair? (unwrap lst_0))
                                           (wrap-car lst_0)
                                           lst_0)))
                                    (let ((rest_0
                                           (if (pair? (unwrap lst_0))
                                             (wrap-cdr lst_0)
                                             null)))
                                      (let ((v_2 v_1))
                                        (let ((result_1
                                               (let ((result_1
                                                      (let ((p_2 (unwrap v_2)))
                                                        (if (pair? p_2)
                                                          (let ((a_2
                                                                 (cdr p_2)))
                                                            (let ((p_3
                                                                   (unwrap
                                                                    a_2)))
                                                              (if (pair? p_3)
                                                                (let ((a_3
                                                                       (cdr
                                                                        p_3)))
                                                                  (let ((app_0
                                                                         (unwrap
                                                                          '())))
                                                                    (eq?
                                                                     app_0
                                                                     (unwrap
                                                                      a_3))))
                                                                #f)))
                                                          #f))))
                                                 (values result_1))))
                                          (if (if (not
                                                   (let ((x_0 (list v_2)))
                                                     (not result_1)))
                                                #t
                                                #f)
                                            (for-loop_0 result_1 rest_0)
                                            result_1)))))
                                  result_0)))))
                           (for-loop_0 #t a_1))
                          #f))
                    (let ((a_1 (cdr p_1))) (wrap-list? a_1))
                    #f)
                  #f)))
            #f))
      (call-with-values
       (lambda ()
         (let ((p_0 (unwrap v_0)))
           (let ((let-id_0 (let ((a_0 (car p_0))) a_0)))
             (call-with-values
              (lambda ()
                (let ((d_0 (cdr p_0)))
                  (let ((p_1 (unwrap d_0)))
                    (call-with-values
                     (lambda ()
                       (let ((a_0 (car p_1)))
                         (call-with-values
                          (lambda ()
                            (letrec*
                             ((for-loop_0
                               (|#%name|
                                for-loop
                                (lambda (idss_0 rhss_0 lst_0)
                                  (if (not (null? (unwrap lst_0)))
                                    (let ((v_1
                                           (if (pair? (unwrap lst_0))
                                             (wrap-car lst_0)
                                             lst_0)))
                                      (let ((rest_0
                                             (if (pair? (unwrap lst_0))
                                               (wrap-cdr lst_0)
                                               null)))
                                        (let ((v_2 v_1))
                                          (call-with-values
                                           (lambda ()
                                             (call-with-values
                                              (lambda ()
                                                (call-with-values
                                                 (lambda ()
                                                   (let ((p_2 (unwrap v_2)))
                                                     (let ((idss_1
                                                            (let ((a_1
                                                                   (car p_2)))
                                                              a_1)))
                                                       (let ((rhss_1
                                                              (let ((d_1
                                                                     (cdr
                                                                      p_2)))
                                                                (let ((a_1
                                                                       (car
                                                                        (unwrap
                                                                         d_1))))
                                                                  a_1))))
                                                         (let ((idss_2 idss_1))
                                                           (values
                                                            idss_2
                                                            rhss_1))))))
                                                 (lambda (idss5_0 rhss6_0)
                                                   (values
                                                    (cons idss5_0 idss_0)
                                                    (cons rhss6_0 rhss_0)))))
                                              (lambda (idss_1 rhss_1)
                                                (values idss_1 rhss_1))))
                                           (lambda (idss_1 rhss_1)
                                             (for-loop_0
                                              idss_1
                                              rhss_1
                                              rest_0))))))
                                    (values idss_0 rhss_0))))))
                             (for-loop_0 null null a_0)))
                          (lambda (idss_0 rhss_0)
                            (let ((app_0 (reverse$1 idss_0)))
                              (values app_0 (reverse$1 rhss_0)))))))
                     (lambda (idss_0 rhss_0)
                       (let ((bodys_0
                              (let ((d_1 (cdr p_1))) (unwrap-list d_1))))
                         (let ((idss_1 idss_0) (rhss_1 rhss_0))
                           (values idss_1 rhss_1 bodys_0))))))))
              (lambda (idss_0 rhss_0 bodys_0)
                (let ((let-id_1 let-id_0))
                  (values let-id_1 idss_0 rhss_0 bodys_0)))))))
       (lambda (let-id_0 idss_0 rhss_0 bodys_0)
         (call-with-values
          (lambda ()
            (letrec*
             ((for-loop_0
               (|#%name|
                for-loop
                (lambda (rev-new-idss_0 env_1 lst_0)
                  (if (pair? lst_0)
                    (let ((ids_0 (unsafe-car lst_0)))
                      (let ((rest_0 (unsafe-cdr lst_0)))
                        (call-with-values
                         (lambda ()
                           (call-with-values
                            (lambda ()
                              (call-with-values
                               (lambda () (clone-args ids_0 env_1 mutated_0))
                               (lambda (new-ids_0 new-env_0)
                                 (values
                                  (cons new-ids_0 rev-new-idss_0)
                                  new-env_0))))
                            (lambda (rev-new-idss_1 env_2)
                              (values rev-new-idss_1 env_2))))
                         (lambda (rev-new-idss_1 env_2)
                           (for-loop_0 rev-new-idss_1 env_2 rest_0)))))
                    (values rev-new-idss_0 env_1))))))
             (for-loop_0 null env_0 idss_0)))
          (lambda (rev-new-idss_0 new-env_0)
            (let ((app_0
                   (reverse$1
                    (let ((lst_0 (reverse$1 rev-new-idss_0)))
                      (letrec*
                       ((for-loop_0
                         (|#%name|
                          for-loop
                          (lambda (fold-var_0 lst_1 lst_2)
                            (if (if (pair? lst_1) (pair? lst_2) #f)
                              (let ((ids_0 (unsafe-car lst_1)))
                                (let ((rest_0 (unsafe-cdr lst_1)))
                                  (let ((rhs_0 (unsafe-car lst_2)))
                                    (let ((rest_1 (unsafe-cdr lst_2)))
                                      (let ((fold-var_1
                                             (let ((fold-var_1
                                                    (cons
                                                     (list
                                                      ids_0
                                                      (clone-expr
                                                       rhs_0
                                                       new-env_0
                                                       mutated_0))
                                                     fold-var_0)))
                                               (values fold-var_1))))
                                        (for-loop_0
                                         fold-var_1
                                         rest_0
                                         rest_1))))))
                              fold-var_0)))))
                       (for-loop_0 null lst_0 rhss_0))))))
              (list*
               let-id_0
               app_0
               (clone-body bodys_0 new-env_0 mutated_0)))))))
      (error 'match "failed ~e" v_0))))
(define clone-expr
  (lambda (v_0 env_0 mutated_0)
    (reannotate
     v_0
     (let ((hd_0
            (let ((p_0 (unwrap v_0))) (if (pair? p_0) (unwrap (car p_0)) #f))))
       (if (if (eq? 'lambda hd_0)
             (let ((a_0 (cdr (unwrap v_0))))
               (let ((p_0 (unwrap a_0))) (if (pair? p_0) #t #f)))
             #f)
         (call-with-values
          (lambda ()
            (let ((d_0 (cdr (unwrap v_0))))
              (let ((p_0 (unwrap d_0)))
                (let ((args_0 (let ((a_0 (car p_0))) a_0)))
                  (let ((bodys_0 (let ((d_1 (cdr p_0))) d_1)))
                    (let ((args_1 args_0)) (values args_1 bodys_0)))))))
          (lambda (args_0 bodys_0)
            (call-with-values
             (lambda () (clone-args args_0 env_0 mutated_0))
             (lambda (new-args_0 new-env_0)
               (list*
                'lambda
                new-args_0
                (clone-body bodys_0 new-env_0 mutated_0))))))
         (if (if (eq? 'case-lambda hd_0)
               (let ((a_0 (cdr (unwrap v_0))))
                 (if (wrap-list? a_0)
                   (letrec*
                    ((for-loop_0
                      (|#%name|
                       for-loop
                       (lambda (result_0 lst_0)
                         (if (not (null? (unwrap lst_0)))
                           (let ((v_1
                                  (if (pair? (unwrap lst_0))
                                    (wrap-car lst_0)
                                    lst_0)))
                             (let ((rest_0
                                    (if (pair? (unwrap lst_0))
                                      (wrap-cdr lst_0)
                                      null)))
                               (let ((v_2 v_1))
                                 (let ((result_1
                                        (let ((result_1
                                               (let ((p_0 (unwrap v_2)))
                                                 (if (pair? p_0) #t #f))))
                                          (values result_1))))
                                   (if (if (not
                                            (let ((x_0 (list v_2)))
                                              (not result_1)))
                                         #t
                                         #f)
                                     (for-loop_0 result_1 rest_0)
                                     result_1)))))
                           result_0)))))
                    (for-loop_0 #t a_0))
                   #f))
               #f)
           (call-with-values
            (lambda ()
              (let ((d_0 (cdr (unwrap v_0))))
                (call-with-values
                 (lambda ()
                   (letrec*
                    ((for-loop_0
                      (|#%name|
                       for-loop
                       (lambda (argss_0 bodyss_0 lst_0)
                         (if (not (null? (unwrap lst_0)))
                           (let ((v_1
                                  (if (pair? (unwrap lst_0))
                                    (wrap-car lst_0)
                                    lst_0)))
                             (let ((rest_0
                                    (if (pair? (unwrap lst_0))
                                      (wrap-cdr lst_0)
                                      null)))
                               (let ((v_2 v_1))
                                 (call-with-values
                                  (lambda ()
                                    (call-with-values
                                     (lambda ()
                                       (call-with-values
                                        (lambda ()
                                          (let ((p_0 (unwrap v_2)))
                                            (let ((argss_1
                                                   (let ((a_0 (car p_0)))
                                                     a_0)))
                                              (let ((bodyss_1
                                                     (let ((d_1 (cdr p_0)))
                                                       d_1)))
                                                (let ((argss_2 argss_1))
                                                  (values
                                                   argss_2
                                                   bodyss_1))))))
                                        (lambda (argss7_0 bodyss8_0)
                                          (values
                                           (cons argss7_0 argss_0)
                                           (cons bodyss8_0 bodyss_0)))))
                                     (lambda (argss_1 bodyss_1)
                                       (values argss_1 bodyss_1))))
                                  (lambda (argss_1 bodyss_1)
                                    (for-loop_0 argss_1 bodyss_1 rest_0))))))
                           (values argss_0 bodyss_0))))))
                    (for-loop_0 null null d_0)))
                 (lambda (argss_0 bodyss_0)
                   (let ((app_0 (reverse$1 argss_0)))
                     (values app_0 (reverse$1 bodyss_0)))))))
            (lambda (argss_0 bodyss_0)
              (list*
               'case-lambda
               (reverse$1
                (letrec*
                 ((for-loop_0
                   (|#%name|
                    for-loop
                    (lambda (fold-var_0 lst_0 lst_1)
                      (if (if (pair? lst_0) (pair? lst_1) #f)
                        (let ((args_0 (unsafe-car lst_0)))
                          (let ((rest_0 (unsafe-cdr lst_0)))
                            (let ((bodys_0 (unsafe-car lst_1)))
                              (let ((rest_1 (unsafe-cdr lst_1)))
                                (let ((fold-var_1
                                       (let ((fold-var_1
                                              (cons
                                               (call-with-values
                                                (lambda ()
                                                  (clone-args
                                                   args_0
                                                   env_0
                                                   mutated_0))
                                                (lambda (new-args_0 new-env_0)
                                                  (list*
                                                   new-args_0
                                                   (clone-body
                                                    bodys_0
                                                    new-env_0
                                                    mutated_0))))
                                               fold-var_0)))
                                         (values fold-var_1))))
                                  (for-loop_0 fold-var_1 rest_0 rest_1))))))
                        fold-var_0)))))
                 (for-loop_0 null argss_0 bodyss_0))))))
           (if (if (eq? 'quote hd_0)
                 (let ((a_0 (cdr (unwrap v_0))))
                   (let ((p_0 (unwrap a_0)))
                     (if (pair? p_0)
                       (let ((a_1 (cdr p_0)))
                         (let ((app_0 (unwrap '()))) (eq? app_0 (unwrap a_1))))
                       #f)))
                 #f)
             v_0
             (if (if (eq? 'let-values hd_0) #t #f)
               (clone-let v_0 env_0 mutated_0)
               (if (if (eq? 'letrec-values hd_0) #t #f)
                 (clone-let v_0 env_0 mutated_0)
                 (if (if (eq? 'if hd_0)
                       (let ((a_0 (cdr (unwrap v_0))))
                         (let ((p_0 (unwrap a_0)))
                           (if (pair? p_0)
                             (let ((a_1 (cdr p_0)))
                               (let ((p_1 (unwrap a_1)))
                                 (if (pair? p_1)
                                   (let ((a_2 (cdr p_1)))
                                     (let ((p_2 (unwrap a_2)))
                                       (if (pair? p_2)
                                         (let ((a_3 (cdr p_2)))
                                           (let ((app_0 (unwrap '())))
                                             (eq? app_0 (unwrap a_3))))
                                         #f)))
                                   #f)))
                             #f)))
                       #f)
                   (call-with-values
                    (lambda ()
                      (let ((d_0 (cdr (unwrap v_0))))
                        (let ((p_0 (unwrap d_0)))
                          (let ((tst_0 (let ((a_0 (car p_0))) a_0)))
                            (call-with-values
                             (lambda ()
                               (let ((d_1 (cdr p_0)))
                                 (let ((p_1 (unwrap d_1)))
                                   (let ((thn_0 (let ((a_0 (car p_1))) a_0)))
                                     (let ((els_0
                                            (let ((d_2 (cdr p_1)))
                                              (let ((a_0 (car (unwrap d_2))))
                                                a_0))))
                                       (let ((thn_1 thn_0))
                                         (values thn_1 els_0)))))))
                             (lambda (thn_0 els_0)
                               (let ((tst_1 tst_0))
                                 (values tst_1 thn_0 els_0))))))))
                    (lambda (tst_0 thn_0 els_0)
                      (let ((app_0 (clone-expr tst_0 env_0 mutated_0)))
                        (let ((app_1 (clone-expr thn_0 env_0 mutated_0)))
                          (list
                           'if
                           app_0
                           app_1
                           (clone-expr els_0 env_0 mutated_0))))))
                   (if (if (eq? 'with-continuation-mark hd_0)
                         (let ((a_0 (cdr (unwrap v_0))))
                           (let ((p_0 (unwrap a_0)))
                             (if (pair? p_0)
                               (let ((a_1 (cdr p_0)))
                                 (let ((p_1 (unwrap a_1)))
                                   (if (pair? p_1)
                                     (let ((a_2 (cdr p_1)))
                                       (let ((p_2 (unwrap a_2)))
                                         (if (pair? p_2)
                                           (let ((a_3 (cdr p_2)))
                                             (let ((app_0 (unwrap '())))
                                               (eq? app_0 (unwrap a_3))))
                                           #f)))
                                     #f)))
                               #f)))
                         #f)
                     (call-with-values
                      (lambda ()
                        (let ((d_0 (cdr (unwrap v_0))))
                          (let ((p_0 (unwrap d_0)))
                            (let ((key_0 (let ((a_0 (car p_0))) a_0)))
                              (call-with-values
                               (lambda ()
                                 (let ((d_1 (cdr p_0)))
                                   (let ((p_1 (unwrap d_1)))
                                     (let ((val_0 (let ((a_0 (car p_1))) a_0)))
                                       (let ((body_0
                                              (let ((d_2 (cdr p_1)))
                                                (let ((a_0 (car (unwrap d_2))))
                                                  a_0))))
                                         (let ((val_1 val_0))
                                           (values val_1 body_0)))))))
                               (lambda (val_0 body_0)
                                 (let ((key_1 key_0))
                                   (values key_1 val_0 body_0))))))))
                      (lambda (key_0 val_0 body_0)
                        (let ((app_0 (clone-expr key_0 env_0 mutated_0)))
                          (let ((app_1 (clone-expr val_0 env_0 mutated_0)))
                            (list
                             'with-continuation-mark
                             app_0
                             app_1
                             (clone-expr body_0 env_0 mutated_0))))))
                     (if (if (eq? 'begin hd_0)
                           (let ((a_0 (cdr (unwrap v_0)))) (wrap-list? a_0))
                           #f)
                       (let ((exps_0
                              (let ((d_0 (cdr (unwrap v_0))))
                                (unwrap-list d_0))))
                         (list* 'begin (clone-body exps_0 env_0 mutated_0)))
                       (if (if (eq? 'begin0 hd_0)
                             (let ((a_0 (cdr (unwrap v_0)))) (wrap-list? a_0))
                             #f)
                         (let ((exps_0
                                (let ((d_0 (cdr (unwrap v_0))))
                                  (unwrap-list d_0))))
                           (list* 'begin0 (clone-body exps_0 env_0 mutated_0)))
                         (if (if (eq? 'begin-unsafe hd_0)
                               (let ((a_0 (cdr (unwrap v_0))))
                                 (wrap-list? a_0))
                               #f)
                           (let ((exps_0
                                  (let ((d_0 (cdr (unwrap v_0))))
                                    (unwrap-list d_0))))
                             (list*
                              'begin-unsafe
                              (clone-body exps_0 env_0 mutated_0)))
                           (if (if (eq? 'set! hd_0)
                                 (let ((a_0 (cdr (unwrap v_0))))
                                   (let ((p_0 (unwrap a_0)))
                                     (if (pair? p_0)
                                       (let ((a_1 (cdr p_0)))
                                         (let ((p_1 (unwrap a_1)))
                                           (if (pair? p_1)
                                             (let ((a_2 (cdr p_1)))
                                               (let ((app_0 (unwrap '())))
                                                 (eq? app_0 (unwrap a_2))))
                                             #f)))
                                       #f)))
                                 #f)
                             (call-with-values
                              (lambda ()
                                (let ((d_0 (cdr (unwrap v_0))))
                                  (let ((p_0 (unwrap d_0)))
                                    (let ((id_0 (let ((a_0 (car p_0))) a_0)))
                                      (let ((rhs_0
                                             (let ((d_1 (cdr p_0)))
                                               (let ((a_0 (car (unwrap d_1))))
                                                 a_0))))
                                        (let ((id_1 id_0))
                                          (values id_1 rhs_0)))))))
                              (lambda (id_0 rhs_0)
                                (let ((app_0
                                       (clone-expr id_0 env_0 mutated_0)))
                                  (list
                                   'set!
                                   app_0
                                   (clone-expr rhs_0 env_0 mutated_0)))))
                             (if (if (eq? '|#%variable-reference| hd_0)
                                   (let ((a_0 (cdr (unwrap v_0))))
                                     (let ((app_0 (unwrap '())))
                                       (eq? app_0 (unwrap a_0))))
                                   #f)
                               v_0
                               (if (if (eq? '|#%variable-reference| hd_0)
                                     (let ((a_0 (cdr (unwrap v_0))))
                                       (let ((p_0 (unwrap a_0)))
                                         (if (pair? p_0)
                                           (let ((a_1 (cdr p_0)))
                                             (let ((app_0 (unwrap '())))
                                               (eq? app_0 (unwrap a_1))))
                                           #f)))
                                     #f)
                                 (let ((id_0
                                        (let ((d_0 (cdr (unwrap v_0))))
                                          (let ((a_0 (car (unwrap d_0))))
                                            a_0))))
                                   (list
                                    '|#%variable-reference|
                                    (clone-expr id_0 env_0 mutated_0)))
                                 (if (if (eq? '|#%foreign-inline| hd_0) #t #f)
                                   v_0
                                   (if (let ((p_0 (unwrap v_0)))
                                         (if (pair? p_0) #t #f))
                                     (let ((rator_0
                                            (let ((a_0 (car (unwrap v_0))))
                                              a_0)))
                                       (clone-body v_0 env_0 mutated_0))
                                     (let ((u-v_0 (unwrap v_0)))
                                       (if (symbol? u-v_0)
                                         (lookup env_0 u-v_0 v_0)
                                         v_0)))))))))))))))))))))
(define lookup
  (lambda (env_0 sym_0 default_0)
    (if (null? env_0)
      default_0
      (if (eq? (caar env_0) sym_0)
        (cdar env_0)
        (lookup (cdr env_0) sym_0 default_0)))))
(define known-inline->export-known
  (lambda (k_0 prim-knowns_0 imports_0 exports_0 serializable?_0)
    (if (known-procedure/can-inline? k_0)
      (let ((expr_0 (known-procedure/can-inline-expr k_0)))
        (let ((needed_0
               (needed-imports
                expr_0
                prim-knowns_0
                imports_0
                exports_0
                '()
                hash2610)))
          (if (not needed_0)
            (known-procedure (known-procedure-arity-mask k_0))
            (if (hash-empty? needed_0)
              (if serializable?_0
                (let ((app_0 (known-procedure-arity-mask k_0)))
                  (known-procedure/can-inline
                   app_0
                   (wrap-truncate-paths expr_0)))
                k_0)
              (let ((app_0 (known-procedure-arity-mask k_0)))
                (let ((app_1
                       (if serializable?_0
                         (wrap-truncate-paths expr_0)
                         expr_0)))
                  (known-procedure/can-inline/need-imports
                   app_0
                   app_1
                   (hash-map needed_0 cons #t))))))))
      (if (known-struct-constructor? k_0)
        (let ((needed_0
               (needed-imports
                (known-struct-constructor-type-id k_0)
                prim-knowns_0
                imports_0
                exports_0
                '()
                hash2610)))
          (if needed_0
            (let ((app_0 (known-procedure-arity-mask k_0)))
              (let ((app_1 (known-constructor-type k_0)))
                (let ((app_2 (known-struct-constructor-type-id k_0)))
                  (known-struct-constructor/need-imports
                   app_0
                   app_1
                   app_2
                   (hash-map needed_0 cons #t)))))
            (let ((app_0 (known-procedure-arity-mask k_0)))
              (known-constructor app_0 (known-constructor-type k_0)))))
        (if (known-struct-predicate? k_0)
          (let ((needed_0
                 (needed-imports
                  (known-struct-predicate-type-id k_0)
                  prim-knowns_0
                  imports_0
                  exports_0
                  '()
                  hash2610)))
            (if needed_0
              (let ((app_0 (known-procedure-arity-mask k_0)))
                (let ((app_1 (known-predicate-type k_0)))
                  (let ((app_2 (known-struct-predicate-type-id k_0)))
                    (let ((app_3 (known-struct-predicate-authentic? k_0)))
                      (let ((app_4 (known-struct-predicate-sealed? k_0)))
                        (known-struct-predicate/need-imports
                         app_0
                         app_1
                         app_2
                         app_3
                         app_4
                         (hash-map needed_0 cons #t)))))))
              (let ((app_0 (known-procedure-arity-mask k_0)))
                (known-predicate app_0 (known-predicate-type k_0)))))
          (if (known-field-accessor? k_0)
            (let ((needed_0
                   (needed-imports
                    (known-field-accessor-type-id k_0)
                    prim-knowns_0
                    imports_0
                    exports_0
                    '()
                    hash2610)))
              (if needed_0
                (let ((app_0 (known-procedure-arity-mask k_0)))
                  (let ((app_1 (known-accessor-type k_0)))
                    (let ((app_2 (known-field-accessor-type-id k_0)))
                      (let ((app_3 (known-field-accessor-authentic? k_0)))
                        (let ((app_4 (known-field-accessor-pos k_0)))
                          (let ((app_5
                                 (known-field-accessor-known-immutable? k_0)))
                            (known-field-accessor/need-imports
                             app_0
                             app_1
                             app_2
                             app_3
                             app_4
                             app_5
                             (hash-map needed_0 cons #t))))))))
                (let ((app_0 (known-procedure-arity-mask k_0)))
                  (known-accessor app_0 (known-accessor-type k_0)))))
            (if (known-field-mutator? k_0)
              (let ((needed_0
                     (needed-imports
                      (known-field-mutator-type-id k_0)
                      prim-knowns_0
                      imports_0
                      exports_0
                      '()
                      hash2610)))
                (if needed_0
                  (let ((app_0 (known-procedure-arity-mask k_0)))
                    (let ((app_1 (known-mutator-type k_0)))
                      (let ((app_2 (known-field-mutator-type-id k_0)))
                        (let ((app_3 (known-field-mutator-authentic? k_0)))
                          (let ((app_4 (known-field-mutator-pos k_0)))
                            (known-field-mutator/need-imports
                             app_0
                             app_1
                             app_2
                             app_3
                             app_4
                             (hash-map needed_0 cons #t)))))))
                  (let ((app_0 (known-procedure-arity-mask k_0)))
                    (known-mutator app_0 (known-mutator-type k_0)))))
              k_0)))))))
(define needed-imports
  (lambda (v_0 prim-knowns_0 imports_0 exports_0 env_0 needed_0)
    (if needed_0
      (let ((hd_0
             (let ((p_0 (unwrap v_0)))
               (if (pair? p_0) (unwrap (car p_0)) #f))))
        (if (if (eq? 'lambda hd_0)
              (let ((a_0 (cdr (unwrap v_0))))
                (let ((p_0 (unwrap a_0))) (if (pair? p_0) #t #f)))
              #f)
          (call-with-values
           (lambda ()
             (let ((d_0 (cdr (unwrap v_0))))
               (let ((p_0 (unwrap d_0)))
                 (let ((args_0 (let ((a_0 (car p_0))) a_0)))
                   (let ((bodys_0 (let ((d_1 (cdr p_0))) d_1)))
                     (let ((args_1 args_0)) (values args_1 bodys_0)))))))
           (lambda (args_0 bodys_0)
             (body-needed-imports
              bodys_0
              prim-knowns_0
              imports_0
              exports_0
              (add-args env_0 args_0)
              needed_0)))
          (if (if (eq? 'case-lambda hd_0)
                (let ((a_0 (cdr (unwrap v_0))))
                  (if (wrap-list? a_0)
                    (letrec*
                     ((for-loop_0
                       (|#%name|
                        for-loop
                        (lambda (result_0 lst_0)
                          (if (not (null? (unwrap lst_0)))
                            (let ((v_1
                                   (if (pair? (unwrap lst_0))
                                     (wrap-car lst_0)
                                     lst_0)))
                              (let ((rest_0
                                     (if (pair? (unwrap lst_0))
                                       (wrap-cdr lst_0)
                                       null)))
                                (let ((v_2 v_1))
                                  (let ((result_1
                                         (let ((result_1
                                                (let ((p_0 (unwrap v_2)))
                                                  (if (pair? p_0) #t #f))))
                                           (values result_1))))
                                    (if (if (not
                                             (let ((x_0 (list v_2)))
                                               (not result_1)))
                                          #t
                                          #f)
                                      (for-loop_0 result_1 rest_0)
                                      result_1)))))
                            result_0)))))
                     (for-loop_0 #t a_0))
                    #f))
                #f)
            (call-with-values
             (lambda ()
               (let ((d_0 (cdr (unwrap v_0))))
                 (call-with-values
                  (lambda ()
                    (letrec*
                     ((for-loop_0
                       (|#%name|
                        for-loop
                        (lambda (argss_0 bodyss_0 lst_0)
                          (if (not (null? (unwrap lst_0)))
                            (let ((v_1
                                   (if (pair? (unwrap lst_0))
                                     (wrap-car lst_0)
                                     lst_0)))
                              (let ((rest_0
                                     (if (pair? (unwrap lst_0))
                                       (wrap-cdr lst_0)
                                       null)))
                                (let ((v_2 v_1))
                                  (call-with-values
                                   (lambda ()
                                     (call-with-values
                                      (lambda ()
                                        (call-with-values
                                         (lambda ()
                                           (let ((p_0 (unwrap v_2)))
                                             (let ((argss_1
                                                    (let ((a_0 (car p_0)))
                                                      a_0)))
                                               (let ((bodyss_1
                                                      (let ((d_1 (cdr p_0)))
                                                        d_1)))
                                                 (let ((argss_2 argss_1))
                                                   (values
                                                    argss_2
                                                    bodyss_1))))))
                                         (lambda (argss9_0 bodyss10_0)
                                           (values
                                            (cons argss9_0 argss_0)
                                            (cons bodyss10_0 bodyss_0)))))
                                      (lambda (argss_1 bodyss_1)
                                        (values argss_1 bodyss_1))))
                                   (lambda (argss_1 bodyss_1)
                                     (for-loop_0 argss_1 bodyss_1 rest_0))))))
                            (values argss_0 bodyss_0))))))
                     (for-loop_0 null null d_0)))
                  (lambda (argss_0 bodyss_0)
                    (let ((app_0 (reverse$1 argss_0)))
                      (values app_0 (reverse$1 bodyss_0)))))))
             (lambda (argss_0 bodyss_0)
               (letrec*
                ((for-loop_0
                  (|#%name|
                   for-loop
                   (lambda (needed_1 lst_0 lst_1)
                     (if (if (pair? lst_0) (pair? lst_1) #f)
                       (let ((args_0 (unsafe-car lst_0)))
                         (let ((rest_0 (unsafe-cdr lst_0)))
                           (let ((bodys_0 (unsafe-car lst_1)))
                             (let ((rest_1 (unsafe-cdr lst_1)))
                               (let ((needed_2
                                      (let ((needed_2
                                             (body-needed-imports
                                              bodys_0
                                              prim-knowns_0
                                              imports_0
                                              exports_0
                                              (add-args env_0 args_0)
                                              needed_1)))
                                        (values needed_2))))
                                 (for-loop_0 needed_2 rest_0 rest_1))))))
                       needed_1)))))
                (for-loop_0 needed_0 argss_0 bodyss_0))))
            (if (if (eq? 'quote hd_0)
                  (let ((a_0 (cdr (unwrap v_0))))
                    (let ((p_0 (unwrap a_0)))
                      (if (pair? p_0)
                        (let ((a_1 (cdr p_0)))
                          (let ((app_0 (unwrap '())))
                            (eq? app_0 (unwrap a_1))))
                        #f)))
                  #f)
              needed_0
              (if (if (eq? 'let-values hd_0) #t #f)
                (let-needed-imports
                 v_0
                 prim-knowns_0
                 imports_0
                 exports_0
                 env_0
                 needed_0)
                (if (if (eq? 'letrec-values hd_0) #t #f)
                  (let-needed-imports
                   v_0
                   prim-knowns_0
                   imports_0
                   exports_0
                   env_0
                   needed_0)
                  (if (if (eq? 'if hd_0)
                        (let ((a_0 (cdr (unwrap v_0))))
                          (let ((p_0 (unwrap a_0)))
                            (if (pair? p_0)
                              (let ((a_1 (cdr p_0)))
                                (let ((p_1 (unwrap a_1)))
                                  (if (pair? p_1)
                                    (let ((a_2 (cdr p_1)))
                                      (let ((p_2 (unwrap a_2)))
                                        (if (pair? p_2)
                                          (let ((a_3 (cdr p_2)))
                                            (let ((app_0 (unwrap '())))
                                              (eq? app_0 (unwrap a_3))))
                                          #f)))
                                    #f)))
                              #f)))
                        #f)
                    (call-with-values
                     (lambda ()
                       (let ((d_0 (cdr (unwrap v_0))))
                         (let ((p_0 (unwrap d_0)))
                           (let ((tst_0 (let ((a_0 (car p_0))) a_0)))
                             (call-with-values
                              (lambda ()
                                (let ((d_1 (cdr p_0)))
                                  (let ((p_1 (unwrap d_1)))
                                    (let ((thn_0 (let ((a_0 (car p_1))) a_0)))
                                      (let ((els_0
                                             (let ((d_2 (cdr p_1)))
                                               (let ((a_0 (car (unwrap d_2))))
                                                 a_0))))
                                        (let ((thn_1 thn_0))
                                          (values thn_1 els_0)))))))
                              (lambda (thn_0 els_0)
                                (let ((tst_1 tst_0))
                                  (values tst_1 thn_0 els_0))))))))
                     (lambda (tst_0 thn_0 els_0)
                       (needed-imports
                        tst_0
                        prim-knowns_0
                        imports_0
                        exports_0
                        env_0
                        (needed-imports
                         thn_0
                         prim-knowns_0
                         imports_0
                         exports_0
                         env_0
                         (needed-imports
                          els_0
                          prim-knowns_0
                          imports_0
                          exports_0
                          env_0
                          needed_0)))))
                    (if (if (eq? 'with-continuation-mark hd_0)
                          (let ((a_0 (cdr (unwrap v_0))))
                            (let ((p_0 (unwrap a_0)))
                              (if (pair? p_0)
                                (let ((a_1 (cdr p_0)))
                                  (let ((p_1 (unwrap a_1)))
                                    (if (pair? p_1)
                                      (let ((a_2 (cdr p_1)))
                                        (let ((p_2 (unwrap a_2)))
                                          (if (pair? p_2)
                                            (let ((a_3 (cdr p_2)))
                                              (let ((app_0 (unwrap '())))
                                                (eq? app_0 (unwrap a_3))))
                                            #f)))
                                      #f)))
                                #f)))
                          #f)
                      (call-with-values
                       (lambda ()
                         (let ((d_0 (cdr (unwrap v_0))))
                           (let ((p_0 (unwrap d_0)))
                             (let ((key_0 (let ((a_0 (car p_0))) a_0)))
                               (call-with-values
                                (lambda ()
                                  (let ((d_1 (cdr p_0)))
                                    (let ((p_1 (unwrap d_1)))
                                      (let ((val_0
                                             (let ((a_0 (car p_1))) a_0)))
                                        (let ((body_0
                                               (let ((d_2 (cdr p_1)))
                                                 (let ((a_0
                                                        (car (unwrap d_2))))
                                                   a_0))))
                                          (let ((val_1 val_0))
                                            (values val_1 body_0)))))))
                                (lambda (val_0 body_0)
                                  (let ((key_1 key_0))
                                    (values key_1 val_0 body_0))))))))
                       (lambda (key_0 val_0 body_0)
                         (needed-imports
                          key_0
                          prim-knowns_0
                          imports_0
                          exports_0
                          env_0
                          (needed-imports
                           val_0
                           prim-knowns_0
                           imports_0
                           exports_0
                           env_0
                           (needed-imports
                            body_0
                            prim-knowns_0
                            imports_0
                            exports_0
                            env_0
                            needed_0)))))
                      (if (if (eq? 'begin hd_0)
                            (let ((a_0 (cdr (unwrap v_0)))) (wrap-list? a_0))
                            #f)
                        (let ((exps_0
                               (let ((d_0 (cdr (unwrap v_0))))
                                 (unwrap-list d_0))))
                          (body-needed-imports
                           exps_0
                           prim-knowns_0
                           imports_0
                           exports_0
                           env_0
                           needed_0))
                        (if (if (eq? 'begin0 hd_0)
                              (let ((a_0 (cdr (unwrap v_0)))) (wrap-list? a_0))
                              #f)
                          (let ((exps_0
                                 (let ((d_0 (cdr (unwrap v_0))))
                                   (unwrap-list d_0))))
                            (body-needed-imports
                             exps_0
                             prim-knowns_0
                             imports_0
                             exports_0
                             env_0
                             needed_0))
                          (if (if (eq? 'begin-unsafe hd_0)
                                (let ((a_0 (cdr (unwrap v_0))))
                                  (wrap-list? a_0))
                                #f)
                            (let ((exps_0
                                   (let ((d_0 (cdr (unwrap v_0))))
                                     (unwrap-list d_0))))
                              (body-needed-imports
                               exps_0
                               prim-knowns_0
                               imports_0
                               exports_0
                               env_0
                               needed_0))
                            (if (if (eq? 'set! hd_0)
                                  (let ((a_0 (cdr (unwrap v_0))))
                                    (let ((p_0 (unwrap a_0)))
                                      (if (pair? p_0)
                                        (let ((a_1 (cdr p_0)))
                                          (let ((p_1 (unwrap a_1)))
                                            (if (pair? p_1)
                                              (let ((a_2 (cdr p_1)))
                                                (let ((app_0 (unwrap '())))
                                                  (eq? app_0 (unwrap a_2))))
                                              #f)))
                                        #f)))
                                  #f)
                              (call-with-values
                               (lambda ()
                                 (let ((d_0 (cdr (unwrap v_0))))
                                   (let ((p_0 (unwrap d_0)))
                                     (let ((id_0 (let ((a_0 (car p_0))) a_0)))
                                       (let ((rhs_0
                                              (let ((d_1 (cdr p_0)))
                                                (let ((a_0 (car (unwrap d_1))))
                                                  a_0))))
                                         (let ((id_1 id_0))
                                           (values id_1 rhs_0)))))))
                               (lambda (id_0 rhs_0)
                                 (let ((u_0 (unwrap id_0)))
                                   (if (hash-ref exports_0 id_0 #f)
                                     #f
                                     (needed-imports
                                      id_0
                                      prim-knowns_0
                                      imports_0
                                      exports_0
                                      env_0
                                      (needed-imports
                                       rhs_0
                                       prim-knowns_0
                                       imports_0
                                       exports_0
                                       env_0
                                       needed_0))))))
                              (if (if (eq? '|#%variable-reference| hd_0) #t #f)
                                #f
                                (if (if (eq? '|#%foreign-inline| hd_0)
                                      (let ((a_0 (cdr (unwrap v_0))))
                                        (let ((p_0 (unwrap a_0)))
                                          (if (pair? p_0)
                                            (let ((a_1 (cdr p_0)))
                                              (let ((p_1 (unwrap a_1)))
                                                (if (pair? p_1)
                                                  (let ((a_2 (cdr p_1)))
                                                    (let ((app_0 (unwrap '())))
                                                      (eq?
                                                       app_0
                                                       (unwrap a_2))))
                                                  #f)))
                                            #f)))
                                      #f)
                                  (let ((mode_0
                                         (let ((d_0 (cdr (unwrap v_0))))
                                           (let ((d_1 (cdr (unwrap d_0))))
                                             (let ((a_0 (car (unwrap d_1))))
                                               a_0)))))
                                    (if (memq (unwrap mode_0) '(copy copy*))
                                      needed_0
                                      #f))
                                  (if (let ((p_0 (unwrap v_0)))
                                        (if (pair? p_0) #t #f))
                                    (let ((rator_0
                                           (let ((a_0 (car (unwrap v_0))))
                                             a_0)))
                                      (body-needed-imports
                                       v_0
                                       prim-knowns_0
                                       imports_0
                                       exports_0
                                       env_0
                                       needed_0))
                                    (let ((u-v_0 (unwrap v_0)))
                                      (if (symbol? u-v_0)
                                        (if (let ((or-part_0
                                                   (memq u-v_0 env_0)))
                                              (if or-part_0
                                                or-part_0
                                                (let ((or-part_1
                                                       (hash-ref
                                                        prim-knowns_0
                                                        u-v_0
                                                        #f)))
                                                  (if or-part_1
                                                    or-part_1
                                                    (hash-ref
                                                     needed_0
                                                     u-v_0
                                                     #f)))))
                                          needed_0
                                          (let ((cond-val_0
                                                 (hash-ref
                                                  exports_0
                                                  u-v_0
                                                  #f)))
                                            (if cond-val_0
                                              (hash-set
                                               needed_0
                                               u-v_0
                                               (cons
                                                (export-ext-id cond-val_0)
                                                #f))
                                              (let ((cond-val_1
                                                     (hash-ref
                                                      imports_0
                                                      u-v_0
                                                      #f)))
                                                (if cond-val_1
                                                  (hash-set
                                                   needed_0
                                                   u-v_0
                                                   (cons
                                                    (import-ext-id cond-val_1)
                                                    (import-group-index
                                                     (import-grp cond-val_1))))
                                                  #f)))))
                                        needed_0)))))))))))))))))
      #f)))
(define body-needed-imports
  (lambda (l_0 prim-knowns_0 imports_0 exports_0 env_0 needed_0)
    (letrec*
     ((for-loop_0
       (|#%name|
        for-loop
        (lambda (needed_1 lst_0)
          (if (not (null? (unwrap lst_0)))
            (let ((e_0 (if (pair? (unwrap lst_0)) (wrap-car lst_0) lst_0)))
              (let ((rest_0 (if (pair? (unwrap lst_0)) (wrap-cdr lst_0) null)))
                (let ((e_1 e_0))
                  (let ((needed_2
                         (let ((needed_2
                                (needed-imports
                                 e_1
                                 prim-knowns_0
                                 imports_0
                                 exports_0
                                 env_0
                                 needed_1)))
                           (values needed_2))))
                    (for-loop_0 needed_2 rest_0)))))
            needed_1)))))
     (for-loop_0 needed_0 l_0))))
(define let-needed-imports
  (lambda (v_0 prim-knowns_0 imports_0 exports_0 env_0 needed_0)
    (if (let ((p_0 (unwrap v_0)))
          (if (pair? p_0)
            (let ((a_0 (cdr p_0)))
              (let ((p_1 (unwrap a_0)))
                (if (pair? p_1)
                  (if (let ((a_1 (car p_1)))
                        (if (wrap-list? a_1)
                          (letrec*
                           ((for-loop_0
                             (|#%name|
                              for-loop
                              (lambda (result_0 lst_0)
                                (if (not (null? (unwrap lst_0)))
                                  (let ((v_1
                                         (if (pair? (unwrap lst_0))
                                           (wrap-car lst_0)
                                           lst_0)))
                                    (let ((rest_0
                                           (if (pair? (unwrap lst_0))
                                             (wrap-cdr lst_0)
                                             null)))
                                      (let ((v_2 v_1))
                                        (let ((result_1
                                               (let ((result_1
                                                      (let ((p_2 (unwrap v_2)))
                                                        (if (pair? p_2)
                                                          (let ((a_2
                                                                 (cdr p_2)))
                                                            (let ((p_3
                                                                   (unwrap
                                                                    a_2)))
                                                              (if (pair? p_3)
                                                                (let ((a_3
                                                                       (cdr
                                                                        p_3)))
                                                                  (let ((app_0
                                                                         (unwrap
                                                                          '())))
                                                                    (eq?
                                                                     app_0
                                                                     (unwrap
                                                                      a_3))))
                                                                #f)))
                                                          #f))))
                                                 (values result_1))))
                                          (if (if (not
                                                   (let ((x_0 (list v_2)))
                                                     (not result_1)))
                                                #t
                                                #f)
                                            (for-loop_0 result_1 rest_0)
                                            result_1)))))
                                  result_0)))))
                           (for-loop_0 #t a_1))
                          #f))
                    (let ((a_1 (cdr p_1))) (wrap-list? a_1))
                    #f)
                  #f)))
            #f))
      (call-with-values
       (lambda ()
         (let ((p_0 (unwrap v_0)))
           (let ((let-id_0 (let ((a_0 (car p_0))) a_0)))
             (call-with-values
              (lambda ()
                (let ((d_0 (cdr p_0)))
                  (let ((p_1 (unwrap d_0)))
                    (call-with-values
                     (lambda ()
                       (let ((a_0 (car p_1)))
                         (call-with-values
                          (lambda ()
                            (letrec*
                             ((for-loop_0
                               (|#%name|
                                for-loop
                                (lambda (idss_0 rhss_0 lst_0)
                                  (if (not (null? (unwrap lst_0)))
                                    (let ((v_1
                                           (if (pair? (unwrap lst_0))
                                             (wrap-car lst_0)
                                             lst_0)))
                                      (let ((rest_0
                                             (if (pair? (unwrap lst_0))
                                               (wrap-cdr lst_0)
                                               null)))
                                        (let ((v_2 v_1))
                                          (call-with-values
                                           (lambda ()
                                             (call-with-values
                                              (lambda ()
                                                (call-with-values
                                                 (lambda ()
                                                   (let ((p_2 (unwrap v_2)))
                                                     (let ((idss_1
                                                            (let ((a_1
                                                                   (car p_2)))
                                                              a_1)))
                                                       (let ((rhss_1
                                                              (let ((d_1
                                                                     (cdr
                                                                      p_2)))
                                                                (let ((a_1
                                                                       (car
                                                                        (unwrap
                                                                         d_1))))
                                                                  a_1))))
                                                         (let ((idss_2 idss_1))
                                                           (values
                                                            idss_2
                                                            rhss_1))))))
                                                 (lambda (idss11_0 rhss12_0)
                                                   (values
                                                    (cons idss11_0 idss_0)
                                                    (cons rhss12_0 rhss_0)))))
                                              (lambda (idss_1 rhss_1)
                                                (values idss_1 rhss_1))))
                                           (lambda (idss_1 rhss_1)
                                             (for-loop_0
                                              idss_1
                                              rhss_1
                                              rest_0))))))
                                    (values idss_0 rhss_0))))))
                             (for-loop_0 null null a_0)))
                          (lambda (idss_0 rhss_0)
                            (let ((app_0 (reverse$1 idss_0)))
                              (values app_0 (reverse$1 rhss_0)))))))
                     (lambda (idss_0 rhss_0)
                       (let ((bodys_0
                              (let ((d_1 (cdr p_1))) (unwrap-list d_1))))
                         (let ((idss_1 idss_0) (rhss_1 rhss_0))
                           (values idss_1 rhss_1 bodys_0))))))))
              (lambda (idss_0 rhss_0 bodys_0)
                (let ((let-id_1 let-id_0))
                  (values let-id_1 idss_0 rhss_0 bodys_0)))))))
       (lambda (let-id_0 idss_0 rhss_0 bodys_0)
         (let ((new-env_0
                (letrec*
                 ((for-loop_0
                   (|#%name|
                    for-loop
                    (lambda (env_1 lst_0)
                      (if (pair? lst_0)
                        (let ((ids_0 (unsafe-car lst_0)))
                          (let ((rest_0 (unsafe-cdr lst_0)))
                            (let ((env_2
                                   (letrec*
                                    ((for-loop_1
                                      (|#%name|
                                       for-loop
                                       (lambda (env_2 lst_1)
                                         (if (pair? lst_1)
                                           (let ((id_0 (unsafe-car lst_1)))
                                             (let ((rest_1 (unsafe-cdr lst_1)))
                                               (let ((env_3
                                                      (let ((env_3
                                                             (cons
                                                              (unwrap id_0)
                                                              env_2)))
                                                        (values env_3))))
                                                 (for-loop_1 env_3 rest_1))))
                                           env_2)))))
                                    (for-loop_1 env_1 ids_0))))
                              (for-loop_0 env_2 rest_0))))
                        env_1)))))
                 (for-loop_0 env_0 idss_0))))
           (body-needed-imports
            bodys_0
            prim-knowns_0
            imports_0
            exports_0
            new-env_0
            (letrec*
             ((for-loop_0
               (|#%name|
                for-loop
                (lambda (needed_1 lst_0)
                  (if (pair? lst_0)
                    (let ((rhs_0 (unsafe-car lst_0)))
                      (let ((rest_0 (unsafe-cdr lst_0)))
                        (let ((needed_2
                               (let ((needed_2
                                      (needed-imports
                                       rhs_0
                                       prim-knowns_0
                                       imports_0
                                       exports_0
                                       new-env_0
                                       needed_1)))
                                 (values needed_2))))
                          (for-loop_0 needed_2 rest_0))))
                    needed_1)))))
             (for-loop_0 needed_0 rhss_0))))))
      (error 'match "failed ~e" v_0))))
(define add-args
  (lambda (env_0 args_0)
    (if (null? (unwrap args_0))
      env_0
      (if (pair? (unwrap args_0))
        (let ((app_0 (cons (unwrap (wrap-car args_0)) env_0)))
          (add-args app_0 (wrap-cdr args_0)))
        (cons (unwrap args_0) env_0)))))
(define needed->list (lambda (needed_0) (hash-map needed_0 cons #t)))
(define ensure-single-valued
  (lambda (v_0 knowns_0 prim-knowns_0 imports_0 mutated_0)
    (let ((hd_0
           (let ((p_0 (unwrap v_0))) (if (pair? p_0) (unwrap (car p_0)) #f))))
      (if (if (eq? 'quote hd_0)
            (let ((a_0 (cdr (unwrap v_0))))
              (let ((p_0 (unwrap a_0)))
                (if (pair? p_0)
                  (let ((a_1 (cdr p_0)))
                    (let ((app_0 (unwrap '()))) (eq? app_0 (unwrap a_1))))
                  #f)))
            #f)
        v_0
        (if (if (eq? 'lambda hd_0) #t #f)
          v_0
          (if (if (eq? 'case-lambda hd_0) #t #f)
            v_0
            (if (if (eq? '|#%foreign-inline| hd_0) #t #f)
              v_0
              (if (let ((p_0 (unwrap v_0))) (if (pair? p_0) #t #f))
                (let ((proc-or-form_0 (let ((a_0 (car (unwrap v_0)))) a_0)))
                  (let ((u_0 (unwrap proc-or-form_0)))
                    (if (if (symbol? u_0)
                          (if (simple-mutated-state?
                               (hash-ref mutated_0 u_0 #f))
                            (let ((k_0
                                   (let ((or-part_0
                                          (hash-ref prim-knowns_0 u_0 #f)))
                                     (if or-part_0
                                       or-part_0
                                       (hash-ref-either
                                        knowns_0
                                        imports_0
                                        u_0)))))
                              (let ((or-part_0
                                     (known-procedure/allocates? k_0)))
                                (if or-part_0
                                  or-part_0
                                  (known-procedure/single-valued? k_0))))
                            #f)
                          #f)
                      v_0
                      (list '$value v_0))))
                v_0))))))))
(define INITIAL-SINGLE-VALUE-FUEL 16)
(define single-valued-lambda?
  (lambda (lam_0 knowns_0 prim-knowns_0 imports_0 mutated_0)
    (let ((hd_0
           (let ((p_0 (unwrap lam_0)))
             (if (pair? p_0) (unwrap (car p_0)) #f))))
      (if (if (eq? 'lambda hd_0)
            (let ((a_0 (cdr (unwrap lam_0))))
              (let ((p_0 (unwrap a_0))) (if (pair? p_0) #t #f)))
            #f)
        (let ((body_0
               (let ((d_0 (cdr (unwrap lam_0))))
                 (let ((d_1 (cdr (unwrap d_0)))) d_1))))
          (single-valued-body?
           body_0
           knowns_0
           prim-knowns_0
           imports_0
           mutated_0
           16))
        (if (if (eq? 'case-lambda hd_0)
              (let ((a_0 (cdr (unwrap lam_0))))
                (if (wrap-list? a_0)
                  (letrec*
                   ((for-loop_0
                     (|#%name|
                      for-loop
                      (lambda (result_0 lst_0)
                        (if (not (null? (unwrap lst_0)))
                          (let ((v_0
                                 (if (pair? (unwrap lst_0))
                                   (wrap-car lst_0)
                                   lst_0)))
                            (let ((rest_0
                                   (if (pair? (unwrap lst_0))
                                     (wrap-cdr lst_0)
                                     null)))
                              (let ((v_1 v_0))
                                (let ((result_1
                                       (let ((result_1
                                              (let ((p_0 (unwrap v_1)))
                                                (if (pair? p_0) #t #f))))
                                         (values result_1))))
                                  (if (if (not
                                           (let ((x_0 (list v_1)))
                                             (not result_1)))
                                        #t
                                        #f)
                                    (for-loop_0 result_1 rest_0)
                                    result_1)))))
                          result_0)))))
                   (for-loop_0 #t a_0))
                  #f))
              #f)
          (let ((bodys_0
                 (let ((d_0 (cdr (unwrap lam_0))))
                   (let ((bodys_0
                          (letrec*
                           ((for-loop_0
                             (|#%name|
                              for-loop
                              (lambda (bodys_0 lst_0)
                                (if (not (null? (unwrap lst_0)))
                                  (let ((v_0
                                         (if (pair? (unwrap lst_0))
                                           (wrap-car lst_0)
                                           lst_0)))
                                    (let ((rest_0
                                           (if (pair? (unwrap lst_0))
                                             (wrap-cdr lst_0)
                                             null)))
                                      (let ((v_1 v_0))
                                        (let ((bodys_1
                                               (let ((bodys_1
                                                      (let ((bodys1_0
                                                             (let ((d_1
                                                                    (cdr
                                                                     (unwrap
                                                                      v_1))))
                                                               d_1)))
                                                        (cons
                                                         bodys1_0
                                                         bodys_0))))
                                                 (values bodys_1))))
                                          (for-loop_0 bodys_1 rest_0)))))
                                  bodys_0)))))
                           (for-loop_0 null d_0))))
                     (reverse$1 bodys_0)))))
            (letrec*
             ((for-loop_0
               (|#%name|
                for-loop
                (lambda (result_0 lst_0)
                  (if (pair? lst_0)
                    (let ((body_0 (unsafe-car lst_0)))
                      (let ((rest_0 (unsafe-cdr lst_0)))
                        (let ((result_1
                               (let ((result_1
                                      (single-valued-body?
                                       body_0
                                       knowns_0
                                       prim-knowns_0
                                       imports_0
                                       mutated_0
                                       16)))
                                 (values result_1))))
                          (if (if (not
                                   (let ((x_0 (list body_0))) (not result_1)))
                                #t
                                #f)
                            (for-loop_0 result_1 rest_0)
                            result_1))))
                    result_0)))))
             (for-loop_0 #t bodys_0)))
          #f)))))
(define single-valued-body?
  (lambda (body_0 knowns_0 prim-knowns_0 imports_0 mutated_0 fuel_0)
    (letrec*
     ((loop_0
       (|#%name|
        loop
        (lambda (body_1 fuel_1)
          (if (fx= fuel_1 0)
            #f
            (if (null? (cdr body_1))
              (single-valued?
               (car body_1)
               knowns_0
               prim-knowns_0
               imports_0
               mutated_0
               fuel_1)
              (let ((app_0 (cdr body_1))) (loop_0 app_0 (fx- fuel_1 1)))))))))
     (loop_0 body_0 fuel_0))))
(define single-valued?
  (lambda (e_0 knowns_0 prim-knowns_0 imports_0 mutated_0 fuel_0)
    (if (fx= fuel_0 0)
      #f
      (let ((hd_0
             (let ((p_0 (unwrap e_0)))
               (if (pair? p_0) (unwrap (car p_0)) #f))))
        (if (if (eq? 'lambda hd_0) #t #f)
          #t
          (if (if (eq? 'case-lambda hd_0) #t #f)
            #t
            (if (if (eq? 'quote hd_0) #t #f)
              #t
              (if (if (eq? '|#%variable-reference| hd_0) #t #f)
                #t
                (if (if (eq? '|#%foreign-inline| hd_0) #t #f)
                  #t
                  (if (let ((p_0 (unwrap e_0)))
                        (if (pair? p_0)
                          (if (let ((a_0 (car p_0)))
                                (let ((p_1 (unwrap a_0)))
                                  (if (pair? p_1)
                                    (if (let ((a_1 (car p_1)))
                                          (let ((app_0
                                                 (unwrap '|#%foreign-inline|)))
                                            (eq? app_0 (unwrap a_1))))
                                      (let ((a_1 (cdr p_1)))
                                        (let ((p_2 (unwrap a_1)))
                                          (if (pair? p_2)
                                            (let ((a_2 (cdr p_2)))
                                              (let ((p_3 (unwrap a_2)))
                                                (if (pair? p_3)
                                                  (let ((a_3 (cdr p_3)))
                                                    (let ((app_0 (unwrap '())))
                                                      (eq?
                                                       app_0
                                                       (unwrap a_3))))
                                                  #f)))
                                            #f)))
                                      #f)
                                    #f)))
                            #t
                            #f)
                          #f))
                    (call-with-values
                     (lambda ()
                       (let ((p_0 (unwrap e_0)))
                         (let ((mode_0
                                (let ((a_0 (car p_0)))
                                  (let ((d_0 (cdr (unwrap a_0))))
                                    (let ((d_1 (cdr (unwrap d_0))))
                                      (let ((a_1 (car (unwrap d_1)))) a_1))))))
                           (let ((args_0 (let ((d_0 (cdr p_0))) d_0)))
                             (let ((mode_1 mode_0)) (values mode_1 args_0))))))
                     (lambda (mode_0 args_0)
                       (memq (unwrap mode_0) '(copy* pure*))))
                    (if (if (eq? 'let-values hd_0)
                          (let ((a_0 (cdr (unwrap e_0))))
                            (let ((p_0 (unwrap a_0))) (if (pair? p_0) #t #f)))
                          #f)
                      (let ((body_0
                             (let ((d_0 (cdr (unwrap e_0))))
                               (let ((d_1 (cdr (unwrap d_0)))) d_1))))
                        (single-valued-body?
                         body_0
                         knowns_0
                         prim-knowns_0
                         imports_0
                         mutated_0
                         (fx- fuel_0 1)))
                      (if (if (eq? 'let hd_0)
                            (let ((a_0 (cdr (unwrap e_0))))
                              (let ((p_0 (unwrap a_0)))
                                (if (pair? p_0) #t #f)))
                            #f)
                        (let ((body_0
                               (let ((d_0 (cdr (unwrap e_0))))
                                 (let ((d_1 (cdr (unwrap d_0)))) d_1))))
                          (single-valued-body?
                           body_0
                           knowns_0
                           prim-knowns_0
                           imports_0
                           mutated_0
                           (fx- fuel_0 1)))
                        (if (if (eq? 'let-values hd_0)
                              (let ((a_0 (cdr (unwrap e_0))))
                                (let ((p_0 (unwrap a_0)))
                                  (if (pair? p_0) #t #f)))
                              #f)
                          (let ((body_0
                                 (let ((d_0 (cdr (unwrap e_0))))
                                   (let ((d_1 (cdr (unwrap d_0)))) d_1))))
                            (single-valued-body?
                             body_0
                             knowns_0
                             prim-knowns_0
                             imports_0
                             mutated_0
                             (fx- fuel_0 1)))
                          (if (if (eq? 'letrec hd_0)
                                (let ((a_0 (cdr (unwrap e_0))))
                                  (let ((p_0 (unwrap a_0)))
                                    (if (pair? p_0) #t #f)))
                                #f)
                            (let ((body_0
                                   (let ((d_0 (cdr (unwrap e_0))))
                                     (let ((d_1 (cdr (unwrap d_0)))) d_1))))
                              (single-valued-body?
                               body_0
                               knowns_0
                               prim-knowns_0
                               imports_0
                               mutated_0
                               (fx- fuel_0 1)))
                            (if (if (eq? 'letrec-values hd_0)
                                  (let ((a_0 (cdr (unwrap e_0))))
                                    (let ((p_0 (unwrap a_0)))
                                      (if (pair? p_0) #t #f)))
                                  #f)
                              (let ((body_0
                                     (let ((d_0 (cdr (unwrap e_0))))
                                       (let ((d_1 (cdr (unwrap d_0)))) d_1))))
                                (single-valued-body?
                                 body_0
                                 knowns_0
                                 prim-knowns_0
                                 imports_0
                                 mutated_0
                                 (fx- fuel_0 1)))
                              (if (if (eq? 'letrec* hd_0)
                                    (let ((a_0 (cdr (unwrap e_0))))
                                      (let ((p_0 (unwrap a_0)))
                                        (if (pair? p_0) #t #f)))
                                    #f)
                                (let ((body_0
                                       (let ((d_0 (cdr (unwrap e_0))))
                                         (let ((d_1 (cdr (unwrap d_0))))
                                           d_1))))
                                  (single-valued-body?
                                   body_0
                                   knowns_0
                                   prim-knowns_0
                                   imports_0
                                   mutated_0
                                   (fx- fuel_0 1)))
                                (if (if (eq? 'begin hd_0) #t #f)
                                  (let ((body_0
                                         (let ((d_0 (cdr (unwrap e_0)))) d_0)))
                                    (single-valued-body?
                                     body_0
                                     knowns_0
                                     prim-knowns_0
                                     imports_0
                                     mutated_0
                                     (fx- fuel_0 1)))
                                  (if (if (eq? 'begin-unsafe hd_0) #t #f)
                                    (let ((body_0
                                           (let ((d_0 (cdr (unwrap e_0))))
                                             d_0)))
                                      (single-valued-body?
                                       body_0
                                       knowns_0
                                       prim-knowns_0
                                       imports_0
                                       mutated_0
                                       (fx- fuel_0 1)))
                                    (if (if (eq? 'begin0 hd_0)
                                          (let ((a_0 (cdr (unwrap e_0))))
                                            (let ((p_0 (unwrap a_0)))
                                              (if (pair? p_0) #t #f)))
                                          #f)
                                      (let ((e_1
                                             (let ((d_0 (cdr (unwrap e_0))))
                                               (let ((a_0 (car (unwrap d_0))))
                                                 a_0))))
                                        (single-valued?
                                         e_1
                                         knowns_0
                                         prim-knowns_0
                                         imports_0
                                         mutated_0
                                         (fx- fuel_0 1)))
                                      (if (if (eq? 'set! hd_0)
                                            (let ((a_0 (cdr (unwrap e_0))))
                                              (let ((p_0 (unwrap a_0)))
                                                (if (pair? p_0)
                                                  (let ((a_1 (cdr p_0)))
                                                    (let ((p_1 (unwrap a_1)))
                                                      (if (pair? p_1)
                                                        (let ((a_2 (cdr p_1)))
                                                          (let ((app_0
                                                                 (unwrap '())))
                                                            (eq?
                                                             app_0
                                                             (unwrap a_2))))
                                                        #f)))
                                                  #f)))
                                            #f)
                                        #t
                                        (if (if (eq? 'if hd_0)
                                              (let ((a_0 (cdr (unwrap e_0))))
                                                (let ((p_0 (unwrap a_0)))
                                                  (if (pair? p_0)
                                                    (let ((a_1 (cdr p_0)))
                                                      (let ((p_1 (unwrap a_1)))
                                                        (if (pair? p_1)
                                                          (let ((a_2
                                                                 (cdr p_1)))
                                                            (let ((p_2
                                                                   (unwrap
                                                                    a_2)))
                                                              (if (pair? p_2)
                                                                (let ((a_3
                                                                       (cdr
                                                                        p_2)))
                                                                  (let ((app_0
                                                                         (unwrap
                                                                          '())))
                                                                    (eq?
                                                                     app_0
                                                                     (unwrap
                                                                      a_3))))
                                                                #f)))
                                                          #f)))
                                                    #f)))
                                              #f)
                                          (call-with-values
                                           (lambda ()
                                             (let ((d_0 (cdr (unwrap e_0))))
                                               (let ((d_1 (cdr (unwrap d_0))))
                                                 (let ((p_0 (unwrap d_1)))
                                                   (let ((thn_0
                                                          (let ((a_0
                                                                 (car p_0)))
                                                            a_0)))
                                                     (let ((els_0
                                                            (let ((d_2
                                                                   (cdr p_0)))
                                                              (let ((a_0
                                                                     (car
                                                                      (unwrap
                                                                       d_2))))
                                                                a_0))))
                                                       (let ((thn_1 thn_0))
                                                         (values
                                                          thn_1
                                                          els_0))))))))
                                           (lambda (thn_0 els_0)
                                             (if (single-valued?
                                                  thn_0
                                                  knowns_0
                                                  prim-knowns_0
                                                  imports_0
                                                  mutated_0
                                                  (unsafe-fxrshift fuel_0 1))
                                               (single-valued?
                                                els_0
                                                knowns_0
                                                prim-knowns_0
                                                imports_0
                                                mutated_0
                                                (unsafe-fxrshift fuel_0 1))
                                               #f)))
                                          (if (if (eq? '|#%app/value| hd_0)
                                                #t
                                                #f)
                                            #t
                                            (if (if (eq?
                                                     '|#%app/no-return|
                                                     hd_0)
                                                  #t
                                                  #f)
                                              #t
                                              (if (let ((p_0 (unwrap e_0)))
                                                    (if (pair? p_0) #t #f))
                                                (call-with-values
                                                 (lambda ()
                                                   (let ((p_0 (unwrap e_0)))
                                                     (let ((proc_0
                                                            (let ((a_0
                                                                   (car p_0)))
                                                              a_0)))
                                                       (let ((args_0
                                                              (let ((d_0
                                                                     (cdr
                                                                      p_0)))
                                                                d_0)))
                                                         (let ((proc_1 proc_0))
                                                           (values
                                                            proc_1
                                                            args_0))))))
                                                 (lambda (proc_0 args_0)
                                                   (let ((proc_1
                                                          (unwrap proc_0)))
                                                     (if (symbol? proc_1)
                                                       (if (let ((v_0
                                                                  (let ((or-part_0
                                                                         (hash-ref-either
                                                                          knowns_0
                                                                          imports_0
                                                                          proc_1)))
                                                                    (if or-part_0
                                                                      or-part_0
                                                                      (hash-ref
                                                                       prim-knowns_0
                                                                       proc_1
                                                                       #f)))))
                                                             (known-procedure/single-valued?
                                                              v_0))
                                                         (simple-mutated-state?
                                                          (hash-ref
                                                           mutated_0
                                                           proc_1
                                                           #f))
                                                         #f)
                                                       #f))))
                                                #t))))))))))))))))))))))))
(define infer-known.1
  (|#%name|
   infer-known
   (lambda (compiler-query2_0
            defn3_0
            post-schemify?1_0
            rhs7_0
            id8_0
            knowns9_0
            prim-knowns10_0
            imports11_0
            mutated12_0
            simples13_0
            unsafe-mode?14_0
            target15_0)
     (letrec*
      ((loop_0
        (|#%name|
         loop
         (lambda (rhs_0)
           (if (lambda?.1 #f rhs_0)
             (call-with-values
              (lambda () (extract-lambda rhs_0))
              (lambda (lam_0 inlinable?_0)
                (let ((arity-mask_0 (lambda-arity-mask lam_0)))
                  (if (if inlinable?_0
                        (if (not post-schemify?1_0)
                          (let ((or-part_0 (eq? defn3_0 'inline)))
                            (if or-part_0 or-part_0 (can-inline? lam_0)))
                          #f)
                        #f)
                    (known-procedure/can-inline
                     arity-mask_0
                     (if (let ((or-part_0
                                (if unsafe-mode?14_0
                                  (not (eq? target15_0 'cify))
                                  #f)))
                           (if or-part_0
                             or-part_0
                             (wrap-property lam_0 'body-as-unsafe)))
                       (add-begin-unsafe lam_0)
                       lam_0))
                    (if (single-valued-lambda?
                         lam_0
                         knowns9_0
                         prim-knowns10_0
                         imports11_0
                         mutated12_0)
                      (known-procedure/single-valued arity-mask_0)
                      (known-procedure arity-mask_0))))))
             (if (if (literal? rhs_0)
                   (not (hash-ref mutated12_0 (unwrap id8_0) #f))
                   #f)
               (known-literal (unwrap-literal rhs_0))
               (if (if (symbol? (unwrap rhs_0))
                     (not (hash-ref mutated12_0 (unwrap id8_0) #f))
                     #f)
                 (let ((u-rhs_0 (unwrap rhs_0)))
                   (let ((cond-val_0 (hash-ref prim-knowns10_0 u-rhs_0 #f)))
                     (if cond-val_0
                       (known-copy u-rhs_0)
                       (if (not
                            (simple-mutated-state?
                             (hash-ref mutated12_0 u-rhs_0 #f)))
                         (if defn3_0 a-known-constant #f)
                         (let ((cond-val_1
                                (hash-ref-either
                                 knowns9_0
                                 imports11_0
                                 u-rhs_0)))
                           (if cond-val_1
                             (if (known-procedure/can-inline/need-imports?
                                  cond-val_1)
                               (known-procedure/can-inline
                                (known-procedure-arity-mask cond-val_1)
                                rhs_0)
                               (if (let ((or-part_0
                                          (known-procedure/can-inline?
                                           cond-val_1)))
                                     (if or-part_0
                                       or-part_0
                                       (known-literal? cond-val_1)))
                                 cond-val_1
                                 (if (let ((or-part_0 (not defn3_0)))
                                       (if or-part_0
                                         or-part_0
                                         (let ((or-part_1
                                                (known-copy? cond-val_1)))
                                           (if or-part_1
                                             or-part_1
                                             (let ((or-part_2
                                                    (known-struct-constructor/need-imports?
                                                     cond-val_1)))
                                               (if or-part_2
                                                 or-part_2
                                                 (let ((or-part_3
                                                        (known-struct-predicate/need-imports?
                                                         cond-val_1)))
                                                   (if or-part_3
                                                     or-part_3
                                                     (let ((or-part_4
                                                            (known-field-accessor/need-imports?
                                                             cond-val_1)))
                                                       (if or-part_4
                                                         or-part_4
                                                         (known-field-mutator/need-imports?
                                                          cond-val_1)))))))))))
                                   (known-copy rhs_0)
                                   cond-val_1)))
                             (if defn3_0
                               a-known-constant
                               (if (hash-ref imports11_0 u-rhs_0 #f)
                                 a-known-constant
                                 (known-copy rhs_0)))))))))
                 (if (parameter-result?
                      rhs_0
                      prim-knowns10_0
                      knowns9_0
                      mutated12_0)
                   (known-procedure 3)
                   (let ((cond-val_0
                          (make-ctype?/rep
                           rhs_0
                           prim-knowns10_0
                           knowns9_0
                           imports11_0
                           mutated12_0)))
                     (if cond-val_0
                       (known-ctype cond-val_0)
                       (let ((cond-val_1
                              (constructed-procedure-arity-mask rhs_0)))
                         (if cond-val_1
                           (known-procedure cond-val_1)
                           (let ((hd_0
                                  (let ((p_0 (unwrap rhs_0)))
                                    (if (pair? p_0) (unwrap (car p_0)) #f))))
                             (if (if (eq? 'assert-ctype-representation hd_0)
                                   (let ((a_0 (cdr (unwrap rhs_0))))
                                     (let ((p_0 (unwrap a_0)))
                                       (if (pair? p_0)
                                         (let ((a_1 (cdr p_0)))
                                           (let ((p_1 (unwrap a_1)))
                                             (if (pair? p_1)
                                               (let ((a_2 (cdr p_1)))
                                                 (let ((app_0 (unwrap '())))
                                                   (eq? app_0 (unwrap a_2))))
                                               #f)))
                                         #f)))
                                   #f)
                               (call-with-values
                                (lambda ()
                                  (let ((d_0 (cdr (unwrap rhs_0))))
                                    (let ((p_0 (unwrap d_0)))
                                      (let ((type1_0
                                             (let ((a_0 (car p_0))) a_0)))
                                        (let ((type2_0
                                               (let ((d_1 (cdr p_0)))
                                                 (let ((a_0
                                                        (car (unwrap d_1))))
                                                   a_0))))
                                          (let ((type1_1 type1_0))
                                            (values type1_1 type2_0)))))))
                                (lambda (type1_0 type2_0)
                                  (let ((k_0 (loop_0 type1_0)))
                                    (if (known-ctype? k_0)
                                      k_0
                                      (if (known-copy? k_0)
                                        (let ((u-rhs_0
                                               (unwrap (known-copy-id k_0))))
                                          (let ((cond-val_2
                                                 (hash-ref
                                                  prim-knowns10_0
                                                  u-rhs_0
                                                  #f)))
                                            (if cond-val_2
                                              (if (known-ctype? cond-val_2)
                                                cond-val_2
                                                #f)
                                              (if (not
                                                   (simple-mutated-state?
                                                    (hash-ref
                                                     mutated12_0
                                                     u-rhs_0
                                                     #f)))
                                                #f
                                                (let ((cond-val_3
                                                       (hash-ref-either
                                                        knowns9_0
                                                        imports11_0
                                                        u-rhs_0)))
                                                  (if cond-val_3
                                                    (if (known-ctype?
                                                         cond-val_3)
                                                      cond-val_3
                                                      #f)
                                                    #f))))))
                                        #f)))))
                               (if (if (eq? '|#%foreign-inline| hd_0)
                                     (let ((a_0 (cdr (unwrap rhs_0))))
                                       (let ((p_0 (unwrap a_0)))
                                         (if (pair? p_0)
                                           (let ((a_1 (cdr p_0)))
                                             (let ((p_1 (unwrap a_1)))
                                               (if (pair? p_1)
                                                 (if (let ((a_2 (car p_1)))
                                                       (let ((app_0
                                                              (unwrap 'copy)))
                                                         (eq?
                                                          app_0
                                                          (unwrap a_2))))
                                                   (let ((a_2 (cdr p_1)))
                                                     (let ((app_0
                                                            (unwrap '())))
                                                       (eq?
                                                        app_0
                                                        (unwrap a_2))))
                                                   #f)
                                                 #f)))
                                           #f)))
                                     #f)
                                 (known-foreign-inline rhs_0)
                                 (if (if (eq? '|#%foreign-inline| hd_0)
                                       (let ((a_0 (cdr (unwrap rhs_0))))
                                         (let ((p_0 (unwrap a_0)))
                                           (if (pair? p_0)
                                             (let ((a_1 (cdr p_0)))
                                               (let ((p_1 (unwrap a_1)))
                                                 (if (pair? p_1)
                                                   (if (let ((a_2 (car p_1)))
                                                         (let ((app_0
                                                                (unwrap
                                                                 'copy*)))
                                                           (eq?
                                                            app_0
                                                            (unwrap a_2))))
                                                     (let ((a_2 (cdr p_1)))
                                                       (let ((app_0
                                                              (unwrap '())))
                                                         (eq?
                                                          app_0
                                                          (unwrap a_2))))
                                                     #f)
                                                   #f)))
                                             #f)))
                                       #f)
                                   (known-foreign-inline rhs_0)
                                   (if (if defn3_0
                                         (simple?.1
                                          #f
                                          #t
                                          #t
                                          1
                                          #f
                                          rhs_0
                                          prim-knowns10_0
                                          knowns9_0
                                          imports11_0
                                          mutated12_0
                                          simples13_0
                                          unsafe-mode?14_0)
                                         #f)
                                     a-known-constant
                                     #f)))))))))))))))))
      (loop_0 (if post-schemify?1_0 rhs7_0 (unwrap-let.1 #f rhs7_0)))))))
(define can-improve-infer-known?
  (lambda (k_0)
    (let ((or-part_0 (not k_0)))
      (if or-part_0 or-part_0 (eq? k_0 a-known-constant)))))
(define add-begin-unsafe
  (lambda (lam_0)
    (reannotate
     lam_0
     (let ((hd_0
            (let ((p_0 (unwrap lam_0)))
              (if (pair? p_0) (unwrap (car p_0)) #f))))
       (if (if (eq? 'lambda hd_0)
             (let ((a_0 (cdr (unwrap lam_0))))
               (let ((p_0 (unwrap a_0))) (if (pair? p_0) #t #f)))
             #f)
         (call-with-values
          (lambda ()
            (let ((d_0 (cdr (unwrap lam_0))))
              (let ((p_0 (unwrap d_0)))
                (let ((args_0 (let ((a_0 (car p_0))) a_0)))
                  (let ((body_0 (let ((d_1 (cdr p_0))) d_1)))
                    (let ((args_1 args_0)) (values args_1 body_0)))))))
          (lambda (args_0 body_0)
            (list 'lambda args_0 (list* 'begin-unsafe body_0))))
         (if (if (eq? 'case-lambda hd_0)
               (let ((a_0 (cdr (unwrap lam_0))))
                 (if (wrap-list? a_0)
                   (letrec*
                    ((for-loop_0
                      (|#%name|
                       for-loop
                       (lambda (result_0 lst_0)
                         (if (not (null? (unwrap lst_0)))
                           (let ((v_0
                                  (if (pair? (unwrap lst_0))
                                    (wrap-car lst_0)
                                    lst_0)))
                             (let ((rest_0
                                    (if (pair? (unwrap lst_0))
                                      (wrap-cdr lst_0)
                                      null)))
                               (let ((v_1 v_0))
                                 (let ((result_1
                                        (let ((result_1
                                               (let ((p_0 (unwrap v_1)))
                                                 (if (pair? p_0) #t #f))))
                                          (values result_1))))
                                   (if (if (not
                                            (let ((x_0 (list v_1)))
                                              (not result_1)))
                                         #t
                                         #f)
                                     (for-loop_0 result_1 rest_0)
                                     result_1)))))
                           result_0)))))
                    (for-loop_0 #t a_0))
                   #f))
               #f)
           (call-with-values
            (lambda ()
              (let ((d_0 (cdr (unwrap lam_0))))
                (call-with-values
                 (lambda ()
                   (letrec*
                    ((for-loop_0
                      (|#%name|
                       for-loop
                       (lambda (argss_0 bodys_0 lst_0)
                         (if (not (null? (unwrap lst_0)))
                           (let ((v_0
                                  (if (pair? (unwrap lst_0))
                                    (wrap-car lst_0)
                                    lst_0)))
                             (let ((rest_0
                                    (if (pair? (unwrap lst_0))
                                      (wrap-cdr lst_0)
                                      null)))
                               (let ((v_1 v_0))
                                 (call-with-values
                                  (lambda ()
                                    (call-with-values
                                     (lambda ()
                                       (call-with-values
                                        (lambda ()
                                          (let ((p_0 (unwrap v_1)))
                                            (let ((argss_1
                                                   (let ((a_0 (car p_0)))
                                                     a_0)))
                                              (let ((bodys_1
                                                     (let ((d_1 (cdr p_0)))
                                                       d_1)))
                                                (let ((argss_2 argss_1))
                                                  (values argss_2 bodys_1))))))
                                        (lambda (argss27_0 bodys28_0)
                                          (values
                                           (cons argss27_0 argss_0)
                                           (cons bodys28_0 bodys_0)))))
                                     (lambda (argss_1 bodys_1)
                                       (values argss_1 bodys_1))))
                                  (lambda (argss_1 bodys_1)
                                    (for-loop_0 argss_1 bodys_1 rest_0))))))
                           (values argss_0 bodys_0))))))
                    (for-loop_0 null null d_0)))
                 (lambda (argss_0 bodys_0)
                   (let ((app_0 (reverse$1 argss_0)))
                     (values app_0 (reverse$1 bodys_0)))))))
            (lambda (argss_0 bodys_0)
              (list*
               'case-lambda
               (reverse$1
                (letrec*
                 ((for-loop_0
                   (|#%name|
                    for-loop
                    (lambda (fold-var_0 lst_0 lst_1)
                      (if (if (pair? lst_0) (pair? lst_1) #f)
                        (let ((args_0 (unsafe-car lst_0)))
                          (let ((rest_0 (unsafe-cdr lst_0)))
                            (let ((body_0 (unsafe-car lst_1)))
                              (let ((rest_1 (unsafe-cdr lst_1)))
                                (let ((fold-var_1
                                       (cons
                                        (list
                                         args_0
                                         (list* 'begin-unsafe body_0))
                                        fold-var_0)))
                                  (let ((fold-var_2 (values fold-var_1)))
                                    (for-loop_0 fold-var_2 rest_0 rest_1)))))))
                        fold-var_0)))))
                 (for-loop_0 null argss_0 bodys_0))))))
           lam_0))))))
(define unsafe-body?
  (lambda (expr_0)
    (let ((hd_0
           (let ((p_0 (unwrap expr_0)))
             (if (pair? p_0) (unwrap (car p_0)) #f))))
      (if (if (eq? 'lambda hd_0)
            (let ((a_0 (cdr (unwrap expr_0))))
              (let ((p_0 (unwrap a_0)))
                (if (pair? p_0)
                  (let ((a_1 (cdr p_0)))
                    (let ((p_1 (unwrap a_1)))
                      (if (pair? p_1)
                        (if (let ((a_2 (car p_1)))
                              (let ((p_2 (unwrap a_2)))
                                (if (pair? p_2)
                                  (if (let ((a_3 (car p_2)))
                                        (let ((app_0 (unwrap 'begin-unsafe)))
                                          (eq? app_0 (unwrap a_3))))
                                    #t
                                    #f)
                                  #f)))
                          (let ((a_2 (cdr p_1)))
                            (let ((app_0 (unwrap '())))
                              (eq? app_0 (unwrap a_2))))
                          #f)
                        #f)))
                  #f)))
            #f)
        #t
        (if (if (eq? 'case-lambda hd_0)
              (let ((a_0 (cdr (unwrap expr_0))))
                (if (wrap-list? a_0)
                  (letrec*
                   ((for-loop_0
                     (|#%name|
                      for-loop
                      (lambda (result_0 lst_0)
                        (if (not (null? (unwrap lst_0)))
                          (let ((v_0
                                 (if (pair? (unwrap lst_0))
                                   (wrap-car lst_0)
                                   lst_0)))
                            (let ((rest_0
                                   (if (pair? (unwrap lst_0))
                                     (wrap-cdr lst_0)
                                     null)))
                              (let ((v_1 v_0))
                                (let ((result_1
                                       (let ((result_1
                                              (let ((p_0 (unwrap v_1)))
                                                (if (pair? p_0)
                                                  (let ((a_1 (cdr p_0)))
                                                    (let ((p_1 (unwrap a_1)))
                                                      (if (pair? p_1)
                                                        (if (let ((a_2
                                                                   (car p_1)))
                                                              (let ((p_2
                                                                     (unwrap
                                                                      a_2)))
                                                                (if (pair? p_2)
                                                                  (if (let ((a_3
                                                                             (car
                                                                              p_2)))
                                                                        (let ((app_0
                                                                               (unwrap
                                                                                'begin-unsafe)))
                                                                          (eq?
                                                                           app_0
                                                                           (unwrap
                                                                            a_3))))
                                                                    #t
                                                                    #f)
                                                                  #f)))
                                                          (let ((a_2
                                                                 (cdr p_1)))
                                                            (let ((app_0
                                                                   (unwrap
                                                                    '())))
                                                              (eq?
                                                               app_0
                                                               (unwrap a_2))))
                                                          #f)
                                                        #f)))
                                                  #f))))
                                         (values result_1))))
                                  (if (if (not
                                           (let ((x_0 (list v_1)))
                                             (not result_1)))
                                        #t
                                        #f)
                                    (for-loop_0 result_1 rest_0)
                                    result_1)))))
                          result_0)))))
                   (for-loop_0 #t a_0))
                  #f))
              #f)
          #t
          #f)))))
(define find-definitions.1
  (|#%name|
   find-definitions
   (lambda (compiler-query3_0
            optimize?2_0
            primitives1_0
            v7_0
            prim-knowns8_0
            knowns9_0
            imports10_0
            mutated11_0
            simples12_0
            unsafe-mode?13_0
            target14_0)
     (let ((compiler-query_0
            (if (eq? compiler-query3_0 unsafe-undefined)
              (|#%name| compiler-query (lambda (v_0) #f))
              compiler-query3_0)))
       (let ((nothing_0 (|#%name| nothing (lambda () (values knowns9_0 #f)))))
         (let ((hd_0
                (let ((p_0 (unwrap v7_0)))
                  (if (pair? p_0) (unwrap (car p_0)) #f))))
           (if (if (eq? 'define-values hd_0)
                 (let ((a_0 (cdr (unwrap v7_0))))
                   (let ((p_0 (unwrap a_0)))
                     (if (pair? p_0)
                       (let ((a_1 (cdr p_0)))
                         (let ((p_1 (unwrap a_1)))
                           (if (pair? p_1)
                             (let ((a_2 (cdr p_1)))
                               (let ((app_0 (unwrap '())))
                                 (eq? app_0 (unwrap a_2))))
                             #f)))
                       #f)))
                 #f)
             (call-with-values
              (lambda ()
                (let ((d_0 (cdr (unwrap v7_0))))
                  (let ((p_0 (unwrap d_0)))
                    (let ((ids_0 (let ((a_0 (car p_0))) a_0)))
                      (let ((rhs_0
                             (let ((d_1 (cdr p_0)))
                               (let ((a_0 (car (unwrap d_1)))) a_0))))
                        (let ((ids_1 ids_0)) (values ids_1 rhs_0)))))))
              (lambda (ids_0 rhs_0)
                (let ((new-rhs_0 (unwrap-let.1 #f rhs_0)))
                  (let ((maybe-immediate-values_0
                         (|#%name|
                          maybe-immediate-values
                          (lambda ()
                            (let ((rhss_0
                                   (let ((hd_1
                                          (let ((p_0 (unwrap new-rhs_0)))
                                            (if (pair? p_0)
                                              (unwrap (car p_0))
                                              #f))))
                                     (if (if (eq? 'values hd_1)
                                           (let ((a_0
                                                  (cdr (unwrap new-rhs_0))))
                                             (wrap-list? a_0))
                                           #f)
                                       (let ((rhss_0
                                              (let ((d_0
                                                     (cdr (unwrap new-rhs_0))))
                                                (unwrap-list d_0))))
                                         rhss_0)
                                       (list new-rhs_0)))))
                              (if (let ((app_0 (length ids_0)))
                                    (eqv? app_0 (length rhss_0)))
                                (let ((cross-module-inline?_0
                                       (wrap-property
                                        v7_0
                                        'compiler-hint:cross-module-inline)))
                                  (values
                                   (letrec*
                                    ((for-loop_0
                                      (|#%name|
                                       for-loop
                                       (lambda (knowns_0 lst_0 lst_1)
                                         (if (if (pair? lst_0)
                                               (pair? lst_1)
                                               #f)
                                           (let ((id_0 (unsafe-car lst_0)))
                                             (let ((rest_0 (unsafe-cdr lst_0)))
                                               (let ((rhs_1
                                                      (unsafe-car lst_1)))
                                                 (let ((rest_1
                                                        (unsafe-cdr lst_1)))
                                                   (let ((knowns_1
                                                          (let ((knowns_1
                                                                 (find-one-definition.1
                                                                  compiler-query_0
                                                                  cross-module-inline?_0
                                                                  optimize?2_0
                                                                  primitives1_0
                                                                  id_0
                                                                  rhs_1
                                                                  prim-knowns8_0
                                                                  knowns_0
                                                                  imports10_0
                                                                  mutated11_0
                                                                  simples12_0
                                                                  unsafe-mode?13_0
                                                                  target14_0)))
                                                            (values
                                                             knowns_1))))
                                                     (for-loop_0
                                                      knowns_1
                                                      rest_0
                                                      rest_1))))))
                                           knowns_0)))))
                                    (for-loop_0 knowns9_0 ids_0 rhss_0))
                                   #f))
                                (nothing_0)))))))
                    (let ((v_0 (list ids_0 new-rhs_0)))
                      (if (let ((p_0 (unwrap v_0)))
                            (if (pair? p_0)
                              (if (let ((a_0 (car p_0)))
                                    (let ((p_1 (unwrap a_0)))
                                      (if (pair? p_1)
                                        (let ((a_1 (cdr p_1)))
                                          (let ((p_2 (unwrap a_1)))
                                            (if (pair? p_2)
                                              (let ((a_2 (cdr p_2)))
                                                (let ((p_3 (unwrap a_2)))
                                                  (if (pair? p_3)
                                                    (let ((a_3 (cdr p_3)))
                                                      (wrap-list? a_3))
                                                    #f)))
                                              #f)))
                                        #f)))
                                (let ((a_0 (cdr p_0)))
                                  (let ((p_1 (unwrap a_0)))
                                    (if (pair? p_1)
                                      (if (let ((a_1 (car p_1)))
                                            (let ((p_2 (unwrap a_1)))
                                              (if (pair? p_2)
                                                (if (let ((a_2 (car p_2)))
                                                      (let ((app_0
                                                             (unwrap
                                                              'let-values)))
                                                        (eq?
                                                         app_0
                                                         (unwrap a_2))))
                                                  (let ((a_2 (cdr p_2)))
                                                    (let ((p_3 (unwrap a_2)))
                                                      (if (pair? p_3)
                                                        (if (let ((a_3
                                                                   (car p_3)))
                                                              (let ((p_4
                                                                     (unwrap
                                                                      a_3)))
                                                                (if (pair? p_4)
                                                                  (if (let ((a_4
                                                                             (car
                                                                              p_4)))
                                                                        (let ((p_5
                                                                               (unwrap
                                                                                a_4)))
                                                                          (if (pair?
                                                                               p_5)
                                                                            (if (let ((a_5
                                                                                       (car
                                                                                        p_5)))
                                                                                  (let ((p_6
                                                                                         (unwrap
                                                                                          a_5)))
                                                                                    (if (pair?
                                                                                         p_6)
                                                                                      (let ((a_6
                                                                                             (cdr
                                                                                              p_6)))
                                                                                        (let ((p_7
                                                                                               (unwrap
                                                                                                a_6)))
                                                                                          (if (pair?
                                                                                               p_7)
                                                                                            (let ((a_7
                                                                                                   (cdr
                                                                                                    p_7)))
                                                                                              (let ((p_8
                                                                                                     (unwrap
                                                                                                      a_7)))
                                                                                                (if (pair?
                                                                                                     p_8)
                                                                                                  (let ((a_8
                                                                                                         (cdr
                                                                                                          p_8)))
                                                                                                    (let ((p_9
                                                                                                           (unwrap
                                                                                                            a_8)))
                                                                                                      (if (pair?
                                                                                                           p_9)
                                                                                                        (let ((a_9
                                                                                                               (cdr
                                                                                                                p_9)))
                                                                                                          (let ((p_10
                                                                                                                 (unwrap
                                                                                                                  a_9)))
                                                                                                            (if (pair?
                                                                                                                 p_10)
                                                                                                              (let ((a_10
                                                                                                                     (cdr
                                                                                                                      p_10)))
                                                                                                                (let ((app_0
                                                                                                                       (unwrap
                                                                                                                        '())))
                                                                                                                  (eq?
                                                                                                                   app_0
                                                                                                                   (unwrap
                                                                                                                    a_10))))
                                                                                                              #f)))
                                                                                                        #f)))
                                                                                                  #f)))
                                                                                            #f)))
                                                                                      #f)))
                                                                              (let ((a_5
                                                                                     (cdr
                                                                                      p_5)))
                                                                                (let ((p_6
                                                                                       (unwrap
                                                                                        a_5)))
                                                                                  (if (pair?
                                                                                       p_6)
                                                                                    (let ((a_6
                                                                                           (cdr
                                                                                            p_6)))
                                                                                      (let ((app_0
                                                                                             (unwrap
                                                                                              '())))
                                                                                        (eq?
                                                                                         app_0
                                                                                         (unwrap
                                                                                          a_6))))
                                                                                    #f)))
                                                                              #f)
                                                                            #f)))
                                                                    (let ((a_4
                                                                           (cdr
                                                                            p_4)))
                                                                      (let ((app_0
                                                                             (unwrap
                                                                              '())))
                                                                        (eq?
                                                                         app_0
                                                                         (unwrap
                                                                          a_4))))
                                                                    #f)
                                                                  #f)))
                                                          (let ((a_3
                                                                 (cdr p_3)))
                                                            (let ((p_4
                                                                   (unwrap
                                                                    a_3)))
                                                              (if (pair? p_4)
                                                                (if (let ((a_4
                                                                           (car
                                                                            p_4)))
                                                                      (let ((p_5
                                                                             (unwrap
                                                                              a_4)))
                                                                        (if (pair?
                                                                             p_5)
                                                                          (if (let ((a_5
                                                                                     (car
                                                                                      p_5)))
                                                                                (let ((app_0
                                                                                       (unwrap
                                                                                        'values)))
                                                                                  (eq?
                                                                                   app_0
                                                                                   (unwrap
                                                                                    a_5))))
                                                                            (let ((a_5
                                                                                   (cdr
                                                                                    p_5)))
                                                                              (let ((p_6
                                                                                     (unwrap
                                                                                      a_5)))
                                                                                (if (pair?
                                                                                     p_6)
                                                                                  (let ((a_6
                                                                                         (cdr
                                                                                          p_6)))
                                                                                    (let ((p_7
                                                                                           (unwrap
                                                                                            a_6)))
                                                                                      (if (pair?
                                                                                           p_7)
                                                                                        (let ((a_7
                                                                                               (cdr
                                                                                                p_7)))
                                                                                          (let ((p_8
                                                                                                 (unwrap
                                                                                                  a_7)))
                                                                                            (if (pair?
                                                                                                 p_8)
                                                                                              (let ((a_8
                                                                                                     (cdr
                                                                                                      p_8)))
                                                                                                (wrap-list?
                                                                                                 a_8))
                                                                                              #f)))
                                                                                        #f)))
                                                                                  #f)))
                                                                            #f)
                                                                          #f)))
                                                                  (let ((a_4
                                                                         (cdr
                                                                          p_4)))
                                                                    (let ((app_0
                                                                           (unwrap
                                                                            '())))
                                                                      (eq?
                                                                       app_0
                                                                       (unwrap
                                                                        a_4))))
                                                                  #f)
                                                                #f)))
                                                          #f)
                                                        #f)))
                                                  #f)
                                                #f)))
                                        (let ((a_1 (cdr p_1)))
                                          (let ((app_0 (unwrap '())))
                                            (eq? app_0 (unwrap a_1))))
                                        #f)
                                      #f)))
                                #f)
                              #f))
                        (call-with-values
                         (lambda ()
                           (let ((p_0 (unwrap v_0)))
                             (call-with-values
                              (lambda ()
                                (let ((a_0 (car p_0)))
                                  (let ((p_1 (unwrap a_0)))
                                    (let ((struct:s_0
                                           (let ((a_1 (car p_1))) a_1)))
                                      (call-with-values
                                       (lambda ()
                                         (let ((d_0 (cdr p_1)))
                                           (let ((p_2 (unwrap d_0)))
                                             (let ((make-s_0
                                                    (let ((a_1 (car p_2)))
                                                      a_1)))
                                               (call-with-values
                                                (lambda ()
                                                  (let ((d_1 (cdr p_2)))
                                                    (let ((p_3 (unwrap d_1)))
                                                      (let ((s?_0
                                                             (let ((a_1
                                                                    (car p_3)))
                                                               a_1)))
                                                        (let ((acc/muts_0
                                                               (let ((d_2
                                                                      (cdr
                                                                       p_3)))
                                                                 (unwrap-list
                                                                  d_2))))
                                                          (let ((s?_1 s?_0))
                                                            (values
                                                             s?_1
                                                             acc/muts_0)))))))
                                                (lambda (s?_0 acc/muts_0)
                                                  (let ((make-s_1 make-s_0))
                                                    (values
                                                     make-s_1
                                                     s?_0
                                                     acc/muts_0))))))))
                                       (lambda (make-s_0 s?_0 acc/muts_0)
                                         (let ((struct:s_1 struct:s_0))
                                           (values
                                            struct:s_1
                                            make-s_0
                                            s?_0
                                            acc/muts_0))))))))
                              (lambda (struct:s_0 make-s_0 s?_0 acc/muts_0)
                                (call-with-values
                                 (lambda ()
                                   (let ((d_0 (cdr p_0)))
                                     (let ((a_0 (car (unwrap d_0))))
                                       (let ((d_1 (cdr (unwrap a_0))))
                                         (let ((p_1 (unwrap d_1)))
                                           (call-with-values
                                            (lambda ()
                                              (let ((a_1 (car p_1)))
                                                (let ((a_2 (car (unwrap a_1))))
                                                  (let ((p_2 (unwrap a_2)))
                                                    (call-with-values
                                                     (lambda ()
                                                       (let ((a_3 (car p_2)))
                                                         (let ((p_3
                                                                (unwrap a_3)))
                                                           (let ((struct:_0
                                                                  (let ((a_4
                                                                         (car
                                                                          p_3)))
                                                                    a_4)))
                                                             (call-with-values
                                                              (lambda ()
                                                                (let ((d_2
                                                                       (cdr
                                                                        p_3)))
                                                                  (let ((p_4
                                                                         (unwrap
                                                                          d_2)))
                                                                    (let ((make_0
                                                                           (let ((a_4
                                                                                  (car
                                                                                   p_4)))
                                                                             a_4)))
                                                                      (call-with-values
                                                                       (lambda ()
                                                                         (let ((d_3
                                                                                (cdr
                                                                                 p_4)))
                                                                           (let ((p_5
                                                                                  (unwrap
                                                                                   d_3)))
                                                                             (let ((?_0
                                                                                    (let ((a_4
                                                                                           (car
                                                                                            p_5)))
                                                                                      a_4)))
                                                                               (call-with-values
                                                                                (lambda ()
                                                                                  (let ((d_4
                                                                                         (cdr
                                                                                          p_5)))
                                                                                    (let ((p_6
                                                                                           (unwrap
                                                                                            d_4)))
                                                                                      (let ((-ref_0
                                                                                             (let ((a_4
                                                                                                    (car
                                                                                                     p_6)))
                                                                                               a_4)))
                                                                                        (let ((-set!_0
                                                                                               (let ((d_5
                                                                                                      (cdr
                                                                                                       p_6)))
                                                                                                 (let ((a_4
                                                                                                        (car
                                                                                                         (unwrap
                                                                                                          d_5))))
                                                                                                   a_4))))
                                                                                          (let ((-ref_1
                                                                                                 -ref_0))
                                                                                            (values
                                                                                             -ref_1
                                                                                             -set!_0)))))))
                                                                                (lambda (-ref_0
                                                                                         -set!_0)
                                                                                  (let ((?_1
                                                                                         ?_0))
                                                                                    (values
                                                                                     ?_1
                                                                                     -ref_0
                                                                                     -set!_0))))))))
                                                                       (lambda (?_0
                                                                                -ref_0
                                                                                -set!_0)
                                                                         (let ((make_1
                                                                                make_0))
                                                                           (values
                                                                            make_1
                                                                            ?_0
                                                                            -ref_0
                                                                            -set!_0))))))))
                                                              (lambda (make_0
                                                                       ?_0
                                                                       -ref_0
                                                                       -set!_0)
                                                                (let ((struct:_1
                                                                       struct:_0))
                                                                  (values
                                                                   struct:_1
                                                                   make_0
                                                                   ?_0
                                                                   -ref_0
                                                                   -set!_0))))))))
                                                     (lambda (struct:_0
                                                              make_0
                                                              ?_0
                                                              -ref_0
                                                              -set!_0)
                                                       (let ((rhs_1
                                                              (let ((d_2
                                                                     (cdr
                                                                      p_2)))
                                                                (let ((a_3
                                                                       (car
                                                                        (unwrap
                                                                         d_2))))
                                                                  a_3))))
                                                         (let ((struct:_1
                                                                struct:_0)
                                                               (make_1 make_0)
                                                               (?_1 ?_0)
                                                               (-ref_1 -ref_0)
                                                               (-set!_1
                                                                -set!_0))
                                                           (values
                                                            struct:_1
                                                            make_1
                                                            ?_1
                                                            -ref_1
                                                            -set!_1
                                                            rhs_1)))))))))
                                            (lambda (struct:_0
                                                     make_0
                                                     ?_0
                                                     -ref_0
                                                     -set!_0
                                                     rhs_1)
                                              (call-with-values
                                               (lambda ()
                                                 (let ((d_2 (cdr p_1)))
                                                   (let ((a_1
                                                          (car (unwrap d_2))))
                                                     (let ((d_3
                                                            (cdr
                                                             (unwrap a_1))))
                                                       (let ((p_2
                                                              (unwrap d_3)))
                                                         (let ((struct:2_0
                                                                (let ((a_2
                                                                       (car
                                                                        p_2)))
                                                                  a_2)))
                                                           (call-with-values
                                                            (lambda ()
                                                              (let ((d_4
                                                                     (cdr
                                                                      p_2)))
                                                                (let ((p_3
                                                                       (unwrap
                                                                        d_4)))
                                                                  (let ((make2_0
                                                                         (let ((a_2
                                                                                (car
                                                                                 p_3)))
                                                                           a_2)))
                                                                    (call-with-values
                                                                     (lambda ()
                                                                       (let ((d_5
                                                                              (cdr
                                                                               p_3)))
                                                                         (let ((p_4
                                                                                (unwrap
                                                                                 d_5)))
                                                                           (let ((?2_0
                                                                                  (let ((a_2
                                                                                         (car
                                                                                          p_4)))
                                                                                    a_2)))
                                                                             (let ((make-acc/muts_0
                                                                                    (let ((d_6
                                                                                           (cdr
                                                                                            p_4)))
                                                                                      (unwrap-list
                                                                                       d_6))))
                                                                               (let ((?2_1
                                                                                      ?2_0))
                                                                                 (values
                                                                                  ?2_1
                                                                                  make-acc/muts_0)))))))
                                                                     (lambda (?2_0
                                                                              make-acc/muts_0)
                                                                       (let ((make2_1
                                                                              make2_0))
                                                                         (values
                                                                          make2_1
                                                                          ?2_0
                                                                          make-acc/muts_0))))))))
                                                            (lambda (make2_0
                                                                     ?2_0
                                                                     make-acc/muts_0)
                                                              (let ((struct:2_1
                                                                     struct:2_0))
                                                                (values
                                                                 struct:2_1
                                                                 make2_0
                                                                 ?2_0
                                                                 make-acc/muts_0))))))))))
                                               (lambda (struct:2_0
                                                        make2_0
                                                        ?2_0
                                                        make-acc/muts_0)
                                                 (let ((struct:_1 struct:_0)
                                                       (make_1 make_0)
                                                       (?_1 ?_0)
                                                       (-ref_1 -ref_0)
                                                       (-set!_1 -set!_0)
                                                       (rhs_2 rhs_1))
                                                   (values
                                                    struct:_1
                                                    make_1
                                                    ?_1
                                                    -ref_1
                                                    -set!_1
                                                    rhs_2
                                                    struct:2_0
                                                    make2_0
                                                    ?2_0
                                                    make-acc/muts_0)))))))))))
                                 (lambda (struct:_0
                                          make_0
                                          ?_0
                                          -ref_0
                                          -set!_0
                                          rhs_1
                                          struct:2_0
                                          make2_0
                                          ?2_0
                                          make-acc/muts_0)
                                   (let ((struct:s_1 struct:s_0)
                                         (make-s_1 make-s_0)
                                         (s?_1 s?_0)
                                         (acc/muts_1 acc/muts_0))
                                     (values
                                      struct:s_1
                                      make-s_1
                                      s?_1
                                      acc/muts_1
                                      struct:_0
                                      make_0
                                      ?_0
                                      -ref_0
                                      -set!_0
                                      rhs_1
                                      struct:2_0
                                      make2_0
                                      ?2_0
                                      make-acc/muts_0))))))))
                         (lambda (struct:s_0
                                  make-s_0
                                  s?_0
                                  acc/muts_0
                                  struct:_0
                                  make_0
                                  ?_0
                                  -ref_0
                                  -set!_0
                                  rhs_1
                                  struct:2_0
                                  make2_0
                                  ?2_0
                                  make-acc/muts_0)
                           (let ((info_0
                                  (if (let ((app_0 (unwrap struct:_0)))
                                        (eq? app_0 (unwrap struct:2_0)))
                                    (if (let ((app_0 (unwrap make_0)))
                                          (eq? app_0 (unwrap make2_0)))
                                      (if (let ((app_0 (unwrap ?_0)))
                                            (eq? app_0 (unwrap ?2_0)))
                                        (make-struct-type-info
                                         rhs_1
                                         prim-knowns8_0
                                         knowns9_0
                                         imports10_0
                                         mutated11_0)
                                        #f)
                                      #f)
                                    #f)))
                             (if info_0
                               (let ((type_0
                                      (string->uninterned-symbol
                                       (symbol->string (unwrap make-s_0)))))
                                 (let ((knowns_0
                                        (let ((app_0 (unwrap make-s_0)))
                                          (hash-set
                                           knowns9_0
                                           app_0
                                           (if (struct-type-info-pure-constructor?
                                                info_0)
                                             (known-struct-constructor
                                              (arithmetic-shift
                                               1
                                               (struct-type-info-field-count
                                                info_0))
                                              type_0
                                              struct:s_0)
                                             a-known-constant)))))
                                   (let ((authentic?_0
                                          (struct-type-info-authentic?
                                           info_0)))
                                     (let ((sealed?_0
                                            (struct-type-info-sealed? info_0)))
                                       (let ((knowns_1
                                              (let ((app_0 (unwrap s?_0)))
                                                (hash-set
                                                 knowns_0
                                                 app_0
                                                 (known-struct-predicate
                                                  2
                                                  type_0
                                                  struct:s_0
                                                  authentic?_0
                                                  sealed?_0)))))
                                         (let ((knowns_2
                                                (let ((immediate-count_0
                                                       (struct-type-info-immediate-field-count
                                                        info_0)))
                                                  (let ((parent-count_0
                                                         (-
                                                          (struct-type-info-field-count
                                                           info_0)
                                                          immediate-count_0)))
                                                    (let ((ok-contract-expr?_0
                                                           (|#%name|
                                                            ok-contract-expr?
                                                            (lambda (ctc_0)
                                                              (let ((hd_1
                                                                     (let ((p_0
                                                                            (unwrap
                                                                             ctc_0)))
                                                                       (if (pair?
                                                                            p_0)
                                                                         (unwrap
                                                                          (car
                                                                           p_0))
                                                                         #f))))
                                                                (if (if (eq?
                                                                         'quote
                                                                         hd_1)
                                                                      (let ((a_0
                                                                             (cdr
                                                                              (unwrap
                                                                               ctc_0))))
                                                                        (let ((p_0
                                                                               (unwrap
                                                                                a_0)))
                                                                          (if (pair?
                                                                               p_0)
                                                                            (let ((a_1
                                                                                   (cdr
                                                                                    p_0)))
                                                                              (let ((app_0
                                                                                     (unwrap
                                                                                      '())))
                                                                                (eq?
                                                                                 app_0
                                                                                 (unwrap
                                                                                  a_1))))
                                                                            #f)))
                                                                      #f)
                                                                  (let ((ctc_1
                                                                         (let ((d_0
                                                                                (cdr
                                                                                 (unwrap
                                                                                  ctc_0))))
                                                                           (let ((a_0
                                                                                  (car
                                                                                   (unwrap
                                                                                    d_0))))
                                                                             a_0))))
                                                                    (let ((or-part_0
                                                                           (string?
                                                                            ctc_1)))
                                                                      (if or-part_0
                                                                        or-part_0
                                                                        (let ((or-part_1
                                                                               (symbol?
                                                                                ctc_1)))
                                                                          (if or-part_1
                                                                            or-part_1
                                                                            (not
                                                                             ctc_1))))))
                                                                  (let ((or-part_0
                                                                         (string?
                                                                          ctc_0)))
                                                                    (if or-part_0
                                                                      or-part_0
                                                                      (not
                                                                       ctc_0)))))))))
                                                      (let ((ok-error-config?_0
                                                             (|#%name|
                                                              ok-error-config?
                                                              (lambda (more_0)
                                                                (if (let ((app_0
                                                                           (unwrap
                                                                            '())))
                                                                      (eq?
                                                                       app_0
                                                                       (unwrap
                                                                        more_0)))
                                                                  #t
                                                                  (if (let ((p_0
                                                                             (unwrap
                                                                              more_0)))
                                                                        (if (pair?
                                                                             p_0)
                                                                          (let ((a_0
                                                                                 (cdr
                                                                                  p_0)))
                                                                            (let ((app_0
                                                                                   (unwrap
                                                                                    '())))
                                                                              (eq?
                                                                               app_0
                                                                               (unwrap
                                                                                a_0))))
                                                                          #f))
                                                                    (let ((ctc_0
                                                                           (let ((a_0
                                                                                  (car
                                                                                   (unwrap
                                                                                    more_0))))
                                                                             a_0)))
                                                                      (ok-contract-expr?_0
                                                                       ctc_0))
                                                                    (if (let ((p_0
                                                                               (unwrap
                                                                                more_0)))
                                                                          (if (pair?
                                                                               p_0)
                                                                            (let ((a_0
                                                                                   (cdr
                                                                                    p_0)))
                                                                              (let ((p_1
                                                                                     (unwrap
                                                                                      a_0)))
                                                                                (if (pair?
                                                                                     p_1)
                                                                                  (if (let ((a_1
                                                                                             (car
                                                                                              p_1)))
                                                                                        (let ((p_2
                                                                                               (unwrap
                                                                                                a_1)))
                                                                                          (if (pair?
                                                                                               p_2)
                                                                                            (if (let ((a_2
                                                                                                       (car
                                                                                                        p_2)))
                                                                                                  (let ((app_0
                                                                                                         (unwrap
                                                                                                          'quote)))
                                                                                                    (eq?
                                                                                                     app_0
                                                                                                     (unwrap
                                                                                                      a_2))))
                                                                                              (let ((a_2
                                                                                                     (cdr
                                                                                                      p_2)))
                                                                                                (let ((p_3
                                                                                                       (unwrap
                                                                                                        a_2)))
                                                                                                  (if (pair?
                                                                                                       p_3)
                                                                                                    (let ((a_3
                                                                                                           (cdr
                                                                                                            p_3)))
                                                                                                      (let ((app_0
                                                                                                             (unwrap
                                                                                                              '())))
                                                                                                        (eq?
                                                                                                         app_0
                                                                                                         (unwrap
                                                                                                          a_3))))
                                                                                                    #f)))
                                                                                              #f)
                                                                                            #f)))
                                                                                    (let ((a_1
                                                                                           (cdr
                                                                                            p_1)))
                                                                                      (let ((app_0
                                                                                             (unwrap
                                                                                              '())))
                                                                                        (eq?
                                                                                         app_0
                                                                                         (unwrap
                                                                                          a_1))))
                                                                                    #f)
                                                                                  #f)))
                                                                            #f))
                                                                      (call-with-values
                                                                       (lambda ()
                                                                         (let ((p_0
                                                                                (unwrap
                                                                                 more_0)))
                                                                           (let ((ctc_0
                                                                                  (let ((a_0
                                                                                         (car
                                                                                          p_0)))
                                                                                    a_0)))
                                                                             (let ((realm_0
                                                                                    (let ((d_0
                                                                                           (cdr
                                                                                            p_0)))
                                                                                      (let ((a_0
                                                                                             (car
                                                                                              (unwrap
                                                                                               d_0))))
                                                                                        (let ((d_1
                                                                                               (cdr
                                                                                                (unwrap
                                                                                                 a_0))))
                                                                                          (let ((a_1
                                                                                                 (car
                                                                                                  (unwrap
                                                                                                   d_1))))
                                                                                            a_1))))))
                                                                               (let ((ctc_1
                                                                                      ctc_0))
                                                                                 (values
                                                                                  ctc_1
                                                                                  realm_0))))))
                                                                       (lambda (ctc_0
                                                                                realm_0)
                                                                         (if (ok-contract-expr?_0
                                                                              ctc_0)
                                                                           (symbol?
                                                                            realm_0)
                                                                           #f)))
                                                                      #f)))))))
                                                        (letrec*
                                                         ((for-loop_0
                                                           (|#%name|
                                                            for-loop
                                                            (lambda (knowns_2
                                                                     lst_0
                                                                     lst_1)
                                                              (if (if (pair?
                                                                       lst_0)
                                                                    (pair?
                                                                     lst_1)
                                                                    #f)
                                                                (let ((id_0
                                                                       (unsafe-car
                                                                        lst_0)))
                                                                  (let ((rest_0
                                                                         (unsafe-cdr
                                                                          lst_0)))
                                                                    (let ((maker_0
                                                                           (unsafe-car
                                                                            lst_1)))
                                                                      (let ((rest_1
                                                                             (unsafe-cdr
                                                                              lst_1)))
                                                                        (let ((knowns_3
                                                                               (let ((knowns_3
                                                                                      (if (let ((p_0
                                                                                                 (unwrap
                                                                                                  maker_0)))
                                                                                            (if (pair?
                                                                                                 p_0)
                                                                                              (let ((a_0
                                                                                                     (cdr
                                                                                                      p_0)))
                                                                                                (let ((p_1
                                                                                                       (unwrap
                                                                                                        a_0)))
                                                                                                  (if (pair?
                                                                                                       p_1)
                                                                                                    (let ((a_1
                                                                                                           (cdr
                                                                                                            p_1)))
                                                                                                      (let ((p_2
                                                                                                             (unwrap
                                                                                                              a_1)))
                                                                                                        (if (pair?
                                                                                                             p_2)
                                                                                                          (let ((a_2
                                                                                                                 (cdr
                                                                                                                  p_2)))
                                                                                                            (let ((p_3
                                                                                                                   (unwrap
                                                                                                                    a_2)))
                                                                                                              (if (pair?
                                                                                                                   p_3)
                                                                                                                (if (let ((a_3
                                                                                                                           (car
                                                                                                                            p_3)))
                                                                                                                      (let ((p_4
                                                                                                                             (unwrap
                                                                                                                              a_3)))
                                                                                                                        (if (pair?
                                                                                                                             p_4)
                                                                                                                          (if (let ((a_4
                                                                                                                                     (car
                                                                                                                                      p_4)))
                                                                                                                                (let ((app_0
                                                                                                                                       (unwrap
                                                                                                                                        'quote)))
                                                                                                                                  (eq?
                                                                                                                                   app_0
                                                                                                                                   (unwrap
                                                                                                                                    a_4))))
                                                                                                                            (let ((a_4
                                                                                                                                   (cdr
                                                                                                                                    p_4)))
                                                                                                                              (let ((p_5
                                                                                                                                     (unwrap
                                                                                                                                      a_4)))
                                                                                                                                (if (pair?
                                                                                                                                     p_5)
                                                                                                                                  (let ((a_5
                                                                                                                                         (cdr
                                                                                                                                          p_5)))
                                                                                                                                    (let ((app_0
                                                                                                                                           (unwrap
                                                                                                                                            '())))
                                                                                                                                      (eq?
                                                                                                                                       app_0
                                                                                                                                       (unwrap
                                                                                                                                        a_5))))
                                                                                                                                  #f)))
                                                                                                                            #f)
                                                                                                                          #f)))
                                                                                                                  #t
                                                                                                                  #f)
                                                                                                                #f)))
                                                                                                          #f)))
                                                                                                    #f)))
                                                                                              #f))
                                                                                        (call-with-values
                                                                                         (lambda ()
                                                                                           (let ((p_0
                                                                                                  (unwrap
                                                                                                   maker_0)))
                                                                                             (let ((make_1
                                                                                                    (let ((a_0
                                                                                                           (car
                                                                                                            p_0)))
                                                                                                      a_0)))
                                                                                               (call-with-values
                                                                                                (lambda ()
                                                                                                  (let ((d_0
                                                                                                         (cdr
                                                                                                          p_0)))
                                                                                                    (let ((p_1
                                                                                                           (unwrap
                                                                                                            d_0)))
                                                                                                      (let ((ref-or-set_0
                                                                                                             (let ((a_0
                                                                                                                    (car
                                                                                                                     p_1)))
                                                                                                               a_0)))
                                                                                                        (call-with-values
                                                                                                         (lambda ()
                                                                                                           (let ((d_1
                                                                                                                  (cdr
                                                                                                                   p_1)))
                                                                                                             (let ((p_2
                                                                                                                    (unwrap
                                                                                                                     d_1)))
                                                                                                               (let ((pos_0
                                                                                                                      (let ((a_0
                                                                                                                             (car
                                                                                                                              p_2)))
                                                                                                                        a_0)))
                                                                                                                 (call-with-values
                                                                                                                  (lambda ()
                                                                                                                    (let ((d_2
                                                                                                                           (cdr
                                                                                                                            p_2)))
                                                                                                                      (let ((p_3
                                                                                                                             (unwrap
                                                                                                                              d_2)))
                                                                                                                        (let ((name_0
                                                                                                                               (let ((a_0
                                                                                                                                      (car
                                                                                                                                       p_3)))
                                                                                                                                 (let ((d_3
                                                                                                                                        (cdr
                                                                                                                                         (unwrap
                                                                                                                                          a_0))))
                                                                                                                                   (let ((a_1
                                                                                                                                          (car
                                                                                                                                           (unwrap
                                                                                                                                            d_3))))
                                                                                                                                     a_1)))))
                                                                                                                          (let ((more_0
                                                                                                                                 (let ((d_3
                                                                                                                                        (cdr
                                                                                                                                         p_3)))
                                                                                                                                   d_3)))
                                                                                                                            (let ((name_1
                                                                                                                                   name_0))
                                                                                                                              (values
                                                                                                                               name_1
                                                                                                                               more_0)))))))
                                                                                                                  (lambda (name_0
                                                                                                                           more_0)
                                                                                                                    (let ((pos_1
                                                                                                                           pos_0))
                                                                                                                      (values
                                                                                                                       pos_1
                                                                                                                       name_0
                                                                                                                       more_0))))))))
                                                                                                         (lambda (pos_0
                                                                                                                  name_0
                                                                                                                  more_0)
                                                                                                           (let ((ref-or-set_1
                                                                                                                  ref-or-set_0))
                                                                                                             (values
                                                                                                              ref-or-set_1
                                                                                                              pos_0
                                                                                                              name_0
                                                                                                              more_0))))))))
                                                                                                (lambda (ref-or-set_0
                                                                                                         pos_0
                                                                                                         name_0
                                                                                                         more_0)
                                                                                                  (let ((make_2
                                                                                                         make_1))
                                                                                                    (values
                                                                                                     make_2
                                                                                                     ref-or-set_0
                                                                                                     pos_0
                                                                                                     name_0
                                                                                                     more_0)))))))
                                                                                         (lambda (make_1
                                                                                                  ref-or-set_0
                                                                                                  pos_0
                                                                                                  name_0
                                                                                                  more_0)
                                                                                           (let ((or-part_0
                                                                                                  (if (ok-error-config?_0
                                                                                                       more_0)
                                                                                                    (if (exact-nonnegative-integer?
                                                                                                         pos_0)
                                                                                                      (if (<
                                                                                                           pos_0
                                                                                                           immediate-count_0)
                                                                                                        (if (symbol?
                                                                                                             name_0)
                                                                                                          (if (if (let ((app_0
                                                                                                                         (unwrap
                                                                                                                          make_1)))
                                                                                                                    (eq?
                                                                                                                     app_0
                                                                                                                     (unwrap
                                                                                                                      'make-struct-field-accessor)))
                                                                                                                (let ((app_0
                                                                                                                       (unwrap
                                                                                                                        ref-or-set_0)))
                                                                                                                  (eq?
                                                                                                                   app_0
                                                                                                                   (unwrap
                                                                                                                    -ref_0)))
                                                                                                                #f)
                                                                                                            (let ((immutable?_0
                                                                                                                   (memv
                                                                                                                    pos_0
                                                                                                                    (let ((or-part_0
                                                                                                                           (struct-type-info-prefab-immutables
                                                                                                                            info_0)))
                                                                                                                      (if or-part_0
                                                                                                                        or-part_0
                                                                                                                        (let ((or-part_1
                                                                                                                               (struct-type-info-non-prefab-immutables
                                                                                                                                info_0)))
                                                                                                                          (if or-part_1
                                                                                                                            or-part_1
                                                                                                                            '())))))))
                                                                                                              (let ((app_0
                                                                                                                     (unwrap
                                                                                                                      id_0)))
                                                                                                                (hash-set
                                                                                                                 knowns_2
                                                                                                                 app_0
                                                                                                                 (known-field-accessor
                                                                                                                  2
                                                                                                                  type_0
                                                                                                                  struct:s_0
                                                                                                                  authentic?_0
                                                                                                                  (+
                                                                                                                   parent-count_0
                                                                                                                   pos_0)
                                                                                                                  immutable?_0))))
                                                                                                            (if (if (let ((app_0
                                                                                                                           (unwrap
                                                                                                                            make_1)))
                                                                                                                      (eq?
                                                                                                                       app_0
                                                                                                                       (unwrap
                                                                                                                        'make-struct-field-mutator)))
                                                                                                                  (let ((app_0
                                                                                                                         (unwrap
                                                                                                                          ref-or-set_0)))
                                                                                                                    (eq?
                                                                                                                     app_0
                                                                                                                     (unwrap
                                                                                                                      -set!_0)))
                                                                                                                  #f)
                                                                                                              (let ((app_0
                                                                                                                     (unwrap
                                                                                                                      id_0)))
                                                                                                                (hash-set
                                                                                                                 knowns_2
                                                                                                                 app_0
                                                                                                                 (known-field-mutator
                                                                                                                  4
                                                                                                                  type_0
                                                                                                                  struct:s_0
                                                                                                                  authentic?_0
                                                                                                                  (+
                                                                                                                   parent-count_0
                                                                                                                   pos_0))))
                                                                                                              knowns_2))
                                                                                                          #f)
                                                                                                        #f)
                                                                                                      #f)
                                                                                                    #f)))
                                                                                             (if or-part_0
                                                                                               or-part_0
                                                                                               knowns_2))))
                                                                                        knowns_2)))
                                                                                 (values
                                                                                  knowns_3))))
                                                                          (for-loop_0
                                                                           knowns_3
                                                                           rest_0
                                                                           rest_1))))))
                                                                knowns_2)))))
                                                         (for-loop_0
                                                          knowns_1
                                                          acc/muts_0
                                                          make-acc/muts_0))))))))
                                           (values
                                            (let ((app_0 (unwrap struct:s_0)))
                                              (hash-set
                                               knowns_2
                                               app_0
                                               (known-struct-type
                                                type_0
                                                (struct-type-info-field-count
                                                 info_0)
                                                (struct-type-info-pure-constructor?
                                                 info_0)
                                                (struct-type-info-sealed?
                                                 info_0))))
                                            info_0)))))))
                               (nothing_0)))))
                        (if (let ((p_0 (unwrap v_0)))
                              (if (pair? p_0)
                                (if (let ((a_0 (car p_0)))
                                      (let ((p_1 (unwrap a_0)))
                                        (if (pair? p_1)
                                          (let ((a_1 (cdr p_1)))
                                            (let ((p_2 (unwrap a_1)))
                                              (if (pair? p_2)
                                                (let ((a_2 (cdr p_2)))
                                                  (let ((p_3 (unwrap a_2)))
                                                    (if (pair? p_3)
                                                      (let ((a_3 (cdr p_3)))
                                                        (let ((p_4
                                                               (unwrap a_3)))
                                                          (if (pair? p_4)
                                                            (let ((a_4
                                                                   (cdr p_4)))
                                                              (let ((p_5
                                                                     (unwrap
                                                                      a_4)))
                                                                (if (pair? p_5)
                                                                  (let ((a_5
                                                                         (cdr
                                                                          p_5)))
                                                                    (let ((app_0
                                                                           (unwrap
                                                                            '())))
                                                                      (eq?
                                                                       app_0
                                                                       (unwrap
                                                                        a_5))))
                                                                  #f)))
                                                            #f)))
                                                      #f)))
                                                #f)))
                                          #f)))
                                  (let ((a_0 (cdr p_0)))
                                    (let ((p_1 (unwrap a_0)))
                                      (if (pair? p_1)
                                        (let ((a_1 (cdr p_1)))
                                          (let ((app_0 (unwrap '())))
                                            (eq? app_0 (unwrap a_1))))
                                        #f)))
                                  #f)
                                #f))
                          (call-with-values
                           (lambda ()
                             (let ((p_0 (unwrap v_0)))
                               (call-with-values
                                (lambda ()
                                  (let ((a_0 (car p_0)))
                                    (let ((p_1 (unwrap a_0)))
                                      (let ((struct:s_0
                                             (let ((a_1 (car p_1))) a_1)))
                                        (call-with-values
                                         (lambda ()
                                           (let ((d_0 (cdr p_1)))
                                             (let ((p_2 (unwrap d_0)))
                                               (let ((make-s_0
                                                      (let ((a_1 (car p_2)))
                                                        a_1)))
                                                 (call-with-values
                                                  (lambda ()
                                                    (let ((d_1 (cdr p_2)))
                                                      (let ((p_3 (unwrap d_1)))
                                                        (let ((s?_0
                                                               (let ((a_1
                                                                      (car
                                                                       p_3)))
                                                                 a_1)))
                                                          (call-with-values
                                                           (lambda ()
                                                             (let ((d_2
                                                                    (cdr p_3)))
                                                               (let ((p_4
                                                                      (unwrap
                                                                       d_2)))
                                                                 (let ((s-ref_0
                                                                        (let ((a_1
                                                                               (car
                                                                                p_4)))
                                                                          a_1)))
                                                                   (let ((s-set!_0
                                                                          (let ((d_3
                                                                                 (cdr
                                                                                  p_4)))
                                                                            (let ((a_1
                                                                                   (car
                                                                                    (unwrap
                                                                                     d_3))))
                                                                              a_1))))
                                                                     (let ((s-ref_1
                                                                            s-ref_0))
                                                                       (values
                                                                        s-ref_1
                                                                        s-set!_0)))))))
                                                           (lambda (s-ref_0
                                                                    s-set!_0)
                                                             (let ((s?_1 s?_0))
                                                               (values
                                                                s?_1
                                                                s-ref_0
                                                                s-set!_0))))))))
                                                  (lambda (s?_0
                                                           s-ref_0
                                                           s-set!_0)
                                                    (let ((make-s_1 make-s_0))
                                                      (values
                                                       make-s_1
                                                       s?_0
                                                       s-ref_0
                                                       s-set!_0))))))))
                                         (lambda (make-s_0
                                                  s?_0
                                                  s-ref_0
                                                  s-set!_0)
                                           (let ((struct:s_1 struct:s_0))
                                             (values
                                              struct:s_1
                                              make-s_0
                                              s?_0
                                              s-ref_0
                                              s-set!_0))))))))
                                (lambda (struct:s_0
                                         make-s_0
                                         s?_0
                                         s-ref_0
                                         s-set!_0)
                                  (let ((rhs_1
                                         (let ((d_0 (cdr p_0)))
                                           (let ((a_0 (car (unwrap d_0))))
                                             a_0))))
                                    (let ((struct:s_1 struct:s_0)
                                          (make-s_1 make-s_0)
                                          (s?_1 s?_0)
                                          (s-ref_1 s-ref_0)
                                          (s-set!_1 s-set!_0))
                                      (values
                                       struct:s_1
                                       make-s_1
                                       s?_1
                                       s-ref_1
                                       s-set!_1
                                       rhs_1)))))))
                           (lambda (struct:s_0
                                    make-s_0
                                    s?_0
                                    s-ref_0
                                    s-set!_0
                                    rhs_1)
                             (let ((info_0
                                    (make-struct-type-info
                                     rhs_1
                                     prim-knowns8_0
                                     knowns9_0
                                     imports10_0
                                     mutated11_0)))
                               (if info_0
                                 (let ((type_0
                                        (string->uninterned-symbol
                                         (symbol->string (unwrap make-s_0)))))
                                   (values
                                    (let ((knowns_0
                                           (let ((app_0 (unwrap make-s_0)))
                                             (hash-set
                                              knowns9_0
                                              app_0
                                              (if (struct-type-info-pure-constructor?
                                                   info_0)
                                                (known-constructor
                                                 (arithmetic-shift
                                                  1
                                                  (struct-type-info-field-count
                                                   info_0))
                                                 type_0)
                                                a-known-constant)))))
                                      (let ((knowns_1
                                             (let ((app_0 (unwrap s?_0)))
                                               (hash-set
                                                knowns_0
                                                app_0
                                                (known-struct-predicate
                                                 2
                                                 type_0
                                                 struct:s_0
                                                 (struct-type-info-authentic?
                                                  info_0)
                                                 (struct-type-info-sealed?
                                                  info_0))))))
                                        (let ((app_0 (unwrap struct:s_0)))
                                          (hash-set
                                           knowns_1
                                           app_0
                                           (known-struct-type
                                            type_0
                                            (struct-type-info-field-count
                                             info_0)
                                            (struct-type-info-pure-constructor?
                                             info_0)
                                            (struct-type-info-sealed?
                                             info_0))))))
                                    info_0))
                                 (maybe-immediate-values_0)))))
                          (if (let ((p_0 (unwrap v_0)))
                                (if (pair? p_0)
                                  (if (let ((a_0 (car p_0)))
                                        (let ((p_1 (unwrap a_0)))
                                          (if (pair? p_1)
                                            (let ((a_1 (cdr p_1)))
                                              (let ((p_2 (unwrap a_1)))
                                                (if (pair? p_2)
                                                  (let ((a_2 (cdr p_2)))
                                                    (let ((p_3 (unwrap a_2)))
                                                      (if (pair? p_3)
                                                        (let ((a_3 (cdr p_3)))
                                                          (let ((app_0
                                                                 (unwrap '())))
                                                            (eq?
                                                             app_0
                                                             (unwrap a_3))))
                                                        #f)))
                                                  #f)))
                                            #f)))
                                    (let ((a_0 (cdr p_0)))
                                      (let ((p_1 (unwrap a_0)))
                                        (if (pair? p_1)
                                          (if (let ((a_1 (car p_1)))
                                                (let ((p_2 (unwrap a_1)))
                                                  (if (pair? p_2)
                                                    (if (let ((a_2 (car p_2)))
                                                          (let ((app_0
                                                                 (unwrap
                                                                  'make-struct-type-property)))
                                                            (eq?
                                                             app_0
                                                             (unwrap a_2))))
                                                      (let ((a_2 (cdr p_2)))
                                                        (let ((p_3
                                                               (unwrap a_2)))
                                                          (if (pair? p_3)
                                                            #t
                                                            #f)))
                                                      #f)
                                                    #f)))
                                            (let ((a_1 (cdr p_1)))
                                              (let ((app_0 (unwrap '())))
                                                (eq? app_0 (unwrap a_1))))
                                            #f)
                                          #f)))
                                    #f)
                                  #f))
                            (call-with-values
                             (lambda ()
                               (let ((p_0 (unwrap v_0)))
                                 (call-with-values
                                  (lambda ()
                                    (let ((a_0 (car p_0)))
                                      (let ((p_1 (unwrap a_0)))
                                        (let ((prop:s_0
                                               (let ((a_1 (car p_1))) a_1)))
                                          (call-with-values
                                           (lambda ()
                                             (let ((d_0 (cdr p_1)))
                                               (let ((p_2 (unwrap d_0)))
                                                 (let ((s?_0
                                                        (let ((a_1 (car p_2)))
                                                          a_1)))
                                                   (let ((s-ref_0
                                                          (let ((d_1
                                                                 (cdr p_2)))
                                                            (let ((a_1
                                                                   (car
                                                                    (unwrap
                                                                     d_1))))
                                                              a_1))))
                                                     (let ((s?_1 s?_0))
                                                       (values
                                                        s?_1
                                                        s-ref_0)))))))
                                           (lambda (s?_0 s-ref_0)
                                             (let ((prop:s_1 prop:s_0))
                                               (values
                                                prop:s_1
                                                s?_0
                                                s-ref_0))))))))
                                  (lambda (prop:s_0 s?_0 s-ref_0)
                                    (let ((rest_0
                                           (let ((d_0 (cdr p_0)))
                                             (let ((a_0 (car (unwrap d_0))))
                                               (let ((d_1 (cdr (unwrap a_0))))
                                                 (let ((d_2
                                                        (cdr (unwrap d_1))))
                                                   d_2))))))
                                      (let ((prop:s_1 prop:s_0)
                                            (s?_1 s?_0)
                                            (s-ref_1 s-ref_0))
                                        (values
                                         prop:s_1
                                         s?_1
                                         s-ref_1
                                         rest_0)))))))
                             (lambda (prop:s_0 s?_0 s-ref_0 rest_0)
                               (values
                                (add-struct-type-property-known
                                 prop:s_0
                                 s-ref_0
                                 s?_0
                                 (let ((or-part_0 (null? (unwrap rest_0))))
                                   (if or-part_0
                                     or-part_0
                                     (if (not (wrap-car rest_0))
                                       (null? (unwrap (wrap-cdr rest_0)))
                                       #f)))
                                 knowns9_0)
                                #f)))
                            (if (let ((p_0 (unwrap v_0)))
                                  (if (pair? p_0)
                                    (if (let ((a_0 (car p_0)))
                                          (let ((p_1 (unwrap a_0)))
                                            (if (pair? p_1)
                                              (let ((a_1 (cdr p_1)))
                                                (let ((p_2 (unwrap a_1)))
                                                  (if (pair? p_2)
                                                    (let ((a_2 (cdr p_2)))
                                                      (let ((p_3 (unwrap a_2)))
                                                        (if (pair? p_3)
                                                          (let ((a_3
                                                                 (cdr p_3)))
                                                            (let ((app_0
                                                                   (unwrap
                                                                    '())))
                                                              (eq?
                                                               app_0
                                                               (unwrap a_3))))
                                                          #f)))
                                                    #f)))
                                              #f)))
                                      (let ((a_0 (cdr p_0)))
                                        (let ((p_1 (unwrap a_0)))
                                          (if (pair? p_1)
                                            (if (let ((a_1 (car p_1)))
                                                  (let ((p_2 (unwrap a_1)))
                                                    (if (pair? p_2)
                                                      (if (let ((a_2
                                                                 (car p_2)))
                                                            (let ((app_0
                                                                   (unwrap
                                                                    'unsafe-make-struct-type-property/guard-calls-no-arguments)))
                                                              (eq?
                                                               app_0
                                                               (unwrap a_2))))
                                                        #t
                                                        #f)
                                                      #f)))
                                              (let ((a_1 (cdr p_1)))
                                                (let ((app_0 (unwrap '())))
                                                  (eq? app_0 (unwrap a_1))))
                                              #f)
                                            #f)))
                                      #f)
                                    #f))
                              (call-with-values
                               (lambda ()
                                 (let ((a_0 (car (unwrap v_0))))
                                   (let ((p_0 (unwrap a_0)))
                                     (let ((prop:s_0
                                            (let ((a_1 (car p_0))) a_1)))
                                       (call-with-values
                                        (lambda ()
                                          (let ((d_0 (cdr p_0)))
                                            (let ((p_1 (unwrap d_0)))
                                              (let ((s?_0
                                                     (let ((a_1 (car p_1)))
                                                       a_1)))
                                                (let ((s-ref_0
                                                       (let ((d_1 (cdr p_1)))
                                                         (let ((a_1
                                                                (car
                                                                 (unwrap
                                                                  d_1))))
                                                           a_1))))
                                                  (let ((s?_1 s?_0))
                                                    (values s?_1 s-ref_0)))))))
                                        (lambda (s?_0 s-ref_0)
                                          (let ((prop:s_1 prop:s_0))
                                            (values
                                             prop:s_1
                                             s?_0
                                             s-ref_0))))))))
                               (lambda (prop:s_0 s?_0 s-ref_0)
                                 (values
                                  (add-struct-type-property-known
                                   prop:s_0
                                   s-ref_0
                                   s?_0
                                   #t
                                   knowns9_0)
                                  #f)))
                              (maybe-immediate-values_0))))))))))
             (nothing_0))))))))
(define find-one-definition.1
  (|#%name|
   find-one-definition
   (lambda (compiler-query18_0
            cross-module-inline?19_0
            optimize?17_0
            primitives16_0
            id24_0
            rhs25_0
            prim-knowns26_0
            knowns27_0
            imports28_0
            mutated29_0
            simples30_0
            unsafe-mode?31_0
            target32_0)
     (let ((new-rhs_0
            (if optimize?17_0
              (let ((rhs_0 (unwrap-let.1 #f rhs25_0)))
                (if (if (not (eq? target32_0 'system)) (lambda?.1 #f rhs_0) #f)
                  (optimize*
                   rhs_0
                   prim-knowns26_0
                   primitives16_0
                   knowns27_0
                   imports28_0
                   mutated29_0
                   unsafe-mode?31_0
                   target32_0
                   compiler-query18_0)
                  (optimize
                   rhs_0
                   prim-knowns26_0
                   primitives16_0
                   knowns27_0
                   imports28_0
                   mutated29_0
                   target32_0
                   compiler-query18_0)))
              rhs25_0)))
       (let ((or-part_0 (if cross-module-inline?19_0 'inline #f)))
         (let ((k_0
                (let ((temp60_0 (if or-part_0 or-part_0 #t)))
                  (infer-known.1
                   compiler-query18_0
                   temp60_0
                   #f
                   new-rhs_0
                   id24_0
                   knowns27_0
                   prim-knowns26_0
                   imports28_0
                   mutated29_0
                   simples30_0
                   unsafe-mode?31_0
                   target32_0))))
           (if k_0 (hash-set knowns27_0 (unwrap id24_0) k_0) knowns27_0)))))))
(define find-cross-module-inline?
  (lambda (defn_0) (wrap-property defn_0 'compiler-hint:cross-module-inline)))
(define struct-convert
  (lambda (form_0
           prim-knowns_0
           knowns_0
           imports_0
           exports_0
           mutated_0
           schemify_0
           target_0
           no-prompt?_0
           top?_0)
    (let ((hd_0
           (let ((p_0 (unwrap form_0)))
             (if (pair? p_0) (unwrap (car p_0)) #f))))
      (if (if (eq? 'define-values hd_0)
            (let ((a_0 (cdr (unwrap form_0))))
              (let ((p_0 (unwrap a_0)))
                (if (pair? p_0)
                  (if (let ((a_1 (car p_0)))
                        (let ((p_1 (unwrap a_1)))
                          (if (pair? p_1)
                            (let ((a_2 (cdr p_1)))
                              (let ((p_2 (unwrap a_2)))
                                (if (pair? p_2)
                                  (let ((a_3 (cdr p_2)))
                                    (let ((p_3 (unwrap a_3)))
                                      (if (pair? p_3)
                                        (let ((a_4 (cdr p_3)))
                                          (wrap-list? a_4))
                                        #f)))
                                  #f)))
                            #f)))
                    (let ((a_1 (cdr p_0)))
                      (let ((p_1 (unwrap a_1)))
                        (if (pair? p_1)
                          (if (let ((a_2 (car p_1)))
                                (let ((p_2 (unwrap a_2)))
                                  (if (pair? p_2)
                                    (if (let ((a_3 (car p_2)))
                                          (let ((app_0 (unwrap 'let-values)))
                                            (eq? app_0 (unwrap a_3))))
                                      (let ((a_3 (cdr p_2)))
                                        (let ((p_3 (unwrap a_3)))
                                          (if (pair? p_3)
                                            (if (let ((a_4 (car p_3)))
                                                  (let ((p_4 (unwrap a_4)))
                                                    (if (pair? p_4)
                                                      (if (let ((a_5
                                                                 (car p_4)))
                                                            (let ((p_5
                                                                   (unwrap
                                                                    a_5)))
                                                              (if (pair? p_5)
                                                                (if (let ((a_6
                                                                           (car
                                                                            p_5)))
                                                                      (let ((p_6
                                                                             (unwrap
                                                                              a_6)))
                                                                        (if (pair?
                                                                             p_6)
                                                                          (let ((a_7
                                                                                 (cdr
                                                                                  p_6)))
                                                                            (let ((p_7
                                                                                   (unwrap
                                                                                    a_7)))
                                                                              (if (pair?
                                                                                   p_7)
                                                                                (let ((a_8
                                                                                       (cdr
                                                                                        p_7)))
                                                                                  (let ((p_8
                                                                                         (unwrap
                                                                                          a_8)))
                                                                                    (if (pair?
                                                                                         p_8)
                                                                                      (let ((a_9
                                                                                             (cdr
                                                                                              p_8)))
                                                                                        (let ((p_9
                                                                                               (unwrap
                                                                                                a_9)))
                                                                                          (if (pair?
                                                                                               p_9)
                                                                                            (let ((a_10
                                                                                                   (cdr
                                                                                                    p_9)))
                                                                                              (let ((p_10
                                                                                                     (unwrap
                                                                                                      a_10)))
                                                                                                (if (pair?
                                                                                                     p_10)
                                                                                                  (let ((a_11
                                                                                                         (cdr
                                                                                                          p_10)))
                                                                                                    (let ((app_0
                                                                                                           (unwrap
                                                                                                            '())))
                                                                                                      (eq?
                                                                                                       app_0
                                                                                                       (unwrap
                                                                                                        a_11))))
                                                                                                  #f)))
                                                                                            #f)))
                                                                                      #f)))
                                                                                #f)))
                                                                          #f)))
                                                                  (let ((a_6
                                                                         (cdr
                                                                          p_5)))
                                                                    (let ((p_6
                                                                           (unwrap
                                                                            a_6)))
                                                                      (if (pair?
                                                                           p_6)
                                                                        (let ((a_7
                                                                               (cdr
                                                                                p_6)))
                                                                          (let ((app_0
                                                                                 (unwrap
                                                                                  '())))
                                                                            (eq?
                                                                             app_0
                                                                             (unwrap
                                                                              a_7))))
                                                                        #f)))
                                                                  #f)
                                                                #f)))
                                                        (let ((a_5 (cdr p_4)))
                                                          (let ((app_0
                                                                 (unwrap '())))
                                                            (eq?
                                                             app_0
                                                             (unwrap a_5))))
                                                        #f)
                                                      #f)))
                                              (let ((a_4 (cdr p_3)))
                                                (let ((p_4 (unwrap a_4)))
                                                  (if (pair? p_4)
                                                    (if (let ((a_5 (car p_4)))
                                                          (let ((p_5
                                                                 (unwrap a_5)))
                                                            (if (pair? p_5)
                                                              (if (let ((a_6
                                                                         (car
                                                                          p_5)))
                                                                    (let ((app_0
                                                                           (unwrap
                                                                            'values)))
                                                                      (eq?
                                                                       app_0
                                                                       (unwrap
                                                                        a_6))))
                                                                (let ((a_6
                                                                       (cdr
                                                                        p_5)))
                                                                  (let ((p_6
                                                                         (unwrap
                                                                          a_6)))
                                                                    (if (pair?
                                                                         p_6)
                                                                      (let ((a_7
                                                                             (cdr
                                                                              p_6)))
                                                                        (let ((p_7
                                                                               (unwrap
                                                                                a_7)))
                                                                          (if (pair?
                                                                               p_7)
                                                                            (let ((a_8
                                                                                   (cdr
                                                                                    p_7)))
                                                                              (let ((p_8
                                                                                     (unwrap
                                                                                      a_8)))
                                                                                (if (pair?
                                                                                     p_8)
                                                                                  (let ((a_9
                                                                                         (cdr
                                                                                          p_8)))
                                                                                    (wrap-list?
                                                                                     a_9))
                                                                                  #f)))
                                                                            #f)))
                                                                      #f)))
                                                                #f)
                                                              #f)))
                                                      (let ((a_5 (cdr p_4)))
                                                        (let ((app_0
                                                               (unwrap '())))
                                                          (eq?
                                                           app_0
                                                           (unwrap a_5))))
                                                      #f)
                                                    #f)))
                                              #f)
                                            #f)))
                                      #f)
                                    #f)))
                            (let ((a_2 (cdr p_1)))
                              (let ((app_0 (unwrap '())))
                                (eq? app_0 (unwrap a_2))))
                            #f)
                          #f)))
                    #f)
                  #f)))
            #f)
        (call-with-values
         (lambda ()
           (let ((d_0 (cdr (unwrap form_0))))
             (let ((p_0 (unwrap d_0)))
               (call-with-values
                (lambda ()
                  (let ((a_0 (car p_0)))
                    (let ((p_1 (unwrap a_0)))
                      (let ((struct:s_0 (let ((a_1 (car p_1))) a_1)))
                        (call-with-values
                         (lambda ()
                           (let ((d_1 (cdr p_1)))
                             (let ((p_2 (unwrap d_1)))
                               (let ((make-s_0 (let ((a_1 (car p_2))) a_1)))
                                 (call-with-values
                                  (lambda ()
                                    (let ((d_2 (cdr p_2)))
                                      (let ((p_3 (unwrap d_2)))
                                        (let ((s?_0
                                               (let ((a_1 (car p_3))) a_1)))
                                          (let ((acc/muts_0
                                                 (let ((d_3 (cdr p_3)))
                                                   (unwrap-list d_3))))
                                            (let ((s?_1 s?_0))
                                              (values s?_1 acc/muts_0)))))))
                                  (lambda (s?_0 acc/muts_0)
                                    (let ((make-s_1 make-s_0))
                                      (values make-s_1 s?_0 acc/muts_0))))))))
                         (lambda (make-s_0 s?_0 acc/muts_0)
                           (let ((struct:s_1 struct:s_0))
                             (values
                              struct:s_1
                              make-s_0
                              s?_0
                              acc/muts_0))))))))
                (lambda (struct:s_0 make-s_0 s?_0 acc/muts_0)
                  (call-with-values
                   (lambda ()
                     (let ((d_1 (cdr p_0)))
                       (let ((a_0 (car (unwrap d_1))))
                         (let ((d_2 (cdr (unwrap a_0))))
                           (let ((p_1 (unwrap d_2)))
                             (call-with-values
                              (lambda ()
                                (let ((a_1 (car p_1)))
                                  (let ((a_2 (car (unwrap a_1))))
                                    (let ((p_2 (unwrap a_2)))
                                      (call-with-values
                                       (lambda ()
                                         (let ((a_3 (car p_2)))
                                           (let ((p_3 (unwrap a_3)))
                                             (let ((struct:_0
                                                    (let ((a_4 (car p_3)))
                                                      a_4)))
                                               (call-with-values
                                                (lambda ()
                                                  (let ((d_3 (cdr p_3)))
                                                    (let ((p_4 (unwrap d_3)))
                                                      (let ((make_0
                                                             (let ((a_4
                                                                    (car p_4)))
                                                               a_4)))
                                                        (call-with-values
                                                         (lambda ()
                                                           (let ((d_4
                                                                  (cdr p_4)))
                                                             (let ((p_5
                                                                    (unwrap
                                                                     d_4)))
                                                               (let ((?1_0
                                                                      (let ((a_4
                                                                             (car
                                                                              p_5)))
                                                                        a_4)))
                                                                 (call-with-values
                                                                  (lambda ()
                                                                    (let ((d_5
                                                                           (cdr
                                                                            p_5)))
                                                                      (let ((p_6
                                                                             (unwrap
                                                                              d_5)))
                                                                        (let ((-ref_0
                                                                               (let ((a_4
                                                                                      (car
                                                                                       p_6)))
                                                                                 a_4)))
                                                                          (let ((-set!_0
                                                                                 (let ((d_6
                                                                                        (cdr
                                                                                         p_6)))
                                                                                   (let ((a_4
                                                                                          (car
                                                                                           (unwrap
                                                                                            d_6))))
                                                                                     a_4))))
                                                                            (let ((-ref_1
                                                                                   -ref_0))
                                                                              (values
                                                                               -ref_1
                                                                               -set!_0)))))))
                                                                  (lambda (-ref_0
                                                                           -set!_0)
                                                                    (let ((?1_1
                                                                           ?1_0))
                                                                      (values
                                                                       ?1_1
                                                                       -ref_0
                                                                       -set!_0))))))))
                                                         (lambda (?1_0
                                                                  -ref_0
                                                                  -set!_0)
                                                           (let ((make_1
                                                                  make_0))
                                                             (values
                                                              make_1
                                                              ?1_0
                                                              -ref_0
                                                              -set!_0))))))))
                                                (lambda (make_0
                                                         ?1_0
                                                         -ref_0
                                                         -set!_0)
                                                  (let ((struct:_1 struct:_0))
                                                    (values
                                                     struct:_1
                                                     make_0
                                                     ?1_0
                                                     -ref_0
                                                     -set!_0))))))))
                                       (lambda (struct:_0
                                                make_0
                                                ?1_0
                                                -ref_0
                                                -set!_0)
                                         (let ((mk_0
                                                (let ((d_3 (cdr p_2)))
                                                  (let ((a_3
                                                         (car (unwrap d_3))))
                                                    a_3))))
                                           (let ((struct:_1 struct:_0)
                                                 (make_1 make_0)
                                                 (?1_1 ?1_0)
                                                 (-ref_1 -ref_0)
                                                 (-set!_1 -set!_0))
                                             (values
                                              struct:_1
                                              make_1
                                              ?1_1
                                              -ref_1
                                              -set!_1
                                              mk_0)))))))))
                              (lambda (struct:_0
                                       make_0
                                       ?1_0
                                       -ref_0
                                       -set!_0
                                       mk_0)
                                (call-with-values
                                 (lambda ()
                                   (let ((d_3 (cdr p_1)))
                                     (let ((a_1 (car (unwrap d_3))))
                                       (let ((d_4 (cdr (unwrap a_1))))
                                         (let ((p_2 (unwrap d_4)))
                                           (let ((struct:2_0
                                                  (let ((a_2 (car p_2))) a_2)))
                                             (call-with-values
                                              (lambda ()
                                                (let ((d_5 (cdr p_2)))
                                                  (let ((p_3 (unwrap d_5)))
                                                    (let ((make2_0
                                                           (let ((a_2
                                                                  (car p_3)))
                                                             a_2)))
                                                      (call-with-values
                                                       (lambda ()
                                                         (let ((d_6 (cdr p_3)))
                                                           (let ((p_4
                                                                  (unwrap
                                                                   d_6)))
                                                             (let ((?2_0
                                                                    (let ((a_2
                                                                           (car
                                                                            p_4)))
                                                                      a_2)))
                                                               (let ((make-acc/muts_0
                                                                      (let ((d_7
                                                                             (cdr
                                                                              p_4)))
                                                                        (unwrap-list
                                                                         d_7))))
                                                                 (let ((?2_1
                                                                        ?2_0))
                                                                   (values
                                                                    ?2_1
                                                                    make-acc/muts_0)))))))
                                                       (lambda (?2_0
                                                                make-acc/muts_0)
                                                         (let ((make2_1
                                                                make2_0))
                                                           (values
                                                            make2_1
                                                            ?2_0
                                                            make-acc/muts_0))))))))
                                              (lambda (make2_0
                                                       ?2_0
                                                       make-acc/muts_0)
                                                (let ((struct:2_1 struct:2_0))
                                                  (values
                                                   struct:2_1
                                                   make2_0
                                                   ?2_0
                                                   make-acc/muts_0))))))))))
                                 (lambda (struct:2_0
                                          make2_0
                                          ?2_0
                                          make-acc/muts_0)
                                   (let ((struct:_1 struct:_0)
                                         (make_1 make_0)
                                         (?1_1 ?1_0)
                                         (-ref_1 -ref_0)
                                         (-set!_1 -set!_0)
                                         (mk_1 mk_0))
                                     (values
                                      struct:_1
                                      make_1
                                      ?1_1
                                      -ref_1
                                      -set!_1
                                      mk_1
                                      struct:2_0
                                      make2_0
                                      ?2_0
                                      make-acc/muts_0)))))))))))
                   (lambda (struct:_0
                            make_0
                            ?1_0
                            -ref_0
                            -set!_0
                            mk_0
                            struct:2_0
                            make2_0
                            ?2_0
                            make-acc/muts_0)
                     (let ((struct:s_1 struct:s_0)
                           (make-s_1 make-s_0)
                           (s?_1 s?_0)
                           (acc/muts_1 acc/muts_0))
                       (values
                        struct:s_1
                        make-s_1
                        s?_1
                        acc/muts_1
                        struct:_0
                        make_0
                        ?1_0
                        -ref_0
                        -set!_0
                        mk_0
                        struct:2_0
                        make2_0
                        ?2_0
                        make-acc/muts_0)))))))))
         (lambda (struct:s_0
                  make-s_0
                  s?_0
                  acc/muts_0
                  struct:_0
                  make_0
                  ?1_0
                  -ref_0
                  -set!_0
                  mk_0
                  struct:2_0
                  make2_0
                  ?2_0
                  make-acc/muts_0)
           (let ((sti_0
                  (if (let ((app_0 (unwrap struct:_0)))
                        (eq? app_0 (unwrap struct:2_0)))
                    (if (let ((app_0 (unwrap make_0)))
                          (eq? app_0 (unwrap make2_0)))
                      (if (let ((app_0 (unwrap ?1_0)))
                            (eq? app_0 (unwrap ?2_0)))
                        (if (letrec*
                             ((for-loop_0
                               (|#%name|
                                for-loop
                                (lambda (result_0 lst_0 lst_1)
                                  (if (if (pair? lst_0) (pair? lst_1) #f)
                                    (let ((acc/mut_0 (unsafe-car lst_0)))
                                      (let ((rest_0 (unsafe-cdr lst_0)))
                                        (let ((make-acc/mut_0
                                               (unsafe-car lst_1)))
                                          (let ((rest_1 (unsafe-cdr lst_1)))
                                            (let ((ok-contract?_0
                                                   (|#%name|
                                                    ok-contract?
                                                    (lambda (contract_0)
                                                      (let ((hd_1
                                                             (let ((p_0
                                                                    (unwrap
                                                                     contract_0)))
                                                               (if (pair? p_0)
                                                                 (unwrap
                                                                  (car p_0))
                                                                 #f))))
                                                        (if (if (eq?
                                                                 'quote
                                                                 hd_1)
                                                              (let ((a_0
                                                                     (cdr
                                                                      (unwrap
                                                                       contract_0))))
                                                                (let ((p_0
                                                                       (unwrap
                                                                        a_0)))
                                                                  (if (pair?
                                                                       p_0)
                                                                    (let ((a_1
                                                                           (cdr
                                                                            p_0)))
                                                                      (let ((app_0
                                                                             (unwrap
                                                                              '())))
                                                                        (eq?
                                                                         app_0
                                                                         (unwrap
                                                                          a_1))))
                                                                    #f)))
                                                              #f)
                                                          (let ((sym_0
                                                                 (let ((d_0
                                                                        (cdr
                                                                         (unwrap
                                                                          contract_0))))
                                                                   (let ((a_0
                                                                          (car
                                                                           (unwrap
                                                                            d_0))))
                                                                     a_0))))
                                                            (symbol? sym_0))
                                                          (let ((or-part_0
                                                                 (not
                                                                  contract_0)))
                                                            (if or-part_0
                                                              or-part_0
                                                              (string?
                                                               contract_0)))))))))
                                              (let ((result_1
                                                     (let ((result_1
                                                            (let ((v_0
                                                                   (unwrap-let.1
                                                                    #f
                                                                    make-acc/mut_0)))
                                                              (let ((hd_1
                                                                     (let ((p_0
                                                                            (unwrap
                                                                             v_0)))
                                                                       (if (pair?
                                                                            p_0)
                                                                         (unwrap
                                                                          (car
                                                                           p_0))
                                                                         #f))))
                                                                (if (if (eq?
                                                                         'make-struct-field-accessor
                                                                         hd_1)
                                                                      (let ((a_0
                                                                             (cdr
                                                                              (unwrap
                                                                               v_0))))
                                                                        (let ((p_0
                                                                               (unwrap
                                                                                a_0)))
                                                                          (if (pair?
                                                                               p_0)
                                                                            (let ((a_1
                                                                                   (cdr
                                                                                    p_0)))
                                                                              (let ((p_1
                                                                                     (unwrap
                                                                                      a_1)))
                                                                                (if (pair?
                                                                                     p_1)
                                                                                  (let ((a_2
                                                                                         (cdr
                                                                                          p_1)))
                                                                                    (let ((p_2
                                                                                           (unwrap
                                                                                            a_2)))
                                                                                      (if (pair?
                                                                                           p_2)
                                                                                        (if (let ((a_3
                                                                                                   (car
                                                                                                    p_2)))
                                                                                              (let ((p_3
                                                                                                     (unwrap
                                                                                                      a_3)))
                                                                                                (if (pair?
                                                                                                     p_3)
                                                                                                  (if (let ((a_4
                                                                                                             (car
                                                                                                              p_3)))
                                                                                                        (let ((app_0
                                                                                                               (unwrap
                                                                                                                'quote)))
                                                                                                          (eq?
                                                                                                           app_0
                                                                                                           (unwrap
                                                                                                            a_4))))
                                                                                                    (let ((a_4
                                                                                                           (cdr
                                                                                                            p_3)))
                                                                                                      (let ((p_4
                                                                                                             (unwrap
                                                                                                              a_4)))
                                                                                                        (if (pair?
                                                                                                             p_4)
                                                                                                          (let ((a_5
                                                                                                                 (cdr
                                                                                                                  p_4)))
                                                                                                            (let ((app_0
                                                                                                                   (unwrap
                                                                                                                    '())))
                                                                                                              (eq?
                                                                                                               app_0
                                                                                                               (unwrap
                                                                                                                a_5))))
                                                                                                          #f)))
                                                                                                    #f)
                                                                                                  #f)))
                                                                                          (let ((a_3
                                                                                                 (cdr
                                                                                                  p_2)))
                                                                                            (let ((app_0
                                                                                                   (unwrap
                                                                                                    '())))
                                                                                              (eq?
                                                                                               app_0
                                                                                               (unwrap
                                                                                                a_3))))
                                                                                          #f)
                                                                                        #f)))
                                                                                  #f)))
                                                                            #f)))
                                                                      #f)
                                                                  (call-with-values
                                                                   (lambda ()
                                                                     (let ((d_0
                                                                            (cdr
                                                                             (unwrap
                                                                              v_0))))
                                                                       (let ((p_0
                                                                              (unwrap
                                                                               d_0)))
                                                                         (let ((ref-id_0
                                                                                (let ((a_0
                                                                                       (car
                                                                                        p_0)))
                                                                                  a_0)))
                                                                           (call-with-values
                                                                            (lambda ()
                                                                              (let ((d_1
                                                                                     (cdr
                                                                                      p_0)))
                                                                                (let ((p_1
                                                                                       (unwrap
                                                                                        d_1)))
                                                                                  (let ((pos_0
                                                                                         (let ((a_0
                                                                                                (car
                                                                                                 p_1)))
                                                                                           a_0)))
                                                                                    (let ((field-name_0
                                                                                           (let ((d_2
                                                                                                  (cdr
                                                                                                   p_1)))
                                                                                             (let ((a_0
                                                                                                    (car
                                                                                                     (unwrap
                                                                                                      d_2))))
                                                                                               (let ((d_3
                                                                                                      (cdr
                                                                                                       (unwrap
                                                                                                        a_0))))
                                                                                                 (let ((a_1
                                                                                                        (car
                                                                                                         (unwrap
                                                                                                          d_3))))
                                                                                                   a_1))))))
                                                                                      (let ((pos_1
                                                                                             pos_0))
                                                                                        (values
                                                                                         pos_1
                                                                                         field-name_0)))))))
                                                                            (lambda (pos_0
                                                                                     field-name_0)
                                                                              (let ((ref-id_1
                                                                                     ref-id_0))
                                                                                (values
                                                                                 ref-id_1
                                                                                 pos_0
                                                                                 field-name_0))))))))
                                                                   (lambda (ref-id_0
                                                                            pos_0
                                                                            field-name_0)
                                                                     (if (let ((app_0
                                                                                (unwrap
                                                                                 ref-id_0)))
                                                                           (eq?
                                                                            app_0
                                                                            (unwrap
                                                                             -ref_0)))
                                                                       (if (symbol?
                                                                            field-name_0)
                                                                         (exact-nonnegative-integer?
                                                                          pos_0)
                                                                         #f)
                                                                       #f)))
                                                                  (if (if (eq?
                                                                           'make-struct-field-accessor
                                                                           hd_1)
                                                                        (let ((a_0
                                                                               (cdr
                                                                                (unwrap
                                                                                 v_0))))
                                                                          (let ((p_0
                                                                                 (unwrap
                                                                                  a_0)))
                                                                            (if (pair?
                                                                                 p_0)
                                                                              (let ((a_1
                                                                                     (cdr
                                                                                      p_0)))
                                                                                (let ((p_1
                                                                                       (unwrap
                                                                                        a_1)))
                                                                                  (if (pair?
                                                                                       p_1)
                                                                                    (let ((a_2
                                                                                           (cdr
                                                                                            p_1)))
                                                                                      (let ((p_2
                                                                                             (unwrap
                                                                                              a_2)))
                                                                                        (if (pair?
                                                                                             p_2)
                                                                                          (if (let ((a_3
                                                                                                     (car
                                                                                                      p_2)))
                                                                                                (let ((p_3
                                                                                                       (unwrap
                                                                                                        a_3)))
                                                                                                  (if (pair?
                                                                                                       p_3)
                                                                                                    (if (let ((a_4
                                                                                                               (car
                                                                                                                p_3)))
                                                                                                          (let ((app_0
                                                                                                                 (unwrap
                                                                                                                  'quote)))
                                                                                                            (eq?
                                                                                                             app_0
                                                                                                             (unwrap
                                                                                                              a_4))))
                                                                                                      (let ((a_4
                                                                                                             (cdr
                                                                                                              p_3)))
                                                                                                        (let ((p_4
                                                                                                               (unwrap
                                                                                                                a_4)))
                                                                                                          (if (pair?
                                                                                                               p_4)
                                                                                                            (let ((a_5
                                                                                                                   (cdr
                                                                                                                    p_4)))
                                                                                                              (let ((app_0
                                                                                                                     (unwrap
                                                                                                                      '())))
                                                                                                                (eq?
                                                                                                                 app_0
                                                                                                                 (unwrap
                                                                                                                  a_5))))
                                                                                                            #f)))
                                                                                                      #f)
                                                                                                    #f)))
                                                                                            (let ((a_3
                                                                                                   (cdr
                                                                                                    p_2)))
                                                                                              (let ((p_3
                                                                                                     (unwrap
                                                                                                      a_3)))
                                                                                                (if (pair?
                                                                                                     p_3)
                                                                                                  (let ((a_4
                                                                                                         (cdr
                                                                                                          p_3)))
                                                                                                    (let ((app_0
                                                                                                           (unwrap
                                                                                                            '())))
                                                                                                      (eq?
                                                                                                       app_0
                                                                                                       (unwrap
                                                                                                        a_4))))
                                                                                                  #f)))
                                                                                            #f)
                                                                                          #f)))
                                                                                    #f)))
                                                                              #f)))
                                                                        #f)
                                                                    (call-with-values
                                                                     (lambda ()
                                                                       (let ((d_0
                                                                              (cdr
                                                                               (unwrap
                                                                                v_0))))
                                                                         (let ((p_0
                                                                                (unwrap
                                                                                 d_0)))
                                                                           (let ((ref-id_0
                                                                                  (let ((a_0
                                                                                         (car
                                                                                          p_0)))
                                                                                    a_0)))
                                                                             (call-with-values
                                                                              (lambda ()
                                                                                (let ((d_1
                                                                                       (cdr
                                                                                        p_0)))
                                                                                  (let ((p_1
                                                                                         (unwrap
                                                                                          d_1)))
                                                                                    (let ((pos_0
                                                                                           (let ((a_0
                                                                                                  (car
                                                                                                   p_1)))
                                                                                             a_0)))
                                                                                      (call-with-values
                                                                                       (lambda ()
                                                                                         (let ((d_2
                                                                                                (cdr
                                                                                                 p_1)))
                                                                                           (let ((p_2
                                                                                                  (unwrap
                                                                                                   d_2)))
                                                                                             (let ((field/proc-name_0
                                                                                                    (let ((a_0
                                                                                                           (car
                                                                                                            p_2)))
                                                                                                      (let ((d_3
                                                                                                             (cdr
                                                                                                              (unwrap
                                                                                                               a_0))))
                                                                                                        (let ((a_1
                                                                                                               (car
                                                                                                                (unwrap
                                                                                                                 d_3))))
                                                                                                          a_1)))))
                                                                                               (let ((contract_0
                                                                                                      (let ((d_3
                                                                                                             (cdr
                                                                                                              p_2)))
                                                                                                        (let ((a_0
                                                                                                               (car
                                                                                                                (unwrap
                                                                                                                 d_3))))
                                                                                                          a_0))))
                                                                                                 (let ((field/proc-name_1
                                                                                                        field/proc-name_0))
                                                                                                   (values
                                                                                                    field/proc-name_1
                                                                                                    contract_0)))))))
                                                                                       (lambda (field/proc-name_0
                                                                                                contract_0)
                                                                                         (let ((pos_1
                                                                                                pos_0))
                                                                                           (values
                                                                                            pos_1
                                                                                            field/proc-name_0
                                                                                            contract_0))))))))
                                                                              (lambda (pos_0
                                                                                       field/proc-name_0
                                                                                       contract_0)
                                                                                (let ((ref-id_1
                                                                                       ref-id_0))
                                                                                  (values
                                                                                   ref-id_1
                                                                                   pos_0
                                                                                   field/proc-name_0
                                                                                   contract_0))))))))
                                                                     (lambda (ref-id_0
                                                                              pos_0
                                                                              field/proc-name_0
                                                                              contract_0)
                                                                       (if (let ((app_0
                                                                                  (unwrap
                                                                                   ref-id_0)))
                                                                             (eq?
                                                                              app_0
                                                                              (unwrap
                                                                               -ref_0)))
                                                                         (if (symbol?
                                                                              field/proc-name_0)
                                                                           (if (exact-nonnegative-integer?
                                                                                pos_0)
                                                                             (ok-contract?_0
                                                                              contract_0)
                                                                             #f)
                                                                           #f)
                                                                         #f)))
                                                                    (if (if (eq?
                                                                             'make-struct-field-accessor
                                                                             hd_1)
                                                                          (let ((a_0
                                                                                 (cdr
                                                                                  (unwrap
                                                                                   v_0))))
                                                                            (let ((p_0
                                                                                   (unwrap
                                                                                    a_0)))
                                                                              (if (pair?
                                                                                   p_0)
                                                                                (let ((a_1
                                                                                       (cdr
                                                                                        p_0)))
                                                                                  (let ((p_1
                                                                                         (unwrap
                                                                                          a_1)))
                                                                                    (if (pair?
                                                                                         p_1)
                                                                                      (let ((a_2
                                                                                             (cdr
                                                                                              p_1)))
                                                                                        (let ((p_2
                                                                                               (unwrap
                                                                                                a_2)))
                                                                                          (if (pair?
                                                                                               p_2)
                                                                                            (if (let ((a_3
                                                                                                       (car
                                                                                                        p_2)))
                                                                                                  (let ((p_3
                                                                                                         (unwrap
                                                                                                          a_3)))
                                                                                                    (if (pair?
                                                                                                         p_3)
                                                                                                      (if (let ((a_4
                                                                                                                 (car
                                                                                                                  p_3)))
                                                                                                            (let ((app_0
                                                                                                                   (unwrap
                                                                                                                    'quote)))
                                                                                                              (eq?
                                                                                                               app_0
                                                                                                               (unwrap
                                                                                                                a_4))))
                                                                                                        (let ((a_4
                                                                                                               (cdr
                                                                                                                p_3)))
                                                                                                          (let ((p_4
                                                                                                                 (unwrap
                                                                                                                  a_4)))
                                                                                                            (if (pair?
                                                                                                                 p_4)
                                                                                                              (let ((a_5
                                                                                                                     (cdr
                                                                                                                      p_4)))
                                                                                                                (let ((app_0
                                                                                                                       (unwrap
                                                                                                                        '())))
                                                                                                                  (eq?
                                                                                                                   app_0
                                                                                                                   (unwrap
                                                                                                                    a_5))))
                                                                                                              #f)))
                                                                                                        #f)
                                                                                                      #f)))
                                                                                              (let ((a_3
                                                                                                     (cdr
                                                                                                      p_2)))
                                                                                                (let ((p_3
                                                                                                       (unwrap
                                                                                                        a_3)))
                                                                                                  (if (pair?
                                                                                                       p_3)
                                                                                                    (let ((a_4
                                                                                                           (cdr
                                                                                                            p_3)))
                                                                                                      (let ((p_4
                                                                                                             (unwrap
                                                                                                              a_4)))
                                                                                                        (if (pair?
                                                                                                             p_4)
                                                                                                          (if (let ((a_5
                                                                                                                     (car
                                                                                                                      p_4)))
                                                                                                                (let ((p_5
                                                                                                                       (unwrap
                                                                                                                        a_5)))
                                                                                                                  (if (pair?
                                                                                                                       p_5)
                                                                                                                    (if (let ((a_6
                                                                                                                               (car
                                                                                                                                p_5)))
                                                                                                                          (let ((app_0
                                                                                                                                 (unwrap
                                                                                                                                  'quote)))
                                                                                                                            (eq?
                                                                                                                             app_0
                                                                                                                             (unwrap
                                                                                                                              a_6))))
                                                                                                                      (let ((a_6
                                                                                                                             (cdr
                                                                                                                              p_5)))
                                                                                                                        (let ((p_6
                                                                                                                               (unwrap
                                                                                                                                a_6)))
                                                                                                                          (if (pair?
                                                                                                                               p_6)
                                                                                                                            (let ((a_7
                                                                                                                                   (cdr
                                                                                                                                    p_6)))
                                                                                                                              (let ((app_0
                                                                                                                                     (unwrap
                                                                                                                                      '())))
                                                                                                                                (eq?
                                                                                                                                 app_0
                                                                                                                                 (unwrap
                                                                                                                                  a_7))))
                                                                                                                            #f)))
                                                                                                                      #f)
                                                                                                                    #f)))
                                                                                                            (let ((a_5
                                                                                                                   (cdr
                                                                                                                    p_4)))
                                                                                                              (let ((app_0
                                                                                                                     (unwrap
                                                                                                                      '())))
                                                                                                                (eq?
                                                                                                                 app_0
                                                                                                                 (unwrap
                                                                                                                  a_5))))
                                                                                                            #f)
                                                                                                          #f)))
                                                                                                    #f)))
                                                                                              #f)
                                                                                            #f)))
                                                                                      #f)))
                                                                                #f)))
                                                                          #f)
                                                                      (call-with-values
                                                                       (lambda ()
                                                                         (let ((d_0
                                                                                (cdr
                                                                                 (unwrap
                                                                                  v_0))))
                                                                           (let ((p_0
                                                                                  (unwrap
                                                                                   d_0)))
                                                                             (let ((ref-id_0
                                                                                    (let ((a_0
                                                                                           (car
                                                                                            p_0)))
                                                                                      a_0)))
                                                                               (call-with-values
                                                                                (lambda ()
                                                                                  (let ((d_1
                                                                                         (cdr
                                                                                          p_0)))
                                                                                    (let ((p_1
                                                                                           (unwrap
                                                                                            d_1)))
                                                                                      (let ((pos_0
                                                                                             (let ((a_0
                                                                                                    (car
                                                                                                     p_1)))
                                                                                               a_0)))
                                                                                        (call-with-values
                                                                                         (lambda ()
                                                                                           (let ((d_2
                                                                                                  (cdr
                                                                                                   p_1)))
                                                                                             (let ((p_2
                                                                                                    (unwrap
                                                                                                     d_2)))
                                                                                               (let ((field/proc-name_0
                                                                                                      (let ((a_0
                                                                                                             (car
                                                                                                              p_2)))
                                                                                                        (let ((d_3
                                                                                                               (cdr
                                                                                                                (unwrap
                                                                                                                 a_0))))
                                                                                                          (let ((a_1
                                                                                                                 (car
                                                                                                                  (unwrap
                                                                                                                   d_3))))
                                                                                                            a_1)))))
                                                                                                 (call-with-values
                                                                                                  (lambda ()
                                                                                                    (let ((d_3
                                                                                                           (cdr
                                                                                                            p_2)))
                                                                                                      (let ((p_3
                                                                                                             (unwrap
                                                                                                              d_3)))
                                                                                                        (let ((contract_0
                                                                                                               (let ((a_0
                                                                                                                      (car
                                                                                                                       p_3)))
                                                                                                                 a_0)))
                                                                                                          (let ((realm_0
                                                                                                                 (let ((d_4
                                                                                                                        (cdr
                                                                                                                         p_3)))
                                                                                                                   (let ((a_0
                                                                                                                          (car
                                                                                                                           (unwrap
                                                                                                                            d_4))))
                                                                                                                     (let ((d_5
                                                                                                                            (cdr
                                                                                                                             (unwrap
                                                                                                                              a_0))))
                                                                                                                       (let ((a_1
                                                                                                                              (car
                                                                                                                               (unwrap
                                                                                                                                d_5))))
                                                                                                                         a_1))))))
                                                                                                            (let ((contract_1
                                                                                                                   contract_0))
                                                                                                              (values
                                                                                                               contract_1
                                                                                                               realm_0)))))))
                                                                                                  (lambda (contract_0
                                                                                                           realm_0)
                                                                                                    (let ((field/proc-name_1
                                                                                                           field/proc-name_0))
                                                                                                      (values
                                                                                                       field/proc-name_1
                                                                                                       contract_0
                                                                                                       realm_0))))))))
                                                                                         (lambda (field/proc-name_0
                                                                                                  contract_0
                                                                                                  realm_0)
                                                                                           (let ((pos_1
                                                                                                  pos_0))
                                                                                             (values
                                                                                              pos_1
                                                                                              field/proc-name_0
                                                                                              contract_0
                                                                                              realm_0))))))))
                                                                                (lambda (pos_0
                                                                                         field/proc-name_0
                                                                                         contract_0
                                                                                         realm_0)
                                                                                  (let ((ref-id_1
                                                                                         ref-id_0))
                                                                                    (values
                                                                                     ref-id_1
                                                                                     pos_0
                                                                                     field/proc-name_0
                                                                                     contract_0
                                                                                     realm_0))))))))
                                                                       (lambda (ref-id_0
                                                                                pos_0
                                                                                field/proc-name_0
                                                                                contract_0
                                                                                realm_0)
                                                                         (if (let ((app_0
                                                                                    (unwrap
                                                                                     ref-id_0)))
                                                                               (eq?
                                                                                app_0
                                                                                (unwrap
                                                                                 -ref_0)))
                                                                           (if (symbol?
                                                                                field/proc-name_0)
                                                                             (if (exact-nonnegative-integer?
                                                                                  pos_0)
                                                                               (if (ok-contract?_0
                                                                                    contract_0)
                                                                                 (symbol?
                                                                                  realm_0)
                                                                                 #f)
                                                                               #f)
                                                                             #f)
                                                                           #f)))
                                                                      (if (if (eq?
                                                                               'make-struct-field-mutator
                                                                               hd_1)
                                                                            (let ((a_0
                                                                                   (cdr
                                                                                    (unwrap
                                                                                     v_0))))
                                                                              (let ((p_0
                                                                                     (unwrap
                                                                                      a_0)))
                                                                                (if (pair?
                                                                                     p_0)
                                                                                  (let ((a_1
                                                                                         (cdr
                                                                                          p_0)))
                                                                                    (let ((p_1
                                                                                           (unwrap
                                                                                            a_1)))
                                                                                      (if (pair?
                                                                                           p_1)
                                                                                        (let ((a_2
                                                                                               (cdr
                                                                                                p_1)))
                                                                                          (let ((p_2
                                                                                                 (unwrap
                                                                                                  a_2)))
                                                                                            (if (pair?
                                                                                                 p_2)
                                                                                              (if (let ((a_3
                                                                                                         (car
                                                                                                          p_2)))
                                                                                                    (let ((p_3
                                                                                                           (unwrap
                                                                                                            a_3)))
                                                                                                      (if (pair?
                                                                                                           p_3)
                                                                                                        (if (let ((a_4
                                                                                                                   (car
                                                                                                                    p_3)))
                                                                                                              (let ((app_0
                                                                                                                     (unwrap
                                                                                                                      'quote)))
                                                                                                                (eq?
                                                                                                                 app_0
                                                                                                                 (unwrap
                                                                                                                  a_4))))
                                                                                                          (let ((a_4
                                                                                                                 (cdr
                                                                                                                  p_3)))
                                                                                                            (let ((p_4
                                                                                                                   (unwrap
                                                                                                                    a_4)))
                                                                                                              (if (pair?
                                                                                                                   p_4)
                                                                                                                (let ((a_5
                                                                                                                       (cdr
                                                                                                                        p_4)))
                                                                                                                  (let ((app_0
                                                                                                                         (unwrap
                                                                                                                          '())))
                                                                                                                    (eq?
                                                                                                                     app_0
                                                                                                                     (unwrap
                                                                                                                      a_5))))
                                                                                                                #f)))
                                                                                                          #f)
                                                                                                        #f)))
                                                                                                (let ((a_3
                                                                                                       (cdr
                                                                                                        p_2)))
                                                                                                  (let ((app_0
                                                                                                         (unwrap
                                                                                                          '())))
                                                                                                    (eq?
                                                                                                     app_0
                                                                                                     (unwrap
                                                                                                      a_3))))
                                                                                                #f)
                                                                                              #f)))
                                                                                        #f)))
                                                                                  #f)))
                                                                            #f)
                                                                        (call-with-values
                                                                         (lambda ()
                                                                           (let ((d_0
                                                                                  (cdr
                                                                                   (unwrap
                                                                                    v_0))))
                                                                             (let ((p_0
                                                                                    (unwrap
                                                                                     d_0)))
                                                                               (let ((set-id_0
                                                                                      (let ((a_0
                                                                                             (car
                                                                                              p_0)))
                                                                                        a_0)))
                                                                                 (call-with-values
                                                                                  (lambda ()
                                                                                    (let ((d_1
                                                                                           (cdr
                                                                                            p_0)))
                                                                                      (let ((p_1
                                                                                             (unwrap
                                                                                              d_1)))
                                                                                        (let ((pos_0
                                                                                               (let ((a_0
                                                                                                      (car
                                                                                                       p_1)))
                                                                                                 a_0)))
                                                                                          (let ((field-name_0
                                                                                                 (let ((d_2
                                                                                                        (cdr
                                                                                                         p_1)))
                                                                                                   (let ((a_0
                                                                                                          (car
                                                                                                           (unwrap
                                                                                                            d_2))))
                                                                                                     (let ((d_3
                                                                                                            (cdr
                                                                                                             (unwrap
                                                                                                              a_0))))
                                                                                                       (let ((a_1
                                                                                                              (car
                                                                                                               (unwrap
                                                                                                                d_3))))
                                                                                                         a_1))))))
                                                                                            (let ((pos_1
                                                                                                   pos_0))
                                                                                              (values
                                                                                               pos_1
                                                                                               field-name_0)))))))
                                                                                  (lambda (pos_0
                                                                                           field-name_0)
                                                                                    (let ((set-id_1
                                                                                           set-id_0))
                                                                                      (values
                                                                                       set-id_1
                                                                                       pos_0
                                                                                       field-name_0))))))))
                                                                         (lambda (set-id_0
                                                                                  pos_0
                                                                                  field-name_0)
                                                                           (if (let ((app_0
                                                                                      (unwrap
                                                                                       set-id_0)))
                                                                                 (eq?
                                                                                  app_0
                                                                                  (unwrap
                                                                                   -set!_0)))
                                                                             (if (symbol?
                                                                                  field-name_0)
                                                                               (exact-nonnegative-integer?
                                                                                pos_0)
                                                                               #f)
                                                                             #f)))
                                                                        (if (if (eq?
                                                                                 'make-struct-field-mutator
                                                                                 hd_1)
                                                                              (let ((a_0
                                                                                     (cdr
                                                                                      (unwrap
                                                                                       v_0))))
                                                                                (let ((p_0
                                                                                       (unwrap
                                                                                        a_0)))
                                                                                  (if (pair?
                                                                                       p_0)
                                                                                    (let ((a_1
                                                                                           (cdr
                                                                                            p_0)))
                                                                                      (let ((p_1
                                                                                             (unwrap
                                                                                              a_1)))
                                                                                        (if (pair?
                                                                                             p_1)
                                                                                          (let ((a_2
                                                                                                 (cdr
                                                                                                  p_1)))
                                                                                            (let ((p_2
                                                                                                   (unwrap
                                                                                                    a_2)))
                                                                                              (if (pair?
                                                                                                   p_2)
                                                                                                (if (let ((a_3
                                                                                                           (car
                                                                                                            p_2)))
                                                                                                      (let ((p_3
                                                                                                             (unwrap
                                                                                                              a_3)))
                                                                                                        (if (pair?
                                                                                                             p_3)
                                                                                                          (if (let ((a_4
                                                                                                                     (car
                                                                                                                      p_3)))
                                                                                                                (let ((app_0
                                                                                                                       (unwrap
                                                                                                                        'quote)))
                                                                                                                  (eq?
                                                                                                                   app_0
                                                                                                                   (unwrap
                                                                                                                    a_4))))
                                                                                                            (let ((a_4
                                                                                                                   (cdr
                                                                                                                    p_3)))
                                                                                                              (let ((p_4
                                                                                                                     (unwrap
                                                                                                                      a_4)))
                                                                                                                (if (pair?
                                                                                                                     p_4)
                                                                                                                  (let ((a_5
                                                                                                                         (cdr
                                                                                                                          p_4)))
                                                                                                                    (let ((app_0
                                                                                                                           (unwrap
                                                                                                                            '())))
                                                                                                                      (eq?
                                                                                                                       app_0
                                                                                                                       (unwrap
                                                                                                                        a_5))))
                                                                                                                  #f)))
                                                                                                            #f)
                                                                                                          #f)))
                                                                                                  (let ((a_3
                                                                                                         (cdr
                                                                                                          p_2)))
                                                                                                    (let ((p_3
                                                                                                           (unwrap
                                                                                                            a_3)))
                                                                                                      (if (pair?
                                                                                                           p_3)
                                                                                                        (let ((a_4
                                                                                                               (cdr
                                                                                                                p_3)))
                                                                                                          (let ((app_0
                                                                                                                 (unwrap
                                                                                                                  '())))
                                                                                                            (eq?
                                                                                                             app_0
                                                                                                             (unwrap
                                                                                                              a_4))))
                                                                                                        #f)))
                                                                                                  #f)
                                                                                                #f)))
                                                                                          #f)))
                                                                                    #f)))
                                                                              #f)
                                                                          (call-with-values
                                                                           (lambda ()
                                                                             (let ((d_0
                                                                                    (cdr
                                                                                     (unwrap
                                                                                      v_0))))
                                                                               (let ((p_0
                                                                                      (unwrap
                                                                                       d_0)))
                                                                                 (let ((set-id_0
                                                                                        (let ((a_0
                                                                                               (car
                                                                                                p_0)))
                                                                                          a_0)))
                                                                                   (call-with-values
                                                                                    (lambda ()
                                                                                      (let ((d_1
                                                                                             (cdr
                                                                                              p_0)))
                                                                                        (let ((p_1
                                                                                               (unwrap
                                                                                                d_1)))
                                                                                          (let ((pos_0
                                                                                                 (let ((a_0
                                                                                                        (car
                                                                                                         p_1)))
                                                                                                   a_0)))
                                                                                            (call-with-values
                                                                                             (lambda ()
                                                                                               (let ((d_2
                                                                                                      (cdr
                                                                                                       p_1)))
                                                                                                 (let ((p_2
                                                                                                        (unwrap
                                                                                                         d_2)))
                                                                                                   (let ((field/proc-name_0
                                                                                                          (let ((a_0
                                                                                                                 (car
                                                                                                                  p_2)))
                                                                                                            (let ((d_3
                                                                                                                   (cdr
                                                                                                                    (unwrap
                                                                                                                     a_0))))
                                                                                                              (let ((a_1
                                                                                                                     (car
                                                                                                                      (unwrap
                                                                                                                       d_3))))
                                                                                                                a_1)))))
                                                                                                     (let ((contract_0
                                                                                                            (let ((d_3
                                                                                                                   (cdr
                                                                                                                    p_2)))
                                                                                                              (let ((a_0
                                                                                                                     (car
                                                                                                                      (unwrap
                                                                                                                       d_3))))
                                                                                                                a_0))))
                                                                                                       (let ((field/proc-name_1
                                                                                                              field/proc-name_0))
                                                                                                         (values
                                                                                                          field/proc-name_1
                                                                                                          contract_0)))))))
                                                                                             (lambda (field/proc-name_0
                                                                                                      contract_0)
                                                                                               (let ((pos_1
                                                                                                      pos_0))
                                                                                                 (values
                                                                                                  pos_1
                                                                                                  field/proc-name_0
                                                                                                  contract_0))))))))
                                                                                    (lambda (pos_0
                                                                                             field/proc-name_0
                                                                                             contract_0)
                                                                                      (let ((set-id_1
                                                                                             set-id_0))
                                                                                        (values
                                                                                         set-id_1
                                                                                         pos_0
                                                                                         field/proc-name_0
                                                                                         contract_0))))))))
                                                                           (lambda (set-id_0
                                                                                    pos_0
                                                                                    field/proc-name_0
                                                                                    contract_0)
                                                                             (if (let ((app_0
                                                                                        (unwrap
                                                                                         set-id_0)))
                                                                                   (eq?
                                                                                    app_0
                                                                                    (unwrap
                                                                                     -set!_0)))
                                                                               (if (symbol?
                                                                                    field/proc-name_0)
                                                                                 (if (exact-nonnegative-integer?
                                                                                      pos_0)
                                                                                   (ok-contract?_0
                                                                                    contract_0)
                                                                                   #f)
                                                                                 #f)
                                                                               #f)))
                                                                          (if (if (eq?
                                                                                   'make-struct-field-mutator
                                                                                   hd_1)
                                                                                (let ((a_0
                                                                                       (cdr
                                                                                        (unwrap
                                                                                         v_0))))
                                                                                  (let ((p_0
                                                                                         (unwrap
                                                                                          a_0)))
                                                                                    (if (pair?
                                                                                         p_0)
                                                                                      (let ((a_1
                                                                                             (cdr
                                                                                              p_0)))
                                                                                        (let ((p_1
                                                                                               (unwrap
                                                                                                a_1)))
                                                                                          (if (pair?
                                                                                               p_1)
                                                                                            (let ((a_2
                                                                                                   (cdr
                                                                                                    p_1)))
                                                                                              (let ((p_2
                                                                                                     (unwrap
                                                                                                      a_2)))
                                                                                                (if (pair?
                                                                                                     p_2)
                                                                                                  (if (let ((a_3
                                                                                                             (car
                                                                                                              p_2)))
                                                                                                        (let ((p_3
                                                                                                               (unwrap
                                                                                                                a_3)))
                                                                                                          (if (pair?
                                                                                                               p_3)
                                                                                                            (if (let ((a_4
                                                                                                                       (car
                                                                                                                        p_3)))
                                                                                                                  (let ((app_0
                                                                                                                         (unwrap
                                                                                                                          'quote)))
                                                                                                                    (eq?
                                                                                                                     app_0
                                                                                                                     (unwrap
                                                                                                                      a_4))))
                                                                                                              (let ((a_4
                                                                                                                     (cdr
                                                                                                                      p_3)))
                                                                                                                (let ((p_4
                                                                                                                       (unwrap
                                                                                                                        a_4)))
                                                                                                                  (if (pair?
                                                                                                                       p_4)
                                                                                                                    (let ((a_5
                                                                                                                           (cdr
                                                                                                                            p_4)))
                                                                                                                      (let ((app_0
                                                                                                                             (unwrap
                                                                                                                              '())))
                                                                                                                        (eq?
                                                                                                                         app_0
                                                                                                                         (unwrap
                                                                                                                          a_5))))
                                                                                                                    #f)))
                                                                                                              #f)
                                                                                                            #f)))
                                                                                                    (let ((a_3
                                                                                                           (cdr
                                                                                                            p_2)))
                                                                                                      (let ((p_3
                                                                                                             (unwrap
                                                                                                              a_3)))
                                                                                                        (if (pair?
                                                                                                             p_3)
                                                                                                          (let ((a_4
                                                                                                                 (cdr
                                                                                                                  p_3)))
                                                                                                            (let ((p_4
                                                                                                                   (unwrap
                                                                                                                    a_4)))
                                                                                                              (if (pair?
                                                                                                                   p_4)
                                                                                                                (if (let ((a_5
                                                                                                                           (car
                                                                                                                            p_4)))
                                                                                                                      (let ((p_5
                                                                                                                             (unwrap
                                                                                                                              a_5)))
                                                                                                                        (if (pair?
                                                                                                                             p_5)
                                                                                                                          (if (let ((a_6
                                                                                                                                     (car
                                                                                                                                      p_5)))
                                                                                                                                (let ((app_0
                                                                                                                                       (unwrap
                                                                                                                                        'quote)))
                                                                                                                                  (eq?
                                                                                                                                   app_0
                                                                                                                                   (unwrap
                                                                                                                                    a_6))))
                                                                                                                            (let ((a_6
                                                                                                                                   (cdr
                                                                                                                                    p_5)))
                                                                                                                              (let ((p_6
                                                                                                                                     (unwrap
                                                                                                                                      a_6)))
                                                                                                                                (if (pair?
                                                                                                                                     p_6)
                                                                                                                                  (let ((a_7
                                                                                                                                         (cdr
                                                                                                                                          p_6)))
                                                                                                                                    (let ((app_0
                                                                                                                                           (unwrap
                                                                                                                                            '())))
                                                                                                                                      (eq?
                                                                                                                                       app_0
                                                                                                                                       (unwrap
                                                                                                                                        a_7))))
                                                                                                                                  #f)))
                                                                                                                            #f)
                                                                                                                          #f)))
                                                                                                                  (let ((a_5
                                                                                                                         (cdr
                                                                                                                          p_4)))
                                                                                                                    (let ((app_0
                                                                                                                           (unwrap
                                                                                                                            '())))
                                                                                                                      (eq?
                                                                                                                       app_0
                                                                                                                       (unwrap
                                                                                                                        a_5))))
                                                                                                                  #f)
                                                                                                                #f)))
                                                                                                          #f)))
                                                                                                    #f)
                                                                                                  #f)))
                                                                                            #f)))
                                                                                      #f)))
                                                                                #f)
                                                                            (call-with-values
                                                                             (lambda ()
                                                                               (let ((d_0
                                                                                      (cdr
                                                                                       (unwrap
                                                                                        v_0))))
                                                                                 (let ((p_0
                                                                                        (unwrap
                                                                                         d_0)))
                                                                                   (let ((set-id_0
                                                                                          (let ((a_0
                                                                                                 (car
                                                                                                  p_0)))
                                                                                            a_0)))
                                                                                     (call-with-values
                                                                                      (lambda ()
                                                                                        (let ((d_1
                                                                                               (cdr
                                                                                                p_0)))
                                                                                          (let ((p_1
                                                                                                 (unwrap
                                                                                                  d_1)))
                                                                                            (let ((pos_0
                                                                                                   (let ((a_0
                                                                                                          (car
                                                                                                           p_1)))
                                                                                                     a_0)))
                                                                                              (call-with-values
                                                                                               (lambda ()
                                                                                                 (let ((d_2
                                                                                                        (cdr
                                                                                                         p_1)))
                                                                                                   (let ((p_2
                                                                                                          (unwrap
                                                                                                           d_2)))
                                                                                                     (let ((field/proc-name_0
                                                                                                            (let ((a_0
                                                                                                                   (car
                                                                                                                    p_2)))
                                                                                                              (let ((d_3
                                                                                                                     (cdr
                                                                                                                      (unwrap
                                                                                                                       a_0))))
                                                                                                                (let ((a_1
                                                                                                                       (car
                                                                                                                        (unwrap
                                                                                                                         d_3))))
                                                                                                                  a_1)))))
                                                                                                       (call-with-values
                                                                                                        (lambda ()
                                                                                                          (let ((d_3
                                                                                                                 (cdr
                                                                                                                  p_2)))
                                                                                                            (let ((p_3
                                                                                                                   (unwrap
                                                                                                                    d_3)))
                                                                                                              (let ((contract_0
                                                                                                                     (let ((a_0
                                                                                                                            (car
                                                                                                                             p_3)))
                                                                                                                       a_0)))
                                                                                                                (let ((realm_0
                                                                                                                       (let ((d_4
                                                                                                                              (cdr
                                                                                                                               p_3)))
                                                                                                                         (let ((a_0
                                                                                                                                (car
                                                                                                                                 (unwrap
                                                                                                                                  d_4))))
                                                                                                                           (let ((d_5
                                                                                                                                  (cdr
                                                                                                                                   (unwrap
                                                                                                                                    a_0))))
                                                                                                                             (let ((a_1
                                                                                                                                    (car
                                                                                                                                     (unwrap
                                                                                                                                      d_5))))
                                                                                                                               a_1))))))
                                                                                                                  (let ((contract_1
                                                                                                                         contract_0))
                                                                                                                    (values
                                                                                                                     contract_1
                                                                                                                     realm_0)))))))
                                                                                                        (lambda (contract_0
                                                                                                                 realm_0)
                                                                                                          (let ((field/proc-name_1
                                                                                                                 field/proc-name_0))
                                                                                                            (values
                                                                                                             field/proc-name_1
                                                                                                             contract_0
                                                                                                             realm_0))))))))
                                                                                               (lambda (field/proc-name_0
                                                                                                        contract_0
                                                                                                        realm_0)
                                                                                                 (let ((pos_1
                                                                                                        pos_0))
                                                                                                   (values
                                                                                                    pos_1
                                                                                                    field/proc-name_0
                                                                                                    contract_0
                                                                                                    realm_0))))))))
                                                                                      (lambda (pos_0
                                                                                               field/proc-name_0
                                                                                               contract_0
                                                                                               realm_0)
                                                                                        (let ((set-id_1
                                                                                               set-id_0))
                                                                                          (values
                                                                                           set-id_1
                                                                                           pos_0
                                                                                           field/proc-name_0
                                                                                           contract_0
                                                                                           realm_0))))))))
                                                                             (lambda (set-id_0
                                                                                      pos_0
                                                                                      field/proc-name_0
                                                                                      contract_0
                                                                                      realm_0)
                                                                               (if (let ((app_0
                                                                                          (unwrap
                                                                                           set-id_0)))
                                                                                     (eq?
                                                                                      app_0
                                                                                      (unwrap
                                                                                       -set!_0)))
                                                                                 (if (symbol?
                                                                                      field/proc-name_0)
                                                                                   (if (exact-nonnegative-integer?
                                                                                        pos_0)
                                                                                     (if (ok-contract?_0
                                                                                          contract_0)
                                                                                       (symbol?
                                                                                        realm_0)
                                                                                       #f)
                                                                                     #f)
                                                                                   #f)
                                                                                 #f)))
                                                                            #f))))))))))
                                                       (values result_1))))
                                                (if (if (not
                                                         (let ((x_0
                                                                (list
                                                                 acc/mut_0)))
                                                           (not result_1)))
                                                      (if (not
                                                           (let ((x_0
                                                                  (list
                                                                   make-acc/mut_0)))
                                                             (not result_1)))
                                                        #t
                                                        #f)
                                                      #f)
                                                  (for-loop_0
                                                   result_1
                                                   rest_0
                                                   rest_1)
                                                  result_1)))))))
                                    result_0)))))
                             (for-loop_0 #t acc/muts_0 make-acc/muts_0))
                          (make-struct-type-info
                           mk_0
                           prim-knowns_0
                           knowns_0
                           imports_0
                           mutated_0)
                          #f)
                        #f)
                      #f)
                    #f)))
             (if (if sti_0
                   (if (letrec*
                        ((for-loop_0
                          (|#%name|
                           for-loop
                           (lambda (result_0 lst_0)
                             (if (pair? lst_0)
                               (let ((make-acc/mut_0 (unsafe-car lst_0)))
                                 (let ((rest_0 (unsafe-cdr lst_0)))
                                   (let ((result_1
                                          (let ((result_1
                                                 (let ((v_0
                                                        (unwrap-let.1
                                                         #f
                                                         make-acc/mut_0)))
                                                   (if (let ((p_0
                                                              (unwrap v_0)))
                                                         (if (pair? p_0)
                                                           (let ((a_0
                                                                  (cdr p_0)))
                                                             (let ((p_1
                                                                    (unwrap
                                                                     a_0)))
                                                               (if (pair? p_1)
                                                                 (let ((a_1
                                                                        (cdr
                                                                         p_1)))
                                                                   (let ((p_2
                                                                          (unwrap
                                                                           a_1)))
                                                                     (if (pair?
                                                                          p_2)
                                                                       #t
                                                                       #f)))
                                                                 #f)))
                                                           #f))
                                                     (let ((pos_0
                                                            (let ((d_0
                                                                   (cdr
                                                                    (unwrap
                                                                     v_0))))
                                                              (let ((d_1
                                                                     (cdr
                                                                      (unwrap
                                                                       d_0))))
                                                                (let ((a_0
                                                                       (car
                                                                        (unwrap
                                                                         d_1))))
                                                                  a_0)))))
                                                       (<
                                                        pos_0
                                                        (struct-type-info-immediate-field-count
                                                         sti_0)))
                                                     (error
                                                      'match
                                                      "failed ~e"
                                                      v_0)))))
                                            (values result_1))))
                                     (if (if (not
                                              (let ((x_0
                                                     (list make-acc/mut_0)))
                                                (not result_1)))
                                           #t
                                           #f)
                                       (for-loop_0 result_1 rest_0)
                                       result_1))))
                               result_0)))))
                        (for-loop_0 #t make-acc/muts_0))
                     (if (simple-mutated-state?
                          (hash-ref mutated_0 (unwrap struct:_0) #f))
                       (if no-prompt?_0
                         no-prompt?_0
                         (let ((or-part_0
                                (null? (struct-type-info-rest sti_0))))
                           (if or-part_0
                             or-part_0
                             (not
                              (set!ed-mutated-state?
                               (hash-ref mutated_0 (unwrap struct:s_0) #f))))))
                       #f)
                     #f)
                   #f)
               (let ((can-impersonate?_0
                      (not (struct-type-info-authentic? sti_0))))
                 (let ((generate-check?_0
                        (if can-impersonate?_0
                          can-impersonate?_0
                          (not (eq? target_0 'system)))))
                   (let ((raw-s?_0
                          (if generate-check?_0
                            (deterministic-gensym (unwrap s?_0))
                            s?_0)))
                     (let ((system-opaque?_0
                            (if (eq? target_0 'system)
                              (let ((or-part_0 (not exports_0)))
                                (if or-part_0
                                  or-part_0
                                  (eq?
                                   'no
                                   (hash-ref
                                    exports_0
                                    (unwrap struct:s_0)
                                    'no))))
                              #f)))
                       (let ((finish!-id_0
                              (if (let ((or-part_0
                                         (pair?
                                          (struct-type-info-rest sti_0))))
                                    (if or-part_0
                                      or-part_0
                                      (if (struct-type-info-prefab-immutables
                                           sti_0)
                                        (unwrap
                                         (struct-type-info-parent sti_0))
                                        #f)))
                                (deterministic-gensym "finish")
                                #f)))
                         (list*
                          'begin
                          (let ((app_0
                                 (if finish!-id_0
                                   (list
                                    (list
                                     'define
                                     finish!-id_0
                                     (let ((app_0
                                            (list
                                             'quote
                                             (if system-opaque?_0
                                               (list
                                                (struct-type-info-name sti_0))
                                               (struct-type-info-name
                                                sti_0)))))
                                       (let ((app_1
                                              (struct-type-info-immediate-field-count
                                               sti_0)))
                                         (let ((app_2
                                                (|#%app|
                                                 schemify_0
                                                 (struct-type-info-parent
                                                  sti_0)
                                                 knowns_0)))
                                           (list*
                                            'make-struct-type-install-properties
                                            app_0
                                            app_1
                                            0
                                            app_2
                                            (schemify-body$1
                                             schemify_0
                                             knowns_0
                                             (struct-type-info-rest
                                              sti_0))))))))
                                   null)))
                            (qq-append
                             app_0
                             (let ((app_1
                                    (list
                                     'define
                                     struct:s_0
                                     (let ((app_1
                                            (list
                                             'quote
                                             (struct-type-info-name sti_0))))
                                       (let ((app_2
                                              (|#%app|
                                               schemify_0
                                               (struct-type-info-parent sti_0)
                                               knowns_0)))
                                         (let ((app_3
                                                (if (not
                                                     (struct-type-info-prefab-immutables
                                                      sti_0))
                                                  (if (if top?_0
                                                        (eq? target_0 'system)
                                                        #f)
                                                    (list
                                                     '|#%nongenerative-uid|
                                                     (struct-type-info-name
                                                      sti_0))
                                                    #f)
                                                  (let ((app_3
                                                         (list
                                                          'quote
                                                          (struct-type-info-name
                                                           sti_0))))
                                                    (let ((app_4
                                                           (|#%app|
                                                            schemify_0
                                                            (struct-type-info-parent
                                                             sti_0)
                                                            knowns_0)))
                                                      (let ((app_5
                                                             (struct-type-info-immediate-field-count
                                                              sti_0)))
                                                        (list
                                                         'structure-type-lookup-prefab-uid
                                                         app_3
                                                         app_4
                                                         app_5
                                                         0
                                                         #f
                                                         (list
                                                          'quote
                                                          (struct-type-info-prefab-immutables
                                                           sti_0)))))))))
                                           (let ((app_4
                                                  (struct-type-info-sealed?
                                                   sti_0)))
                                             (list
                                              'make-record-type-descriptor
                                              app_1
                                              app_2
                                              app_3
                                              app_4
                                              #f
                                              (list
                                               'quote
                                               (list*
                                                (struct-type-info-immediate-field-count
                                                 sti_0)
                                                (let ((n_0
                                                       (struct-type-info-immediate-field-count
                                                        sti_0)))
                                                  (let ((mask_0
                                                         (sub1
                                                          (arithmetic-shift
                                                           1
                                                           n_0))))
                                                    (let ((cond-val_0
                                                           (struct-type-info-non-prefab-immutables
                                                            sti_0)))
                                                      (if cond-val_0
                                                        (letrec*
                                                         ((loop_0
                                                           (|#%name|
                                                            loop
                                                            (lambda (imms_0
                                                                     mask_1)
                                                              (if (null?
                                                                   imms_0)
                                                                mask_1
                                                                (let ((m_0
                                                                       (bitwise-not
                                                                        (arithmetic-shift
                                                                         1
                                                                         (car
                                                                          imms_0)))))
                                                                  (let ((app_5
                                                                         (cdr
                                                                          imms_0)))
                                                                    (loop_0
                                                                     app_5
                                                                     (bitwise-and
                                                                      mask_1
                                                                      m_0)))))))))
                                                         (loop_0
                                                          cond-val_0
                                                          mask_0))
                                                        mask_0))))))))))))))
                               (list*
                                app_1
                                (let ((app_2
                                       (if finish!-id_0
                                         (list
                                          (let ((app_2
                                                 (deterministic-gensym
                                                  "effect")))
                                            (list
                                             'define
                                             app_2
                                             (list finish!-id_0 struct:s_0))))
                                         null)))
                                  (qq-append
                                   app_2
                                   (let ((app_3
                                          (list
                                           'define
                                           make-s_0
                                           (let ((ctr_0
                                                  (list
                                                   'record-constructor
                                                   (list*
                                                    'make-record-constructor-descriptor
                                                    struct:s_0
                                                    '(#f #f)))))
                                             (let ((ctr-expr_0
                                                    (if (struct-type-info-pure-constructor?
                                                         sti_0)
                                                      ctr_0
                                                      (list
                                                       'struct-type-constructor-add-guards
                                                       ctr_0
                                                       struct:s_0
                                                       (list
                                                        'quote
                                                        (struct-type-info-name
                                                         sti_0))))))
                                               (let ((name-expr_0
                                                      (struct-type-info-constructor-name-expr
                                                       sti_0)))
                                                 (let ((c_0
                                                        (if (let ((app_3
                                                                   (unwrap
                                                                    #f)))
                                                              (eq?
                                                               app_3
                                                               (unwrap
                                                                name-expr_0)))
                                                          (wrap-property-set
                                                           ctr-expr_0
                                                           'inferred-name
                                                           (struct-type-info-name
                                                            sti_0))
                                                          (if (let ((p_0
                                                                     (unwrap
                                                                      name-expr_0)))
                                                                (if (pair? p_0)
                                                                  (if (let ((a_0
                                                                             (car
                                                                              p_0)))
                                                                        (let ((app_3
                                                                               (unwrap
                                                                                'quote)))
                                                                          (eq?
                                                                           app_3
                                                                           (unwrap
                                                                            a_0))))
                                                                    (let ((a_0
                                                                           (cdr
                                                                            p_0)))
                                                                      (let ((p_1
                                                                             (unwrap
                                                                              a_0)))
                                                                        (if (pair?
                                                                             p_1)
                                                                          (let ((a_1
                                                                                 (cdr
                                                                                  p_1)))
                                                                            (let ((app_3
                                                                                   (unwrap
                                                                                    '())))
                                                                              (eq?
                                                                               app_3
                                                                               (unwrap
                                                                                a_1))))
                                                                          #f)))
                                                                    #f)
                                                                  #f))
                                                            (let ((sym_0
                                                                   (let ((d_0
                                                                          (cdr
                                                                           (unwrap
                                                                            name-expr_0))))
                                                                     (let ((a_0
                                                                            (car
                                                                             (unwrap
                                                                              d_0))))
                                                                       a_0))))
                                                              (if (symbol?
                                                                   sym_0)
                                                                (wrap-property-set
                                                                 ctr-expr_0
                                                                 'inferred-name
                                                                 sym_0)
                                                                (list
                                                                 'procedure-rename
                                                                 ctr-expr_0
                                                                 name-expr_0)))
                                                            (list
                                                             'procedure-rename
                                                             ctr-expr_0
                                                             name-expr_0)))))
                                                   (if system-opaque?_0
                                                     c_0
                                                     (list
                                                      '|#%struct-constructor|
                                                      c_0
                                                      (arithmetic-shift
                                                       1
                                                       (struct-type-info-field-count
                                                        sti_0)))))))))))
                                     (let ((app_4
                                            (list
                                             'define
                                             raw-s?_0
                                             (let ((pre_0 ""))
                                               (let ((p_0
                                                      (let ((proc-name_0
                                                             (let ((st_0
                                                                    (struct-type-info-name
                                                                     sti_0)))
                                                               (let ((sep_0
                                                                      ""))
                                                                 (let ((post_0
                                                                        "?"))
                                                                   (string->symbol
                                                                    (let ((app_4
                                                                           (symbol->immutable-string
                                                                            st_0)))
                                                                      (string-append-immutable
                                                                       pre_0
                                                                       app_4
                                                                       sep_0
                                                                       (symbol->immutable-string
                                                                        '||)
                                                                       post_0))))))))
                                                        (let ((proc-expr_0
                                                               (list
                                                                'record-predicate
                                                                struct:s_0)))
                                                          (let ((proc-name_1
                                                                 proc-name_0))
                                                            (wrap-property-set
                                                             proc-expr_0
                                                             'inferred-name
                                                             proc-name_1))))))
                                                 (if (if generate-check?_0
                                                       generate-check?_0
                                                       system-opaque?_0)
                                                   p_0
                                                   (list
                                                    '|#%struct-predicate|
                                                    p_0)))))))
                                       (list*
                                        app_3
                                        app_4
                                        (let ((app_5
                                               (if generate-check?_0
                                                 (list
                                                  (list
                                                   'define
                                                   s?_0
                                                   (let ((pre_0 ""))
                                                     (let ((p_0
                                                            (let ((proc-name_0
                                                                   (let ((st_0
                                                                          (struct-type-info-name
                                                                           sti_0)))
                                                                     (let ((sep_0
                                                                            ""))
                                                                       (let ((post_0
                                                                              "?"))
                                                                         (string->symbol
                                                                          (let ((app_5
                                                                                 (symbol->immutable-string
                                                                                  st_0)))
                                                                            (string-append-immutable
                                                                             pre_0
                                                                             app_5
                                                                             sep_0
                                                                             (symbol->immutable-string
                                                                              '||)
                                                                             post_0))))))))
                                                              (let ((proc-expr_0
                                                                     (list
                                                                      'lambda
                                                                      '(v)
                                                                      (if can-impersonate?_0
                                                                        (list
                                                                         'if
                                                                         (list*
                                                                          raw-s?_0
                                                                          '(v))
                                                                         #t
                                                                         (list
                                                                          '$value
                                                                          (list*
                                                                           'if
                                                                           '(impersonator?
                                                                             v)
                                                                           (list*
                                                                            raw-s?_0
                                                                            '((impersonator-val
                                                                               v)))
                                                                           '(#f))))
                                                                        (list*
                                                                         raw-s?_0
                                                                         '(v))))))
                                                                (let ((proc-name_1
                                                                       proc-name_0))
                                                                  (wrap-property-set
                                                                   proc-expr_0
                                                                   'inferred-name
                                                                   proc-name_1))))))
                                                       (if system-opaque?_0
                                                         p_0
                                                         (list
                                                          '|#%struct-predicate|
                                                          p_0))))))
                                                 null)))
                                          (qq-append
                                           app_5
                                           (reverse$1
                                            (letrec*
                                             ((for-loop_0
                                               (|#%name|
                                                for-loop
                                                (lambda (fold-var_0
                                                         lst_0
                                                         lst_1)
                                                  (if (if (pair? lst_0)
                                                        (pair? lst_1)
                                                        #f)
                                                    (let ((acc/mut_0
                                                           (unsafe-car lst_0)))
                                                      (let ((rest_0
                                                             (unsafe-cdr
                                                              lst_0)))
                                                        (let ((make-acc/mut_0
                                                               (unsafe-car
                                                                lst_1)))
                                                          (let ((rest_1
                                                                 (unsafe-cdr
                                                                  lst_1)))
                                                            (let ((fold-var_1
                                                                   (let ((fold-var_1
                                                                          (cons
                                                                           (let ((raw-acc/mut_0
                                                                                  (if generate-check?_0
                                                                                    (deterministic-gensym
                                                                                     (unwrap
                                                                                      acc/mut_0))
                                                                                    acc/mut_0)))
                                                                             (let ((make-err-args_0
                                                                                    (|#%name|
                                                                                     make-err-args
                                                                                     (lambda (field/proc-name_0
                                                                                              proc-name_0
                                                                                              contract_0
                                                                                              realm_0
                                                                                              need-type-name?_0)
                                                                                       (if (if (not
                                                                                                contract_0)
                                                                                             (eq?
                                                                                              realm_0
                                                                                              'racket)
                                                                                             #f)
                                                                                         (if need-type-name?_0
                                                                                           (let ((app_6
                                                                                                  (list
                                                                                                   'quote
                                                                                                   (struct-type-info-name
                                                                                                    sti_0))))
                                                                                             (list
                                                                                              app_6
                                                                                              (list
                                                                                               'quote
                                                                                               field/proc-name_0)))
                                                                                           (list
                                                                                            (list
                                                                                             'quote
                                                                                             field/proc-name_0)))
                                                                                         (let ((contract_1
                                                                                                (if contract_0
                                                                                                  contract_0
                                                                                                  (list
                                                                                                   'quote
                                                                                                   (string->symbol
                                                                                                    (string-append-immutable
                                                                                                     (symbol->immutable-string
                                                                                                      (struct-type-info-name
                                                                                                       sti_0))
                                                                                                     "?"))))))
                                                                                           (list
                                                                                            (list
                                                                                             'quote
                                                                                             proc-name_0)
                                                                                            contract_1
                                                                                            (list
                                                                                             'quote
                                                                                             realm_0))))))))
                                                                               (let ((build-accessor_0
                                                                                      (|#%name|
                                                                                       build-accessor
                                                                                       (lambda (pos_0
                                                                                                field/proc-name_0
                                                                                                contract_0
                                                                                                realm_0)
                                                                                         (let ((proc-name_0
                                                                                                (if contract_0
                                                                                                  field/proc-name_0
                                                                                                  (let ((pre_0
                                                                                                         ""))
                                                                                                    (let ((st_0
                                                                                                           (struct-type-info-name
                                                                                                            sti_0)))
                                                                                                      (let ((sep_0
                                                                                                             "-"))
                                                                                                        (let ((post_0
                                                                                                               ""))
                                                                                                          (string->symbol
                                                                                                           (let ((app_6
                                                                                                                  (symbol->immutable-string
                                                                                                                   st_0)))
                                                                                                             (string-append-immutable
                                                                                                              pre_0
                                                                                                              app_6
                                                                                                              sep_0
                                                                                                              (symbol->immutable-string
                                                                                                               field/proc-name_0)
                                                                                                              post_0))))))))))
                                                                                           (let ((raw-def_0
                                                                                                  (list
                                                                                                   'define
                                                                                                   raw-acc/mut_0
                                                                                                   (let ((proc-expr_0
                                                                                                          (list
                                                                                                           'record-accessor
                                                                                                           struct:s_0
                                                                                                           pos_0)))
                                                                                                     (let ((p_0
                                                                                                            (wrap-property-set
                                                                                                             proc-expr_0
                                                                                                             'inferred-name
                                                                                                             proc-name_0)))
                                                                                                       (if (if generate-check?_0
                                                                                                             generate-check?_0
                                                                                                             system-opaque?_0)
                                                                                                         p_0
                                                                                                         (list
                                                                                                          '|#%struct-field-accessor|
                                                                                                          p_0
                                                                                                          struct:s_0
                                                                                                          pos_0)))))))
                                                                                             (let ((err-args_0
                                                                                                    (|#%name|
                                                                                                     err-args
                                                                                                     (lambda (need-type-name?_0)
                                                                                                       (make-err-args_0
                                                                                                        field/proc-name_0
                                                                                                        proc-name_0
                                                                                                        contract_0
                                                                                                        realm_0
                                                                                                        need-type-name?_0)))))
                                                                                               (if generate-check?_0
                                                                                                 (list
                                                                                                  'begin
                                                                                                  raw-def_0
                                                                                                  (list
                                                                                                   'define
                                                                                                   acc/mut_0
                                                                                                   (let ((p_0
                                                                                                          (let ((proc-expr_0
                                                                                                                 (list
                                                                                                                  'lambda
                                                                                                                  '(s)
                                                                                                                  (let ((app_6
                                                                                                                         (list*
                                                                                                                          raw-s?_0
                                                                                                                          '(s))))
                                                                                                                    (let ((app_7
                                                                                                                           (list*
                                                                                                                            raw-acc/mut_0
                                                                                                                            '(s))))
                                                                                                                      (list
                                                                                                                       'if
                                                                                                                       app_6
                                                                                                                       app_7
                                                                                                                       (if can-impersonate?_0
                                                                                                                         (list
                                                                                                                          '$value
                                                                                                                          (list*
                                                                                                                           'impersonate-ref
                                                                                                                           raw-acc/mut_0
                                                                                                                           struct:s_0
                                                                                                                           pos_0
                                                                                                                           's
                                                                                                                           (err-args_0
                                                                                                                            #f)))
                                                                                                                         (list*
                                                                                                                          '|#%struct-ref-error|
                                                                                                                          's
                                                                                                                          (err-args_0
                                                                                                                           #t)))))))))
                                                                                                            (wrap-property-set
                                                                                                             proc-expr_0
                                                                                                             'inferred-name
                                                                                                             proc-name_0))))
                                                                                                     (if system-opaque?_0
                                                                                                       p_0
                                                                                                       (list
                                                                                                        '|#%struct-field-accessor|
                                                                                                        p_0
                                                                                                        struct:s_0
                                                                                                        pos_0)))))
                                                                                                 raw-def_0))))))))
                                                                                 (let ((build-mutator_0
                                                                                        (|#%name|
                                                                                         build-mutator
                                                                                         (lambda (pos_0
                                                                                                  field/proc-name_0
                                                                                                  contract_0
                                                                                                  realm_0)
                                                                                           (let ((proc-name_0
                                                                                                  (if contract_0
                                                                                                    field/proc-name_0
                                                                                                    (let ((pre_0
                                                                                                           "set-"))
                                                                                                      (let ((st_0
                                                                                                             (struct-type-info-name
                                                                                                              sti_0)))
                                                                                                        (let ((sep_0
                                                                                                               "-"))
                                                                                                          (let ((post_0
                                                                                                                 "!"))
                                                                                                            (string->symbol
                                                                                                             (let ((app_6
                                                                                                                    (symbol->immutable-string
                                                                                                                     st_0)))
                                                                                                               (string-append-immutable
                                                                                                                pre_0
                                                                                                                app_6
                                                                                                                sep_0
                                                                                                                (symbol->immutable-string
                                                                                                                 field/proc-name_0)
                                                                                                                post_0))))))))))
                                                                                             (let ((raw-def_0
                                                                                                    (list
                                                                                                     'define
                                                                                                     raw-acc/mut_0
                                                                                                     (let ((proc-expr_0
                                                                                                            (list
                                                                                                             'record-mutator
                                                                                                             struct:s_0
                                                                                                             pos_0)))
                                                                                                       (let ((p_0
                                                                                                              (wrap-property-set
                                                                                                               proc-expr_0
                                                                                                               'inferred-name
                                                                                                               proc-name_0)))
                                                                                                         (if (if generate-check?_0
                                                                                                               generate-check?_0
                                                                                                               system-opaque?_0)
                                                                                                           p_0
                                                                                                           (list
                                                                                                            '|#%struct-field-mutator|
                                                                                                            p_0
                                                                                                            struct:s_0
                                                                                                            pos_0)))))))
                                                                                               (let ((abs-pos_0
                                                                                                      (+
                                                                                                       pos_0
                                                                                                       (-
                                                                                                        (struct-type-info-field-count
                                                                                                         sti_0)
                                                                                                        (struct-type-info-immediate-field-count
                                                                                                         sti_0)))))
                                                                                                 (let ((err-args_0
                                                                                                        (|#%name|
                                                                                                         err-args
                                                                                                         (lambda (need-type-name?_0)
                                                                                                           (make-err-args_0
                                                                                                            field/proc-name_0
                                                                                                            proc-name_0
                                                                                                            contract_0
                                                                                                            realm_0
                                                                                                            need-type-name?_0)))))
                                                                                                   (if generate-check?_0
                                                                                                     (list
                                                                                                      'begin
                                                                                                      raw-def_0
                                                                                                      (list
                                                                                                       'define
                                                                                                       acc/mut_0
                                                                                                       (let ((p_0
                                                                                                              (let ((proc-expr_0
                                                                                                                     (list
                                                                                                                      'lambda
                                                                                                                      '(s
                                                                                                                        v)
                                                                                                                      (let ((app_6
                                                                                                                             (list*
                                                                                                                              raw-s?_0
                                                                                                                              '(s))))
                                                                                                                        (let ((app_7
                                                                                                                               (list*
                                                                                                                                raw-acc/mut_0
                                                                                                                                '(s
                                                                                                                                  v))))
                                                                                                                          (list
                                                                                                                           'if
                                                                                                                           app_6
                                                                                                                           app_7
                                                                                                                           (if can-impersonate?_0
                                                                                                                             (list
                                                                                                                              '$value
                                                                                                                              (list*
                                                                                                                               'impersonate-set!
                                                                                                                               raw-acc/mut_0
                                                                                                                               struct:s_0
                                                                                                                               pos_0
                                                                                                                               abs-pos_0
                                                                                                                               's
                                                                                                                               'v
                                                                                                                               (err-args_0
                                                                                                                                #f)))
                                                                                                                             (list*
                                                                                                                              '|#%struct-set!-error|
                                                                                                                              's
                                                                                                                              (err-args_0
                                                                                                                               #t)))))))))
                                                                                                                (wrap-property-set
                                                                                                                 proc-expr_0
                                                                                                                 'inferred-name
                                                                                                                 proc-name_0))))
                                                                                                         (if system-opaque?_0
                                                                                                           p_0
                                                                                                           (list
                                                                                                            '|#%struct-field-mutator|
                                                                                                            p_0
                                                                                                            struct:s_0
                                                                                                            pos_0)))))
                                                                                                     raw-def_0)))))))))
                                                                                   (let ((v_0
                                                                                          (unwrap-let.1
                                                                                           #f
                                                                                           make-acc/mut_0)))
                                                                                     (let ((hd_1
                                                                                            (let ((p_0
                                                                                                   (unwrap
                                                                                                    v_0)))
                                                                                              (if (pair?
                                                                                                   p_0)
                                                                                                (unwrap
                                                                                                 (car
                                                                                                  p_0))
                                                                                                #f))))
                                                                                       (if (if (eq?
                                                                                                'make-struct-field-accessor
                                                                                                hd_1)
                                                                                             (let ((a_0
                                                                                                    (cdr
                                                                                                     (unwrap
                                                                                                      v_0))))
                                                                                               (let ((p_0
                                                                                                      (unwrap
                                                                                                       a_0)))
                                                                                                 (if (pair?
                                                                                                      p_0)
                                                                                                   (let ((a_1
                                                                                                          (cdr
                                                                                                           p_0)))
                                                                                                     (let ((p_1
                                                                                                            (unwrap
                                                                                                             a_1)))
                                                                                                       (if (pair?
                                                                                                            p_1)
                                                                                                         (let ((a_2
                                                                                                                (cdr
                                                                                                                 p_1)))
                                                                                                           (let ((p_2
                                                                                                                  (unwrap
                                                                                                                   a_2)))
                                                                                                             (if (pair?
                                                                                                                  p_2)
                                                                                                               (if (let ((a_3
                                                                                                                          (car
                                                                                                                           p_2)))
                                                                                                                     (let ((p_3
                                                                                                                            (unwrap
                                                                                                                             a_3)))
                                                                                                                       (if (pair?
                                                                                                                            p_3)
                                                                                                                         (if (let ((a_4
                                                                                                                                    (car
                                                                                                                                     p_3)))
                                                                                                                               (let ((app_6
                                                                                                                                      (unwrap
                                                                                                                                       'quote)))
                                                                                                                                 (eq?
                                                                                                                                  app_6
                                                                                                                                  (unwrap
                                                                                                                                   a_4))))
                                                                                                                           (let ((a_4
                                                                                                                                  (cdr
                                                                                                                                   p_3)))
                                                                                                                             (let ((p_4
                                                                                                                                    (unwrap
                                                                                                                                     a_4)))
                                                                                                                               (if (pair?
                                                                                                                                    p_4)
                                                                                                                                 (let ((a_5
                                                                                                                                        (cdr
                                                                                                                                         p_4)))
                                                                                                                                   (let ((app_6
                                                                                                                                          (unwrap
                                                                                                                                           '())))
                                                                                                                                     (eq?
                                                                                                                                      app_6
                                                                                                                                      (unwrap
                                                                                                                                       a_5))))
                                                                                                                                 #f)))
                                                                                                                           #f)
                                                                                                                         #f)))
                                                                                                                 (let ((a_3
                                                                                                                        (cdr
                                                                                                                         p_2)))
                                                                                                                   (let ((app_6
                                                                                                                          (unwrap
                                                                                                                           '())))
                                                                                                                     (eq?
                                                                                                                      app_6
                                                                                                                      (unwrap
                                                                                                                       a_3))))
                                                                                                                 #f)
                                                                                                               #f)))
                                                                                                         #f)))
                                                                                                   #f)))
                                                                                             #f)
                                                                                         (call-with-values
                                                                                          (lambda ()
                                                                                            (let ((d_0
                                                                                                   (cdr
                                                                                                    (unwrap
                                                                                                     v_0))))
                                                                                              (let ((d_1
                                                                                                     (cdr
                                                                                                      (unwrap
                                                                                                       d_0))))
                                                                                                (let ((p_0
                                                                                                       (unwrap
                                                                                                        d_1)))
                                                                                                  (let ((pos_0
                                                                                                         (let ((a_0
                                                                                                                (car
                                                                                                                 p_0)))
                                                                                                           a_0)))
                                                                                                    (let ((field-name_0
                                                                                                           (let ((d_2
                                                                                                                  (cdr
                                                                                                                   p_0)))
                                                                                                             (let ((a_0
                                                                                                                    (car
                                                                                                                     (unwrap
                                                                                                                      d_2))))
                                                                                                               (let ((d_3
                                                                                                                      (cdr
                                                                                                                       (unwrap
                                                                                                                        a_0))))
                                                                                                                 (let ((a_1
                                                                                                                        (car
                                                                                                                         (unwrap
                                                                                                                          d_3))))
                                                                                                                   a_1))))))
                                                                                                      (let ((pos_1
                                                                                                             pos_0))
                                                                                                        (values
                                                                                                         pos_1
                                                                                                         field-name_0))))))))
                                                                                          (lambda (pos_0
                                                                                                   field-name_0)
                                                                                            (build-accessor_0
                                                                                             pos_0
                                                                                             field-name_0
                                                                                             #f
                                                                                             'racket)))
                                                                                         (if (if (eq?
                                                                                                  'make-struct-field-accessor
                                                                                                  hd_1)
                                                                                               (let ((a_0
                                                                                                      (cdr
                                                                                                       (unwrap
                                                                                                        v_0))))
                                                                                                 (let ((p_0
                                                                                                        (unwrap
                                                                                                         a_0)))
                                                                                                   (if (pair?
                                                                                                        p_0)
                                                                                                     (let ((a_1
                                                                                                            (cdr
                                                                                                             p_0)))
                                                                                                       (let ((p_1
                                                                                                              (unwrap
                                                                                                               a_1)))
                                                                                                         (if (pair?
                                                                                                              p_1)
                                                                                                           (let ((a_2
                                                                                                                  (cdr
                                                                                                                   p_1)))
                                                                                                             (let ((p_2
                                                                                                                    (unwrap
                                                                                                                     a_2)))
                                                                                                               (if (pair?
                                                                                                                    p_2)
                                                                                                                 (if (let ((a_3
                                                                                                                            (car
                                                                                                                             p_2)))
                                                                                                                       (let ((p_3
                                                                                                                              (unwrap
                                                                                                                               a_3)))
                                                                                                                         (if (pair?
                                                                                                                              p_3)
                                                                                                                           (if (let ((a_4
                                                                                                                                      (car
                                                                                                                                       p_3)))
                                                                                                                                 (let ((app_6
                                                                                                                                        (unwrap
                                                                                                                                         'quote)))
                                                                                                                                   (eq?
                                                                                                                                    app_6
                                                                                                                                    (unwrap
                                                                                                                                     a_4))))
                                                                                                                             (let ((a_4
                                                                                                                                    (cdr
                                                                                                                                     p_3)))
                                                                                                                               (let ((p_4
                                                                                                                                      (unwrap
                                                                                                                                       a_4)))
                                                                                                                                 (if (pair?
                                                                                                                                      p_4)
                                                                                                                                   (let ((a_5
                                                                                                                                          (cdr
                                                                                                                                           p_4)))
                                                                                                                                     (let ((app_6
                                                                                                                                            (unwrap
                                                                                                                                             '())))
                                                                                                                                       (eq?
                                                                                                                                        app_6
                                                                                                                                        (unwrap
                                                                                                                                         a_5))))
                                                                                                                                   #f)))
                                                                                                                             #f)
                                                                                                                           #f)))
                                                                                                                   (let ((a_3
                                                                                                                          (cdr
                                                                                                                           p_2)))
                                                                                                                     (let ((p_3
                                                                                                                            (unwrap
                                                                                                                             a_3)))
                                                                                                                       (if (pair?
                                                                                                                            p_3)
                                                                                                                         (let ((a_4
                                                                                                                                (cdr
                                                                                                                                 p_3)))
                                                                                                                           (let ((app_6
                                                                                                                                  (unwrap
                                                                                                                                   '())))
                                                                                                                             (eq?
                                                                                                                              app_6
                                                                                                                              (unwrap
                                                                                                                               a_4))))
                                                                                                                         #f)))
                                                                                                                   #f)
                                                                                                                 #f)))
                                                                                                           #f)))
                                                                                                     #f)))
                                                                                               #f)
                                                                                           (call-with-values
                                                                                            (lambda ()
                                                                                              (let ((d_0
                                                                                                     (cdr
                                                                                                      (unwrap
                                                                                                       v_0))))
                                                                                                (let ((d_1
                                                                                                       (cdr
                                                                                                        (unwrap
                                                                                                         d_0))))
                                                                                                  (let ((p_0
                                                                                                         (unwrap
                                                                                                          d_1)))
                                                                                                    (let ((pos_0
                                                                                                           (let ((a_0
                                                                                                                  (car
                                                                                                                   p_0)))
                                                                                                             a_0)))
                                                                                                      (call-with-values
                                                                                                       (lambda ()
                                                                                                         (let ((d_2
                                                                                                                (cdr
                                                                                                                 p_0)))
                                                                                                           (let ((p_1
                                                                                                                  (unwrap
                                                                                                                   d_2)))
                                                                                                             (let ((field/proc-name_0
                                                                                                                    (let ((a_0
                                                                                                                           (car
                                                                                                                            p_1)))
                                                                                                                      (let ((d_3
                                                                                                                             (cdr
                                                                                                                              (unwrap
                                                                                                                               a_0))))
                                                                                                                        (let ((a_1
                                                                                                                               (car
                                                                                                                                (unwrap
                                                                                                                                 d_3))))
                                                                                                                          a_1)))))
                                                                                                               (let ((contract_0
                                                                                                                      (let ((d_3
                                                                                                                             (cdr
                                                                                                                              p_1)))
                                                                                                                        (let ((a_0
                                                                                                                               (car
                                                                                                                                (unwrap
                                                                                                                                 d_3))))
                                                                                                                          a_0))))
                                                                                                                 (let ((field/proc-name_1
                                                                                                                        field/proc-name_0))
                                                                                                                   (values
                                                                                                                    field/proc-name_1
                                                                                                                    contract_0)))))))
                                                                                                       (lambda (field/proc-name_0
                                                                                                                contract_0)
                                                                                                         (let ((pos_1
                                                                                                                pos_0))
                                                                                                           (values
                                                                                                            pos_1
                                                                                                            field/proc-name_0
                                                                                                            contract_0)))))))))
                                                                                            (lambda (pos_0
                                                                                                     field/proc-name_0
                                                                                                     contract_0)
                                                                                              (build-accessor_0
                                                                                               pos_0
                                                                                               field/proc-name_0
                                                                                               contract_0
                                                                                               'racket)))
                                                                                           (if (if (eq?
                                                                                                    'make-struct-field-accessor
                                                                                                    hd_1)
                                                                                                 (let ((a_0
                                                                                                        (cdr
                                                                                                         (unwrap
                                                                                                          v_0))))
                                                                                                   (let ((p_0
                                                                                                          (unwrap
                                                                                                           a_0)))
                                                                                                     (if (pair?
                                                                                                          p_0)
                                                                                                       (let ((a_1
                                                                                                              (cdr
                                                                                                               p_0)))
                                                                                                         (let ((p_1
                                                                                                                (unwrap
                                                                                                                 a_1)))
                                                                                                           (if (pair?
                                                                                                                p_1)
                                                                                                             (let ((a_2
                                                                                                                    (cdr
                                                                                                                     p_1)))
                                                                                                               (let ((p_2
                                                                                                                      (unwrap
                                                                                                                       a_2)))
                                                                                                                 (if (pair?
                                                                                                                      p_2)
                                                                                                                   (if (let ((a_3
                                                                                                                              (car
                                                                                                                               p_2)))
                                                                                                                         (let ((p_3
                                                                                                                                (unwrap
                                                                                                                                 a_3)))
                                                                                                                           (if (pair?
                                                                                                                                p_3)
                                                                                                                             (if (let ((a_4
                                                                                                                                        (car
                                                                                                                                         p_3)))
                                                                                                                                   (let ((app_6
                                                                                                                                          (unwrap
                                                                                                                                           'quote)))
                                                                                                                                     (eq?
                                                                                                                                      app_6
                                                                                                                                      (unwrap
                                                                                                                                       a_4))))
                                                                                                                               (let ((a_4
                                                                                                                                      (cdr
                                                                                                                                       p_3)))
                                                                                                                                 (let ((p_4
                                                                                                                                        (unwrap
                                                                                                                                         a_4)))
                                                                                                                                   (if (pair?
                                                                                                                                        p_4)
                                                                                                                                     (let ((a_5
                                                                                                                                            (cdr
                                                                                                                                             p_4)))
                                                                                                                                       (let ((app_6
                                                                                                                                              (unwrap
                                                                                                                                               '())))
                                                                                                                                         (eq?
                                                                                                                                          app_6
                                                                                                                                          (unwrap
                                                                                                                                           a_5))))
                                                                                                                                     #f)))
                                                                                                                               #f)
                                                                                                                             #f)))
                                                                                                                     (let ((a_3
                                                                                                                            (cdr
                                                                                                                             p_2)))
                                                                                                                       (let ((p_3
                                                                                                                              (unwrap
                                                                                                                               a_3)))
                                                                                                                         (if (pair?
                                                                                                                              p_3)
                                                                                                                           (let ((a_4
                                                                                                                                  (cdr
                                                                                                                                   p_3)))
                                                                                                                             (let ((p_4
                                                                                                                                    (unwrap
                                                                                                                                     a_4)))
                                                                                                                               (if (pair?
                                                                                                                                    p_4)
                                                                                                                                 (if (let ((a_5
                                                                                                                                            (car
                                                                                                                                             p_4)))
                                                                                                                                       (let ((p_5
                                                                                                                                              (unwrap
                                                                                                                                               a_5)))
                                                                                                                                         (if (pair?
                                                                                                                                              p_5)
                                                                                                                                           (if (let ((a_6
                                                                                                                                                      (car
                                                                                                                                                       p_5)))
                                                                                                                                                 (let ((app_6
                                                                                                                                                        (unwrap
                                                                                                                                                         'quote)))
                                                                                                                                                   (eq?
                                                                                                                                                    app_6
                                                                                                                                                    (unwrap
                                                                                                                                                     a_6))))
                                                                                                                                             (let ((a_6
                                                                                                                                                    (cdr
                                                                                                                                                     p_5)))
                                                                                                                                               (let ((p_6
                                                                                                                                                      (unwrap
                                                                                                                                                       a_6)))
                                                                                                                                                 (if (pair?
                                                                                                                                                      p_6)
                                                                                                                                                   (let ((a_7
                                                                                                                                                          (cdr
                                                                                                                                                           p_6)))
                                                                                                                                                     (let ((app_6
                                                                                                                                                            (unwrap
                                                                                                                                                             '())))
                                                                                                                                                       (eq?
                                                                                                                                                        app_6
                                                                                                                                                        (unwrap
                                                                                                                                                         a_7))))
                                                                                                                                                   #f)))
                                                                                                                                             #f)
                                                                                                                                           #f)))
                                                                                                                                   (let ((a_5
                                                                                                                                          (cdr
                                                                                                                                           p_4)))
                                                                                                                                     (let ((app_6
                                                                                                                                            (unwrap
                                                                                                                                             '())))
                                                                                                                                       (eq?
                                                                                                                                        app_6
                                                                                                                                        (unwrap
                                                                                                                                         a_5))))
                                                                                                                                   #f)
                                                                                                                                 #f)))
                                                                                                                           #f)))
                                                                                                                     #f)
                                                                                                                   #f)))
                                                                                                             #f)))
                                                                                                       #f)))
                                                                                                 #f)
                                                                                             (call-with-values
                                                                                              (lambda ()
                                                                                                (let ((d_0
                                                                                                       (cdr
                                                                                                        (unwrap
                                                                                                         v_0))))
                                                                                                  (let ((d_1
                                                                                                         (cdr
                                                                                                          (unwrap
                                                                                                           d_0))))
                                                                                                    (let ((p_0
                                                                                                           (unwrap
                                                                                                            d_1)))
                                                                                                      (let ((pos_0
                                                                                                             (let ((a_0
                                                                                                                    (car
                                                                                                                     p_0)))
                                                                                                               a_0)))
                                                                                                        (call-with-values
                                                                                                         (lambda ()
                                                                                                           (let ((d_2
                                                                                                                  (cdr
                                                                                                                   p_0)))
                                                                                                             (let ((p_1
                                                                                                                    (unwrap
                                                                                                                     d_2)))
                                                                                                               (let ((field/proc-name_0
                                                                                                                      (let ((a_0
                                                                                                                             (car
                                                                                                                              p_1)))
                                                                                                                        (let ((d_3
                                                                                                                               (cdr
                                                                                                                                (unwrap
                                                                                                                                 a_0))))
                                                                                                                          (let ((a_1
                                                                                                                                 (car
                                                                                                                                  (unwrap
                                                                                                                                   d_3))))
                                                                                                                            a_1)))))
                                                                                                                 (call-with-values
                                                                                                                  (lambda ()
                                                                                                                    (let ((d_3
                                                                                                                           (cdr
                                                                                                                            p_1)))
                                                                                                                      (let ((p_2
                                                                                                                             (unwrap
                                                                                                                              d_3)))
                                                                                                                        (let ((contract_0
                                                                                                                               (let ((a_0
                                                                                                                                      (car
                                                                                                                                       p_2)))
                                                                                                                                 a_0)))
                                                                                                                          (let ((realm_0
                                                                                                                                 (let ((d_4
                                                                                                                                        (cdr
                                                                                                                                         p_2)))
                                                                                                                                   (let ((a_0
                                                                                                                                          (car
                                                                                                                                           (unwrap
                                                                                                                                            d_4))))
                                                                                                                                     (let ((d_5
                                                                                                                                            (cdr
                                                                                                                                             (unwrap
                                                                                                                                              a_0))))
                                                                                                                                       (let ((a_1
                                                                                                                                              (car
                                                                                                                                               (unwrap
                                                                                                                                                d_5))))
                                                                                                                                         a_1))))))
                                                                                                                            (let ((contract_1
                                                                                                                                   contract_0))
                                                                                                                              (values
                                                                                                                               contract_1
                                                                                                                               realm_0)))))))
                                                                                                                  (lambda (contract_0
                                                                                                                           realm_0)
                                                                                                                    (let ((field/proc-name_1
                                                                                                                           field/proc-name_0))
                                                                                                                      (values
                                                                                                                       field/proc-name_1
                                                                                                                       contract_0
                                                                                                                       realm_0))))))))
                                                                                                         (lambda (field/proc-name_0
                                                                                                                  contract_0
                                                                                                                  realm_0)
                                                                                                           (let ((pos_1
                                                                                                                  pos_0))
                                                                                                             (values
                                                                                                              pos_1
                                                                                                              field/proc-name_0
                                                                                                              contract_0
                                                                                                              realm_0)))))))))
                                                                                              (lambda (pos_0
                                                                                                       field/proc-name_0
                                                                                                       contract_0
                                                                                                       realm_0)
                                                                                                (build-accessor_0
                                                                                                 pos_0
                                                                                                 field/proc-name_0
                                                                                                 contract_0
                                                                                                 realm_0)))
                                                                                             (if (if (eq?
                                                                                                      'make-struct-field-mutator
                                                                                                      hd_1)
                                                                                                   (let ((a_0
                                                                                                          (cdr
                                                                                                           (unwrap
                                                                                                            v_0))))
                                                                                                     (let ((p_0
                                                                                                            (unwrap
                                                                                                             a_0)))
                                                                                                       (if (pair?
                                                                                                            p_0)
                                                                                                         (let ((a_1
                                                                                                                (cdr
                                                                                                                 p_0)))
                                                                                                           (let ((p_1
                                                                                                                  (unwrap
                                                                                                                   a_1)))
                                                                                                             (if (pair?
                                                                                                                  p_1)
                                                                                                               (let ((a_2
                                                                                                                      (cdr
                                                                                                                       p_1)))
                                                                                                                 (let ((p_2
                                                                                                                        (unwrap
                                                                                                                         a_2)))
                                                                                                                   (if (pair?
                                                                                                                        p_2)
                                                                                                                     (if (let ((a_3
                                                                                                                                (car
                                                                                                                                 p_2)))
                                                                                                                           (let ((p_3
                                                                                                                                  (unwrap
                                                                                                                                   a_3)))
                                                                                                                             (if (pair?
                                                                                                                                  p_3)
                                                                                                                               (if (let ((a_4
                                                                                                                                          (car
                                                                                                                                           p_3)))
                                                                                                                                     (let ((app_6
                                                                                                                                            (unwrap
                                                                                                                                             'quote)))
                                                                                                                                       (eq?
                                                                                                                                        app_6
                                                                                                                                        (unwrap
                                                                                                                                         a_4))))
                                                                                                                                 (let ((a_4
                                                                                                                                        (cdr
                                                                                                                                         p_3)))
                                                                                                                                   (let ((p_4
                                                                                                                                          (unwrap
                                                                                                                                           a_4)))
                                                                                                                                     (if (pair?
                                                                                                                                          p_4)
                                                                                                                                       (let ((a_5
                                                                                                                                              (cdr
                                                                                                                                               p_4)))
                                                                                                                                         (let ((app_6
                                                                                                                                                (unwrap
                                                                                                                                                 '())))
                                                                                                                                           (eq?
                                                                                                                                            app_6
                                                                                                                                            (unwrap
                                                                                                                                             a_5))))
                                                                                                                                       #f)))
                                                                                                                                 #f)
                                                                                                                               #f)))
                                                                                                                       (let ((a_3
                                                                                                                              (cdr
                                                                                                                               p_2)))
                                                                                                                         (let ((app_6
                                                                                                                                (unwrap
                                                                                                                                 '())))
                                                                                                                           (eq?
                                                                                                                            app_6
                                                                                                                            (unwrap
                                                                                                                             a_3))))
                                                                                                                       #f)
                                                                                                                     #f)))
                                                                                                               #f)))
                                                                                                         #f)))
                                                                                                   #f)
                                                                                               (call-with-values
                                                                                                (lambda ()
                                                                                                  (let ((d_0
                                                                                                         (cdr
                                                                                                          (unwrap
                                                                                                           v_0))))
                                                                                                    (let ((d_1
                                                                                                           (cdr
                                                                                                            (unwrap
                                                                                                             d_0))))
                                                                                                      (let ((p_0
                                                                                                             (unwrap
                                                                                                              d_1)))
                                                                                                        (let ((pos_0
                                                                                                               (let ((a_0
                                                                                                                      (car
                                                                                                                       p_0)))
                                                                                                                 a_0)))
                                                                                                          (let ((field-name_0
                                                                                                                 (let ((d_2
                                                                                                                        (cdr
                                                                                                                         p_0)))
                                                                                                                   (let ((a_0
                                                                                                                          (car
                                                                                                                           (unwrap
                                                                                                                            d_2))))
                                                                                                                     (let ((d_3
                                                                                                                            (cdr
                                                                                                                             (unwrap
                                                                                                                              a_0))))
                                                                                                                       (let ((a_1
                                                                                                                              (car
                                                                                                                               (unwrap
                                                                                                                                d_3))))
                                                                                                                         a_1))))))
                                                                                                            (let ((pos_1
                                                                                                                   pos_0))
                                                                                                              (values
                                                                                                               pos_1
                                                                                                               field-name_0))))))))
                                                                                                (lambda (pos_0
                                                                                                         field-name_0)
                                                                                                  (build-mutator_0
                                                                                                   pos_0
                                                                                                   field-name_0
                                                                                                   #f
                                                                                                   'racket)))
                                                                                               (if (if (eq?
                                                                                                        'make-struct-field-mutator
                                                                                                        hd_1)
                                                                                                     (let ((a_0
                                                                                                            (cdr
                                                                                                             (unwrap
                                                                                                              v_0))))
                                                                                                       (let ((p_0
                                                                                                              (unwrap
                                                                                                               a_0)))
                                                                                                         (if (pair?
                                                                                                              p_0)
                                                                                                           (let ((a_1
                                                                                                                  (cdr
                                                                                                                   p_0)))
                                                                                                             (let ((p_1
                                                                                                                    (unwrap
                                                                                                                     a_1)))
                                                                                                               (if (pair?
                                                                                                                    p_1)
                                                                                                                 (let ((a_2
                                                                                                                        (cdr
                                                                                                                         p_1)))
                                                                                                                   (let ((p_2
                                                                                                                          (unwrap
                                                                                                                           a_2)))
                                                                                                                     (if (pair?
                                                                                                                          p_2)
                                                                                                                       (if (let ((a_3
                                                                                                                                  (car
                                                                                                                                   p_2)))
                                                                                                                             (let ((p_3
                                                                                                                                    (unwrap
                                                                                                                                     a_3)))
                                                                                                                               (if (pair?
                                                                                                                                    p_3)
                                                                                                                                 (if (let ((a_4
                                                                                                                                            (car
                                                                                                                                             p_3)))
                                                                                                                                       (let ((app_6
                                                                                                                                              (unwrap
                                                                                                                                               'quote)))
                                                                                                                                         (eq?
                                                                                                                                          app_6
                                                                                                                                          (unwrap
                                                                                                                                           a_4))))
                                                                                                                                   (let ((a_4
                                                                                                                                          (cdr
                                                                                                                                           p_3)))
                                                                                                                                     (let ((p_4
                                                                                                                                            (unwrap
                                                                                                                                             a_4)))
                                                                                                                                       (if (pair?
                                                                                                                                            p_4)
                                                                                                                                         (let ((a_5
                                                                                                                                                (cdr
                                                                                                                                                 p_4)))
                                                                                                                                           (let ((app_6
                                                                                                                                                  (unwrap
                                                                                                                                                   '())))
                                                                                                                                             (eq?
                                                                                                                                              app_6
                                                                                                                                              (unwrap
                                                                                                                                               a_5))))
                                                                                                                                         #f)))
                                                                                                                                   #f)
                                                                                                                                 #f)))
                                                                                                                         (let ((a_3
                                                                                                                                (cdr
                                                                                                                                 p_2)))
                                                                                                                           (let ((p_3
                                                                                                                                  (unwrap
                                                                                                                                   a_3)))
                                                                                                                             (if (pair?
                                                                                                                                  p_3)
                                                                                                                               (let ((a_4
                                                                                                                                      (cdr
                                                                                                                                       p_3)))
                                                                                                                                 (let ((app_6
                                                                                                                                        (unwrap
                                                                                                                                         '())))
                                                                                                                                   (eq?
                                                                                                                                    app_6
                                                                                                                                    (unwrap
                                                                                                                                     a_4))))
                                                                                                                               #f)))
                                                                                                                         #f)
                                                                                                                       #f)))
                                                                                                                 #f)))
                                                                                                           #f)))
                                                                                                     #f)
                                                                                                 (call-with-values
                                                                                                  (lambda ()
                                                                                                    (let ((d_0
                                                                                                           (cdr
                                                                                                            (unwrap
                                                                                                             v_0))))
                                                                                                      (let ((d_1
                                                                                                             (cdr
                                                                                                              (unwrap
                                                                                                               d_0))))
                                                                                                        (let ((p_0
                                                                                                               (unwrap
                                                                                                                d_1)))
                                                                                                          (let ((pos_0
                                                                                                                 (let ((a_0
                                                                                                                        (car
                                                                                                                         p_0)))
                                                                                                                   a_0)))
                                                                                                            (call-with-values
                                                                                                             (lambda ()
                                                                                                               (let ((d_2
                                                                                                                      (cdr
                                                                                                                       p_0)))
                                                                                                                 (let ((p_1
                                                                                                                        (unwrap
                                                                                                                         d_2)))
                                                                                                                   (let ((field-name_0
                                                                                                                          (let ((a_0
                                                                                                                                 (car
                                                                                                                                  p_1)))
                                                                                                                            (let ((d_3
                                                                                                                                   (cdr
                                                                                                                                    (unwrap
                                                                                                                                     a_0))))
                                                                                                                              (let ((a_1
                                                                                                                                     (car
                                                                                                                                      (unwrap
                                                                                                                                       d_3))))
                                                                                                                                a_1)))))
                                                                                                                     (let ((contract_0
                                                                                                                            (let ((d_3
                                                                                                                                   (cdr
                                                                                                                                    p_1)))
                                                                                                                              (let ((a_0
                                                                                                                                     (car
                                                                                                                                      (unwrap
                                                                                                                                       d_3))))
                                                                                                                                a_0))))
                                                                                                                       (let ((field-name_1
                                                                                                                              field-name_0))
                                                                                                                         (values
                                                                                                                          field-name_1
                                                                                                                          contract_0)))))))
                                                                                                             (lambda (field-name_0
                                                                                                                      contract_0)
                                                                                                               (let ((pos_1
                                                                                                                      pos_0))
                                                                                                                 (values
                                                                                                                  pos_1
                                                                                                                  field-name_0
                                                                                                                  contract_0)))))))))
                                                                                                  (lambda (pos_0
                                                                                                           field-name_0
                                                                                                           contract_0)
                                                                                                    (build-mutator_0
                                                                                                     pos_0
                                                                                                     field-name_0
                                                                                                     contract_0
                                                                                                     'racket)))
                                                                                                 (if (if (eq?
                                                                                                          'make-struct-field-mutator
                                                                                                          hd_1)
                                                                                                       (let ((a_0
                                                                                                              (cdr
                                                                                                               (unwrap
                                                                                                                v_0))))
                                                                                                         (let ((p_0
                                                                                                                (unwrap
                                                                                                                 a_0)))
                                                                                                           (if (pair?
                                                                                                                p_0)
                                                                                                             (let ((a_1
                                                                                                                    (cdr
                                                                                                                     p_0)))
                                                                                                               (let ((p_1
                                                                                                                      (unwrap
                                                                                                                       a_1)))
                                                                                                                 (if (pair?
                                                                                                                      p_1)
                                                                                                                   (let ((a_2
                                                                                                                          (cdr
                                                                                                                           p_1)))
                                                                                                                     (let ((p_2
                                                                                                                            (unwrap
                                                                                                                             a_2)))
                                                                                                                       (if (pair?
                                                                                                                            p_2)
                                                                                                                         (if (let ((a_3
                                                                                                                                    (car
                                                                                                                                     p_2)))
                                                                                                                               (let ((p_3
                                                                                                                                      (unwrap
                                                                                                                                       a_3)))
                                                                                                                                 (if (pair?
                                                                                                                                      p_3)
                                                                                                                                   (if (let ((a_4
                                                                                                                                              (car
                                                                                                                                               p_3)))
                                                                                                                                         (let ((app_6
                                                                                                                                                (unwrap
                                                                                                                                                 'quote)))
                                                                                                                                           (eq?
                                                                                                                                            app_6
                                                                                                                                            (unwrap
                                                                                                                                             a_4))))
                                                                                                                                     (let ((a_4
                                                                                                                                            (cdr
                                                                                                                                             p_3)))
                                                                                                                                       (let ((p_4
                                                                                                                                              (unwrap
                                                                                                                                               a_4)))
                                                                                                                                         (if (pair?
                                                                                                                                              p_4)
                                                                                                                                           (let ((a_5
                                                                                                                                                  (cdr
                                                                                                                                                   p_4)))
                                                                                                                                             (let ((app_6
                                                                                                                                                    (unwrap
                                                                                                                                                     '())))
                                                                                                                                               (eq?
                                                                                                                                                app_6
                                                                                                                                                (unwrap
                                                                                                                                                 a_5))))
                                                                                                                                           #f)))
                                                                                                                                     #f)
                                                                                                                                   #f)))
                                                                                                                           (let ((a_3
                                                                                                                                  (cdr
                                                                                                                                   p_2)))
                                                                                                                             (let ((p_3
                                                                                                                                    (unwrap
                                                                                                                                     a_3)))
                                                                                                                               (if (pair?
                                                                                                                                    p_3)
                                                                                                                                 (let ((a_4
                                                                                                                                        (cdr
                                                                                                                                         p_3)))
                                                                                                                                   (let ((p_4
                                                                                                                                          (unwrap
                                                                                                                                           a_4)))
                                                                                                                                     (if (pair?
                                                                                                                                          p_4)
                                                                                                                                       (if (let ((a_5
                                                                                                                                                  (car
                                                                                                                                                   p_4)))
                                                                                                                                             (let ((p_5
                                                                                                                                                    (unwrap
                                                                                                                                                     a_5)))
                                                                                                                                               (if (pair?
                                                                                                                                                    p_5)
                                                                                                                                                 (if (let ((a_6
                                                                                                                                                            (car
                                                                                                                                                             p_5)))
                                                                                                                                                       (let ((app_6
                                                                                                                                                              (unwrap
                                                                                                                                                               'quote)))
                                                                                                                                                         (eq?
                                                                                                                                                          app_6
                                                                                                                                                          (unwrap
                                                                                                                                                           a_6))))
                                                                                                                                                   (let ((a_6
                                                                                                                                                          (cdr
                                                                                                                                                           p_5)))
                                                                                                                                                     (let ((p_6
                                                                                                                                                            (unwrap
                                                                                                                                                             a_6)))
                                                                                                                                                       (if (pair?
                                                                                                                                                            p_6)
                                                                                                                                                         (let ((a_7
                                                                                                                                                                (cdr
                                                                                                                                                                 p_6)))
                                                                                                                                                           (let ((app_6
                                                                                                                                                                  (unwrap
                                                                                                                                                                   '())))
                                                                                                                                                             (eq?
                                                                                                                                                              app_6
                                                                                                                                                              (unwrap
                                                                                                                                                               a_7))))
                                                                                                                                                         #f)))
                                                                                                                                                   #f)
                                                                                                                                                 #f)))
                                                                                                                                         (let ((a_5
                                                                                                                                                (cdr
                                                                                                                                                 p_4)))
                                                                                                                                           (let ((app_6
                                                                                                                                                  (unwrap
                                                                                                                                                   '())))
                                                                                                                                             (eq?
                                                                                                                                              app_6
                                                                                                                                              (unwrap
                                                                                                                                               a_5))))
                                                                                                                                         #f)
                                                                                                                                       #f)))
                                                                                                                                 #f)))
                                                                                                                           #f)
                                                                                                                         #f)))
                                                                                                                   #f)))
                                                                                                             #f)))
                                                                                                       #f)
                                                                                                   (call-with-values
                                                                                                    (lambda ()
                                                                                                      (let ((d_0
                                                                                                             (cdr
                                                                                                              (unwrap
                                                                                                               v_0))))
                                                                                                        (let ((d_1
                                                                                                               (cdr
                                                                                                                (unwrap
                                                                                                                 d_0))))
                                                                                                          (let ((p_0
                                                                                                                 (unwrap
                                                                                                                  d_1)))
                                                                                                            (let ((pos_0
                                                                                                                   (let ((a_0
                                                                                                                          (car
                                                                                                                           p_0)))
                                                                                                                     a_0)))
                                                                                                              (call-with-values
                                                                                                               (lambda ()
                                                                                                                 (let ((d_2
                                                                                                                        (cdr
                                                                                                                         p_0)))
                                                                                                                   (let ((p_1
                                                                                                                          (unwrap
                                                                                                                           d_2)))
                                                                                                                     (let ((field-name_0
                                                                                                                            (let ((a_0
                                                                                                                                   (car
                                                                                                                                    p_1)))
                                                                                                                              (let ((d_3
                                                                                                                                     (cdr
                                                                                                                                      (unwrap
                                                                                                                                       a_0))))
                                                                                                                                (let ((a_1
                                                                                                                                       (car
                                                                                                                                        (unwrap
                                                                                                                                         d_3))))
                                                                                                                                  a_1)))))
                                                                                                                       (call-with-values
                                                                                                                        (lambda ()
                                                                                                                          (let ((d_3
                                                                                                                                 (cdr
                                                                                                                                  p_1)))
                                                                                                                            (let ((p_2
                                                                                                                                   (unwrap
                                                                                                                                    d_3)))
                                                                                                                              (let ((contract_0
                                                                                                                                     (let ((a_0
                                                                                                                                            (car
                                                                                                                                             p_2)))
                                                                                                                                       a_0)))
                                                                                                                                (let ((realm_0
                                                                                                                                       (let ((d_4
                                                                                                                                              (cdr
                                                                                                                                               p_2)))
                                                                                                                                         (let ((a_0
                                                                                                                                                (car
                                                                                                                                                 (unwrap
                                                                                                                                                  d_4))))
                                                                                                                                           (let ((d_5
                                                                                                                                                  (cdr
                                                                                                                                                   (unwrap
                                                                                                                                                    a_0))))
                                                                                                                                             (let ((a_1
                                                                                                                                                    (car
                                                                                                                                                     (unwrap
                                                                                                                                                      d_5))))
                                                                                                                                               a_1))))))
                                                                                                                                  (let ((contract_1
                                                                                                                                         contract_0))
                                                                                                                                    (values
                                                                                                                                     contract_1
                                                                                                                                     realm_0)))))))
                                                                                                                        (lambda (contract_0
                                                                                                                                 realm_0)
                                                                                                                          (let ((field-name_1
                                                                                                                                 field-name_0))
                                                                                                                            (values
                                                                                                                             field-name_1
                                                                                                                             contract_0
                                                                                                                             realm_0))))))))
                                                                                                               (lambda (field-name_0
                                                                                                                        contract_0
                                                                                                                        realm_0)
                                                                                                                 (let ((pos_1
                                                                                                                        pos_0))
                                                                                                                   (values
                                                                                                                    pos_1
                                                                                                                    field-name_0
                                                                                                                    contract_0
                                                                                                                    realm_0)))))))))
                                                                                                    (lambda (pos_0
                                                                                                             field-name_0
                                                                                                             contract_0
                                                                                                             realm_0)
                                                                                                      (build-mutator_0
                                                                                                       pos_0
                                                                                                       field-name_0
                                                                                                       contract_0
                                                                                                       realm_0)))
                                                                                                   (error
                                                                                                    "oops")))))))))))))
                                                                           fold-var_0)))
                                                                     (values
                                                                      fold-var_1))))
                                                              (for-loop_0
                                                               fold-var_1
                                                               rest_0
                                                               rest_1))))))
                                                    fold-var_0)))))
                                             (for-loop_0
                                              null
                                              acc/muts_0
                                              make-acc/muts_0))))))))))))))))))))
               #f))))
        #f))))
(define struct-convert-local.1
  (|#%name|
   struct-convert-local
   (lambda (letrec?1_0
            target3_0
            unsafe-mode?2_0
            form7_0
            prim-knowns8_0
            knowns9_0
            imports10_0
            mutated11_0
            simples12_0
            schemify13_0)
     (if (let ((p_0 (unwrap form7_0)))
           (if (pair? p_0)
             (let ((a_0 (cdr p_0)))
               (let ((p_1 (unwrap a_0)))
                 (if (pair? p_1)
                   (if (let ((a_1 (car p_1)))
                         (let ((p_2 (unwrap a_1)))
                           (if (pair? p_2)
                             (if (let ((a_2 (car p_2)))
                                   (let ((p_3 (unwrap a_2)))
                                     (if (pair? p_3)
                                       (let ((a_3 (cdr p_3)))
                                         (let ((p_4 (unwrap a_3)))
                                           (if (pair? p_4)
                                             (let ((a_4 (cdr p_4)))
                                               (let ((app_0 (unwrap '())))
                                                 (eq? app_0 (unwrap a_4))))
                                             #f)))
                                       #f)))
                               (let ((a_2 (cdr p_2)))
                                 (let ((app_0 (unwrap '())))
                                   (eq? app_0 (unwrap a_2))))
                               #f)
                             #f)))
                     (let ((a_1 (cdr p_1))) (wrap-list? a_1))
                     #f)
                   #f)))
             #f))
       (call-with-values
        (lambda ()
          (let ((d_0 (cdr (unwrap form7_0))))
            (let ((p_0 (unwrap d_0)))
              (call-with-values
               (lambda ()
                 (let ((a_0 (car p_0)))
                   (let ((a_1 (car (unwrap a_0))))
                     (let ((p_1 (unwrap a_1)))
                       (let ((ids_0 (let ((a_2 (car p_1))) a_2)))
                         (let ((rhs_0
                                (let ((d_1 (cdr p_1)))
                                  (let ((a_2 (car (unwrap d_1)))) a_2))))
                           (let ((ids_1 ids_0)) (values ids_1 rhs_0))))))))
               (lambda (ids_0 rhs_0)
                 (let ((bodys_0 (let ((d_1 (cdr p_0))) (unwrap-list d_1))))
                   (let ((ids_1 ids_0) (rhs_1 rhs_0))
                     (values ids_1 rhs_1 bodys_0))))))))
        (lambda (ids_0 rhs_0 bodys_0)
          (let ((defn_0 (list 'define-values ids_0 rhs_0)))
            (let ((new-seq_0
                   (struct-convert
                    defn_0
                    prim-knowns8_0
                    knowns9_0
                    imports10_0
                    #f
                    mutated11_0
                    schemify13_0
                    target3_0
                    #t
                    #f)))
              (if new-seq_0
                (let ((hd_0
                       (let ((p_0 (unwrap new-seq_0)))
                         (if (pair? p_0) (unwrap (car p_0)) #f))))
                  (if (if (eq? 'begin hd_0) #t #f)
                    (let ((new-seq_1
                           (let ((d_0 (cdr (unwrap new-seq_0)))) d_0)))
                      (call-with-values
                       (lambda ()
                         (find-definitions.1
                          unsafe-undefined
                          #f
                          hash2610
                          defn_0
                          prim-knowns8_0
                          knowns9_0
                          imports10_0
                          mutated11_0
                          simples12_0
                          unsafe-mode?2_0
                          target3_0))
                       (lambda (new-knowns_0 info_0)
                         (if letrec?1_0
                           (let ((app_0
                                  (letrec*
                                   ((loop_0
                                     (|#%name|
                                      loop
                                      (lambda (new-seq_2)
                                        (if (let ((app_0 (unwrap '())))
                                              (eq? app_0 (unwrap new-seq_2)))
                                          null
                                          (if (let ((p_0 (unwrap new-seq_2)))
                                                (if (pair? p_0)
                                                  (if (let ((a_0 (car p_0)))
                                                        (let ((p_1
                                                               (unwrap a_0)))
                                                          (if (pair? p_1)
                                                            (if (let ((a_1
                                                                       (car
                                                                        p_1)))
                                                                  (let ((app_0
                                                                         (unwrap
                                                                          'begin)))
                                                                    (eq?
                                                                     app_0
                                                                     (unwrap
                                                                      a_1))))
                                                              (let ((a_1
                                                                     (cdr
                                                                      p_1)))
                                                                (wrap-list?
                                                                 a_1))
                                                              #f)
                                                            #f)))
                                                    #t
                                                    #f)
                                                  #f))
                                            (call-with-values
                                             (lambda ()
                                               (let ((p_0 (unwrap new-seq_2)))
                                                 (let ((forms_0
                                                        (let ((a_0 (car p_0)))
                                                          (let ((d_0
                                                                 (cdr
                                                                  (unwrap
                                                                   a_0))))
                                                            (unwrap-list
                                                             d_0)))))
                                                   (let ((rest_0
                                                          (let ((d_0
                                                                 (cdr p_0)))
                                                            d_0)))
                                                     (let ((forms_1 forms_0))
                                                       (values
                                                        forms_1
                                                        rest_0))))))
                                             (lambda (forms_0 rest_0)
                                               (loop_0
                                                (append forms_0 rest_0))))
                                            (if (let ((p_0 (unwrap new-seq_2)))
                                                  (if (pair? p_0)
                                                    (if (let ((a_0 (car p_0)))
                                                          (let ((p_1
                                                                 (unwrap a_0)))
                                                            (if (pair? p_1)
                                                              (if (let ((a_1
                                                                         (car
                                                                          p_1)))
                                                                    (let ((app_0
                                                                           (unwrap
                                                                            'define)))
                                                                      (eq?
                                                                       app_0
                                                                       (unwrap
                                                                        a_1))))
                                                                (let ((a_1
                                                                       (cdr
                                                                        p_1)))
                                                                  (let ((p_2
                                                                         (unwrap
                                                                          a_1)))
                                                                    (if (pair?
                                                                         p_2)
                                                                      (let ((a_2
                                                                             (cdr
                                                                              p_2)))
                                                                        (let ((p_3
                                                                               (unwrap
                                                                                a_2)))
                                                                          (if (pair?
                                                                               p_3)
                                                                            (let ((a_3
                                                                                   (cdr
                                                                                    p_3)))
                                                                              (let ((app_0
                                                                                     (unwrap
                                                                                      '())))
                                                                                (eq?
                                                                                 app_0
                                                                                 (unwrap
                                                                                  a_3))))
                                                                            #f)))
                                                                      #f)))
                                                                #f)
                                                              #f)))
                                                      #t
                                                      #f)
                                                    #f))
                                              (call-with-values
                                               (lambda ()
                                                 (let ((p_0
                                                        (unwrap new-seq_2)))
                                                   (call-with-values
                                                    (lambda ()
                                                      (let ((a_0 (car p_0)))
                                                        (let ((d_0
                                                               (cdr
                                                                (unwrap a_0))))
                                                          (let ((p_1
                                                                 (unwrap d_0)))
                                                            (let ((id_0
                                                                   (let ((a_1
                                                                          (car
                                                                           p_1)))
                                                                     a_1)))
                                                              (let ((rhs_1
                                                                     (let ((d_1
                                                                            (cdr
                                                                             p_1)))
                                                                       (let ((a_1
                                                                              (car
                                                                               (unwrap
                                                                                d_1))))
                                                                         a_1))))
                                                                (let ((id_1
                                                                       id_0))
                                                                  (values
                                                                   id_1
                                                                   rhs_1))))))))
                                                    (lambda (id_0 rhs_1)
                                                      (let ((rest_0
                                                             (let ((d_0
                                                                    (cdr p_0)))
                                                               d_0)))
                                                        (let ((id_1 id_0)
                                                              (rhs_2 rhs_1))
                                                          (values
                                                           id_1
                                                           rhs_2
                                                           rest_0)))))))
                                               (lambda (id_0 rhs_1 rest_0)
                                                 (let ((app_0
                                                        (list id_0 rhs_1)))
                                                   (cons
                                                    app_0
                                                    (loop_0 rest_0)))))
                                              (error
                                               'match
                                               "failed ~e"
                                               new-seq_2))))))))
                                   (loop_0 new-seq_1))))
                             (list*
                              'letrec*
                              app_0
                              (schemify-body$1
                               schemify13_0
                               new-knowns_0
                               bodys_0)))
                           (letrec*
                            ((loop_0
                              (|#%name|
                               loop
                               (lambda (new-seq_2)
                                 (if (let ((app_0 (unwrap '())))
                                       (eq? app_0 (unwrap new-seq_2)))
                                   (let ((exprs_0
                                          (schemify-body$1
                                           schemify13_0
                                           new-knowns_0
                                           bodys_0)))
                                     (if (if (pair? exprs_0)
                                           (null? (cdr exprs_0))
                                           #f)
                                       (car exprs_0)
                                       (list* 'begin exprs_0)))
                                   (if (let ((p_0 (unwrap new-seq_2)))
                                         (if (pair? p_0)
                                           (if (let ((a_0 (car p_0)))
                                                 (let ((p_1 (unwrap a_0)))
                                                   (if (pair? p_1)
                                                     (if (let ((a_1 (car p_1)))
                                                           (let ((app_0
                                                                  (unwrap
                                                                   'begin)))
                                                             (eq?
                                                              app_0
                                                              (unwrap a_1))))
                                                       (let ((a_1 (cdr p_1)))
                                                         (wrap-list? a_1))
                                                       #f)
                                                     #f)))
                                             #t
                                             #f)
                                           #f))
                                     (call-with-values
                                      (lambda ()
                                        (let ((p_0 (unwrap new-seq_2)))
                                          (let ((forms_0
                                                 (let ((a_0 (car p_0)))
                                                   (let ((d_0
                                                          (cdr (unwrap a_0))))
                                                     (unwrap-list d_0)))))
                                            (let ((rest_0
                                                   (let ((d_0 (cdr p_0)))
                                                     d_0)))
                                              (let ((forms_1 forms_0))
                                                (values forms_1 rest_0))))))
                                      (lambda (forms_0 rest_0)
                                        (loop_0 (append forms_0 rest_0))))
                                     (if (let ((p_0 (unwrap new-seq_2)))
                                           (if (pair? p_0)
                                             (if (let ((a_0 (car p_0)))
                                                   (let ((p_1 (unwrap a_0)))
                                                     (if (pair? p_1)
                                                       (if (let ((a_1
                                                                  (car p_1)))
                                                             (let ((app_0
                                                                    (unwrap
                                                                     'define)))
                                                               (eq?
                                                                app_0
                                                                (unwrap a_1))))
                                                         (let ((a_1 (cdr p_1)))
                                                           (let ((p_2
                                                                  (unwrap
                                                                   a_1)))
                                                             (if (pair? p_2)
                                                               (let ((a_2
                                                                      (cdr
                                                                       p_2)))
                                                                 (let ((p_3
                                                                        (unwrap
                                                                         a_2)))
                                                                   (if (pair?
                                                                        p_3)
                                                                     (let ((a_3
                                                                            (cdr
                                                                             p_3)))
                                                                       (let ((app_0
                                                                              (unwrap
                                                                               '())))
                                                                         (eq?
                                                                          app_0
                                                                          (unwrap
                                                                           a_3))))
                                                                     #f)))
                                                               #f)))
                                                         #f)
                                                       #f)))
                                               #t
                                               #f)
                                             #f))
                                       (call-with-values
                                        (lambda ()
                                          (let ((p_0 (unwrap new-seq_2)))
                                            (call-with-values
                                             (lambda ()
                                               (let ((a_0 (car p_0)))
                                                 (let ((d_0
                                                        (cdr (unwrap a_0))))
                                                   (let ((p_1 (unwrap d_0)))
                                                     (let ((id_0
                                                            (let ((a_1
                                                                   (car p_1)))
                                                              a_1)))
                                                       (let ((rhs_1
                                                              (let ((d_1
                                                                     (cdr
                                                                      p_1)))
                                                                (let ((a_1
                                                                       (car
                                                                        (unwrap
                                                                         d_1))))
                                                                  a_1))))
                                                         (let ((id_1 id_0))
                                                           (values
                                                            id_1
                                                            rhs_1))))))))
                                             (lambda (id_0 rhs_1)
                                               (let ((rest_0
                                                      (let ((d_0 (cdr p_0)))
                                                        d_0)))
                                                 (let ((id_1 id_0)
                                                       (rhs_2 rhs_1))
                                                   (values
                                                    id_1
                                                    rhs_2
                                                    rest_0)))))))
                                        (lambda (id_0 rhs_1 rest_0)
                                          (let ((app_0
                                                 (list (list id_0 rhs_1))))
                                            (list
                                             'let
                                             app_0
                                             (loop_0 rest_0)))))
                                       (error
                                        'match
                                        "failed ~e"
                                        new-seq_2))))))))
                            (loop_0 new-seq_1))))))
                    (error 'match "failed ~e" new-seq_0)))
                #f)))))
       #f))))
(define schemify-body$1
  (|#%name|
   schemify-body
   (lambda (schemify_0 knowns_0 l_0)
     (reverse$1
      (letrec*
       ((for-loop_0
         (|#%name|
          for-loop
          (lambda (fold-var_0 lst_0)
            (if (pair? lst_0)
              (let ((e_0 (unsafe-car lst_0)))
                (let ((rest_0 (unsafe-cdr lst_0)))
                  (let ((fold-var_1
                         (let ((fold-var_1
                                (cons
                                 (|#%app| schemify_0 e_0 knowns_0)
                                 fold-var_0)))
                           (values fold-var_1))))
                    (for-loop_0 fold-var_1 rest_0))))
              fold-var_0)))))
       (for-loop_0 null l_0))))))
(define name-procedure
  (lambda (proc-name_0 proc-expr_0)
    (wrap-property-set proc-expr_0 'inferred-name proc-name_0)))
(define build-name
  (lambda (pre_0 st_0 sep_0 fld_0 post_0)
    (string->symbol
     (let ((app_0 (symbol->immutable-string st_0)))
       (string-append-immutable
        pre_0
        app_0
        sep_0
        (symbol->immutable-string fld_0)
        post_0)))))
(define get-definition-source-syms
  (lambda (bodys_0)
    (let ((src-syms_0 hash2610))
      (let ((src-syms_1 src-syms_0))
        (letrec*
         ((for-loop_0
           (|#%name|
            for-loop
            (lambda (src-syms_2 lst_0)
              (if (pair? lst_0)
                (let ((body_0 (unsafe-car lst_0)))
                  (let ((rest_0 (unsafe-cdr lst_0)))
                    (let ((src-syms_3
                           (let ((src-syms_3
                                  (let ((hd_0
                                         (let ((p_0 (unwrap body_0)))
                                           (if (pair? p_0)
                                             (unwrap (car p_0))
                                             #f))))
                                    (if (if (eq? 'define-values hd_0)
                                          (let ((a_0 (cdr (unwrap body_0))))
                                            (let ((p_0 (unwrap a_0)))
                                              (if (pair? p_0)
                                                (let ((a_1 (cdr p_0)))
                                                  (let ((p_1 (unwrap a_1)))
                                                    (if (pair? p_1)
                                                      (let ((a_2 (cdr p_1)))
                                                        (let ((app_0
                                                               (unwrap '())))
                                                          (eq?
                                                           app_0
                                                           (unwrap a_2))))
                                                      #f)))
                                                #f)))
                                          #f)
                                      (call-with-values
                                       (lambda ()
                                         (let ((d_0 (cdr (unwrap body_0))))
                                           (let ((p_0 (unwrap d_0)))
                                             (let ((ids_0
                                                    (let ((a_0 (car p_0)))
                                                      a_0)))
                                               (let ((rhs_0
                                                      (let ((d_1 (cdr p_0)))
                                                        (let ((a_0
                                                               (car
                                                                (unwrap d_1))))
                                                          a_0))))
                                                 (let ((ids_1 ids_0))
                                                   (values ids_1 rhs_0)))))))
                                       (lambda (ids_0 rhs_0)
                                         (letrec*
                                          ((for-loop_1
                                            (|#%name|
                                             for-loop
                                             (lambda (src-syms_3 lst_1)
                                               (if (pair? lst_1)
                                                 (let ((id_0
                                                        (unsafe-car lst_1)))
                                                   (let ((rest_1
                                                          (unsafe-cdr lst_1)))
                                                     (let ((src-syms_4
                                                            (let ((src-syms_4
                                                                   (let ((u-id_0
                                                                          (unwrap
                                                                           id_0)))
                                                                     (let ((sym_0
                                                                            (let ((or-part_0
                                                                                   (wrap-property
                                                                                    id_0
                                                                                    'source-name)))
                                                                              (if or-part_0
                                                                                or-part_0
                                                                                u-id_0))))
                                                                       (if (eq?
                                                                            sym_0
                                                                            u-id_0)
                                                                         src-syms_3
                                                                         (hash-set
                                                                          src-syms_3
                                                                          u-id_0
                                                                          sym_0))))))
                                                              (values
                                                               src-syms_4))))
                                                       (for-loop_1
                                                        src-syms_4
                                                        rest_1))))
                                                 src-syms_3)))))
                                          (for-loop_1 src-syms_2 ids_0))))
                                      src-syms_2))))
                             (values src-syms_3))))
                      (for-loop_0 src-syms_3 rest_0))))
                src-syms_2)))))
         (for-loop_0 src-syms_1 bodys_0))))))
(define letrec-splitable-values-binding?
  (lambda (idss_0 rhss_0)
    (if (pair? idss_0)
      (if (null? (cdr idss_0))
        (if (let ((v_0 (car rhss_0))) (pair? (unwrap v_0)))
          (if (eq? 'values (wrap-car (car rhss_0)))
            (if (let ((app_0 (length (wrap-cdr (car rhss_0)))))
                  (= app_0 (length (car idss_0))))
              (let ((lst_0 (wrap-cdr (car rhss_0))))
                (letrec*
                 ((for-loop_0
                   (|#%name|
                    for-loop
                    (lambda (result_0 lst_1)
                      (if (pair? lst_1)
                        (let ((rhs_0 (unsafe-car lst_1)))
                          (let ((rest_0 (unsafe-cdr lst_1)))
                            (let ((result_1
                                   (let ((result_1 (lambda?.1 #t rhs_0)))
                                     (values result_1))))
                              (if (if (not
                                       (let ((x_0 (list rhs_0)))
                                         (not result_1)))
                                    #t
                                    #f)
                                (for-loop_0 result_1 rest_0)
                                result_1))))
                        result_0)))))
                 (for-loop_0 #t lst_0)))
              #f)
            #f)
          #f)
        #f)
      #f)))
(define letrec-split-values-binding
  (lambda (idss_0 rhss_0 bodys_0)
    (list*
     'letrec-values
     (reverse$1
      (let ((lst_0 (car idss_0)))
        (let ((lst_1 (wrap-cdr (car rhss_0))))
          (let ((lst_2 lst_0))
            (letrec*
             ((for-loop_0
               (|#%name|
                for-loop
                (lambda (fold-var_0 lst_3 lst_4)
                  (if (if (pair? lst_3) (pair? lst_4) #f)
                    (let ((id_0 (unsafe-car lst_3)))
                      (let ((rest_0 (unsafe-cdr lst_3)))
                        (let ((rhs_0 (unsafe-car lst_4)))
                          (let ((rest_1 (unsafe-cdr lst_4)))
                            (let ((fold-var_1
                                   (cons (list (list id_0) rhs_0) fold-var_0)))
                              (let ((fold-var_2 (values fold-var_1)))
                                (for-loop_0 fold-var_2 rest_0 rest_1)))))))
                    fold-var_0)))))
             (for-loop_0 null lst_2 lst_1))))))
     bodys_0)))
(define letrec-conversion
  (lambda (ids_0 mutated_0 target_0 e_0)
    (let ((need-convert?_0
           (if (not (eq? target_0 'cify))
             (letrec*
              ((loop_0
                (|#%name|
                 loop
                 (lambda (ids_1)
                   (if (symbol? ids_1)
                     (needs-letrec-convert-mutated-state?
                      (hash-ref mutated_0 ids_1 #f))
                     (if (syntax? ids_1)
                       (loop_0 (unwrap ids_1))
                       (if (pair? ids_1)
                         (let ((or-part_0 (loop_0 (car ids_1))))
                           (if or-part_0 or-part_0 (loop_0 (cdr ids_1))))
                         #f)))))))
              (loop_0 ids_0))
             #f)))
      (if need-convert?_0
        (if (let ((p_0 (unwrap e_0)))
              (if (pair? p_0)
                (let ((a_0 (cdr p_0)))
                  (let ((p_1 (unwrap a_0)))
                    (if (pair? p_1)
                      (if (let ((a_1 (car p_1)))
                            (if (wrap-list? a_1)
                              (letrec*
                               ((for-loop_0
                                 (|#%name|
                                  for-loop
                                  (lambda (result_0 lst_0)
                                    (if (not (null? (unwrap lst_0)))
                                      (let ((v_0
                                             (if (pair? (unwrap lst_0))
                                               (wrap-car lst_0)
                                               lst_0)))
                                        (let ((rest_0
                                               (if (pair? (unwrap lst_0))
                                                 (wrap-cdr lst_0)
                                                 null)))
                                          (let ((v_1 v_0))
                                            (let ((result_1
                                                   (let ((result_1
                                                          (let ((p_2
                                                                 (unwrap v_1)))
                                                            (if (pair? p_2)
                                                              (let ((a_2
                                                                     (cdr
                                                                      p_2)))
                                                                (let ((p_3
                                                                       (unwrap
                                                                        a_2)))
                                                                  (if (pair?
                                                                       p_3)
                                                                    (let ((a_3
                                                                           (cdr
                                                                            p_3)))
                                                                      (let ((app_0
                                                                             (unwrap
                                                                              '())))
                                                                        (eq?
                                                                         app_0
                                                                         (unwrap
                                                                          a_3))))
                                                                    #f)))
                                                              #f))))
                                                     (values result_1))))
                                              (if (if (not
                                                       (let ((x_0 (list v_1)))
                                                         (not result_1)))
                                                    #t
                                                    #f)
                                                (for-loop_0 result_1 rest_0)
                                                result_1)))))
                                      result_0)))))
                               (for-loop_0 #t a_1))
                              #f))
                        #t
                        #f)
                      #f)))
                #f))
          (call-with-values
           (lambda ()
             (let ((d_0 (cdr (unwrap e_0))))
               (let ((p_0 (unwrap d_0)))
                 (call-with-values
                  (lambda ()
                    (let ((a_0 (car p_0)))
                      (call-with-values
                       (lambda ()
                         (letrec*
                          ((for-loop_0
                            (|#%name|
                             for-loop
                             (lambda (ids_1 rhss_0 lst_0)
                               (if (not (null? (unwrap lst_0)))
                                 (let ((v_0
                                        (if (pair? (unwrap lst_0))
                                          (wrap-car lst_0)
                                          lst_0)))
                                   (let ((rest_0
                                          (if (pair? (unwrap lst_0))
                                            (wrap-cdr lst_0)
                                            null)))
                                     (let ((v_1 v_0))
                                       (call-with-values
                                        (lambda ()
                                          (call-with-values
                                           (lambda ()
                                             (call-with-values
                                              (lambda ()
                                                (let ((p_1 (unwrap v_1)))
                                                  (let ((ids_2
                                                         (let ((a_1 (car p_1)))
                                                           a_1)))
                                                    (let ((rhss_1
                                                           (let ((d_1
                                                                  (cdr p_1)))
                                                             (let ((a_1
                                                                    (car
                                                                     (unwrap
                                                                      d_1))))
                                                               a_1))))
                                                      (let ((ids_3 ids_2))
                                                        (values
                                                         ids_3
                                                         rhss_1))))))
                                              (lambda (ids3_0 rhss4_0)
                                                (values
                                                 (cons ids3_0 ids_1)
                                                 (cons rhss4_0 rhss_0)))))
                                           (lambda (ids_2 rhss_1)
                                             (values ids_2 rhss_1))))
                                        (lambda (ids_2 rhss_1)
                                          (for-loop_0 ids_2 rhss_1 rest_0))))))
                                 (values ids_1 rhss_0))))))
                          (for-loop_0 null null a_0)))
                       (lambda (ids_1 rhss_0)
                         (let ((app_0 (reverse$1 ids_1)))
                           (values app_0 (reverse$1 rhss_0)))))))
                  (lambda (ids_1 rhss_0)
                    (let ((body_0 (let ((d_1 (cdr p_0))) d_1)))
                      (let ((ids_2 ids_1) (rhss_1 rhss_0))
                        (values ids_2 rhss_1 body_0))))))))
           (lambda (ids_1 rhss_0 body_0)
             (let ((app_0
                    (reverse$1
                     (letrec*
                      ((for-loop_0
                        (|#%name|
                         for-loop
                         (lambda (fold-var_0 lst_0)
                           (if (pair? lst_0)
                             (let ((id_0 (unsafe-car lst_0)))
                               (let ((rest_0 (unsafe-cdr lst_0)))
                                 (let ((fold-var_1
                                        (cons
                                         (list* id_0 '(unsafe-undefined))
                                         fold-var_0)))
                                   (let ((fold-var_2 (values fold-var_1)))
                                     (for-loop_0 fold-var_2 rest_0)))))
                             fold-var_0)))))
                      (for-loop_0 null ids_1)))))
               (list*
                'let
                app_0
                (qq-append
                 (reverse$1
                  (letrec*
                   ((for-loop_0
                     (|#%name|
                      for-loop
                      (lambda (fold-var_0 lst_0 lst_1)
                        (if (if (pair? lst_0) (pair? lst_1) #f)
                          (let ((id_0 (unsafe-car lst_0)))
                            (let ((rest_0 (unsafe-cdr lst_0)))
                              (let ((rhs_0 (unsafe-car lst_1)))
                                (let ((rest_1 (unsafe-cdr lst_1)))
                                  (let ((fold-var_1
                                         (cons
                                          (list 'set! id_0 rhs_0)
                                          fold-var_0)))
                                    (let ((fold-var_2 (values fold-var_1)))
                                      (for-loop_0
                                       fold-var_2
                                       rest_0
                                       rest_1)))))))
                          fold-var_0)))))
                   (for-loop_0 null ids_1 rhss_0)))
                 body_0)))))
          (error 'match "failed ~e" e_0))
        e_0))))
(define id-to-variable
  (lambda (int-id_0 exports_0 extra-variables_0)
    (export-id
     (let ((or-part_0 (hash-ref exports_0 int-id_0 #f)))
       (if or-part_0
         or-part_0
         (if extra-variables_0
           (let ((or-part_1 (hash-ref extra-variables_0 int-id_0 #f)))
             (if or-part_1
               or-part_1
               (let ((ex_0
                      (export1.1 (deterministic-gensym int-id_0) int-id_0)))
                 (begin (hash-set! extra-variables_0 int-id_0 ex_0) ex_0))))
           #f))))))
(define mutated-in-body
  (lambda (l_0
           exports_0
           extra-variables_0
           prim-knowns_0
           knowns_0
           imports_0
           simples_0
           unsafe-mode?_0
           target_0
           enforce-constant?_0)
    (let ((mutated_0 (make-hasheq)))
      (begin
        (letrec*
         ((for-loop_0
           (|#%name|
            for-loop
            (lambda (i_0)
              (if i_0
                (let ((id_0 (hash-iterate-key exports_0 i_0)))
                  (begin
                    (hash-set! mutated_0 id_0 'undefined)
                    (for-loop_0 (hash-iterate-next exports_0 i_0))))
                (values))))))
         (for-loop_0 (hash-iterate-first exports_0)))
        (let ((unexported-ids_0
               (letrec*
                ((for-loop_0
                  (|#%name|
                   for-loop
                   (lambda (unexported-ids_0 lst_0)
                     (if (pair? lst_0)
                       (let ((form_0 (unsafe-car lst_0)))
                         (let ((rest_0 (unsafe-cdr lst_0)))
                           (let ((unexported-ids_1
                                  (let ((unexported-ids_1
                                         (let ((hd_0
                                                (let ((p_0 (unwrap form_0)))
                                                  (if (pair? p_0)
                                                    (unwrap (car p_0))
                                                    #f))))
                                           (if (if (eq? 'define-values hd_0)
                                                 (let ((a_0
                                                        (cdr (unwrap form_0))))
                                                   (let ((p_0 (unwrap a_0)))
                                                     (if (pair? p_0)
                                                       (if (let ((a_1
                                                                  (car p_0)))
                                                             (wrap-list? a_1))
                                                         (let ((a_1 (cdr p_0)))
                                                           (let ((p_1
                                                                  (unwrap
                                                                   a_1)))
                                                             (if (pair? p_1)
                                                               (let ((a_2
                                                                      (cdr
                                                                       p_1)))
                                                                 (let ((app_0
                                                                        (unwrap
                                                                         '())))
                                                                   (eq?
                                                                    app_0
                                                                    (unwrap
                                                                     a_2))))
                                                               #f)))
                                                         #f)
                                                       #f)))
                                                 #f)
                                             (call-with-values
                                              (lambda ()
                                                (let ((d_0
                                                       (cdr (unwrap form_0))))
                                                  (let ((p_0 (unwrap d_0)))
                                                    (let ((ids_0
                                                           (let ((a_0
                                                                  (car p_0)))
                                                             (unwrap-list
                                                              a_0))))
                                                      (let ((rhs_0
                                                             (let ((d_1
                                                                    (cdr p_0)))
                                                               (let ((a_0
                                                                      (car
                                                                       (unwrap
                                                                        d_1))))
                                                                 a_0))))
                                                        (let ((ids_1 ids_0))
                                                          (values
                                                           ids_1
                                                           rhs_0)))))))
                                              (lambda (ids_0 rhs_0)
                                                (letrec*
                                                 ((for-loop_1
                                                   (|#%name|
                                                    for-loop
                                                    (lambda (unexported-ids_1
                                                             lst_1)
                                                      (if (pair? lst_1)
                                                        (let ((id_0
                                                               (unsafe-car
                                                                lst_1)))
                                                          (let ((rest_1
                                                                 (unsafe-cdr
                                                                  lst_1)))
                                                            (let ((unexported-ids_2
                                                                   (let ((unexported-ids_2
                                                                          (let ((u-id_0
                                                                                 (unwrap
                                                                                  id_0)))
                                                                            (begin
                                                                              (hash-set!
                                                                               mutated_0
                                                                               u-id_0
                                                                               (if enforce-constant?_0
                                                                                 'not-ready
                                                                                 'set!ed-too-early))
                                                                              (if (hash-ref
                                                                                   exports_0
                                                                                   u-id_0
                                                                                   #f)
                                                                                unexported-ids_1
                                                                                (cons
                                                                                 u-id_0
                                                                                 unexported-ids_1))))))
                                                                     (values
                                                                      unexported-ids_2))))
                                                              (for-loop_1
                                                               unexported-ids_2
                                                               rest_1))))
                                                        unexported-ids_1)))))
                                                 (for-loop_1
                                                  unexported-ids_0
                                                  ids_0))))
                                             unexported-ids_0))))
                                    (values unexported-ids_1))))
                             (for-loop_0 unexported-ids_1 rest_0))))
                       unexported-ids_0)))))
                (for-loop_0 '() l_0))))
          (let ((unexported-ready_0
                 (if (pair? unexported-ids_0)
                   (if (eq? target_0 'interp) (make-hasheq) #f)
                   #f)))
            (begin
              (if unexported-ready_0
                (begin
                  (letrec*
                   ((for-loop_0
                     (|#%name|
                      for-loop
                      (lambda (lst_0)
                        (if (pair? lst_0)
                          (let ((id_0 (unsafe-car lst_0)))
                            (let ((rest_0 (unsafe-cdr lst_0)))
                              (begin
                                (hash-set!
                                 mutated_0
                                 id_0
                                 (lambda ()
                                   (if (let ((or-part_0
                                              (hash-ref
                                               unexported-ready_0
                                               id_0
                                               #f)))
                                         (if or-part_0
                                           or-part_0
                                           (set!ed-mutated-state?
                                            (hash-ref mutated_0 id_0 #f))))
                                     (void)
                                     (hash-set! mutated_0 id_0 'too-early))))
                                (for-loop_0 rest_0))))
                          (values))))))
                   (for-loop_0 unexported-ids_0))
                  (void))
                (void))
              (letrec*
               ((for-loop_0
                 (|#%name|
                  for-loop
                  (lambda (prev-knowns_0 lst_0)
                    (if (pair? lst_0)
                      (let ((form_0 (unsafe-car lst_0)))
                        (let ((rest_0 (unsafe-cdr lst_0)))
                          (let ((prev-knowns_1
                                 (let ((prev-knowns_1
                                        (call-with-values
                                         (lambda ()
                                           (find-definitions.1
                                            unsafe-undefined
                                            #f
                                            hash2610
                                            form_0
                                            prim-knowns_0
                                            prev-knowns_0
                                            imports_0
                                            mutated_0
                                            simples_0
                                            unsafe-mode?_0
                                            target_0))
                                         (lambda (knowns_1 info_0)
                                           (begin
                                             (let ((hd_0
                                                    (let ((p_0
                                                           (unwrap form_0)))
                                                      (if (pair? p_0)
                                                        (unwrap (car p_0))
                                                        #f))))
                                               (if (if (eq?
                                                        'define-values
                                                        hd_0)
                                                     (let ((a_0
                                                            (cdr
                                                             (unwrap form_0))))
                                                       (let ((p_0
                                                              (unwrap a_0)))
                                                         (if (pair? p_0)
                                                           (if (let ((a_1
                                                                      (car
                                                                       p_0)))
                                                                 (wrap-list?
                                                                  a_1))
                                                             (let ((a_1
                                                                    (cdr p_0)))
                                                               (let ((p_1
                                                                      (unwrap
                                                                       a_1)))
                                                                 (if (pair?
                                                                      p_1)
                                                                   (let ((a_2
                                                                          (cdr
                                                                           p_1)))
                                                                     (let ((app_0
                                                                            (unwrap
                                                                             '())))
                                                                       (eq?
                                                                        app_0
                                                                        (unwrap
                                                                         a_2))))
                                                                   #f)))
                                                             #f)
                                                           #f)))
                                                     #f)
                                                 (call-with-values
                                                  (lambda ()
                                                    (let ((d_0
                                                           (cdr
                                                            (unwrap form_0))))
                                                      (let ((p_0 (unwrap d_0)))
                                                        (let ((ids_0
                                                               (let ((a_0
                                                                      (car
                                                                       p_0)))
                                                                 (unwrap-list
                                                                  a_0))))
                                                          (let ((rhs_0
                                                                 (let ((d_1
                                                                        (cdr
                                                                         p_0)))
                                                                   (let ((a_0
                                                                          (car
                                                                           (unwrap
                                                                            d_1))))
                                                                     a_0))))
                                                            (let ((ids_1
                                                                   ids_0))
                                                              (values
                                                               ids_1
                                                               rhs_0)))))))
                                                  (lambda (ids_0 rhs_0)
                                                    (begin
                                                      (if info_0
                                                        (begin
                                                          (let ((lst_1
                                                                 (struct-type-info-rest
                                                                  info_0)))
                                                            (letrec*
                                                             ((for-loop_1
                                                               (|#%name|
                                                                for-loop
                                                                (lambda (lst_2
                                                                         pos_0)
                                                                  (if (if (pair?
                                                                           lst_2)
                                                                        #t
                                                                        #f)
                                                                    (let ((e_0
                                                                           (unsafe-car
                                                                            lst_2)))
                                                                      (let ((rest_1
                                                                             (unsafe-cdr
                                                                              lst_2)))
                                                                        (begin
                                                                          (if (=
                                                                               pos_0
                                                                               0)
                                                                            (let ((prop-vals_0
                                                                                   (pure-properties-list
                                                                                    e_0
                                                                                    prim-knowns_0
                                                                                    knowns_1
                                                                                    imports_0
                                                                                    mutated_0
                                                                                    simples_0)))
                                                                              (if prop-vals_0
                                                                                (begin
                                                                                  (let ((lst_3
                                                                                         '(#f
                                                                                           #t)))
                                                                                    (letrec*
                                                                                     ((for-loop_2
                                                                                       (|#%name|
                                                                                        for-loop
                                                                                        (lambda (lst_4)
                                                                                          (if (pair?
                                                                                               lst_4)
                                                                                            (let ((do-nice?_0
                                                                                                   (unsafe-car
                                                                                                    lst_4)))
                                                                                              (let ((rest_2
                                                                                                     (unsafe-cdr
                                                                                                      lst_4)))
                                                                                                (begin
                                                                                                  (begin
                                                                                                    (letrec*
                                                                                                     ((for-loop_3
                                                                                                       (|#%name|
                                                                                                        for-loop
                                                                                                        (lambda (lst_5)
                                                                                                          (if (pair?
                                                                                                               lst_5)
                                                                                                            (let ((nice?+key+val_0
                                                                                                                   (unsafe-car
                                                                                                                    lst_5)))
                                                                                                              (let ((rest_3
                                                                                                                     (unsafe-cdr
                                                                                                                      lst_5)))
                                                                                                                (begin
                                                                                                                  (if (let ((p_0
                                                                                                                             (unwrap
                                                                                                                              nice?+key+val_0)))
                                                                                                                        (if (pair?
                                                                                                                             p_0)
                                                                                                                          (let ((a_0
                                                                                                                                 (cdr
                                                                                                                                  p_0)))
                                                                                                                            (let ((p_1
                                                                                                                                   (unwrap
                                                                                                                                    a_0)))
                                                                                                                              (if (pair?
                                                                                                                                   p_1)
                                                                                                                                #t
                                                                                                                                #f)))
                                                                                                                          #f))
                                                                                                                    (call-with-values
                                                                                                                     (lambda ()
                                                                                                                       (let ((p_0
                                                                                                                              (unwrap
                                                                                                                               nice?+key+val_0)))
                                                                                                                         (let ((nice?_0
                                                                                                                                (let ((a_0
                                                                                                                                       (car
                                                                                                                                        p_0)))
                                                                                                                                  a_0)))
                                                                                                                           (call-with-values
                                                                                                                            (lambda ()
                                                                                                                              (let ((d_0
                                                                                                                                     (cdr
                                                                                                                                      p_0)))
                                                                                                                                (let ((p_1
                                                                                                                                       (unwrap
                                                                                                                                        d_0)))
                                                                                                                                  (let ((key_0
                                                                                                                                         (let ((a_0
                                                                                                                                                (car
                                                                                                                                                 p_1)))
                                                                                                                                           a_0)))
                                                                                                                                    (let ((val_0
                                                                                                                                           (let ((d_1
                                                                                                                                                  (cdr
                                                                                                                                                   p_1)))
                                                                                                                                             d_1)))
                                                                                                                                      (let ((key_1
                                                                                                                                             key_0))
                                                                                                                                        (values
                                                                                                                                         key_1
                                                                                                                                         val_0)))))))
                                                                                                                            (lambda (key_0
                                                                                                                                     val_0)
                                                                                                                              (let ((nice?_1
                                                                                                                                     nice?_0))
                                                                                                                                (values
                                                                                                                                 nice?_1
                                                                                                                                 key_0
                                                                                                                                 val_0)))))))
                                                                                                                     (lambda (nice?_0
                                                                                                                              key_0
                                                                                                                              val_0)
                                                                                                                       (if nice?_0
                                                                                                                         (if do-nice?_0
                                                                                                                           (find-mutated!
                                                                                                                            val_0
                                                                                                                            ids_0
                                                                                                                            prim-knowns_0
                                                                                                                            knowns_1
                                                                                                                            imports_0
                                                                                                                            mutated_0
                                                                                                                            simples_0
                                                                                                                            unsafe-mode?_0)
                                                                                                                           (void))
                                                                                                                         (if (not
                                                                                                                              do-nice?_0)
                                                                                                                           (begin
                                                                                                                             (find-mutated!
                                                                                                                              key_0
                                                                                                                              #f
                                                                                                                              prim-knowns_0
                                                                                                                              knowns_1
                                                                                                                              imports_0
                                                                                                                              mutated_0
                                                                                                                              simples_0
                                                                                                                              unsafe-mode?_0)
                                                                                                                             (find-mutated!
                                                                                                                              val_0
                                                                                                                              #f
                                                                                                                              prim-knowns_0
                                                                                                                              knowns_1
                                                                                                                              imports_0
                                                                                                                              mutated_0
                                                                                                                              simples_0
                                                                                                                              unsafe-mode?_0))
                                                                                                                           (void)))))
                                                                                                                    (error
                                                                                                                     'match
                                                                                                                     "failed ~e"
                                                                                                                     nice?+key+val_0))
                                                                                                                  (for-loop_3
                                                                                                                   rest_3))))
                                                                                                            (values))))))
                                                                                                     (for-loop_3
                                                                                                      prop-vals_0))
                                                                                                    (void))
                                                                                                  (for-loop_2
                                                                                                   rest_2))))
                                                                                            (values))))))
                                                                                     (for-loop_2
                                                                                      lst_3)))
                                                                                  (void))
                                                                                (find-mutated!
                                                                                 e_0
                                                                                 #f
                                                                                 prim-knowns_0
                                                                                 knowns_1
                                                                                 imports_0
                                                                                 mutated_0
                                                                                 simples_0
                                                                                 unsafe-mode?_0)))
                                                                            (find-mutated!
                                                                             e_0
                                                                             ids_0
                                                                             prim-knowns_0
                                                                             knowns_1
                                                                             imports_0
                                                                             mutated_0
                                                                             simples_0
                                                                             unsafe-mode?_0))
                                                                          (for-loop_1
                                                                           rest_1
                                                                           (+
                                                                            pos_0
                                                                            1)))))
                                                                    (values))))))
                                                             (for-loop_1
                                                              lst_1
                                                              0)))
                                                          (void))
                                                        (find-mutated!
                                                         rhs_0
                                                         ids_0
                                                         prim-knowns_0
                                                         knowns_1
                                                         imports_0
                                                         mutated_0
                                                         simples_0
                                                         unsafe-mode?_0))
                                                      (letrec*
                                                       ((for-loop_1
                                                         (|#%name|
                                                          for-loop
                                                          (lambda (lst_1)
                                                            (if (pair? lst_1)
                                                              (let ((id_0
                                                                     (unsafe-car
                                                                      lst_1)))
                                                                (let ((rest_1
                                                                       (unsafe-cdr
                                                                        lst_1)))
                                                                  (begin
                                                                    (let ((id_1
                                                                           (unwrap
                                                                            id_0)))
                                                                      (if (eq?
                                                                           'not-ready
                                                                           (hash-ref
                                                                            mutated_0
                                                                            id_1
                                                                            #f))
                                                                        (hash-remove!
                                                                         mutated_0
                                                                         id_1)
                                                                        (void)))
                                                                    (for-loop_1
                                                                     rest_1))))
                                                              (values))))))
                                                       (for-loop_1 ids_0))
                                                      (void))))
                                                 (find-mutated!
                                                  form_0
                                                  #f
                                                  prim-knowns_0
                                                  knowns_1
                                                  imports_0
                                                  mutated_0
                                                  simples_0
                                                  unsafe-mode?_0)))
                                             knowns_1)))))
                                   (values prev-knowns_1))))
                            (for-loop_0 prev-knowns_1 rest_0))))
                      prev-knowns_0)))))
               (for-loop_0 knowns_0 l_0))
              (letrec*
               ((for-loop_0
                 (|#%name|
                  for-loop
                  (lambda (lst_0)
                    (if (pair? lst_0)
                      (let ((form_0 (unsafe-car lst_0)))
                        (let ((rest_0 (unsafe-cdr lst_0)))
                          (begin
                            (let ((hd_0
                                   (let ((p_0 (unwrap form_0)))
                                     (if (pair? p_0) (unwrap (car p_0)) #f))))
                              (if (if (eq? 'define-values hd_0)
                                    (let ((a_0 (cdr (unwrap form_0))))
                                      (let ((p_0 (unwrap a_0)))
                                        (if (pair? p_0)
                                          (if (let ((a_1 (car p_0)))
                                                (wrap-list? a_1))
                                            (let ((a_1 (cdr p_0)))
                                              (let ((p_1 (unwrap a_1)))
                                                (if (pair? p_1)
                                                  (let ((a_2 (cdr p_1)))
                                                    (let ((app_0 (unwrap '())))
                                                      (eq?
                                                       app_0
                                                       (unwrap a_2))))
                                                  #f)))
                                            #f)
                                          #f)))
                                    #f)
                                (call-with-values
                                 (lambda ()
                                   (let ((d_0 (cdr (unwrap form_0))))
                                     (let ((p_0 (unwrap d_0)))
                                       (let ((ids_0
                                              (let ((a_0 (car p_0)))
                                                (unwrap-list a_0))))
                                         (let ((rhs_0
                                                (let ((d_1 (cdr p_0)))
                                                  (let ((a_0
                                                         (car (unwrap d_1))))
                                                    a_0))))
                                           (let ((ids_1 ids_0))
                                             (values ids_1 rhs_0)))))))
                                 (lambda (ids_0 rhs_0)
                                   (begin
                                     (letrec*
                                      ((for-loop_1
                                        (|#%name|
                                         for-loop
                                         (lambda (lst_1)
                                           (if (pair? lst_1)
                                             (let ((id_0 (unsafe-car lst_1)))
                                               (let ((rest_1
                                                      (unsafe-cdr lst_1)))
                                                 (begin
                                                   (let ((id_1 (unwrap id_0)))
                                                     (let ((state_0
                                                            (hash-ref
                                                             mutated_0
                                                             id_1
                                                             #f)))
                                                       (begin
                                                         (if unexported-ready_0
                                                           (if (not
                                                                (hash-ref
                                                                 exports_0
                                                                 id_1
                                                                 #f))
                                                             (hash-set!
                                                              unexported-ready_0
                                                              id_1
                                                              #t)
                                                             (void))
                                                           (void))
                                                         (if (procedure?
                                                              state_0)
                                                           (begin
                                                             (hash-remove!
                                                              mutated_0
                                                              id_1)
                                                             (|#%app| state_0))
                                                           (void)))))
                                                   (for-loop_1 rest_1))))
                                             (values))))))
                                      (for-loop_1 ids_0))
                                     (void))))
                                (void)))
                            (for-loop_0 rest_0))))
                      (values))))))
               (for-loop_0 l_0))
              (void)
              (if (if unsafe-mode?_0 unsafe-mode?_0 (eq? target_0 'system))
                (void)
                (begin
                  (letrec*
                   ((for-loop_0
                     (|#%name|
                      for-loop
                      (lambda (lst_0)
                        (if (pair? lst_0)
                          (let ((id_0 (unsafe-car lst_0)))
                            (let ((rest_0 (unsafe-cdr lst_0)))
                              (begin
                                (let ((state_0 (hash-ref mutated_0 id_0 #f)))
                                  (if (via-variable-mutated-state? state_0)
                                    (id-to-variable
                                     id_0
                                     exports_0
                                     extra-variables_0)
                                    (void)))
                                (for-loop_0 rest_0))))
                          (values))))))
                   (for-loop_0 unexported-ids_0))
                  (void)))
              mutated_0)))))))
(define find-mutated!
  (lambda (top-v_0
           ids_0
           prim-knowns_0
           knowns_0
           imports_0
           mutated_0
           simples_0
           unsafe-mode?_0)
    (let ((delay!_0
           (|#%name|
            delay!
            (lambda (ids_1 thunk_0)
              (let ((done?_0 #f))
                (let ((force_0
                       (|#%name|
                        force
                        (lambda ()
                          (if done?_0
                            (void)
                            (begin (set! done?_0 #t) (|#%app| thunk_0)))))))
                  (begin
                    (letrec*
                     ((for-loop_0
                       (|#%name|
                        for-loop
                        (lambda (lst_0)
                          (if (pair? lst_0)
                            (let ((id_0 (unsafe-car lst_0)))
                              (let ((rest_0 (unsafe-cdr lst_0)))
                                (begin
                                  (let ((id_1 (unwrap id_0)))
                                    (let ((m_0
                                           (hash-ref
                                            mutated_0
                                            id_1
                                            'not-ready)))
                                      (if (eq? 'not-ready m_0)
                                        (hash-set! mutated_0 id_1 force_0)
                                        (if (procedure? m_0)
                                          (hash-set!
                                           mutated_0
                                           id_1
                                           (lambda ()
                                             (begin (|#%app| m_0) (force_0))))
                                          (force_0)))))
                                  (for-loop_0 rest_0))))
                            (values))))))
                     (for-loop_0 ids_1))
                    (void))))))))
      (letrec*
       ((find-mutated!_0
         (|#%name|
          find-mutated!
          (lambda (v_0 ids_1)
            (let ((find-mutated!*_0
                   (|#%name|
                    find-mutated!*
                    (lambda (l_0 ids_2)
                      (letrec*
                       ((loop_0
                         (|#%name|
                          loop
                          (lambda (l_1)
                            (if (null? l_1)
                              (void)
                              (if (null? (cdr l_1))
                                (find-mutated!_0 (car l_1) ids_2)
                                (begin
                                  (find-mutated!_0 (car l_1) #f)
                                  (loop_0 (cdr l_1)))))))))
                       (loop_0 l_0))))))
              (let ((hd_0
                     (let ((p_0 (unwrap v_0)))
                       (if (pair? p_0) (unwrap (car p_0)) #f))))
                (if (if (eq? 'lambda hd_0)
                      (let ((a_0 (cdr (unwrap v_0))))
                        (let ((p_0 (unwrap a_0)))
                          (if (pair? p_0)
                            (let ((a_1 (cdr p_0))) (wrap-list? a_1))
                            #f)))
                      #f)
                  (call-with-values
                   (lambda ()
                     (let ((d_0 (cdr (unwrap v_0))))
                       (let ((p_0 (unwrap d_0)))
                         (let ((formals_0 (let ((a_0 (car p_0))) a_0)))
                           (let ((body_0
                                  (let ((d_1 (cdr p_0))) (unwrap-list d_1))))
                             (let ((formals_1 formals_0))
                               (values formals_1 body_0)))))))
                   (lambda (formals_0 body_0)
                     (if ids_1
                       (delay!_0
                        ids_1
                        (lambda () (find-mutated!*_0 body_0 #f)))
                       (find-mutated!*_0 body_0 #f))))
                  (if (if (eq? 'case-lambda hd_0)
                        (let ((a_0 (cdr (unwrap v_0))))
                          (if (wrap-list? a_0)
                            (letrec*
                             ((for-loop_0
                               (|#%name|
                                for-loop
                                (lambda (result_0 lst_0)
                                  (if (not (null? (unwrap lst_0)))
                                    (let ((v_1
                                           (if (pair? (unwrap lst_0))
                                             (wrap-car lst_0)
                                             lst_0)))
                                      (let ((rest_0
                                             (if (pair? (unwrap lst_0))
                                               (wrap-cdr lst_0)
                                               null)))
                                        (let ((v_2 v_1))
                                          (let ((result_1
                                                 (let ((result_1
                                                        (let ((p_0
                                                               (unwrap v_2)))
                                                          (if (pair? p_0)
                                                            (let ((a_1
                                                                   (cdr p_0)))
                                                              (wrap-list? a_1))
                                                            #f))))
                                                   (values result_1))))
                                            (if (if (not
                                                     (let ((x_0 (list v_2)))
                                                       (not result_1)))
                                                  #t
                                                  #f)
                                              (for-loop_0 result_1 rest_0)
                                              result_1)))))
                                    result_0)))))
                             (for-loop_0 #t a_0))
                            #f))
                        #f)
                    (call-with-values
                     (lambda ()
                       (let ((d_0 (cdr (unwrap v_0))))
                         (call-with-values
                          (lambda ()
                            (letrec*
                             ((for-loop_0
                               (|#%name|
                                for-loop
                                (lambda (formalss_0 bodys_0 lst_0)
                                  (if (not (null? (unwrap lst_0)))
                                    (let ((v_1
                                           (if (pair? (unwrap lst_0))
                                             (wrap-car lst_0)
                                             lst_0)))
                                      (let ((rest_0
                                             (if (pair? (unwrap lst_0))
                                               (wrap-cdr lst_0)
                                               null)))
                                        (let ((v_2 v_1))
                                          (call-with-values
                                           (lambda ()
                                             (call-with-values
                                              (lambda ()
                                                (call-with-values
                                                 (lambda ()
                                                   (let ((p_0 (unwrap v_2)))
                                                     (let ((formalss_1
                                                            (let ((a_0
                                                                   (car p_0)))
                                                              a_0)))
                                                       (let ((bodys_1
                                                              (let ((d_1
                                                                     (cdr
                                                                      p_0)))
                                                                (unwrap-list
                                                                 d_1))))
                                                         (let ((formalss_2
                                                                formalss_1))
                                                           (values
                                                            formalss_2
                                                            bodys_1))))))
                                                 (lambda (formalss10_0
                                                          bodys11_0)
                                                   (values
                                                    (cons
                                                     formalss10_0
                                                     formalss_0)
                                                    (cons
                                                     bodys11_0
                                                     bodys_0)))))
                                              (lambda (formalss_1 bodys_1)
                                                (values formalss_1 bodys_1))))
                                           (lambda (formalss_1 bodys_1)
                                             (for-loop_0
                                              formalss_1
                                              bodys_1
                                              rest_0))))))
                                    (values formalss_0 bodys_0))))))
                             (for-loop_0 null null d_0)))
                          (lambda (formalss_0 bodys_0)
                            (let ((app_0 (reverse$1 formalss_0)))
                              (values app_0 (reverse$1 bodys_0)))))))
                     (lambda (formalss_0 bodys_0)
                       (if ids_1
                         (delay!_0
                          ids_1
                          (lambda ()
                            (begin
                              (letrec*
                               ((for-loop_0
                                 (|#%name|
                                  for-loop
                                  (lambda (lst_0)
                                    (if (pair? lst_0)
                                      (let ((body_0 (unsafe-car lst_0)))
                                        (let ((rest_0 (unsafe-cdr lst_0)))
                                          (begin
                                            (find-mutated!*_0 body_0 #f)
                                            (for-loop_0 rest_0))))
                                      (values))))))
                               (for-loop_0 bodys_0))
                              (void))))
                         (begin
                           (letrec*
                            ((for-loop_0
                              (|#%name|
                               for-loop
                               (lambda (lst_0)
                                 (if (pair? lst_0)
                                   (let ((body_0 (unsafe-car lst_0)))
                                     (let ((rest_0 (unsafe-cdr lst_0)))
                                       (begin
                                         (find-mutated!*_0 body_0 #f)
                                         (for-loop_0 rest_0))))
                                   (values))))))
                            (for-loop_0 bodys_0))
                           (void)))))
                    (if (if (eq? 'quote hd_0)
                          (let ((a_0 (cdr (unwrap v_0))))
                            (let ((p_0 (unwrap a_0)))
                              (if (pair? p_0)
                                (let ((a_1 (cdr p_0)))
                                  (let ((app_0 (unwrap '())))
                                    (eq? app_0 (unwrap a_1))))
                                #f)))
                          #f)
                      (void)
                      (if (if (eq? 'let-values hd_0)
                            (let ((a_0 (cdr (unwrap v_0))))
                              (let ((p_0 (unwrap a_0)))
                                (if (pair? p_0)
                                  (if (let ((a_1 (car p_0)))
                                        (if (wrap-list? a_1)
                                          (letrec*
                                           ((for-loop_0
                                             (|#%name|
                                              for-loop
                                              (lambda (result_0 lst_0)
                                                (if (not
                                                     (null? (unwrap lst_0)))
                                                  (let ((v_1
                                                         (if (pair?
                                                              (unwrap lst_0))
                                                           (wrap-car lst_0)
                                                           lst_0)))
                                                    (let ((rest_0
                                                           (if (pair?
                                                                (unwrap lst_0))
                                                             (wrap-cdr lst_0)
                                                             null)))
                                                      (let ((v_2 v_1))
                                                        (let ((result_1
                                                               (let ((result_1
                                                                      (let ((p_1
                                                                             (unwrap
                                                                              v_2)))
                                                                        (if (pair?
                                                                             p_1)
                                                                          (let ((a_2
                                                                                 (cdr
                                                                                  p_1)))
                                                                            (let ((p_2
                                                                                   (unwrap
                                                                                    a_2)))
                                                                              (if (pair?
                                                                                   p_2)
                                                                                (let ((a_3
                                                                                       (cdr
                                                                                        p_2)))
                                                                                  (let ((app_0
                                                                                         (unwrap
                                                                                          '())))
                                                                                    (eq?
                                                                                     app_0
                                                                                     (unwrap
                                                                                      a_3))))
                                                                                #f)))
                                                                          #f))))
                                                                 (values
                                                                  result_1))))
                                                          (if (if (not
                                                                   (let ((x_0
                                                                          (list
                                                                           v_2)))
                                                                     (not
                                                                      result_1)))
                                                                #t
                                                                #f)
                                                            (for-loop_0
                                                             result_1
                                                             rest_0)
                                                            result_1)))))
                                                  result_0)))))
                                           (for-loop_0 #t a_1))
                                          #f))
                                    (let ((a_1 (cdr p_0))) (wrap-list? a_1))
                                    #f)
                                  #f)))
                            #f)
                        (call-with-values
                         (lambda ()
                           (let ((d_0 (cdr (unwrap v_0))))
                             (let ((p_0 (unwrap d_0)))
                               (call-with-values
                                (lambda ()
                                  (let ((a_0 (car p_0)))
                                    (call-with-values
                                     (lambda ()
                                       (letrec*
                                        ((for-loop_0
                                          (|#%name|
                                           for-loop
                                           (lambda (idss_0 rhss_0 lst_0)
                                             (if (not (null? (unwrap lst_0)))
                                               (let ((v_1
                                                      (if (pair?
                                                           (unwrap lst_0))
                                                        (wrap-car lst_0)
                                                        lst_0)))
                                                 (let ((rest_0
                                                        (if (pair?
                                                             (unwrap lst_0))
                                                          (wrap-cdr lst_0)
                                                          null)))
                                                   (let ((v_2 v_1))
                                                     (call-with-values
                                                      (lambda ()
                                                        (call-with-values
                                                         (lambda ()
                                                           (call-with-values
                                                            (lambda ()
                                                              (let ((p_1
                                                                     (unwrap
                                                                      v_2)))
                                                                (let ((idss_1
                                                                       (let ((a_1
                                                                              (car
                                                                               p_1)))
                                                                         a_1)))
                                                                  (let ((rhss_1
                                                                         (let ((d_1
                                                                                (cdr
                                                                                 p_1)))
                                                                           (let ((a_1
                                                                                  (car
                                                                                   (unwrap
                                                                                    d_1))))
                                                                             a_1))))
                                                                    (let ((idss_2
                                                                           idss_1))
                                                                      (values
                                                                       idss_2
                                                                       rhss_1))))))
                                                            (lambda (idss12_0
                                                                     rhss13_0)
                                                              (values
                                                               (cons
                                                                idss12_0
                                                                idss_0)
                                                               (cons
                                                                rhss13_0
                                                                rhss_0)))))
                                                         (lambda (idss_1
                                                                  rhss_1)
                                                           (values
                                                            idss_1
                                                            rhss_1))))
                                                      (lambda (idss_1 rhss_1)
                                                        (for-loop_0
                                                         idss_1
                                                         rhss_1
                                                         rest_0))))))
                                               (values idss_0 rhss_0))))))
                                        (for-loop_0 null null a_0)))
                                     (lambda (idss_0 rhss_0)
                                       (let ((app_0 (reverse$1 idss_0)))
                                         (values app_0 (reverse$1 rhss_0)))))))
                                (lambda (idss_0 rhss_0)
                                  (let ((bodys_0
                                         (let ((d_1 (cdr p_0)))
                                           (unwrap-list d_1))))
                                    (let ((idss_1 idss_0) (rhss_1 rhss_0))
                                      (values idss_1 rhss_1 bodys_0))))))))
                         (lambda (idss_0 rhss_0 bodys_0)
                           (begin
                             (letrec*
                              ((for-loop_0
                                (|#%name|
                                 for-loop
                                 (lambda (lst_0 lst_1)
                                   (if (if (pair? lst_0) (pair? lst_1) #f)
                                     (let ((ids_2 (unsafe-car lst_0)))
                                       (let ((rest_0 (unsafe-cdr lst_0)))
                                         (let ((rhs_0 (unsafe-car lst_1)))
                                           (let ((rest_1 (unsafe-cdr lst_1)))
                                             (begin
                                               (find-mutated!_0 rhs_0 ids_2)
                                               (for-loop_0 rest_0 rest_1))))))
                                     (values))))))
                              (for-loop_0 idss_0 rhss_0))
                             (void)
                             (find-mutated!*_0 bodys_0 ids_1))))
                        (if (if (eq? 'letrec-values hd_0)
                              (let ((a_0 (cdr (unwrap v_0))))
                                (let ((p_0 (unwrap a_0)))
                                  (if (pair? p_0)
                                    (if (let ((a_1 (car p_0)))
                                          (if (wrap-list? a_1)
                                            (letrec*
                                             ((for-loop_0
                                               (|#%name|
                                                for-loop
                                                (lambda (result_0 lst_0)
                                                  (if (not
                                                       (null? (unwrap lst_0)))
                                                    (let ((v_1
                                                           (if (pair?
                                                                (unwrap lst_0))
                                                             (wrap-car lst_0)
                                                             lst_0)))
                                                      (let ((rest_0
                                                             (if (pair?
                                                                  (unwrap
                                                                   lst_0))
                                                               (wrap-cdr lst_0)
                                                               null)))
                                                        (let ((v_2 v_1))
                                                          (let ((result_1
                                                                 (let ((result_1
                                                                        (let ((p_1
                                                                               (unwrap
                                                                                v_2)))
                                                                          (if (pair?
                                                                               p_1)
                                                                            (let ((a_2
                                                                                   (cdr
                                                                                    p_1)))
                                                                              (let ((p_2
                                                                                     (unwrap
                                                                                      a_2)))
                                                                                (if (pair?
                                                                                     p_2)
                                                                                  (let ((a_3
                                                                                         (cdr
                                                                                          p_2)))
                                                                                    (let ((app_0
                                                                                           (unwrap
                                                                                            '())))
                                                                                      (eq?
                                                                                       app_0
                                                                                       (unwrap
                                                                                        a_3))))
                                                                                  #f)))
                                                                            #f))))
                                                                   (values
                                                                    result_1))))
                                                            (if (if (not
                                                                     (let ((x_0
                                                                            (list
                                                                             v_2)))
                                                                       (not
                                                                        result_1)))
                                                                  #t
                                                                  #f)
                                                              (for-loop_0
                                                               result_1
                                                               rest_0)
                                                              result_1)))))
                                                    result_0)))))
                                             (for-loop_0 #t a_1))
                                            #f))
                                      (let ((a_1 (cdr p_0))) (wrap-list? a_1))
                                      #f)
                                    #f)))
                              #f)
                          (call-with-values
                           (lambda ()
                             (let ((d_0 (cdr (unwrap v_0))))
                               (let ((p_0 (unwrap d_0)))
                                 (call-with-values
                                  (lambda ()
                                    (let ((a_0 (car p_0)))
                                      (call-with-values
                                       (lambda ()
                                         (letrec*
                                          ((for-loop_0
                                            (|#%name|
                                             for-loop
                                             (lambda (idss_0 rhss_0 lst_0)
                                               (if (not (null? (unwrap lst_0)))
                                                 (let ((v_1
                                                        (if (pair?
                                                             (unwrap lst_0))
                                                          (wrap-car lst_0)
                                                          lst_0)))
                                                   (let ((rest_0
                                                          (if (pair?
                                                               (unwrap lst_0))
                                                            (wrap-cdr lst_0)
                                                            null)))
                                                     (let ((v_2 v_1))
                                                       (call-with-values
                                                        (lambda ()
                                                          (call-with-values
                                                           (lambda ()
                                                             (call-with-values
                                                              (lambda ()
                                                                (let ((p_1
                                                                       (unwrap
                                                                        v_2)))
                                                                  (let ((idss_1
                                                                         (let ((a_1
                                                                                (car
                                                                                 p_1)))
                                                                           a_1)))
                                                                    (let ((rhss_1
                                                                           (let ((d_1
                                                                                  (cdr
                                                                                   p_1)))
                                                                             (let ((a_1
                                                                                    (car
                                                                                     (unwrap
                                                                                      d_1))))
                                                                               a_1))))
                                                                      (let ((idss_2
                                                                             idss_1))
                                                                        (values
                                                                         idss_2
                                                                         rhss_1))))))
                                                              (lambda (idss14_0
                                                                       rhss15_0)
                                                                (values
                                                                 (cons
                                                                  idss14_0
                                                                  idss_0)
                                                                 (cons
                                                                  rhss15_0
                                                                  rhss_0)))))
                                                           (lambda (idss_1
                                                                    rhss_1)
                                                             (values
                                                              idss_1
                                                              rhss_1))))
                                                        (lambda (idss_1 rhss_1)
                                                          (for-loop_0
                                                           idss_1
                                                           rhss_1
                                                           rest_0))))))
                                                 (values idss_0 rhss_0))))))
                                          (for-loop_0 null null a_0)))
                                       (lambda (idss_0 rhss_0)
                                         (let ((app_0 (reverse$1 idss_0)))
                                           (values
                                            app_0
                                            (reverse$1 rhss_0)))))))
                                  (lambda (idss_0 rhss_0)
                                    (let ((bodys_0
                                           (let ((d_1 (cdr p_0)))
                                             (unwrap-list d_1))))
                                      (let ((idss_1 idss_0) (rhss_1 rhss_0))
                                        (values idss_1 rhss_1 bodys_0))))))))
                           (lambda (idss_0 rhss_0 bodys_0)
                             (if (letrec-splitable-values-binding?
                                  idss_0
                                  rhss_0)
                               (find-mutated!_0
                                (letrec-split-values-binding
                                 idss_0
                                 rhss_0
                                 bodys_0)
                                ids_1)
                               (begin
                                 (letrec*
                                  ((for-loop_0
                                    (|#%name|
                                     for-loop
                                     (lambda (lst_0)
                                       (if (pair? lst_0)
                                         (let ((ids_2 (unsafe-car lst_0)))
                                           (let ((rest_0 (unsafe-cdr lst_0)))
                                             (call-with-values
                                              (lambda ()
                                                (letrec*
                                                 ((for-loop_1
                                                   (|#%name|
                                                    for-loop
                                                    (lambda (lst_1)
                                                      (if (not
                                                           (null?
                                                            (unwrap lst_1)))
                                                        (let ((id_0
                                                               (if (pair?
                                                                    (unwrap
                                                                     lst_1))
                                                                 (wrap-car
                                                                  lst_1)
                                                                 lst_1)))
                                                          (let ((rest_1
                                                                 (if (pair?
                                                                      (unwrap
                                                                       lst_1))
                                                                   (wrap-cdr
                                                                    lst_1)
                                                                   null)))
                                                            (let ((id_1 id_0))
                                                              (begin
                                                                (hash-set!
                                                                 mutated_0
                                                                 (unwrap id_1)
                                                                 'not-ready)
                                                                (for-loop_1
                                                                 rest_1)))))
                                                        (values))))))
                                                 (for-loop_1 ids_2)))
                                              (lambda ()
                                                (for-loop_0 rest_0)))))
                                         (values))))))
                                  (for-loop_0 idss_0))
                                 (void)
                                 (letrec*
                                  ((for-loop_0
                                    (|#%name|
                                     for-loop
                                     (lambda (maybe-cc?_0 lst_0 lst_1)
                                       (if (if (pair? lst_0) (pair? lst_1) #f)
                                         (let ((ids_2 (unsafe-car lst_0)))
                                           (let ((rest_0 (unsafe-cdr lst_0)))
                                             (let ((rhs_0 (unsafe-car lst_1)))
                                               (let ((rest_1
                                                      (unsafe-cdr lst_1)))
                                                 (let ((maybe-cc?_1
                                                        (let ((maybe-cc?_1
                                                               (begin
                                                                 (find-mutated!_0
                                                                  rhs_0
                                                                  (unwrap-list
                                                                   ids_2))
                                                                 (let ((new-maybe-cc?_0
                                                                        (if maybe-cc?_0
                                                                          maybe-cc?_0
                                                                          (not
                                                                           (let ((temp24_0
                                                                                  (length
                                                                                   ids_2)))
                                                                             (simple?.1
                                                                              #f
                                                                              #f
                                                                              #f
                                                                              temp24_0
                                                                              #f
                                                                              rhs_0
                                                                              prim-knowns_0
                                                                              knowns_0
                                                                              imports_0
                                                                              mutated_0
                                                                              simples_0
                                                                              unsafe-mode?_0))))))
                                                                   (begin
                                                                     (letrec*
                                                                      ((for-loop_1
                                                                        (|#%name|
                                                                         for-loop
                                                                         (lambda (lst_2)
                                                                           (if (not
                                                                                (null?
                                                                                 (unwrap
                                                                                  lst_2)))
                                                                             (let ((id_0
                                                                                    (if (pair?
                                                                                         (unwrap
                                                                                          lst_2))
                                                                                      (wrap-car
                                                                                       lst_2)
                                                                                      lst_2)))
                                                                               (let ((rest_2
                                                                                      (if (pair?
                                                                                           (unwrap
                                                                                            lst_2))
                                                                                        (wrap-cdr
                                                                                         lst_2)
                                                                                        null)))
                                                                                 (let ((id_1
                                                                                        id_0))
                                                                                   (begin
                                                                                     (let ((u-id_0
                                                                                            (unwrap
                                                                                             id_1)))
                                                                                       (let ((state_0
                                                                                              (hash-ref
                                                                                               mutated_0
                                                                                               u-id_0)))
                                                                                         (let ((add-too-early-name!_0
                                                                                                (|#%name|
                                                                                                 add-too-early-name!
                                                                                                 (lambda ()
                                                                                                   (let ((cond-val_0
                                                                                                          (if (eq?
                                                                                                               'too-early
                                                                                                               state_0)
                                                                                                            (wrap-property
                                                                                                             id_1
                                                                                                             'undefined-error-name)
                                                                                                            #f)))
                                                                                                     (if cond-val_0
                                                                                                       (hash-set!
                                                                                                        mutated_0
                                                                                                        u-id_0
                                                                                                        (too-early1.1
                                                                                                         cond-val_0
                                                                                                         #f))
                                                                                                       (let ((cond-val_1
                                                                                                              (if (eq?
                                                                                                                   'set!ed-too-early
                                                                                                                   state_0)
                                                                                                                (wrap-property
                                                                                                                 id_1
                                                                                                                 'undefined-error-name)
                                                                                                                #f)))
                                                                                                         (if cond-val_1
                                                                                                           (hash-set!
                                                                                                            mutated_0
                                                                                                            u-id_0
                                                                                                            (too-early1.1
                                                                                                             cond-val_1
                                                                                                             #t))
                                                                                                           (void)))))))))
                                                                                           (if new-maybe-cc?_0
                                                                                             (begin
                                                                                               (if (let ((or-part_0
                                                                                                          (eq?
                                                                                                           'not-ready
                                                                                                           state_0)))
                                                                                                     (if or-part_0
                                                                                                       or-part_0
                                                                                                       (procedure?
                                                                                                        state_0)))
                                                                                                 (hash-set!
                                                                                                  mutated_0
                                                                                                  u-id_0
                                                                                                  'implicitly-set!ed)
                                                                                                 (add-too-early-name!_0))
                                                                                               (if (procedure?
                                                                                                    state_0)
                                                                                                 (|#%app|
                                                                                                  state_0)
                                                                                                 (void)))
                                                                                             (if (eq?
                                                                                                  'not-ready
                                                                                                  state_0)
                                                                                               (hash-remove!
                                                                                                mutated_0
                                                                                                u-id_0)
                                                                                               (add-too-early-name!_0))))))
                                                                                     (for-loop_1
                                                                                      rest_2)))))
                                                                             (values))))))
                                                                      (for-loop_1
                                                                       ids_2))
                                                                     (void)
                                                                     new-maybe-cc?_0)))))
                                                          (values
                                                           maybe-cc?_1))))
                                                   (for-loop_0
                                                    maybe-cc?_1
                                                    rest_0
                                                    rest_1))))))
                                         maybe-cc?_0)))))
                                  (for-loop_0 #f idss_0 rhss_0))
                                 (find-mutated!*_0 bodys_0 ids_1)))))
                          (if (if (eq? 'if hd_0)
                                (let ((a_0 (cdr (unwrap v_0))))
                                  (let ((p_0 (unwrap a_0)))
                                    (if (pair? p_0)
                                      (let ((a_1 (cdr p_0)))
                                        (let ((p_1 (unwrap a_1)))
                                          (if (pair? p_1)
                                            (let ((a_2 (cdr p_1)))
                                              (let ((p_2 (unwrap a_2)))
                                                (if (pair? p_2)
                                                  (let ((a_3 (cdr p_2)))
                                                    (let ((app_0 (unwrap '())))
                                                      (eq?
                                                       app_0
                                                       (unwrap a_3))))
                                                  #f)))
                                            #f)))
                                      #f)))
                                #f)
                            (call-with-values
                             (lambda ()
                               (let ((d_0 (cdr (unwrap v_0))))
                                 (let ((p_0 (unwrap d_0)))
                                   (let ((tst_0 (let ((a_0 (car p_0))) a_0)))
                                     (call-with-values
                                      (lambda ()
                                        (let ((d_1 (cdr p_0)))
                                          (let ((p_1 (unwrap d_1)))
                                            (let ((thn_0
                                                   (let ((a_0 (car p_1)))
                                                     a_0)))
                                              (let ((els_0
                                                     (let ((d_2 (cdr p_1)))
                                                       (let ((a_0
                                                              (car
                                                               (unwrap d_2))))
                                                         a_0))))
                                                (let ((thn_1 thn_0))
                                                  (values thn_1 els_0)))))))
                                      (lambda (thn_0 els_0)
                                        (let ((tst_1 tst_0))
                                          (values tst_1 thn_0 els_0))))))))
                             (lambda (tst_0 thn_0 els_0)
                               (begin
                                 (find-mutated!_0 tst_0 #f)
                                 (find-mutated!_0 thn_0 #f)
                                 (find-mutated!_0 els_0 #f))))
                            (if (if (eq? 'with-continuation-mark hd_0)
                                  (let ((a_0 (cdr (unwrap v_0))))
                                    (let ((p_0 (unwrap a_0)))
                                      (if (pair? p_0)
                                        (let ((a_1 (cdr p_0)))
                                          (let ((p_1 (unwrap a_1)))
                                            (if (pair? p_1)
                                              (let ((a_2 (cdr p_1)))
                                                (let ((p_2 (unwrap a_2)))
                                                  (if (pair? p_2)
                                                    (let ((a_3 (cdr p_2)))
                                                      (let ((app_0
                                                             (unwrap '())))
                                                        (eq?
                                                         app_0
                                                         (unwrap a_3))))
                                                    #f)))
                                              #f)))
                                        #f)))
                                  #f)
                              (call-with-values
                               (lambda ()
                                 (let ((d_0 (cdr (unwrap v_0))))
                                   (let ((p_0 (unwrap d_0)))
                                     (let ((key_0 (let ((a_0 (car p_0))) a_0)))
                                       (call-with-values
                                        (lambda ()
                                          (let ((d_1 (cdr p_0)))
                                            (let ((p_1 (unwrap d_1)))
                                              (let ((val_0
                                                     (let ((a_0 (car p_1)))
                                                       a_0)))
                                                (let ((body_0
                                                       (let ((d_2 (cdr p_1)))
                                                         (let ((a_0
                                                                (car
                                                                 (unwrap
                                                                  d_2))))
                                                           a_0))))
                                                  (let ((val_1 val_0))
                                                    (values val_1 body_0)))))))
                                        (lambda (val_0 body_0)
                                          (let ((key_1 key_0))
                                            (values key_1 val_0 body_0))))))))
                               (lambda (key_0 val_0 body_0)
                                 (begin
                                   (find-mutated!_0 key_0 #f)
                                   (find-mutated!_0 val_0 #f)
                                   (find-mutated!_0 body_0 ids_1))))
                              (if (if (eq? 'begin hd_0)
                                    (let ((a_0 (cdr (unwrap v_0))))
                                      (wrap-list? a_0))
                                    #f)
                                (let ((exps_0
                                       (let ((d_0 (cdr (unwrap v_0))))
                                         (unwrap-list d_0))))
                                  (find-mutated!*_0 exps_0 ids_1))
                                (if (if (eq? 'begin-unsafe hd_0)
                                      (let ((a_0 (cdr (unwrap v_0))))
                                        (wrap-list? a_0))
                                      #f)
                                  (let ((exps_0
                                         (let ((d_0 (cdr (unwrap v_0))))
                                           (unwrap-list d_0))))
                                    (find-mutated!*_0 exps_0 ids_1))
                                  (if (if (eq? 'begin0 hd_0)
                                        (let ((a_0 (cdr (unwrap v_0))))
                                          (let ((p_0 (unwrap a_0)))
                                            (if (pair? p_0)
                                              (let ((a_1 (cdr p_0)))
                                                (wrap-list? a_1))
                                              #f)))
                                        #f)
                                    (call-with-values
                                     (lambda ()
                                       (let ((d_0 (cdr (unwrap v_0))))
                                         (let ((p_0 (unwrap d_0)))
                                           (let ((exp_0
                                                  (let ((a_0 (car p_0))) a_0)))
                                             (let ((exps_0
                                                    (let ((d_1 (cdr p_0)))
                                                      (unwrap-list d_1))))
                                               (let ((exp_1 exp_0))
                                                 (values exp_1 exps_0)))))))
                                     (lambda (exp_0 exps_0)
                                       (begin
                                         (find-mutated!_0 exp_0 ids_1)
                                         (find-mutated!*_0 exps_0 #f))))
                                    (if (if (eq? 'set! hd_0)
                                          (let ((a_0 (cdr (unwrap v_0))))
                                            (let ((p_0 (unwrap a_0)))
                                              (if (pair? p_0)
                                                (let ((a_1 (cdr p_0)))
                                                  (let ((p_1 (unwrap a_1)))
                                                    (if (pair? p_1)
                                                      (let ((a_2 (cdr p_1)))
                                                        (let ((app_0
                                                               (unwrap '())))
                                                          (eq?
                                                           app_0
                                                           (unwrap a_2))))
                                                      #f)))
                                                #f)))
                                          #f)
                                      (call-with-values
                                       (lambda ()
                                         (let ((d_0 (cdr (unwrap v_0))))
                                           (let ((p_0 (unwrap d_0)))
                                             (let ((id_0
                                                    (let ((a_0 (car p_0)))
                                                      a_0)))
                                               (let ((rhs_0
                                                      (let ((d_1 (cdr p_0)))
                                                        (let ((a_0
                                                               (car
                                                                (unwrap d_1))))
                                                          a_0))))
                                                 (let ((id_1 id_0))
                                                   (values id_1 rhs_0)))))))
                                       (lambda (id_0 rhs_0)
                                         (begin
                                           (let ((id_1 (unwrap id_0)))
                                             (let ((old-state_0
                                                    (hash-ref
                                                     mutated_0
                                                     id_1
                                                     #f)))
                                               (begin
                                                 (hash-set!
                                                  mutated_0
                                                  id_1
                                                  (state->set!ed-state
                                                   old-state_0))
                                                 (if (procedure? old-state_0)
                                                   (|#%app| old-state_0)
                                                   (void)))))
                                           (find-mutated!_0 rhs_0 #f))))
                                      (if (if (eq?
                                               '|#%variable-reference|
                                               hd_0)
                                            #t
                                            #f)
                                        (void)
                                        (if (if (eq? '|#%foreign-inline| hd_0)
                                              #t
                                              #f)
                                          (void)
                                          (if (if (eq? 'values hd_0)
                                                (let ((a_0 (cdr (unwrap v_0))))
                                                  (let ((p_0 (unwrap a_0)))
                                                    (if (pair? p_0)
                                                      (let ((a_1 (cdr p_0)))
                                                        (let ((app_0
                                                               (unwrap '())))
                                                          (eq?
                                                           app_0
                                                           (unwrap a_1))))
                                                      #f)))
                                                #f)
                                            (let ((exp_0
                                                   (let ((d_0
                                                          (cdr (unwrap v_0))))
                                                     (let ((a_0
                                                            (car
                                                             (unwrap d_0))))
                                                       a_0))))
                                              (find-mutated!_0 exp_0 ids_1))
                                            (if (let ((p_0 (unwrap v_0)))
                                                  (if (pair? p_0)
                                                    (let ((a_0 (cdr p_0)))
                                                      (wrap-list? a_0))
                                                    #f))
                                              (call-with-values
                                               (lambda ()
                                                 (let ((p_0 (unwrap v_0)))
                                                   (let ((rator_0
                                                          (let ((a_0
                                                                 (car p_0)))
                                                            a_0)))
                                                     (let ((exps_0
                                                            (let ((d_0
                                                                   (cdr p_0)))
                                                              (unwrap-list
                                                               d_0))))
                                                       (let ((rator_1 rator_0))
                                                         (values
                                                          rator_1
                                                          exps_0))))))
                                               (lambda (rator_0 exps_0)
                                                 (if (if ids_1
                                                       (let ((rator_1
                                                              (unwrap
                                                               rator_0)))
                                                         (if (symbol? rator_1)
                                                           (if (let ((v_1
                                                                      (call-with-values
                                                                       (lambda ()
                                                                         (find-known+import
                                                                          rator_1
                                                                          prim-knowns_0
                                                                          knowns_0
                                                                          imports_0
                                                                          mutated_0))
                                                                       (lambda (k_0
                                                                                im_0)
                                                                         k_0))))
                                                                 (if (let ((or-part_0
                                                                            (known-constructor?
                                                                             v_1)))
                                                                       (if or-part_0
                                                                         or-part_0
                                                                         (let ((or-part_1
                                                                                (eq?
                                                                                 rator_1
                                                                                 'cons)))
                                                                           (if or-part_1
                                                                             or-part_1
                                                                             (let ((or-part_2
                                                                                    (eq?
                                                                                     rator_1
                                                                                     'list)))
                                                                               (if or-part_2
                                                                                 or-part_2
                                                                                 (let ((or-part_3
                                                                                        (eq?
                                                                                         rator_1
                                                                                         'list*)))
                                                                                   (if or-part_3
                                                                                     or-part_3
                                                                                     (let ((or-part_4
                                                                                            (eq?
                                                                                             rator_1
                                                                                             'vector)))
                                                                                       (if or-part_4
                                                                                         or-part_4
                                                                                         (let ((or-part_5
                                                                                                (eq?
                                                                                                 rator_1
                                                                                                 'hasheq)))
                                                                                           (if or-part_5
                                                                                             or-part_5
                                                                                             (eq?
                                                                                              rator_1
                                                                                              'make-struct-type-property)))))))))))))
                                                                   (let ((app_0
                                                                          (known-procedure-arity-mask
                                                                           v_1)))
                                                                     (bitwise-bit-set?
                                                                      app_0
                                                                      (length
                                                                       exps_0)))
                                                                   #f))
                                                             (letrec*
                                                              ((for-loop_0
                                                                (|#%name|
                                                                 for-loop
                                                                 (lambda (result_0
                                                                          lst_0)
                                                                   (if (pair?
                                                                        lst_0)
                                                                     (let ((exp_0
                                                                            (unsafe-car
                                                                             lst_0)))
                                                                       (let ((rest_0
                                                                              (unsafe-cdr
                                                                               lst_0)))
                                                                         (let ((result_1
                                                                                (let ((result_1
                                                                                       (simple?.1
                                                                                        #f
                                                                                        #f
                                                                                        #f
                                                                                        1
                                                                                        #f
                                                                                        exp_0
                                                                                        prim-knowns_0
                                                                                        knowns_0
                                                                                        imports_0
                                                                                        mutated_0
                                                                                        simples_0
                                                                                        unsafe-mode?_0)))
                                                                                  (values
                                                                                   result_1))))
                                                                           (if (if (not
                                                                                    (let ((x_0
                                                                                           (list
                                                                                            exp_0)))
                                                                                      (not
                                                                                       result_1)))
                                                                                 #t
                                                                                 #f)
                                                                             (for-loop_0
                                                                              result_1
                                                                              rest_0)
                                                                             result_1))))
                                                                     result_0)))))
                                                              (for-loop_0
                                                               #t
                                                               exps_0))
                                                             #f)
                                                           #f))
                                                       #f)
                                                   (delay!_0
                                                    ids_1
                                                    (lambda ()
                                                      (find-mutated!*_0
                                                       exps_0
                                                       #f)))
                                                   (begin
                                                     (find-mutated!_0
                                                      rator_0
                                                      #f)
                                                     (find-mutated!*_0
                                                      exps_0
                                                      #f)))))
                                              (let ((v_1 (unwrap v_0)))
                                                (if (symbol? v_1)
                                                  (let ((state_0
                                                         (hash-ref
                                                          mutated_0
                                                          v_1
                                                          #f)))
                                                    (if (eq?
                                                         state_0
                                                         'not-ready)
                                                      (if unsafe-mode?_0
                                                        (void)
                                                        (hash-set!
                                                         mutated_0
                                                         v_1
                                                         'too-early))
                                                      (if (procedure? state_0)
                                                        (if ids_1
                                                          (delay!_0
                                                           ids_1
                                                           (lambda ()
                                                             (begin
                                                               (if (eq?
                                                                    (hash-ref
                                                                     mutated_0
                                                                     v_1
                                                                     #f)
                                                                    state_0)
                                                                 (hash-remove!
                                                                  mutated_0
                                                                  v_1)
                                                                 (void))
                                                               (|#%app|
                                                                state_0))))
                                                          (begin
                                                            (hash-remove!
                                                             mutated_0
                                                             v_1)
                                                            (|#%app| state_0)))
                                                        (void))))
                                                  (void))))))))))))))))))))))))
       (find-mutated!_0 top-v_0 ids_0)))))
(define update-mutated-state!
  (lambda (l_0 mut-l_0 mutated_0)
    (if (null? (unwrap mut-l_0))
      '()
      (if (eq? l_0 mut-l_0)
        (let ((new-mut-l_0
               (letrec*
                ((loop_0
                  (|#%name|
                   loop
                   (lambda (mut-l_1)
                     (if (null? (unwrap mut-l_1))
                       '()
                       (let ((v_0 (wrap-car mut-l_1)))
                         (let ((hd_0
                                (let ((p_0 (unwrap v_0)))
                                  (if (pair? p_0) (unwrap (car p_0)) #f))))
                           (if (if (eq? 'define-values hd_0)
                                 (let ((a_0 (cdr (unwrap v_0))))
                                   (let ((p_0 (unwrap a_0)))
                                     (if (pair? p_0)
                                       (if (let ((a_1 (car p_0)))
                                             (wrap-list? a_1))
                                         (let ((a_1 (cdr p_0)))
                                           (let ((p_1 (unwrap a_1)))
                                             (if (pair? p_1)
                                               (let ((a_2 (cdr p_1)))
                                                 (let ((app_0 (unwrap '())))
                                                   (eq? app_0 (unwrap a_2))))
                                               #f)))
                                         #f)
                                       #f)))
                                 #f)
                             (call-with-values
                              (lambda ()
                                (let ((d_0 (cdr (unwrap v_0))))
                                  (let ((p_0 (unwrap d_0)))
                                    (let ((ids_0
                                           (let ((a_0 (car p_0)))
                                             (unwrap-list a_0))))
                                      (let ((rhs_0
                                             (let ((d_1 (cdr p_0)))
                                               (let ((a_0 (car (unwrap d_1))))
                                                 a_0))))
                                        (let ((ids_1 ids_0))
                                          (values ids_1 rhs_0)))))))
                              (lambda (ids_0 rhs_0)
                                (if (lambda?.1 #t rhs_0)
                                  (begin
                                    (letrec*
                                     ((for-loop_0
                                       (|#%name|
                                        for-loop
                                        (lambda (lst_0)
                                          (if (pair? lst_0)
                                            (let ((id_0 (unsafe-car lst_0)))
                                              (let ((rest_0
                                                     (unsafe-cdr lst_0)))
                                                (begin
                                                  (let ((u-id_0 (unwrap id_0)))
                                                    (let ((state_0
                                                           (hash-ref
                                                            mutated_0
                                                            u-id_0
                                                            #f)))
                                                      (if (if (too-early-mutated-state?
                                                               state_0)
                                                            (not
                                                             (set!ed-mutated-state?
                                                              state_0))
                                                            #f)
                                                        (hash-set!
                                                         mutated_0
                                                         u-id_0
                                                         'too-early/ready)
                                                        (void))))
                                                  (for-loop_0 rest_0))))
                                            (values))))))
                                     (for-loop_0 ids_0))
                                    (void)
                                    (loop_0 (wrap-cdr mut-l_1)))
                                  mut-l_1)))
                             mut-l_1))))))))
                (loop_0 mut-l_0))))
          (if (eq? mut-l_0 l_0) (wrap-cdr mut-l_0) l_0))
        mut-l_0))))
(define left-to-right/let
  (lambda (ids_0
           rhss_0
           bodys_0
           prim-knowns_0
           knowns_0
           imports_0
           mutated_0
           simples_0
           unsafe-mode?_0)
    (if (null? ids_0)
      (if (null? (cdr bodys_0)) (car bodys_0) (list* 'begin bodys_0))
      (if (null? (cdr ids_0))
        (list*
         'let
         (list (let ((app_0 (car ids_0))) (list app_0 (car rhss_0))))
         bodys_0)
        (letrec*
         ((loop_0
           (|#%name|
            loop
            (lambda (ids_1 rhss_1 all-simple?_0 binds_0)
              (if (null? (cdr rhss_1))
                (let ((id_0 (car ids_1)))
                  (let ((rhs_0 (car rhss_1)))
                    (if (if all-simple?_0
                          (simple?.1
                           #f
                           #t
                           #t
                           1
                           #f
                           rhs_0
                           prim-knowns_0
                           knowns_0
                           imports_0
                           mutated_0
                           simples_0
                           unsafe-mode?_0)
                          #f)
                      (list* 'let (list (list id_0 rhs_0)) bodys_0)
                      (list
                       'let
                       (list (list id_0 rhs_0))
                       (list* 'let binds_0 bodys_0)))))
                (let ((id_0 (car ids_1)))
                  (let ((rhs_0 (car rhss_1)))
                    (let ((app_0 (list (list id_0 rhs_0))))
                      (list
                       'let
                       app_0
                       (let ((app_1 (cdr ids_1)))
                         (let ((app_2 (cdr rhss_1)))
                           (let ((app_3
                                  (if all-simple?_0
                                    (simple?.1
                                     #f
                                     #t
                                     #t
                                     1
                                     #f
                                     rhs_0
                                     prim-knowns_0
                                     knowns_0
                                     imports_0
                                     mutated_0
                                     simples_0
                                     unsafe-mode?_0)
                                    #f)))
                             (loop_0
                              app_1
                              app_2
                              app_3
                              (cons (list id_0 id_0) binds_0))))))))))))))
         (loop_0 ids_0 rhss_0 #t null))))))
(define left-to-right/let-values
  (lambda (idss_0 rhss_0 bodys_0 mutated_0 target_0 unsafe-mode?_0)
    (if (null? (cdr idss_0))
      (let ((e_0
             (if (null? (cdr bodys_0)) (car bodys_0) (list* 'begin bodys_0))))
        (let ((app_0 (car idss_0)))
          (make-let-values app_0 (car rhss_0) e_0 target_0 unsafe-mode?_0)))
      (letrec*
       ((loop_0
         (|#%name|
          loop
          (lambda (idss_1 rhss_1 binds_0)
            (if (null? (cdr rhss_1))
              (let ((app_0 (car idss_1)))
                (let ((app_1 (car rhss_1)))
                  (make-let-values
                   app_0
                   app_1
                   (list* 'let binds_0 bodys_0)
                   target_0
                   unsafe-mode?_0)))
              (let ((ids_0 (car idss_1)))
                (let ((app_0 (car rhss_1)))
                  (make-let-values
                   ids_0
                   app_0
                   (let ((app_1 (cdr idss_1)))
                     (let ((app_2 (cdr rhss_1)))
                       (loop_0
                        app_1
                        app_2
                        (append
                         (reverse$1
                          (letrec*
                           ((for-loop_0
                             (|#%name|
                              for-loop
                              (lambda (fold-var_0 lst_0)
                                (if (not (null? (unwrap lst_0)))
                                  (let ((id_0
                                         (if (pair? (unwrap lst_0))
                                           (wrap-car lst_0)
                                           lst_0)))
                                    (let ((rest_0
                                           (if (pair? (unwrap lst_0))
                                             (wrap-cdr lst_0)
                                             null)))
                                      (let ((id_1 id_0))
                                        (let ((fold-var_1
                                               (cons
                                                (list id_1 id_1)
                                                fold-var_0)))
                                          (let ((fold-var_2
                                                 (values fold-var_1)))
                                            (for-loop_0 fold-var_2 rest_0))))))
                                  fold-var_0)))))
                           (for-loop_0 null ids_0)))
                         binds_0))))
                   target_0
                   unsafe-mode?_0))))))))
       (loop_0 idss_0 rhss_0 null)))))
(define left-to-right/app
  (lambda (rator_0
           rands_0
           app-form_0
           target_0
           prim-knowns_0
           knowns_0
           imports_0
           mutated_0
           simples_0
           unsafe-mode?_0)
    (if (eq? target_0 'cify)
      (cons rator_0 rands_0)
      (let ((l_0 (cons rator_0 rands_0)))
        (let ((modes_0
               (letrec*
                ((loop_0
                  (|#%name|
                   loop
                   (lambda (l_1 saw-ordered?_0)
                     (if (null? l_1)
                       'pure
                       (if (let ((temp17_0 (car l_1)))
                             (simple?.1
                              #t
                              #f
                              #t
                              1
                              #f
                              temp17_0
                              prim-knowns_0
                              knowns_0
                              imports_0
                              mutated_0
                              simples_0
                              unsafe-mode?_0))
                         (let ((modes_0 (loop_0 (cdr l_1) #f)))
                           (if (symbol? modes_0) modes_0 (cons 'pure modes_0)))
                         (if (if (not saw-ordered?_0)
                               (let ((temp25_0 (car l_1)))
                                 (simple?.1
                                  #t
                                  #t
                                  #t
                                  1
                                  #f
                                  temp25_0
                                  prim-knowns_0
                                  knowns_0
                                  imports_0
                                  mutated_0
                                  simples_0
                                  unsafe-mode?_0))
                               #f)
                           (let ((modes_0 (loop_0 (cdr l_1) #f)))
                             (if (symbol? modes_0)
                               'ordered
                               (cons (if saw-ordered?_0 'bind 'pure) modes_0)))
                           (if (let ((temp34_0 (car l_1)))
                                 (simple?.1
                                  #f
                                  #f
                                  #t
                                  1
                                  #f
                                  temp34_0
                                  prim-knowns_0
                                  knowns_0
                                  imports_0
                                  mutated_0
                                  simples_0
                                  unsafe-mode?_0))
                             (let ((modes_0 (loop_0 (cdr l_1) #f)))
                               (if (symbol? modes_0)
                                 'ordered
                                 (cons 'bind modes_0)))
                             (let ((modes_0 (loop_0 (cdr l_1) #t)))
                               (if (eq? modes_0 'pure)
                                 (cons 'non-simple modes_0)
                                 (cons 'bind modes_0)))))))))))
                (loop_0 l_0 #f))))
          (let ((no-bind-needed?_0
                 (letrec*
                  ((loop_0
                    (|#%name|
                     loop
                     (lambda (modes_1)
                       (if (symbol? modes_1)
                         #t
                         (if (eq? (car modes_1) 'pure)
                           (loop_0 (cdr modes_1))
                           (if (eq? (car modes_1) 'non-simple) #t #f)))))))
                  (loop_0 modes_0))))
            (if no-bind-needed?_0
              (if app-form_0 (cons app-form_0 l_0) l_0)
              (letrec*
               ((loop_0
                 (|#%name|
                  loop
                  (lambda (l_1 modes_1 accum_0)
                    (if (let ((or-part_0 (symbol? modes_1)))
                          (if or-part_0
                            or-part_0
                            (eq? (car modes_1) 'non-simple)))
                      (let ((app_0 (append (reverse$1 accum_0) l_1)))
                        (if app-form_0 (cons app-form_0 app_0) app_0))
                      (if (eq? (car modes_1) 'bind)
                        (let ((g_0 (deterministic-gensym "app_")))
                          (let ((app_0 (list (list g_0 (car l_1)))))
                            (list
                             'let
                             app_0
                             (let ((app_1 (cdr l_1)))
                               (let ((app_2 (cdr modes_1)))
                                 (loop_0 app_1 app_2 (cons g_0 accum_0)))))))
                        (let ((app_0 (cdr l_1)))
                          (let ((app_1 (cdr modes_1)))
                            (loop_0
                             app_0
                             app_1
                             (cons (car l_1) accum_0))))))))))
               (loop_0 l_0 modes_0 null)))))))))
(define make-let-values
  (lambda (ids_0 rhs_0 body_0 target_0 unsafe-mode?_0)
    (if (if (pair? ids_0) (null? (cdr ids_0)) #f)
      (list 'let (list (list (car ids_0) rhs_0)) body_0)
      (let ((v_0 (if (null? ids_0) rhs_0 #f)))
        (let ((hd_0
               (let ((p_0 (unwrap v_0)))
                 (if (pair? p_0) (unwrap (car p_0)) #f))))
          (if (if (eq? 'begin hd_0)
                (let ((a_0 (cdr (unwrap v_0))))
                  (let ((p_0 (unwrap a_0)))
                    (if (pair? p_0)
                      (let ((a_1 (cdr p_0)))
                        (let ((p_1 (unwrap a_1)))
                          (if (pair? p_1)
                            (if (let ((a_2 (car p_1)))
                                  (let ((p_2 (unwrap a_2)))
                                    (if (pair? p_2)
                                      (if (let ((a_3 (car p_2)))
                                            (let ((app_0 (unwrap 'values)))
                                              (eq? app_0 (unwrap a_3))))
                                        (let ((a_3 (cdr p_2)))
                                          (let ((app_0 (unwrap '())))
                                            (eq? app_0 (unwrap a_3))))
                                        #f)
                                      #f)))
                              (let ((a_2 (cdr p_1)))
                                (let ((app_0 (unwrap '())))
                                  (eq? app_0 (unwrap a_2))))
                              #f)
                            #f)))
                      #f)))
                #f)
            (let ((rhs_1
                   (let ((d_0 (cdr (unwrap v_0))))
                     (let ((a_0 (car (unwrap d_0)))) a_0))))
              (list 'begin rhs_1 body_0))
            (if (if unsafe-mode?_0 unsafe-mode?_0 (eq? target_0 'cify))
              (list
               'call-with-values
               (list 'lambda '() rhs_0)
               (list 'lambda ids_0 body_0))
              (let ((app_0 (list 'lambda '() rhs_0)))
                (list
                 'call-with-values
                 app_0
                 (let ((app_1 (list ids_0 body_0)))
                   (list
                    'case-lambda
                    app_1
                    (list
                     'args
                     (qq-append
                      (if (eq? target_0 'system) '() '(|#%app/no-return|))
                      (list*
                       'raise-binding-result-arity-error
                       (length ids_0)
                       '(args)))))))))))))))
(define optimize-equal
  (lambda (equal-op_0
           exp1_0
           exp2_0
           target_0
           prim-knowns_0
           knowns_0
           imports_0
           mutated_0
           simples_0
           unsafe-mode?_0)
    (if (eq? exp1_0 exp2_0)
      #t
      (if (let ((or-part_0 (equal-implies-eq? exp1_0)))
            (if or-part_0 or-part_0 (equal-implies-eq? exp2_0)))
        (list 'eq? exp1_0 exp2_0)
        (if (let ((or-part_0 (equal-implies-eqv? exp1_0)))
              (if or-part_0 or-part_0 (equal-implies-eqv? exp2_0)))
          (list 'eqv? exp1_0 exp2_0)
          (left-to-right/app
           equal-op_0
           (list exp1_0 exp2_0)
           #f
           target_0
           prim-knowns_0
           knowns_0
           imports_0
           mutated_0
           simples_0
           unsafe-mode?_0))))))
(define equal-implies-eq?
  (lambda (e_0)
    (let ((hd_0
           (let ((p_0 (unwrap e_0))) (if (pair? p_0) (unwrap (car p_0)) #f))))
      (if (if (eq? 'quote hd_0)
            (let ((a_0 (cdr (unwrap e_0))))
              (let ((p_0 (unwrap a_0)))
                (if (pair? p_0)
                  (let ((a_1 (cdr p_0)))
                    (let ((app_0 (unwrap '()))) (eq? app_0 (unwrap a_1))))
                  #f)))
            #f)
        (let ((val_0
               (let ((d_0 (cdr (unwrap e_0))))
                 (let ((a_0 (car (unwrap d_0)))) a_0))))
          (let ((val_1 (unwrap val_0)))
            (let ((or-part_0 (symbol? val_1)))
              (if or-part_0
                or-part_0
                (let ((or-part_1 (keyword? val_1)))
                  (if or-part_1
                    or-part_1
                    (let ((or-part_2 (null? val_1)))
                      (if or-part_2
                        or-part_2
                        (boolean-or-fixnum? val_1)))))))))
        (let ((val_0 (unwrap e_0))) (boolean-or-fixnum? val_0))))))
(define boolean-or-fixnum?
  (lambda (val_0)
    (let ((or-part_0 (boolean? val_0)))
      (if or-part_0
        or-part_0
        (if (integer? val_0)
          (if (exact? val_0) (<= -16777216 val_0 16777215) #f)
          #f)))))
(define equal-implies-eqv?
  (lambda (e_0)
    (let ((hd_0
           (let ((p_0 (unwrap e_0))) (if (pair? p_0) (unwrap (car p_0)) #f))))
      (if (if (eq? 'quote hd_0)
            (let ((a_0 (cdr (unwrap e_0))))
              (let ((p_0 (unwrap a_0)))
                (if (pair? p_0)
                  (let ((a_1 (cdr p_0)))
                    (let ((app_0 (unwrap '()))) (eq? app_0 (unwrap a_1))))
                  #f)))
            #f)
        (let ((val_0
               (let ((d_0 (cdr (unwrap e_0))))
                 (let ((a_0 (car (unwrap d_0)))) a_0))))
          (let ((val_1 (unwrap val_0)))
            (let ((or-part_0 (number? val_1)))
              (if or-part_0 or-part_0 (char? val_1)))))
        (let ((val_0 (unwrap e_0))) (number? val_0))))))
(define always-eq/no-marks?
  (lambda (e1_0 e2_0 mutated_0)
    (let ((hd_0
           (let ((p_0 (unwrap e1_0))) (if (pair? p_0) (unwrap (car p_0)) #f))))
      (if (if (eq? 'quote hd_0)
            (let ((a_0 (cdr (unwrap e1_0))))
              (let ((p_0 (unwrap a_0)))
                (if (pair? p_0)
                  (let ((a_1 (cdr p_0)))
                    (let ((app_0 (unwrap '()))) (eq? app_0 (unwrap a_1))))
                  #f)))
            #f)
        (let ((v1_0
               (let ((d_0 (cdr (unwrap e1_0))))
                 (let ((a_0 (car (unwrap d_0)))) a_0))))
          (let ((hd_1
                 (let ((p_0 (unwrap e2_0)))
                   (if (pair? p_0) (unwrap (car p_0)) #f))))
            (if (if (eq? 'quote hd_1)
                  (let ((a_0 (cdr (unwrap e2_0))))
                    (let ((p_0 (unwrap a_0)))
                      (if (pair? p_0)
                        (let ((a_1 (cdr p_0)))
                          (let ((app_0 (unwrap '())))
                            (eq? app_0 (unwrap a_1))))
                        #f)))
                  #f)
              (let ((v2_0
                     (let ((d_0 (cdr (unwrap e2_0))))
                       (let ((a_0 (car (unwrap d_0)))) a_0))))
                (eq? v1_0 v2_0))
              #f)))
        (let ((u-e1_0 (unwrap e1_0)))
          (if (symbol? u-e1_0)
            (if (eq? u-e1_0 (unwrap e2_0))
              (simple-mutated-state? (hash-ref mutated_0 u-e1_0 #f))
              #f)
            #f))))))
(define unnest-let
  (lambda (e_0
           prim-knowns_0
           knowns_0
           imports_0
           mutated_0
           simples_0
           unsafe-mode?_0)
    (if (let ((p_0 (unwrap e_0)))
          (if (pair? p_0)
            (let ((a_0 (cdr p_0)))
              (let ((p_1 (unwrap a_0)))
                (if (pair? p_1)
                  (if (let ((a_1 (car p_1))) (wrap-list? a_1)) #t #f)
                  #f)))
            #f))
      (call-with-values
       (lambda ()
         (let ((p_0 (unwrap e_0)))
           (let ((let-id_0 (let ((a_0 (car p_0))) a_0)))
             (call-with-values
              (lambda ()
                (let ((d_0 (cdr p_0)))
                  (let ((p_1 (unwrap d_0)))
                    (let ((binds_0 (let ((a_0 (car p_1))) (unwrap-list a_0))))
                      (let ((body_0 (let ((d_1 (cdr p_1))) d_1)))
                        (let ((binds_1 binds_0)) (values binds_1 body_0)))))))
              (lambda (binds_0 body_0)
                (let ((let-id_1 let-id_0))
                  (values let-id_1 binds_0 body_0)))))))
       (lambda (let-id_0 binds_0 body_0)
         (if (let ((or-part_0 (eq? let-id_0 'let)))
               (if or-part_0 or-part_0 (eq? let-id_0 'letrec*)))
           (letrec*
            ((loop_0
              (|#%name|
               loop
               (lambda (binds_1 accum-binds_0 wraps_0 convert?_0)
                 (if (null? binds_1)
                   (if (not convert?_0)
                     e_0
                     (letrec*
                      ((loop_1
                        (|#%name|
                         loop
                         (lambda (wraps_1 e_1)
                           (if (null? wraps_1)
                             e_1
                             (let ((app_0 (cdr wraps_1)))
                               (loop_1
                                app_0
                                (let ((app_1 (caar wraps_1)))
                                  (list app_1 (cdar wraps_1) e_1)))))))))
                      (loop_1
                       wraps_0
                       (list* let-id_0 (reverse$1 accum-binds_0) body_0))))
                   (let ((v_0 (car binds_1)))
                     (if (let ((p_0 (unwrap v_0)))
                           (if (pair? p_0)
                             (let ((a_0 (cdr p_0)))
                               (let ((p_1 (unwrap a_0)))
                                 (if (pair? p_1)
                                   (if (let ((a_1 (car p_1)))
                                         (let ((p_2 (unwrap a_1)))
                                           (if (pair? p_2)
                                             (let ((a_2 (cdr p_2)))
                                               (let ((p_3 (unwrap a_2)))
                                                 (if (pair? p_3)
                                                   (if (let ((a_3 (car p_3)))
                                                         (if (wrap-list? a_3)
                                                           (letrec*
                                                            ((for-loop_0
                                                              (|#%name|
                                                               for-loop
                                                               (lambda (result_0
                                                                        lst_0)
                                                                 (if (not
                                                                      (null?
                                                                       (unwrap
                                                                        lst_0)))
                                                                   (let ((v_1
                                                                          (if (pair?
                                                                               (unwrap
                                                                                lst_0))
                                                                            (wrap-car
                                                                             lst_0)
                                                                            lst_0)))
                                                                     (let ((rest_0
                                                                            (if (pair?
                                                                                 (unwrap
                                                                                  lst_0))
                                                                              (wrap-cdr
                                                                               lst_0)
                                                                              null)))
                                                                       (let ((v_2
                                                                              v_1))
                                                                         (let ((result_1
                                                                                (let ((result_1
                                                                                       (let ((p_4
                                                                                              (unwrap
                                                                                               v_2)))
                                                                                         (if (pair?
                                                                                              p_4)
                                                                                           (let ((a_4
                                                                                                  (cdr
                                                                                                   p_4)))
                                                                                             (let ((p_5
                                                                                                    (unwrap
                                                                                                     a_4)))
                                                                                               (if (pair?
                                                                                                    p_5)
                                                                                                 (let ((a_5
                                                                                                        (cdr
                                                                                                         p_5)))
                                                                                                   (let ((app_0
                                                                                                          (unwrap
                                                                                                           '())))
                                                                                                     (eq?
                                                                                                      app_0
                                                                                                      (unwrap
                                                                                                       a_5))))
                                                                                                 #f)))
                                                                                           #f))))
                                                                                  (values
                                                                                   result_1))))
                                                                           (if (if (not
                                                                                    (let ((x_0
                                                                                           (list
                                                                                            v_2)))
                                                                                      (not
                                                                                       result_1)))
                                                                                 #t
                                                                                 #f)
                                                                             (for-loop_0
                                                                              result_1
                                                                              rest_0)
                                                                             result_1)))))
                                                                   result_0)))))
                                                            (for-loop_0
                                                             #t
                                                             a_3))
                                                           #f))
                                                     (let ((a_3 (cdr p_3)))
                                                       (let ((p_4
                                                              (unwrap a_3)))
                                                         (if (pair? p_4)
                                                           (let ((a_4
                                                                  (cdr p_4)))
                                                             (let ((app_0
                                                                    (unwrap
                                                                     '())))
                                                               (eq?
                                                                app_0
                                                                (unwrap a_4))))
                                                           #f)))
                                                     #f)
                                                   #f)))
                                             #f)))
                                     (let ((a_1 (cdr p_1)))
                                       (let ((app_0 (unwrap '())))
                                         (eq? app_0 (unwrap a_1))))
                                     #f)
                                   #f)))
                             #f))
                       (call-with-values
                        (lambda ()
                          (let ((p_0 (unwrap v_0)))
                            (let ((id_0 (let ((a_0 (car p_0))) a_0)))
                              (call-with-values
                               (lambda ()
                                 (let ((d_0 (cdr p_0)))
                                   (let ((a_0 (car (unwrap d_0))))
                                     (let ((p_1 (unwrap a_0)))
                                       (let ((nest-let-id_0
                                              (let ((a_1 (car p_1))) a_1)))
                                         (call-with-values
                                          (lambda ()
                                            (let ((d_1 (cdr p_1)))
                                              (let ((p_2 (unwrap d_1)))
                                                (call-with-values
                                                 (lambda ()
                                                   (let ((a_1 (car p_2)))
                                                     (call-with-values
                                                      (lambda ()
                                                        (letrec*
                                                         ((for-loop_0
                                                           (|#%name|
                                                            for-loop
                                                            (lambda (ids_0
                                                                     rhss_0
                                                                     lst_0)
                                                              (if (not
                                                                   (null?
                                                                    (unwrap
                                                                     lst_0)))
                                                                (let ((v_1
                                                                       (if (pair?
                                                                            (unwrap
                                                                             lst_0))
                                                                         (wrap-car
                                                                          lst_0)
                                                                         lst_0)))
                                                                  (let ((rest_0
                                                                         (if (pair?
                                                                              (unwrap
                                                                               lst_0))
                                                                           (wrap-cdr
                                                                            lst_0)
                                                                           null)))
                                                                    (let ((v_2
                                                                           v_1))
                                                                      (call-with-values
                                                                       (lambda ()
                                                                         (call-with-values
                                                                          (lambda ()
                                                                            (call-with-values
                                                                             (lambda ()
                                                                               (let ((p_3
                                                                                      (unwrap
                                                                                       v_2)))
                                                                                 (let ((ids_1
                                                                                        (let ((a_2
                                                                                               (car
                                                                                                p_3)))
                                                                                          a_2)))
                                                                                   (let ((rhss_1
                                                                                          (let ((d_2
                                                                                                 (cdr
                                                                                                  p_3)))
                                                                                            (let ((a_2
                                                                                                   (car
                                                                                                    (unwrap
                                                                                                     d_2))))
                                                                                              a_2))))
                                                                                     (let ((ids_2
                                                                                            ids_1))
                                                                                       (values
                                                                                        ids_2
                                                                                        rhss_1))))))
                                                                             (lambda (ids1_0
                                                                                      rhss2_0)
                                                                               (values
                                                                                (cons
                                                                                 ids1_0
                                                                                 ids_0)
                                                                                (cons
                                                                                 rhss2_0
                                                                                 rhss_0)))))
                                                                          (lambda (ids_1
                                                                                   rhss_1)
                                                                            (values
                                                                             ids_1
                                                                             rhss_1))))
                                                                       (lambda (ids_1
                                                                                rhss_1)
                                                                         (for-loop_0
                                                                          ids_1
                                                                          rhss_1
                                                                          rest_0))))))
                                                                (values
                                                                 ids_0
                                                                 rhss_0))))))
                                                         (for-loop_0
                                                          null
                                                          null
                                                          a_1)))
                                                      (lambda (ids_0 rhss_0)
                                                        (let ((app_0
                                                               (reverse$1
                                                                ids_0)))
                                                          (values
                                                           app_0
                                                           (reverse$1
                                                            rhss_0)))))))
                                                 (lambda (ids_0 rhss_0)
                                                   (let ((body_1
                                                          (let ((d_2
                                                                 (cdr p_2)))
                                                            (let ((a_1
                                                                   (car
                                                                    (unwrap
                                                                     d_2))))
                                                              a_1))))
                                                     (let ((ids_1 ids_0)
                                                           (rhss_1 rhss_0))
                                                       (values
                                                        ids_1
                                                        rhss_1
                                                        body_1))))))))
                                          (lambda (ids_0 rhss_0 body_1)
                                            (let ((nest-let-id_1
                                                   nest-let-id_0))
                                              (values
                                               nest-let-id_1
                                               ids_0
                                               rhss_0
                                               body_1)))))))))
                               (lambda (nest-let-id_0 ids_0 rhss_0 body_1)
                                 (let ((id_1 id_0))
                                   (values
                                    id_1
                                    nest-let-id_0
                                    ids_0
                                    rhss_0
                                    body_1)))))))
                        (lambda (id_0 nest-let-id_0 ids_0 rhss_0 body_1)
                          (if (not
                               (let ((or-part_0 (eq? let-id_0 'let)))
                                 (if or-part_0
                                   or-part_0
                                   (immediate-lambda? body_1))))
                            e_0
                            (if (if (let ((or-part_0 (eq? 'let nest-let-id_0)))
                                      (if or-part_0
                                        or-part_0
                                        (if (eq? 'letrec* nest-let-id_0)
                                          (not (could-be-loop? ids_0 body_1))
                                          #f)))
                                  (letrec*
                                   ((for-loop_0
                                     (|#%name|
                                      for-loop
                                      (lambda (result_0 lst_0)
                                        (if (pair? lst_0)
                                          (let ((rhs_0 (unsafe-car lst_0)))
                                            (let ((rest_0 (unsafe-cdr lst_0)))
                                              (let ((result_1
                                                     (let ((result_1
                                                            (if (let ((or-part_0
                                                                       (eq?
                                                                        'let
                                                                        let-id_0)))
                                                                  (if or-part_0
                                                                    or-part_0
                                                                    (immediate-lambda?
                                                                     rhs_0)))
                                                              (simple?.1
                                                               #f
                                                               #f
                                                               #t
                                                               1
                                                               #f
                                                               rhs_0
                                                               prim-knowns_0
                                                               knowns_0
                                                               imports_0
                                                               mutated_0
                                                               simples_0
                                                               unsafe-mode?_0)
                                                              #f)))
                                                       (values result_1))))
                                                (if (if (not
                                                         (let ((x_0
                                                                (list rhs_0)))
                                                           (not result_1)))
                                                      #t
                                                      #f)
                                                  (for-loop_0 result_1 rest_0)
                                                  result_1))))
                                          result_0)))))
                                   (for-loop_0 #t rhss_0))
                                  #f)
                              (let ((v_1 (car binds_1)))
                                (if (let ((p_0 (unwrap v_1)))
                                      (if (pair? p_0)
                                        (let ((a_0 (cdr p_0)))
                                          (let ((p_1 (unwrap a_0)))
                                            (if (pair? p_1)
                                              (if (let ((a_1 (car p_1)))
                                                    (let ((p_2 (unwrap a_1)))
                                                      (if (pair? p_2)
                                                        (let ((a_2 (cdr p_2)))
                                                          (let ((p_3
                                                                 (unwrap a_2)))
                                                            (if (pair? p_3)
                                                              (let ((a_3
                                                                     (cdr
                                                                      p_3)))
                                                                (let ((p_4
                                                                       (unwrap
                                                                        a_3)))
                                                                  (if (pair?
                                                                       p_4)
                                                                    (let ((a_4
                                                                           (cdr
                                                                            p_4)))
                                                                      (let ((app_0
                                                                             (unwrap
                                                                              '())))
                                                                        (eq?
                                                                         app_0
                                                                         (unwrap
                                                                          a_4))))
                                                                    #f)))
                                                              #f)))
                                                        #f)))
                                                (let ((a_1 (cdr p_1)))
                                                  (let ((app_0 (unwrap '())))
                                                    (eq? app_0 (unwrap a_1))))
                                                #f)
                                              #f)))
                                        #f))
                                  (let ((inner-binds_0
                                         (let ((d_0 (cdr (unwrap v_1))))
                                           (let ((a_0 (car (unwrap d_0))))
                                             (let ((d_1 (cdr (unwrap a_0))))
                                               (let ((a_1 (car (unwrap d_1))))
                                                 a_1))))))
                                    (if (eq? 'let let-id_0)
                                      (let ((app_0 (cdr binds_1)))
                                        (loop_0
                                         app_0
                                         (cons
                                          (list id_0 body_1)
                                          accum-binds_0)
                                         (cons
                                          (cons nest-let-id_0 inner-binds_0)
                                          wraps_0)
                                         #t))
                                      (let ((app_0 (cdr binds_1)))
                                        (loop_0
                                         app_0
                                         (let ((app_1 (list id_0 body_1)))
                                           (cons
                                            app_1
                                            (append
                                             inner-binds_0
                                             accum-binds_0)))
                                         wraps_0
                                         #t))))
                                  (error 'match "failed ~e" v_1)))
                              (let ((app_0 (cdr binds_1)))
                                (loop_0
                                 app_0
                                 (cons (car binds_1) accum-binds_0)
                                 wraps_0
                                 convert?_0))))))
                       (if (let ((p_0 (unwrap v_0)))
                             (if (pair? p_0)
                               (let ((a_0 (cdr p_0)))
                                 (let ((p_1 (unwrap a_0)))
                                   (if (pair? p_1)
                                     (let ((a_1 (cdr p_1)))
                                       (let ((app_0 (unwrap '())))
                                         (eq? app_0 (unwrap a_1))))
                                     #f)))
                               #f))
                         (let ((rhs_0
                                (let ((d_0 (cdr (unwrap v_0))))
                                  (let ((a_0 (car (unwrap d_0)))) a_0))))
                           (if (let ((or-part_0 (eq? let-id_0 'let)))
                                 (if or-part_0
                                   or-part_0
                                   (immediate-lambda? rhs_0)))
                             (let ((app_0 (cdr binds_1)))
                               (loop_0
                                app_0
                                (cons (car binds_1) accum-binds_0)
                                wraps_0
                                convert?_0))
                             e_0))
                         (error 'match "failed ~e" v_0)))))))))
            (loop_0 binds_0 '() '() #f))
           e_0)))
      e_0)))
(define immediate-lambda?
  (lambda (e_0)
    (let ((hd_0
           (let ((p_0 (unwrap e_0))) (if (pair? p_0) (unwrap (car p_0)) #f))))
      (if (if (eq? 'lambda hd_0) #t #f)
        #t
        (if (if (eq? 'case-lambda hd_0) #t #f) #t #f)))))
(define could-be-loop?
  (lambda (ids_0 body_0)
    (if (pair? ids_0)
      (if (null? (cdr ids_0))
        (if (pair? (unwrap body_0))
          (let ((app_0 (unwrap (car ids_0))))
            (eq? app_0 (unwrap (wrap-car body_0))))
          #f)
        #f)
      #f)))
(define infer-procedure-name
  (lambda (orig-s_0 new-s_0 explicit-unnamed?_0)
    (let ((inferred-name_0 (wrap-property orig-s_0 'inferred-name)))
      (if (symbol? inferred-name_0)
        (let ((s_0 (symbol->immutable-string inferred-name_0)))
          (if (if (fx> (string-length s_0) 0)
                (let ((ch_0 (string-ref s_0 0)))
                  (let ((or-part_0 (char=? '#\x5b ch_0)))
                    (if or-part_0 or-part_0 (char=? '#\x5d ch_0))))
                #f)
            (let ((app_0 (reannotate orig-s_0 new-s_0)))
              (wrap-property-set
               app_0
               'inferred-name
               (string->symbol (string-append-immutable "]" s_0))))
            new-s_0))
        (call-with-values
         (lambda () (wrap-source orig-s_0))
         (lambda (src_0 line_0 col_0 pos_0 span_0)
           (let ((add-property_0
                  (|#%name|
                   add-property
                   (lambda (str_0)
                     (let ((app_0 (reannotate orig-s_0 new-s_0)))
                       (wrap-property-set
                        app_0
                        'inferred-name
                        (let ((prefix_0
                               (if (let ((or-part_0
                                          (char=?
                                           (string-ref str_0 0)
                                           '#\x21)))
                                     (if or-part_0
                                       or-part_0
                                       (char=? (string-ref str_0 0) '#\x5e)))
                                 "[^"
                                 "[")))
                          (string->symbol
                           (string-append-immutable prefix_0 str_0)))))))))
             (if (if (let ((or-part_0 (path? src_0)))
                       (if or-part_0 or-part_0 (string? src_0)))
                   (if line_0 col_0 #f)
                   #f)
               (add-property_0
                (let ((app_0 (source->string src_0)))
                  (let ((app_1 (number->string line_0)))
                    (string-append
                     app_0
                     ":"
                     app_1
                     ":"
                     (number->string col_0)))))
               (if (if (let ((or-part_0 (path? src_0)))
                         (if or-part_0 or-part_0 (string? src_0)))
                     (if src_0 pos_0 #f)
                     #f)
                 (add-property_0
                  (let ((app_0 (source->string src_0)))
                    (string-append app_0 "::" (number->string pos_0))))
                 (if (if explicit-unnamed?_0
                       explicit-unnamed?_0
                       (void? inferred-name_0))
                   (wrap-property-set
                    (reannotate orig-s_0 new-s_0)
                    'inferred-name
                    '|[|)
                   new-s_0))))))))))
(define source->string
  (lambda (src_0)
    (let ((str_0 (if (string? src_0) src_0 (path->string src_0))))
      (let ((short-str_0
             (if (< (string-length str_0) 20)
               (string-copy str_0)
               (string-append
                "..."
                (substring str_0 (- (string-length str_0) 19))))))
        (begin
          (let ((end_0 (string-length short-str_0)))
            (letrec*
             ((for-loop_0
               (|#%name|
                for-loop
                (lambda (pos_0)
                  (if (< pos_0 end_0)
                    (begin
                      (if (char=? '#\x5c (string-ref short-str_0 pos_0))
                        (string-set! short-str_0 pos_0 '#\x2f)
                        (void))
                      (for-loop_0 (+ pos_0 1)))
                    (values))))))
             (for-loop_0 0)))
          (void)
          short-str_0)))))
(define maybe-unsafe
  (lambda (orig-s_0 body_0)
    (if (let ((p_0 (unwrap body_0)))
          (if (pair? p_0)
            (if (let ((a_0 (car p_0)))
                  (let ((p_1 (unwrap a_0)))
                    (if (pair? p_1)
                      (if (let ((a_1 (car p_1)))
                            (let ((app_0 (unwrap 'begin-unsafe)))
                              (eq? app_0 (unwrap a_1))))
                        #t
                        #f)
                      #f)))
              (let ((a_0 (cdr p_0)))
                (let ((app_0 (unwrap '()))) (eq? app_0 (unwrap a_0))))
              #f)
            #f))
      body_0
      (if (wrap-property orig-s_0 'body-as-unsafe)
        (list (list* 'begin-unsafe body_0))
        body_0))))
(define inline-ptr-ref
  (lambda (args_0)
    (if (let ((p_0 (unwrap args_0)))
          (if (pair? p_0)
            (let ((a_0 (cdr p_0)))
              (let ((p_1 (unwrap a_0)))
                (if (pair? p_1)
                  (let ((a_1 (cdr p_1)))
                    (let ((p_2 (unwrap a_1)))
                      (if (pair? p_2)
                        (if (let ((a_2 (car p_2)))
                              (let ((p_3 (unwrap a_2)))
                                (if (pair? p_3)
                                  (if (let ((a_3 (car p_3)))
                                        (let ((app_0 (unwrap 'quote)))
                                          (eq? app_0 (unwrap a_3))))
                                    (let ((a_3 (cdr p_3)))
                                      (let ((p_4 (unwrap a_3)))
                                        (if (pair? p_4)
                                          (if (let ((a_4 (car p_4)))
                                                (let ((app_0 (unwrap 'abs)))
                                                  (eq? app_0 (unwrap a_4))))
                                            (let ((a_4 (cdr p_4)))
                                              (let ((app_0 (unwrap '())))
                                                (eq? app_0 (unwrap a_4))))
                                            #f)
                                          #f)))
                                    #f)
                                  #f)))
                          (let ((a_2 (cdr p_2)))
                            (let ((p_3 (unwrap a_2)))
                              (if (pair? p_3)
                                (let ((a_3 (cdr p_3)))
                                  (let ((app_0 (unwrap '())))
                                    (eq? app_0 (unwrap a_3))))
                                #f)))
                          #f)
                        #f)))
                  #f)))
            #f))
      (call-with-values
       (lambda ()
         (let ((p_0 (unwrap args_0)))
           (let ((ptr-e_0 (let ((a_0 (car p_0))) a_0)))
             (call-with-values
              (lambda ()
                (let ((d_0 (cdr p_0)))
                  (let ((p_1 (unwrap d_0)))
                    (let ((type-e_0 (let ((a_0 (car p_1))) a_0)))
                      (let ((offset-e_0
                             (let ((d_1 (cdr p_1)))
                               (let ((d_2 (cdr (unwrap d_1))))
                                 (let ((a_0 (car (unwrap d_2)))) a_0)))))
                        (let ((type-e_1 type-e_0))
                          (values type-e_1 offset-e_0)))))))
              (lambda (type-e_0 offset-e_0)
                (let ((ptr-e_1 ptr-e_0))
                  (values ptr-e_1 type-e_0 offset-e_0)))))))
       (lambda (ptr-e_0 type-e_0 offset-e_0)
         (type->direct type-e_0 ptr-e_0 offset-e_0 #t make-ref #f)))
      (if (let ((p_0 (unwrap args_0)))
            (if (pair? p_0)
              (let ((a_0 (cdr p_0)))
                (let ((p_1 (unwrap a_0)))
                  (if (pair? p_1)
                    (let ((a_1 (cdr p_1)))
                      (let ((p_2 (unwrap a_1)))
                        (if (pair? p_2)
                          (let ((a_2 (cdr p_2)))
                            (let ((app_0 (unwrap '())))
                              (eq? app_0 (unwrap a_2))))
                          #f)))
                    #f)))
              #f))
        (call-with-values
         (lambda ()
           (let ((p_0 (unwrap args_0)))
             (let ((ptr-e_0 (let ((a_0 (car p_0))) a_0)))
               (call-with-values
                (lambda ()
                  (let ((d_0 (cdr p_0)))
                    (let ((p_1 (unwrap d_0)))
                      (let ((type-e_0 (let ((a_0 (car p_1))) a_0)))
                        (let ((offset-e_0
                               (let ((d_1 (cdr p_1)))
                                 (let ((a_0 (car (unwrap d_1)))) a_0))))
                          (let ((type-e_1 type-e_0))
                            (values type-e_1 offset-e_0)))))))
                (lambda (type-e_0 offset-e_0)
                  (let ((ptr-e_1 ptr-e_0))
                    (values ptr-e_1 type-e_0 offset-e_0)))))))
         (lambda (ptr-e_0 type-e_0 offset-e_0)
           (type->direct type-e_0 ptr-e_0 offset-e_0 #f make-ref #f)))
        (if (let ((p_0 (unwrap args_0)))
              (if (pair? p_0)
                (let ((a_0 (cdr p_0)))
                  (let ((p_1 (unwrap a_0)))
                    (if (pair? p_1)
                      (let ((a_1 (cdr p_1)))
                        (let ((app_0 (unwrap '()))) (eq? app_0 (unwrap a_1))))
                      #f)))
                #f))
          (call-with-values
           (lambda ()
             (let ((p_0 (unwrap args_0)))
               (let ((ptr-e_0 (let ((a_0 (car p_0))) a_0)))
                 (let ((type-e_0
                        (let ((d_0 (cdr p_0)))
                          (let ((a_0 (car (unwrap d_0)))) a_0))))
                   (let ((ptr-e_1 ptr-e_0)) (values ptr-e_1 type-e_0))))))
           (lambda (ptr-e_0 type-e_0)
             (type->direct type-e_0 ptr-e_0 0 #f make-ref #f)))
          #f)))))
(define make-ref
  (lambda (ref_0 set_0 ptr-e_0 offset-e_0 val-e_0 abs?_0)
    (list ref_0 ptr-e_0 offset-e_0 abs?_0)))
(define inline-ptr-set
  (lambda (args_0)
    (if (let ((p_0 (unwrap args_0)))
          (if (pair? p_0)
            (let ((a_0 (cdr p_0)))
              (let ((p_1 (unwrap a_0)))
                (if (pair? p_1)
                  (let ((a_1 (cdr p_1)))
                    (let ((p_2 (unwrap a_1)))
                      (if (pair? p_2)
                        (if (let ((a_2 (car p_2)))
                              (let ((p_3 (unwrap a_2)))
                                (if (pair? p_3)
                                  (if (let ((a_3 (car p_3)))
                                        (let ((app_0 (unwrap 'quote)))
                                          (eq? app_0 (unwrap a_3))))
                                    (let ((a_3 (cdr p_3)))
                                      (let ((p_4 (unwrap a_3)))
                                        (if (pair? p_4)
                                          (if (let ((a_4 (car p_4)))
                                                (let ((app_0 (unwrap 'abs)))
                                                  (eq? app_0 (unwrap a_4))))
                                            (let ((a_4 (cdr p_4)))
                                              (let ((app_0 (unwrap '())))
                                                (eq? app_0 (unwrap a_4))))
                                            #f)
                                          #f)))
                                    #f)
                                  #f)))
                          (let ((a_2 (cdr p_2)))
                            (let ((p_3 (unwrap a_2)))
                              (if (pair? p_3)
                                (let ((a_3 (cdr p_3)))
                                  (let ((p_4 (unwrap a_3)))
                                    (if (pair? p_4)
                                      (let ((a_4 (cdr p_4)))
                                        (let ((app_0 (unwrap '())))
                                          (eq? app_0 (unwrap a_4))))
                                      #f)))
                                #f)))
                          #f)
                        #f)))
                  #f)))
            #f))
      (call-with-values
       (lambda ()
         (let ((p_0 (unwrap args_0)))
           (let ((ptr-e_0 (let ((a_0 (car p_0))) a_0)))
             (call-with-values
              (lambda ()
                (let ((d_0 (cdr p_0)))
                  (let ((p_1 (unwrap d_0)))
                    (let ((type-e_0 (let ((a_0 (car p_1))) a_0)))
                      (call-with-values
                       (lambda ()
                         (let ((d_1 (cdr p_1)))
                           (let ((d_2 (cdr (unwrap d_1))))
                             (let ((p_2 (unwrap d_2)))
                               (let ((offset-e_0 (let ((a_0 (car p_2))) a_0)))
                                 (let ((val-e_0
                                        (let ((d_3 (cdr p_2)))
                                          (let ((a_0 (car (unwrap d_3))))
                                            a_0))))
                                   (let ((offset-e_1 offset-e_0))
                                     (values offset-e_1 val-e_0))))))))
                       (lambda (offset-e_0 val-e_0)
                         (let ((type-e_1 type-e_0))
                           (values type-e_1 offset-e_0 val-e_0))))))))
              (lambda (type-e_0 offset-e_0 val-e_0)
                (let ((ptr-e_1 ptr-e_0))
                  (values ptr-e_1 type-e_0 offset-e_0 val-e_0)))))))
       (lambda (ptr-e_0 type-e_0 offset-e_0 val-e_0)
         (type->direct type-e_0 ptr-e_0 offset-e_0 #t make-set val-e_0)))
      (if (let ((p_0 (unwrap args_0)))
            (if (pair? p_0)
              (let ((a_0 (cdr p_0)))
                (let ((p_1 (unwrap a_0)))
                  (if (pair? p_1)
                    (let ((a_1 (cdr p_1)))
                      (let ((p_2 (unwrap a_1)))
                        (if (pair? p_2)
                          (let ((a_2 (cdr p_2)))
                            (let ((p_3 (unwrap a_2)))
                              (if (pair? p_3)
                                (let ((a_3 (cdr p_3)))
                                  (let ((app_0 (unwrap '())))
                                    (eq? app_0 (unwrap a_3))))
                                #f)))
                          #f)))
                    #f)))
              #f))
        (call-with-values
         (lambda ()
           (let ((p_0 (unwrap args_0)))
             (let ((ptr-e_0 (let ((a_0 (car p_0))) a_0)))
               (call-with-values
                (lambda ()
                  (let ((d_0 (cdr p_0)))
                    (let ((p_1 (unwrap d_0)))
                      (let ((type-e_0 (let ((a_0 (car p_1))) a_0)))
                        (call-with-values
                         (lambda ()
                           (let ((d_1 (cdr p_1)))
                             (let ((p_2 (unwrap d_1)))
                               (let ((offset-e_0 (let ((a_0 (car p_2))) a_0)))
                                 (let ((val-e_0
                                        (let ((d_2 (cdr p_2)))
                                          (let ((a_0 (car (unwrap d_2))))
                                            a_0))))
                                   (let ((offset-e_1 offset-e_0))
                                     (values offset-e_1 val-e_0)))))))
                         (lambda (offset-e_0 val-e_0)
                           (let ((type-e_1 type-e_0))
                             (values type-e_1 offset-e_0 val-e_0))))))))
                (lambda (type-e_0 offset-e_0 val-e_0)
                  (let ((ptr-e_1 ptr-e_0))
                    (values ptr-e_1 type-e_0 offset-e_0 val-e_0)))))))
         (lambda (ptr-e_0 type-e_0 offset-e_0 val-e_0)
           (type->direct type-e_0 ptr-e_0 offset-e_0 #f make-set val-e_0)))
        (if (let ((p_0 (unwrap args_0)))
              (if (pair? p_0)
                (let ((a_0 (cdr p_0)))
                  (let ((p_1 (unwrap a_0)))
                    (if (pair? p_1)
                      (let ((a_1 (cdr p_1)))
                        (let ((p_2 (unwrap a_1)))
                          (if (pair? p_2)
                            (let ((a_2 (cdr p_2)))
                              (let ((app_0 (unwrap '())))
                                (eq? app_0 (unwrap a_2))))
                            #f)))
                      #f)))
                #f))
          (call-with-values
           (lambda ()
             (let ((p_0 (unwrap args_0)))
               (let ((ptr-e_0 (let ((a_0 (car p_0))) a_0)))
                 (call-with-values
                  (lambda ()
                    (let ((d_0 (cdr p_0)))
                      (let ((p_1 (unwrap d_0)))
                        (let ((type-e_0 (let ((a_0 (car p_1))) a_0)))
                          (let ((val-e_0
                                 (let ((d_1 (cdr p_1)))
                                   (let ((a_0 (car (unwrap d_1)))) a_0))))
                            (let ((type-e_1 type-e_0))
                              (values type-e_1 val-e_0)))))))
                  (lambda (type-e_0 val-e_0)
                    (let ((ptr-e_1 ptr-e_0))
                      (values ptr-e_1 type-e_0 val-e_0)))))))
           (lambda (ptr-e_0 type-e_0 val-e_0)
             (type->direct type-e_0 ptr-e_0 0 #f make-set val-e_0)))
          #f)))))
(define make-set
  (lambda (ref_0 set_0 ptr-e_0 offset-e_0 val-e_0 abs?_0)
    (list set_0 ptr-e_0 offset-e_0 val-e_0 abs?_0)))
(define type->direct
  (lambda (type-e_0 ptr-e_0 offset-e_0 abs?_0 make_0 val-e_0)
    (let ((do-make_0
           (|#%name|
            do-make
            (lambda (ref_0 set_0)
              (|#%app|
               make_0
               ref_0
               set_0
               ptr-e_0
               offset-e_0
               val-e_0
               abs?_0)))))
      (let ((tmp_0 (unwrap type-e_0)))
        (if (eq? tmp_0 '_int8)
          (do-make_0 'ptr-ref/int8 'ptr-set!/int8)
          (if (eq? tmp_0 '_uint8)
            (do-make_0 'ptr-ref/uint8 'ptr-set!/uint8)
            (if (eq? tmp_0 '_int16)
              (do-make_0 'ptr-ref/int16 'ptr-set!/int16)
              (if (eq? tmp_0 '_uint16)
                (do-make_0 'ptr-ref/uint16 'ptr-set!/uint16)
                (if (eq? tmp_0 '_int32)
                  (do-make_0 'ptr-ref/int32 'ptr-set!/int32)
                  (if (eq? tmp_0 '_uint32)
                    (do-make_0 'ptr-ref/uint32 'ptr-set!/uint32)
                    (if (eq? tmp_0 '_int64)
                      (do-make_0 'ptr-ref/int64 'ptr-set!/int64)
                      (if (eq? tmp_0 '_uint64)
                        (do-make_0 'ptr-ref/uint64 'ptr-set!/uint64)
                        (if (eq? tmp_0 '_double)
                          (do-make_0 'ptr-ref/double 'ptr-set!/double)
                          (if (eq? tmp_0 '_float)
                            (do-make_0 'ptr-ref/float 'ptr-set!/float)
                            #f))))))))))))))
(define authentic-valued?
  (lambda (v_0 knowns_0 prim-knowns_0 imports_0 mutated_0)
    (letrec*
     ((authentic-valued?_0
       (|#%name|
        authentic-valued?
        (lambda (v_1)
          (let ((hd_0
                 (let ((p_0 (unwrap v_1)))
                   (if (pair? p_0) (unwrap (car p_0)) #f))))
            (if (if (eq? 'quote hd_0)
                  (let ((a_0 (cdr (unwrap v_1))))
                    (let ((p_0 (unwrap a_0)))
                      (if (pair? p_0)
                        (let ((a_1 (cdr p_0)))
                          (let ((app_0 (unwrap '())))
                            (eq? app_0 (unwrap a_1))))
                        #f)))
                  #f)
              (let ((v_2
                     (let ((d_0 (cdr (unwrap v_1))))
                       (let ((a_0 (car (unwrap d_0)))) a_0))))
                (not (impersonator? v_2)))
              (let ((u-v_0 (unwrap v_1)))
                (if (symbol? u-v_0)
                  (if (not
                       (simple-mutated-state? (hash-ref mutated_0 u-v_0 #f)))
                    #f
                    (let ((cond-val_0
                           (let ((or-part_0 (hash-ref prim-knowns_0 u-v_0 #f)))
                             (if or-part_0
                               or-part_0
                               (hash-ref-either knowns_0 imports_0 u-v_0)))))
                      (if cond-val_0
                        (let ((or-part_0 (known-authentic? cond-val_0)))
                          (if or-part_0
                            or-part_0
                            (let ((or-part_1 (known-procedure? cond-val_0)))
                              (if or-part_1
                                or-part_1
                                (let ((or-part_2
                                       (if (known-literal? cond-val_0)
                                         (not
                                          (impersonator?
                                           (known-literal-value cond-val_0)))
                                         #f)))
                                  (if or-part_2
                                    or-part_2
                                    (if (known-copy? cond-val_0)
                                      (authentic-valued?_0
                                       (known-copy->local-id
                                        cond-val_0
                                        u-v_0
                                        imports_0
                                        prim-knowns_0))
                                      #f)))))))
                        #f)))
                  (not (pair? u-v_0))))))))))
     (authentic-valued?_0 v_0))))
(define schemify-linklet
  (lambda (lk_0
           serializable?-box_0
           datum-intern?_0
           target_0
           allow-set!-undefined?_0
           unsafe-mode?_0
           enforce-constant?_0
           allow-inline?_0
           no-prompt?_0
           prim-knowns_0
           primitives_0
           compiler-query_0
           get-import-knowns_0
           import-keys_0)
    (with-continuation-mark*
     authentic
     parameterization-key
     (let ((app_0 (continuation-mark-set-first #f parameterization-key)))
       (extend-parameterization app_0 gensym-counter (box 0)))
     (let ((im-int-id_0
            (|#%name|
             im-int-id
             (lambda (id_0) (unwrap (if (pair? id_0) (cadr id_0) id_0))))))
       (let ((im-ext-id_0
              (|#%name|
               im-ext-id
               (lambda (id_0) (unwrap (if (pair? id_0) (car id_0) id_0))))))
         (let ((ex-int-id_0
                (|#%name|
                 ex-int-id
                 (lambda (id_0) (unwrap (if (pair? id_0) (car id_0) id_0))))))
           (let ((ex-ext-id_0
                  (|#%name|
                   ex-ext-id
                   (lambda (id_0)
                     (unwrap (if (pair? id_0) (cadr id_0) id_0))))))
             (let ((hd_0
                    (let ((p_0 (unwrap lk_0)))
                      (if (pair? p_0) (unwrap (car p_0)) #f))))
               (if (if (eq? 'linklet hd_0)
                     (let ((a_0 (cdr (unwrap lk_0))))
                       (let ((p_0 (unwrap a_0)))
                         (if (pair? p_0)
                           (let ((a_1 (cdr p_0)))
                             (let ((p_1 (unwrap a_1))) (if (pair? p_1) #t #f)))
                           #f)))
                     #f)
                 (call-with-values
                  (lambda ()
                    (let ((d_0 (cdr (unwrap lk_0))))
                      (let ((p_0 (unwrap d_0)))
                        (let ((im-idss_0 (let ((a_0 (car p_0))) a_0)))
                          (call-with-values
                           (lambda ()
                             (let ((d_1 (cdr p_0)))
                               (let ((p_1 (unwrap d_1)))
                                 (let ((ex-ids_0 (let ((a_0 (car p_1))) a_0)))
                                   (let ((bodys_0 (let ((d_2 (cdr p_1))) d_2)))
                                     (let ((ex-ids_1 ex-ids_0))
                                       (values ex-ids_1 bodys_0)))))))
                           (lambda (ex-ids_0 bodys_0)
                             (let ((im-idss_1 im-idss_0))
                               (values im-idss_1 ex-ids_0 bodys_0))))))))
                  (lambda (im-idss_0 ex-ids_0 bodys_0)
                    (let ((grps_0
                           (reverse$1
                            (letrec*
                             ((for-loop_0
                               (|#%name|
                                for-loop
                                (lambda (fold-var_0 lst_0 pos_0)
                                  (if (if (pair? lst_0) #t #f)
                                    (let ((im-ids_0 (unsafe-car lst_0)))
                                      (let ((rest_0 (unsafe-cdr lst_0)))
                                        (let ((fold-var_1
                                               (let ((fold-var_1
                                                      (cons
                                                       (import-group2.1
                                                        pos_0
                                                        (if import-keys_0
                                                          (vector-ref
                                                           import-keys_0
                                                           pos_0)
                                                          #f)
                                                        get-import-knowns_0
                                                        #f
                                                        #f
                                                        '())
                                                       fold-var_0)))
                                                 (values fold-var_1))))
                                          (for-loop_0
                                           fold-var_1
                                           rest_0
                                           (+ pos_0 1)))))
                                    fold-var_0)))))
                             (for-loop_0 null im-idss_0 0)))))
                      (let ((imports_0
                             (let ((imports_0 (make-hasheq)))
                               (begin
                                 (letrec*
                                  ((for-loop_0
                                    (|#%name|
                                     for-loop
                                     (lambda (lst_0 lst_1)
                                       (if (if (pair? lst_0) (pair? lst_1) #f)
                                         (let ((im-ids_0 (unsafe-car lst_0)))
                                           (let ((rest_0 (unsafe-cdr lst_0)))
                                             (let ((grp_0 (unsafe-car lst_1)))
                                               (let ((rest_1
                                                      (unsafe-cdr lst_1)))
                                                 (begin
                                                   (set-import-group-imports!
                                                    grp_0
                                                    (reverse$1
                                                     (letrec*
                                                      ((for-loop_1
                                                        (|#%name|
                                                         for-loop
                                                         (lambda (fold-var_0
                                                                  lst_2)
                                                           (if (pair? lst_2)
                                                             (let ((im-id_0
                                                                    (unsafe-car
                                                                     lst_2)))
                                                               (let ((rest_2
                                                                      (unsafe-cdr
                                                                       lst_2)))
                                                                 (let ((fold-var_1
                                                                        (let ((fold-var_1
                                                                               (cons
                                                                                (let ((id_0
                                                                                       (im-int-id_0
                                                                                        im-id_0)))
                                                                                  (let ((ext-id_0
                                                                                         (im-ext-id_0
                                                                                          im-id_0)))
                                                                                    (let ((int-id_0
                                                                                           (deterministic-gensym
                                                                                            id_0)))
                                                                                      (let ((im_0
                                                                                             (import1.1
                                                                                              grp_0
                                                                                              int-id_0
                                                                                              id_0
                                                                                              ext-id_0)))
                                                                                        (begin
                                                                                          (hash-set!
                                                                                           imports_0
                                                                                           id_0
                                                                                           im_0)
                                                                                          (hash-set!
                                                                                           imports_0
                                                                                           int-id_0
                                                                                           im_0)
                                                                                          im_0)))))
                                                                                fold-var_0)))
                                                                          (values
                                                                           fold-var_1))))
                                                                   (for-loop_1
                                                                    fold-var_1
                                                                    rest_2))))
                                                             fold-var_0)))))
                                                      (for-loop_1
                                                       null
                                                       im-ids_0))))
                                                   (for-loop_0
                                                    rest_0
                                                    rest_1))))))
                                         (values))))))
                                  (for-loop_0 im-idss_0 grps_0))
                                 (void)
                                 imports_0))))
                        (let ((new-grps_0 '()))
                          (let ((add-import!_0
                                 (make-add-import!
                                  imports_0
                                  grps_0
                                  get-import-knowns_0
                                  (lambda (new-grp_0)
                                    (set! new-grps_0
                                      (cons new-grp_0 new-grps_0))))))
                            (let ((exports_0 (hasheq)))
                              (let ((exports_1
                                     (let ((exports_1 exports_0))
                                       (letrec*
                                        ((for-loop_0
                                          (|#%name|
                                           for-loop
                                           (lambda (exports_2 lst_0)
                                             (if (pair? lst_0)
                                               (let ((ex-id_0
                                                      (unsafe-car lst_0)))
                                                 (let ((rest_0
                                                        (unsafe-cdr lst_0)))
                                                   (let ((exports_3
                                                          (let ((exports_3
                                                                 (let ((id_0
                                                                        (ex-int-id_0
                                                                         ex-id_0)))
                                                                   (hash-set
                                                                    exports_2
                                                                    id_0
                                                                    (let ((app_0
                                                                           (deterministic-gensym
                                                                            id_0)))
                                                                      (export1.1
                                                                       app_0
                                                                       (ex-ext-id_0
                                                                        ex-id_0)))))))
                                                            (values
                                                             exports_3))))
                                                     (for-loop_0
                                                      exports_3
                                                      rest_0))))
                                               exports_2)))))
                                        (for-loop_0 exports_1 ex-ids_0)))))
                                (let ((src-syms_0
                                       (get-definition-source-syms bodys_0)))
                                  (call-with-values
                                   (lambda ()
                                     (schemify-body*
                                      bodys_0
                                      prim-knowns_0
                                      primitives_0
                                      imports_0
                                      exports_1
                                      serializable?-box_0
                                      datum-intern?_0
                                      allow-set!-undefined?_0
                                      add-import!_0
                                      target_0
                                      unsafe-mode?_0
                                      enforce-constant?_0
                                      allow-inline?_0
                                      no-prompt?_0
                                      #t
                                      compiler-query_0))
                                   (lambda (new-body_0 defn-info_0 mutated_0)
                                     (let ((all-grps_0
                                            (append
                                             grps_0
                                             (reverse$1 new-grps_0))))
                                       (let ((app_0
                                              (list*
                                               'lambda
                                               (list*
                                                'instance-variable-reference
                                                (let ((app_0
                                                       (reverse$1
                                                        (letrec*
                                                         ((for-loop_0
                                                           (|#%name|
                                                            for-loop
                                                            (lambda (fold-var_0
                                                                     lst_0)
                                                              (if (pair? lst_0)
                                                                (let ((grp_0
                                                                       (unsafe-car
                                                                        lst_0)))
                                                                  (let ((rest_0
                                                                         (unsafe-cdr
                                                                          lst_0)))
                                                                    (let ((fold-var_1
                                                                           (let ((lst_1
                                                                                  (import-group-imports
                                                                                   grp_0)))
                                                                             (letrec*
                                                                              ((for-loop_1
                                                                                (|#%name|
                                                                                 for-loop
                                                                                 (lambda (fold-var_1
                                                                                          lst_2)
                                                                                   (if (pair?
                                                                                        lst_2)
                                                                                     (let ((im_0
                                                                                            (unsafe-car
                                                                                             lst_2)))
                                                                                       (let ((rest_1
                                                                                              (unsafe-cdr
                                                                                               lst_2)))
                                                                                         (let ((fold-var_2
                                                                                                (let ((fold-var_2
                                                                                                       (cons
                                                                                                        (import-id
                                                                                                         im_0)
                                                                                                        fold-var_1)))
                                                                                                  (values
                                                                                                   fold-var_2))))
                                                                                           (for-loop_1
                                                                                            fold-var_2
                                                                                            rest_1))))
                                                                                     fold-var_1)))))
                                                                              (for-loop_1
                                                                               fold-var_0
                                                                               lst_1)))))
                                                                      (for-loop_0
                                                                       fold-var_1
                                                                       rest_0))))
                                                                fold-var_0)))))
                                                         (for-loop_0
                                                          null
                                                          all-grps_0)))))
                                                  (qq-append
                                                   app_0
                                                   (reverse$1
                                                    (letrec*
                                                     ((for-loop_0
                                                       (|#%name|
                                                        for-loop
                                                        (lambda (fold-var_0
                                                                 lst_0)
                                                          (if (pair? lst_0)
                                                            (let ((ex-id_0
                                                                   (unsafe-car
                                                                    lst_0)))
                                                              (let ((rest_0
                                                                     (unsafe-cdr
                                                                      lst_0)))
                                                                (let ((fold-var_1
                                                                       (let ((fold-var_1
                                                                              (cons
                                                                               (export-id
                                                                                (hash-ref
                                                                                 exports_1
                                                                                 (ex-int-id_0
                                                                                  ex-id_0)))
                                                                               fold-var_0)))
                                                                         (values
                                                                          fold-var_1))))
                                                                  (for-loop_0
                                                                   fold-var_1
                                                                   rest_0))))
                                                            fold-var_0)))))
                                                     (for-loop_0
                                                      null
                                                      ex-ids_0))))))
                                               new-body_0)))
                                         (let ((app_1
                                                (reverse$1
                                                 (letrec*
                                                  ((for-loop_0
                                                    (|#%name|
                                                     for-loop
                                                     (lambda (fold-var_0 lst_0)
                                                       (if (pair? lst_0)
                                                         (let ((grp_0
                                                                (unsafe-car
                                                                 lst_0)))
                                                           (let ((rest_0
                                                                  (unsafe-cdr
                                                                   lst_0)))
                                                             (let ((fold-var_1
                                                                    (let ((fold-var_1
                                                                           (cons
                                                                            (reverse$1
                                                                             (let ((lst_1
                                                                                    (import-group-imports
                                                                                     grp_0)))
                                                                               (letrec*
                                                                                ((for-loop_1
                                                                                  (|#%name|
                                                                                   for-loop
                                                                                   (lambda (fold-var_1
                                                                                            lst_2)
                                                                                     (if (pair?
                                                                                          lst_2)
                                                                                       (let ((im_0
                                                                                              (unsafe-car
                                                                                               lst_2)))
                                                                                         (let ((rest_1
                                                                                                (unsafe-cdr
                                                                                                 lst_2)))
                                                                                           (let ((fold-var_2
                                                                                                  (let ((fold-var_2
                                                                                                         (cons
                                                                                                          (import-ext-id
                                                                                                           im_0)
                                                                                                          fold-var_1)))
                                                                                                    (values
                                                                                                     fold-var_2))))
                                                                                             (for-loop_1
                                                                                              fold-var_2
                                                                                              rest_1))))
                                                                                       fold-var_1)))))
                                                                                (for-loop_1
                                                                                 null
                                                                                 lst_1))))
                                                                            fold-var_0)))
                                                                      (values
                                                                       fold-var_1))))
                                                               (for-loop_0
                                                                fold-var_1
                                                                rest_0))))
                                                         fold-var_0)))))
                                                  (for-loop_0
                                                   null
                                                   all-grps_0)))))
                                           (let ((app_2
                                                  (reverse$1
                                                   (letrec*
                                                    ((for-loop_0
                                                      (|#%name|
                                                       for-loop
                                                       (lambda (fold-var_0
                                                                lst_0)
                                                         (if (pair? lst_0)
                                                           (let ((ex-id_0
                                                                  (unsafe-car
                                                                   lst_0)))
                                                             (let ((rest_0
                                                                    (unsafe-cdr
                                                                     lst_0)))
                                                               (let ((fold-var_1
                                                                      (let ((fold-var_1
                                                                             (cons
                                                                              (let ((sym_0
                                                                                     (ex-ext-id_0
                                                                                      ex-id_0)))
                                                                                (let ((int-sym_0
                                                                                       (ex-int-id_0
                                                                                        ex-id_0)))
                                                                                  (let ((src-sym_0
                                                                                         (hash-ref
                                                                                          src-syms_0
                                                                                          int-sym_0
                                                                                          sym_0)))
                                                                                    (if (eq?
                                                                                         sym_0
                                                                                         src-sym_0)
                                                                                      sym_0
                                                                                      (cons
                                                                                       sym_0
                                                                                       src-sym_0)))))
                                                                              fold-var_0)))
                                                                        (values
                                                                         fold-var_1))))
                                                                 (for-loop_0
                                                                  fold-var_1
                                                                  rest_0))))
                                                           fold-var_0)))))
                                                    (for-loop_0
                                                     null
                                                     ex-ids_0)))))
                                             (let ((app_3
                                                    (if (null? new-grps_0)
                                                      import-keys_0
                                                      (let ((len_0
                                                             (length
                                                              all-grps_0)))
                                                        (begin
                                                          (if (exact-nonnegative-integer?
                                                               len_0)
                                                            (void)
                                                            (1/raise-argument-error
                                                             'for/vector
                                                             "exact-nonnegative-integer?"
                                                             len_0))
                                                          (let ((v_0
                                                                 (make-vector
                                                                  len_0
                                                                  0)))
                                                            (begin
                                                              (if (zero? len_0)
                                                                (void)
                                                                (letrec*
                                                                 ((for-loop_0
                                                                   (|#%name|
                                                                    for-loop
                                                                    (lambda (i_0
                                                                             lst_0)
                                                                      (if (pair?
                                                                           lst_0)
                                                                        (let ((grp_0
                                                                               (unsafe-car
                                                                                lst_0)))
                                                                          (let ((rest_0
                                                                                 (unsafe-cdr
                                                                                  lst_0)))
                                                                            (let ((i_1
                                                                                   (let ((i_1
                                                                                          (begin
                                                                                            (unsafe-vector*-set!
                                                                                             v_0
                                                                                             i_0
                                                                                             (import-group-key
                                                                                              grp_0))
                                                                                            (unsafe-fx+
                                                                                             1
                                                                                             i_0))))
                                                                                     (values
                                                                                      i_1))))
                                                                              (if (if (not
                                                                                       (let ((x_0
                                                                                              (list
                                                                                               grp_0)))
                                                                                         (unsafe-fx=
                                                                                          i_1
                                                                                          len_0)))
                                                                                    #t
                                                                                    #f)
                                                                                (for-loop_0
                                                                                 i_1
                                                                                 rest_0)
                                                                                i_1))))
                                                                        i_0)))))
                                                                 (for-loop_0
                                                                  0
                                                                  all-grps_0)))
                                                              v_0)))))))
                                               (let ((app_4
                                                      (reverse$1
                                                       (letrec*
                                                        ((for-loop_0
                                                          (|#%name|
                                                           for-loop
                                                           (lambda (fold-var_0
                                                                    lst_0)
                                                             (if (pair? lst_0)
                                                               (let ((grp_0
                                                                      (unsafe-car
                                                                       lst_0)))
                                                                 (let ((rest_0
                                                                        (unsafe-cdr
                                                                         lst_0)))
                                                                   (let ((fold-var_1
                                                                          (let ((fold-var_1
                                                                                 (cons
                                                                                  (let ((im-ready?_0
                                                                                         (import-group-lookup-ready?
                                                                                          grp_0)))
                                                                                    (reverse$1
                                                                                     (let ((lst_1
                                                                                            (import-group-imports
                                                                                             grp_0)))
                                                                                       (letrec*
                                                                                        ((for-loop_1
                                                                                          (|#%name|
                                                                                           for-loop
                                                                                           (lambda (fold-var_1
                                                                                                    lst_2)
                                                                                             (if (pair?
                                                                                                  lst_2)
                                                                                               (let ((im_0
                                                                                                      (unsafe-car
                                                                                                       lst_2)))
                                                                                                 (let ((rest_1
                                                                                                        (unsafe-cdr
                                                                                                         lst_2)))
                                                                                                   (let ((fold-var_2
                                                                                                          (let ((fold-var_2
                                                                                                                 (cons
                                                                                                                  (if im-ready?_0
                                                                                                                    (let ((k_0
                                                                                                                           (import-group-lookup
                                                                                                                            grp_0
                                                                                                                            (import-ext-id
                                                                                                                             im_0))))
                                                                                                                      (if (known-constant?
                                                                                                                           k_0)
                                                                                                                        (if (known-procedure?
                                                                                                                             k_0)
                                                                                                                          'proc
                                                                                                                          (if (known-struct-type?
                                                                                                                               k_0)
                                                                                                                            (known-struct-type-field-count
                                                                                                                             k_0)
                                                                                                                            #t))
                                                                                                                        #f))
                                                                                                                    #f)
                                                                                                                  fold-var_1)))
                                                                                                            (values
                                                                                                             fold-var_2))))
                                                                                                     (for-loop_1
                                                                                                      fold-var_2
                                                                                                      rest_1))))
                                                                                               fold-var_1)))))
                                                                                        (for-loop_1
                                                                                         null
                                                                                         lst_1)))))
                                                                                  fold-var_0)))
                                                                            (values
                                                                             fold-var_1))))
                                                                     (for-loop_0
                                                                      fold-var_1
                                                                      rest_0))))
                                                               fold-var_0)))))
                                                        (for-loop_0
                                                         null
                                                         all-grps_0)))))
                                                 (values
                                                  app_0
                                                  app_1
                                                  app_2
                                                  app_3
                                                  app_4
                                                  (let ((knowns_0 (hasheq)))
                                                    (let ((knowns_1 knowns_0))
                                                      (letrec*
                                                       ((for-loop_0
                                                         (|#%name|
                                                          for-loop
                                                          (lambda (knowns_2
                                                                   lst_0)
                                                            (if (pair? lst_0)
                                                              (let ((ex-id_0
                                                                     (unsafe-car
                                                                      lst_0)))
                                                                (let ((rest_0
                                                                       (unsafe-cdr
                                                                        lst_0)))
                                                                  (let ((knowns_3
                                                                         (let ((knowns_3
                                                                                (let ((id_0
                                                                                       (ex-int-id_0
                                                                                        ex-id_0)))
                                                                                  (let ((v_0
                                                                                         (known-inline->export-known
                                                                                          (hash-ref
                                                                                           defn-info_0
                                                                                           id_0
                                                                                           #f)
                                                                                          prim-knowns_0
                                                                                          imports_0
                                                                                          exports_1
                                                                                          serializable?-box_0)))
                                                                                    (if (not
                                                                                         (set!ed-mutated-state?
                                                                                          (hash-ref
                                                                                           mutated_0
                                                                                           id_0
                                                                                           #f)))
                                                                                      (let ((ext-id_0
                                                                                             (ex-ext-id_0
                                                                                              ex-id_0)))
                                                                                        (hash-set
                                                                                         knowns_2
                                                                                         ext-id_0
                                                                                         (if v_0
                                                                                           v_0
                                                                                           a-known-constant)))
                                                                                      knowns_2)))))
                                                                           (values
                                                                            knowns_3))))
                                                                    (for-loop_0
                                                                     knowns_3
                                                                     rest_0))))
                                                              knowns_2)))))
                                                       (for-loop_0
                                                        knowns_1
                                                        ex-ids_0))))))))))))))))))))))
                 (error 'match "failed ~e" lk_0))))))))))
(define schemify-body
  (lambda (l_0
           prim-knowns_0
           primitives_0
           imports_0
           exports_0
           target_0
           unsafe-mode?_0
           no-prompt?_0
           explicit-unnamed?_0)
    (with-continuation-mark*
     authentic
     parameterization-key
     (let ((app_0 (continuation-mark-set-first #f parameterization-key)))
       (extend-parameterization app_0 gensym-counter (box 0)))
     (call-with-values
      (lambda ()
        (schemify-body*
         l_0
         prim-knowns_0
         primitives_0
         imports_0
         exports_0
         #f
         #f
         #f
         (lambda (im_0 ext-id_0 index_0) #f)
         target_0
         unsafe-mode?_0
         #t
         #t
         no-prompt?_0
         explicit-unnamed?_0
         (lambda (v_0) #f)))
      (lambda (new-body_0 defn-info_0 mutated_0) new-body_0)))))
(define schemify-body*
  (lambda (l_0
           prim-knowns_0
           primitives_0
           imports_0
           exports_0
           serializable?-box_0
           datum-intern?_0
           allow-set!-undefined?_0
           add-import!_0
           target_0
           unsafe-mode?_0
           enforce-constant?_0
           allow-inline?_0
           no-prompt?_0
           explicit-unnamed?_0
           compiler-query_0)
    (let ((extra-variables_0 (make-hasheq)))
      (let ((add-extra-variables_0
             (|#%name|
              add-extra-variables
              (lambda (l_1)
                (append
                 (reverse$1
                  (letrec*
                   ((for-loop_0
                     (|#%name|
                      for-loop
                      (lambda (fold-var_0 i_0)
                        (if i_0
                          (call-with-values
                           (lambda ()
                             (hash-iterate-key+value extra-variables_0 i_0))
                           (lambda (int-id_0 ex_0)
                             (let ((fold-var_1
                                    (let ((fold-var_1
                                           (cons
                                            (list
                                             'define
                                             (export-id ex_0)
                                             (list
                                              'make-internal-variable
                                              (list 'quote int-id_0)))
                                            fold-var_0)))
                                      (values fold-var_1))))
                               (for-loop_0
                                fold-var_1
                                (hash-iterate-next extra-variables_0 i_0)))))
                          fold-var_0)))))
                   (for-loop_0 null (hash-iterate-first extra-variables_0))))
                 l_1)))))
        (let ((simples_0 (make-hasheq)))
          (let ((mutated_0
                 (mutated-in-body
                  l_0
                  exports_0
                  extra-variables_0
                  prim-knowns_0
                  (hasheq)
                  imports_0
                  simples_0
                  unsafe-mode?_0
                  target_0
                  enforce-constant?_0)))
            (let ((knowns_0 (hasheq)))
              (let ((knowns_1
                     (let ((knowns_1 knowns_0))
                       (letrec*
                        ((for-loop_0
                          (|#%name|
                           for-loop
                           (lambda (knowns_2 lst_0)
                             (if (pair? lst_0)
                               (let ((form_0 (unsafe-car lst_0)))
                                 (let ((rest_0 (unsafe-cdr lst_0)))
                                   (let ((knowns_3
                                          (let ((knowns_3
                                                 (call-with-values
                                                  (lambda ()
                                                    (find-definitions.1
                                                     compiler-query_0
                                                     #t
                                                     primitives_0
                                                     form_0
                                                     prim-knowns_0
                                                     knowns_2
                                                     imports_0
                                                     mutated_0
                                                     simples_0
                                                     unsafe-mode?_0
                                                     target_0))
                                                  (lambda (new-knowns_0 info_0)
                                                    new-knowns_0))))
                                            (values knowns_3))))
                                     (for-loop_0 knowns_3 rest_0))))
                               knowns_2)))))
                        (for-loop_0 knowns_1 l_0)))))
                (let ((final-knowns_0 knowns_1))
                  (let ((schemified_0
                         (letrec*
                          ((loop_0
                            (|#%name|
                             loop
                             (lambda (l_1
                                      in-mut-l_0
                                      accum-exprs_0
                                      accum-ids_0
                                      knowns_2)
                               (let ((mut-l_0
                                      (update-mutated-state!
                                       l_1
                                       in-mut-l_0
                                       mutated_0)))
                                 (let ((make-set-variables_0
                                        (|#%name|
                                         make-set-variables
                                         (lambda ()
                                           (if (let ((or-part_0
                                                      (eq? target_0 'cify)))
                                                 (if or-part_0
                                                   or-part_0
                                                   (eq? target_0 'interp)))
                                             (reverse$1
                                              (letrec*
                                               ((for-loop_0
                                                 (|#%name|
                                                  for-loop
                                                  (lambda (fold-var_0 lst_0)
                                                    (if (pair? lst_0)
                                                      (let ((id_0
                                                             (unsafe-car
                                                              lst_0)))
                                                        (let ((rest_0
                                                               (unsafe-cdr
                                                                lst_0)))
                                                          (let ((fold-var_1
                                                                 (if (let ((or-part_0
                                                                            (hash-ref
                                                                             exports_0
                                                                             (unwrap
                                                                              id_0)
                                                                             #f)))
                                                                       (if or-part_0
                                                                         or-part_0
                                                                         (hash-ref
                                                                          extra-variables_0
                                                                          (unwrap
                                                                           id_0)
                                                                          #f)))
                                                                   (let ((fold-var_1
                                                                          (cons
                                                                           (make-set-variable
                                                                            id_0
                                                                            exports_0
                                                                            knowns_2
                                                                            mutated_0
                                                                            extra-variables_0)
                                                                           fold-var_0)))
                                                                     (values
                                                                      fold-var_1))
                                                                   fold-var_0)))
                                                            (for-loop_0
                                                             fold-var_1
                                                             rest_0))))
                                                      fold-var_0)))))
                                               (for-loop_0 null accum-ids_0)))
                                             (letrec*
                                              ((loop_1
                                                (|#%name|
                                                 loop
                                                 (lambda (accum-ids_1
                                                          consistent-ids_0)
                                                   (if (null? accum-ids_1)
                                                     (make-set-consistent-variables
                                                      consistent-ids_0
                                                      exports_0
                                                      knowns_2
                                                      mutated_0
                                                      extra-variables_0)
                                                     (let ((id_0
                                                            (car accum-ids_1)))
                                                       (let ((u-id_0
                                                              (unwrap id_0)))
                                                         (if (let ((or-part_0
                                                                    (hash-ref
                                                                     exports_0
                                                                     u-id_0
                                                                     #f)))
                                                               (if or-part_0
                                                                 or-part_0
                                                                 (hash-ref
                                                                  extra-variables_0
                                                                  u-id_0
                                                                  #f)))
                                                           (if (eq?
                                                                'consistent
                                                                (variable-constance
                                                                 u-id_0
                                                                 knowns_2
                                                                 mutated_0))
                                                             (let ((app_0
                                                                    (cdr
                                                                     accum-ids_1)))
                                                               (loop_1
                                                                app_0
                                                                (cons
                                                                 id_0
                                                                 consistent-ids_0)))
                                                             (let ((app_0
                                                                    (make-set-consistent-variables
                                                                     consistent-ids_0
                                                                     exports_0
                                                                     knowns_2
                                                                     mutated_0
                                                                     extra-variables_0)))
                                                               (append
                                                                app_0
                                                                (let ((app_1
                                                                       (make-set-variable
                                                                        id_0
                                                                        exports_0
                                                                        knowns_2
                                                                        mutated_0
                                                                        extra-variables_0)))
                                                                  (cons
                                                                   app_1
                                                                   (loop_1
                                                                    (cdr
                                                                     accum-ids_1)
                                                                    '()))))))
                                                           (loop_1
                                                            (cdr accum-ids_1)
                                                            consistent-ids_0)))))))))
                                              (loop_1 accum-ids_0 null)))))))
                                   (let ((make-expr-defns_0
                                          (|#%name|
                                           make-expr-defns
                                           (lambda (es_0)
                                             (if (let ((or-part_0
                                                        (eq? target_0 'cify)))
                                                   (if or-part_0
                                                     or-part_0
                                                     (eq? target_0 'interp)))
                                               (reverse$1 es_0)
                                               (reverse$1
                                                (let ((lst_0 (reverse$1 es_0)))
                                                  (letrec*
                                                   ((for-loop_0
                                                     (|#%name|
                                                      for-loop
                                                      (lambda (fold-var_0
                                                               lst_1)
                                                        (if (pair? lst_1)
                                                          (let ((e_0
                                                                 (unsafe-car
                                                                  lst_1)))
                                                            (let ((rest_0
                                                                   (unsafe-cdr
                                                                    lst_1)))
                                                              (let ((fold-var_1
                                                                     (let ((fold-var_1
                                                                            (cons
                                                                             (make-expr-defn
                                                                              e_0)
                                                                             fold-var_0)))
                                                                       (values
                                                                        fold-var_1))))
                                                                (for-loop_0
                                                                 fold-var_1
                                                                 rest_0))))
                                                          fold-var_0)))))
                                                   (for-loop_0
                                                    null
                                                    lst_0)))))))))
                                     (if (null? l_1)
                                       (begin
                                         (set! final-knowns_0 knowns_2)
                                         (let ((set-vars_0
                                                (make-set-variables_0)))
                                           (if (null? set-vars_0)
                                             (if (null? accum-exprs_0)
                                               '((void))
                                               (reverse$1 accum-exprs_0))
                                             (reverse$1
                                              (append
                                               set-vars_0
                                               accum-exprs_0)))))
                                       (let ((form_0 (car l_1)))
                                         (let ((schemified_0
                                                (schemify
                                                 form_0
                                                 prim-knowns_0
                                                 primitives_0
                                                 knowns_2
                                                 mutated_0
                                                 imports_0
                                                 exports_0
                                                 extra-variables_0
                                                 simples_0
                                                 allow-set!-undefined?_0
                                                 add-import!_0
                                                 serializable?-box_0
                                                 datum-intern?_0
                                                 target_0
                                                 unsafe-mode?_0
                                                 allow-inline?_0
                                                 no-prompt?_0
                                                 explicit-unnamed?_0
                                                 compiler-query_0
                                                 (if (if no-prompt?_0
                                                       (null? (cdr l_1))
                                                       #f)
                                                   'tail
                                                   'fresh))))
                                           (let ((finish-definition_0
                                                  (|#%name|
                                                   finish-definition
                                                   (lambda (knowns17_0
                                                            next-k19_0
                                                            schemified18_0
                                                            ids25_0
                                                            accum-exprs23_0
                                                            accum-ids24_0)
                                                     (let ((accum-exprs_1
                                                            (if (eq?
                                                                 accum-exprs23_0
                                                                 unsafe-undefined)
                                                              accum-exprs_0
                                                              accum-exprs23_0)))
                                                       (let ((accum-ids_1
                                                              (if (eq?
                                                                   accum-ids24_0
                                                                   unsafe-undefined)
                                                                accum-ids_0
                                                                accum-ids24_0)))
                                                         (let ((knowns_3
                                                                (if (eq?
                                                                     knowns17_0
                                                                     unsafe-undefined)
                                                                  knowns_2
                                                                  knowns17_0)))
                                                           (let ((schemified_1
                                                                  (if (eq?
                                                                       schemified18_0
                                                                       unsafe-undefined)
                                                                    schemified_0
                                                                    schemified18_0)))
                                                             (let ((next-knowns_0
                                                                    (if (if (pair?
                                                                             ids25_0)
                                                                          (if (null?
                                                                               (cdr
                                                                                ids25_0))
                                                                            (can-improve-infer-known?
                                                                             (hash-ref
                                                                              knowns_3
                                                                              (unwrap
                                                                               (car
                                                                                ids25_0))
                                                                              #f))
                                                                            #f)
                                                                          #f)
                                                                      (let ((id_0
                                                                             (car
                                                                              ids25_0)))
                                                                        (let ((k_0
                                                                               (let ((hd_0
                                                                                      (let ((p_0
                                                                                             (unwrap
                                                                                              schemified_1)))
                                                                                        (if (pair?
                                                                                             p_0)
                                                                                          (unwrap
                                                                                           (car
                                                                                            p_0))
                                                                                          #f))))
                                                                                 (if (if (eq?
                                                                                          'define
                                                                                          hd_0)
                                                                                       (let ((a_0
                                                                                              (cdr
                                                                                               (unwrap
                                                                                                schemified_1))))
                                                                                         (let ((p_0
                                                                                                (unwrap
                                                                                                 a_0)))
                                                                                           (if (pair?
                                                                                                p_0)
                                                                                             (let ((a_1
                                                                                                    (cdr
                                                                                                     p_0)))
                                                                                               (let ((p_1
                                                                                                      (unwrap
                                                                                                       a_1)))
                                                                                                 (if (pair?
                                                                                                      p_1)
                                                                                                   (let ((a_2
                                                                                                          (cdr
                                                                                                           p_1)))
                                                                                                     (let ((app_0
                                                                                                            (unwrap
                                                                                                             '())))
                                                                                                       (eq?
                                                                                                        app_0
                                                                                                        (unwrap
                                                                                                         a_2))))
                                                                                                   #f)))
                                                                                             #f)))
                                                                                       #f)
                                                                                   (call-with-values
                                                                                    (lambda ()
                                                                                      (let ((d_0
                                                                                             (cdr
                                                                                              (unwrap
                                                                                               schemified_1))))
                                                                                        (let ((p_0
                                                                                               (unwrap
                                                                                                d_0)))
                                                                                          (let ((id_1
                                                                                                 (let ((a_0
                                                                                                        (car
                                                                                                         p_0)))
                                                                                                   a_0)))
                                                                                            (let ((rhs_0
                                                                                                   (let ((d_1
                                                                                                          (cdr
                                                                                                           p_0)))
                                                                                                     (let ((a_0
                                                                                                            (car
                                                                                                             (unwrap
                                                                                                              d_1))))
                                                                                                       a_0))))
                                                                                              (let ((id_2
                                                                                                     id_1))
                                                                                                (values
                                                                                                 id_2
                                                                                                 rhs_0)))))))
                                                                                    (lambda (id_1
                                                                                             rhs_0)
                                                                                      (infer-known.1
                                                                                       unsafe-undefined
                                                                                       #f
                                                                                       #t
                                                                                       rhs_0
                                                                                       id_1
                                                                                       knowns_3
                                                                                       prim-knowns_0
                                                                                       imports_0
                                                                                       mutated_0
                                                                                       simples_0
                                                                                       unsafe-mode?_0
                                                                                       target_0)))
                                                                                   (error
                                                                                    'match
                                                                                    "failed ~e"
                                                                                    schemified_1)))))
                                                                          (if k_0
                                                                            (hash-set
                                                                             knowns_3
                                                                             (unwrap
                                                                              id_0)
                                                                             k_0)
                                                                            knowns_3)))
                                                                      knowns_3)))
                                                               (let ((app_0
                                                                      (make-expr-defns_0
                                                                       accum-exprs_1)))
                                                                 (append
                                                                  app_0
                                                                  (cons
                                                                   schemified_1
                                                                   (letrec*
                                                                    ((id-loop_0
                                                                      (|#%name|
                                                                       id-loop
                                                                       (lambda (ids_0
                                                                                accum-exprs_2
                                                                                accum-ids_2)
                                                                         (if (null?
                                                                              ids_0)
                                                                           (if next-k19_0
                                                                             (|#%app|
                                                                              next-k19_0
                                                                              accum-exprs_2
                                                                              accum-ids_2
                                                                              next-knowns_0)
                                                                             (loop_0
                                                                              (cdr
                                                                               l_1)
                                                                              mut-l_0
                                                                              accum-exprs_2
                                                                              accum-ids_2
                                                                              next-knowns_0))
                                                                           (if (let ((or-part_0
                                                                                      (eq?
                                                                                       target_0
                                                                                       'interp)))
                                                                                 (let ((or-part_1
                                                                                        (if or-part_0
                                                                                          or-part_0
                                                                                          (eq?
                                                                                           target_0
                                                                                           'cify))))
                                                                                   (if or-part_1
                                                                                     or-part_1
                                                                                     (via-variable-mutated-state?
                                                                                      (hash-ref
                                                                                       mutated_0
                                                                                       (unwrap
                                                                                        (car
                                                                                         ids_0))
                                                                                       #f)))))
                                                                             (let ((id_0
                                                                                    (unwrap
                                                                                     (car
                                                                                      ids_0))))
                                                                               (if (let ((or-part_0
                                                                                          (hash-ref
                                                                                           exports_0
                                                                                           id_0
                                                                                           #f)))
                                                                                     (if or-part_0
                                                                                       or-part_0
                                                                                       (hash-ref
                                                                                        extra-variables_0
                                                                                        id_0
                                                                                        #f)))
                                                                                 (let ((app_1
                                                                                        (cdr
                                                                                         ids_0)))
                                                                                   (id-loop_0
                                                                                    app_1
                                                                                    (cons
                                                                                     (make-set-variable
                                                                                      id_0
                                                                                      exports_0
                                                                                      knowns_3
                                                                                      mutated_0
                                                                                      extra-variables_0)
                                                                                     accum-exprs_2)
                                                                                    accum-ids_2))
                                                                                 (id-loop_0
                                                                                  (cdr
                                                                                   ids_0)
                                                                                  accum-exprs_2
                                                                                  accum-ids_2)))
                                                                             (let ((app_1
                                                                                    (cdr
                                                                                     ids_0)))
                                                                               (id-loop_0
                                                                                app_1
                                                                                accum-exprs_2
                                                                                (cons
                                                                                 (car
                                                                                  ids_0)
                                                                                 accum-ids_2)))))))))
                                                                    (id-loop_0
                                                                     ids25_0
                                                                     null
                                                                     accum-ids_1))))))))))))))
                                             (let ((finish-wrapped-definition_0
                                                    (|#%name|
                                                     finish-wrapped-definition
                                                     (lambda (ids_0 rhs_0)
                                                       (let ((app_0
                                                              (make-expr-defns_0
                                                               accum-exprs_0)))
                                                         (let ((app_1
                                                                (make-expr-defns_0
                                                                 (make-set-variables_0))))
                                                           (append
                                                            app_0
                                                            app_1
                                                            (if no-prompt?_0
                                                              (let ((app_2
                                                                     (if (if unsafe-mode?_0
                                                                           unsafe-mode?_0
                                                                           (let ((or-part_0
                                                                                  (eq?
                                                                                   target_0
                                                                                   'system)))
                                                                             (if or-part_0
                                                                               or-part_0
                                                                               (if (pair?
                                                                                    ids_0)
                                                                                 (null?
                                                                                  (cdr
                                                                                   ids_0))
                                                                                 #f))))
                                                                       schemified_0
                                                                       (list
                                                                        'define-values
                                                                        ids_0
                                                                        (list
                                                                         'call-with-values
                                                                         (list
                                                                          'lambda
                                                                          '()
                                                                          rhs_0)
                                                                         (list
                                                                          'case-lambda
                                                                          (list
                                                                           ids_0
                                                                           (list*
                                                                            'values
                                                                            ids_0))
                                                                          (list
                                                                           'vals
                                                                           (list*
                                                                            'raise-definition-result-arity-error
                                                                            (list
                                                                             'quote
                                                                             ids_0)
                                                                            '(vals)))))))))
                                                                (cons
                                                                 app_2
                                                                 (let ((app_3
                                                                        (cdr
                                                                         l_1)))
                                                                   (loop_0
                                                                    app_3
                                                                    mut-l_0
                                                                    null
                                                                    (reverse$1
                                                                     ids_0)
                                                                    knowns_2))))
                                                              (let ((app_2
                                                                     (list
                                                                      'lambda
                                                                      '()
                                                                      rhs_0)))
                                                                (let ((expr_0
                                                                       (let ((app_3
                                                                              (list
                                                                               'quote
                                                                               ids_0)))
                                                                         (let ((app_4
                                                                                (list
                                                                                 'quote
                                                                                 (reverse$1
                                                                                  (letrec*
                                                                                   ((for-loop_0
                                                                                     (|#%name|
                                                                                      for-loop
                                                                                      (lambda (fold-var_0
                                                                                               lst_0)
                                                                                        (if (pair?
                                                                                             lst_0)
                                                                                          (let ((id_0
                                                                                                 (unsafe-car
                                                                                                  lst_0)))
                                                                                            (let ((rest_0
                                                                                                   (unsafe-cdr
                                                                                                    lst_0)))
                                                                                              (let ((fold-var_1
                                                                                                     (let ((fold-var_1
                                                                                                            (cons
                                                                                                             (variable-constance
                                                                                                              (unwrap
                                                                                                               id_0)
                                                                                                              knowns_2
                                                                                                              mutated_0)
                                                                                                             fold-var_0)))
                                                                                                       (values
                                                                                                        fold-var_1))))
                                                                                                (for-loop_0
                                                                                                 fold-var_1
                                                                                                 rest_0))))
                                                                                          fold-var_0)))))
                                                                                   (for-loop_0
                                                                                    null
                                                                                    ids_0))))))
                                                                           (list*
                                                                            'call-with-module-prompt
                                                                            app_2
                                                                            app_3
                                                                            app_4
                                                                            (reverse$1
                                                                             (letrec*
                                                                              ((for-loop_0
                                                                                (|#%name|
                                                                                 for-loop
                                                                                 (lambda (fold-var_0
                                                                                          lst_0)
                                                                                   (if (pair?
                                                                                        lst_0)
                                                                                     (let ((id_0
                                                                                            (unsafe-car
                                                                                             lst_0)))
                                                                                       (let ((rest_0
                                                                                              (unsafe-cdr
                                                                                               lst_0)))
                                                                                         (let ((fold-var_1
                                                                                                (let ((fold-var_1
                                                                                                       (cons
                                                                                                        (id-to-variable
                                                                                                         (unwrap
                                                                                                          id_0)
                                                                                                         exports_0
                                                                                                         extra-variables_0)
                                                                                                        fold-var_0)))
                                                                                                  (values
                                                                                                   fold-var_1))))
                                                                                           (for-loop_0
                                                                                            fold-var_1
                                                                                            rest_0))))
                                                                                     fold-var_0)))))
                                                                              (for-loop_0
                                                                               null
                                                                               ids_0))))))))
                                                                  (let ((defns_0
                                                                         (reverse$1
                                                                          (letrec*
                                                                           ((for-loop_0
                                                                             (|#%name|
                                                                              for-loop
                                                                              (lambda (fold-var_0
                                                                                       lst_0)
                                                                                (if (pair?
                                                                                     lst_0)
                                                                                  (let ((id_0
                                                                                         (unsafe-car
                                                                                          lst_0)))
                                                                                    (let ((rest_0
                                                                                           (unsafe-cdr
                                                                                            lst_0)))
                                                                                      (let ((fold-var_1
                                                                                             (let ((fold-var_1
                                                                                                    (cons
                                                                                                     (make-define-variable
                                                                                                      id_0
                                                                                                      exports_0
                                                                                                      knowns_2
                                                                                                      mutated_0
                                                                                                      extra-variables_0)
                                                                                                     fold-var_0)))
                                                                                               (values
                                                                                                fold-var_1))))
                                                                                        (for-loop_0
                                                                                         fold-var_1
                                                                                         rest_0))))
                                                                                  fold-var_0)))))
                                                                           (for-loop_0
                                                                            null
                                                                            ids_0)))))
                                                                    (let ((app_3
                                                                           (if (eq?
                                                                                target_0
                                                                                'interp)
                                                                             expr_0
                                                                             (make-expr-defn
                                                                              expr_0))))
                                                                      (cons
                                                                       app_3
                                                                       (append
                                                                        defns_0
                                                                        (loop_0
                                                                         (cdr
                                                                          l_1)
                                                                         mut-l_0
                                                                         null
                                                                         null
                                                                         knowns_2)))))))))))))))
                                               (let ((hd_0
                                                      (let ((p_0
                                                             (unwrap
                                                              schemified_0)))
                                                        (if (pair? p_0)
                                                          (unwrap (car p_0))
                                                          #f))))
                                                 (if (if (eq? 'define hd_0)
                                                       (let ((a_0
                                                              (cdr
                                                               (unwrap
                                                                schemified_0))))
                                                         (let ((p_0
                                                                (unwrap a_0)))
                                                           (if (pair? p_0)
                                                             (let ((a_1
                                                                    (cdr p_0)))
                                                               (let ((p_1
                                                                      (unwrap
                                                                       a_1)))
                                                                 (if (pair?
                                                                      p_1)
                                                                   (let ((a_2
                                                                          (cdr
                                                                           p_1)))
                                                                     (let ((app_0
                                                                            (unwrap
                                                                             '())))
                                                                       (eq?
                                                                        app_0
                                                                        (unwrap
                                                                         a_2))))
                                                                   #f)))
                                                             #f)))
                                                       #f)
                                                   (call-with-values
                                                    (lambda ()
                                                      (let ((d_0
                                                             (cdr
                                                              (unwrap
                                                               schemified_0))))
                                                        (let ((p_0
                                                               (unwrap d_0)))
                                                          (let ((id_0
                                                                 (let ((a_0
                                                                        (car
                                                                         p_0)))
                                                                   a_0)))
                                                            (let ((rhs_0
                                                                   (let ((d_1
                                                                          (cdr
                                                                           p_0)))
                                                                     (let ((a_0
                                                                            (car
                                                                             (unwrap
                                                                              d_1))))
                                                                       a_0))))
                                                              (let ((id_1
                                                                     id_0))
                                                                (values
                                                                 id_1
                                                                 rhs_0)))))))
                                                    (lambda (id_0 rhs_0)
                                                      (if (simple?.1
                                                           #f
                                                           #f
                                                           #f
                                                           1
                                                           #f
                                                           rhs_0
                                                           prim-knowns_0
                                                           knowns_2
                                                           imports_0
                                                           mutated_0
                                                           simples_0
                                                           unsafe-mode?_0)
                                                        (let ((temp45_0
                                                               (list id_0)))
                                                          (finish-definition_0
                                                           unsafe-undefined
                                                           #f
                                                           unsafe-undefined
                                                           temp45_0
                                                           unsafe-undefined
                                                           unsafe-undefined))
                                                        (finish-wrapped-definition_0
                                                         (list id_0)
                                                         rhs_0))))
                                                   (if (if (eq?
                                                            'define-values
                                                            hd_0)
                                                         (let ((a_0
                                                                (cdr
                                                                 (unwrap
                                                                  schemified_0))))
                                                           (let ((p_0
                                                                  (unwrap
                                                                   a_0)))
                                                             (if (pair? p_0)
                                                               (let ((a_1
                                                                      (cdr
                                                                       p_0)))
                                                                 (let ((p_1
                                                                        (unwrap
                                                                         a_1)))
                                                                   (if (pair?
                                                                        p_1)
                                                                     (let ((a_2
                                                                            (cdr
                                                                             p_1)))
                                                                       (let ((app_0
                                                                              (unwrap
                                                                               '())))
                                                                         (eq?
                                                                          app_0
                                                                          (unwrap
                                                                           a_2))))
                                                                     #f)))
                                                               #f)))
                                                         #f)
                                                     (call-with-values
                                                      (lambda ()
                                                        (let ((d_0
                                                               (cdr
                                                                (unwrap
                                                                 schemified_0))))
                                                          (let ((p_0
                                                                 (unwrap d_0)))
                                                            (let ((ids_0
                                                                   (let ((a_0
                                                                          (car
                                                                           p_0)))
                                                                     a_0)))
                                                              (let ((rhs_0
                                                                     (let ((d_1
                                                                            (cdr
                                                                             p_0)))
                                                                       (let ((a_0
                                                                              (car
                                                                               (unwrap
                                                                                d_1))))
                                                                         a_0))))
                                                                (let ((ids_1
                                                                       ids_0))
                                                                  (values
                                                                   ids_1
                                                                   rhs_0)))))))
                                                      (lambda (ids_0 rhs_0)
                                                        (if (let ((temp54_0
                                                                   (length
                                                                    ids_0)))
                                                              (simple?.1
                                                               #f
                                                               #f
                                                               #f
                                                               temp54_0
                                                               #f
                                                               rhs_0
                                                               prim-knowns_0
                                                               knowns_2
                                                               imports_0
                                                               mutated_0
                                                               simples_0
                                                               unsafe-mode?_0))
                                                          (let ((hd_1
                                                                 (let ((p_0
                                                                        (unwrap
                                                                         rhs_0)))
                                                                   (if (pair?
                                                                        p_0)
                                                                     (unwrap
                                                                      (car
                                                                       p_0))
                                                                     #f))))
                                                            (if (if (eq?
                                                                     'values
                                                                     hd_1)
                                                                  (let ((a_0
                                                                         (cdr
                                                                          (unwrap
                                                                           rhs_0))))
                                                                    (wrap-list?
                                                                     a_0))
                                                                  #f)
                                                              (let ((rhss_0
                                                                     (let ((d_0
                                                                            (cdr
                                                                             (unwrap
                                                                              rhs_0))))
                                                                       (unwrap-list
                                                                        d_0))))
                                                                (if (if (let ((app_0
                                                                               (length
                                                                                rhss_0)))
                                                                          (=
                                                                           app_0
                                                                           (length
                                                                            ids_0)))
                                                                      (letrec*
                                                                       ((for-loop_0
                                                                         (|#%name|
                                                                          for-loop
                                                                          (lambda (result_0
                                                                                   lst_0)
                                                                            (if (pair?
                                                                                 lst_0)
                                                                              (let ((rhs_1
                                                                                     (unsafe-car
                                                                                      lst_0)))
                                                                                (let ((rest_0
                                                                                       (unsafe-cdr
                                                                                        lst_0)))
                                                                                  (let ((result_1
                                                                                         (let ((result_1
                                                                                                (simple?.1
                                                                                                 #f
                                                                                                 #t
                                                                                                 #t
                                                                                                 1
                                                                                                 #f
                                                                                                 rhs_1
                                                                                                 prim-knowns_0
                                                                                                 knowns_2
                                                                                                 imports_0
                                                                                                 mutated_0
                                                                                                 simples_0
                                                                                                 unsafe-mode?_0)))
                                                                                           (values
                                                                                            result_1))))
                                                                                    (if (if (not
                                                                                             (let ((x_0
                                                                                                    (list
                                                                                                     rhs_1)))
                                                                                               (not
                                                                                                result_1)))
                                                                                          #t
                                                                                          #f)
                                                                                      (for-loop_0
                                                                                       result_1
                                                                                       rest_0)
                                                                                      result_1))))
                                                                              result_0)))))
                                                                       (for-loop_0
                                                                        #t
                                                                        rhss_0))
                                                                      #f)
                                                                  (letrec*
                                                                   ((values-loop_0
                                                                     (|#%name|
                                                                      values-loop
                                                                      (lambda (ids_1
                                                                               rhss_1
                                                                               accum-exprs_1
                                                                               accum-ids_1
                                                                               knowns_3)
                                                                        (if (null?
                                                                             ids_1)
                                                                          (loop_0
                                                                           (cdr
                                                                            l_1)
                                                                           mut-l_0
                                                                           accum-exprs_1
                                                                           accum-ids_1
                                                                           knowns_3)
                                                                          (let ((id_0
                                                                                 (car
                                                                                  ids_1)))
                                                                            (let ((rhs_1
                                                                                   (car
                                                                                    rhss_1)))
                                                                              (let ((temp63_0
                                                                                     (list
                                                                                      id_0)))
                                                                                (let ((temp67_0
                                                                                       (list
                                                                                        'define
                                                                                        id_0
                                                                                        rhs_1)))
                                                                                  (let ((temp68_0
                                                                                         (lambda (accum-exprs_2
                                                                                                  accum-ids_2
                                                                                                  knowns_4)
                                                                                           (let ((app_0
                                                                                                  (cdr
                                                                                                   ids_1)))
                                                                                             (values-loop_0
                                                                                              app_0
                                                                                              (cdr
                                                                                               rhss_1)
                                                                                              accum-exprs_2
                                                                                              accum-ids_2
                                                                                              knowns_4)))))
                                                                                    (finish-definition_0
                                                                                     knowns_3
                                                                                     temp68_0
                                                                                     temp67_0
                                                                                     temp63_0
                                                                                     accum-exprs_1
                                                                                     accum-ids_1)))))))))))
                                                                   (values-loop_0
                                                                    ids_0
                                                                    rhss_0
                                                                    accum-exprs_0
                                                                    accum-ids_0
                                                                    knowns_2))
                                                                  (finish-definition_0
                                                                   unsafe-undefined
                                                                   #f
                                                                   unsafe-undefined
                                                                   ids_0
                                                                   unsafe-undefined
                                                                   unsafe-undefined)))
                                                              (finish-definition_0
                                                               unsafe-undefined
                                                               #f
                                                               unsafe-undefined
                                                               ids_0
                                                               unsafe-undefined
                                                               unsafe-undefined)))
                                                          (finish-wrapped-definition_0
                                                           ids_0
                                                           rhs_0))))
                                                     (if (if (if (eq?
                                                                  'quote
                                                                  hd_0)
                                                               (let ((a_0
                                                                      (cdr
                                                                       (unwrap
                                                                        schemified_0))))
                                                                 (let ((p_0
                                                                        (unwrap
                                                                         a_0)))
                                                                   (if (pair?
                                                                        p_0)
                                                                     (let ((a_1
                                                                            (cdr
                                                                             p_0)))
                                                                       (let ((app_0
                                                                              (unwrap
                                                                               '())))
                                                                         (eq?
                                                                          app_0
                                                                          (unwrap
                                                                           a_1))))
                                                                     #f)))
                                                               #f)
                                                           (let ((or-part_0
                                                                  (pair?
                                                                   (cdr l_1))))
                                                             (if or-part_0
                                                               or-part_0
                                                               (pair?
                                                                accum-ids_0)))
                                                           #f)
                                                       (loop_0
                                                        (cdr l_1)
                                                        mut-l_0
                                                        accum-exprs_0
                                                        accum-ids_0
                                                        knowns_2)
                                                       (let ((hd_1
                                                              (let ((p_0
                                                                     (unwrap
                                                                      form_0)))
                                                                (if (pair? p_0)
                                                                  (unwrap
                                                                   (car p_0))
                                                                  #f))))
                                                         (if (if (eq?
                                                                  'define-values
                                                                  hd_1)
                                                               (let ((a_0
                                                                      (cdr
                                                                       (unwrap
                                                                        form_0))))
                                                                 (let ((p_0
                                                                        (unwrap
                                                                         a_0)))
                                                                   (if (pair?
                                                                        p_0)
                                                                     (let ((a_1
                                                                            (cdr
                                                                             p_0)))
                                                                       (let ((p_1
                                                                              (unwrap
                                                                               a_1)))
                                                                         (if (pair?
                                                                              p_1)
                                                                           (let ((a_2
                                                                                  (cdr
                                                                                   p_1)))
                                                                             (let ((app_0
                                                                                    (unwrap
                                                                                     '())))
                                                                               (eq?
                                                                                app_0
                                                                                (unwrap
                                                                                 a_2))))
                                                                           #f)))
                                                                     #f)))
                                                               #f)
                                                           (let ((ids_0
                                                                  (let ((d_0
                                                                         (cdr
                                                                          (unwrap
                                                                           form_0))))
                                                                    (let ((a_0
                                                                           (car
                                                                            (unwrap
                                                                             d_0))))
                                                                      a_0))))
                                                             (let ((set-vars_0
                                                                    (make-set-variables_0)))
                                                               (let ((temp72_0
                                                                      (append
                                                                       set-vars_0
                                                                       accum-exprs_0)))
                                                                 (finish-definition_0
                                                                  unsafe-undefined
                                                                  #f
                                                                  unsafe-undefined
                                                                  ids_0
                                                                  temp72_0
                                                                  null))))
                                                           (if (simple?.1
                                                                #f
                                                                #f
                                                                #f
                                                                #f
                                                                #f
                                                                schemified_0
                                                                prim-knowns_0
                                                                knowns_2
                                                                imports_0
                                                                mutated_0
                                                                simples_0
                                                                unsafe-mode?_0)
                                                             (let ((app_0
                                                                    (cdr l_1)))
                                                               (loop_0
                                                                app_0
                                                                mut-l_0
                                                                (cons
                                                                 schemified_0
                                                                 accum-exprs_0)
                                                                accum-ids_0
                                                                knowns_2))
                                                             (let ((set-vars_0
                                                                    (make-set-variables_0)))
                                                               (let ((expr_0
                                                                      (if no-prompt?_0
                                                                        schemified_0
                                                                        (list
                                                                         'call-with-module-prompt
                                                                         (list
                                                                          'lambda
                                                                          '()
                                                                          schemified_0)))))
                                                                 (let ((app_0
                                                                        (cdr
                                                                         l_1)))
                                                                   (loop_0
                                                                    app_0
                                                                    mut-l_0
                                                                    (cons
                                                                     expr_0
                                                                     (append
                                                                      set-vars_0
                                                                      accum-exprs_0))
                                                                    null
                                                                    knowns_2)))))))))))))))))))))))
                          (loop_0 l_0 l_0 null null knowns_1))))
                    (let ((app_0 (add-extra-variables_0 schemified_0)))
                      (values app_0 final-knowns_0 mutated_0))))))))))))
(define make-set-variable
  (let ((make-set-variable_0
         (|#%name|
          make-set-variable
          (lambda (id2_0 exports3_0 knowns4_0 mutated5_0 extra-variables1_0)
            (let ((int-id_0 (unwrap id2_0)))
              (let ((ex-id_0
                     (id-to-variable int-id_0 exports3_0 extra-variables1_0)))
                (list
                 'variable-set!/define
                 ex-id_0
                 id2_0
                 (list
                  'quote
                  (variable-constance int-id_0 knowns4_0 mutated5_0)))))))))
    (case-lambda
     ((id_0 exports_0 knowns_0 mutated_0)
      (make-set-variable_0 id_0 exports_0 knowns_0 mutated_0 #f))
     ((id_0 exports_0 knowns_0 mutated_0 extra-variables1_0)
      (make-set-variable_0
       id_0
       exports_0
       knowns_0
       mutated_0
       extra-variables1_0)))))
(define make-set-consistent-variables
  (lambda (ids_0 exports_0 knowns_0 mutated_0 extra-variables_0)
    (if (null? ids_0)
      null
      (if (null? (cdr ids_0))
        (list
         (make-set-variable
          (car ids_0)
          exports_0
          knowns_0
          mutated_0
          extra-variables_0))
        (let ((ex-ids_0
               (reverse$1
                (letrec*
                 ((for-loop_0
                   (|#%name|
                    for-loop
                    (lambda (fold-var_0 lst_0)
                      (if (pair? lst_0)
                        (let ((id_0 (unsafe-car lst_0)))
                          (let ((rest_0 (unsafe-cdr lst_0)))
                            (let ((fold-var_1
                                   (let ((fold-var_1
                                          (cons
                                           (id-to-variable
                                            (unwrap id_0)
                                            exports_0
                                            extra-variables_0)
                                           fold-var_0)))
                                     (values fold-var_1))))
                              (for-loop_0 fold-var_1 rest_0))))
                        fold-var_0)))))
                 (for-loop_0 null ids_0)))))
          (list
           (list
            'set-consistent-variables!/define
            (list* 'vector ex-ids_0)
            (list* 'vector ids_0))))))))
(define make-define-variable
  (lambda (id_0 exports_0 knowns_0 mutated_0 extra-variables_0)
    (let ((int-id_0 (unwrap id_0)))
      (let ((ex_0
             (let ((or-part_0 (hash-ref exports_0 int-id_0 #f)))
               (if or-part_0
                 or-part_0
                 (hash-ref extra-variables_0 int-id_0)))))
        (list 'define id_0 (list 'variable-ref/no-check (export-id ex_0)))))))
(define make-expr-defn
  (lambda (expr_0)
    (let ((app_0 (deterministic-gensym "effect")))
      (list 'define app_0 (list* 'begin expr_0 '((void)))))))
(define variable-constance
  (lambda (id_0 knowns_0 mutated_0)
    (if (set!ed-mutated-state? (hash-ref mutated_0 id_0 #f))
      #f
      (if (known-consistent? (hash-ref knowns_0 id_0 #f))
        'consistent
        'constant))))
(define schemify
  (lambda (v_0
           prim-knowns_0
           primitives_0
           knowns_0
           mutated_0
           imports_0
           exports_0
           extra-variables_0
           simples_0
           allow-set!-undefined?_0
           add-import!_0
           serializable?-box_0
           datum-intern?_0
           target_0
           unsafe-mode?_0
           allow-inline?_0
           no-prompt?_0
           explicit-unnamed?_0
           compiler-query_0
           wcm-state_0)
    (letrec*
     ((schemify/knowns_0
       (|#%name|
        schemify/knowns
        (lambda (knowns_1 inline-fuel_0 wcm-state_1 unsafe-mode?_1 v_1)
          (letrec*
           ((schemify_0
             (|#%name|
              schemify
              (lambda (v84_0 wcm-state85_0 unsafe-mode?83_0)
                (let ((unsafe-mode?_2
                       (if (eq? unsafe-mode?83_0 unsafe-undefined)
                         unsafe-mode?_1
                         unsafe-mode?83_0)))
                  (let ((s-v_0
                         (reannotate
                          v84_0
                          (let ((hd_0
                                 (let ((p_0 (unwrap v84_0)))
                                   (if (pair? p_0) (unwrap (car p_0)) #f))))
                            (if (if (eq? 'lambda hd_0)
                                  (let ((a_0 (cdr (unwrap v84_0))))
                                    (let ((p_0 (unwrap a_0)))
                                      (if (pair? p_0)
                                        (let ((a_1 (cdr p_0)))
                                          (wrap-list? a_1))
                                        #f)))
                                  #f)
                              (call-with-values
                               (lambda ()
                                 (let ((d_0 (cdr (unwrap v84_0))))
                                   (let ((p_0 (unwrap d_0)))
                                     (let ((formals_0
                                            (let ((a_0 (car p_0))) a_0)))
                                       (let ((body_0
                                              (let ((d_1 (cdr p_0)))
                                                (unwrap-list d_1))))
                                         (let ((formals_1 formals_0))
                                           (values formals_1 body_0)))))))
                               (lambda (formals_0 body_0)
                                 (infer-procedure-name
                                  v84_0
                                  (list*
                                   'lambda
                                   formals_0
                                   (schemify-body_1
                                    (maybe-unsafe v84_0 body_0)
                                    'tail))
                                  explicit-unnamed?_0)))
                              (if (if (eq? 'case-lambda hd_0)
                                    (let ((a_0 (cdr (unwrap v84_0))))
                                      (if (wrap-list? a_0)
                                        (letrec*
                                         ((for-loop_0
                                           (|#%name|
                                            for-loop
                                            (lambda (result_0 lst_0)
                                              (if (not (null? (unwrap lst_0)))
                                                (let ((v_2
                                                       (if (pair?
                                                            (unwrap lst_0))
                                                         (wrap-car lst_0)
                                                         lst_0)))
                                                  (let ((rest_0
                                                         (if (pair?
                                                              (unwrap lst_0))
                                                           (wrap-cdr lst_0)
                                                           null)))
                                                    (let ((v_3 v_2))
                                                      (let ((result_1
                                                             (let ((result_1
                                                                    (let ((p_0
                                                                           (unwrap
                                                                            v_3)))
                                                                      (if (pair?
                                                                           p_0)
                                                                        (let ((a_1
                                                                               (cdr
                                                                                p_0)))
                                                                          (wrap-list?
                                                                           a_1))
                                                                        #f))))
                                                               (values
                                                                result_1))))
                                                        (if (if (not
                                                                 (let ((x_0
                                                                        (list
                                                                         v_3)))
                                                                   (not
                                                                    result_1)))
                                                              #t
                                                              #f)
                                                          (for-loop_0
                                                           result_1
                                                           rest_0)
                                                          result_1)))))
                                                result_0)))))
                                         (for-loop_0 #t a_0))
                                        #f))
                                    #f)
                                (call-with-values
                                 (lambda ()
                                   (let ((d_0 (cdr (unwrap v84_0))))
                                     (call-with-values
                                      (lambda ()
                                        (letrec*
                                         ((for-loop_0
                                           (|#%name|
                                            for-loop
                                            (lambda (formalss_0 bodys_0 lst_0)
                                              (if (not (null? (unwrap lst_0)))
                                                (let ((v_2
                                                       (if (pair?
                                                            (unwrap lst_0))
                                                         (wrap-car lst_0)
                                                         lst_0)))
                                                  (let ((rest_0
                                                         (if (pair?
                                                              (unwrap lst_0))
                                                           (wrap-cdr lst_0)
                                                           null)))
                                                    (let ((v_3 v_2))
                                                      (call-with-values
                                                       (lambda ()
                                                         (call-with-values
                                                          (lambda ()
                                                            (call-with-values
                                                             (lambda ()
                                                               (let ((p_0
                                                                      (unwrap
                                                                       v_3)))
                                                                 (let ((formalss_1
                                                                        (let ((a_0
                                                                               (car
                                                                                p_0)))
                                                                          a_0)))
                                                                   (let ((bodys_1
                                                                          (let ((d_1
                                                                                 (cdr
                                                                                  p_0)))
                                                                            (unwrap-list
                                                                             d_1))))
                                                                     (let ((formalss_2
                                                                            formalss_1))
                                                                       (values
                                                                        formalss_2
                                                                        bodys_1))))))
                                                             (lambda (formalss89_0
                                                                      bodys90_0)
                                                               (values
                                                                (cons
                                                                 formalss89_0
                                                                 formalss_0)
                                                                (cons
                                                                 bodys90_0
                                                                 bodys_0)))))
                                                          (lambda (formalss_1
                                                                   bodys_1)
                                                            (values
                                                             formalss_1
                                                             bodys_1))))
                                                       (lambda (formalss_1
                                                                bodys_1)
                                                         (for-loop_0
                                                          formalss_1
                                                          bodys_1
                                                          rest_0))))))
                                                (values
                                                 formalss_0
                                                 bodys_0))))))
                                         (for-loop_0 null null d_0)))
                                      (lambda (formalss_0 bodys_0)
                                        (let ((app_0 (reverse$1 formalss_0)))
                                          (values
                                           app_0
                                           (reverse$1 bodys_0)))))))
                                 (lambda (formalss_0 bodys_0)
                                   (infer-procedure-name
                                    v84_0
                                    (list*
                                     'case-lambda
                                     (reverse$1
                                      (letrec*
                                       ((for-loop_0
                                         (|#%name|
                                          for-loop
                                          (lambda (fold-var_0 lst_0 lst_1)
                                            (if (if (pair? lst_0)
                                                  (pair? lst_1)
                                                  #f)
                                              (let ((formals_0
                                                     (unsafe-car lst_0)))
                                                (let ((rest_0
                                                       (unsafe-cdr lst_0)))
                                                  (let ((body_0
                                                         (unsafe-car lst_1)))
                                                    (let ((rest_1
                                                           (unsafe-cdr lst_1)))
                                                      (let ((fold-var_1
                                                             (let ((fold-var_1
                                                                    (cons
                                                                     (list*
                                                                      formals_0
                                                                      (schemify-body_1
                                                                       (maybe-unsafe
                                                                        v84_0
                                                                        body_0)
                                                                       'tail))
                                                                     fold-var_0)))
                                                               (values
                                                                fold-var_1))))
                                                        (for-loop_0
                                                         fold-var_1
                                                         rest_0
                                                         rest_1))))))
                                              fold-var_0)))))
                                       (for-loop_0 null formalss_0 bodys_0))))
                                    explicit-unnamed?_0)))
                                (if (if (if (eq? 'define-values hd_0)
                                          (let ((a_0 (cdr (unwrap v84_0))))
                                            (let ((p_0 (unwrap a_0)))
                                              (if (pair? p_0)
                                                (if (let ((a_1 (car p_0)))
                                                      (let ((p_1 (unwrap a_1)))
                                                        (if (pair? p_1)
                                                          (let ((a_2
                                                                 (cdr p_1)))
                                                            (let ((p_2
                                                                   (unwrap
                                                                    a_2)))
                                                              (if (pair? p_2)
                                                                (let ((a_3
                                                                       (cdr
                                                                        p_2)))
                                                                  (let ((p_3
                                                                         (unwrap
                                                                          a_3)))
                                                                    (if (pair?
                                                                         p_3)
                                                                      (let ((a_4
                                                                             (cdr
                                                                              p_3)))
                                                                        (wrap-list?
                                                                         a_4))
                                                                      #f)))
                                                                #f)))
                                                          #f)))
                                                  (let ((a_1 (cdr p_0)))
                                                    (let ((p_1 (unwrap a_1)))
                                                      (if (pair? p_1)
                                                        (if (let ((a_2
                                                                   (car p_1)))
                                                              (let ((p_2
                                                                     (unwrap
                                                                      a_2)))
                                                                (if (pair? p_2)
                                                                  (if (let ((a_3
                                                                             (car
                                                                              p_2)))
                                                                        (let ((app_0
                                                                               (unwrap
                                                                                'let-values)))
                                                                          (eq?
                                                                           app_0
                                                                           (unwrap
                                                                            a_3))))
                                                                    (let ((a_3
                                                                           (cdr
                                                                            p_2)))
                                                                      (let ((p_3
                                                                             (unwrap
                                                                              a_3)))
                                                                        (if (pair?
                                                                             p_3)
                                                                          (if (let ((a_4
                                                                                     (car
                                                                                      p_3)))
                                                                                (let ((p_4
                                                                                       (unwrap
                                                                                        a_4)))
                                                                                  (if (pair?
                                                                                       p_4)
                                                                                    (if (let ((a_5
                                                                                               (car
                                                                                                p_4)))
                                                                                          (let ((p_5
                                                                                                 (unwrap
                                                                                                  a_5)))
                                                                                            (if (pair?
                                                                                                 p_5)
                                                                                              (if (let ((a_6
                                                                                                         (car
                                                                                                          p_5)))
                                                                                                    (let ((p_6
                                                                                                           (unwrap
                                                                                                            a_6)))
                                                                                                      (if (pair?
                                                                                                           p_6)
                                                                                                        (let ((a_7
                                                                                                               (cdr
                                                                                                                p_6)))
                                                                                                          (let ((p_7
                                                                                                                 (unwrap
                                                                                                                  a_7)))
                                                                                                            (if (pair?
                                                                                                                 p_7)
                                                                                                              (let ((a_8
                                                                                                                     (cdr
                                                                                                                      p_7)))
                                                                                                                (let ((p_8
                                                                                                                       (unwrap
                                                                                                                        a_8)))
                                                                                                                  (if (pair?
                                                                                                                       p_8)
                                                                                                                    (let ((a_9
                                                                                                                           (cdr
                                                                                                                            p_8)))
                                                                                                                      (let ((p_9
                                                                                                                             (unwrap
                                                                                                                              a_9)))
                                                                                                                        (if (pair?
                                                                                                                             p_9)
                                                                                                                          (let ((a_10
                                                                                                                                 (cdr
                                                                                                                                  p_9)))
                                                                                                                            (let ((p_10
                                                                                                                                   (unwrap
                                                                                                                                    a_10)))
                                                                                                                              (if (pair?
                                                                                                                                   p_10)
                                                                                                                                (let ((a_11
                                                                                                                                       (cdr
                                                                                                                                        p_10)))
                                                                                                                                  (let ((app_0
                                                                                                                                         (unwrap
                                                                                                                                          '())))
                                                                                                                                    (eq?
                                                                                                                                     app_0
                                                                                                                                     (unwrap
                                                                                                                                      a_11))))
                                                                                                                                #f)))
                                                                                                                          #f)))
                                                                                                                    #f)))
                                                                                                              #f)))
                                                                                                        #f)))
                                                                                                (let ((a_6
                                                                                                       (cdr
                                                                                                        p_5)))
                                                                                                  (let ((p_6
                                                                                                         (unwrap
                                                                                                          a_6)))
                                                                                                    (if (pair?
                                                                                                         p_6)
                                                                                                      (let ((a_7
                                                                                                             (cdr
                                                                                                              p_6)))
                                                                                                        (let ((app_0
                                                                                                               (unwrap
                                                                                                                '())))
                                                                                                          (eq?
                                                                                                           app_0
                                                                                                           (unwrap
                                                                                                            a_7))))
                                                                                                      #f)))
                                                                                                #f)
                                                                                              #f)))
                                                                                      (let ((a_5
                                                                                             (cdr
                                                                                              p_4)))
                                                                                        (let ((app_0
                                                                                               (unwrap
                                                                                                '())))
                                                                                          (eq?
                                                                                           app_0
                                                                                           (unwrap
                                                                                            a_5))))
                                                                                      #f)
                                                                                    #f)))
                                                                            (let ((a_4
                                                                                   (cdr
                                                                                    p_3)))
                                                                              (let ((p_4
                                                                                     (unwrap
                                                                                      a_4)))
                                                                                (if (pair?
                                                                                     p_4)
                                                                                  (if (let ((a_5
                                                                                             (car
                                                                                              p_4)))
                                                                                        (let ((p_5
                                                                                               (unwrap
                                                                                                a_5)))
                                                                                          (if (pair?
                                                                                               p_5)
                                                                                            (if (let ((a_6
                                                                                                       (car
                                                                                                        p_5)))
                                                                                                  (let ((app_0
                                                                                                         (unwrap
                                                                                                          'values)))
                                                                                                    (eq?
                                                                                                     app_0
                                                                                                     (unwrap
                                                                                                      a_6))))
                                                                                              (let ((a_6
                                                                                                     (cdr
                                                                                                      p_5)))
                                                                                                (let ((p_6
                                                                                                       (unwrap
                                                                                                        a_6)))
                                                                                                  (if (pair?
                                                                                                       p_6)
                                                                                                    (let ((a_7
                                                                                                           (cdr
                                                                                                            p_6)))
                                                                                                      (let ((p_7
                                                                                                             (unwrap
                                                                                                              a_7)))
                                                                                                        (if (pair?
                                                                                                             p_7)
                                                                                                          (let ((a_8
                                                                                                                 (cdr
                                                                                                                  p_7)))
                                                                                                            (let ((p_8
                                                                                                                   (unwrap
                                                                                                                    a_8)))
                                                                                                              (if (pair?
                                                                                                                   p_8)
                                                                                                                (let ((a_9
                                                                                                                       (cdr
                                                                                                                        p_8)))
                                                                                                                  (wrap-list?
                                                                                                                   a_9))
                                                                                                                #f)))
                                                                                                          #f)))
                                                                                                    #f)))
                                                                                              #f)
                                                                                            #f)))
                                                                                    (let ((a_5
                                                                                           (cdr
                                                                                            p_4)))
                                                                                      (let ((app_0
                                                                                             (unwrap
                                                                                              '())))
                                                                                        (eq?
                                                                                         app_0
                                                                                         (unwrap
                                                                                          a_5))))
                                                                                    #f)
                                                                                  #f)))
                                                                            #f)
                                                                          #f)))
                                                                    #f)
                                                                  #f)))
                                                          (let ((a_2
                                                                 (cdr p_1)))
                                                            (let ((app_0
                                                                   (unwrap
                                                                    '())))
                                                              (eq?
                                                               app_0
                                                               (unwrap a_2))))
                                                          #f)
                                                        #f)))
                                                  #f)
                                                #f)))
                                          #f)
                                      (not
                                       (let ((or-part_0
                                              (eq? target_0 'interp)))
                                         (if or-part_0
                                           or-part_0
                                           (eq? target_0 'cify))))
                                      #f)
                                  (call-with-values
                                   (lambda ()
                                     (let ((d_0 (cdr (unwrap v84_0))))
                                       (let ((p_0 (unwrap d_0)))
                                         (call-with-values
                                          (lambda ()
                                            (let ((a_0 (car p_0)))
                                              (let ((p_1 (unwrap a_0)))
                                                (let ((struct:s_0
                                                       (let ((a_1 (car p_1)))
                                                         a_1)))
                                                  (call-with-values
                                                   (lambda ()
                                                     (let ((d_1 (cdr p_1)))
                                                       (let ((p_2
                                                              (unwrap d_1)))
                                                         (let ((make-s_0
                                                                (let ((a_1
                                                                       (car
                                                                        p_2)))
                                                                  a_1)))
                                                           (call-with-values
                                                            (lambda ()
                                                              (let ((d_2
                                                                     (cdr
                                                                      p_2)))
                                                                (let ((p_3
                                                                       (unwrap
                                                                        d_2)))
                                                                  (let ((s?_0
                                                                         (let ((a_1
                                                                                (car
                                                                                 p_3)))
                                                                           a_1)))
                                                                    (let ((acc/muts_0
                                                                           (let ((d_3
                                                                                  (cdr
                                                                                   p_3)))
                                                                             (unwrap-list
                                                                              d_3))))
                                                                      (let ((s?_1
                                                                             s?_0))
                                                                        (values
                                                                         s?_1
                                                                         acc/muts_0)))))))
                                                            (lambda (s?_0
                                                                     acc/muts_0)
                                                              (let ((make-s_1
                                                                     make-s_0))
                                                                (values
                                                                 make-s_1
                                                                 s?_0
                                                                 acc/muts_0))))))))
                                                   (lambda (make-s_0
                                                            s?_0
                                                            acc/muts_0)
                                                     (let ((struct:s_1
                                                            struct:s_0))
                                                       (values
                                                        struct:s_1
                                                        make-s_0
                                                        s?_0
                                                        acc/muts_0))))))))
                                          (lambda (struct:s_0
                                                   make-s_0
                                                   s?_0
                                                   acc/muts_0)
                                            (call-with-values
                                             (lambda ()
                                               (let ((d_1 (cdr p_0)))
                                                 (let ((a_0
                                                        (car (unwrap d_1))))
                                                   (let ((d_2
                                                          (cdr (unwrap a_0))))
                                                     (let ((p_1 (unwrap d_2)))
                                                       (call-with-values
                                                        (lambda ()
                                                          (let ((a_1
                                                                 (car p_1)))
                                                            (let ((a_2
                                                                   (car
                                                                    (unwrap
                                                                     a_1))))
                                                              (let ((p_2
                                                                     (unwrap
                                                                      a_2)))
                                                                (call-with-values
                                                                 (lambda ()
                                                                   (let ((a_3
                                                                          (car
                                                                           p_2)))
                                                                     (let ((p_3
                                                                            (unwrap
                                                                             a_3)))
                                                                       (let ((struct:_0
                                                                              (let ((a_4
                                                                                     (car
                                                                                      p_3)))
                                                                                a_4)))
                                                                         (call-with-values
                                                                          (lambda ()
                                                                            (let ((d_3
                                                                                   (cdr
                                                                                    p_3)))
                                                                              (let ((p_4
                                                                                     (unwrap
                                                                                      d_3)))
                                                                                (let ((make_0
                                                                                       (let ((a_4
                                                                                              (car
                                                                                               p_4)))
                                                                                         a_4)))
                                                                                  (call-with-values
                                                                                   (lambda ()
                                                                                     (let ((d_4
                                                                                            (cdr
                                                                                             p_4)))
                                                                                       (let ((p_5
                                                                                              (unwrap
                                                                                               d_4)))
                                                                                         (let ((?1_0
                                                                                                (let ((a_4
                                                                                                       (car
                                                                                                        p_5)))
                                                                                                  a_4)))
                                                                                           (call-with-values
                                                                                            (lambda ()
                                                                                              (let ((d_5
                                                                                                     (cdr
                                                                                                      p_5)))
                                                                                                (let ((p_6
                                                                                                       (unwrap
                                                                                                        d_5)))
                                                                                                  (let ((-ref_0
                                                                                                         (let ((a_4
                                                                                                                (car
                                                                                                                 p_6)))
                                                                                                           a_4)))
                                                                                                    (let ((-set!_0
                                                                                                           (let ((d_6
                                                                                                                  (cdr
                                                                                                                   p_6)))
                                                                                                             (let ((a_4
                                                                                                                    (car
                                                                                                                     (unwrap
                                                                                                                      d_6))))
                                                                                                               a_4))))
                                                                                                      (let ((-ref_1
                                                                                                             -ref_0))
                                                                                                        (values
                                                                                                         -ref_1
                                                                                                         -set!_0)))))))
                                                                                            (lambda (-ref_0
                                                                                                     -set!_0)
                                                                                              (let ((?1_1
                                                                                                     ?1_0))
                                                                                                (values
                                                                                                 ?1_1
                                                                                                 -ref_0
                                                                                                 -set!_0))))))))
                                                                                   (lambda (?1_0
                                                                                            -ref_0
                                                                                            -set!_0)
                                                                                     (let ((make_1
                                                                                            make_0))
                                                                                       (values
                                                                                        make_1
                                                                                        ?1_0
                                                                                        -ref_0
                                                                                        -set!_0))))))))
                                                                          (lambda (make_0
                                                                                   ?1_0
                                                                                   -ref_0
                                                                                   -set!_0)
                                                                            (let ((struct:_1
                                                                                   struct:_0))
                                                                              (values
                                                                               struct:_1
                                                                               make_0
                                                                               ?1_0
                                                                               -ref_0
                                                                               -set!_0))))))))
                                                                 (lambda (struct:_0
                                                                          make_0
                                                                          ?1_0
                                                                          -ref_0
                                                                          -set!_0)
                                                                   (let ((mk_0
                                                                          (let ((d_3
                                                                                 (cdr
                                                                                  p_2)))
                                                                            (let ((a_3
                                                                                   (car
                                                                                    (unwrap
                                                                                     d_3))))
                                                                              a_3))))
                                                                     (let ((struct:_1
                                                                            struct:_0)
                                                                           (make_1
                                                                            make_0)
                                                                           (?1_1
                                                                            ?1_0)
                                                                           (-ref_1
                                                                            -ref_0)
                                                                           (-set!_1
                                                                            -set!_0))
                                                                       (values
                                                                        struct:_1
                                                                        make_1
                                                                        ?1_1
                                                                        -ref_1
                                                                        -set!_1
                                                                        mk_0)))))))))
                                                        (lambda (struct:_0
                                                                 make_0
                                                                 ?1_0
                                                                 -ref_0
                                                                 -set!_0
                                                                 mk_0)
                                                          (call-with-values
                                                           (lambda ()
                                                             (let ((d_3
                                                                    (cdr p_1)))
                                                               (let ((a_1
                                                                      (car
                                                                       (unwrap
                                                                        d_3))))
                                                                 (let ((d_4
                                                                        (cdr
                                                                         (unwrap
                                                                          a_1))))
                                                                   (let ((p_2
                                                                          (unwrap
                                                                           d_4)))
                                                                     (let ((struct:2_0
                                                                            (let ((a_2
                                                                                   (car
                                                                                    p_2)))
                                                                              a_2)))
                                                                       (call-with-values
                                                                        (lambda ()
                                                                          (let ((d_5
                                                                                 (cdr
                                                                                  p_2)))
                                                                            (let ((p_3
                                                                                   (unwrap
                                                                                    d_5)))
                                                                              (let ((make2_0
                                                                                     (let ((a_2
                                                                                            (car
                                                                                             p_3)))
                                                                                       a_2)))
                                                                                (call-with-values
                                                                                 (lambda ()
                                                                                   (let ((d_6
                                                                                          (cdr
                                                                                           p_3)))
                                                                                     (let ((p_4
                                                                                            (unwrap
                                                                                             d_6)))
                                                                                       (let ((?2_0
                                                                                              (let ((a_2
                                                                                                     (car
                                                                                                      p_4)))
                                                                                                a_2)))
                                                                                         (let ((make-acc/muts_0
                                                                                                (let ((d_7
                                                                                                       (cdr
                                                                                                        p_4)))
                                                                                                  (unwrap-list
                                                                                                   d_7))))
                                                                                           (let ((?2_1
                                                                                                  ?2_0))
                                                                                             (values
                                                                                              ?2_1
                                                                                              make-acc/muts_0)))))))
                                                                                 (lambda (?2_0
                                                                                          make-acc/muts_0)
                                                                                   (let ((make2_1
                                                                                          make2_0))
                                                                                     (values
                                                                                      make2_1
                                                                                      ?2_0
                                                                                      make-acc/muts_0))))))))
                                                                        (lambda (make2_0
                                                                                 ?2_0
                                                                                 make-acc/muts_0)
                                                                          (let ((struct:2_1
                                                                                 struct:2_0))
                                                                            (values
                                                                             struct:2_1
                                                                             make2_0
                                                                             ?2_0
                                                                             make-acc/muts_0))))))))))
                                                           (lambda (struct:2_0
                                                                    make2_0
                                                                    ?2_0
                                                                    make-acc/muts_0)
                                                             (let ((struct:_1
                                                                    struct:_0)
                                                                   (make_1
                                                                    make_0)
                                                                   (?1_1 ?1_0)
                                                                   (-ref_1
                                                                    -ref_0)
                                                                   (-set!_1
                                                                    -set!_0)
                                                                   (mk_1 mk_0))
                                                               (values
                                                                struct:_1
                                                                make_1
                                                                ?1_1
                                                                -ref_1
                                                                -set!_1
                                                                mk_1
                                                                struct:2_0
                                                                make2_0
                                                                ?2_0
                                                                make-acc/muts_0)))))))))))
                                             (lambda (struct:_0
                                                      make_0
                                                      ?1_0
                                                      -ref_0
                                                      -set!_0
                                                      mk_0
                                                      struct:2_0
                                                      make2_0
                                                      ?2_0
                                                      make-acc/muts_0)
                                               (let ((struct:s_1 struct:s_0)
                                                     (make-s_1 make-s_0)
                                                     (s?_1 s?_0)
                                                     (acc/muts_1 acc/muts_0))
                                                 (values
                                                  struct:s_1
                                                  make-s_1
                                                  s?_1
                                                  acc/muts_1
                                                  struct:_0
                                                  make_0
                                                  ?1_0
                                                  -ref_0
                                                  -set!_0
                                                  mk_0
                                                  struct:2_0
                                                  make2_0
                                                  ?2_0
                                                  make-acc/muts_0)))))))))
                                   (lambda (struct:s_0
                                            make-s_0
                                            s?_0
                                            acc/muts_0
                                            struct:_0
                                            make_0
                                            ?1_0
                                            -ref_0
                                            -set!_0
                                            mk_0
                                            struct:2_0
                                            make2_0
                                            ?2_0
                                            make-acc/muts_0)
                                     (let ((new-seq_0
                                            (struct-convert
                                             v84_0
                                             prim-knowns_0
                                             knowns_1
                                             imports_0
                                             exports_0
                                             mutated_0
                                             (lambda (v_2 knowns_2)
                                               (schemify/knowns_0
                                                knowns_2
                                                inline-fuel_0
                                                'fresh
                                                unsafe-mode?_2
                                                v_2))
                                             target_0
                                             no-prompt?_0
                                             #t)))
                                       (if new-seq_0
                                         new-seq_0
                                         (if (let ((p_0 (unwrap v84_0)))
                                               (if (pair? p_0)
                                                 (let ((a_0 (cdr p_0)))
                                                   (let ((p_1 (unwrap a_0)))
                                                     (if (pair? p_1)
                                                       (let ((a_1 (cdr p_1)))
                                                         (let ((p_2
                                                                (unwrap a_1)))
                                                           (if (pair? p_2)
                                                             (let ((a_2
                                                                    (cdr p_2)))
                                                               (let ((app_0
                                                                      (unwrap
                                                                       '())))
                                                                 (eq?
                                                                  app_0
                                                                  (unwrap
                                                                   a_2))))
                                                             #f)))
                                                       #f)))
                                                 #f))
                                           (call-with-values
                                            (lambda ()
                                              (let ((d_0 (cdr (unwrap v84_0))))
                                                (let ((p_0 (unwrap d_0)))
                                                  (let ((ids_0
                                                         (let ((a_0 (car p_0)))
                                                           a_0)))
                                                    (let ((rhs_0
                                                           (let ((d_1
                                                                  (cdr p_0)))
                                                             (let ((a_0
                                                                    (car
                                                                     (unwrap
                                                                      d_1))))
                                                               a_0))))
                                                      (let ((ids_1 ids_0))
                                                        (values
                                                         ids_1
                                                         rhs_0)))))))
                                            (lambda (ids_0 rhs_0)
                                              (list
                                               'define-values
                                               ids_0
                                               (schemify_1 rhs_0 'fresh))))
                                           (error
                                            'match
                                            "failed ~e"
                                            v84_0))))))
                                  (if (if (eq? 'define-values hd_0)
                                        (let ((a_0 (cdr (unwrap v84_0))))
                                          (let ((p_0 (unwrap a_0)))
                                            (if (pair? p_0)
                                              (if (let ((a_1 (car p_0)))
                                                    (let ((p_1 (unwrap a_1)))
                                                      (if (pair? p_1)
                                                        (let ((a_2 (cdr p_1)))
                                                          (let ((app_0
                                                                 (unwrap '())))
                                                            (eq?
                                                             app_0
                                                             (unwrap a_2))))
                                                        #f)))
                                                (let ((a_1 (cdr p_0)))
                                                  (let ((p_1 (unwrap a_1)))
                                                    (if (pair? p_1)
                                                      (let ((a_2 (cdr p_1)))
                                                        (let ((app_0
                                                               (unwrap '())))
                                                          (eq?
                                                           app_0
                                                           (unwrap a_2))))
                                                      #f)))
                                                #f)
                                              #f)))
                                        #f)
                                    (call-with-values
                                     (lambda ()
                                       (let ((d_0 (cdr (unwrap v84_0))))
                                         (let ((p_0 (unwrap d_0)))
                                           (let ((id_0
                                                  (let ((a_0 (car p_0)))
                                                    (let ((a_1
                                                           (car (unwrap a_0))))
                                                      a_1))))
                                             (let ((rhs_0
                                                    (let ((d_1 (cdr p_0)))
                                                      (let ((a_0
                                                             (car
                                                              (unwrap d_1))))
                                                        a_0))))
                                               (let ((id_1 id_0))
                                                 (values id_1 rhs_0)))))))
                                     (lambda (id_0 rhs_0)
                                       (list
                                        'define
                                        id_0
                                        (schemify_1 rhs_0 'fresh))))
                                    (if (if (eq? 'define-values hd_0)
                                          (let ((a_0 (cdr (unwrap v84_0))))
                                            (let ((p_0 (unwrap a_0)))
                                              (if (pair? p_0)
                                                (let ((a_1 (cdr p_0)))
                                                  (let ((p_1 (unwrap a_1)))
                                                    (if (pair? p_1)
                                                      (let ((a_2 (cdr p_1)))
                                                        (let ((app_0
                                                               (unwrap '())))
                                                          (eq?
                                                           app_0
                                                           (unwrap a_2))))
                                                      #f)))
                                                #f)))
                                          #f)
                                      (call-with-values
                                       (lambda ()
                                         (let ((d_0 (cdr (unwrap v84_0))))
                                           (let ((p_0 (unwrap d_0)))
                                             (let ((ids_0
                                                    (let ((a_0 (car p_0)))
                                                      a_0)))
                                               (let ((rhs_0
                                                      (let ((d_1 (cdr p_0)))
                                                        (let ((a_0
                                                               (car
                                                                (unwrap d_1))))
                                                          a_0))))
                                                 (let ((ids_1 ids_0))
                                                   (values ids_1 rhs_0)))))))
                                       (lambda (ids_0 rhs_0)
                                         (list
                                          'define-values
                                          ids_0
                                          (schemify_1 rhs_0 'fresh))))
                                      (if (if (eq? 'quote hd_0)
                                            (let ((a_0 (cdr (unwrap v84_0))))
                                              (let ((p_0 (unwrap a_0)))
                                                (if (pair? p_0)
                                                  (let ((a_1 (cdr p_0)))
                                                    (let ((app_0 (unwrap '())))
                                                      (eq?
                                                       app_0
                                                       (unwrap a_1))))
                                                  #f)))
                                            #f)
                                        (let ((q_0
                                               (let ((d_0
                                                      (cdr (unwrap v84_0))))
                                                 (let ((a_0
                                                        (car (unwrap d_0))))
                                                   a_0))))
                                          (begin
                                            (if serializable?-box_0
                                              (register-literal-serialization
                                               q_0
                                               serializable?-box_0
                                               datum-intern?_0)
                                              (void))
                                            v84_0))
                                        (if (if (eq? 'let-values hd_0)
                                              (let ((a_0 (cdr (unwrap v84_0))))
                                                (let ((p_0 (unwrap a_0)))
                                                  (if (pair? p_0)
                                                    (if (let ((a_1 (car p_0)))
                                                          (let ((app_0
                                                                 (unwrap '())))
                                                            (eq?
                                                             app_0
                                                             (unwrap a_1))))
                                                      (let ((a_1 (cdr p_0)))
                                                        (let ((p_1
                                                               (unwrap a_1)))
                                                          (if (pair? p_1)
                                                            (let ((a_2
                                                                   (cdr p_1)))
                                                              (let ((app_0
                                                                     (unwrap
                                                                      '())))
                                                                (eq?
                                                                 app_0
                                                                 (unwrap
                                                                  a_2))))
                                                            #f)))
                                                      #f)
                                                    #f)))
                                              #f)
                                          (let ((body_0
                                                 (let ((d_0
                                                        (cdr (unwrap v84_0))))
                                                   (let ((d_1
                                                          (cdr (unwrap d_0))))
                                                     (let ((a_0
                                                            (car
                                                             (unwrap d_1))))
                                                       a_0)))))
                                            (schemify_1 body_0 wcm-state85_0))
                                          (if (if (eq? 'let-values hd_0)
                                                (let ((a_0
                                                       (cdr (unwrap v84_0))))
                                                  (let ((p_0 (unwrap a_0)))
                                                    (if (pair? p_0)
                                                      (if (let ((a_1
                                                                 (car p_0)))
                                                            (let ((app_0
                                                                   (unwrap
                                                                    '())))
                                                              (eq?
                                                               app_0
                                                               (unwrap a_1))))
                                                        (let ((a_1 (cdr p_0)))
                                                          (wrap-list? a_1))
                                                        #f)
                                                      #f)))
                                                #f)
                                            (let ((bodys_0
                                                   (let ((d_0
                                                          (cdr
                                                           (unwrap v84_0))))
                                                     (let ((d_1
                                                            (cdr
                                                             (unwrap d_0))))
                                                       (unwrap-list d_1)))))
                                              (schemify_1
                                               (list* 'begin bodys_0)
                                               wcm-state85_0))
                                            (if (if (eq? 'let-values hd_0)
                                                  (let ((a_0
                                                         (cdr (unwrap v84_0))))
                                                    (let ((p_0 (unwrap a_0)))
                                                      (if (pair? p_0)
                                                        (if (let ((a_1
                                                                   (car p_0)))
                                                              (if (wrap-list?
                                                                   a_1)
                                                                (letrec*
                                                                 ((for-loop_0
                                                                   (|#%name|
                                                                    for-loop
                                                                    (lambda (result_0
                                                                             lst_0)
                                                                      (if (not
                                                                           (null?
                                                                            (unwrap
                                                                             lst_0)))
                                                                        (let ((v_2
                                                                               (if (pair?
                                                                                    (unwrap
                                                                                     lst_0))
                                                                                 (wrap-car
                                                                                  lst_0)
                                                                                 lst_0)))
                                                                          (let ((rest_0
                                                                                 (if (pair?
                                                                                      (unwrap
                                                                                       lst_0))
                                                                                   (wrap-cdr
                                                                                    lst_0)
                                                                                   null)))
                                                                            (let ((v_3
                                                                                   v_2))
                                                                              (let ((result_1
                                                                                     (let ((result_1
                                                                                            (let ((p_1
                                                                                                   (unwrap
                                                                                                    v_3)))
                                                                                              (if (pair?
                                                                                                   p_1)
                                                                                                (if (let ((a_2
                                                                                                           (car
                                                                                                            p_1)))
                                                                                                      (let ((p_2
                                                                                                             (unwrap
                                                                                                              a_2)))
                                                                                                        (if (pair?
                                                                                                             p_2)
                                                                                                          (let ((a_3
                                                                                                                 (cdr
                                                                                                                  p_2)))
                                                                                                            (let ((app_0
                                                                                                                   (unwrap
                                                                                                                    '())))
                                                                                                              (eq?
                                                                                                               app_0
                                                                                                               (unwrap
                                                                                                                a_3))))
                                                                                                          #f)))
                                                                                                  (let ((a_2
                                                                                                         (cdr
                                                                                                          p_1)))
                                                                                                    (let ((p_2
                                                                                                           (unwrap
                                                                                                            a_2)))
                                                                                                      (if (pair?
                                                                                                           p_2)
                                                                                                        (let ((a_3
                                                                                                               (cdr
                                                                                                                p_2)))
                                                                                                          (let ((app_0
                                                                                                                 (unwrap
                                                                                                                  '())))
                                                                                                            (eq?
                                                                                                             app_0
                                                                                                             (unwrap
                                                                                                              a_3))))
                                                                                                        #f)))
                                                                                                  #f)
                                                                                                #f))))
                                                                                       (values
                                                                                        result_1))))
                                                                                (if (if (not
                                                                                         (let ((x_0
                                                                                                (list
                                                                                                 v_3)))
                                                                                           (not
                                                                                            result_1)))
                                                                                      #t
                                                                                      #f)
                                                                                  (for-loop_0
                                                                                   result_1
                                                                                   rest_0)
                                                                                  result_1)))))
                                                                        result_0)))))
                                                                 (for-loop_0
                                                                  #t
                                                                  a_1))
                                                                #f))
                                                          (let ((a_1
                                                                 (cdr p_0)))
                                                            (wrap-list? a_1))
                                                          #f)
                                                        #f)))
                                                  #f)
                                              (call-with-values
                                               (lambda ()
                                                 (let ((d_0
                                                        (cdr (unwrap v84_0))))
                                                   (let ((p_0 (unwrap d_0)))
                                                     (call-with-values
                                                      (lambda ()
                                                        (let ((a_0 (car p_0)))
                                                          (call-with-values
                                                           (lambda ()
                                                             (letrec*
                                                              ((for-loop_0
                                                                (|#%name|
                                                                 for-loop
                                                                 (lambda (ids_0
                                                                          rhss_0
                                                                          lst_0)
                                                                   (if (not
                                                                        (null?
                                                                         (unwrap
                                                                          lst_0)))
                                                                     (let ((v_2
                                                                            (if (pair?
                                                                                 (unwrap
                                                                                  lst_0))
                                                                              (wrap-car
                                                                               lst_0)
                                                                              lst_0)))
                                                                       (let ((rest_0
                                                                              (if (pair?
                                                                                   (unwrap
                                                                                    lst_0))
                                                                                (wrap-cdr
                                                                                 lst_0)
                                                                                null)))
                                                                         (let ((v_3
                                                                                v_2))
                                                                           (call-with-values
                                                                            (lambda ()
                                                                              (call-with-values
                                                                               (lambda ()
                                                                                 (call-with-values
                                                                                  (lambda ()
                                                                                    (let ((p_1
                                                                                           (unwrap
                                                                                            v_3)))
                                                                                      (let ((ids_1
                                                                                             (let ((a_1
                                                                                                    (car
                                                                                                     p_1)))
                                                                                               (let ((a_2
                                                                                                      (car
                                                                                                       (unwrap
                                                                                                        a_1))))
                                                                                                 a_2))))
                                                                                        (let ((rhss_1
                                                                                               (let ((d_1
                                                                                                      (cdr
                                                                                                       p_1)))
                                                                                                 (let ((a_1
                                                                                                        (car
                                                                                                         (unwrap
                                                                                                          d_1))))
                                                                                                   a_1))))
                                                                                          (let ((ids_2
                                                                                                 ids_1))
                                                                                            (values
                                                                                             ids_2
                                                                                             rhss_1))))))
                                                                                  (lambda (ids91_0
                                                                                           rhss92_0)
                                                                                    (values
                                                                                     (cons
                                                                                      ids91_0
                                                                                      ids_0)
                                                                                     (cons
                                                                                      rhss92_0
                                                                                      rhss_0)))))
                                                                               (lambda (ids_1
                                                                                        rhss_1)
                                                                                 (values
                                                                                  ids_1
                                                                                  rhss_1))))
                                                                            (lambda (ids_1
                                                                                     rhss_1)
                                                                              (for-loop_0
                                                                               ids_1
                                                                               rhss_1
                                                                               rest_0))))))
                                                                     (values
                                                                      ids_0
                                                                      rhss_0))))))
                                                              (for-loop_0
                                                               null
                                                               null
                                                               a_0)))
                                                           (lambda (ids_0
                                                                    rhss_0)
                                                             (let ((app_0
                                                                    (reverse$1
                                                                     ids_0)))
                                                               (values
                                                                app_0
                                                                (reverse$1
                                                                 rhss_0)))))))
                                                      (lambda (ids_0 rhss_0)
                                                        (let ((bodys_0
                                                               (let ((d_1
                                                                      (cdr
                                                                       p_0)))
                                                                 (unwrap-list
                                                                  d_1))))
                                                          (let ((ids_1 ids_0)
                                                                (rhss_1
                                                                 rhss_0))
                                                            (values
                                                             ids_1
                                                             rhss_1
                                                             bodys_0))))))))
                                               (lambda (ids_0 rhss_0 bodys_0)
                                                 (if (if (pair? ids_0)
                                                       (if (null? (cdr ids_0))
                                                         (if (pair? bodys_0)
                                                           (if (null?
                                                                (cdr bodys_0))
                                                             (if (let ((app_0
                                                                        (unwrap
                                                                         (car
                                                                          ids_0))))
                                                                   (eq?
                                                                    app_0
                                                                    (unwrap
                                                                     (car
                                                                      bodys_0))))
                                                               (let ((temp93_0
                                                                      (car
                                                                       rhss_0)))
                                                                 (lambda?.1
                                                                  #f
                                                                  temp93_0))
                                                               #f)
                                                             #f)
                                                           #f)
                                                         #f)
                                                       #f)
                                                   (schemify_1
                                                    (car rhss_0)
                                                    wcm-state85_0)
                                                   (call-with-values
                                                    (lambda ()
                                                      (letrec*
                                                       ((for-loop_0
                                                         (|#%name|
                                                          for-loop
                                                          (lambda (knowns_2
                                                                   rev-s-rhss_0
                                                                   lst_0
                                                                   lst_1)
                                                            (if (if (pair?
                                                                     lst_0)
                                                                  (pair? lst_1)
                                                                  #f)
                                                              (let ((id_0
                                                                     (unsafe-car
                                                                      lst_0)))
                                                                (let ((rest_0
                                                                       (unsafe-cdr
                                                                        lst_0)))
                                                                  (let ((rhs_0
                                                                         (unsafe-car
                                                                          lst_1)))
                                                                    (let ((rest_1
                                                                           (unsafe-cdr
                                                                            lst_1)))
                                                                      (call-with-values
                                                                       (lambda ()
                                                                         (call-with-values
                                                                          (lambda ()
                                                                            (let ((k_0
                                                                                   (infer-known.1
                                                                                    unsafe-undefined
                                                                                    #f
                                                                                    #f
                                                                                    rhs_0
                                                                                    id_0
                                                                                    knowns_2
                                                                                    prim-knowns_0
                                                                                    imports_0
                                                                                    mutated_0
                                                                                    simples_0
                                                                                    unsafe-mode?_2
                                                                                    target_0)))
                                                                              (let ((merely-a-copy?_0
                                                                                     (|#%name|
                                                                                      merely-a-copy?
                                                                                      (lambda (k_1)
                                                                                        (if (let ((or-part_0
                                                                                                   (known-copy?
                                                                                                    k_1)))
                                                                                              (if or-part_0
                                                                                                or-part_0
                                                                                                (let ((or-part_1
                                                                                                       (known-literal?
                                                                                                        k_1)))
                                                                                                  (if or-part_1
                                                                                                    or-part_1
                                                                                                    (known-foreign-inline?
                                                                                                     k_1)))))
                                                                                          (simple-mutated-state?
                                                                                           (hash-ref
                                                                                            mutated_0
                                                                                            (unwrap
                                                                                             id_0)
                                                                                            #f))
                                                                                          #f)))))
                                                                                (if (merely-a-copy?_0
                                                                                     k_0)
                                                                                  (let ((app_0
                                                                                         (hash-set
                                                                                          knowns_2
                                                                                          (unwrap
                                                                                           id_0)
                                                                                          k_0)))
                                                                                    (values
                                                                                     app_0
                                                                                     (cons
                                                                                      null
                                                                                      rev-s-rhss_0)))
                                                                                  (let ((s-rhs_0
                                                                                         (schemify_1
                                                                                          rhs_0
                                                                                          'fresh)))
                                                                                    (if (known-procedure/can-inline?
                                                                                         k_0)
                                                                                      (let ((app_0
                                                                                             (hash-set
                                                                                              knowns_2
                                                                                              (unwrap
                                                                                               id_0)
                                                                                              k_0)))
                                                                                        (values
                                                                                         app_0
                                                                                         (cons
                                                                                          s-rhs_0
                                                                                          rev-s-rhss_0)))
                                                                                      (let ((post-k_0
                                                                                             (infer-known.1
                                                                                              unsafe-undefined
                                                                                              #f
                                                                                              #t
                                                                                              s-rhs_0
                                                                                              id_0
                                                                                              knowns_2
                                                                                              prim-knowns_0
                                                                                              imports_0
                                                                                              mutated_0
                                                                                              simples_0
                                                                                              unsafe-mode?_2
                                                                                              target_0)))
                                                                                        (if (merely-a-copy?_0
                                                                                             post-k_0)
                                                                                          (let ((app_0
                                                                                                 (hash-set
                                                                                                  knowns_2
                                                                                                  (unwrap
                                                                                                   id_0)
                                                                                                  post-k_0)))
                                                                                            (values
                                                                                             app_0
                                                                                             (cons
                                                                                              null
                                                                                              rev-s-rhss_0)))
                                                                                          (if post-k_0
                                                                                            (let ((app_0
                                                                                                   (hash-set
                                                                                                    knowns_2
                                                                                                    (unwrap
                                                                                                     id_0)
                                                                                                    post-k_0)))
                                                                                              (values
                                                                                               app_0
                                                                                               (cons
                                                                                                s-rhs_0
                                                                                                rev-s-rhss_0)))
                                                                                            (values
                                                                                             knowns_2
                                                                                             (cons
                                                                                              s-rhs_0
                                                                                              rev-s-rhss_0)))))))))))
                                                                          (lambda (knowns_3
                                                                                   rev-s-rhss_1)
                                                                            (values
                                                                             knowns_3
                                                                             rev-s-rhss_1))))
                                                                       (lambda (knowns_3
                                                                                rev-s-rhss_1)
                                                                         (for-loop_0
                                                                          knowns_3
                                                                          rev-s-rhss_1
                                                                          rest_0
                                                                          rest_1)))))))
                                                              (values
                                                               knowns_2
                                                               rev-s-rhss_0))))))
                                                       (for-loop_0
                                                        knowns_1
                                                        '()
                                                        ids_0
                                                        rhss_0)))
                                                    (lambda (new-knowns_0
                                                             rev-s-rhss_0)
                                                      (let ((s-rhss_0
                                                             (reverse$1
                                                              rev-s-rhss_0)))
                                                        (unnest-let
                                                         (let ((app_0
                                                                (reverse$1
                                                                 (letrec*
                                                                  ((for-loop_0
                                                                    (|#%name|
                                                                     for-loop
                                                                     (lambda (fold-var_0
                                                                              lst_0
                                                                              lst_1)
                                                                       (if (if (pair?
                                                                                lst_0)
                                                                             (pair?
                                                                              lst_1)
                                                                             #f)
                                                                         (let ((id_0
                                                                                (unsafe-car
                                                                                 lst_0)))
                                                                           (let ((rest_0
                                                                                  (unsafe-cdr
                                                                                   lst_0)))
                                                                             (let ((rhs_0
                                                                                    (unsafe-car
                                                                                     lst_1)))
                                                                               (let ((rest_1
                                                                                      (unsafe-cdr
                                                                                       lst_1)))
                                                                                 (let ((fold-var_1
                                                                                        (if (eq?
                                                                                             null
                                                                                             rhs_0)
                                                                                          fold-var_0
                                                                                          (let ((fold-var_1
                                                                                                 (cons
                                                                                                  id_0
                                                                                                  fold-var_0)))
                                                                                            (values
                                                                                             fold-var_1)))))
                                                                                   (for-loop_0
                                                                                    fold-var_1
                                                                                    rest_0
                                                                                    rest_1))))))
                                                                         fold-var_0)))))
                                                                  (for-loop_0
                                                                   null
                                                                   ids_0
                                                                   s-rhss_0)))))
                                                           (let ((app_1
                                                                  (reverse$1
                                                                   (letrec*
                                                                    ((for-loop_0
                                                                      (|#%name|
                                                                       for-loop
                                                                       (lambda (fold-var_0
                                                                                lst_0
                                                                                lst_1)
                                                                         (if (if (pair?
                                                                                  lst_0)
                                                                               (pair?
                                                                                lst_1)
                                                                               #f)
                                                                           (let ((id_0
                                                                                  (unsafe-car
                                                                                   lst_0)))
                                                                             (let ((rest_0
                                                                                    (unsafe-cdr
                                                                                     lst_0)))
                                                                               (let ((rhs_0
                                                                                      (unsafe-car
                                                                                       lst_1)))
                                                                                 (let ((rest_1
                                                                                        (unsafe-cdr
                                                                                         lst_1)))
                                                                                   (let ((fold-var_1
                                                                                          (if (eq?
                                                                                               null
                                                                                               rhs_0)
                                                                                            fold-var_0
                                                                                            (let ((fold-var_1
                                                                                                   (cons
                                                                                                    rhs_0
                                                                                                    fold-var_0)))
                                                                                              (values
                                                                                               fold-var_1)))))
                                                                                     (for-loop_0
                                                                                      fold-var_1
                                                                                      rest_0
                                                                                      rest_1))))))
                                                                           fold-var_0)))))
                                                                    (for-loop_0
                                                                     null
                                                                     ids_0
                                                                     s-rhss_0)))))
                                                             (left-to-right/let
                                                              app_0
                                                              app_1
                                                              (reverse$1
                                                               (letrec*
                                                                ((for-loop_0
                                                                  (|#%name|
                                                                   for-loop
                                                                   (lambda (fold-var_0
                                                                            lst_0)
                                                                     (if (pair?
                                                                          lst_0)
                                                                       (let ((body_0
                                                                              (unsafe-car
                                                                               lst_0)))
                                                                         (let ((rest_0
                                                                                (unsafe-cdr
                                                                                 lst_0)))
                                                                           (let ((fold-var_1
                                                                                  (let ((fold-var_1
                                                                                         (cons
                                                                                          (schemify/knowns_0
                                                                                           new-knowns_0
                                                                                           inline-fuel_0
                                                                                           wcm-state85_0
                                                                                           unsafe-mode?_2
                                                                                           body_0)
                                                                                          fold-var_0)))
                                                                                    (values
                                                                                     fold-var_1))))
                                                                             (for-loop_0
                                                                              fold-var_1
                                                                              rest_0))))
                                                                       fold-var_0)))))
                                                                (for-loop_0
                                                                 null
                                                                 bodys_0)))
                                                              prim-knowns_0
                                                              knowns_1
                                                              imports_0
                                                              mutated_0
                                                              simples_0
                                                              unsafe-mode?_2)))
                                                         prim-knowns_0
                                                         knowns_1
                                                         imports_0
                                                         mutated_0
                                                         simples_0
                                                         unsafe-mode?_2)))))))
                                              (if (if (eq? 'let-values hd_0)
                                                    (let ((a_0
                                                           (cdr
                                                            (unwrap v84_0))))
                                                      (let ((p_0 (unwrap a_0)))
                                                        (if (pair? p_0)
                                                          (if (let ((a_1
                                                                     (car
                                                                      p_0)))
                                                                (let ((p_1
                                                                       (unwrap
                                                                        a_1)))
                                                                  (if (pair?
                                                                       p_1)
                                                                    (if (let ((a_2
                                                                               (car
                                                                                p_1)))
                                                                          (let ((p_2
                                                                                 (unwrap
                                                                                  a_2)))
                                                                            (if (pair?
                                                                                 p_2)
                                                                              (if (let ((a_3
                                                                                         (car
                                                                                          p_2)))
                                                                                    (let ((app_0
                                                                                           (unwrap
                                                                                            '())))
                                                                                      (eq?
                                                                                       app_0
                                                                                       (unwrap
                                                                                        a_3))))
                                                                                (let ((a_3
                                                                                       (cdr
                                                                                        p_2)))
                                                                                  (let ((p_3
                                                                                         (unwrap
                                                                                          a_3)))
                                                                                    (if (pair?
                                                                                         p_3)
                                                                                      (if (let ((a_4
                                                                                                 (car
                                                                                                  p_3)))
                                                                                            (let ((p_4
                                                                                                   (unwrap
                                                                                                    a_4)))
                                                                                              (if (pair?
                                                                                                   p_4)
                                                                                                (if (let ((a_5
                                                                                                           (car
                                                                                                            p_4)))
                                                                                                      (let ((app_0
                                                                                                             (unwrap
                                                                                                              'begin)))
                                                                                                        (eq?
                                                                                                         app_0
                                                                                                         (unwrap
                                                                                                          a_5))))
                                                                                                  (let ((a_5
                                                                                                         (cdr
                                                                                                          p_4)))
                                                                                                    (let ((p_5
                                                                                                           (unwrap
                                                                                                            a_5)))
                                                                                                      (if (pair?
                                                                                                           p_5)
                                                                                                        (let ((a_6
                                                                                                               (cdr
                                                                                                                p_5)))
                                                                                                          (let ((p_6
                                                                                                                 (unwrap
                                                                                                                  a_6)))
                                                                                                            (if (pair?
                                                                                                                 p_6)
                                                                                                              (if (let ((a_7
                                                                                                                         (car
                                                                                                                          p_6)))
                                                                                                                    (let ((p_7
                                                                                                                           (unwrap
                                                                                                                            a_7)))
                                                                                                                      (if (pair?
                                                                                                                           p_7)
                                                                                                                        (if (let ((a_8
                                                                                                                                   (car
                                                                                                                                    p_7)))
                                                                                                                              (let ((app_0
                                                                                                                                     (unwrap
                                                                                                                                      'values)))
                                                                                                                                (eq?
                                                                                                                                 app_0
                                                                                                                                 (unwrap
                                                                                                                                  a_8))))
                                                                                                                          (let ((a_8
                                                                                                                                 (cdr
                                                                                                                                  p_7)))
                                                                                                                            (let ((app_0
                                                                                                                                   (unwrap
                                                                                                                                    '())))
                                                                                                                              (eq?
                                                                                                                               app_0
                                                                                                                               (unwrap
                                                                                                                                a_8))))
                                                                                                                          #f)
                                                                                                                        #f)))
                                                                                                                (let ((a_7
                                                                                                                       (cdr
                                                                                                                        p_6)))
                                                                                                                  (let ((app_0
                                                                                                                         (unwrap
                                                                                                                          '())))
                                                                                                                    (eq?
                                                                                                                     app_0
                                                                                                                     (unwrap
                                                                                                                      a_7))))
                                                                                                                #f)
                                                                                                              #f)))
                                                                                                        #f)))
                                                                                                  #f)
                                                                                                #f)))
                                                                                        (let ((a_4
                                                                                               (cdr
                                                                                                p_3)))
                                                                                          (let ((app_0
                                                                                                 (unwrap
                                                                                                  '())))
                                                                                            (eq?
                                                                                             app_0
                                                                                             (unwrap
                                                                                              a_4))))
                                                                                        #f)
                                                                                      #f)))
                                                                                #f)
                                                                              #f)))
                                                                      (let ((a_2
                                                                             (cdr
                                                                              p_1)))
                                                                        (let ((app_0
                                                                               (unwrap
                                                                                '())))
                                                                          (eq?
                                                                           app_0
                                                                           (unwrap
                                                                            a_2))))
                                                                      #f)
                                                                    #f)))
                                                            (let ((a_1
                                                                   (cdr p_0)))
                                                              (wrap-list? a_1))
                                                            #f)
                                                          #f)))
                                                    #f)
                                                (call-with-values
                                                 (lambda ()
                                                   (let ((d_0
                                                          (cdr
                                                           (unwrap v84_0))))
                                                     (let ((p_0 (unwrap d_0)))
                                                       (let ((rhs_0
                                                              (let ((a_0
                                                                     (car
                                                                      p_0)))
                                                                (let ((a_1
                                                                       (car
                                                                        (unwrap
                                                                         a_0))))
                                                                  (let ((d_1
                                                                         (cdr
                                                                          (unwrap
                                                                           a_1))))
                                                                    (let ((a_2
                                                                           (car
                                                                            (unwrap
                                                                             d_1))))
                                                                      (let ((d_2
                                                                             (cdr
                                                                              (unwrap
                                                                               a_2))))
                                                                        (let ((a_3
                                                                               (car
                                                                                (unwrap
                                                                                 d_2))))
                                                                          a_3))))))))
                                                         (let ((bodys_0
                                                                (let ((d_1
                                                                       (cdr
                                                                        p_0)))
                                                                  (unwrap-list
                                                                   d_1))))
                                                           (let ((rhs_1 rhs_0))
                                                             (values
                                                              rhs_1
                                                              bodys_0)))))))
                                                 (lambda (rhs_0 bodys_0)
                                                   (let ((app_0
                                                          (schemify_1
                                                           rhs_0
                                                           'fresh)))
                                                     (list*
                                                      'begin
                                                      app_0
                                                      (schemify-body_1
                                                       bodys_0
                                                       wcm-state85_0)))))
                                                (if (if (eq? 'let-values hd_0)
                                                      (let ((a_0
                                                             (cdr
                                                              (unwrap v84_0))))
                                                        (let ((p_0
                                                               (unwrap a_0)))
                                                          (if (pair? p_0)
                                                            (if (let ((a_1
                                                                       (car
                                                                        p_0)))
                                                                  (if (wrap-list?
                                                                       a_1)
                                                                    (letrec*
                                                                     ((for-loop_0
                                                                       (|#%name|
                                                                        for-loop
                                                                        (lambda (result_0
                                                                                 lst_0)
                                                                          (if (not
                                                                               (null?
                                                                                (unwrap
                                                                                 lst_0)))
                                                                            (let ((v_2
                                                                                   (if (pair?
                                                                                        (unwrap
                                                                                         lst_0))
                                                                                     (wrap-car
                                                                                      lst_0)
                                                                                     lst_0)))
                                                                              (let ((rest_0
                                                                                     (if (pair?
                                                                                          (unwrap
                                                                                           lst_0))
                                                                                       (wrap-cdr
                                                                                        lst_0)
                                                                                       null)))
                                                                                (let ((v_3
                                                                                       v_2))
                                                                                  (let ((result_1
                                                                                         (let ((result_1
                                                                                                (let ((p_1
                                                                                                       (unwrap
                                                                                                        v_3)))
                                                                                                  (if (pair?
                                                                                                       p_1)
                                                                                                    (let ((a_2
                                                                                                           (cdr
                                                                                                            p_1)))
                                                                                                      (let ((p_2
                                                                                                             (unwrap
                                                                                                              a_2)))
                                                                                                        (if (pair?
                                                                                                             p_2)
                                                                                                          (let ((a_3
                                                                                                                 (cdr
                                                                                                                  p_2)))
                                                                                                            (let ((app_0
                                                                                                                   (unwrap
                                                                                                                    '())))
                                                                                                              (eq?
                                                                                                               app_0
                                                                                                               (unwrap
                                                                                                                a_3))))
                                                                                                          #f)))
                                                                                                    #f))))
                                                                                           (values
                                                                                            result_1))))
                                                                                    (if (if (not
                                                                                             (let ((x_0
                                                                                                    (list
                                                                                                     v_3)))
                                                                                               (not
                                                                                                result_1)))
                                                                                          #t
                                                                                          #f)
                                                                                      (for-loop_0
                                                                                       result_1
                                                                                       rest_0)
                                                                                      result_1)))))
                                                                            result_0)))))
                                                                     (for-loop_0
                                                                      #t
                                                                      a_1))
                                                                    #f))
                                                              (let ((a_1
                                                                     (cdr
                                                                      p_0)))
                                                                (wrap-list?
                                                                 a_1))
                                                              #f)
                                                            #f)))
                                                      #f)
                                                  (call-with-values
                                                   (lambda ()
                                                     (let ((d_0
                                                            (cdr
                                                             (unwrap v84_0))))
                                                       (let ((p_0
                                                              (unwrap d_0)))
                                                         (call-with-values
                                                          (lambda ()
                                                            (let ((a_0
                                                                   (car p_0)))
                                                              (call-with-values
                                                               (lambda ()
                                                                 (letrec*
                                                                  ((for-loop_0
                                                                    (|#%name|
                                                                     for-loop
                                                                     (lambda (idss_0
                                                                              rhss_0
                                                                              lst_0)
                                                                       (if (not
                                                                            (null?
                                                                             (unwrap
                                                                              lst_0)))
                                                                         (let ((v_2
                                                                                (if (pair?
                                                                                     (unwrap
                                                                                      lst_0))
                                                                                  (wrap-car
                                                                                   lst_0)
                                                                                  lst_0)))
                                                                           (let ((rest_0
                                                                                  (if (pair?
                                                                                       (unwrap
                                                                                        lst_0))
                                                                                    (wrap-cdr
                                                                                     lst_0)
                                                                                    null)))
                                                                             (let ((v_3
                                                                                    v_2))
                                                                               (call-with-values
                                                                                (lambda ()
                                                                                  (call-with-values
                                                                                   (lambda ()
                                                                                     (call-with-values
                                                                                      (lambda ()
                                                                                        (let ((p_1
                                                                                               (unwrap
                                                                                                v_3)))
                                                                                          (let ((idss_1
                                                                                                 (let ((a_1
                                                                                                        (car
                                                                                                         p_1)))
                                                                                                   a_1)))
                                                                                            (let ((rhss_1
                                                                                                   (let ((d_1
                                                                                                          (cdr
                                                                                                           p_1)))
                                                                                                     (let ((a_1
                                                                                                            (car
                                                                                                             (unwrap
                                                                                                              d_1))))
                                                                                                       a_1))))
                                                                                              (let ((idss_2
                                                                                                     idss_1))
                                                                                                (values
                                                                                                 idss_2
                                                                                                 rhss_1))))))
                                                                                      (lambda (idss113_0
                                                                                               rhss114_0)
                                                                                        (values
                                                                                         (cons
                                                                                          idss113_0
                                                                                          idss_0)
                                                                                         (cons
                                                                                          rhss114_0
                                                                                          rhss_0)))))
                                                                                   (lambda (idss_1
                                                                                            rhss_1)
                                                                                     (values
                                                                                      idss_1
                                                                                      rhss_1))))
                                                                                (lambda (idss_1
                                                                                         rhss_1)
                                                                                  (for-loop_0
                                                                                   idss_1
                                                                                   rhss_1
                                                                                   rest_0))))))
                                                                         (values
                                                                          idss_0
                                                                          rhss_0))))))
                                                                  (for-loop_0
                                                                   null
                                                                   null
                                                                   a_0)))
                                                               (lambda (idss_0
                                                                        rhss_0)
                                                                 (let ((app_0
                                                                        (reverse$1
                                                                         idss_0)))
                                                                   (values
                                                                    app_0
                                                                    (reverse$1
                                                                     rhss_0)))))))
                                                          (lambda (idss_0
                                                                   rhss_0)
                                                            (let ((bodys_0
                                                                   (let ((d_1
                                                                          (cdr
                                                                           p_0)))
                                                                     (unwrap-list
                                                                      d_1))))
                                                              (let ((idss_1
                                                                     idss_0)
                                                                    (rhss_1
                                                                     rhss_0))
                                                                (values
                                                                 idss_1
                                                                 rhss_1
                                                                 bodys_0))))))))
                                                   (lambda (idss_0
                                                            rhss_0
                                                            bodys_0)
                                                     (let ((or-part_0
                                                            (if (not
                                                                 (let ((or-part_0
                                                                        (eq?
                                                                         target_0
                                                                         'interp)))
                                                                   (if or-part_0
                                                                     or-part_0
                                                                     (eq?
                                                                      target_0
                                                                      'cify))))
                                                              (let ((temp121_0
                                                                     (lambda (v_2
                                                                              knowns_2)
                                                                       (schemify/knowns_0
                                                                        knowns_2
                                                                        inline-fuel_0
                                                                        'fresh
                                                                        unsafe-mode?_2
                                                                        v_2))))
                                                                (struct-convert-local.1
                                                                 #f
                                                                 target_0
                                                                 unsafe-mode?_2
                                                                 v84_0
                                                                 prim-knowns_0
                                                                 knowns_1
                                                                 imports_0
                                                                 mutated_0
                                                                 simples_0
                                                                 temp121_0))
                                                              #f)))
                                                       (if or-part_0
                                                         or-part_0
                                                         (unnest-let
                                                          (let ((app_0
                                                                 (reverse$1
                                                                  (letrec*
                                                                   ((for-loop_0
                                                                     (|#%name|
                                                                      for-loop
                                                                      (lambda (fold-var_0
                                                                               lst_0)
                                                                        (if (pair?
                                                                             lst_0)
                                                                          (let ((rhs_0
                                                                                 (unsafe-car
                                                                                  lst_0)))
                                                                            (let ((rest_0
                                                                                   (unsafe-cdr
                                                                                    lst_0)))
                                                                              (let ((fold-var_1
                                                                                     (let ((fold-var_1
                                                                                            (cons
                                                                                             (schemify_1
                                                                                              rhs_0
                                                                                              'fresh)
                                                                                             fold-var_0)))
                                                                                       (values
                                                                                        fold-var_1))))
                                                                                (for-loop_0
                                                                                 fold-var_1
                                                                                 rest_0))))
                                                                          fold-var_0)))))
                                                                   (for-loop_0
                                                                    null
                                                                    rhss_0)))))
                                                            (left-to-right/let-values
                                                             idss_0
                                                             app_0
                                                             (schemify-body_1
                                                              bodys_0
                                                              wcm-state85_0)
                                                             mutated_0
                                                             target_0
                                                             unsafe-mode?_2))
                                                          prim-knowns_0
                                                          knowns_1
                                                          imports_0
                                                          mutated_0
                                                          simples_0
                                                          unsafe-mode?_2)))))
                                                  (if (if (eq?
                                                           'letrec-values
                                                           hd_0)
                                                        (let ((a_0
                                                               (cdr
                                                                (unwrap
                                                                 v84_0))))
                                                          (let ((p_0
                                                                 (unwrap a_0)))
                                                            (if (pair? p_0)
                                                              (if (let ((a_1
                                                                         (car
                                                                          p_0)))
                                                                    (let ((app_0
                                                                           (unwrap
                                                                            '())))
                                                                      (eq?
                                                                       app_0
                                                                       (unwrap
                                                                        a_1))))
                                                                (let ((a_1
                                                                       (cdr
                                                                        p_0)))
                                                                  (wrap-list?
                                                                   a_1))
                                                                #f)
                                                              #f)))
                                                        #f)
                                                    (let ((bodys_0
                                                           (let ((d_0
                                                                  (cdr
                                                                   (unwrap
                                                                    v84_0))))
                                                             (let ((d_1
                                                                    (cdr
                                                                     (unwrap
                                                                      d_0))))
                                                               (unwrap-list
                                                                d_1)))))
                                                      (schemify_1
                                                       (list* 'begin bodys_0)
                                                       wcm-state85_0))
                                                    (if (if (eq?
                                                             'letrec-values
                                                             hd_0)
                                                          (let ((a_0
                                                                 (cdr
                                                                  (unwrap
                                                                   v84_0))))
                                                            (let ((p_0
                                                                   (unwrap
                                                                    a_0)))
                                                              (if (pair? p_0)
                                                                (if (let ((a_1
                                                                           (car
                                                                            p_0)))
                                                                      (let ((p_1
                                                                             (unwrap
                                                                              a_1)))
                                                                        (if (pair?
                                                                             p_1)
                                                                          (if (let ((a_2
                                                                                     (car
                                                                                      p_1)))
                                                                                (let ((p_2
                                                                                       (unwrap
                                                                                        a_2)))
                                                                                  (if (pair?
                                                                                       p_2)
                                                                                    (if (let ((a_3
                                                                                               (car
                                                                                                p_2)))
                                                                                          (let ((app_0
                                                                                                 (unwrap
                                                                                                  '())))
                                                                                            (eq?
                                                                                             app_0
                                                                                             (unwrap
                                                                                              a_3))))
                                                                                      (let ((a_3
                                                                                             (cdr
                                                                                              p_2)))
                                                                                        (let ((p_3
                                                                                               (unwrap
                                                                                                a_3)))
                                                                                          (if (pair?
                                                                                               p_3)
                                                                                            (if (let ((a_4
                                                                                                       (car
                                                                                                        p_3)))
                                                                                                  (let ((p_4
                                                                                                         (unwrap
                                                                                                          a_4)))
                                                                                                    (if (pair?
                                                                                                         p_4)
                                                                                                      (if (let ((a_5
                                                                                                                 (car
                                                                                                                  p_4)))
                                                                                                            (let ((app_0
                                                                                                                   (unwrap
                                                                                                                    'values)))
                                                                                                              (eq?
                                                                                                               app_0
                                                                                                               (unwrap
                                                                                                                a_5))))
                                                                                                        (let ((a_5
                                                                                                               (cdr
                                                                                                                p_4)))
                                                                                                          (let ((app_0
                                                                                                                 (unwrap
                                                                                                                  '())))
                                                                                                            (eq?
                                                                                                             app_0
                                                                                                             (unwrap
                                                                                                              a_5))))
                                                                                                        #f)
                                                                                                      #f)))
                                                                                              (let ((a_4
                                                                                                     (cdr
                                                                                                      p_3)))
                                                                                                (let ((app_0
                                                                                                       (unwrap
                                                                                                        '())))
                                                                                                  (eq?
                                                                                                   app_0
                                                                                                   (unwrap
                                                                                                    a_4))))
                                                                                              #f)
                                                                                            #f)))
                                                                                      #f)
                                                                                    #f)))
                                                                            (let ((a_2
                                                                                   (cdr
                                                                                    p_1)))
                                                                              (let ((app_0
                                                                                     (unwrap
                                                                                      '())))
                                                                                (eq?
                                                                                 app_0
                                                                                 (unwrap
                                                                                  a_2))))
                                                                            #f)
                                                                          #f)))
                                                                  (let ((a_1
                                                                         (cdr
                                                                          p_0)))
                                                                    (wrap-list?
                                                                     a_1))
                                                                  #f)
                                                                #f)))
                                                          #f)
                                                      (let ((bodys_0
                                                             (let ((d_0
                                                                    (cdr
                                                                     (unwrap
                                                                      v84_0))))
                                                               (let ((d_1
                                                                      (cdr
                                                                       (unwrap
                                                                        d_0))))
                                                                 (unwrap-list
                                                                  d_1)))))
                                                        (schemify_1
                                                         (list* 'begin bodys_0)
                                                         wcm-state85_0))
                                                      (if (if (eq?
                                                               'letrec-values
                                                               hd_0)
                                                            (let ((a_0
                                                                   (cdr
                                                                    (unwrap
                                                                     v84_0))))
                                                              (let ((p_0
                                                                     (unwrap
                                                                      a_0)))
                                                                (if (pair? p_0)
                                                                  (if (let ((a_1
                                                                             (car
                                                                              p_0)))
                                                                        (let ((p_1
                                                                               (unwrap
                                                                                a_1)))
                                                                          (if (pair?
                                                                               p_1)
                                                                            (if (let ((a_2
                                                                                       (car
                                                                                        p_1)))
                                                                                  (let ((p_2
                                                                                         (unwrap
                                                                                          a_2)))
                                                                                    (if (pair?
                                                                                         p_2)
                                                                                      (if (let ((a_3
                                                                                                 (car
                                                                                                  p_2)))
                                                                                            (let ((p_3
                                                                                                   (unwrap
                                                                                                    a_3)))
                                                                                              (if (pair?
                                                                                                   p_3)
                                                                                                (let ((a_4
                                                                                                       (cdr
                                                                                                        p_3)))
                                                                                                  (let ((app_0
                                                                                                         (unwrap
                                                                                                          '())))
                                                                                                    (eq?
                                                                                                     app_0
                                                                                                     (unwrap
                                                                                                      a_4))))
                                                                                                #f)))
                                                                                        (let ((a_3
                                                                                               (cdr
                                                                                                p_2)))
                                                                                          (let ((p_3
                                                                                                 (unwrap
                                                                                                  a_3)))
                                                                                            (if (pair?
                                                                                                 p_3)
                                                                                              (if (let ((a_4
                                                                                                         (car
                                                                                                          p_3)))
                                                                                                    (let ((p_4
                                                                                                           (unwrap
                                                                                                            a_4)))
                                                                                                      (if (pair?
                                                                                                           p_4)
                                                                                                        (if (let ((a_5
                                                                                                                   (car
                                                                                                                    p_4)))
                                                                                                              (let ((app_0
                                                                                                                     (unwrap
                                                                                                                      'values)))
                                                                                                                (eq?
                                                                                                                 app_0
                                                                                                                 (unwrap
                                                                                                                  a_5))))
                                                                                                          (let ((a_5
                                                                                                                 (cdr
                                                                                                                  p_4)))
                                                                                                            (let ((p_5
                                                                                                                   (unwrap
                                                                                                                    a_5)))
                                                                                                              (if (pair?
                                                                                                                   p_5)
                                                                                                                (let ((a_6
                                                                                                                       (cdr
                                                                                                                        p_5)))
                                                                                                                  (let ((app_0
                                                                                                                         (unwrap
                                                                                                                          '())))
                                                                                                                    (eq?
                                                                                                                     app_0
                                                                                                                     (unwrap
                                                                                                                      a_6))))
                                                                                                                #f)))
                                                                                                          #f)
                                                                                                        #f)))
                                                                                                (let ((a_4
                                                                                                       (cdr
                                                                                                        p_3)))
                                                                                                  (let ((app_0
                                                                                                         (unwrap
                                                                                                          '())))
                                                                                                    (eq?
                                                                                                     app_0
                                                                                                     (unwrap
                                                                                                      a_4))))
                                                                                                #f)
                                                                                              #f)))
                                                                                        #f)
                                                                                      #f)))
                                                                              (let ((a_2
                                                                                     (cdr
                                                                                      p_1)))
                                                                                (let ((app_0
                                                                                       (unwrap
                                                                                        '())))
                                                                                  (eq?
                                                                                   app_0
                                                                                   (unwrap
                                                                                    a_2))))
                                                                              #f)
                                                                            #f)))
                                                                    (let ((a_1
                                                                           (cdr
                                                                            p_0)))
                                                                      (wrap-list?
                                                                       a_1))
                                                                    #f)
                                                                  #f)))
                                                            #f)
                                                        (call-with-values
                                                         (lambda ()
                                                           (let ((d_0
                                                                  (cdr
                                                                   (unwrap
                                                                    v84_0))))
                                                             (let ((p_0
                                                                    (unwrap
                                                                     d_0)))
                                                               (call-with-values
                                                                (lambda ()
                                                                  (let ((a_0
                                                                         (car
                                                                          p_0)))
                                                                    (let ((a_1
                                                                           (car
                                                                            (unwrap
                                                                             a_0))))
                                                                      (let ((p_1
                                                                             (unwrap
                                                                              a_1)))
                                                                        (let ((id_0
                                                                               (let ((a_2
                                                                                      (car
                                                                                       p_1)))
                                                                                 (let ((a_3
                                                                                        (car
                                                                                         (unwrap
                                                                                          a_2))))
                                                                                   a_3))))
                                                                          (let ((rhs_0
                                                                                 (let ((d_1
                                                                                        (cdr
                                                                                         p_1)))
                                                                                   (let ((a_2
                                                                                          (car
                                                                                           (unwrap
                                                                                            d_1))))
                                                                                     (let ((d_2
                                                                                            (cdr
                                                                                             (unwrap
                                                                                              a_2))))
                                                                                       (let ((a_3
                                                                                              (car
                                                                                               (unwrap
                                                                                                d_2))))
                                                                                         a_3))))))
                                                                            (let ((id_1
                                                                                   id_0))
                                                                              (values
                                                                               id_1
                                                                               rhs_0))))))))
                                                                (lambda (id_0
                                                                         rhs_0)
                                                                  (let ((bodys_0
                                                                         (let ((d_1
                                                                                (cdr
                                                                                 p_0)))
                                                                           (unwrap-list
                                                                            d_1))))
                                                                    (let ((id_1
                                                                           id_0)
                                                                          (rhs_1
                                                                           rhs_0))
                                                                      (values
                                                                       id_1
                                                                       rhs_1
                                                                       bodys_0))))))))
                                                         (lambda (id_0
                                                                  rhs_0
                                                                  bodys_0)
                                                           (schemify_1
                                                            (list*
                                                             'letrec-values
                                                             (list
                                                              (list
                                                               (list id_0)
                                                               rhs_0))
                                                             bodys_0)
                                                            wcm-state85_0)))
                                                        (if (if (eq?
                                                                 'letrec-values
                                                                 hd_0)
                                                              (let ((a_0
                                                                     (cdr
                                                                      (unwrap
                                                                       v84_0))))
                                                                (let ((p_0
                                                                       (unwrap
                                                                        a_0)))
                                                                  (if (pair?
                                                                       p_0)
                                                                    (if (let ((a_1
                                                                               (car
                                                                                p_0)))
                                                                          (if (wrap-list?
                                                                               a_1)
                                                                            (letrec*
                                                                             ((for-loop_0
                                                                               (|#%name|
                                                                                for-loop
                                                                                (lambda (result_0
                                                                                         lst_0)
                                                                                  (if (not
                                                                                       (null?
                                                                                        (unwrap
                                                                                         lst_0)))
                                                                                    (let ((v_2
                                                                                           (if (pair?
                                                                                                (unwrap
                                                                                                 lst_0))
                                                                                             (wrap-car
                                                                                              lst_0)
                                                                                             lst_0)))
                                                                                      (let ((rest_0
                                                                                             (if (pair?
                                                                                                  (unwrap
                                                                                                   lst_0))
                                                                                               (wrap-cdr
                                                                                                lst_0)
                                                                                               null)))
                                                                                        (let ((v_3
                                                                                               v_2))
                                                                                          (let ((result_1
                                                                                                 (let ((result_1
                                                                                                        (let ((p_1
                                                                                                               (unwrap
                                                                                                                v_3)))
                                                                                                          (if (pair?
                                                                                                               p_1)
                                                                                                            (if (let ((a_2
                                                                                                                       (car
                                                                                                                        p_1)))
                                                                                                                  (let ((p_2
                                                                                                                         (unwrap
                                                                                                                          a_2)))
                                                                                                                    (if (pair?
                                                                                                                         p_2)
                                                                                                                      (let ((a_3
                                                                                                                             (cdr
                                                                                                                              p_2)))
                                                                                                                        (let ((app_0
                                                                                                                               (unwrap
                                                                                                                                '())))
                                                                                                                          (eq?
                                                                                                                           app_0
                                                                                                                           (unwrap
                                                                                                                            a_3))))
                                                                                                                      #f)))
                                                                                                              (let ((a_2
                                                                                                                     (cdr
                                                                                                                      p_1)))
                                                                                                                (let ((p_2
                                                                                                                       (unwrap
                                                                                                                        a_2)))
                                                                                                                  (if (pair?
                                                                                                                       p_2)
                                                                                                                    (let ((a_3
                                                                                                                           (cdr
                                                                                                                            p_2)))
                                                                                                                      (let ((app_0
                                                                                                                             (unwrap
                                                                                                                              '())))
                                                                                                                        (eq?
                                                                                                                         app_0
                                                                                                                         (unwrap
                                                                                                                          a_3))))
                                                                                                                    #f)))
                                                                                                              #f)
                                                                                                            #f))))
                                                                                                   (values
                                                                                                    result_1))))
                                                                                            (if (if (not
                                                                                                     (let ((x_0
                                                                                                            (list
                                                                                                             v_3)))
                                                                                                       (not
                                                                                                        result_1)))
                                                                                                  #t
                                                                                                  #f)
                                                                                              (for-loop_0
                                                                                               result_1
                                                                                               rest_0)
                                                                                              result_1)))))
                                                                                    result_0)))))
                                                                             (for-loop_0
                                                                              #t
                                                                              a_1))
                                                                            #f))
                                                                      (let ((a_1
                                                                             (cdr
                                                                              p_0)))
                                                                        (wrap-list?
                                                                         a_1))
                                                                      #f)
                                                                    #f)))
                                                              #f)
                                                          (call-with-values
                                                           (lambda ()
                                                             (let ((d_0
                                                                    (cdr
                                                                     (unwrap
                                                                      v84_0))))
                                                               (let ((p_0
                                                                      (unwrap
                                                                       d_0)))
                                                                 (call-with-values
                                                                  (lambda ()
                                                                    (let ((a_0
                                                                           (car
                                                                            p_0)))
                                                                      (call-with-values
                                                                       (lambda ()
                                                                         (letrec*
                                                                          ((for-loop_0
                                                                            (|#%name|
                                                                             for-loop
                                                                             (lambda (ids_0
                                                                                      rhss_0
                                                                                      lst_0)
                                                                               (if (not
                                                                                    (null?
                                                                                     (unwrap
                                                                                      lst_0)))
                                                                                 (let ((v_2
                                                                                        (if (pair?
                                                                                             (unwrap
                                                                                              lst_0))
                                                                                          (wrap-car
                                                                                           lst_0)
                                                                                          lst_0)))
                                                                                   (let ((rest_0
                                                                                          (if (pair?
                                                                                               (unwrap
                                                                                                lst_0))
                                                                                            (wrap-cdr
                                                                                             lst_0)
                                                                                            null)))
                                                                                     (let ((v_3
                                                                                            v_2))
                                                                                       (call-with-values
                                                                                        (lambda ()
                                                                                          (call-with-values
                                                                                           (lambda ()
                                                                                             (call-with-values
                                                                                              (lambda ()
                                                                                                (let ((p_1
                                                                                                       (unwrap
                                                                                                        v_3)))
                                                                                                  (let ((ids_1
                                                                                                         (let ((a_1
                                                                                                                (car
                                                                                                                 p_1)))
                                                                                                           (let ((a_2
                                                                                                                  (car
                                                                                                                   (unwrap
                                                                                                                    a_1))))
                                                                                                             a_2))))
                                                                                                    (let ((rhss_1
                                                                                                           (let ((d_1
                                                                                                                  (cdr
                                                                                                                   p_1)))
                                                                                                             (let ((a_1
                                                                                                                    (car
                                                                                                                     (unwrap
                                                                                                                      d_1))))
                                                                                                               a_1))))
                                                                                                      (let ((ids_2
                                                                                                             ids_1))
                                                                                                        (values
                                                                                                         ids_2
                                                                                                         rhss_1))))))
                                                                                              (lambda (ids124_0
                                                                                                       rhss125_0)
                                                                                                (values
                                                                                                 (cons
                                                                                                  ids124_0
                                                                                                  ids_0)
                                                                                                 (cons
                                                                                                  rhss125_0
                                                                                                  rhss_0)))))
                                                                                           (lambda (ids_1
                                                                                                    rhss_1)
                                                                                             (values
                                                                                              ids_1
                                                                                              rhss_1))))
                                                                                        (lambda (ids_1
                                                                                                 rhss_1)
                                                                                          (for-loop_0
                                                                                           ids_1
                                                                                           rhss_1
                                                                                           rest_0))))))
                                                                                 (values
                                                                                  ids_0
                                                                                  rhss_0))))))
                                                                          (for-loop_0
                                                                           null
                                                                           null
                                                                           a_0)))
                                                                       (lambda (ids_0
                                                                                rhss_0)
                                                                         (let ((app_0
                                                                                (reverse$1
                                                                                 ids_0)))
                                                                           (values
                                                                            app_0
                                                                            (reverse$1
                                                                             rhss_0)))))))
                                                                  (lambda (ids_0
                                                                           rhss_0)
                                                                    (let ((bodys_0
                                                                           (let ((d_1
                                                                                  (cdr
                                                                                   p_0)))
                                                                             (unwrap-list
                                                                              d_1))))
                                                                      (let ((ids_1
                                                                             ids_0)
                                                                            (rhss_1
                                                                             rhss_0))
                                                                        (values
                                                                         ids_1
                                                                         rhss_1
                                                                         bodys_0))))))))
                                                           (lambda (ids_0
                                                                    rhss_0
                                                                    bodys_0)
                                                             (call-with-values
                                                              (lambda ()
                                                                (letrec*
                                                                 ((for-loop_0
                                                                   (|#%name|
                                                                    for-loop
                                                                    (lambda (rhs-knowns_0
                                                                             body-knowns_0
                                                                             lst_0
                                                                             lst_1)
                                                                      (if (if (pair?
                                                                               lst_0)
                                                                            (pair?
                                                                             lst_1)
                                                                            #f)
                                                                        (let ((id_0
                                                                               (unsafe-car
                                                                                lst_0)))
                                                                          (let ((rest_0
                                                                                 (unsafe-cdr
                                                                                  lst_0)))
                                                                            (let ((rhs_0
                                                                                   (unsafe-car
                                                                                    lst_1)))
                                                                              (let ((rest_1
                                                                                     (unsafe-cdr
                                                                                      lst_1)))
                                                                                (call-with-values
                                                                                 (lambda ()
                                                                                   (call-with-values
                                                                                    (lambda ()
                                                                                      (let ((k_0
                                                                                             (infer-known.1
                                                                                              unsafe-undefined
                                                                                              #f
                                                                                              #f
                                                                                              rhs_0
                                                                                              id_0
                                                                                              knowns_1
                                                                                              prim-knowns_0
                                                                                              imports_0
                                                                                              mutated_0
                                                                                              simples_0
                                                                                              unsafe-mode?_2
                                                                                              target_0)))
                                                                                        (let ((u-id_0
                                                                                               (unwrap
                                                                                                id_0)))
                                                                                          (if (too-early-mutated-state?
                                                                                               (hash-ref
                                                                                                mutated_0
                                                                                                u-id_0
                                                                                                #f))
                                                                                            (values
                                                                                             rhs-knowns_0
                                                                                             (hash-set
                                                                                              knowns_1
                                                                                              u-id_0
                                                                                              (if k_0
                                                                                                k_0
                                                                                                a-known-constant)))
                                                                                            (if k_0
                                                                                              (let ((app_0
                                                                                                     (hash-set
                                                                                                      rhs-knowns_0
                                                                                                      u-id_0
                                                                                                      k_0)))
                                                                                                (values
                                                                                                 app_0
                                                                                                 (hash-set
                                                                                                  body-knowns_0
                                                                                                  u-id_0
                                                                                                  k_0)))
                                                                                              (values
                                                                                               rhs-knowns_0
                                                                                               body-knowns_0))))))
                                                                                    (lambda (rhs-knowns_1
                                                                                             body-knowns_1)
                                                                                      (values
                                                                                       rhs-knowns_1
                                                                                       body-knowns_1))))
                                                                                 (lambda (rhs-knowns_1
                                                                                          body-knowns_1)
                                                                                   (for-loop_0
                                                                                    rhs-knowns_1
                                                                                    body-knowns_1
                                                                                    rest_0
                                                                                    rest_1)))))))
                                                                        (values
                                                                         rhs-knowns_0
                                                                         body-knowns_0))))))
                                                                 (for-loop_0
                                                                  knowns_1
                                                                  knowns_1
                                                                  ids_0
                                                                  rhss_0)))
                                                              (lambda (rhs-knowns_0
                                                                       body-knowns_0)
                                                                (unnest-let
                                                                 (letrec-conversion
                                                                  ids_0
                                                                  mutated_0
                                                                  target_0
                                                                  (let ((app_0
                                                                         (reverse$1
                                                                          (letrec*
                                                                           ((for-loop_0
                                                                             (|#%name|
                                                                              for-loop
                                                                              (lambda (fold-var_0
                                                                                       lst_0
                                                                                       lst_1)
                                                                                (if (if (pair?
                                                                                         lst_0)
                                                                                      (pair?
                                                                                       lst_1)
                                                                                      #f)
                                                                                  (let ((id_0
                                                                                         (unsafe-car
                                                                                          lst_0)))
                                                                                    (let ((rest_0
                                                                                           (unsafe-cdr
                                                                                            lst_0)))
                                                                                      (let ((rhs_0
                                                                                             (unsafe-car
                                                                                              lst_1)))
                                                                                        (let ((rest_1
                                                                                               (unsafe-cdr
                                                                                                lst_1)))
                                                                                          (let ((fold-var_1
                                                                                                 (let ((fold-var_1
                                                                                                        (cons
                                                                                                         (list
                                                                                                          id_0
                                                                                                          (schemify/knowns_0
                                                                                                           rhs-knowns_0
                                                                                                           inline-fuel_0
                                                                                                           'fresh
                                                                                                           unsafe-mode?_2
                                                                                                           rhs_0))
                                                                                                         fold-var_0)))
                                                                                                   (values
                                                                                                    fold-var_1))))
                                                                                            (for-loop_0
                                                                                             fold-var_1
                                                                                             rest_0
                                                                                             rest_1))))))
                                                                                  fold-var_0)))))
                                                                           (for-loop_0
                                                                            null
                                                                            ids_0
                                                                            rhss_0)))))
                                                                    (list*
                                                                     'letrec*
                                                                     app_0
                                                                     (reverse$1
                                                                      (letrec*
                                                                       ((for-loop_0
                                                                         (|#%name|
                                                                          for-loop
                                                                          (lambda (fold-var_0
                                                                                   lst_0)
                                                                            (if (pair?
                                                                                 lst_0)
                                                                              (let ((body_0
                                                                                     (unsafe-car
                                                                                      lst_0)))
                                                                                (let ((rest_0
                                                                                       (unsafe-cdr
                                                                                        lst_0)))
                                                                                  (let ((fold-var_1
                                                                                         (let ((fold-var_1
                                                                                                (cons
                                                                                                 (schemify/knowns_0
                                                                                                  body-knowns_0
                                                                                                  inline-fuel_0
                                                                                                  wcm-state85_0
                                                                                                  unsafe-mode?_2
                                                                                                  body_0)
                                                                                                 fold-var_0)))
                                                                                           (values
                                                                                            fold-var_1))))
                                                                                    (for-loop_0
                                                                                     fold-var_1
                                                                                     rest_0))))
                                                                              fold-var_0)))))
                                                                       (for-loop_0
                                                                        null
                                                                        bodys_0))))))
                                                                 prim-knowns_0
                                                                 knowns_1
                                                                 imports_0
                                                                 mutated_0
                                                                 simples_0
                                                                 unsafe-mode?_2)))))
                                                          (if (if (eq?
                                                                   'letrec-values
                                                                   hd_0)
                                                                (let ((a_0
                                                                       (cdr
                                                                        (unwrap
                                                                         v84_0))))
                                                                  (let ((p_0
                                                                         (unwrap
                                                                          a_0)))
                                                                    (if (pair?
                                                                         p_0)
                                                                      (if (let ((a_1
                                                                                 (car
                                                                                  p_0)))
                                                                            (if (wrap-list?
                                                                                 a_1)
                                                                              (letrec*
                                                                               ((for-loop_0
                                                                                 (|#%name|
                                                                                  for-loop
                                                                                  (lambda (result_0
                                                                                           lst_0)
                                                                                    (if (not
                                                                                         (null?
                                                                                          (unwrap
                                                                                           lst_0)))
                                                                                      (let ((v_2
                                                                                             (if (pair?
                                                                                                  (unwrap
                                                                                                   lst_0))
                                                                                               (wrap-car
                                                                                                lst_0)
                                                                                               lst_0)))
                                                                                        (let ((rest_0
                                                                                               (if (pair?
                                                                                                    (unwrap
                                                                                                     lst_0))
                                                                                                 (wrap-cdr
                                                                                                  lst_0)
                                                                                                 null)))
                                                                                          (let ((v_3
                                                                                                 v_2))
                                                                                            (let ((result_1
                                                                                                   (let ((result_1
                                                                                                          (let ((p_1
                                                                                                                 (unwrap
                                                                                                                  v_3)))
                                                                                                            (if (pair?
                                                                                                                 p_1)
                                                                                                              (let ((a_2
                                                                                                                     (cdr
                                                                                                                      p_1)))
                                                                                                                (let ((p_2
                                                                                                                       (unwrap
                                                                                                                        a_2)))
                                                                                                                  (if (pair?
                                                                                                                       p_2)
                                                                                                                    (let ((a_3
                                                                                                                           (cdr
                                                                                                                            p_2)))
                                                                                                                      (let ((app_0
                                                                                                                             (unwrap
                                                                                                                              '())))
                                                                                                                        (eq?
                                                                                                                         app_0
                                                                                                                         (unwrap
                                                                                                                          a_3))))
                                                                                                                    #f)))
                                                                                                              #f))))
                                                                                                     (values
                                                                                                      result_1))))
                                                                                              (if (if (not
                                                                                                       (let ((x_0
                                                                                                              (list
                                                                                                               v_3)))
                                                                                                         (not
                                                                                                          result_1)))
                                                                                                    #t
                                                                                                    #f)
                                                                                                (for-loop_0
                                                                                                 result_1
                                                                                                 rest_0)
                                                                                                result_1)))))
                                                                                      result_0)))))
                                                                               (for-loop_0
                                                                                #t
                                                                                a_1))
                                                                              #f))
                                                                        (let ((a_1
                                                                               (cdr
                                                                                p_0)))
                                                                          (wrap-list?
                                                                           a_1))
                                                                        #f)
                                                                      #f)))
                                                                #f)
                                                            (call-with-values
                                                             (lambda ()
                                                               (let ((d_0
                                                                      (cdr
                                                                       (unwrap
                                                                        v84_0))))
                                                                 (let ((p_0
                                                                        (unwrap
                                                                         d_0)))
                                                                   (call-with-values
                                                                    (lambda ()
                                                                      (let ((a_0
                                                                             (car
                                                                              p_0)))
                                                                        (call-with-values
                                                                         (lambda ()
                                                                           (letrec*
                                                                            ((for-loop_0
                                                                              (|#%name|
                                                                               for-loop
                                                                               (lambda (idss_0
                                                                                        rhss_0
                                                                                        lst_0)
                                                                                 (if (not
                                                                                      (null?
                                                                                       (unwrap
                                                                                        lst_0)))
                                                                                   (let ((v_2
                                                                                          (if (pair?
                                                                                               (unwrap
                                                                                                lst_0))
                                                                                            (wrap-car
                                                                                             lst_0)
                                                                                            lst_0)))
                                                                                     (let ((rest_0
                                                                                            (if (pair?
                                                                                                 (unwrap
                                                                                                  lst_0))
                                                                                              (wrap-cdr
                                                                                               lst_0)
                                                                                              null)))
                                                                                       (let ((v_3
                                                                                              v_2))
                                                                                         (call-with-values
                                                                                          (lambda ()
                                                                                            (call-with-values
                                                                                             (lambda ()
                                                                                               (call-with-values
                                                                                                (lambda ()
                                                                                                  (let ((p_1
                                                                                                         (unwrap
                                                                                                          v_3)))
                                                                                                    (let ((idss_1
                                                                                                           (let ((a_1
                                                                                                                  (car
                                                                                                                   p_1)))
                                                                                                             a_1)))
                                                                                                      (let ((rhss_1
                                                                                                             (let ((d_1
                                                                                                                    (cdr
                                                                                                                     p_1)))
                                                                                                               (let ((a_1
                                                                                                                      (car
                                                                                                                       (unwrap
                                                                                                                        d_1))))
                                                                                                                 a_1))))
                                                                                                        (let ((idss_2
                                                                                                               idss_1))
                                                                                                          (values
                                                                                                           idss_2
                                                                                                           rhss_1))))))
                                                                                                (lambda (idss135_0
                                                                                                         rhss136_0)
                                                                                                  (values
                                                                                                   (cons
                                                                                                    idss135_0
                                                                                                    idss_0)
                                                                                                   (cons
                                                                                                    rhss136_0
                                                                                                    rhss_0)))))
                                                                                             (lambda (idss_1
                                                                                                      rhss_1)
                                                                                               (values
                                                                                                idss_1
                                                                                                rhss_1))))
                                                                                          (lambda (idss_1
                                                                                                   rhss_1)
                                                                                            (for-loop_0
                                                                                             idss_1
                                                                                             rhss_1
                                                                                             rest_0))))))
                                                                                   (values
                                                                                    idss_0
                                                                                    rhss_0))))))
                                                                            (for-loop_0
                                                                             null
                                                                             null
                                                                             a_0)))
                                                                         (lambda (idss_0
                                                                                  rhss_0)
                                                                           (let ((app_0
                                                                                  (reverse$1
                                                                                   idss_0)))
                                                                             (values
                                                                              app_0
                                                                              (reverse$1
                                                                               rhss_0)))))))
                                                                    (lambda (idss_0
                                                                             rhss_0)
                                                                      (let ((bodys_0
                                                                             (let ((d_1
                                                                                    (cdr
                                                                                     p_0)))
                                                                               (unwrap-list
                                                                                d_1))))
                                                                        (let ((idss_1
                                                                               idss_0)
                                                                              (rhss_1
                                                                               rhss_0))
                                                                          (values
                                                                           idss_1
                                                                           rhss_1
                                                                           bodys_0))))))))
                                                             (lambda (idss_0
                                                                      rhss_0
                                                                      bodys_0)
                                                               (let ((temp144_0
                                                                      (lambda (v_2
                                                                               knowns_2)
                                                                        (schemify/knowns_0
                                                                         knowns_2
                                                                         inline-fuel_0
                                                                         'fresh
                                                                         unsafe-mode?_2
                                                                         v_2))))
                                                                 (let ((cond-val_0
                                                                        (struct-convert-local.1
                                                                         #t
                                                                         target_0
                                                                         unsafe-mode?_2
                                                                         v84_0
                                                                         prim-knowns_0
                                                                         knowns_1
                                                                         imports_0
                                                                         mutated_0
                                                                         simples_0
                                                                         temp144_0)))
                                                                   (if cond-val_0
                                                                     cond-val_0
                                                                     (if (letrec-splitable-values-binding?
                                                                          idss_0
                                                                          rhss_0)
                                                                       (schemify_1
                                                                        (letrec-split-values-binding
                                                                         idss_0
                                                                         rhss_0
                                                                         bodys_0)
                                                                        wcm-state85_0)
                                                                       (letrec-conversion
                                                                        idss_0
                                                                        mutated_0
                                                                        target_0
                                                                        (let ((app_0
                                                                               (apply
                                                                                append
                                                                                (reverse$1
                                                                                 (letrec*
                                                                                  ((for-loop_0
                                                                                    (|#%name|
                                                                                     for-loop
                                                                                     (lambda (fold-var_0
                                                                                              lst_0
                                                                                              lst_1)
                                                                                       (if (if (pair?
                                                                                                lst_0)
                                                                                             (pair?
                                                                                              lst_1)
                                                                                             #f)
                                                                                         (let ((ids_0
                                                                                                (unsafe-car
                                                                                                 lst_0)))
                                                                                           (let ((rest_0
                                                                                                  (unsafe-cdr
                                                                                                   lst_0)))
                                                                                             (let ((rhs_0
                                                                                                    (unsafe-car
                                                                                                     lst_1)))
                                                                                               (let ((rest_1
                                                                                                      (unsafe-cdr
                                                                                                       lst_1)))
                                                                                                 (let ((fold-var_1
                                                                                                        (let ((fold-var_1
                                                                                                               (cons
                                                                                                                (let ((rhs_1
                                                                                                                       (schemify_1
                                                                                                                        rhs_0
                                                                                                                        'fresh)))
                                                                                                                  (if (null?
                                                                                                                       ids_0)
                                                                                                                    (list
                                                                                                                     (let ((app_0
                                                                                                                            (deterministic-gensym
                                                                                                                             "lr")))
                                                                                                                       (list
                                                                                                                        app_0
                                                                                                                        (make-let-values
                                                                                                                         null
                                                                                                                         rhs_1
                                                                                                                         '(void)
                                                                                                                         target_0
                                                                                                                         unsafe-mode?_2))))
                                                                                                                    (if (if (pair?
                                                                                                                             ids_0)
                                                                                                                          (null?
                                                                                                                           (cdr
                                                                                                                            ids_0))
                                                                                                                          #f)
                                                                                                                      (list
                                                                                                                       (list
                                                                                                                        (car
                                                                                                                         ids_0)
                                                                                                                        rhs_1))
                                                                                                                      (let ((lr_0
                                                                                                                             (deterministic-gensym
                                                                                                                              "lr")))
                                                                                                                        (let ((app_0
                                                                                                                               (list
                                                                                                                                lr_0
                                                                                                                                (make-let-values
                                                                                                                                 ids_0
                                                                                                                                 rhs_1
                                                                                                                                 (list*
                                                                                                                                  'vector
                                                                                                                                  ids_0)
                                                                                                                                 target_0
                                                                                                                                 unsafe-mode?_2))))
                                                                                                                          (list*
                                                                                                                           app_0
                                                                                                                           (reverse$1
                                                                                                                            (letrec*
                                                                                                                             ((for-loop_1
                                                                                                                               (|#%name|
                                                                                                                                for-loop
                                                                                                                                (lambda (fold-var_1
                                                                                                                                         lst_2
                                                                                                                                         pos_0)
                                                                                                                                  (if (if (pair?
                                                                                                                                           lst_2)
                                                                                                                                        #t
                                                                                                                                        #f)
                                                                                                                                    (let ((id_0
                                                                                                                                           (unsafe-car
                                                                                                                                            lst_2)))
                                                                                                                                      (let ((rest_2
                                                                                                                                             (unsafe-cdr
                                                                                                                                              lst_2)))
                                                                                                                                        (let ((fold-var_2
                                                                                                                                               (cons
                                                                                                                                                (list
                                                                                                                                                 id_0
                                                                                                                                                 (list
                                                                                                                                                  'unsafe-vector*-ref
                                                                                                                                                  lr_0
                                                                                                                                                  pos_0))
                                                                                                                                                fold-var_1)))
                                                                                                                                          (let ((fold-var_3
                                                                                                                                                 (values
                                                                                                                                                  fold-var_2)))
                                                                                                                                            (for-loop_1
                                                                                                                                             fold-var_3
                                                                                                                                             rest_2
                                                                                                                                             (+
                                                                                                                                              pos_0
                                                                                                                                              1))))))
                                                                                                                                    fold-var_1)))))
                                                                                                                             (for-loop_1
                                                                                                                              null
                                                                                                                              ids_0
                                                                                                                              0)))))))))
                                                                                                                fold-var_0)))
                                                                                                          (values
                                                                                                           fold-var_1))))
                                                                                                   (for-loop_0
                                                                                                    fold-var_1
                                                                                                    rest_0
                                                                                                    rest_1))))))
                                                                                         fold-var_0)))))
                                                                                  (for-loop_0
                                                                                   null
                                                                                   idss_0
                                                                                   rhss_0))))))
                                                                          (list*
                                                                           'letrec*
                                                                           app_0
                                                                           (schemify-body_1
                                                                            bodys_0
                                                                            wcm-state85_0))))))))))
                                                            (if (if (eq?
                                                                     'if
                                                                     hd_0)
                                                                  (let ((a_0
                                                                         (cdr
                                                                          (unwrap
                                                                           v84_0))))
                                                                    (let ((p_0
                                                                           (unwrap
                                                                            a_0)))
                                                                      (if (pair?
                                                                           p_0)
                                                                        (let ((a_1
                                                                               (cdr
                                                                                p_0)))
                                                                          (let ((p_1
                                                                                 (unwrap
                                                                                  a_1)))
                                                                            (if (pair?
                                                                                 p_1)
                                                                              (let ((a_2
                                                                                     (cdr
                                                                                      p_1)))
                                                                                (let ((p_2
                                                                                       (unwrap
                                                                                        a_2)))
                                                                                  (if (pair?
                                                                                       p_2)
                                                                                    (let ((a_3
                                                                                           (cdr
                                                                                            p_2)))
                                                                                      (let ((app_0
                                                                                             (unwrap
                                                                                              '())))
                                                                                        (eq?
                                                                                         app_0
                                                                                         (unwrap
                                                                                          a_3))))
                                                                                    #f)))
                                                                              #f)))
                                                                        #f)))
                                                                  #f)
                                                              (call-with-values
                                                               (lambda ()
                                                                 (let ((d_0
                                                                        (cdr
                                                                         (unwrap
                                                                          v84_0))))
                                                                   (let ((p_0
                                                                          (unwrap
                                                                           d_0)))
                                                                     (let ((tst_0
                                                                            (let ((a_0
                                                                                   (car
                                                                                    p_0)))
                                                                              a_0)))
                                                                       (call-with-values
                                                                        (lambda ()
                                                                          (let ((d_1
                                                                                 (cdr
                                                                                  p_0)))
                                                                            (let ((p_1
                                                                                   (unwrap
                                                                                    d_1)))
                                                                              (let ((thn_0
                                                                                     (let ((a_0
                                                                                            (car
                                                                                             p_1)))
                                                                                       a_0)))
                                                                                (let ((els_0
                                                                                       (let ((d_2
                                                                                              (cdr
                                                                                               p_1)))
                                                                                         (let ((a_0
                                                                                                (car
                                                                                                 (unwrap
                                                                                                  d_2))))
                                                                                           a_0))))
                                                                                  (let ((thn_1
                                                                                         thn_0))
                                                                                    (values
                                                                                     thn_1
                                                                                     els_0)))))))
                                                                        (lambda (thn_0
                                                                                 els_0)
                                                                          (let ((tst_1
                                                                                 tst_0))
                                                                            (values
                                                                             tst_1
                                                                             thn_0
                                                                             els_0))))))))
                                                               (lambda (tst_0
                                                                        thn_0
                                                                        els_0)
                                                                 (let ((app_0
                                                                        (schemify_1
                                                                         tst_0
                                                                         'fresh)))
                                                                   (let ((app_1
                                                                          (schemify_1
                                                                           thn_0
                                                                           wcm-state85_0)))
                                                                     (list
                                                                      'if
                                                                      app_0
                                                                      app_1
                                                                      (schemify_1
                                                                       els_0
                                                                       wcm-state85_0))))))
                                                              (if (if (eq?
                                                                       'with-continuation-mark
                                                                       hd_0)
                                                                    (let ((a_0
                                                                           (cdr
                                                                            (unwrap
                                                                             v84_0))))
                                                                      (let ((p_0
                                                                             (unwrap
                                                                              a_0)))
                                                                        (if (pair?
                                                                             p_0)
                                                                          (let ((a_1
                                                                                 (cdr
                                                                                  p_0)))
                                                                            (let ((p_1
                                                                                   (unwrap
                                                                                    a_1)))
                                                                              (if (pair?
                                                                                   p_1)
                                                                                (let ((a_2
                                                                                       (cdr
                                                                                        p_1)))
                                                                                  (let ((p_2
                                                                                         (unwrap
                                                                                          a_2)))
                                                                                    (if (pair?
                                                                                         p_2)
                                                                                      (let ((a_3
                                                                                             (cdr
                                                                                              p_2)))
                                                                                        (let ((app_0
                                                                                               (unwrap
                                                                                                '())))
                                                                                          (eq?
                                                                                           app_0
                                                                                           (unwrap
                                                                                            a_3))))
                                                                                      #f)))
                                                                                #f)))
                                                                          #f)))
                                                                    #f)
                                                                (call-with-values
                                                                 (lambda ()
                                                                   (let ((d_0
                                                                          (cdr
                                                                           (unwrap
                                                                            v84_0))))
                                                                     (let ((p_0
                                                                            (unwrap
                                                                             d_0)))
                                                                       (let ((key_0
                                                                              (let ((a_0
                                                                                     (car
                                                                                      p_0)))
                                                                                a_0)))
                                                                         (call-with-values
                                                                          (lambda ()
                                                                            (let ((d_1
                                                                                   (cdr
                                                                                    p_0)))
                                                                              (let ((p_1
                                                                                     (unwrap
                                                                                      d_1)))
                                                                                (let ((val_0
                                                                                       (let ((a_0
                                                                                              (car
                                                                                               p_1)))
                                                                                         a_0)))
                                                                                  (let ((body_0
                                                                                         (let ((d_2
                                                                                                (cdr
                                                                                                 p_1)))
                                                                                           (let ((a_0
                                                                                                  (car
                                                                                                   (unwrap
                                                                                                    d_2))))
                                                                                             a_0))))
                                                                                    (let ((val_1
                                                                                           val_0))
                                                                                      (values
                                                                                       val_1
                                                                                       body_0)))))))
                                                                          (lambda (val_0
                                                                                   body_0)
                                                                            (let ((key_1
                                                                                   key_0))
                                                                              (values
                                                                               key_1
                                                                               val_0
                                                                               body_0))))))))
                                                                 (lambda (key_0
                                                                          val_0
                                                                          body_0)
                                                                   (let ((s-key_0
                                                                          (schemify_1
                                                                           key_0
                                                                           'fresh)))
                                                                     (let ((s-val_0
                                                                            (schemify_1
                                                                             val_0
                                                                             'fresh)))
                                                                       (let ((s-body_0
                                                                              (schemify_1
                                                                               body_0
                                                                               'marked)))
                                                                         (let ((authentic-key?_0
                                                                                (authentic-valued?
                                                                                 key_0
                                                                                 knowns_1
                                                                                 prim-knowns_0
                                                                                 imports_0
                                                                                 mutated_0)))
                                                                           (let ((build-wcm_0
                                                                                  (|#%name|
                                                                                   build-wcm
                                                                                   (lambda (s-key_1
                                                                                            s-val_1
                                                                                            s-body_1)
                                                                                     (if (eq?
                                                                                          target_0
                                                                                          'cify)
                                                                                       (list
                                                                                        'with-continuation-mark
                                                                                        s-key_1
                                                                                        s-val_1
                                                                                        s-body_1)
                                                                                       (let ((mode_0
                                                                                              (if (eq?
                                                                                                   wcm-state85_0
                                                                                                   'fresh)
                                                                                                (if authentic-key?_0
                                                                                                  'push-authentic
                                                                                                  'push)
                                                                                                (if authentic-key?_0
                                                                                                  'authentic
                                                                                                  'general))))
                                                                                         (list
                                                                                          'with-continuation-mark*
                                                                                          mode_0
                                                                                          s-key_1
                                                                                          s-val_1
                                                                                          s-body_1)))))))
                                                                             (let ((build-begin_0
                                                                                    (|#%name|
                                                                                     build-begin
                                                                                     (lambda (s-key_1
                                                                                              s-val_1
                                                                                              s-body_1)
                                                                                       (if (if (simple?.1
                                                                                                #f
                                                                                                #f
                                                                                                #t
                                                                                                1
                                                                                                #f
                                                                                                s-key_1
                                                                                                prim-knowns_0
                                                                                                knowns_1
                                                                                                imports_0
                                                                                                mutated_0
                                                                                                simples_0
                                                                                                unsafe-mode?_2)
                                                                                             (simple?.1
                                                                                              #f
                                                                                              #f
                                                                                              #t
                                                                                              1
                                                                                              #f
                                                                                              s-val_1
                                                                                              prim-knowns_0
                                                                                              knowns_1
                                                                                              imports_0
                                                                                              mutated_0
                                                                                              simples_0
                                                                                              unsafe-mode?_2)
                                                                                             #f)
                                                                                         s-body_1
                                                                                         (let ((app_0
                                                                                                (ensure-single-valued
                                                                                                 s-key_1
                                                                                                 knowns_1
                                                                                                 prim-knowns_0
                                                                                                 imports_0
                                                                                                 mutated_0)))
                                                                                           (list
                                                                                            'begin
                                                                                            app_0
                                                                                            (ensure-single-valued
                                                                                             s-val_1
                                                                                             knowns_1
                                                                                             prim-knowns_0
                                                                                             imports_0
                                                                                             mutated_0)
                                                                                            s-body_1)))))))
                                                                               (if authentic-key?_0
                                                                                 (if (simple?.1
                                                                                      #f
                                                                                      #t
                                                                                      #t
                                                                                      #f
                                                                                      #f
                                                                                      s-body_0
                                                                                      prim-knowns_0
                                                                                      knowns_1
                                                                                      imports_0
                                                                                      mutated_0
                                                                                      simples_0
                                                                                      unsafe-mode?_2)
                                                                                   (build-begin_0
                                                                                    s-key_0
                                                                                    s-val_0
                                                                                    s-body_0)
                                                                                   (let ((hd_1
                                                                                          (let ((p_0
                                                                                                 (unwrap
                                                                                                  s-body_0)))
                                                                                            (if (pair?
                                                                                                 p_0)
                                                                                              (unwrap
                                                                                               (car
                                                                                                p_0))
                                                                                              #f))))
                                                                                     (if (if (eq?
                                                                                              'with-continuation-mark*
                                                                                              hd_1)
                                                                                           (let ((a_0
                                                                                                  (cdr
                                                                                                   (unwrap
                                                                                                    s-body_0))))
                                                                                             (let ((p_0
                                                                                                    (unwrap
                                                                                                     a_0)))
                                                                                               (if (pair?
                                                                                                    p_0)
                                                                                                 (let ((a_1
                                                                                                        (cdr
                                                                                                         p_0)))
                                                                                                   (let ((p_1
                                                                                                          (unwrap
                                                                                                           a_1)))
                                                                                                     (if (pair?
                                                                                                          p_1)
                                                                                                       (let ((a_2
                                                                                                              (cdr
                                                                                                               p_1)))
                                                                                                         (let ((p_2
                                                                                                                (unwrap
                                                                                                                 a_2)))
                                                                                                           (if (pair?
                                                                                                                p_2)
                                                                                                             (let ((a_3
                                                                                                                    (cdr
                                                                                                                     p_2)))
                                                                                                               (let ((p_3
                                                                                                                      (unwrap
                                                                                                                       a_3)))
                                                                                                                 (if (pair?
                                                                                                                      p_3)
                                                                                                                   (let ((a_4
                                                                                                                          (cdr
                                                                                                                           p_3)))
                                                                                                                     (let ((app_0
                                                                                                                            (unwrap
                                                                                                                             '())))
                                                                                                                       (eq?
                                                                                                                        app_0
                                                                                                                        (unwrap
                                                                                                                         a_4))))
                                                                                                                   #f)))
                                                                                                             #f)))
                                                                                                       #f)))
                                                                                                 #f)))
                                                                                           #f)
                                                                                       (call-with-values
                                                                                        (lambda ()
                                                                                          (let ((d_0
                                                                                                 (cdr
                                                                                                  (unwrap
                                                                                                   s-body_0))))
                                                                                            (let ((p_0
                                                                                                   (unwrap
                                                                                                    d_0)))
                                                                                              (let ((mode2_0
                                                                                                     (let ((a_0
                                                                                                            (car
                                                                                                             p_0)))
                                                                                                       a_0)))
                                                                                                (call-with-values
                                                                                                 (lambda ()
                                                                                                   (let ((d_1
                                                                                                          (cdr
                                                                                                           p_0)))
                                                                                                     (let ((p_1
                                                                                                            (unwrap
                                                                                                             d_1)))
                                                                                                       (let ((s-key2_0
                                                                                                              (let ((a_0
                                                                                                                     (car
                                                                                                                      p_1)))
                                                                                                                a_0)))
                                                                                                         (call-with-values
                                                                                                          (lambda ()
                                                                                                            (let ((d_2
                                                                                                                   (cdr
                                                                                                                    p_1)))
                                                                                                              (let ((p_2
                                                                                                                     (unwrap
                                                                                                                      d_2)))
                                                                                                                (let ((s-val2_0
                                                                                                                       (let ((a_0
                                                                                                                              (car
                                                                                                                               p_2)))
                                                                                                                         a_0)))
                                                                                                                  (let ((s-body2_0
                                                                                                                         (let ((d_3
                                                                                                                                (cdr
                                                                                                                                 p_2)))
                                                                                                                           (let ((a_0
                                                                                                                                  (car
                                                                                                                                   (unwrap
                                                                                                                                    d_3))))
                                                                                                                             a_0))))
                                                                                                                    (let ((s-val2_1
                                                                                                                           s-val2_0))
                                                                                                                      (values
                                                                                                                       s-val2_1
                                                                                                                       s-body2_0)))))))
                                                                                                          (lambda (s-val2_0
                                                                                                                   s-body2_0)
                                                                                                            (let ((s-key2_1
                                                                                                                   s-key2_0))
                                                                                                              (values
                                                                                                               s-key2_1
                                                                                                               s-val2_0
                                                                                                               s-body2_0))))))))
                                                                                                 (lambda (s-key2_0
                                                                                                          s-val2_0
                                                                                                          s-body2_0)
                                                                                                   (let ((mode2_1
                                                                                                          mode2_0))
                                                                                                     (values
                                                                                                      mode2_1
                                                                                                      s-key2_0
                                                                                                      s-val2_0
                                                                                                      s-body2_0))))))))
                                                                                        (lambda (mode2_0
                                                                                                 s-key2_0
                                                                                                 s-val2_0
                                                                                                 s-body2_0)
                                                                                          (if (if (always-eq/no-marks?
                                                                                                   s-key_0
                                                                                                   s-key2_0
                                                                                                   mutated_0)
                                                                                                (simple?.1
                                                                                                 #f
                                                                                                 #t
                                                                                                 #t
                                                                                                 1
                                                                                                 #f
                                                                                                 s-val2_0
                                                                                                 prim-knowns_0
                                                                                                 knowns_1
                                                                                                 imports_0
                                                                                                 mutated_0
                                                                                                 simples_0
                                                                                                 unsafe-mode?_2)
                                                                                                #f)
                                                                                            (build-begin_0
                                                                                             s-key_0
                                                                                             s-val_0
                                                                                             (build-wcm_0
                                                                                              s-key2_0
                                                                                              s-val2_0
                                                                                              s-body2_0))
                                                                                            (build-wcm_0
                                                                                             s-key_0
                                                                                             s-val_0
                                                                                             s-body_0))))
                                                                                       (build-wcm_0
                                                                                        s-key_0
                                                                                        s-val_0
                                                                                        s-body_0))))
                                                                                 (build-wcm_0
                                                                                  s-key_0
                                                                                  s-val_0
                                                                                  s-body_0))))))))))
                                                                (if (if (eq?
                                                                         'begin
                                                                         hd_0)
                                                                      (let ((a_0
                                                                             (cdr
                                                                              (unwrap
                                                                               v84_0))))
                                                                        (let ((p_0
                                                                               (unwrap
                                                                                a_0)))
                                                                          (if (pair?
                                                                               p_0)
                                                                            (let ((a_1
                                                                                   (cdr
                                                                                    p_0)))
                                                                              (let ((app_0
                                                                                     (unwrap
                                                                                      '())))
                                                                                (eq?
                                                                                 app_0
                                                                                 (unwrap
                                                                                  a_1))))
                                                                            #f)))
                                                                      #f)
                                                                  (let ((exp_0
                                                                         (let ((d_0
                                                                                (cdr
                                                                                 (unwrap
                                                                                  v84_0))))
                                                                           (let ((a_0
                                                                                  (car
                                                                                   (unwrap
                                                                                    d_0))))
                                                                             a_0))))
                                                                    (schemify_1
                                                                     exp_0
                                                                     wcm-state85_0))
                                                                  (if (if (eq?
                                                                           'begin
                                                                           hd_0)
                                                                        (let ((a_0
                                                                               (cdr
                                                                                (unwrap
                                                                                 v84_0))))
                                                                          (wrap-list?
                                                                           a_0))
                                                                        #f)
                                                                    (let ((exps_0
                                                                           (let ((d_0
                                                                                  (cdr
                                                                                   (unwrap
                                                                                    v84_0))))
                                                                             (unwrap-list
                                                                              d_0))))
                                                                      (list*
                                                                       'begin
                                                                       (schemify-body_1
                                                                        exps_0
                                                                        wcm-state85_0)))
                                                                    (if (if (eq?
                                                                             'begin-unsafe
                                                                             hd_0)
                                                                          (let ((a_0
                                                                                 (cdr
                                                                                  (unwrap
                                                                                   v84_0))))
                                                                            (wrap-list?
                                                                             a_0))
                                                                          #f)
                                                                      (let ((exps_0
                                                                             (let ((d_0
                                                                                    (cdr
                                                                                     (unwrap
                                                                                      v84_0))))
                                                                               (unwrap-list
                                                                                d_0))))
                                                                        (if unsafe-mode?_2
                                                                          (schemify_1
                                                                           (list*
                                                                            'begin
                                                                            exps_0)
                                                                           wcm-state85_0)
                                                                          (list*
                                                                           'begin-unsafe
                                                                           (schemify-body_1
                                                                            exps_0
                                                                            wcm-state85_0
                                                                            #t))))
                                                                      (if (if (eq?
                                                                               'begin0
                                                                               hd_0)
                                                                            (let ((a_0
                                                                                   (cdr
                                                                                    (unwrap
                                                                                     v84_0))))
                                                                              (let ((p_0
                                                                                     (unwrap
                                                                                      a_0)))
                                                                                (if (pair?
                                                                                     p_0)
                                                                                  (let ((a_1
                                                                                         (cdr
                                                                                          p_0)))
                                                                                    (let ((app_0
                                                                                           (unwrap
                                                                                            '())))
                                                                                      (eq?
                                                                                       app_0
                                                                                       (unwrap
                                                                                        a_1))))
                                                                                  #f)))
                                                                            #f)
                                                                        (let ((exp_0
                                                                               (let ((d_0
                                                                                      (cdr
                                                                                       (unwrap
                                                                                        v84_0))))
                                                                                 (let ((a_0
                                                                                        (car
                                                                                         (unwrap
                                                                                          d_0))))
                                                                                   a_0))))
                                                                          (schemify_1
                                                                           exp_0
                                                                           wcm-state85_0))
                                                                        (if (if (eq?
                                                                                 'begin0
                                                                                 hd_0)
                                                                              (let ((a_0
                                                                                     (cdr
                                                                                      (unwrap
                                                                                       v84_0))))
                                                                                (let ((p_0
                                                                                       (unwrap
                                                                                        a_0)))
                                                                                  (if (pair?
                                                                                       p_0)
                                                                                    (let ((a_1
                                                                                           (cdr
                                                                                            p_0)))
                                                                                      (wrap-list?
                                                                                       a_1))
                                                                                    #f)))
                                                                              #f)
                                                                          (call-with-values
                                                                           (lambda ()
                                                                             (let ((d_0
                                                                                    (cdr
                                                                                     (unwrap
                                                                                      v84_0))))
                                                                               (let ((p_0
                                                                                      (unwrap
                                                                                       d_0)))
                                                                                 (let ((exp_0
                                                                                        (let ((a_0
                                                                                               (car
                                                                                                p_0)))
                                                                                          a_0)))
                                                                                   (let ((exps_0
                                                                                          (let ((d_1
                                                                                                 (cdr
                                                                                                  p_0)))
                                                                                            (unwrap-list
                                                                                             d_1))))
                                                                                     (let ((exp_1
                                                                                            exp_0))
                                                                                       (values
                                                                                        exp_1
                                                                                        exps_0)))))))
                                                                           (lambda (exp_0
                                                                                    exps_0)
                                                                             (let ((app_0
                                                                                    (schemify_1
                                                                                     exp_0
                                                                                     'fresh)))
                                                                               (list*
                                                                                'begin0
                                                                                app_0
                                                                                (schemify-body_1
                                                                                 exps_0
                                                                                 'fresh)))))
                                                                          (if (if (eq?
                                                                                   'set!
                                                                                   hd_0)
                                                                                (let ((a_0
                                                                                       (cdr
                                                                                        (unwrap
                                                                                         v84_0))))
                                                                                  (let ((p_0
                                                                                         (unwrap
                                                                                          a_0)))
                                                                                    (if (pair?
                                                                                         p_0)
                                                                                      (let ((a_1
                                                                                             (cdr
                                                                                              p_0)))
                                                                                        (let ((p_1
                                                                                               (unwrap
                                                                                                a_1)))
                                                                                          (if (pair?
                                                                                               p_1)
                                                                                            (let ((a_2
                                                                                                   (cdr
                                                                                                    p_1)))
                                                                                              (let ((app_0
                                                                                                     (unwrap
                                                                                                      '())))
                                                                                                (eq?
                                                                                                 app_0
                                                                                                 (unwrap
                                                                                                  a_2))))
                                                                                            #f)))
                                                                                      #f)))
                                                                                #f)
                                                                            (call-with-values
                                                                             (lambda ()
                                                                               (let ((d_0
                                                                                      (cdr
                                                                                       (unwrap
                                                                                        v84_0))))
                                                                                 (let ((p_0
                                                                                        (unwrap
                                                                                         d_0)))
                                                                                   (let ((id_0
                                                                                          (let ((a_0
                                                                                                 (car
                                                                                                  p_0)))
                                                                                            a_0)))
                                                                                     (let ((rhs_0
                                                                                            (let ((d_1
                                                                                                   (cdr
                                                                                                    p_0)))
                                                                                              (let ((a_0
                                                                                                     (car
                                                                                                      (unwrap
                                                                                                       d_1))))
                                                                                                a_0))))
                                                                                       (let ((id_1
                                                                                              id_0))
                                                                                         (values
                                                                                          id_1
                                                                                          rhs_0)))))))
                                                                             (lambda (id_0
                                                                                      rhs_0)
                                                                               (let ((int-id_0
                                                                                      (unwrap
                                                                                       id_0)))
                                                                                 (let ((ex_0
                                                                                        (let ((or-part_0
                                                                                               (hash-ref
                                                                                                exports_0
                                                                                                int-id_0
                                                                                                #f)))
                                                                                          (if or-part_0
                                                                                            or-part_0
                                                                                            (hash-ref
                                                                                             extra-variables_0
                                                                                             int-id_0
                                                                                             #f)))))
                                                                                   (let ((new-rhs_0
                                                                                          (schemify_1
                                                                                           rhs_0
                                                                                           'fresh)))
                                                                                     (let ((state_0
                                                                                            (hash-ref
                                                                                             mutated_0
                                                                                             int-id_0
                                                                                             #f)))
                                                                                       (if ex_0
                                                                                         (let ((set-id_0
                                                                                                (if (if allow-set!-undefined?_0
                                                                                                      allow-set!-undefined?_0
                                                                                                      (not
                                                                                                       (too-early-mutated-state?
                                                                                                        state_0)))
                                                                                                  'variable-set!
                                                                                                  'variable-set!/check-undefined)))
                                                                                           (list
                                                                                            set-id_0
                                                                                            (export-id
                                                                                             ex_0)
                                                                                            new-rhs_0))
                                                                                         (if (if (too-early-mutated-state?
                                                                                                  state_0)
                                                                                               (not
                                                                                                (eq?
                                                                                                 target_0
                                                                                                 'cify))
                                                                                               #f)
                                                                                           (let ((tmp_0
                                                                                                  (deterministic-gensym
                                                                                                   "set")))
                                                                                             (let ((app_0
                                                                                                    (list
                                                                                                     (list
                                                                                                      tmp_0
                                                                                                      new-rhs_0))))
                                                                                               (let ((app_1
                                                                                                      (list
                                                                                                       'check-not-unsafe-undefined/assign
                                                                                                       id_0
                                                                                                       (list
                                                                                                        'quote
                                                                                                        (too-early-mutated-state-name
                                                                                                         state_0
                                                                                                         int-id_0)))))
                                                                                                 (list
                                                                                                  'let
                                                                                                  app_0
                                                                                                  app_1
                                                                                                  (list
                                                                                                   'set!
                                                                                                   id_0
                                                                                                   tmp_0)))))
                                                                                           (if (not
                                                                                                state_0)
                                                                                             (list
                                                                                              'void
                                                                                              new-rhs_0)
                                                                                             (list
                                                                                              'set!
                                                                                              id_0
                                                                                              new-rhs_0))))))))))
                                                                            (if (if (eq?
                                                                                     'variable-reference-constant?
                                                                                     hd_0)
                                                                                  (let ((a_0
                                                                                         (cdr
                                                                                          (unwrap
                                                                                           v84_0))))
                                                                                    (let ((p_0
                                                                                           (unwrap
                                                                                            a_0)))
                                                                                      (if (pair?
                                                                                           p_0)
                                                                                        (if (let ((a_1
                                                                                                   (car
                                                                                                    p_0)))
                                                                                              (let ((p_1
                                                                                                     (unwrap
                                                                                                      a_1)))
                                                                                                (if (pair?
                                                                                                     p_1)
                                                                                                  (if (let ((a_2
                                                                                                             (car
                                                                                                              p_1)))
                                                                                                        (let ((app_0
                                                                                                               (unwrap
                                                                                                                '|#%variable-reference|)))
                                                                                                          (eq?
                                                                                                           app_0
                                                                                                           (unwrap
                                                                                                            a_2))))
                                                                                                    (let ((a_2
                                                                                                           (cdr
                                                                                                            p_1)))
                                                                                                      (let ((p_2
                                                                                                             (unwrap
                                                                                                              a_2)))
                                                                                                        (if (pair?
                                                                                                             p_2)
                                                                                                          (let ((a_3
                                                                                                                 (cdr
                                                                                                                  p_2)))
                                                                                                            (let ((app_0
                                                                                                                   (unwrap
                                                                                                                    '())))
                                                                                                              (eq?
                                                                                                               app_0
                                                                                                               (unwrap
                                                                                                                a_3))))
                                                                                                          #f)))
                                                                                                    #f)
                                                                                                  #f)))
                                                                                          (let ((a_1
                                                                                                 (cdr
                                                                                                  p_0)))
                                                                                            (let ((app_0
                                                                                                   (unwrap
                                                                                                    '())))
                                                                                              (eq?
                                                                                               app_0
                                                                                               (unwrap
                                                                                                a_1))))
                                                                                          #f)
                                                                                        #f)))
                                                                                  #f)
                                                                              (let ((id_0
                                                                                     (let ((d_0
                                                                                            (cdr
                                                                                             (unwrap
                                                                                              v84_0))))
                                                                                       (let ((a_0
                                                                                              (car
                                                                                               (unwrap
                                                                                                d_0))))
                                                                                         (let ((d_1
                                                                                                (cdr
                                                                                                 (unwrap
                                                                                                  a_0))))
                                                                                           (let ((a_1
                                                                                                  (car
                                                                                                   (unwrap
                                                                                                    d_1))))
                                                                                             a_1))))))
                                                                                (let ((u-id_0
                                                                                       (unwrap
                                                                                        id_0)))
                                                                                  (if (hash-ref
                                                                                       mutated_0
                                                                                       u-id_0
                                                                                       #f)
                                                                                    #f
                                                                                    (let ((im_0
                                                                                           (hash-ref
                                                                                            imports_0
                                                                                            u-id_0
                                                                                            #f)))
                                                                                      (if (not
                                                                                           im_0)
                                                                                        #t
                                                                                        (if (known-constant?
                                                                                             (import-lookup
                                                                                              im_0))
                                                                                          #t
                                                                                          (list
                                                                                           'variable-reference-constant?
                                                                                           (schemify_1
                                                                                            (list
                                                                                             '|#%variable-reference|
                                                                                             id_0)
                                                                                            'fresh))))))))
                                                                              (if (if (eq?
                                                                                       'variable-reference-from-unsafe?
                                                                                       hd_0)
                                                                                    (let ((a_0
                                                                                           (cdr
                                                                                            (unwrap
                                                                                             v84_0))))
                                                                                      (let ((p_0
                                                                                             (unwrap
                                                                                              a_0)))
                                                                                        (if (pair?
                                                                                             p_0)
                                                                                          (if (let ((a_1
                                                                                                     (car
                                                                                                      p_0)))
                                                                                                (let ((p_1
                                                                                                       (unwrap
                                                                                                        a_1)))
                                                                                                  (if (pair?
                                                                                                       p_1)
                                                                                                    (if (let ((a_2
                                                                                                               (car
                                                                                                                p_1)))
                                                                                                          (let ((app_0
                                                                                                                 (unwrap
                                                                                                                  '|#%variable-reference|)))
                                                                                                            (eq?
                                                                                                             app_0
                                                                                                             (unwrap
                                                                                                              a_2))))
                                                                                                      (let ((a_2
                                                                                                             (cdr
                                                                                                              p_1)))
                                                                                                        (let ((app_0
                                                                                                               (unwrap
                                                                                                                '())))
                                                                                                          (eq?
                                                                                                           app_0
                                                                                                           (unwrap
                                                                                                            a_2))))
                                                                                                      #f)
                                                                                                    #f)))
                                                                                            (let ((a_1
                                                                                                   (cdr
                                                                                                    p_0)))
                                                                                              (let ((app_0
                                                                                                     (unwrap
                                                                                                      '())))
                                                                                                (eq?
                                                                                                 app_0
                                                                                                 (unwrap
                                                                                                  a_1))))
                                                                                            #f)
                                                                                          #f)))
                                                                                    #f)
                                                                                unsafe-mode?_2
                                                                                (if (if (eq?
                                                                                         '|#%variable-reference|
                                                                                         hd_0)
                                                                                      (let ((a_0
                                                                                             (cdr
                                                                                              (unwrap
                                                                                               v84_0))))
                                                                                        (let ((app_0
                                                                                               (unwrap
                                                                                                '())))
                                                                                          (eq?
                                                                                           app_0
                                                                                           (unwrap
                                                                                            a_0))))
                                                                                      #f)
                                                                                  'instance-variable-reference
                                                                                  (if (if (eq?
                                                                                           '|#%variable-reference|
                                                                                           hd_0)
                                                                                        (let ((a_0
                                                                                               (cdr
                                                                                                (unwrap
                                                                                                 v84_0))))
                                                                                          (let ((p_0
                                                                                                 (unwrap
                                                                                                  a_0)))
                                                                                            (if (pair?
                                                                                                 p_0)
                                                                                              (let ((a_1
                                                                                                     (cdr
                                                                                                      p_0)))
                                                                                                (let ((app_0
                                                                                                       (unwrap
                                                                                                        '())))
                                                                                                  (eq?
                                                                                                   app_0
                                                                                                   (unwrap
                                                                                                    a_1))))
                                                                                              #f)))
                                                                                        #f)
                                                                                    (let ((id_0
                                                                                           (let ((d_0
                                                                                                  (cdr
                                                                                                   (unwrap
                                                                                                    v84_0))))
                                                                                             (let ((a_0
                                                                                                    (car
                                                                                                     (unwrap
                                                                                                      d_0))))
                                                                                               a_0))))
                                                                                      (let ((u_0
                                                                                             (unwrap
                                                                                              id_0)))
                                                                                        (let ((v_2
                                                                                               (let ((or-part_0
                                                                                                      (let ((ex_0
                                                                                                             (let ((or-part_0
                                                                                                                    (hash-ref
                                                                                                                     exports_0
                                                                                                                     u_0
                                                                                                                     #f)))
                                                                                                               (if or-part_0
                                                                                                                 or-part_0
                                                                                                                 (hash-ref
                                                                                                                  extra-variables_0
                                                                                                                  u_0
                                                                                                                  #f)))))
                                                                                                        (if ex_0
                                                                                                          (export-id
                                                                                                           ex_0)
                                                                                                          #f))))
                                                                                                 (if or-part_0
                                                                                                   or-part_0
                                                                                                   (let ((im_0
                                                                                                          (hash-ref
                                                                                                           imports_0
                                                                                                           u_0
                                                                                                           #f)))
                                                                                                     (if im_0
                                                                                                       (import-id
                                                                                                        im_0)
                                                                                                       #f))))))
                                                                                          (if v_2
                                                                                            (list
                                                                                             'make-instance-variable-reference
                                                                                             'instance-variable-reference
                                                                                             v_2)
                                                                                            (list
                                                                                             'make-instance-variable-reference
                                                                                             'instance-variable-reference
                                                                                             (list
                                                                                              'quote
                                                                                              (if (hash-ref
                                                                                                   mutated_0
                                                                                                   u_0
                                                                                                   #f)
                                                                                                'mutable
                                                                                                (if (hash-ref
                                                                                                     prim-knowns_0
                                                                                                     u_0
                                                                                                     #f)
                                                                                                  u_0
                                                                                                  'constant))))))))
                                                                                    (if (if (eq?
                                                                                             '|#%foreign-inline|
                                                                                             hd_0)
                                                                                          #t
                                                                                          #f)
                                                                                      v84_0
                                                                                      (if (if (eq?
                                                                                               'equal?
                                                                                               hd_0)
                                                                                            (let ((a_0
                                                                                                   (cdr
                                                                                                    (unwrap
                                                                                                     v84_0))))
                                                                                              (let ((p_0
                                                                                                     (unwrap
                                                                                                      a_0)))
                                                                                                (if (pair?
                                                                                                     p_0)
                                                                                                  (let ((a_1
                                                                                                         (cdr
                                                                                                          p_0)))
                                                                                                    (let ((p_1
                                                                                                           (unwrap
                                                                                                            a_1)))
                                                                                                      (if (pair?
                                                                                                           p_1)
                                                                                                        (let ((a_2
                                                                                                               (cdr
                                                                                                                p_1)))
                                                                                                          (let ((app_0
                                                                                                                 (unwrap
                                                                                                                  '())))
                                                                                                            (eq?
                                                                                                             app_0
                                                                                                             (unwrap
                                                                                                              a_2))))
                                                                                                        #f)))
                                                                                                  #f)))
                                                                                            #f)
                                                                                        (call-with-values
                                                                                         (lambda ()
                                                                                           (let ((d_0
                                                                                                  (cdr
                                                                                                   (unwrap
                                                                                                    v84_0))))
                                                                                             (let ((p_0
                                                                                                    (unwrap
                                                                                                     d_0)))
                                                                                               (let ((exp1_0
                                                                                                      (let ((a_0
                                                                                                             (car
                                                                                                              p_0)))
                                                                                                        a_0)))
                                                                                                 (let ((exp2_0
                                                                                                        (let ((d_1
                                                                                                               (cdr
                                                                                                                p_0)))
                                                                                                          (let ((a_0
                                                                                                                 (car
                                                                                                                  (unwrap
                                                                                                                   d_1))))
                                                                                                            a_0))))
                                                                                                   (let ((exp1_1
                                                                                                          exp1_0))
                                                                                                     (values
                                                                                                      exp1_1
                                                                                                      exp2_0)))))))
                                                                                         (lambda (exp1_0
                                                                                                  exp2_0)
                                                                                           (let ((app_0
                                                                                                  (schemify_1
                                                                                                   exp1_0
                                                                                                   'fresh)))
                                                                                             (optimize-equal
                                                                                              'equal?
                                                                                              app_0
                                                                                              (schemify_1
                                                                                               exp2_0
                                                                                               'fresh)
                                                                                              target_0
                                                                                              prim-knowns_0
                                                                                              knowns_1
                                                                                              imports_0
                                                                                              mutated_0
                                                                                              simples_0
                                                                                              unsafe-mode?_2))))
                                                                                        (if (if (eq?
                                                                                                 'equal-always?
                                                                                                 hd_0)
                                                                                              (let ((a_0
                                                                                                     (cdr
                                                                                                      (unwrap
                                                                                                       v84_0))))
                                                                                                (let ((p_0
                                                                                                       (unwrap
                                                                                                        a_0)))
                                                                                                  (if (pair?
                                                                                                       p_0)
                                                                                                    (let ((a_1
                                                                                                           (cdr
                                                                                                            p_0)))
                                                                                                      (let ((p_1
                                                                                                             (unwrap
                                                                                                              a_1)))
                                                                                                        (if (pair?
                                                                                                             p_1)
                                                                                                          (let ((a_2
                                                                                                                 (cdr
                                                                                                                  p_1)))
                                                                                                            (let ((app_0
                                                                                                                   (unwrap
                                                                                                                    '())))
                                                                                                              (eq?
                                                                                                               app_0
                                                                                                               (unwrap
                                                                                                                a_2))))
                                                                                                          #f)))
                                                                                                    #f)))
                                                                                              #f)
                                                                                          (call-with-values
                                                                                           (lambda ()
                                                                                             (let ((d_0
                                                                                                    (cdr
                                                                                                     (unwrap
                                                                                                      v84_0))))
                                                                                               (let ((p_0
                                                                                                      (unwrap
                                                                                                       d_0)))
                                                                                                 (let ((exp1_0
                                                                                                        (let ((a_0
                                                                                                               (car
                                                                                                                p_0)))
                                                                                                          a_0)))
                                                                                                   (let ((exp2_0
                                                                                                          (let ((d_1
                                                                                                                 (cdr
                                                                                                                  p_0)))
                                                                                                            (let ((a_0
                                                                                                                   (car
                                                                                                                    (unwrap
                                                                                                                     d_1))))
                                                                                                              a_0))))
                                                                                                     (let ((exp1_1
                                                                                                            exp1_0))
                                                                                                       (values
                                                                                                        exp1_1
                                                                                                        exp2_0)))))))
                                                                                           (lambda (exp1_0
                                                                                                    exp2_0)
                                                                                             (let ((app_0
                                                                                                    (schemify_1
                                                                                                     exp1_0
                                                                                                     'fresh)))
                                                                                               (optimize-equal
                                                                                                'equal-always?
                                                                                                app_0
                                                                                                (schemify_1
                                                                                                 exp2_0
                                                                                                 'fresh)
                                                                                                target_0
                                                                                                prim-knowns_0
                                                                                                knowns_1
                                                                                                imports_0
                                                                                                mutated_0
                                                                                                simples_0
                                                                                                unsafe-mode?_2))))
                                                                                          (if (if (eq?
                                                                                                   'procedure-result-arity
                                                                                                   hd_0)
                                                                                                (let ((a_0
                                                                                                       (cdr
                                                                                                        (unwrap
                                                                                                         v84_0))))
                                                                                                  (let ((p_0
                                                                                                         (unwrap
                                                                                                          a_0)))
                                                                                                    (if (pair?
                                                                                                         p_0)
                                                                                                      (let ((a_1
                                                                                                             (cdr
                                                                                                              p_0)))
                                                                                                        (let ((app_0
                                                                                                               (unwrap
                                                                                                                '())))
                                                                                                          (eq?
                                                                                                           app_0
                                                                                                           (unwrap
                                                                                                            a_1))))
                                                                                                      #f)))
                                                                                                #f)
                                                                                            (let ((proc_0
                                                                                                   (let ((d_0
                                                                                                          (cdr
                                                                                                           (unwrap
                                                                                                            v84_0))))
                                                                                                     (let ((a_0
                                                                                                            (car
                                                                                                             (unwrap
                                                                                                              d_0))))
                                                                                                       a_0))))
                                                                                              (if (single-valued-lambda?
                                                                                                   proc_0
                                                                                                   knowns_1
                                                                                                   prim-knowns_0
                                                                                                   imports_0
                                                                                                   mutated_0)
                                                                                                1
                                                                                                (list
                                                                                                 'procedure-result-arity
                                                                                                 (schemify_1
                                                                                                  proc_0
                                                                                                  'fresh))))
                                                                                            (if (if (eq?
                                                                                                     'call-with-values
                                                                                                     hd_0)
                                                                                                  (let ((a_0
                                                                                                         (cdr
                                                                                                          (unwrap
                                                                                                           v84_0))))
                                                                                                    (let ((p_0
                                                                                                           (unwrap
                                                                                                            a_0)))
                                                                                                      (if (pair?
                                                                                                           p_0)
                                                                                                        (let ((a_1
                                                                                                               (cdr
                                                                                                                p_0)))
                                                                                                          (let ((p_1
                                                                                                                 (unwrap
                                                                                                                  a_1)))
                                                                                                            (if (pair?
                                                                                                                 p_1)
                                                                                                              (let ((a_2
                                                                                                                     (cdr
                                                                                                                      p_1)))
                                                                                                                (let ((app_0
                                                                                                                       (unwrap
                                                                                                                        '())))
                                                                                                                  (eq?
                                                                                                                   app_0
                                                                                                                   (unwrap
                                                                                                                    a_2))))
                                                                                                              #f)))
                                                                                                        #f)))
                                                                                                  #f)
                                                                                              (call-with-values
                                                                                               (lambda ()
                                                                                                 (let ((d_0
                                                                                                        (cdr
                                                                                                         (unwrap
                                                                                                          v84_0))))
                                                                                                   (let ((p_0
                                                                                                          (unwrap
                                                                                                           d_0)))
                                                                                                     (let ((generator_0
                                                                                                            (let ((a_0
                                                                                                                   (car
                                                                                                                    p_0)))
                                                                                                              a_0)))
                                                                                                       (let ((receiver_0
                                                                                                              (let ((d_1
                                                                                                                     (cdr
                                                                                                                      p_0)))
                                                                                                                (let ((a_0
                                                                                                                       (car
                                                                                                                        (unwrap
                                                                                                                         d_1))))
                                                                                                                  a_0))))
                                                                                                         (let ((generator_1
                                                                                                                generator_0))
                                                                                                           (values
                                                                                                            generator_1
                                                                                                            receiver_0)))))))
                                                                                               (lambda (generator_0
                                                                                                        receiver_0)
                                                                                                 (let ((cond-val_0
                                                                                                        (if (single-valued-lambda?
                                                                                                             generator_0
                                                                                                             knowns_1
                                                                                                             prim-knowns_0
                                                                                                             imports_0
                                                                                                             mutated_0)
                                                                                                          (let ((hd_1
                                                                                                                 (let ((p_0
                                                                                                                        (unwrap
                                                                                                                         receiver_0)))
                                                                                                                   (if (pair?
                                                                                                                        p_0)
                                                                                                                     (unwrap
                                                                                                                      (car
                                                                                                                       p_0))
                                                                                                                     #f))))
                                                                                                            (if (if (eq?
                                                                                                                     'lambda
                                                                                                                     hd_1)
                                                                                                                  (let ((a_0
                                                                                                                         (cdr
                                                                                                                          (unwrap
                                                                                                                           receiver_0))))
                                                                                                                    (let ((p_0
                                                                                                                           (unwrap
                                                                                                                            a_0)))
                                                                                                                      (if (pair?
                                                                                                                           p_0)
                                                                                                                        (if (let ((a_1
                                                                                                                                   (car
                                                                                                                                    p_0)))
                                                                                                                              (let ((p_1
                                                                                                                                     (unwrap
                                                                                                                                      a_1)))
                                                                                                                                (if (pair?
                                                                                                                                     p_1)
                                                                                                                                  (let ((a_2
                                                                                                                                         (cdr
                                                                                                                                          p_1)))
                                                                                                                                    (let ((app_0
                                                                                                                                           (unwrap
                                                                                                                                            '())))
                                                                                                                                      (eq?
                                                                                                                                       app_0
                                                                                                                                       (unwrap
                                                                                                                                        a_2))))
                                                                                                                                  #f)))
                                                                                                                          (let ((a_1
                                                                                                                                 (cdr
                                                                                                                                  p_0)))
                                                                                                                            (let ((p_1
                                                                                                                                   (unwrap
                                                                                                                                    a_1)))
                                                                                                                              (if (pair?
                                                                                                                                   p_1)
                                                                                                                                (let ((a_2
                                                                                                                                       (cdr
                                                                                                                                        p_1)))
                                                                                                                                  (let ((app_0
                                                                                                                                         (unwrap
                                                                                                                                          '())))
                                                                                                                                    (eq?
                                                                                                                                     app_0
                                                                                                                                     (unwrap
                                                                                                                                      a_2))))
                                                                                                                                #f)))
                                                                                                                          #f)
                                                                                                                        #f)))
                                                                                                                  #f)
                                                                                                              (call-with-values
                                                                                                               (lambda ()
                                                                                                                 (let ((d_0
                                                                                                                        (cdr
                                                                                                                         (unwrap
                                                                                                                          receiver_0))))
                                                                                                                   (let ((p_0
                                                                                                                          (unwrap
                                                                                                                           d_0)))
                                                                                                                     (let ((id_0
                                                                                                                            (let ((a_0
                                                                                                                                   (car
                                                                                                                                    p_0)))
                                                                                                                              (let ((a_1
                                                                                                                                     (car
                                                                                                                                      (unwrap
                                                                                                                                       a_0))))
                                                                                                                                a_1))))
                                                                                                                       (let ((body_0
                                                                                                                              (let ((d_1
                                                                                                                                     (cdr
                                                                                                                                      p_0)))
                                                                                                                                (let ((a_0
                                                                                                                                       (car
                                                                                                                                        (unwrap
                                                                                                                                         d_1))))
                                                                                                                                  a_0))))
                                                                                                                         (let ((id_1
                                                                                                                                id_0))
                                                                                                                           (values
                                                                                                                            id_1
                                                                                                                            body_0)))))))
                                                                                                               (lambda (id_0
                                                                                                                        body_0)
                                                                                                                 (let ((app_0
                                                                                                                        (list
                                                                                                                         (list
                                                                                                                          id_0
                                                                                                                          (schemify_1
                                                                                                                           (list
                                                                                                                            generator_0)
                                                                                                                           'fresh)))))
                                                                                                                   (list
                                                                                                                    'let
                                                                                                                    app_0
                                                                                                                    (schemify_1
                                                                                                                     body_0
                                                                                                                     'fresh)))))
                                                                                                              (if (if (eq?
                                                                                                                       'case-lambda
                                                                                                                       hd_1)
                                                                                                                    (let ((a_0
                                                                                                                           (cdr
                                                                                                                            (unwrap
                                                                                                                             receiver_0))))
                                                                                                                      (let ((p_0
                                                                                                                             (unwrap
                                                                                                                              a_0)))
                                                                                                                        (if (pair?
                                                                                                                             p_0)
                                                                                                                          (if (let ((a_1
                                                                                                                                     (car
                                                                                                                                      p_0)))
                                                                                                                                (let ((p_1
                                                                                                                                       (unwrap
                                                                                                                                        a_1)))
                                                                                                                                  (if (pair?
                                                                                                                                       p_1)
                                                                                                                                    (if (let ((a_2
                                                                                                                                               (car
                                                                                                                                                p_1)))
                                                                                                                                          (let ((p_2
                                                                                                                                                 (unwrap
                                                                                                                                                  a_2)))
                                                                                                                                            (if (pair?
                                                                                                                                                 p_2)
                                                                                                                                              (let ((a_3
                                                                                                                                                     (cdr
                                                                                                                                                      p_2)))
                                                                                                                                                (let ((app_0
                                                                                                                                                       (unwrap
                                                                                                                                                        '())))
                                                                                                                                                  (eq?
                                                                                                                                                   app_0
                                                                                                                                                   (unwrap
                                                                                                                                                    a_3))))
                                                                                                                                              #f)))
                                                                                                                                      (let ((a_2
                                                                                                                                             (cdr
                                                                                                                                              p_1)))
                                                                                                                                        (let ((p_2
                                                                                                                                               (unwrap
                                                                                                                                                a_2)))
                                                                                                                                          (if (pair?
                                                                                                                                               p_2)
                                                                                                                                            (let ((a_3
                                                                                                                                                   (cdr
                                                                                                                                                    p_2)))
                                                                                                                                              (let ((app_0
                                                                                                                                                     (unwrap
                                                                                                                                                      '())))
                                                                                                                                                (eq?
                                                                                                                                                 app_0
                                                                                                                                                 (unwrap
                                                                                                                                                  a_3))))
                                                                                                                                            #f)))
                                                                                                                                      #f)
                                                                                                                                    #f)))
                                                                                                                            #t
                                                                                                                            #f)
                                                                                                                          #f)))
                                                                                                                    #f)
                                                                                                                (call-with-values
                                                                                                                 (lambda ()
                                                                                                                   (let ((d_0
                                                                                                                          (cdr
                                                                                                                           (unwrap
                                                                                                                            receiver_0))))
                                                                                                                     (let ((a_0
                                                                                                                            (car
                                                                                                                             (unwrap
                                                                                                                              d_0))))
                                                                                                                       (let ((p_0
                                                                                                                              (unwrap
                                                                                                                               a_0)))
                                                                                                                         (let ((id_0
                                                                                                                                (let ((a_1
                                                                                                                                       (car
                                                                                                                                        p_0)))
                                                                                                                                  (let ((a_2
                                                                                                                                         (car
                                                                                                                                          (unwrap
                                                                                                                                           a_1))))
                                                                                                                                    a_2))))
                                                                                                                           (let ((body_0
                                                                                                                                  (let ((d_1
                                                                                                                                         (cdr
                                                                                                                                          p_0)))
                                                                                                                                    (let ((a_1
                                                                                                                                           (car
                                                                                                                                            (unwrap
                                                                                                                                             d_1))))
                                                                                                                                      a_1))))
                                                                                                                             (let ((id_1
                                                                                                                                    id_0))
                                                                                                                               (values
                                                                                                                                id_1
                                                                                                                                body_0))))))))
                                                                                                                 (lambda (id_0
                                                                                                                          body_0)
                                                                                                                   (let ((app_0
                                                                                                                          (list
                                                                                                                           (list
                                                                                                                            id_0
                                                                                                                            (schemify_1
                                                                                                                             (list
                                                                                                                              generator_0)
                                                                                                                             'fresh)))))
                                                                                                                     (list
                                                                                                                      'let
                                                                                                                      app_0
                                                                                                                      (schemify_1
                                                                                                                       body_0
                                                                                                                       'fresh)))))
                                                                                                                #f)))
                                                                                                          #f)))
                                                                                                   (if cond-val_0
                                                                                                     cond-val_0
                                                                                                     (if (if (lambda?.1
                                                                                                              #f
                                                                                                              generator_0)
                                                                                                           (let ((or-part_0
                                                                                                                  (lambda?.1
                                                                                                                   #f
                                                                                                                   receiver_0)))
                                                                                                             (if or-part_0
                                                                                                               or-part_0
                                                                                                               (eq?
                                                                                                                (unwrap
                                                                                                                 receiver_0)
                                                                                                                'list)))
                                                                                                           #f)
                                                                                                       (let ((app_0
                                                                                                              (schemify_1
                                                                                                               generator_0
                                                                                                               'fresh)))
                                                                                                         (list
                                                                                                          'call-with-values
                                                                                                          app_0
                                                                                                          (schemify_1
                                                                                                           receiver_0
                                                                                                           'fresh)))
                                                                                                       (left-to-right/app
                                                                                                        (if (eq?
                                                                                                             target_0
                                                                                                             'cify)
                                                                                                          'call-with-values
                                                                                                          '|#%call-with-values|)
                                                                                                        (let ((app_0
                                                                                                               (schemify_1
                                                                                                                generator_0
                                                                                                                'fresh)))
                                                                                                          (list
                                                                                                           app_0
                                                                                                           (schemify_1
                                                                                                            receiver_0
                                                                                                            'fresh)))
                                                                                                        #f
                                                                                                        target_0
                                                                                                        prim-knowns_0
                                                                                                        knowns_1
                                                                                                        imports_0
                                                                                                        mutated_0
                                                                                                        simples_0
                                                                                                        unsafe-mode?_2))))))
                                                                                              (if (if (eq?
                                                                                                       'single-flonum-available?
                                                                                                       hd_0)
                                                                                                    (let ((a_0
                                                                                                           (cdr
                                                                                                            (unwrap
                                                                                                             v84_0))))
                                                                                                      (let ((app_0
                                                                                                             (unwrap
                                                                                                              '())))
                                                                                                        (eq?
                                                                                                         app_0
                                                                                                         (unwrap
                                                                                                          a_0))))
                                                                                                    #f)
                                                                                                (eq?
                                                                                                 target_0
                                                                                                 'cify)
                                                                                                (if (let ((p_0
                                                                                                           (unwrap
                                                                                                            v84_0)))
                                                                                                      (if (pair?
                                                                                                           p_0)
                                                                                                        (if (let ((a_0
                                                                                                                   (car
                                                                                                                    p_0)))
                                                                                                              (let ((p_1
                                                                                                                     (unwrap
                                                                                                                      a_0)))
                                                                                                                (if (pair?
                                                                                                                     p_1)
                                                                                                                  (if (let ((a_1
                                                                                                                             (car
                                                                                                                              p_1)))
                                                                                                                        (let ((app_0
                                                                                                                               (unwrap
                                                                                                                                'letrec-values)))
                                                                                                                          (eq?
                                                                                                                           app_0
                                                                                                                           (unwrap
                                                                                                                            a_1))))
                                                                                                                    (let ((a_1
                                                                                                                           (cdr
                                                                                                                            p_1)))
                                                                                                                      (let ((p_2
                                                                                                                             (unwrap
                                                                                                                              a_1)))
                                                                                                                        (if (pair?
                                                                                                                             p_2)
                                                                                                                          (let ((a_2
                                                                                                                                 (cdr
                                                                                                                                  p_2)))
                                                                                                                            (let ((p_3
                                                                                                                                   (unwrap
                                                                                                                                    a_2)))
                                                                                                                              (if (pair?
                                                                                                                                   p_3)
                                                                                                                                (let ((a_3
                                                                                                                                       (cdr
                                                                                                                                        p_3)))
                                                                                                                                  (let ((app_0
                                                                                                                                         (unwrap
                                                                                                                                          '())))
                                                                                                                                    (eq?
                                                                                                                                     app_0
                                                                                                                                     (unwrap
                                                                                                                                      a_3))))
                                                                                                                                #f)))
                                                                                                                          #f)))
                                                                                                                    #f)
                                                                                                                  #f)))
                                                                                                          (let ((a_0
                                                                                                                 (cdr
                                                                                                                  p_0)))
                                                                                                            (wrap-list?
                                                                                                             a_0))
                                                                                                          #f)
                                                                                                        #f))
                                                                                                  (call-with-values
                                                                                                   (lambda ()
                                                                                                     (let ((p_0
                                                                                                            (unwrap
                                                                                                             v84_0)))
                                                                                                       (call-with-values
                                                                                                        (lambda ()
                                                                                                          (let ((a_0
                                                                                                                 (car
                                                                                                                  p_0)))
                                                                                                            (let ((d_0
                                                                                                                   (cdr
                                                                                                                    (unwrap
                                                                                                                     a_0))))
                                                                                                              (let ((p_1
                                                                                                                     (unwrap
                                                                                                                      d_0)))
                                                                                                                (let ((binds_0
                                                                                                                       (let ((a_1
                                                                                                                              (car
                                                                                                                               p_1)))
                                                                                                                         a_1)))
                                                                                                                  (let ((rator_0
                                                                                                                         (let ((d_1
                                                                                                                                (cdr
                                                                                                                                 p_1)))
                                                                                                                           (let ((a_1
                                                                                                                                  (car
                                                                                                                                   (unwrap
                                                                                                                                    d_1))))
                                                                                                                             a_1))))
                                                                                                                    (let ((binds_1
                                                                                                                           binds_0))
                                                                                                                      (values
                                                                                                                       binds_1
                                                                                                                       rator_0))))))))
                                                                                                        (lambda (binds_0
                                                                                                                 rator_0)
                                                                                                          (let ((rands_0
                                                                                                                 (let ((d_0
                                                                                                                        (cdr
                                                                                                                         p_0)))
                                                                                                                   (unwrap-list
                                                                                                                    d_0))))
                                                                                                            (let ((binds_1
                                                                                                                   binds_0)
                                                                                                                  (rator_1
                                                                                                                   rator_0))
                                                                                                              (values
                                                                                                               binds_1
                                                                                                               rator_1
                                                                                                               rands_0)))))))
                                                                                                   (lambda (binds_0
                                                                                                            rator_0
                                                                                                            rands_0)
                                                                                                     (schemify_1
                                                                                                      (list
                                                                                                       'letrec-values
                                                                                                       binds_0
                                                                                                       (list*
                                                                                                        rator_0
                                                                                                        rands_0))
                                                                                                      wcm-state85_0)))
                                                                                                  (if (let ((p_0
                                                                                                             (unwrap
                                                                                                              v84_0)))
                                                                                                        (if (pair?
                                                                                                             p_0)
                                                                                                          (let ((a_0
                                                                                                                 (cdr
                                                                                                                  p_0)))
                                                                                                            (wrap-list?
                                                                                                             a_0))
                                                                                                          #f))
                                                                                                    (call-with-values
                                                                                                     (lambda ()
                                                                                                       (let ((p_0
                                                                                                              (unwrap
                                                                                                               v84_0)))
                                                                                                         (let ((rator_0
                                                                                                                (let ((a_0
                                                                                                                       (car
                                                                                                                        p_0)))
                                                                                                                  a_0)))
                                                                                                           (let ((exps_0
                                                                                                                  (let ((d_0
                                                                                                                         (cdr
                                                                                                                          p_0)))
                                                                                                                    (unwrap-list
                                                                                                                     d_0))))
                                                                                                             (let ((rator_1
                                                                                                                    rator_0))
                                                                                                               (values
                                                                                                                rator_1
                                                                                                                exps_0))))))
                                                                                                     (lambda (rator_0
                                                                                                              exps_0)
                                                                                                       (letrec*
                                                                                                        ((left-left-lambda-convert_0
                                                                                                          (|#%name|
                                                                                                           left-left-lambda-convert
                                                                                                           (lambda (rator_1
                                                                                                                    inline-fuel_1)
                                                                                                             (let ((hd_1
                                                                                                                    (let ((p_0
                                                                                                                           (unwrap
                                                                                                                            rator_1)))
                                                                                                                      (if (pair?
                                                                                                                           p_0)
                                                                                                                        (unwrap
                                                                                                                         (car
                                                                                                                          p_0))
                                                                                                                        #f))))
                                                                                                               (if (if (eq?
                                                                                                                        'lambda
                                                                                                                        hd_1)
                                                                                                                     (let ((a_0
                                                                                                                            (cdr
                                                                                                                             (unwrap
                                                                                                                              rator_1))))
                                                                                                                       (let ((p_0
                                                                                                                              (unwrap
                                                                                                                               a_0)))
                                                                                                                         (if (pair?
                                                                                                                              p_0)
                                                                                                                           (let ((a_1
                                                                                                                                  (cdr
                                                                                                                                   p_0)))
                                                                                                                             (wrap-list?
                                                                                                                              a_1))
                                                                                                                           #f)))
                                                                                                                     #f)
                                                                                                                 (call-with-values
                                                                                                                  (lambda ()
                                                                                                                    (let ((d_0
                                                                                                                           (cdr
                                                                                                                            (unwrap
                                                                                                                             rator_1))))
                                                                                                                      (let ((p_0
                                                                                                                             (unwrap
                                                                                                                              d_0)))
                                                                                                                        (let ((formal-args_0
                                                                                                                               (let ((a_0
                                                                                                                                      (car
                                                                                                                                       p_0)))
                                                                                                                                 a_0)))
                                                                                                                          (let ((bodys_0
                                                                                                                                 (let ((d_1
                                                                                                                                        (cdr
                                                                                                                                         p_0)))
                                                                                                                                   (unwrap-list
                                                                                                                                    d_1))))
                                                                                                                            (let ((formal-args_1
                                                                                                                                   formal-args_0))
                                                                                                                              (values
                                                                                                                               formal-args_1
                                                                                                                               bodys_0)))))))
                                                                                                                  (lambda (formal-args_0
                                                                                                                           bodys_0)
                                                                                                                    (letrec*
                                                                                                                     ((loop_0
                                                                                                                       (|#%name|
                                                                                                                        loop
                                                                                                                        (lambda (formal-args_1
                                                                                                                                 args_0
                                                                                                                                 binds_0)
                                                                                                                          (if (null?
                                                                                                                               formal-args_1)
                                                                                                                            (if (null?
                                                                                                                                 args_0)
                                                                                                                              (let ((r_0
                                                                                                                                     (schemify/knowns_0
                                                                                                                                      knowns_1
                                                                                                                                      inline-fuel_1
                                                                                                                                      wcm-state85_0
                                                                                                                                      unsafe-mode?_2
                                                                                                                                      (list*
                                                                                                                                       'let-values
                                                                                                                                       (reverse$1
                                                                                                                                        binds_0)
                                                                                                                                       bodys_0))))
                                                                                                                                (if r_0
                                                                                                                                  r_0
                                                                                                                                  ''#f))
                                                                                                                              #f)
                                                                                                                            (if (null?
                                                                                                                                 args_0)
                                                                                                                              #f
                                                                                                                              (if (not
                                                                                                                                   (pair?
                                                                                                                                    formal-args_1))
                                                                                                                                (loop_0
                                                                                                                                 '()
                                                                                                                                 '()
                                                                                                                                 (cons
                                                                                                                                  (list
                                                                                                                                   (list
                                                                                                                                    formal-args_1)
                                                                                                                                   (if (null?
                                                                                                                                        args_0)
                                                                                                                                     ''()
                                                                                                                                     (cons
                                                                                                                                      'list
                                                                                                                                      args_0)))
                                                                                                                                  binds_0))
                                                                                                                                (let ((app_0
                                                                                                                                       (cdr
                                                                                                                                        formal-args_1)))
                                                                                                                                  (let ((app_1
                                                                                                                                         (cdr
                                                                                                                                          args_0)))
                                                                                                                                    (loop_0
                                                                                                                                     app_0
                                                                                                                                     app_1
                                                                                                                                     (cons
                                                                                                                                      (let ((app_2
                                                                                                                                             (list
                                                                                                                                              (car
                                                                                                                                               formal-args_1))))
                                                                                                                                        (list
                                                                                                                                         app_2
                                                                                                                                         (car
                                                                                                                                          args_0)))
                                                                                                                                      binds_0)))))))))))
                                                                                                                     (loop_0
                                                                                                                      formal-args_0
                                                                                                                      exps_0
                                                                                                                      '()))))
                                                                                                                 (if (if (eq?
                                                                                                                          'case-lambda
                                                                                                                          hd_1)
                                                                                                                       (let ((a_0
                                                                                                                              (cdr
                                                                                                                               (unwrap
                                                                                                                                rator_1))))
                                                                                                                         (let ((p_0
                                                                                                                                (unwrap
                                                                                                                                 a_0)))
                                                                                                                           (if (pair?
                                                                                                                                p_0)
                                                                                                                             (if (let ((a_1
                                                                                                                                        (car
                                                                                                                                         p_0)))
                                                                                                                                   (let ((p_1
                                                                                                                                          (unwrap
                                                                                                                                           a_1)))
                                                                                                                                     (if (pair?
                                                                                                                                          p_1)
                                                                                                                                       (let ((a_2
                                                                                                                                              (cdr
                                                                                                                                               p_1)))
                                                                                                                                         (wrap-list?
                                                                                                                                          a_2))
                                                                                                                                       #f)))
                                                                                                                               #t
                                                                                                                               #f)
                                                                                                                             #f)))
                                                                                                                       #f)
                                                                                                                   (call-with-values
                                                                                                                    (lambda ()
                                                                                                                      (let ((d_0
                                                                                                                             (cdr
                                                                                                                              (unwrap
                                                                                                                               rator_1))))
                                                                                                                        (let ((p_0
                                                                                                                               (unwrap
                                                                                                                                d_0)))
                                                                                                                          (call-with-values
                                                                                                                           (lambda ()
                                                                                                                             (let ((a_0
                                                                                                                                    (car
                                                                                                                                     p_0)))
                                                                                                                               (let ((p_1
                                                                                                                                      (unwrap
                                                                                                                                       a_0)))
                                                                                                                                 (let ((formal-args_0
                                                                                                                                        (let ((a_1
                                                                                                                                               (car
                                                                                                                                                p_1)))
                                                                                                                                          a_1)))
                                                                                                                                   (let ((bodys_0
                                                                                                                                          (let ((d_1
                                                                                                                                                 (cdr
                                                                                                                                                  p_1)))
                                                                                                                                            (unwrap-list
                                                                                                                                             d_1))))
                                                                                                                                     (let ((formal-args_1
                                                                                                                                            formal-args_0))
                                                                                                                                       (values
                                                                                                                                        formal-args_1
                                                                                                                                        bodys_0)))))))
                                                                                                                           (lambda (formal-args_0
                                                                                                                                    bodys_0)
                                                                                                                             (let ((rest_0
                                                                                                                                    (let ((d_1
                                                                                                                                           (cdr
                                                                                                                                            p_0)))
                                                                                                                                      d_1)))
                                                                                                                               (let ((formal-args_1
                                                                                                                                      formal-args_0)
                                                                                                                                     (bodys_1
                                                                                                                                      bodys_0))
                                                                                                                                 (values
                                                                                                                                  formal-args_1
                                                                                                                                  bodys_1
                                                                                                                                  rest_0))))))))
                                                                                                                    (lambda (formal-args_0
                                                                                                                             bodys_0
                                                                                                                             rest_0)
                                                                                                                      (let ((or-part_0
                                                                                                                             (left-left-lambda-convert_0
                                                                                                                              (list*
                                                                                                                               'lambda
                                                                                                                               formal-args_0
                                                                                                                               bodys_0)
                                                                                                                              inline-fuel_1)))
                                                                                                                        (if or-part_0
                                                                                                                          or-part_0
                                                                                                                          (left-left-lambda-convert_0
                                                                                                                           (list*
                                                                                                                            'case-lambda
                                                                                                                            rest_0)
                                                                                                                           inline-fuel_1)))))
                                                                                                                   #f)))))))
                                                                                                        (let ((inline-rator_0
                                                                                                               (|#%name|
                                                                                                                inline-rator
                                                                                                                (lambda ()
                                                                                                                  (let ((u-rator_0
                                                                                                                         (unwrap
                                                                                                                          rator_0)))
                                                                                                                    (if allow-inline?_0
                                                                                                                      (if (symbol?
                                                                                                                           u-rator_0)
                                                                                                                        (call-with-values
                                                                                                                         (lambda ()
                                                                                                                           (find-known+import
                                                                                                                            u-rator_0
                                                                                                                            prim-knowns_0
                                                                                                                            knowns_1
                                                                                                                            imports_0
                                                                                                                            mutated_0))
                                                                                                                         (lambda (k_0
                                                                                                                                  im_0)
                                                                                                                           (if (known-procedure/can-inline?
                                                                                                                                k_0)
                                                                                                                             (if (let ((or-part_0
                                                                                                                                        (eq?
                                                                                                                                         target_0
                                                                                                                                         'cify)))
                                                                                                                                   (if or-part_0
                                                                                                                                     or-part_0
                                                                                                                                     (let ((or-part_1
                                                                                                                                            (not
                                                                                                                                             unsafe-mode?_2)))
                                                                                                                                       (if or-part_1
                                                                                                                                         or-part_1
                                                                                                                                         (unsafe-body?
                                                                                                                                          (known-procedure/can-inline-expr
                                                                                                                                           k_0))))))
                                                                                                                               (let ((app_0
                                                                                                                                      (inline-clone
                                                                                                                                       k_0
                                                                                                                                       im_0
                                                                                                                                       add-import!_0
                                                                                                                                       mutated_0
                                                                                                                                       imports_0)))
                                                                                                                                 (left-left-lambda-convert_0
                                                                                                                                  app_0
                                                                                                                                  (sub1
                                                                                                                                   inline-fuel_0)))
                                                                                                                               #f)
                                                                                                                             #f)))
                                                                                                                        #f)
                                                                                                                      #f))))))
                                                                                                          (let ((maybe-tmp_0
                                                                                                                 (|#%name|
                                                                                                                  maybe-tmp
                                                                                                                  (lambda (e_0
                                                                                                                           name_0)
                                                                                                                    (if (simple/can-copy?
                                                                                                                         e_0
                                                                                                                         prim-knowns_0
                                                                                                                         knowns_1
                                                                                                                         imports_0
                                                                                                                         mutated_0)
                                                                                                                      e_0
                                                                                                                      (deterministic-gensym
                                                                                                                       name_0))))))
                                                                                                            (let ((wrap-tmp_0
                                                                                                                   (|#%name|
                                                                                                                    wrap-tmp
                                                                                                                    (lambda (tmp_0
                                                                                                                             e_0
                                                                                                                             body_0)
                                                                                                                      (if (eq?
                                                                                                                           tmp_0
                                                                                                                           e_0)
                                                                                                                        body_0
                                                                                                                        (list
                                                                                                                         'let
                                                                                                                         (list
                                                                                                                          (list
                                                                                                                           tmp_0
                                                                                                                           e_0))
                                                                                                                         body_0))))))
                                                                                                              (let ((inline-struct-constructor_0
                                                                                                                     (|#%name|
                                                                                                                      inline-struct-constructor
                                                                                                                      (lambda (k_0
                                                                                                                               s-rator_0
                                                                                                                               im_0
                                                                                                                               args_0)
                                                                                                                        (let ((type-id_0
                                                                                                                               (if (let ((app_0
                                                                                                                                          (known-procedure-arity-mask
                                                                                                                                           k_0)))
                                                                                                                                     (bitwise-bit-set?
                                                                                                                                      app_0
                                                                                                                                      (length
                                                                                                                                       args_0)))
                                                                                                                                 (inline-type-id
                                                                                                                                  k_0
                                                                                                                                  im_0
                                                                                                                                  add-import!_0
                                                                                                                                  mutated_0
                                                                                                                                  imports_0)
                                                                                                                                 #f)))
                                                                                                                          (if type-id_0
                                                                                                                            (left-to-right/app
                                                                                                                             'unsafe-struct
                                                                                                                             (cons
                                                                                                                              (schemify_1
                                                                                                                               type-id_0
                                                                                                                               'fresh)
                                                                                                                              args_0)
                                                                                                                             #f
                                                                                                                             target_0
                                                                                                                             prim-knowns_0
                                                                                                                             knowns_1
                                                                                                                             imports_0
                                                                                                                             mutated_0
                                                                                                                             simples_0
                                                                                                                             unsafe-mode?_2)
                                                                                                                            #f))))))
                                                                                                                (let ((inline-struct-predicate_0
                                                                                                                       (|#%name|
                                                                                                                        inline-struct-predicate
                                                                                                                        (lambda (k_0
                                                                                                                                 s-rator_0
                                                                                                                                 im_0
                                                                                                                                 args_0)
                                                                                                                          (let ((type-id_0
                                                                                                                                 (if (pair?
                                                                                                                                      args_0)
                                                                                                                                   (if (null?
                                                                                                                                        (cdr
                                                                                                                                         args_0))
                                                                                                                                     (inline-type-id
                                                                                                                                      k_0
                                                                                                                                      im_0
                                                                                                                                      add-import!_0
                                                                                                                                      mutated_0
                                                                                                                                      imports_0)
                                                                                                                                     #f)
                                                                                                                                   #f)))
                                                                                                                            (let ((unsafe-struct?_0
                                                                                                                                   (if (known-struct-predicate-sealed?
                                                                                                                                        k_0)
                                                                                                                                     'unsafe-sealed-struct?
                                                                                                                                     'unsafe-struct?)))
                                                                                                                              (if (not
                                                                                                                                   type-id_0)
                                                                                                                                #f
                                                                                                                                (if (known-struct-predicate-authentic?
                                                                                                                                     k_0)
                                                                                                                                  (let ((tmp_0
                                                                                                                                         (maybe-tmp_0
                                                                                                                                          (car
                                                                                                                                           args_0)
                                                                                                                                          'v)))
                                                                                                                                    (let ((ques_0
                                                                                                                                           (list
                                                                                                                                            unsafe-struct?_0
                                                                                                                                            tmp_0
                                                                                                                                            (schemify_1
                                                                                                                                             type-id_0
                                                                                                                                             'fresh))))
                                                                                                                                      (wrap-tmp_0
                                                                                                                                       tmp_0
                                                                                                                                       (car
                                                                                                                                        args_0)
                                                                                                                                       ques_0)))
                                                                                                                                  (let ((tmp_0
                                                                                                                                         (maybe-tmp_0
                                                                                                                                          (car
                                                                                                                                           args_0)
                                                                                                                                          'v)))
                                                                                                                                    (let ((schemified-type-id_0
                                                                                                                                           (schemify_1
                                                                                                                                            type-id_0
                                                                                                                                            'fresh)))
                                                                                                                                      (let ((tmp-type-id_0
                                                                                                                                             (maybe-tmp_0
                                                                                                                                              schemified-type-id_0
                                                                                                                                              'v)))
                                                                                                                                        (let ((ques_0
                                                                                                                                               (list
                                                                                                                                                'if
                                                                                                                                                (list
                                                                                                                                                 unsafe-struct?_0
                                                                                                                                                 tmp_0
                                                                                                                                                 tmp-type-id_0)
                                                                                                                                                #t
                                                                                                                                                (list*
                                                                                                                                                 'if
                                                                                                                                                 (list
                                                                                                                                                  'impersonator?
                                                                                                                                                  tmp_0)
                                                                                                                                                 (list
                                                                                                                                                  unsafe-struct?_0
                                                                                                                                                  (list
                                                                                                                                                   'impersonator-val
                                                                                                                                                   tmp_0)
                                                                                                                                                  tmp-type-id_0)
                                                                                                                                                 '(#f)))))
                                                                                                                                          (let ((app_0
                                                                                                                                                 (car
                                                                                                                                                  args_0)))
                                                                                                                                            (wrap-tmp_0
                                                                                                                                             tmp_0
                                                                                                                                             app_0
                                                                                                                                             (wrap-tmp_0
                                                                                                                                              tmp-type-id_0
                                                                                                                                              schemified-type-id_0
                                                                                                                                              ques_0)))))))))))))))
                                                                                                                  (let ((inline-field-access_0
                                                                                                                         (|#%name|
                                                                                                                          inline-field-access
                                                                                                                          (lambda (k_0
                                                                                                                                   s-rator_0
                                                                                                                                   im_0
                                                                                                                                   args_0)
                                                                                                                            (let ((type-id_0
                                                                                                                                   (if (pair?
                                                                                                                                        args_0)
                                                                                                                                     (if (null?
                                                                                                                                          (cdr
                                                                                                                                           args_0))
                                                                                                                                       (inline-type-id
                                                                                                                                        k_0
                                                                                                                                        im_0
                                                                                                                                        add-import!_0
                                                                                                                                        mutated_0
                                                                                                                                        imports_0)
                                                                                                                                       #f)
                                                                                                                                     #f)))
                                                                                                                              (if type-id_0
                                                                                                                                (let ((tmp_0
                                                                                                                                       (maybe-tmp_0
                                                                                                                                        (car
                                                                                                                                         args_0)
                                                                                                                                        'v)))
                                                                                                                                  (let ((sel_0
                                                                                                                                         (if (if unsafe-mode?_2
                                                                                                                                               (known-field-accessor-authentic?
                                                                                                                                                k_0)
                                                                                                                                               #f)
                                                                                                                                           (list
                                                                                                                                            'unsafe-struct*-ref
                                                                                                                                            tmp_0
                                                                                                                                            (known-field-accessor-pos
                                                                                                                                             k_0))
                                                                                                                                           (let ((app_0
                                                                                                                                                  (list
                                                                                                                                                   'unsafe-struct?
                                                                                                                                                   tmp_0
                                                                                                                                                   (schemify_1
                                                                                                                                                    type-id_0
                                                                                                                                                    'fresh))))
                                                                                                                                             (let ((app_1
                                                                                                                                                    (list
                                                                                                                                                     'unsafe-struct*-ref
                                                                                                                                                     tmp_0
                                                                                                                                                     (known-field-accessor-pos
                                                                                                                                                      k_0))))
                                                                                                                                               (list
                                                                                                                                                'if
                                                                                                                                                app_0
                                                                                                                                                app_1
                                                                                                                                                (let ((a_0
                                                                                                                                                       (list
                                                                                                                                                        s-rator_0
                                                                                                                                                        tmp_0)))
                                                                                                                                                  (if (known-field-accessor-authentic?
                                                                                                                                                       k_0)
                                                                                                                                                    (cons
                                                                                                                                                     '|#%app/no-return|
                                                                                                                                                     a_0)
                                                                                                                                                    a_0))))))))
                                                                                                                                    (wrap-tmp_0
                                                                                                                                     tmp_0
                                                                                                                                     (car
                                                                                                                                      args_0)
                                                                                                                                     sel_0)))
                                                                                                                                #f))))))
                                                                                                                    (let ((inline-field-mutate_0
                                                                                                                           (|#%name|
                                                                                                                            inline-field-mutate
                                                                                                                            (lambda (k_0
                                                                                                                                     s-rator_0
                                                                                                                                     im_0
                                                                                                                                     args_0)
                                                                                                                              (let ((type-id_0
                                                                                                                                     (if (pair?
                                                                                                                                          args_0)
                                                                                                                                       (if (pair?
                                                                                                                                            (cdr
                                                                                                                                             args_0))
                                                                                                                                         (if (null?
                                                                                                                                              (cddr
                                                                                                                                               args_0))
                                                                                                                                           (inline-type-id
                                                                                                                                            k_0
                                                                                                                                            im_0
                                                                                                                                            add-import!_0
                                                                                                                                            mutated_0
                                                                                                                                            imports_0)
                                                                                                                                           #f)
                                                                                                                                         #f)
                                                                                                                                       #f)))
                                                                                                                                (if type-id_0
                                                                                                                                  (let ((tmp_0
                                                                                                                                         (maybe-tmp_0
                                                                                                                                          (car
                                                                                                                                           args_0)
                                                                                                                                          'v)))
                                                                                                                                    (let ((tmp-rhs_0
                                                                                                                                           (maybe-tmp_0
                                                                                                                                            (cadr
                                                                                                                                             args_0)
                                                                                                                                            'rhs)))
                                                                                                                                      (let ((mut_0
                                                                                                                                             (if (if unsafe-mode?_2
                                                                                                                                                   (known-field-mutator-authentic?
                                                                                                                                                    k_0)
                                                                                                                                                   #f)
                                                                                                                                               (list
                                                                                                                                                'unsafe-struct*-set!
                                                                                                                                                tmp_0
                                                                                                                                                (known-field-mutator-pos
                                                                                                                                                 k_0)
                                                                                                                                                tmp-rhs_0)
                                                                                                                                               (let ((app_0
                                                                                                                                                      (list
                                                                                                                                                       'unsafe-struct?
                                                                                                                                                       tmp_0
                                                                                                                                                       (schemify_1
                                                                                                                                                        type-id_0
                                                                                                                                                        'fresh))))
                                                                                                                                                 (let ((app_1
                                                                                                                                                        (list
                                                                                                                                                         'unsafe-struct*-set!
                                                                                                                                                         tmp_0
                                                                                                                                                         (known-field-mutator-pos
                                                                                                                                                          k_0)
                                                                                                                                                         tmp-rhs_0)))
                                                                                                                                                   (list
                                                                                                                                                    'if
                                                                                                                                                    app_0
                                                                                                                                                    app_1
                                                                                                                                                    (let ((a_0
                                                                                                                                                           (list
                                                                                                                                                            s-rator_0
                                                                                                                                                            tmp_0
                                                                                                                                                            tmp-rhs_0)))
                                                                                                                                                      (if (known-field-mutator-authentic?
                                                                                                                                                           k_0)
                                                                                                                                                        (cons
                                                                                                                                                         '|#%app/no-return|
                                                                                                                                                         a_0)
                                                                                                                                                        a_0))))))))
                                                                                                                                        (let ((app_0
                                                                                                                                               (car
                                                                                                                                                args_0)))
                                                                                                                                          (wrap-tmp_0
                                                                                                                                           tmp_0
                                                                                                                                           app_0
                                                                                                                                           (wrap-tmp_0
                                                                                                                                            tmp-rhs_0
                                                                                                                                            (cadr
                                                                                                                                             args_0)
                                                                                                                                            mut_0))))))
                                                                                                                                  #f))))))
                                                                                                                      (let ((or-part_0
                                                                                                                             (left-left-lambda-convert_0
                                                                                                                              rator_0
                                                                                                                              inline-fuel_0)))
                                                                                                                        (if or-part_0
                                                                                                                          or-part_0
                                                                                                                          (let ((or-part_1
                                                                                                                                 (if (positive?
                                                                                                                                      inline-fuel_0)
                                                                                                                                   (inline-rator_0)
                                                                                                                                   #f)))
                                                                                                                            (if or-part_1
                                                                                                                              or-part_1
                                                                                                                              (let ((s-rator_0
                                                                                                                                     (schemify_1
                                                                                                                                      rator_0
                                                                                                                                      'fresh)))
                                                                                                                                (let ((args_0
                                                                                                                                       (schemify-body_1
                                                                                                                                        exps_0
                                                                                                                                        'fresh)))
                                                                                                                                  (let ((u-rator_0
                                                                                                                                         (unwrap
                                                                                                                                          rator_0)))
                                                                                                                                    (let ((args_1
                                                                                                                                           args_0)
                                                                                                                                          (s-rator_1
                                                                                                                                           s-rator_0))
                                                                                                                                      (call-with-values
                                                                                                                                       (lambda ()
                                                                                                                                         (find-known+import
                                                                                                                                          u-rator_0
                                                                                                                                          prim-knowns_0
                                                                                                                                          knowns_1
                                                                                                                                          imports_0
                                                                                                                                          mutated_0))
                                                                                                                                       (lambda (k_0
                                                                                                                                                im_0)
                                                                                                                                         (let ((cond-val_0
                                                                                                                                                (let ((or-part_2
                                                                                                                                                       (if (eq?
                                                                                                                                                            rator_0
                                                                                                                                                            'ptr-ref)
                                                                                                                                                         (inline-ptr-ref
                                                                                                                                                          args_1)
                                                                                                                                                         #f)))
                                                                                                                                                  (if or-part_2
                                                                                                                                                    or-part_2
                                                                                                                                                    (if (eq?
                                                                                                                                                         rator_0
                                                                                                                                                         'ptr-set!)
                                                                                                                                                      (inline-ptr-set
                                                                                                                                                       args_1)
                                                                                                                                                      #f)))))
                                                                                                                                           (if cond-val_0
                                                                                                                                             (let ((app_0
                                                                                                                                                    (car
                                                                                                                                                     cond-val_0)))
                                                                                                                                               (left-to-right/app
                                                                                                                                                app_0
                                                                                                                                                (cdr
                                                                                                                                                 cond-val_0)
                                                                                                                                                #f
                                                                                                                                                target_0
                                                                                                                                                prim-knowns_0
                                                                                                                                                knowns_1
                                                                                                                                                imports_0
                                                                                                                                                mutated_0
                                                                                                                                                simples_0
                                                                                                                                                unsafe-mode?_2))
                                                                                                                                             (let ((cond-val_1
                                                                                                                                                    (if (not
                                                                                                                                                         (let ((or-part_2
                                                                                                                                                                (eq?
                                                                                                                                                                 target_0
                                                                                                                                                                 'cify)))
                                                                                                                                                           (if or-part_2
                                                                                                                                                             or-part_2
                                                                                                                                                             (eq?
                                                                                                                                                              target_0
                                                                                                                                                              'system))))
                                                                                                                                                      (if (known-struct-constructor?
                                                                                                                                                           k_0)
                                                                                                                                                        (inline-struct-constructor_0
                                                                                                                                                         k_0
                                                                                                                                                         s-rator_1
                                                                                                                                                         im_0
                                                                                                                                                         args_1)
                                                                                                                                                        #f)
                                                                                                                                                      #f)))
                                                                                                                                               (if cond-val_1
                                                                                                                                                 cond-val_1
                                                                                                                                                 (let ((cond-val_2
                                                                                                                                                        (if (not
                                                                                                                                                             (let ((or-part_2
                                                                                                                                                                    (eq?
                                                                                                                                                                     target_0
                                                                                                                                                                     'cify)))
                                                                                                                                                               (if or-part_2
                                                                                                                                                                 or-part_2
                                                                                                                                                                 (eq?
                                                                                                                                                                  target_0
                                                                                                                                                                  'system))))
                                                                                                                                                          (if (known-struct-predicate?
                                                                                                                                                               k_0)
                                                                                                                                                            (inline-struct-predicate_0
                                                                                                                                                             k_0
                                                                                                                                                             s-rator_1
                                                                                                                                                             im_0
                                                                                                                                                             args_1)
                                                                                                                                                            #f)
                                                                                                                                                          #f)))
                                                                                                                                                   (if cond-val_2
                                                                                                                                                     cond-val_2
                                                                                                                                                     (let ((cond-val_3
                                                                                                                                                            (if (not
                                                                                                                                                                 (let ((or-part_2
                                                                                                                                                                        (eq?
                                                                                                                                                                         target_0
                                                                                                                                                                         'cify)))
                                                                                                                                                                   (if or-part_2
                                                                                                                                                                     or-part_2
                                                                                                                                                                     (eq?
                                                                                                                                                                      target_0
                                                                                                                                                                      'system))))
                                                                                                                                                              (if (known-field-accessor?
                                                                                                                                                                   k_0)
                                                                                                                                                                (inline-field-access_0
                                                                                                                                                                 k_0
                                                                                                                                                                 s-rator_1
                                                                                                                                                                 im_0
                                                                                                                                                                 args_1)
                                                                                                                                                                #f)
                                                                                                                                                              #f)))
                                                                                                                                                       (if cond-val_3
                                                                                                                                                         cond-val_3
                                                                                                                                                         (let ((cond-val_4
                                                                                                                                                                (if (not
                                                                                                                                                                     (let ((or-part_2
                                                                                                                                                                            (eq?
                                                                                                                                                                             target_0
                                                                                                                                                                             'cify)))
                                                                                                                                                                       (if or-part_2
                                                                                                                                                                         or-part_2
                                                                                                                                                                         (eq?
                                                                                                                                                                          target_0
                                                                                                                                                                          'system))))
                                                                                                                                                                  (if (known-field-mutator?
                                                                                                                                                                       k_0)
                                                                                                                                                                    (inline-field-mutate_0
                                                                                                                                                                     k_0
                                                                                                                                                                     s-rator_1
                                                                                                                                                                     im_0
                                                                                                                                                                     args_1)
                                                                                                                                                                    #f)
                                                                                                                                                                  #f)))
                                                                                                                                                           (if cond-val_4
                                                                                                                                                             cond-val_4
                                                                                                                                                             (if (if unsafe-mode?_2
                                                                                                                                                                   (known-procedure/has-unsafe?
                                                                                                                                                                    k_0)
                                                                                                                                                                   #f)
                                                                                                                                                               (left-to-right/app
                                                                                                                                                                (known-procedure/has-unsafe-alternate
                                                                                                                                                                 k_0)
                                                                                                                                                                args_1
                                                                                                                                                                #f
                                                                                                                                                                target_0
                                                                                                                                                                prim-knowns_0
                                                                                                                                                                knowns_1
                                                                                                                                                                imports_0
                                                                                                                                                                mutated_0
                                                                                                                                                                simples_0
                                                                                                                                                                unsafe-mode?_2)
                                                                                                                                                               (if (eq?
                                                                                                                                                                    (unwrap
                                                                                                                                                                     s-rator_1)
                                                                                                                                                                    'ffi-maybe-call-and-callback-core)
                                                                                                                                                                 (list*
                                                                                                                                                                  s-rator_1
                                                                                                                                                                  args_1)
                                                                                                                                                                 (left-to-right/app
                                                                                                                                                                  s-rator_1
                                                                                                                                                                  args_1
                                                                                                                                                                  (if (if (not
                                                                                                                                                                           (eq?
                                                                                                                                                                            target_0
                                                                                                                                                                            'system))
                                                                                                                                                                        (known-procedure/no-return?
                                                                                                                                                                         k_0)
                                                                                                                                                                        #f)
                                                                                                                                                                    '|#%app/no-return|
                                                                                                                                                                    (if (if im_0
                                                                                                                                                                          (known-procedure/single-valued?
                                                                                                                                                                           k_0)
                                                                                                                                                                          #f)
                                                                                                                                                                      '|#%app/value|
                                                                                                                                                                      (if (let ((or-part_2
                                                                                                                                                                                 (known-procedure?
                                                                                                                                                                                  k_0)))
                                                                                                                                                                            (if or-part_2
                                                                                                                                                                              or-part_2
                                                                                                                                                                              (lambda?.1
                                                                                                                                                                               #f
                                                                                                                                                                               rator_0)))
                                                                                                                                                                        #f
                                                                                                                                                                        (if (let ((v_2
                                                                                                                                                                                   (let ((or-part_2
                                                                                                                                                                                          (if (known-foreign-inline?
                                                                                                                                                                                               k_0)
                                                                                                                                                                                            (known-foreign-inline-expr
                                                                                                                                                                                             k_0)
                                                                                                                                                                                            #f)))
                                                                                                                                                                                     (if or-part_2
                                                                                                                                                                                       or-part_2
                                                                                                                                                                                       rator_0))))
                                                                                                                                                                              (let ((hd_1
                                                                                                                                                                                     (let ((p_0
                                                                                                                                                                                            (unwrap
                                                                                                                                                                                             v_2)))
                                                                                                                                                                                       (if (pair?
                                                                                                                                                                                            p_0)
                                                                                                                                                                                         (unwrap
                                                                                                                                                                                          (car
                                                                                                                                                                                           p_0))
                                                                                                                                                                                         #f))))
                                                                                                                                                                                (if (if (eq?
                                                                                                                                                                                         '|#%foreign-inline|
                                                                                                                                                                                         hd_1)
                                                                                                                                                                                      (let ((a_0
                                                                                                                                                                                             (cdr
                                                                                                                                                                                              (unwrap
                                                                                                                                                                                               v_2))))
                                                                                                                                                                                        (let ((p_0
                                                                                                                                                                                               (unwrap
                                                                                                                                                                                                a_0)))
                                                                                                                                                                                          (if (pair?
                                                                                                                                                                                               p_0)
                                                                                                                                                                                            (let ((a_1
                                                                                                                                                                                                   (cdr
                                                                                                                                                                                                    p_0)))
                                                                                                                                                                                              (let ((p_1
                                                                                                                                                                                                     (unwrap
                                                                                                                                                                                                      a_1)))
                                                                                                                                                                                                (if (pair?
                                                                                                                                                                                                     p_1)
                                                                                                                                                                                                  (let ((a_2
                                                                                                                                                                                                         (cdr
                                                                                                                                                                                                          p_1)))
                                                                                                                                                                                                    (let ((app_0
                                                                                                                                                                                                           (unwrap
                                                                                                                                                                                                            '())))
                                                                                                                                                                                                      (eq?
                                                                                                                                                                                                       app_0
                                                                                                                                                                                                       (unwrap
                                                                                                                                                                                                        a_2))))
                                                                                                                                                                                                  #f)))
                                                                                                                                                                                            #f)))
                                                                                                                                                                                      #f)
                                                                                                                                                                                  (let ((mode_0
                                                                                                                                                                                         (let ((d_0
                                                                                                                                                                                                (cdr
                                                                                                                                                                                                 (unwrap
                                                                                                                                                                                                  v_2))))
                                                                                                                                                                                           (let ((d_1
                                                                                                                                                                                                  (cdr
                                                                                                                                                                                                   (unwrap
                                                                                                                                                                                                    d_0))))
                                                                                                                                                                                             (let ((a_0
                                                                                                                                                                                                    (car
                                                                                                                                                                                                     (unwrap
                                                                                                                                                                                                      d_1))))
                                                                                                                                                                                               a_0)))))
                                                                                                                                                                                    (memq
                                                                                                                                                                                     mode_0
                                                                                                                                                                                     '(copy*
                                                                                                                                                                                       pure*)))
                                                                                                                                                                                  #f)))
                                                                                                                                                                          #f
                                                                                                                                                                          '|#%app|))))
                                                                                                                                                                  target_0
                                                                                                                                                                  prim-knowns_0
                                                                                                                                                                  knowns_1
                                                                                                                                                                  imports_0
                                                                                                                                                                  mutated_0
                                                                                                                                                                  simples_0
                                                                                                                                                                  unsafe-mode?_2)))))))))))))))))))))))))))))))))
                                                                                                    (let ((u-v_0
                                                                                                           (unwrap
                                                                                                            v84_0)))
                                                                                                      (if (not
                                                                                                           (symbol?
                                                                                                            u-v_0))
                                                                                                        v84_0
                                                                                                        (if (eq?
                                                                                                             u-v_0
                                                                                                             'call-with-values)
                                                                                                          '|#%call-with-values|
                                                                                                          (let ((state_0
                                                                                                                 (hash-ref
                                                                                                                  mutated_0
                                                                                                                  u-v_0
                                                                                                                  #f)))
                                                                                                            (let ((cond-val_0
                                                                                                                   (if (via-variable-mutated-state?
                                                                                                                        state_0)
                                                                                                                     (let ((or-part_0
                                                                                                                            (hash-ref
                                                                                                                             exports_0
                                                                                                                             u-v_0
                                                                                                                             #f)))
                                                                                                                       (if or-part_0
                                                                                                                         or-part_0
                                                                                                                         (hash-ref
                                                                                                                          extra-variables_0
                                                                                                                          u-v_0
                                                                                                                          #f)))
                                                                                                                     #f)))
                                                                                                              (if cond-val_0
                                                                                                                (if (too-early-mutated-state?
                                                                                                                     state_0)
                                                                                                                  (list
                                                                                                                   'variable-ref
                                                                                                                   (export-id
                                                                                                                    cond-val_0))
                                                                                                                  (list
                                                                                                                   'variable-ref/no-check
                                                                                                                   (export-id
                                                                                                                    cond-val_0)))
                                                                                                                (let ((cond-val_1
                                                                                                                       (hash-ref
                                                                                                                        imports_0
                                                                                                                        u-v_0
                                                                                                                        #f)))
                                                                                                                  (if cond-val_1
                                                                                                                    (let ((k_0
                                                                                                                           (import-lookup
                                                                                                                            cond-val_1)))
                                                                                                                      (if (known-constant?
                                                                                                                           k_0)
                                                                                                                        (if (known-literal?
                                                                                                                             k_0)
                                                                                                                          (wrap-literal
                                                                                                                           (known-literal-value
                                                                                                                            k_0))
                                                                                                                          (if (known-foreign-inline?
                                                                                                                               k_0)
                                                                                                                            (known-foreign-inline-expr
                                                                                                                             k_0)
                                                                                                                            (if (if (known-copy?
                                                                                                                                     k_0)
                                                                                                                                  (hash-ref
                                                                                                                                   prim-knowns_0
                                                                                                                                   (known-copy-id
                                                                                                                                    k_0)
                                                                                                                                   #f)
                                                                                                                                  #f)
                                                                                                                              (known-copy-id
                                                                                                                               k_0)
                                                                                                                              (import-id
                                                                                                                               cond-val_1))))
                                                                                                                        (list
                                                                                                                         'variable-ref/no-check
                                                                                                                         (import-id
                                                                                                                          cond-val_1))))
                                                                                                                    (let ((cond-val_2
                                                                                                                           (hash-ref
                                                                                                                            knowns_1
                                                                                                                            u-v_0
                                                                                                                            #f)))
                                                                                                                      (if cond-val_2
                                                                                                                        (if (if (known-copy?
                                                                                                                                 cond-val_2)
                                                                                                                              (simple-mutated-state?
                                                                                                                               (hash-ref
                                                                                                                                mutated_0
                                                                                                                                u-v_0
                                                                                                                                #f))
                                                                                                                              #f)
                                                                                                                          (schemify_1
                                                                                                                           (known-copy-id
                                                                                                                            cond-val_2)
                                                                                                                           wcm-state85_0)
                                                                                                                          v84_0)
                                                                                                                        (if (if (too-early-mutated-state?
                                                                                                                                 state_0)
                                                                                                                              (not
                                                                                                                               (eq?
                                                                                                                                target_0
                                                                                                                                'cify))
                                                                                                                              #f)
                                                                                                                          (list
                                                                                                                           'check-not-unsafe-undefined
                                                                                                                           v84_0
                                                                                                                           (list
                                                                                                                            'quote
                                                                                                                            (too-early-mutated-state-name
                                                                                                                             state_0
                                                                                                                             u-v_0)))
                                                                                                                          v84_0)))))))))))))))))))))))))))))))))))))))))))))))))))
                    (optimize
                     s-v_0
                     prim-knowns_0
                     primitives_0
                     knowns_1
                     imports_0
                     mutated_0
                     target_0
                     compiler-query_0))))))
            (schemify_1
             (|#%name|
              schemify
              (case-lambda
               ((v_2 wcm-state_2)
                (schemify_0 v_2 wcm-state_2 unsafe-undefined))
               ((v_2 wcm-state_2 unsafe-mode?83_0)
                (schemify_0 v_2 wcm-state_2 unsafe-mode?83_0)))))
            (schemify-body_0
             (|#%name|
              schemify-body
              (lambda (l87_0 wcm-state88_0 unsafe-mode?86_0)
                (let ((unsafe-mode?_2
                       (if (eq? unsafe-mode?86_0 unsafe-undefined)
                         unsafe-mode?_1
                         unsafe-mode?86_0)))
                  (if (null? l87_0)
                    null
                    (if (null? (cdr l87_0))
                      (list
                       (schemify_1 (car l87_0) wcm-state88_0 unsafe-mode?_2))
                      (let ((app_0
                             (schemify_1 (car l87_0) 'fresh unsafe-mode?_2)))
                        (cons
                         app_0
                         (schemify-body_1
                          (cdr l87_0)
                          wcm-state88_0
                          unsafe-mode?_2)))))))))
            (schemify-body_1
             (|#%name|
              schemify-body
              (case-lambda
               ((l_0 wcm-state_2)
                (schemify-body_0 l_0 wcm-state_2 unsafe-undefined))
               ((l_0 wcm-state_2 unsafe-mode?86_0)
                (schemify-body_0 l_0 wcm-state_2 unsafe-mode?86_0))))))
           (schemify_1 v_1 wcm-state_1))))))
     (schemify/knowns_0 knowns_0 8 wcm-state_0 unsafe-mode?_0 v_0))))
(define finish_2608
  (make-struct-type-install-properties
   '(convert-mode)
   4
   0
   #f
   (list (cons prop:authentic #t))
   (current-inspector)
   #f
   '(0 1 2 3)
   #f
   'convert-mode))
(define struct:convert-mode
  (make-record-type-descriptor
   'convert-mode
   #f
   (|#%nongenerative-uid| convert-mode)
   #f
   #f
   '(4 . 0)))
(define effect_2443 (finish_2608 struct:convert-mode))
(define convert-mode1.1
  (|#%name|
   convert-mode
   (record-constructor
    (make-record-constructor-descriptor struct:convert-mode #f #f))))
(define convert-mode?
  (|#%name| convert-mode? (record-predicate struct:convert-mode)))
(define convert-mode-sizes
  (|#%name| convert-mode-sizes (record-accessor struct:convert-mode 0)))
(define convert-mode-called?
  (|#%name| convert-mode-called? (record-accessor struct:convert-mode 1)))
(define convert-mode-lift?
  (|#%name| convert-mode-lift? (record-accessor struct:convert-mode 2)))
(define convert-mode-no-more-conversions?
  (|#%name|
   convert-mode-no-more-conversions?
   (record-accessor struct:convert-mode 3)))
(define lifts-id (string->uninterned-symbol "_jits"))
(define jitify-schemified-linklet
  (lambda (v_0
           need-extract?_0
           need-lift?_0
           convert-size-threshold_0
           extractable-annotation_0)
    (letrec*
     ((make-jit-on-call_0
       (|#%name|
        make-jit-on-call
        (lambda (free-vars_0
                 argss_0
                 v_1
                 name_0
                 env_0
                 convert-mode_0
                 body-lifts_0
                 lifts_0)
          (let ((ids_0
                 (reverse$1
                  (letrec*
                   ((for-loop_0
                     (|#%name|
                      for-loop
                      (lambda (fold-var_0 i_0)
                        (if i_0
                          (let ((id_0 (hash-iterate-key free-vars_0 i_0)))
                            (let ((fold-var_1 (cons id_0 fold-var_0)))
                              (let ((fold-var_2 (values fold-var_1)))
                                (for-loop_0
                                 fold-var_2
                                 (hash-iterate-next free-vars_0 i_0)))))
                          fold-var_0)))))
                   (for-loop_0 null (hash-iterate-first free-vars_0))))))
            (letrec*
             ((extract-id_0
               (|#%name|
                extract-id
                (lambda (m_0 id_0)
                  (let ((hd_0
                         (let ((p_0 (unwrap m_0)))
                           (if (pair? p_0) (unwrap (car p_0)) #f))))
                    (if (if (eq? 'variable-ref hd_0)
                          (let ((a_0 (cdr (unwrap m_0))))
                            (let ((p_0 (unwrap a_0)))
                              (if (pair? p_0)
                                (let ((a_1 (cdr p_0)))
                                  (let ((app_0 (unwrap '())))
                                    (eq? app_0 (unwrap a_1))))
                                #f)))
                          #f)
                      (let ((var_0
                             (let ((d_0 (cdr (unwrap m_0))))
                               (let ((a_0 (car (unwrap d_0)))) a_0))))
                        var_0)
                      (if (if (eq? 'unsafe-unbox* hd_0)
                            (let ((a_0 (cdr (unwrap m_0))))
                              (let ((p_0 (unwrap a_0)))
                                (if (pair? p_0)
                                  (let ((a_1 (cdr p_0)))
                                    (let ((app_0 (unwrap '())))
                                      (eq? app_0 (unwrap a_1))))
                                  #f)))
                            #f)
                        (let ((var_0
                               (let ((d_0 (cdr (unwrap m_0))))
                                 (let ((a_0 (car (unwrap d_0)))) a_0))))
                          var_0)
                        (if (if (eq? 'self hd_0)
                              (let ((a_0 (cdr (unwrap m_0))))
                                (let ((p_0 (unwrap a_0)))
                                  (if (pair? p_0)
                                    (let ((a_1 (cdr p_0)))
                                      (let ((p_1 (unwrap a_1)))
                                        (if (pair? p_1)
                                          (let ((a_2 (cdr p_1)))
                                            (let ((app_0 (unwrap '())))
                                              (eq? app_0 (unwrap a_2))))
                                          #f)))
                                    #f)))
                              #f)
                          (call-with-values
                           (lambda ()
                             (let ((d_0 (cdr (unwrap m_0))))
                               (let ((p_0 (unwrap d_0)))
                                 (let ((m_1 (let ((a_0 (car p_0))) a_0)))
                                   (let ((orig-id_0
                                          (let ((d_1 (cdr p_0)))
                                            (let ((a_0 (car (unwrap d_1))))
                                              a_0))))
                                     (let ((m_2 m_1))
                                       (values m_2 orig-id_0)))))))
                           (lambda (m_1 orig-id_0) orig-id_0))
                          (if (if (eq? 'self hd_0)
                                (let ((a_0 (cdr (unwrap m_0))))
                                  (let ((p_0 (unwrap a_0)))
                                    (if (pair? p_0)
                                      (let ((a_1 (cdr p_0)))
                                        (let ((app_0 (unwrap '())))
                                          (eq? app_0 (unwrap a_1))))
                                      #f)))
                                #f)
                            (let ((m_1
                                   (let ((d_0 (cdr (unwrap m_0))))
                                     (let ((a_0 (car (unwrap d_0)))) a_0))))
                              (extract-id_0 m_1 id_0))
                            id_0)))))))))
             (let ((id<?_0
                    (|#%name|
                     id<?
                     (lambda (a_0 b_0)
                       (let ((app_0 (unwrap a_0)))
                         (symbol<? app_0 (unwrap b_0)))))))
               (let ((captures_0
                      (let ((temp6_0
                             (hash-keys
                              (let ((table_0 hash2725))
                                (let ((table_1 table_0))
                                  (letrec*
                                   ((for-loop_0
                                     (|#%name|
                                      for-loop
                                      (lambda (table_2 lst_0)
                                        (if (pair? lst_0)
                                          (let ((id_0 (unsafe-car lst_0)))
                                            (let ((rest_0 (unsafe-cdr lst_0)))
                                              (let ((table_3
                                                     (let ((table_3
                                                            (call-with-values
                                                             (lambda ()
                                                               (values
                                                                (extract-id_0
                                                                 (hash-ref
                                                                  env_0
                                                                  id_0)
                                                                 id_0)
                                                                #t))
                                                             (lambda (key_0
                                                                      val_0)
                                                               (hash-set
                                                                table_2
                                                                key_0
                                                                val_0)))))
                                                       (values table_3))))
                                                (for-loop_0 table_3 rest_0))))
                                          table_2)))))
                                   (for-loop_0 table_1 ids_0)))))))
                        (sort.1 #f #f temp6_0 id<?_0))))
                 (let ((jitted-proc_0
                        (let ((or-part_0
                               (let ((v_2
                                      (if name_0
                                        (if (hash-ref
                                             free-vars_0
                                             (unwrap name_0)
                                             #f)
                                          (hash-ref env_0 (unwrap name_0) #f)
                                          #f)
                                        #f)))
                                 (let ((hd_0
                                        (let ((p_0 (unwrap v_2)))
                                          (if (pair? p_0)
                                            (unwrap (car p_0))
                                            #f))))
                                   (if (if (eq? 'self hd_0)
                                         (let ((a_0 (cdr (unwrap v_2))))
                                           (let ((p_0 (unwrap a_0)))
                                             (if (pair? p_0)
                                               (let ((a_1 (cdr p_0)))
                                                 (let ((p_1 (unwrap a_1)))
                                                   (if (pair? p_1)
                                                     (let ((a_2 (cdr p_1)))
                                                       (let ((app_0
                                                              (unwrap '())))
                                                         (eq?
                                                          app_0
                                                          (unwrap a_2))))
                                                     #f)))
                                               #f)))
                                         #f)
                                     (call-with-values
                                      (lambda ()
                                        (let ((d_0 (cdr (unwrap v_2))))
                                          (let ((p_0 (unwrap d_0)))
                                            (let ((m_0
                                                   (let ((a_0 (car p_0)))
                                                     a_0)))
                                              (let ((orig-name_0
                                                     (let ((d_1 (cdr p_0)))
                                                       (let ((a_0
                                                              (car
                                                               (unwrap d_1))))
                                                         a_0))))
                                                (let ((m_1 m_0))
                                                  (values
                                                   m_1
                                                   orig-name_0)))))))
                                      (lambda (m_0 orig-name_0)
                                        (if (eq? orig-name_0 name_0)
                                          (let ((self-id_0
                                                 (extract-id_0 m_0 name_0)))
                                            (list
                                             'let
                                             (list
                                              (list self-id_0 orig-name_0))
                                             (list
                                              'letrec
                                              (list (list name_0 v_1))
                                              name_0)))
                                          #f)))
                                     #f)))))
                          (if or-part_0
                            or-part_0
                            (let ((or-part_1
                                   (let ((v_2
                                          (if name_0
                                            (hash-ref env_0 (unwrap name_0) #f)
                                            #f)))
                                     (let ((hd_0
                                            (let ((p_0 (unwrap v_2)))
                                              (if (pair? p_0)
                                                (unwrap (car p_0))
                                                #f))))
                                       (if (if (eq? 'self hd_0) #t #f)
                                         (list
                                          'letrec
                                          (list (list name_0 v_1))
                                          name_0)
                                         #f)))))
                              (if or-part_1
                                or-part_1
                                (if name_0
                                  (list 'let (list (list name_0 v_1)) name_0)
                                  v_1)))))))
                   (let ((arity-mask_0 (argss->arity-mask_0 argss_0)))
                     (let ((i-name_0
                            (let ((or-part_0
                                   (wrap-property v_1 'inferred-name)))
                              (if or-part_0 or-part_0 name_0))))
                       (let ((i-method?_0
                              (wrap-property v_1 'method-arity-error)))
                         (if (if (null? captures_0)
                               (no-lifts?_0 body-lifts_0)
                               #f)
                           (let ((e_0
                                  (|#%app|
                                   extractable-annotation_0
                                   jitted-proc_0
                                   arity-mask_0
                                   i-name_0
                                   i-method?_0)))
                             (call-with-values
                              (lambda ()
                                (if (convert-mode-need-lift?_0 convert-mode_0)
                                  (add-lift_0 e_0 lifts_0)
                                  (values (list 'quote e_0) lifts_0)))
                              (lambda (get-e_0 new-lifts_0)
                                (values
                                 (if need-extract?_0
                                   (list 'jitified-extract-closed get-e_0)
                                   get-e_0)
                                 new-lifts_0))))
                           (let ((e_0
                                  (|#%app|
                                   extractable-annotation_0
                                   (reannotate
                                    v_1
                                    (list
                                     'lambda
                                     (if (no-lifts?_0 body-lifts_0)
                                       captures_0
                                       (cons lifts-id captures_0))
                                     jitted-proc_0))
                                   arity-mask_0
                                   i-name_0
                                   i-method?_0)))
                             (call-with-values
                              (lambda ()
                                (if (no-lifts?_0 body-lifts_0)
                                  (values captures_0 lifts_0)
                                  (if (not
                                       (convert-mode-need-lift?_0
                                        convert-mode_0))
                                    (values
                                     (cons
                                      (list
                                       'quote
                                       (lifts->datum_0 body-lifts_0))
                                      captures_0)
                                     lifts_0)
                                    (call-with-values
                                     (lambda ()
                                       (add-lift_0
                                        (lifts->datum_0 body-lifts_0)
                                        lifts_0))
                                     (lambda (get-sub-lift_0 new-lifts_0)
                                       (values
                                        (cons get-sub-lift_0 captures_0)
                                        new-lifts_0))))))
                              (lambda (all-captures_0 new-lifts_0)
                                (call-with-values
                                 (lambda ()
                                   (if (convert-mode-need-lift?_0
                                        convert-mode_0)
                                     (add-lift_0 e_0 new-lifts_0)
                                     (values (list 'quote e_0) new-lifts_0)))
                                 (lambda (get-e_0 newer-lifts_0)
                                   (values
                                    (if need-extract?_0
                                      (list*
                                       (list 'jitified-extract get-e_0)
                                       all-captures_0)
                                      (list* get-e_0 all-captures_0))
                                    newer-lifts_0))))))))))))))))))
      (top_0
       (|#%name|
        top
        (lambda ()
          (letrec*
           ((loop_0
             (|#%name|
              loop
              (lambda (v_1 env_0)
                (let ((hd_0
                       (let ((p_0 (unwrap v_1)))
                         (if (pair? p_0) (unwrap (car p_0)) #f))))
                  (if (if (eq? 'lambda hd_0)
                        (let ((a_0 (cdr (unwrap v_1))))
                          (let ((p_0 (unwrap a_0))) (if (pair? p_0) #t #f)))
                        #f)
                    (call-with-values
                     (lambda ()
                       (let ((d_0 (cdr (unwrap v_1))))
                         (let ((p_0 (unwrap d_0)))
                           (let ((args_0 (let ((a_0 (car p_0))) a_0)))
                             (let ((body_0 (let ((d_1 (cdr p_0))) d_1)))
                               (let ((args_1 args_0))
                                 (values args_1 body_0)))))))
                     (lambda (args_0 body_0)
                       (let ((new-body_0
                              (jitify-schemified-body_0
                               body_0
                               (plain-add-args_0 env_0 args_0))))
                         (reannotate v_1 (list* 'lambda args_0 new-body_0)))))
                    (if (if (eq? 'let* hd_0)
                          (let ((a_0 (cdr (unwrap v_1))))
                            (let ((p_0 (unwrap a_0)))
                              (if (pair? p_0)
                                (let ((a_1 (cdr p_0)))
                                  (let ((p_1 (unwrap a_1)))
                                    (if (pair? p_1)
                                      (let ((a_2 (cdr p_1)))
                                        (let ((app_0 (unwrap '())))
                                          (eq? app_0 (unwrap a_2))))
                                      #f)))
                                #f)))
                          #f)
                      (call-with-values
                       (lambda ()
                         (let ((d_0 (cdr (unwrap v_1))))
                           (let ((p_0 (unwrap d_0)))
                             (let ((bindings_0 (let ((a_0 (car p_0))) a_0)))
                               (let ((body_0
                                      (let ((d_1 (cdr p_0)))
                                        (let ((a_0 (car (unwrap d_1)))) a_0))))
                                 (let ((bindings_1 bindings_0))
                                   (values bindings_1 body_0)))))))
                       (lambda (bindings_0 body_0)
                         (let ((new-body_0
                                (loop_0
                                 body_0
                                 (add-bindings_0 env_0 bindings_0))))
                           (reannotate
                            v_1
                            (list 'let* bindings_0 new-body_0)))))
                      (error 'match "failed ~e" v_1))))))))
           (loop_0 v_0 hash2610)))))
      (jitify-schemified-body_0
       (|#%name|
        jitify-schemified-body
        (lambda (body_0 env_0)
          (let ((top-env_0
                 (letrec*
                  ((for-loop_0
                    (|#%name|
                     for-loop
                     (lambda (env_1 lst_0)
                       (if (pair? lst_0)
                         (let ((v_1 (unsafe-car lst_0)))
                           (let ((rest_0 (unsafe-cdr lst_0)))
                             (let ((env_2
                                    (let ((env_2
                                           (letrec*
                                            ((loop_0
                                              (|#%name|
                                               loop
                                               (lambda (v_2 env_2)
                                                 (let ((hd_0
                                                        (let ((p_0
                                                               (unwrap v_2)))
                                                          (if (pair? p_0)
                                                            (unwrap (car p_0))
                                                            #f))))
                                                   (if (if (eq?
                                                            'variable-set!
                                                            hd_0)
                                                         (let ((a_0
                                                                (cdr
                                                                 (unwrap
                                                                  v_2))))
                                                           (let ((p_0
                                                                  (unwrap
                                                                   a_0)))
                                                             (if (pair? p_0)
                                                               (let ((a_1
                                                                      (cdr
                                                                       p_0)))
                                                                 (let ((p_1
                                                                        (unwrap
                                                                         a_1)))
                                                                   (if (pair?
                                                                        p_1)
                                                                     #t
                                                                     #f)))
                                                               #f)))
                                                         #f)
                                                     (call-with-values
                                                      (lambda ()
                                                        (let ((d_0
                                                               (cdr
                                                                (unwrap v_2))))
                                                          (let ((p_0
                                                                 (unwrap d_0)))
                                                            (let ((var-id_0
                                                                   (let ((a_0
                                                                          (car
                                                                           p_0)))
                                                                     a_0)))
                                                              (let ((id_0
                                                                     (let ((d_1
                                                                            (cdr
                                                                             p_0)))
                                                                       (let ((a_0
                                                                              (car
                                                                               (unwrap
                                                                                d_1))))
                                                                         a_0))))
                                                                (let ((var-id_1
                                                                       var-id_0))
                                                                  (values
                                                                   var-id_1
                                                                   id_0)))))))
                                                      (lambda (var-id_0 id_0)
                                                        (let ((app_0
                                                               (unwrap id_0)))
                                                          (hash-set
                                                           env_2
                                                           app_0
                                                           (list
                                                            'variable-ref
                                                            (unwrap
                                                             var-id_0))))))
                                                     (if (if (eq?
                                                              'variable-set!/define
                                                              hd_0)
                                                           (let ((a_0
                                                                  (cdr
                                                                   (unwrap
                                                                    v_2))))
                                                             (let ((p_0
                                                                    (unwrap
                                                                     a_0)))
                                                               (if (pair? p_0)
                                                                 (let ((a_1
                                                                        (cdr
                                                                         p_0)))
                                                                   (let ((p_1
                                                                          (unwrap
                                                                           a_1)))
                                                                     (if (pair?
                                                                          p_1)
                                                                       #t
                                                                       #f)))
                                                                 #f)))
                                                           #f)
                                                       (call-with-values
                                                        (lambda ()
                                                          (let ((d_0
                                                                 (cdr
                                                                  (unwrap
                                                                   v_2))))
                                                            (let ((p_0
                                                                   (unwrap
                                                                    d_0)))
                                                              (let ((var-id_0
                                                                     (let ((a_0
                                                                            (car
                                                                             p_0)))
                                                                       a_0)))
                                                                (let ((id_0
                                                                       (let ((d_1
                                                                              (cdr
                                                                               p_0)))
                                                                         (let ((a_0
                                                                                (car
                                                                                 (unwrap
                                                                                  d_1))))
                                                                           a_0))))
                                                                  (let ((var-id_1
                                                                         var-id_0))
                                                                    (values
                                                                     var-id_1
                                                                     id_0)))))))
                                                        (lambda (var-id_0 id_0)
                                                          (let ((app_0
                                                                 (unwrap
                                                                  id_0)))
                                                            (hash-set
                                                             env_2
                                                             app_0
                                                             (list
                                                              'variable-ref
                                                              (unwrap
                                                               var-id_0))))))
                                                       (if (if (eq?
                                                                'call-with-module-prompt
                                                                hd_0)
                                                             (let ((a_0
                                                                    (cdr
                                                                     (unwrap
                                                                      v_2))))
                                                               (let ((p_0
                                                                      (unwrap
                                                                       a_0)))
                                                                 (if (pair?
                                                                      p_0)
                                                                   (let ((a_1
                                                                          (cdr
                                                                           p_0)))
                                                                     (let ((p_1
                                                                            (unwrap
                                                                             a_1)))
                                                                       (if (pair?
                                                                            p_1)
                                                                         (if (let ((a_2
                                                                                    (car
                                                                                     p_1)))
                                                                               (let ((p_2
                                                                                      (unwrap
                                                                                       a_2)))
                                                                                 (if (pair?
                                                                                      p_2)
                                                                                   (if (let ((a_3
                                                                                              (car
                                                                                               p_2)))
                                                                                         (let ((app_0
                                                                                                (unwrap
                                                                                                 'quote)))
                                                                                           (eq?
                                                                                            app_0
                                                                                            (unwrap
                                                                                             a_3))))
                                                                                     (let ((a_3
                                                                                            (cdr
                                                                                             p_2)))
                                                                                       (let ((p_3
                                                                                              (unwrap
                                                                                               a_3)))
                                                                                         (if (pair?
                                                                                              p_3)
                                                                                           (let ((a_4
                                                                                                  (cdr
                                                                                                   p_3)))
                                                                                             (let ((app_0
                                                                                                    (unwrap
                                                                                                     '())))
                                                                                               (eq?
                                                                                                app_0
                                                                                                (unwrap
                                                                                                 a_4))))
                                                                                           #f)))
                                                                                     #f)
                                                                                   #f)))
                                                                           (let ((a_2
                                                                                  (cdr
                                                                                   p_1)))
                                                                             (let ((p_2
                                                                                    (unwrap
                                                                                     a_2)))
                                                                               (if (pair?
                                                                                    p_2)
                                                                                 (let ((a_3
                                                                                        (cdr
                                                                                         p_2)))
                                                                                   (wrap-list?
                                                                                    a_3))
                                                                                 #f)))
                                                                           #f)
                                                                         #f)))
                                                                   #f)))
                                                             #f)
                                                         (call-with-values
                                                          (lambda ()
                                                            (let ((d_0
                                                                   (cdr
                                                                    (unwrap
                                                                     v_2))))
                                                              (let ((d_1
                                                                     (cdr
                                                                      (unwrap
                                                                       d_0))))
                                                                (let ((p_0
                                                                       (unwrap
                                                                        d_1)))
                                                                  (let ((ids_0
                                                                         (let ((a_0
                                                                                (car
                                                                                 p_0)))
                                                                           (let ((d_2
                                                                                  (cdr
                                                                                   (unwrap
                                                                                    a_0))))
                                                                             (let ((a_1
                                                                                    (car
                                                                                     (unwrap
                                                                                      d_2))))
                                                                               a_1)))))
                                                                    (let ((var-ids_0
                                                                           (let ((d_2
                                                                                  (cdr
                                                                                   p_0)))
                                                                             (let ((d_3
                                                                                    (cdr
                                                                                     (unwrap
                                                                                      d_2))))
                                                                               (unwrap-list
                                                                                d_3)))))
                                                                      (let ((ids_1
                                                                             ids_0))
                                                                        (values
                                                                         ids_1
                                                                         var-ids_0))))))))
                                                          (lambda (ids_0
                                                                   var-ids_0)
                                                            (letrec*
                                                             ((for-loop_1
                                                               (|#%name|
                                                                for-loop
                                                                (lambda (env_3
                                                                         lst_1
                                                                         lst_2)
                                                                  (if (if (pair?
                                                                           lst_1)
                                                                        (pair?
                                                                         lst_2)
                                                                        #f)
                                                                    (let ((id_0
                                                                           (unsafe-car
                                                                            lst_1)))
                                                                      (let ((rest_1
                                                                             (unsafe-cdr
                                                                              lst_1)))
                                                                        (let ((var-id_0
                                                                               (unsafe-car
                                                                                lst_2)))
                                                                          (let ((rest_2
                                                                                 (unsafe-cdr
                                                                                  lst_2)))
                                                                            (let ((env_4
                                                                                   (let ((env_4
                                                                                          (let ((app_0
                                                                                                 (unwrap
                                                                                                  id_0)))
                                                                                            (hash-set
                                                                                             env_3
                                                                                             app_0
                                                                                             (list
                                                                                              'variable-ref
                                                                                              (unwrap
                                                                                               var-id_0))))))
                                                                                     (values
                                                                                      env_4))))
                                                                              (for-loop_1
                                                                               env_4
                                                                               rest_1
                                                                               rest_2))))))
                                                                    env_3)))))
                                                             (for-loop_1
                                                              env_2
                                                              ids_0
                                                              var-ids_0))))
                                                         (if (if (eq?
                                                                  'define
                                                                  hd_0)
                                                               (let ((a_0
                                                                      (cdr
                                                                       (unwrap
                                                                        v_2))))
                                                                 (let ((p_0
                                                                        (unwrap
                                                                         a_0)))
                                                                   (if (pair?
                                                                        p_0)
                                                                     (let ((a_1
                                                                            (cdr
                                                                             p_0)))
                                                                       (let ((p_1
                                                                              (unwrap
                                                                               a_1)))
                                                                         (if (pair?
                                                                              p_1)
                                                                           (let ((a_2
                                                                                  (cdr
                                                                                   p_1)))
                                                                             (let ((app_0
                                                                                    (unwrap
                                                                                     '())))
                                                                               (eq?
                                                                                app_0
                                                                                (unwrap
                                                                                 a_2))))
                                                                           #f)))
                                                                     #f)))
                                                               #f)
                                                           (call-with-values
                                                            (lambda ()
                                                              (let ((d_0
                                                                     (cdr
                                                                      (unwrap
                                                                       v_2))))
                                                                (let ((p_0
                                                                       (unwrap
                                                                        d_0)))
                                                                  (let ((id_0
                                                                         (let ((a_0
                                                                                (car
                                                                                 p_0)))
                                                                           a_0)))
                                                                    (let ((rhs_0
                                                                           (let ((d_1
                                                                                  (cdr
                                                                                   p_0)))
                                                                             (let ((a_0
                                                                                    (car
                                                                                     (unwrap
                                                                                      d_1))))
                                                                               a_0))))
                                                                      (let ((id_1
                                                                             id_0))
                                                                        (values
                                                                         id_1
                                                                         rhs_0)))))))
                                                            (lambda (id_0
                                                                     rhs_0)
                                                              (plain-add-args_0
                                                               env_2
                                                               id_0
                                                               #f)))
                                                           (if (if (eq?
                                                                    'define-values
                                                                    hd_0)
                                                                 (let ((a_0
                                                                        (cdr
                                                                         (unwrap
                                                                          v_2))))
                                                                   (let ((p_0
                                                                          (unwrap
                                                                           a_0)))
                                                                     (if (pair?
                                                                          p_0)
                                                                       (let ((a_1
                                                                              (cdr
                                                                               p_0)))
                                                                         (let ((p_1
                                                                                (unwrap
                                                                                 a_1)))
                                                                           (if (pair?
                                                                                p_1)
                                                                             (let ((a_2
                                                                                    (cdr
                                                                                     p_1)))
                                                                               (let ((app_0
                                                                                      (unwrap
                                                                                       '())))
                                                                                 (eq?
                                                                                  app_0
                                                                                  (unwrap
                                                                                   a_2))))
                                                                             #f)))
                                                                       #f)))
                                                                 #f)
                                                             (call-with-values
                                                              (lambda ()
                                                                (let ((d_0
                                                                       (cdr
                                                                        (unwrap
                                                                         v_2))))
                                                                  (let ((p_0
                                                                         (unwrap
                                                                          d_0)))
                                                                    (let ((ids_0
                                                                           (let ((a_0
                                                                                  (car
                                                                                   p_0)))
                                                                             a_0)))
                                                                      (let ((rhs_0
                                                                             (let ((d_1
                                                                                    (cdr
                                                                                     p_0)))
                                                                               (let ((a_0
                                                                                      (car
                                                                                       (unwrap
                                                                                        d_1))))
                                                                                 a_0))))
                                                                        (let ((ids_1
                                                                               ids_0))
                                                                          (values
                                                                           ids_1
                                                                           rhs_0)))))))
                                                              (lambda (ids_0
                                                                       rhs_0)
                                                                (plain-add-args_0
                                                                 env_2
                                                                 ids_0
                                                                 #f)))
                                                             (if (if (eq?
                                                                      'begin
                                                                      hd_0)
                                                                   #t
                                                                   #f)
                                                               (let ((vs_0
                                                                      (let ((d_0
                                                                             (cdr
                                                                              (unwrap
                                                                               v_2))))
                                                                        d_0)))
                                                                 (letrec*
                                                                  ((for-loop_1
                                                                    (|#%name|
                                                                     for-loop
                                                                     (lambda (env_3
                                                                              lst_1)
                                                                       (if (not
                                                                            (null?
                                                                             (unwrap
                                                                              lst_1)))
                                                                         (let ((v_3
                                                                                (if (pair?
                                                                                     (unwrap
                                                                                      lst_1))
                                                                                  (wrap-car
                                                                                   lst_1)
                                                                                  lst_1)))
                                                                           (let ((rest_1
                                                                                  (if (pair?
                                                                                       (unwrap
                                                                                        lst_1))
                                                                                    (wrap-cdr
                                                                                     lst_1)
                                                                                    null)))
                                                                             (let ((v_4
                                                                                    v_3))
                                                                               (let ((env_4
                                                                                      (let ((env_4
                                                                                             (loop_0
                                                                                              v_4
                                                                                              env_3)))
                                                                                        (values
                                                                                         env_4))))
                                                                                 (for-loop_1
                                                                                  env_4
                                                                                  rest_1)))))
                                                                         env_3)))))
                                                                  (for-loop_1
                                                                   env_2
                                                                   vs_0)))
                                                               env_2)))))))))))
                                            (loop_0 v_1 env_1))))
                                      (values env_2))))
                               (for-loop_0 env_2 rest_0))))
                         env_1)))))
                  (for-loop_0 env_0 body_0))))
            (letrec*
             ((loop_0
               (|#%name|
                loop
                (lambda (body_1)
                  (reverse$1
                   (letrec*
                    ((for-loop_0
                      (|#%name|
                       for-loop
                       (lambda (fold-var_0 lst_0)
                         (if (pair? lst_0)
                           (let ((v_1 (unsafe-car lst_0)))
                             (let ((rest_0 (unsafe-cdr lst_0)))
                               (let ((fold-var_1
                                      (let ((fold-var_1
                                             (cons
                                              (let ((hd_0
                                                     (let ((p_0 (unwrap v_1)))
                                                       (if (pair? p_0)
                                                         (unwrap (car p_0))
                                                         #f))))
                                                (if (if (eq?
                                                         'variable-set!/define
                                                         hd_0)
                                                      (let ((a_0
                                                             (cdr
                                                              (unwrap v_1))))
                                                        (let ((p_0
                                                               (unwrap a_0)))
                                                          (if (pair? p_0)
                                                            (let ((a_1
                                                                   (cdr p_0)))
                                                              (let ((p_1
                                                                     (unwrap
                                                                      a_1)))
                                                                (if (pair? p_1)
                                                                  (let ((a_2
                                                                         (cdr
                                                                          p_1)))
                                                                    (let ((p_2
                                                                           (unwrap
                                                                            a_2)))
                                                                      (if (pair?
                                                                           p_2)
                                                                        (if (let ((a_3
                                                                                   (car
                                                                                    p_2)))
                                                                              (let ((p_3
                                                                                     (unwrap
                                                                                      a_3)))
                                                                                (if (pair?
                                                                                     p_3)
                                                                                  (if (let ((a_4
                                                                                             (car
                                                                                              p_3)))
                                                                                        (let ((app_0
                                                                                               (unwrap
                                                                                                'quote)))
                                                                                          (eq?
                                                                                           app_0
                                                                                           (unwrap
                                                                                            a_4))))
                                                                                    (let ((a_4
                                                                                           (cdr
                                                                                            p_3)))
                                                                                      (let ((p_4
                                                                                             (unwrap
                                                                                              a_4)))
                                                                                        (if (pair?
                                                                                             p_4)
                                                                                          (let ((a_5
                                                                                                 (cdr
                                                                                                  p_4)))
                                                                                            (let ((app_0
                                                                                                   (unwrap
                                                                                                    '())))
                                                                                              (eq?
                                                                                               app_0
                                                                                               (unwrap
                                                                                                a_5))))
                                                                                          #f)))
                                                                                    #f)
                                                                                  #f)))
                                                                          (let ((a_3
                                                                                 (cdr
                                                                                  p_2)))
                                                                            (let ((app_0
                                                                                   (unwrap
                                                                                    '())))
                                                                              (eq?
                                                                               app_0
                                                                               (unwrap
                                                                                a_3))))
                                                                          #f)
                                                                        #f)))
                                                                  #f)))
                                                            #f)))
                                                      #f)
                                                  (call-with-values
                                                   (lambda ()
                                                     (let ((d_0
                                                            (cdr
                                                             (unwrap v_1))))
                                                       (let ((p_0
                                                              (unwrap d_0)))
                                                         (let ((var-id_0
                                                                (let ((a_0
                                                                       (car
                                                                        p_0)))
                                                                  a_0)))
                                                           (call-with-values
                                                            (lambda ()
                                                              (let ((d_1
                                                                     (cdr
                                                                      p_0)))
                                                                (let ((p_1
                                                                       (unwrap
                                                                        d_1)))
                                                                  (let ((id_0
                                                                         (let ((a_0
                                                                                (car
                                                                                 p_1)))
                                                                           a_0)))
                                                                    (let ((constance_0
                                                                           (let ((d_2
                                                                                  (cdr
                                                                                   p_1)))
                                                                             (let ((a_0
                                                                                    (car
                                                                                     (unwrap
                                                                                      d_2))))
                                                                               (let ((d_3
                                                                                      (cdr
                                                                                       (unwrap
                                                                                        a_0))))
                                                                                 (let ((a_1
                                                                                        (car
                                                                                         (unwrap
                                                                                          d_3))))
                                                                                   a_1))))))
                                                                      (let ((id_1
                                                                             id_0))
                                                                        (values
                                                                         id_1
                                                                         constance_0)))))))
                                                            (lambda (id_0
                                                                     constance_0)
                                                              (let ((var-id_1
                                                                     var-id_0))
                                                                (values
                                                                 var-id_1
                                                                 id_0
                                                                 constance_0))))))))
                                                   (lambda (var-id_0
                                                            id_0
                                                            constance_0)
                                                     (begin
                                                       (if constance_0
                                                         (set! top-env_0
                                                           (let ((app_0
                                                                  top-env_0))
                                                             (hash-set
                                                              app_0
                                                              (unwrap id_0)
                                                              kw2846)))
                                                         (void))
                                                       v_1)))
                                                  (if (if (eq? 'define hd_0)
                                                        (let ((a_0
                                                               (cdr
                                                                (unwrap v_1))))
                                                          (let ((p_0
                                                                 (unwrap a_0)))
                                                            (if (pair? p_0)
                                                              (let ((a_1
                                                                     (cdr
                                                                      p_0)))
                                                                (let ((p_1
                                                                       (unwrap
                                                                        a_1)))
                                                                  (if (pair?
                                                                       p_1)
                                                                    (let ((a_2
                                                                           (cdr
                                                                            p_1)))
                                                                      (let ((app_0
                                                                             (unwrap
                                                                              '())))
                                                                        (eq?
                                                                         app_0
                                                                         (unwrap
                                                                          a_2))))
                                                                    #f)))
                                                              #f)))
                                                        #f)
                                                    (call-with-values
                                                     (lambda ()
                                                       (let ((d_0
                                                              (cdr
                                                               (unwrap v_1))))
                                                         (let ((p_0
                                                                (unwrap d_0)))
                                                           (let ((id_0
                                                                  (let ((a_0
                                                                         (car
                                                                          p_0)))
                                                                    a_0)))
                                                             (let ((rhs_0
                                                                    (let ((d_1
                                                                           (cdr
                                                                            p_0)))
                                                                      (let ((a_0
                                                                             (car
                                                                              (unwrap
                                                                               d_1))))
                                                                        a_0))))
                                                               (let ((id_1
                                                                      id_0))
                                                                 (values
                                                                  id_1
                                                                  rhs_0)))))))
                                                     (lambda (id_0 rhs_0)
                                                       (let ((self-env_0
                                                              (add-self_0
                                                               top-env_0
                                                               hash2610
                                                               id_0)))
                                                         (reannotate
                                                          v_1
                                                          (list
                                                           'define
                                                           id_0
                                                           (jitify-top-expr_0
                                                            rhs_0
                                                            self-env_0
                                                            id_0))))))
                                                    (if (if (eq?
                                                             'define-values
                                                             hd_0)
                                                          (let ((a_0
                                                                 (cdr
                                                                  (unwrap
                                                                   v_1))))
                                                            (let ((p_0
                                                                   (unwrap
                                                                    a_0)))
                                                              (if (pair? p_0)
                                                                (let ((a_1
                                                                       (cdr
                                                                        p_0)))
                                                                  (let ((p_1
                                                                         (unwrap
                                                                          a_1)))
                                                                    (if (pair?
                                                                         p_1)
                                                                      (let ((a_2
                                                                             (cdr
                                                                              p_1)))
                                                                        (let ((app_0
                                                                               (unwrap
                                                                                '())))
                                                                          (eq?
                                                                           app_0
                                                                           (unwrap
                                                                            a_2))))
                                                                      #f)))
                                                                #f)))
                                                          #f)
                                                      (call-with-values
                                                       (lambda ()
                                                         (let ((d_0
                                                                (cdr
                                                                 (unwrap
                                                                  v_1))))
                                                           (let ((p_0
                                                                  (unwrap
                                                                   d_0)))
                                                             (let ((ids_0
                                                                    (let ((a_0
                                                                           (car
                                                                            p_0)))
                                                                      a_0)))
                                                               (let ((rhs_0
                                                                      (let ((d_1
                                                                             (cdr
                                                                              p_0)))
                                                                        (let ((a_0
                                                                               (car
                                                                                (unwrap
                                                                                 d_1))))
                                                                          a_0))))
                                                                 (let ((ids_1
                                                                        ids_0))
                                                                   (values
                                                                    ids_1
                                                                    rhs_0)))))))
                                                       (lambda (ids_0 rhs_0)
                                                         (reannotate
                                                          v_1
                                                          (list
                                                           'define-values
                                                           ids_0
                                                           (jitify-top-expr_0
                                                            rhs_0
                                                            top-env_0
                                                            #f)))))
                                                      (if (if (eq? 'begin hd_0)
                                                            #t
                                                            #f)
                                                        (let ((vs_0
                                                               (let ((d_0
                                                                      (cdr
                                                                       (unwrap
                                                                        v_1))))
                                                                 d_0)))
                                                          (reannotate
                                                           v_1
                                                           (list*
                                                            'begin
                                                            (loop_0 vs_0))))
                                                        (jitify-top-expr_0
                                                         v_1
                                                         top-env_0
                                                         #f))))))
                                              fold-var_0)))
                                        (values fold-var_1))))
                                 (for-loop_0 fold-var_1 rest_0))))
                           fold-var_0)))))
                    (for-loop_0 null body_1)))))))
             (loop_0 body_0))))))
      (jitify-top-expr_0
       (|#%name|
        jitify-top-expr
        (lambda (v_1 env_0 name_0)
          (let ((mutables_0 (find-mutable_0 hash2610 v_1 hash2610)))
            (let ((convert-mode_0 (init-convert-mode_0 v_1)))
              (call-with-values
               (lambda ()
                 (jitify-expr_0
                  v_1
                  env_0
                  mutables_0
                  hash2610
                  no-lifts_0
                  convert-mode_0
                  name_0
                  #f))
               (lambda (new-v_0 free_0 lifts_0)
                 (if (no-lifts?_0 lifts_0)
                   new-v_0
                   (list
                    'let
                    (list
                     (list lifts-id (list 'quote (lifts->datum_0 lifts_0))))
                    new-v_0)))))))))
      (jitify-expr_0
       (|#%name|
        jitify-expr
        (lambda (v_1
                 env_0
                 mutables_0
                 free_0
                 lifts_0
                 convert-mode_0
                 name_0
                 in-name_0)
          (let ((must-compile-form_0
                 (|#%name|
                  must-compile-form
                  (lambda ()
                    (if (convert-mode-within-conversion?_0 convert-mode_0)
                      (values v_1 free_0 lifts_0)
                      (let ((app_0 (list '|#%app| (list 'lambda '() v_1))))
                        (jitify-expr_0
                         app_0
                         env_0
                         mutables_0
                         free_0
                         lifts_0
                         (convert-mode-always_0 convert-mode_0)
                         #f
                         in-name_0)))))))
            (let ((hd_0
                   (let ((p_0 (unwrap v_1)))
                     (if (pair? p_0) (unwrap (car p_0)) #f))))
              (if (if (eq? 'lambda hd_0)
                    (let ((a_0 (cdr (unwrap v_1))))
                      (let ((p_0 (unwrap a_0))) (if (pair? p_0) #t #f)))
                    #f)
                (call-with-values
                 (lambda ()
                   (let ((d_0 (cdr (unwrap v_1))))
                     (let ((p_0 (unwrap d_0)))
                       (let ((args_0 (let ((a_0 (car p_0))) a_0)))
                         (let ((body_0 (let ((d_1 (cdr p_0))) d_1)))
                           (let ((args_1 args_0)) (values args_1 body_0)))))))
                 (lambda (args_0 body_0)
                   (let ((convert?_0
                          (convert-mode-convert-lambda?_0 convert-mode_0 v_1)))
                     (let ((body-convert-mode_0
                            (convert-mode-lambda-body-mode_0
                             convert-mode_0
                             convert?_0)))
                       (let ((self-env_0
                              (if convert?_0
                                (activate-self_0
                                 (deactivate-self_0 env_0 in-name_0)
                                 name_0)
                                env_0)))
                         (let ((body-env_0
                                (add-args_0
                                 self-env_0
                                 args_0
                                 mutables_0
                                 body-convert-mode_0)))
                           (let ((body-in-name_0
                                  (if convert?_0
                                    (if name_0 name_0 kw2615)
                                    in-name_0)))
                             (let ((body-lifts_0
                                    (if convert?_0 no-lifts_0 lifts_0)))
                               (call-with-values
                                (lambda ()
                                  (jitify-body_0
                                   body_0
                                   body-env_0
                                   mutables_0
                                   hash2610
                                   body-lifts_0
                                   body-convert-mode_0
                                   #f
                                   body-in-name_0))
                                (lambda (new-body_0
                                         lam-body-free_0
                                         new-body-lifts_0)
                                  (let ((lam-free_0
                                         (remove-args_0
                                          lam-body-free_0
                                          args_0)))
                                    (let ((new-v_0
                                           (reannotate
                                            v_1
                                            (list*
                                             'lambda
                                             args_0
                                             (mutable-box-bindings_0
                                              args_0
                                              mutables_0
                                              body-convert-mode_0
                                              new-body_0)))))
                                      (call-with-values
                                       (lambda ()
                                         (if (not convert?_0)
                                           (values new-v_0 new-body-lifts_0)
                                           (make-jit-on-call_0
                                            lam-free_0
                                            (list args_0)
                                            new-v_0
                                            name_0
                                            self-env_0
                                            convert-mode_0
                                            new-body-lifts_0
                                            lifts_0)))
                                       (lambda (converted-v_0 new-lifts_0)
                                         (values
                                          converted-v_0
                                          (union-free_0 free_0 lam-free_0)
                                          new-lifts_0)))))))))))))))
                (if (if (eq? 'case-lambda hd_0)
                      (let ((a_0 (cdr (unwrap v_1))))
                        (if (wrap-list? a_0)
                          (letrec*
                           ((for-loop_0
                             (|#%name|
                              for-loop
                              (lambda (result_0 lst_0)
                                (if (not (null? (unwrap lst_0)))
                                  (let ((v_2
                                         (if (pair? (unwrap lst_0))
                                           (wrap-car lst_0)
                                           lst_0)))
                                    (let ((rest_0
                                           (if (pair? (unwrap lst_0))
                                             (wrap-cdr lst_0)
                                             null)))
                                      (let ((v_3 v_2))
                                        (let ((result_1
                                               (let ((result_1
                                                      (let ((p_0 (unwrap v_3)))
                                                        (if (pair? p_0)
                                                          #t
                                                          #f))))
                                                 (values result_1))))
                                          (if (if (not
                                                   (let ((x_0 (list v_3)))
                                                     (not result_1)))
                                                #t
                                                #f)
                                            (for-loop_0 result_1 rest_0)
                                            result_1)))))
                                  result_0)))))
                           (for-loop_0 #t a_0))
                          #f))
                      #f)
                  (call-with-values
                   (lambda ()
                     (let ((d_0 (cdr (unwrap v_1))))
                       (call-with-values
                        (lambda ()
                          (letrec*
                           ((for-loop_0
                             (|#%name|
                              for-loop
                              (lambda (argss_0 bodys_0 lst_0)
                                (if (not (null? (unwrap lst_0)))
                                  (let ((v_2
                                         (if (pair? (unwrap lst_0))
                                           (wrap-car lst_0)
                                           lst_0)))
                                    (let ((rest_0
                                           (if (pair? (unwrap lst_0))
                                             (wrap-cdr lst_0)
                                             null)))
                                      (let ((v_3 v_2))
                                        (call-with-values
                                         (lambda ()
                                           (call-with-values
                                            (lambda ()
                                              (call-with-values
                                               (lambda ()
                                                 (let ((p_0 (unwrap v_3)))
                                                   (let ((argss_1
                                                          (let ((a_0
                                                                 (car p_0)))
                                                            a_0)))
                                                     (let ((bodys_1
                                                            (let ((d_1
                                                                   (cdr p_0)))
                                                              d_1)))
                                                       (let ((argss_2 argss_1))
                                                         (values
                                                          argss_2
                                                          bodys_1))))))
                                               (lambda (argss8_0 bodys9_0)
                                                 (values
                                                  (cons argss8_0 argss_0)
                                                  (cons bodys9_0 bodys_0)))))
                                            (lambda (argss_1 bodys_1)
                                              (values argss_1 bodys_1))))
                                         (lambda (argss_1 bodys_1)
                                           (for-loop_0
                                            argss_1
                                            bodys_1
                                            rest_0))))))
                                  (values argss_0 bodys_0))))))
                           (for-loop_0 null null d_0)))
                        (lambda (argss_0 bodys_0)
                          (let ((app_0 (reverse$1 argss_0)))
                            (values app_0 (reverse$1 bodys_0)))))))
                   (lambda (argss_0 bodys_0)
                     (let ((convert?_0
                            (convert-mode-convert-lambda?_0
                             convert-mode_0
                             v_1)))
                       (let ((body-convert-mode_0
                              (convert-mode-lambda-body-mode_0
                               convert-mode_0
                               convert?_0)))
                         (let ((self-env_0
                                (if convert?_0
                                  (activate-self_0
                                   (deactivate-self_0 env_0 in-name_0)
                                   name_0)
                                  env_0)))
                           (let ((body-in-name_0
                                  (if convert?_0
                                    (if name_0 name_0 kw2615)
                                    in-name_0)))
                             (let ((body-lifts_0
                                    (if convert?_0 no-lifts_0 lifts_0)))
                               (call-with-values
                                (lambda ()
                                  (let ((lam-free_0 hash2610))
                                    (let ((lam-free_1 lam-free_0))
                                      (letrec*
                                       ((for-loop_0
                                         (|#%name|
                                          for-loop
                                          (lambda (rev-new-bodys_0
                                                   lam-free_2
                                                   body-lifts_1
                                                   lst_0
                                                   lst_1)
                                            (if (if (pair? lst_0)
                                                  (pair? lst_1)
                                                  #f)
                                              (let ((args_0
                                                     (unsafe-car lst_0)))
                                                (let ((rest_0
                                                       (unsafe-cdr lst_0)))
                                                  (let ((body_0
                                                         (unsafe-car lst_1)))
                                                    (let ((rest_1
                                                           (unsafe-cdr lst_1)))
                                                      (call-with-values
                                                       (lambda ()
                                                         (call-with-values
                                                          (lambda ()
                                                            (let ((body-env_0
                                                                   (add-args_0
                                                                    self-env_0
                                                                    args_0
                                                                    mutables_0
                                                                    body-convert-mode_0)))
                                                              (call-with-values
                                                               (lambda ()
                                                                 (jitify-body_0
                                                                  body_0
                                                                  body-env_0
                                                                  mutables_0
                                                                  hash2610
                                                                  body-lifts_1
                                                                  body-convert-mode_0
                                                                  #f
                                                                  body-in-name_0))
                                                               (lambda (new-body_0
                                                                        lam-body-free_0
                                                                        new-body-lifts_0)
                                                                 (let ((app_0
                                                                        (cons
                                                                         new-body_0
                                                                         rev-new-bodys_0)))
                                                                   (values
                                                                    app_0
                                                                    (union-free_0
                                                                     (remove-args_0
                                                                      lam-body-free_0
                                                                      args_0)
                                                                     lam-free_2)
                                                                    new-body-lifts_0))))))
                                                          (lambda (rev-new-bodys_1
                                                                   lam-free_3
                                                                   body-lifts_2)
                                                            (values
                                                             rev-new-bodys_1
                                                             lam-free_3
                                                             body-lifts_2))))
                                                       (lambda (rev-new-bodys_1
                                                                lam-free_3
                                                                body-lifts_2)
                                                         (for-loop_0
                                                          rev-new-bodys_1
                                                          lam-free_3
                                                          body-lifts_2
                                                          rest_0
                                                          rest_1)))))))
                                              (values
                                               rev-new-bodys_0
                                               lam-free_2
                                               body-lifts_1))))))
                                       (for-loop_0
                                        '()
                                        lam-free_1
                                        body-lifts_0
                                        argss_0
                                        bodys_0)))))
                                (lambda (rev-new-bodys_0
                                         lam-free_0
                                         new-body-lifts_0)
                                  (let ((new-v_0
                                         (reannotate
                                          v_1
                                          (list*
                                           'case-lambda
                                           (reverse$1
                                            (let ((lst_0
                                                   (reverse$1
                                                    rev-new-bodys_0)))
                                              (letrec*
                                               ((for-loop_0
                                                 (|#%name|
                                                  for-loop
                                                  (lambda (fold-var_0
                                                           lst_1
                                                           lst_2)
                                                    (if (if (pair? lst_1)
                                                          (pair? lst_2)
                                                          #f)
                                                      (let ((args_0
                                                             (unsafe-car
                                                              lst_1)))
                                                        (let ((rest_0
                                                               (unsafe-cdr
                                                                lst_1)))
                                                          (let ((body_0
                                                                 (unsafe-car
                                                                  lst_2)))
                                                            (let ((rest_1
                                                                   (unsafe-cdr
                                                                    lst_2)))
                                                              (let ((fold-var_1
                                                                     (let ((fold-var_1
                                                                            (cons
                                                                             (list*
                                                                              args_0
                                                                              (mutable-box-bindings_0
                                                                               args_0
                                                                               mutables_0
                                                                               body-convert-mode_0
                                                                               body_0))
                                                                             fold-var_0)))
                                                                       (values
                                                                        fold-var_1))))
                                                                (for-loop_0
                                                                 fold-var_1
                                                                 rest_0
                                                                 rest_1))))))
                                                      fold-var_0)))))
                                               (for-loop_0
                                                null
                                                argss_0
                                                lst_0))))))))
                                    (call-with-values
                                     (lambda ()
                                       (if (not convert?_0)
                                         (values new-v_0 new-body-lifts_0)
                                         (make-jit-on-call_0
                                          lam-free_0
                                          argss_0
                                          new-v_0
                                          name_0
                                          self-env_0
                                          convert-mode_0
                                          new-body-lifts_0
                                          lifts_0)))
                                     (lambda (converted-v_0 new-lifts_0)
                                       (values
                                        converted-v_0
                                        (union-free_0 free_0 lam-free_0)
                                        new-lifts_0)))))))))))))
                  (if (if (eq? 'let hd_0) #t #f)
                    (jitify-let_0
                     v_1
                     env_0
                     mutables_0
                     free_0
                     lifts_0
                     convert-mode_0
                     name_0
                     in-name_0)
                    (if (if (eq? 'letrec hd_0) #t #f)
                      (jitify-let_0
                       v_1
                       env_0
                       mutables_0
                       free_0
                       lifts_0
                       convert-mode_0
                       name_0
                       in-name_0)
                      (if (if (eq? 'letrec* hd_0) #t #f)
                        (jitify-let_0
                         v_1
                         env_0
                         mutables_0
                         free_0
                         lifts_0
                         convert-mode_0
                         name_0
                         in-name_0)
                        (if (if (eq? 'begin hd_0) #t #f)
                          (let ((vs_0 (let ((d_0 (cdr (unwrap v_1)))) d_0)))
                            (call-with-values
                             (lambda ()
                               (jitify-body_0
                                vs_0
                                env_0
                                mutables_0
                                free_0
                                lifts_0
                                convert-mode_0
                                name_0
                                in-name_0))
                             (lambda (new-body_0 new-free_0 new-lifts_0)
                               (values
                                (reannotate v_1 (list* 'begin new-body_0))
                                new-free_0
                                new-lifts_0))))
                          (if (if (eq? 'begin-unsafe hd_0) #t #f)
                            (let ((vs_0 (let ((d_0 (cdr (unwrap v_1)))) d_0)))
                              (jitify-expr_0
                               (list* 'begin vs_0)
                               env_0
                               mutables_0
                               free_0
                               lifts_0
                               convert-mode_0
                               name_0
                               in-name_0))
                            (if (if (eq? 'begin0 hd_0)
                                  (let ((a_0 (cdr (unwrap v_1))))
                                    (let ((p_0 (unwrap a_0)))
                                      (if (pair? p_0) #t #f)))
                                  #f)
                              (call-with-values
                               (lambda ()
                                 (let ((d_0 (cdr (unwrap v_1))))
                                   (let ((p_0 (unwrap d_0)))
                                     (let ((v0_0 (let ((a_0 (car p_0))) a_0)))
                                       (let ((vs_0
                                              (let ((d_1 (cdr p_0))) d_1)))
                                         (let ((v0_1 v0_0))
                                           (values v0_1 vs_0)))))))
                               (lambda (v0_0 vs_0)
                                 (call-with-values
                                  (lambda ()
                                    (jitify-expr_0
                                     v0_0
                                     env_0
                                     mutables_0
                                     free_0
                                     lifts_0
                                     (convert-mode-non-tail_0 convert-mode_0)
                                     name_0
                                     in-name_0))
                                  (lambda (new-v0_0 v0-free_0 v0-lifts_0)
                                    (call-with-values
                                     (lambda ()
                                       (jitify-body_0
                                        vs_0
                                        env_0
                                        mutables_0
                                        v0-free_0
                                        v0-lifts_0
                                        (convert-mode-non-tail_0
                                         convert-mode_0)
                                        #f
                                        in-name_0))
                                     (lambda (new-body_0
                                              new-free_0
                                              new-lifts_0)
                                       (values
                                        (reannotate
                                         v_1
                                         (list* 'begin0 new-v0_0 new-body_0))
                                        new-free_0
                                        new-lifts_0)))))))
                              (if (if (eq? '$value hd_0)
                                    (let ((a_0 (cdr (unwrap v_1))))
                                      (let ((p_0 (unwrap a_0)))
                                        (if (pair? p_0)
                                          (let ((a_1 (cdr p_0)))
                                            (let ((app_0 (unwrap '())))
                                              (eq? app_0 (unwrap a_1))))
                                          #f)))
                                    #f)
                                (let ((e_0
                                       (let ((d_0 (cdr (unwrap v_1))))
                                         (let ((a_0 (car (unwrap d_0))))
                                           a_0))))
                                  (call-with-values
                                   (lambda ()
                                     (jitify-expr_0
                                      e_0
                                      env_0
                                      mutables_0
                                      free_0
                                      lifts_0
                                      convert-mode_0
                                      name_0
                                      in-name_0))
                                   (lambda (new-e_0 new-free_0 new-lifts_0)
                                     (values
                                      (reannotate v_1 (list '$value new-e_0))
                                      new-free_0
                                      new-lifts_0))))
                                (if (if (eq? 'if hd_0)
                                      (let ((a_0 (cdr (unwrap v_1))))
                                        (let ((p_0 (unwrap a_0)))
                                          (if (pair? p_0)
                                            (let ((a_1 (cdr p_0)))
                                              (let ((p_1 (unwrap a_1)))
                                                (if (pair? p_1)
                                                  (let ((a_2 (cdr p_1)))
                                                    (let ((p_2 (unwrap a_2)))
                                                      (if (pair? p_2)
                                                        (let ((a_3 (cdr p_2)))
                                                          (let ((app_0
                                                                 (unwrap '())))
                                                            (eq?
                                                             app_0
                                                             (unwrap a_3))))
                                                        #f)))
                                                  #f)))
                                            #f)))
                                      #f)
                                  (call-with-values
                                   (lambda ()
                                     (let ((d_0 (cdr (unwrap v_1))))
                                       (let ((p_0 (unwrap d_0)))
                                         (let ((tst_0
                                                (let ((a_0 (car p_0))) a_0)))
                                           (call-with-values
                                            (lambda ()
                                              (let ((d_1 (cdr p_0)))
                                                (let ((p_1 (unwrap d_1)))
                                                  (let ((thn_0
                                                         (let ((a_0 (car p_1)))
                                                           a_0)))
                                                    (let ((els_0
                                                           (let ((d_2
                                                                  (cdr p_1)))
                                                             (let ((a_0
                                                                    (car
                                                                     (unwrap
                                                                      d_2))))
                                                               a_0))))
                                                      (let ((thn_1 thn_0))
                                                        (values
                                                         thn_1
                                                         els_0)))))))
                                            (lambda (thn_0 els_0)
                                              (let ((tst_1 tst_0))
                                                (values
                                                 tst_1
                                                 thn_0
                                                 els_0))))))))
                                   (lambda (tst_0 thn_0 els_0)
                                     (let ((sub-convert-mode_0
                                            (convert-mode-non-tail_0
                                             convert-mode_0)))
                                       (call-with-values
                                        (lambda ()
                                          (jitify-expr_0
                                           tst_0
                                           env_0
                                           mutables_0
                                           free_0
                                           lifts_0
                                           sub-convert-mode_0
                                           #f
                                           in-name_0))
                                        (lambda (new-tst_0
                                                 new-free/tst_0
                                                 new-lifts/tst_0)
                                          (call-with-values
                                           (lambda ()
                                             (jitify-expr_0
                                              thn_0
                                              env_0
                                              mutables_0
                                              new-free/tst_0
                                              new-lifts/tst_0
                                              convert-mode_0
                                              name_0
                                              in-name_0))
                                           (lambda (new-thn_0
                                                    new-free/thn_0
                                                    new-lifts/thn_0)
                                             (call-with-values
                                              (lambda ()
                                                (jitify-expr_0
                                                 els_0
                                                 env_0
                                                 mutables_0
                                                 new-free/thn_0
                                                 new-lifts/thn_0
                                                 convert-mode_0
                                                 name_0
                                                 in-name_0))
                                              (lambda (new-els_0
                                                       new-free/els_0
                                                       new-lifts/els_0)
                                                (values
                                                 (reannotate
                                                  v_1
                                                  (list
                                                   'if
                                                   new-tst_0
                                                   new-thn_0
                                                   new-els_0))
                                                 new-free/els_0
                                                 new-lifts/els_0))))))))))
                                  (if (if (eq? 'with-continuation-mark* hd_0)
                                        (let ((a_0 (cdr (unwrap v_1))))
                                          (let ((p_0 (unwrap a_0)))
                                            (if (pair? p_0)
                                              (let ((a_1 (cdr p_0)))
                                                (let ((p_1 (unwrap a_1)))
                                                  (if (pair? p_1)
                                                    (let ((a_2 (cdr p_1)))
                                                      (let ((p_2 (unwrap a_2)))
                                                        (if (pair? p_2)
                                                          (let ((a_3
                                                                 (cdr p_2)))
                                                            (let ((p_3
                                                                   (unwrap
                                                                    a_3)))
                                                              (if (pair? p_3)
                                                                (let ((a_4
                                                                       (cdr
                                                                        p_3)))
                                                                  (let ((app_0
                                                                         (unwrap
                                                                          '())))
                                                                    (eq?
                                                                     app_0
                                                                     (unwrap
                                                                      a_4))))
                                                                #f)))
                                                          #f)))
                                                    #f)))
                                              #f)))
                                        #f)
                                    (call-with-values
                                     (lambda ()
                                       (let ((d_0 (cdr (unwrap v_1))))
                                         (let ((p_0 (unwrap d_0)))
                                           (let ((mode_0
                                                  (let ((a_0 (car p_0))) a_0)))
                                             (call-with-values
                                              (lambda ()
                                                (let ((d_1 (cdr p_0)))
                                                  (let ((p_1 (unwrap d_1)))
                                                    (let ((key_0
                                                           (let ((a_0
                                                                  (car p_1)))
                                                             a_0)))
                                                      (call-with-values
                                                       (lambda ()
                                                         (let ((d_2 (cdr p_1)))
                                                           (let ((p_2
                                                                  (unwrap
                                                                   d_2)))
                                                             (let ((val_0
                                                                    (let ((a_0
                                                                           (car
                                                                            p_2)))
                                                                      a_0)))
                                                               (let ((body_0
                                                                      (let ((d_3
                                                                             (cdr
                                                                              p_2)))
                                                                        (let ((a_0
                                                                               (car
                                                                                (unwrap
                                                                                 d_3))))
                                                                          a_0))))
                                                                 (let ((val_1
                                                                        val_0))
                                                                   (values
                                                                    val_1
                                                                    body_0)))))))
                                                       (lambda (val_0 body_0)
                                                         (let ((key_1 key_0))
                                                           (values
                                                            key_1
                                                            val_0
                                                            body_0))))))))
                                              (lambda (key_0 val_0 body_0)
                                                (let ((mode_1 mode_0))
                                                  (values
                                                   mode_1
                                                   key_0
                                                   val_0
                                                   body_0))))))))
                                     (lambda (mode_0 key_0 val_0 body_0)
                                       (let ((sub-convert-mode_0
                                              (convert-mode-non-tail_0
                                               convert-mode_0)))
                                         (call-with-values
                                          (lambda ()
                                            (jitify-expr_0
                                             key_0
                                             env_0
                                             mutables_0
                                             free_0
                                             lifts_0
                                             sub-convert-mode_0
                                             #f
                                             in-name_0))
                                          (lambda (new-key_0
                                                   new-free/key_0
                                                   new-lifts/key_0)
                                            (call-with-values
                                             (lambda ()
                                               (jitify-expr_0
                                                val_0
                                                env_0
                                                mutables_0
                                                new-free/key_0
                                                new-lifts/key_0
                                                sub-convert-mode_0
                                                #f
                                                in-name_0))
                                             (lambda (new-val_0
                                                      new-free/val_0
                                                      new-lifts/val_0)
                                               (call-with-values
                                                (lambda ()
                                                  (jitify-expr_0
                                                   body_0
                                                   env_0
                                                   mutables_0
                                                   new-free/val_0
                                                   new-lifts/val_0
                                                   convert-mode_0
                                                   name_0
                                                   in-name_0))
                                                (lambda (new-body_0
                                                         new-free/body_0
                                                         new-lifts/body_0)
                                                  (values
                                                   (reannotate
                                                    v_1
                                                    (list
                                                     'with-continuation-mark*
                                                     mode_0
                                                     new-key_0
                                                     new-val_0
                                                     new-body_0))
                                                   new-free/body_0
                                                   new-lifts/body_0))))))))))
                                    (if (if (eq? 'quote hd_0)
                                          (let ((a_0 (cdr (unwrap v_1))))
                                            (let ((p_0 (unwrap a_0)))
                                              (if (pair? p_0)
                                                (let ((a_1 (cdr p_0)))
                                                  (let ((app_0 (unwrap '())))
                                                    (eq? app_0 (unwrap a_1))))
                                                #f)))
                                          #f)
                                      (let ((datum_0
                                             (let ((d_0 (cdr (unwrap v_1))))
                                               (let ((a_0 (car (unwrap d_0))))
                                                 a_0))))
                                        (values v_1 free_0 lifts_0))
                                      (if (if (eq? '|#%foreign-inline| hd_0)
                                            #t
                                            #f)
                                        (must-compile-form_0)
                                        (if (if (eq? 'set! hd_0)
                                              (let ((a_0 (cdr (unwrap v_1))))
                                                (let ((p_0 (unwrap a_0)))
                                                  (if (pair? p_0)
                                                    (let ((a_1 (cdr p_0)))
                                                      (let ((p_1 (unwrap a_1)))
                                                        (if (pair? p_1)
                                                          (let ((a_2
                                                                 (cdr p_1)))
                                                            (let ((app_0
                                                                   (unwrap
                                                                    '())))
                                                              (eq?
                                                               app_0
                                                               (unwrap a_2))))
                                                          #f)))
                                                    #f)))
                                              #f)
                                          (call-with-values
                                           (lambda ()
                                             (let ((d_0 (cdr (unwrap v_1))))
                                               (let ((p_0 (unwrap d_0)))
                                                 (let ((var_0
                                                        (let ((a_0 (car p_0)))
                                                          a_0)))
                                                   (let ((rhs_0
                                                          (let ((d_1
                                                                 (cdr p_0)))
                                                            (let ((a_0
                                                                   (car
                                                                    (unwrap
                                                                     d_1))))
                                                              a_0))))
                                                     (let ((var_1 var_0))
                                                       (values
                                                        var_1
                                                        rhs_0)))))))
                                           (lambda (var_0 rhs_0)
                                             (call-with-values
                                              (lambda ()
                                                (jitify-expr_0
                                                 rhs_0
                                                 env_0
                                                 mutables_0
                                                 free_0
                                                 lifts_0
                                                 (convert-mode-non-tail_0
                                                  convert-mode_0)
                                                 var_0
                                                 in-name_0))
                                              (lambda (new-rhs_0
                                                       new-free_0
                                                       new-lifts_0)
                                                (let ((id_0 (unwrap var_0)))
                                                  (let ((dest_0
                                                         (hash-ref
                                                          env_0
                                                          id_0
                                                          #f)))
                                                    (if (if (not in-name_0)
                                                          (let ((hd_1
                                                                 (let ((p_0
                                                                        (unwrap
                                                                         dest_0)))
                                                                   (if (pair?
                                                                        p_0)
                                                                     (unwrap
                                                                      (car
                                                                       p_0))
                                                                     #f))))
                                                            (if (if (eq?
                                                                     'variable-ref
                                                                     hd_1)
                                                                  (let ((a_0
                                                                         (cdr
                                                                          (unwrap
                                                                           dest_0))))
                                                                    (let ((p_0
                                                                           (unwrap
                                                                            a_0)))
                                                                      (if (pair?
                                                                           p_0)
                                                                        (let ((a_1
                                                                               (cdr
                                                                                p_0)))
                                                                          (let ((app_0
                                                                                 (unwrap
                                                                                  '())))
                                                                            (eq?
                                                                             app_0
                                                                             (unwrap
                                                                              a_1))))
                                                                        #f)))
                                                                  #f)
                                                              #t
                                                              #f))
                                                          #f)
                                                      (values
                                                       (list
                                                        'set!
                                                        var_0
                                                        new-rhs_0)
                                                       new-free_0
                                                       new-lifts_0)
                                                      (let ((newer-free_0
                                                             (if dest_0
                                                               (hash-set
                                                                new-free_0
                                                                id_0
                                                                dest_0)
                                                               new-free_0)))
                                                        (let ((new-v_0
                                                               (let ((v_2
                                                                      (hash-ref
                                                                       env_0
                                                                       id_0
                                                                       kw2846)))
                                                                 (if (let ((a_0
                                                                            kw2846))
                                                                       (let ((app_0
                                                                              (unwrap
                                                                               a_0)))
                                                                         (eq?
                                                                          app_0
                                                                          (unwrap
                                                                           v_2))))
                                                                   (reannotate
                                                                    v_1
                                                                    (list
                                                                     'set!
                                                                     var_0
                                                                     new-rhs_0))
                                                                   (if (let ((p_0
                                                                              (unwrap
                                                                               v_2)))
                                                                         (if (pair?
                                                                              p_0)
                                                                           (if (let ((a_0
                                                                                      (car
                                                                                       p_0)))
                                                                                 (let ((app_0
                                                                                        (unwrap
                                                                                         'self)))
                                                                                   (eq?
                                                                                    app_0
                                                                                    (unwrap
                                                                                     a_0))))
                                                                             (let ((a_0
                                                                                    (cdr
                                                                                     p_0)))
                                                                               (let ((p_1
                                                                                      (unwrap
                                                                                       a_0)))
                                                                                 (if (pair?
                                                                                      p_1)
                                                                                   #t
                                                                                   #f)))
                                                                             #f)
                                                                           #f))
                                                                     (let ((m_0
                                                                            (let ((d_0
                                                                                   (cdr
                                                                                    (unwrap
                                                                                     v_2))))
                                                                              (let ((a_0
                                                                                     (car
                                                                                      (unwrap
                                                                                       d_0))))
                                                                                a_0))))
                                                                       (error
                                                                        'set!
                                                                        "[internal error] self-referenceable ~s"
                                                                        id_0))
                                                                     (if (let ((p_0
                                                                                (unwrap
                                                                                 v_2)))
                                                                           (if (pair?
                                                                                p_0)
                                                                             (if (let ((a_0
                                                                                        (car
                                                                                         p_0)))
                                                                                   (let ((app_0
                                                                                          (unwrap
                                                                                           'variable-ref)))
                                                                                     (eq?
                                                                                      app_0
                                                                                      (unwrap
                                                                                       a_0))))
                                                                               (let ((a_0
                                                                                      (cdr
                                                                                       p_0)))
                                                                                 (let ((p_1
                                                                                        (unwrap
                                                                                         a_0)))
                                                                                   (if (pair?
                                                                                        p_1)
                                                                                     (let ((a_1
                                                                                            (cdr
                                                                                             p_1)))
                                                                                       (let ((app_0
                                                                                              (unwrap
                                                                                               '())))
                                                                                         (eq?
                                                                                          app_0
                                                                                          (unwrap
                                                                                           a_1))))
                                                                                     #f)))
                                                                               #f)
                                                                             #f))
                                                                       (let ((var-id_0
                                                                              (let ((d_0
                                                                                     (cdr
                                                                                      (unwrap
                                                                                       v_2))))
                                                                                (let ((a_0
                                                                                       (car
                                                                                        (unwrap
                                                                                         d_0))))
                                                                                  a_0))))
                                                                         (reannotate
                                                                          v_1
                                                                          (list
                                                                           'variable-set!
                                                                           var-id_0
                                                                           new-rhs_0)))
                                                                       (if (let ((p_0
                                                                                  (unwrap
                                                                                   v_2)))
                                                                             (if (pair?
                                                                                  p_0)
                                                                               (if (let ((a_0
                                                                                          (car
                                                                                           p_0)))
                                                                                     (let ((app_0
                                                                                            (unwrap
                                                                                             'unsafe-unbox*)))
                                                                                       (eq?
                                                                                        app_0
                                                                                        (unwrap
                                                                                         a_0))))
                                                                                 (let ((a_0
                                                                                        (cdr
                                                                                         p_0)))
                                                                                   (let ((p_1
                                                                                          (unwrap
                                                                                           a_0)))
                                                                                     (if (pair?
                                                                                          p_1)
                                                                                       (let ((a_1
                                                                                              (cdr
                                                                                               p_1)))
                                                                                         (let ((app_0
                                                                                                (unwrap
                                                                                                 '())))
                                                                                           (eq?
                                                                                            app_0
                                                                                            (unwrap
                                                                                             a_1))))
                                                                                       #f)))
                                                                                 #f)
                                                                               #f))
                                                                         (let ((box-id_0
                                                                                (let ((d_0
                                                                                       (cdr
                                                                                        (unwrap
                                                                                         v_2))))
                                                                                  (let ((a_0
                                                                                         (car
                                                                                          (unwrap
                                                                                           d_0))))
                                                                                    a_0))))
                                                                           (reannotate
                                                                            v_1
                                                                            (list
                                                                             'set-box*!
                                                                             box-id_0
                                                                             new-rhs_0)))
                                                                         (error
                                                                          'match
                                                                          "failed ~e"
                                                                          v_2))))))))
                                                          (values
                                                           new-v_0
                                                           newer-free_0
                                                           new-lifts_0))))))))))
                                          (if (if (eq? 'call-with-values hd_0)
                                                (let ((a_0 (cdr (unwrap v_1))))
                                                  (let ((p_0 (unwrap a_0)))
                                                    (if (pair? p_0)
                                                      (let ((a_1 (cdr p_0)))
                                                        (let ((p_1
                                                               (unwrap a_1)))
                                                          (if (pair? p_1)
                                                            (let ((a_2
                                                                   (cdr p_1)))
                                                              (let ((app_0
                                                                     (unwrap
                                                                      '())))
                                                                (eq?
                                                                 app_0
                                                                 (unwrap
                                                                  a_2))))
                                                            #f)))
                                                      #f)))
                                                #f)
                                            (call-with-values
                                             (lambda ()
                                               (let ((d_0 (cdr (unwrap v_1))))
                                                 (let ((p_0 (unwrap d_0)))
                                                   (let ((proc1_0
                                                          (let ((a_0
                                                                 (car p_0)))
                                                            a_0)))
                                                     (let ((proc2_0
                                                            (let ((d_1
                                                                   (cdr p_0)))
                                                              (let ((a_0
                                                                     (car
                                                                      (unwrap
                                                                       d_1))))
                                                                a_0))))
                                                       (let ((proc1_1 proc1_0))
                                                         (values
                                                          proc1_1
                                                          proc2_0)))))))
                                             (lambda (proc1_0 proc2_0)
                                               (let ((proc-convert-mode_0
                                                      (convert-mode-called_0
                                                       convert-mode_0)))
                                                 (call-with-values
                                                  (lambda ()
                                                    (jitify-expr_0
                                                     proc1_0
                                                     env_0
                                                     mutables_0
                                                     free_0
                                                     lifts_0
                                                     proc-convert-mode_0
                                                     #f
                                                     in-name_0))
                                                  (lambda (new-proc1_0
                                                           new-free1_0
                                                           new-lifts1_0)
                                                    (call-with-values
                                                     (lambda ()
                                                       (jitify-expr_0
                                                        proc2_0
                                                        env_0
                                                        mutables_0
                                                        new-free1_0
                                                        new-lifts1_0
                                                        proc-convert-mode_0
                                                        #f
                                                        in-name_0))
                                                     (lambda (new-proc2_0
                                                              new-free2_0
                                                              new-lifts2_0)
                                                       (let ((call-with-values-id_0
                                                              (if (if (lambda?_0
                                                                       new-proc1_0)
                                                                    (lambda?_0
                                                                     new-proc2_0)
                                                                    #f)
                                                                'call-with-values
                                                                '|#%call-with-values|)))
                                                         (values
                                                          (reannotate
                                                           v_1
                                                           (list
                                                            call-with-values-id_0
                                                            new-proc1_0
                                                            new-proc2_0))
                                                          new-free2_0
                                                          new-lifts2_0)))))))))
                                            (if (if (eq?
                                                     'call-with-module-prompt
                                                     hd_0)
                                                  (let ((a_0
                                                         (cdr (unwrap v_1))))
                                                    (let ((p_0 (unwrap a_0)))
                                                      (if (pair? p_0)
                                                        (let ((a_1 (cdr p_0)))
                                                          (wrap-list? a_1))
                                                        #f)))
                                                  #f)
                                              (call-with-values
                                               (lambda ()
                                                 (let ((d_0
                                                        (cdr (unwrap v_1))))
                                                   (let ((p_0 (unwrap d_0)))
                                                     (let ((proc_0
                                                            (let ((a_0
                                                                   (car p_0)))
                                                              a_0)))
                                                       (let ((var-info_0
                                                              (let ((d_1
                                                                     (cdr
                                                                      p_0)))
                                                                (unwrap-list
                                                                 d_1))))
                                                         (let ((proc_1 proc_0))
                                                           (values
                                                            proc_1
                                                            var-info_0)))))))
                                               (lambda (proc_0 var-info_0)
                                                 (let ((proc-convert-mode_0
                                                        (convert-mode-called_0
                                                         convert-mode_0)))
                                                   (call-with-values
                                                    (lambda ()
                                                      (jitify-expr_0
                                                       proc_0
                                                       env_0
                                                       mutables_0
                                                       free_0
                                                       lifts_0
                                                       proc-convert-mode_0
                                                       #f
                                                       in-name_0))
                                                    (lambda (new-proc_0
                                                             new-free_0
                                                             new-lifts_0)
                                                      (values
                                                       (reannotate
                                                        v_1
                                                        (list*
                                                         'call-with-module-prompt
                                                         new-proc_0
                                                         var-info_0))
                                                       new-free_0
                                                       new-lifts_0))))))
                                              (if (if (eq?
                                                       'ffi-static-call-and-callback-core
                                                       hd_0)
                                                    (let ((a_0
                                                           (cdr (unwrap v_1))))
                                                      (wrap-list? a_0))
                                                    #f)
                                                (must-compile-form_0)
                                                (if (if (eq? '|#%app| hd_0)
                                                      (let ((a_0
                                                             (cdr
                                                              (unwrap v_1))))
                                                        (wrap-list? a_0))
                                                      #f)
                                                  (call-with-values
                                                   (lambda ()
                                                     (let ((app_0
                                                            (wrap-cdr v_1)))
                                                       (jitify-body_0
                                                        app_0
                                                        env_0
                                                        mutables_0
                                                        free_0
                                                        lifts_0
                                                        (convert-mode-non-tail_0
                                                         convert-mode_0)
                                                        #f
                                                        in-name_0)))
                                                   (lambda (new-vs_0
                                                            new-free_0
                                                            new-lifts_0)
                                                     (values
                                                      (reannotate
                                                       v_1
                                                       (list*
                                                        '|#%app|
                                                        new-vs_0))
                                                      new-free_0
                                                      new-lifts_0)))
                                                  (if (let ((p_0 (unwrap v_1)))
                                                        (if (pair? p_0)
                                                          (let ((a_0
                                                                 (cdr p_0)))
                                                            (wrap-list? a_0))
                                                          #f))
                                                    (let ((rator_0
                                                           (let ((a_0
                                                                  (car
                                                                   (unwrap
                                                                    v_1))))
                                                             a_0)))
                                                      (let ((u_0
                                                             (unwrap rator_0)))
                                                        (let ((v_2
                                                               (if (symbol?
                                                                    u_0)
                                                                 (hash-ref
                                                                  env_0
                                                                  u_0
                                                                  #f)
                                                                 #f)))
                                                          (let ((hd_1
                                                                 (let ((p_0
                                                                        (unwrap
                                                                         v_2)))
                                                                   (if (pair?
                                                                        p_0)
                                                                     (unwrap
                                                                      (car
                                                                       p_0))
                                                                     #f))))
                                                            (if (if (eq?
                                                                     'self
                                                                     hd_1)
                                                                  (let ((a_0
                                                                         (cdr
                                                                          (unwrap
                                                                           v_2))))
                                                                    (let ((p_0
                                                                           (unwrap
                                                                            a_0)))
                                                                      (if (pair?
                                                                           p_0)
                                                                        (let ((a_1
                                                                               (cdr
                                                                                p_0)))
                                                                          (let ((p_1
                                                                                 (unwrap
                                                                                  a_1)))
                                                                            (if (pair?
                                                                                 p_1)
                                                                              (let ((a_2
                                                                                     (cdr
                                                                                      p_1)))
                                                                                (let ((app_0
                                                                                       (unwrap
                                                                                        '())))
                                                                                  (eq?
                                                                                   app_0
                                                                                   (unwrap
                                                                                    a_2))))
                                                                              #f)))
                                                                        #f)))
                                                                  #f)
                                                              (let ((orig-id_0
                                                                     (let ((d_0
                                                                            (cdr
                                                                             (unwrap
                                                                              v_2))))
                                                                       (let ((d_1
                                                                              (cdr
                                                                               (unwrap
                                                                                d_0))))
                                                                         (let ((a_0
                                                                                (car
                                                                                 (unwrap
                                                                                  d_1))))
                                                                           a_0)))))
                                                                (call-with-values
                                                                 (lambda ()
                                                                   (let ((app_0
                                                                          (wrap-cdr
                                                                           v_1)))
                                                                     (jitify-body_0
                                                                      app_0
                                                                      env_0
                                                                      mutables_0
                                                                      free_0
                                                                      lifts_0
                                                                      (convert-mode-non-tail_0
                                                                       convert-mode_0)
                                                                      #f
                                                                      in-name_0)))
                                                                 (lambda (new-vs_0
                                                                          new-free_0
                                                                          new-lifts_0)
                                                                   (values
                                                                    (reannotate
                                                                     v_1
                                                                     (list*
                                                                      rator_0
                                                                      new-vs_0))
                                                                    new-free_0
                                                                    new-lifts_0))))
                                                              (call-with-values
                                                               (lambda ()
                                                                 (jitify-body_0
                                                                  v_1
                                                                  env_0
                                                                  mutables_0
                                                                  free_0
                                                                  lifts_0
                                                                  (convert-mode-non-tail_0
                                                                   convert-mode_0)
                                                                  #f
                                                                  in-name_0))
                                                               (lambda (new-vs_0
                                                                        new-free_0
                                                                        new-lifts_0)
                                                                 (values
                                                                  (reannotate
                                                                   v_1
                                                                   new-vs_0)
                                                                  new-free_0
                                                                  new-lifts_0))))))))
                                                    (let ((id_0 (unwrap v_1)))
                                                      (if (symbol? id_0)
                                                        (let ((dest_0
                                                               (hash-ref
                                                                env_0
                                                                id_0
                                                                #f)))
                                                          (if (if (not
                                                                   in-name_0)
                                                                (let ((hd_1
                                                                       (let ((p_0
                                                                              (unwrap
                                                                               dest_0)))
                                                                         (if (pair?
                                                                              p_0)
                                                                           (unwrap
                                                                            (car
                                                                             p_0))
                                                                           #f))))
                                                                  (if (if (eq?
                                                                           'variable-ref
                                                                           hd_1)
                                                                        (let ((a_0
                                                                               (cdr
                                                                                (unwrap
                                                                                 dest_0))))
                                                                          (let ((p_0
                                                                                 (unwrap
                                                                                  a_0)))
                                                                            (if (pair?
                                                                                 p_0)
                                                                              (let ((a_1
                                                                                     (cdr
                                                                                      p_0)))
                                                                                (let ((app_0
                                                                                       (unwrap
                                                                                        '())))
                                                                                  (eq?
                                                                                   app_0
                                                                                   (unwrap
                                                                                    a_1))))
                                                                              #f)))
                                                                        #f)
                                                                    #t
                                                                    #f))
                                                                #f)
                                                            (values
                                                             v_1
                                                             free_0
                                                             lifts_0)
                                                            (let ((new-var_0
                                                                   (if (let ((app_0
                                                                              (unwrap
                                                                               #f)))
                                                                         (eq?
                                                                          app_0
                                                                          (unwrap
                                                                           dest_0)))
                                                                     v_1
                                                                     (if (let ((a_0
                                                                                kw2846))
                                                                           (let ((app_0
                                                                                  (unwrap
                                                                                   a_0)))
                                                                             (eq?
                                                                              app_0
                                                                              (unwrap
                                                                               dest_0))))
                                                                       v_1
                                                                       (if (let ((p_0
                                                                                  (unwrap
                                                                                   dest_0)))
                                                                             (if (pair?
                                                                                  p_0)
                                                                               (if (let ((a_0
                                                                                          (car
                                                                                           p_0)))
                                                                                     (let ((app_0
                                                                                            (unwrap
                                                                                             'self)))
                                                                                       (eq?
                                                                                        app_0
                                                                                        (unwrap
                                                                                         a_0))))
                                                                                 (let ((a_0
                                                                                        (cdr
                                                                                         p_0)))
                                                                                   (let ((p_1
                                                                                          (unwrap
                                                                                           a_0)))
                                                                                     (if (pair?
                                                                                          p_1)
                                                                                       (if (let ((a_1
                                                                                                  (car
                                                                                                   p_1)))
                                                                                             (let ((a_2
                                                                                                    kw2846))
                                                                                               (let ((app_0
                                                                                                      (unwrap
                                                                                                       a_2)))
                                                                                                 (eq?
                                                                                                  app_0
                                                                                                  (unwrap
                                                                                                   a_1)))))
                                                                                         #t
                                                                                         #f)
                                                                                       #f)))
                                                                                 #f)
                                                                               #f))
                                                                         v_1
                                                                         (if (let ((p_0
                                                                                    (unwrap
                                                                                     dest_0)))
                                                                               (if (pair?
                                                                                    p_0)
                                                                                 (if (let ((a_0
                                                                                            (car
                                                                                             p_0)))
                                                                                       (let ((app_0
                                                                                              (unwrap
                                                                                               'self)))
                                                                                         (eq?
                                                                                          app_0
                                                                                          (unwrap
                                                                                           a_0))))
                                                                                   (let ((a_0
                                                                                          (cdr
                                                                                           p_0)))
                                                                                     (let ((p_1
                                                                                            (unwrap
                                                                                             a_0)))
                                                                                       (if (pair?
                                                                                            p_1)
                                                                                         #t
                                                                                         #f)))
                                                                                   #f)
                                                                                 #f))
                                                                           (let ((u_0
                                                                                  (let ((d_0
                                                                                         (cdr
                                                                                          (unwrap
                                                                                           dest_0))))
                                                                                    (let ((a_0
                                                                                           (car
                                                                                            (unwrap
                                                                                             d_0))))
                                                                                      a_0))))
                                                                             (reannotate
                                                                              v_1
                                                                              u_0))
                                                                           (reannotate
                                                                            v_1
                                                                            dest_0)))))))
                                                              (let ((new-free_0
                                                                     (if dest_0
                                                                       (hash-set
                                                                        free_0
                                                                        id_0
                                                                        dest_0)
                                                                       free_0)))
                                                                (values
                                                                 new-var_0
                                                                 new-free_0
                                                                 lifts_0)))))
                                                        (values
                                                         v_1
                                                         free_0
                                                         lifts_0)))))))))))))))))))))))))))
      (lambda?_0
       (|#%name|
        lambda?
        (lambda (v_1)
          (let ((hd_0
                 (let ((p_0 (unwrap v_1)))
                   (if (pair? p_0) (unwrap (car p_0)) #f))))
            (if (if (eq? 'lambda hd_0) #t #f)
              #t
              (if (if (eq? 'case-lambda hd_0) #t #f) #t #f))))))
      (jitify-body_0
       (|#%name|
        jitify-body
        (lambda (vs_0
                 env_0
                 mutables_0
                 free_0
                 lifts_0
                 convert-mode_0
                 name_0
                 in-name_0)
          (letrec*
           ((loop_0
             (|#%name|
              loop
              (lambda (vs_1 free_1 lifts_1)
                (if (null? (unwrap vs_1))
                  (values null free_1 lifts_1)
                  (if (let ((v_1 (wrap-cdr vs_1))) (null? (unwrap v_1)))
                    (call-with-values
                     (lambda ()
                       (jitify-expr_0
                        (wrap-car vs_1)
                        env_0
                        mutables_0
                        free_1
                        lifts_1
                        convert-mode_0
                        name_0
                        in-name_0))
                     (lambda (new-v_0 new-free_0 new-lifts_0)
                       (values (list new-v_0) new-free_0 new-lifts_0)))
                    (call-with-values
                     (lambda ()
                       (let ((app_0 (wrap-car vs_1)))
                         (jitify-expr_0
                          app_0
                          env_0
                          mutables_0
                          free_1
                          lifts_1
                          (convert-mode-non-tail_0 convert-mode_0)
                          #f
                          in-name_0)))
                     (lambda (new-v_0 new-free_0 new-lifts_0)
                       (call-with-values
                        (lambda ()
                          (loop_0 (wrap-cdr vs_1) new-free_0 new-lifts_0))
                        (lambda (new-rest_0 newer-free_0 newer-lifts_0)
                          (values
                           (cons new-v_0 new-rest_0)
                           newer-free_0
                           newer-lifts_0)))))))))))
           (loop_0 vs_0 free_0 lifts_0)))))
      (jitify-let_0
       (|#%name|
        jitify-let
        (lambda (v_1
                 env_0
                 mutables_0
                 free_0
                 lifts_0
                 convert-mode_0
                 name_0
                 in-name_0)
          (if (let ((p_0 (unwrap v_1)))
                (if (pair? p_0)
                  (let ((a_0 (cdr p_0)))
                    (let ((p_1 (unwrap a_0)))
                      (if (pair? p_1)
                        (if (let ((a_1 (car p_1)))
                              (if (wrap-list? a_1)
                                (letrec*
                                 ((for-loop_0
                                   (|#%name|
                                    for-loop
                                    (lambda (result_0 lst_0)
                                      (if (not (null? (unwrap lst_0)))
                                        (let ((v_2
                                               (if (pair? (unwrap lst_0))
                                                 (wrap-car lst_0)
                                                 lst_0)))
                                          (let ((rest_0
                                                 (if (pair? (unwrap lst_0))
                                                   (wrap-cdr lst_0)
                                                   null)))
                                            (let ((v_3 v_2))
                                              (let ((result_1
                                                     (let ((result_1
                                                            (let ((p_2
                                                                   (unwrap
                                                                    v_3)))
                                                              (if (pair? p_2)
                                                                (let ((a_2
                                                                       (cdr
                                                                        p_2)))
                                                                  (let ((p_3
                                                                         (unwrap
                                                                          a_2)))
                                                                    (if (pair?
                                                                         p_3)
                                                                      (let ((a_3
                                                                             (cdr
                                                                              p_3)))
                                                                        (let ((app_0
                                                                               (unwrap
                                                                                '())))
                                                                          (eq?
                                                                           app_0
                                                                           (unwrap
                                                                            a_3))))
                                                                      #f)))
                                                                #f))))
                                                       (values result_1))))
                                                (if (if (not
                                                         (let ((x_0
                                                                (list v_3)))
                                                           (not result_1)))
                                                      #t
                                                      #f)
                                                  (for-loop_0 result_1 rest_0)
                                                  result_1)))))
                                        result_0)))))
                                 (for-loop_0 #t a_1))
                                #f))
                          #t
                          #f)
                        #f)))
                  #f))
            (call-with-values
             (lambda ()
               (let ((p_0 (unwrap v_1)))
                 (let ((let-form_0 (let ((a_0 (car p_0))) a_0)))
                   (call-with-values
                    (lambda ()
                      (let ((d_0 (cdr p_0)))
                        (let ((p_1 (unwrap d_0)))
                          (call-with-values
                           (lambda ()
                             (let ((a_0 (car p_1)))
                               (call-with-values
                                (lambda ()
                                  (letrec*
                                   ((for-loop_0
                                     (|#%name|
                                      for-loop
                                      (lambda (ids_0 rhss_0 lst_0)
                                        (if (not (null? (unwrap lst_0)))
                                          (let ((v_2
                                                 (if (pair? (unwrap lst_0))
                                                   (wrap-car lst_0)
                                                   lst_0)))
                                            (let ((rest_0
                                                   (if (pair? (unwrap lst_0))
                                                     (wrap-cdr lst_0)
                                                     null)))
                                              (let ((v_3 v_2))
                                                (call-with-values
                                                 (lambda ()
                                                   (call-with-values
                                                    (lambda ()
                                                      (call-with-values
                                                       (lambda ()
                                                         (let ((p_2
                                                                (unwrap v_3)))
                                                           (let ((ids_1
                                                                  (let ((a_1
                                                                         (car
                                                                          p_2)))
                                                                    a_1)))
                                                             (let ((rhss_1
                                                                    (let ((d_1
                                                                           (cdr
                                                                            p_2)))
                                                                      (let ((a_1
                                                                             (car
                                                                              (unwrap
                                                                               d_1))))
                                                                        a_1))))
                                                               (let ((ids_2
                                                                      ids_1))
                                                                 (values
                                                                  ids_2
                                                                  rhss_1))))))
                                                       (lambda (ids10_0
                                                                rhss11_0)
                                                         (values
                                                          (cons ids10_0 ids_0)
                                                          (cons
                                                           rhss11_0
                                                           rhss_0)))))
                                                    (lambda (ids_1 rhss_1)
                                                      (values ids_1 rhss_1))))
                                                 (lambda (ids_1 rhss_1)
                                                   (for-loop_0
                                                    ids_1
                                                    rhss_1
                                                    rest_0))))))
                                          (values ids_0 rhss_0))))))
                                   (for-loop_0 null null a_0)))
                                (lambda (ids_0 rhss_0)
                                  (let ((app_0 (reverse$1 ids_0)))
                                    (values app_0 (reverse$1 rhss_0)))))))
                           (lambda (ids_0 rhss_0)
                             (let ((body_0 (let ((d_1 (cdr p_1))) d_1)))
                               (let ((ids_1 ids_0) (rhss_1 rhss_0))
                                 (values ids_1 rhss_1 body_0))))))))
                    (lambda (ids_0 rhss_0 body_0)
                      (let ((let-form_1 let-form_0))
                        (values let-form_1 ids_0 rhss_0 body_0)))))))
             (lambda (let-form_0 ids_0 rhss_0 body_0)
               (let ((rec?_0
                      (if (let ((tmp_0 (unwrap let-form_0)))
                            (if (if (eq? tmp_0 'letrec)
                                  #t
                                  (eq? tmp_0 'letrec*))
                              #t
                              #f))
                        (convert-mode-box-mutables?_0 convert-mode_0)
                        #f)))
                 (let ((rhs-convert-mode_0
                        (convert-mode-non-tail_0 convert-mode_0)))
                   (let ((rhs-env_0
                          (if rec?_0
                            (add-args/unbox_0
                             env_0
                             ids_0
                             mutables_0
                             (lambda (var_0) #t)
                             convert-mode_0)
                            env_0)))
                     (call-with-values
                      (lambda ()
                        (let ((free_1 hash2610))
                          (let ((free_2 free_1))
                            (letrec*
                             ((for-loop_0
                               (|#%name|
                                for-loop
                                (lambda (rev-new-rhss_0
                                         free_3
                                         lifts_1
                                         lst_0
                                         lst_1)
                                  (if (if (pair? lst_0) (pair? lst_1) #f)
                                    (let ((id_0 (unsafe-car lst_0)))
                                      (let ((rest_0 (unsafe-cdr lst_0)))
                                        (let ((rhs_0 (unsafe-car lst_1)))
                                          (let ((rest_1 (unsafe-cdr lst_1)))
                                            (call-with-values
                                             (lambda ()
                                               (call-with-values
                                                (lambda ()
                                                  (let ((self-env_0
                                                         (if rec?_0
                                                           (add-self_0
                                                            rhs-env_0
                                                            mutables_0
                                                            id_0)
                                                           rhs-env_0)))
                                                    (call-with-values
                                                     (lambda ()
                                                       (jitify-expr_0
                                                        rhs_0
                                                        self-env_0
                                                        mutables_0
                                                        free_3
                                                        lifts_1
                                                        rhs-convert-mode_0
                                                        id_0
                                                        in-name_0))
                                                     (lambda (new-rhs_0
                                                              rhs-free_0
                                                              rhs-lifts_0)
                                                       (values
                                                        (cons
                                                         new-rhs_0
                                                         rev-new-rhss_0)
                                                        rhs-free_0
                                                        rhs-lifts_0)))))
                                                (lambda (rev-new-rhss_1
                                                         free_4
                                                         lifts_2)
                                                  (values
                                                   rev-new-rhss_1
                                                   free_4
                                                   lifts_2))))
                                             (lambda (rev-new-rhss_1
                                                      free_4
                                                      lifts_2)
                                               (for-loop_0
                                                rev-new-rhss_1
                                                free_4
                                                lifts_2
                                                rest_0
                                                rest_1)))))))
                                    (values rev-new-rhss_0 free_3 lifts_1))))))
                             (for-loop_0 '() free_2 lifts_0 ids_0 rhss_0)))))
                      (lambda (rev-new-rhss_0 rhs-free_0 rhs-lifts_0)
                        (let ((local-env_0
                               (add-args/unbox_0
                                env_0
                                ids_0
                                mutables_0
                                (lambda (var_0)
                                  (if rec?_0
                                    (hash-ref rhs-free_0 var_0 #f)
                                    #f))
                                convert-mode_0)))
                          (call-with-values
                           (lambda ()
                             (jitify-body_0
                              body_0
                              local-env_0
                              mutables_0
                              (union-free_0 free_0 rhs-free_0)
                              rhs-lifts_0
                              convert-mode_0
                              name_0
                              in-name_0))
                           (lambda (new-body_0 new-free_0 new-lifts_0)
                             (let ((new-v_0
                                    (if (not rec?_0)
                                      (list*
                                       let-form_0
                                       (reverse$1
                                        (let ((lst_0
                                               (reverse$1 rev-new-rhss_0)))
                                          (letrec*
                                           ((for-loop_0
                                             (|#%name|
                                              for-loop
                                              (lambda (fold-var_0 lst_1 lst_2)
                                                (if (if (pair? lst_1)
                                                      (pair? lst_2)
                                                      #f)
                                                  (let ((id_0
                                                         (unsafe-car lst_1)))
                                                    (let ((rest_0
                                                           (unsafe-cdr lst_1)))
                                                      (let ((new-rhs_0
                                                             (unsafe-car
                                                              lst_2)))
                                                        (let ((rest_1
                                                               (unsafe-cdr
                                                                lst_2)))
                                                          (let ((fold-var_1
                                                                 (let ((fold-var_1
                                                                        (cons
                                                                         (list
                                                                          id_0
                                                                          (if (if (convert-mode-box-mutables?_0
                                                                                   convert-mode_0)
                                                                                (hash-ref
                                                                                 mutables_0
                                                                                 (unwrap
                                                                                  id_0)
                                                                                 #f)
                                                                                #f)
                                                                            (list
                                                                             'box
                                                                             new-rhs_0)
                                                                            new-rhs_0))
                                                                         fold-var_0)))
                                                                   (values
                                                                    fold-var_1))))
                                                            (for-loop_0
                                                             fold-var_1
                                                             rest_0
                                                             rest_1))))))
                                                  fold-var_0)))))
                                           (for-loop_0 null ids_0 lst_0))))
                                       new-body_0)
                                      (let ((app_0
                                             (reverse$1
                                              (letrec*
                                               ((for-loop_0
                                                 (|#%name|
                                                  for-loop
                                                  (lambda (fold-var_0 lst_0)
                                                    (if (pair? lst_0)
                                                      (let ((id_0
                                                             (unsafe-car
                                                              lst_0)))
                                                        (let ((rest_0
                                                               (unsafe-cdr
                                                                lst_0)))
                                                          (let ((fold-var_1
                                                                 (if (hash-ref
                                                                      rhs-free_0
                                                                      (unwrap
                                                                       id_0)
                                                                      #f)
                                                                   (let ((fold-var_1
                                                                          (cons
                                                                           (list*
                                                                            id_0
                                                                            '((box
                                                                               unsafe-undefined)))
                                                                           fold-var_0)))
                                                                     (values
                                                                      fold-var_1))
                                                                   fold-var_0)))
                                                            (for-loop_0
                                                             fold-var_1
                                                             rest_0))))
                                                      fold-var_0)))))
                                               (for-loop_0 null ids_0)))))
                                        (list
                                         'let
                                         app_0
                                         (let ((body_1
                                                (let ((body_1
                                                       (body->expr_0
                                                        new-body_0)))
                                                  body_1)))
                                           (let ((lst_0 (reverse$1 ids_0)))
                                             (letrec*
                                              ((for-loop_0
                                                (|#%name|
                                                 for-loop
                                                 (lambda (body_2 lst_1 lst_2)
                                                   (if (if (pair? lst_1)
                                                         (pair? lst_2)
                                                         #f)
                                                     (let ((id_0
                                                            (unsafe-car
                                                             lst_1)))
                                                       (let ((rest_0
                                                              (unsafe-cdr
                                                               lst_1)))
                                                         (let ((new-rhs_0
                                                                (unsafe-car
                                                                 lst_2)))
                                                           (let ((rest_1
                                                                  (unsafe-cdr
                                                                   lst_2)))
                                                             (let ((body_3
                                                                    (let ((body_3
                                                                           (if (hash-ref
                                                                                rhs-free_0
                                                                                (unwrap
                                                                                 id_0)
                                                                                #f)
                                                                             (let ((e_0
                                                                                    (list
                                                                                     'set-box*!
                                                                                     id_0
                                                                                     new-rhs_0)))
                                                                               (let ((hd_0
                                                                                      (let ((p_0
                                                                                             (unwrap
                                                                                              body_2)))
                                                                                        (if (pair?
                                                                                             p_0)
                                                                                          (unwrap
                                                                                           (car
                                                                                            p_0))
                                                                                          #f))))
                                                                                 (if (if (eq?
                                                                                          'begin
                                                                                          hd_0)
                                                                                       #t
                                                                                       #f)
                                                                                   (let ((es_0
                                                                                          (let ((d_0
                                                                                                 (cdr
                                                                                                  (unwrap
                                                                                                   body_2))))
                                                                                            d_0)))
                                                                                     (list*
                                                                                      'begin
                                                                                      e_0
                                                                                      es_0))
                                                                                   (list
                                                                                    'begin
                                                                                    e_0
                                                                                    body_2))))
                                                                             (list
                                                                              'let
                                                                              (list
                                                                               (if (hash-ref
                                                                                    mutables_0
                                                                                    (unwrap
                                                                                     id_0)
                                                                                    #f)
                                                                                 (list
                                                                                  id_0
                                                                                  (list
                                                                                   'box
                                                                                   new-rhs_0))
                                                                                 (list
                                                                                  id_0
                                                                                  new-rhs_0)))
                                                                              body_2))))
                                                                      (values
                                                                       body_3))))
                                                               (for-loop_0
                                                                body_3
                                                                rest_0
                                                                rest_1))))))
                                                     body_2)))))
                                              (for-loop_0
                                               body_1
                                               lst_0
                                               rev-new-rhss_0)))))))))
                               (let ((app_0 (reannotate v_1 new-v_0)))
                                 (values
                                  app_0
                                  (remove-args_0 new-free_0 ids_0)
                                  new-lifts_0)))))))))))))
            (error 'match "failed ~e" v_1)))))
      (mutable-box-bindings_0
       (|#%name|
        mutable-box-bindings
        (lambda (args_0 mutables_0 convert-mode_0 body_0)
          (if (convert-mode-box-mutables?_0 convert-mode_0)
            (let ((bindings_0
                   (letrec*
                    ((loop_0
                      (|#%name|
                       loop
                       (lambda (args_1)
                         (if (null? (unwrap args_1))
                           null
                           (if (pair? (unwrap args_1))
                             (let ((id_0 (wrap-car args_1)))
                               (let ((var_0 (unwrap id_0)))
                                 (let ((rest_0 (loop_0 (wrap-cdr args_1))))
                                   (if (hash-ref mutables_0 var_0 #f)
                                     (cons (list id_0 (list 'box id_0)) rest_0)
                                     rest_0))))
                             (loop_0 (list args_1))))))))
                    (loop_0 args_0))))
              (if (null? bindings_0)
                body_0
                (list (list* 'let bindings_0 body_0))))
            body_0))))
      (plain-add-args_0
       (let ((plain-add-args_1
              (|#%name|
               plain-add-args
               (lambda (env4_0 args5_0 replace?3_0)
                 (let ((add-one_0
                        (|#%name|
                         add-one
                         (lambda (id_0)
                           (let ((u-id_0 (unwrap id_0)))
                             (if (if replace?3_0
                                   replace?3_0
                                   (not (hash-ref env4_0 u-id_0 #f)))
                               (hash-set env4_0 u-id_0 kw2846)
                               env4_0))))))
                   (if (let ((p_0 (unwrap args5_0))) (if (pair? p_0) #t #f))
                     (call-with-values
                      (lambda ()
                        (let ((p_0 (unwrap args5_0)))
                          (let ((id_0 (let ((a_0 (car p_0))) a_0)))
                            (let ((args_0 (let ((d_0 (cdr p_0))) d_0)))
                              (let ((id_1 id_0)) (values id_1 args_0))))))
                      (lambda (id_0 args_0)
                        (plain-add-args_0
                         (add-one_0 id_0)
                         args_0
                         replace?3_0)))
                     (if (let ((app_0 (unwrap '())))
                           (eq? app_0 (unwrap args5_0)))
                       env4_0
                       (add-one_0 args5_0))))))))
         (|#%name|
          plain-add-args
          (case-lambda
           ((env_0 args_0) (plain-add-args_1 env_0 args_0 #t))
           ((env_0 args_0 replace?3_0)
            (plain-add-args_1 env_0 args_0 replace?3_0))))))
      (add-args_0
       (|#%name|
        add-args
        (lambda (env_0 args_0 mutables_0 convert-mode_0)
          (let ((add-one_0
                 (|#%name|
                  add-one
                  (lambda (id_0)
                    (let ((u_0 (unwrap id_0)))
                      (let ((val_0
                             (if (if (convert-mode-box-mutables?_0
                                      convert-mode_0)
                                   (hash-ref mutables_0 u_0 #f)
                                   #f)
                               (list 'unsafe-unbox* id_0)
                               kw2846)))
                        (hash-set env_0 u_0 val_0)))))))
            (if (let ((p_0 (unwrap args_0))) (if (pair? p_0) #t #f))
              (call-with-values
               (lambda ()
                 (let ((p_0 (unwrap args_0)))
                   (let ((id_0 (let ((a_0 (car p_0))) a_0)))
                     (let ((args_1 (let ((d_0 (cdr p_0))) d_0)))
                       (let ((id_1 id_0)) (values id_1 args_1))))))
               (lambda (id_0 args_1)
                 (add-args_0
                  (add-one_0 id_0)
                  args_1
                  mutables_0
                  convert-mode_0)))
              (if (let ((app_0 (unwrap '()))) (eq? app_0 (unwrap args_0)))
                env_0
                (add-one_0 args_0)))))))
      (add-args/unbox_0
       (|#%name|
        add-args/unbox
        (lambda (env_0 args_0 mutables_0 var-rec?_0 convert-mode_0)
          (let ((add-one_0
                 (|#%name|
                  add-one
                  (lambda (id_0)
                    (let ((var_0 (unwrap id_0)))
                      (if (not
                           (let ((or-part_0 (|#%app| var-rec?_0 var_0)))
                             (if or-part_0
                               or-part_0
                               (if (convert-mode-box-mutables?_0
                                    convert-mode_0)
                                 (hash-ref mutables_0 var_0 #f)
                                 #f))))
                        (hash-set env_0 var_0 kw2846)
                        (hash-set env_0 var_0 (list 'unsafe-unbox* id_0))))))))
            (if (let ((p_0 (unwrap args_0))) (if (pair? p_0) #t #f))
              (call-with-values
               (lambda ()
                 (let ((p_0 (unwrap args_0)))
                   (let ((id_0 (let ((a_0 (car p_0))) a_0)))
                     (let ((args_1 (let ((d_0 (cdr p_0))) d_0)))
                       (let ((id_1 id_0)) (values id_1 args_1))))))
               (lambda (id_0 args_1)
                 (add-args/unbox_0
                  (add-one_0 id_0)
                  args_1
                  mutables_0
                  var-rec?_0
                  convert-mode_0)))
              (if (let ((app_0 (unwrap '()))) (eq? app_0 (unwrap args_0)))
                env_0
                (add-one_0 args_0)))))))
      (remove-args_0
       (|#%name|
        remove-args
        (lambda (env_0 args_0)
          (if (let ((p_0 (unwrap args_0))) (if (pair? p_0) #t #f))
            (call-with-values
             (lambda ()
               (let ((p_0 (unwrap args_0)))
                 (let ((id_0 (let ((a_0 (car p_0))) a_0)))
                   (let ((args_1 (let ((d_0 (cdr p_0))) d_0)))
                     (let ((id_1 id_0)) (values id_1 args_1))))))
             (lambda (id_0 args_1)
               (remove-args_0 (hash-remove env_0 (unwrap id_0)) args_1)))
            (if (let ((app_0 (unwrap '()))) (eq? app_0 (unwrap args_0)))
              env_0
              (hash-remove env_0 (unwrap args_0)))))))
      (add-bindings_0
       (|#%name|
        add-bindings
        (lambda (env_0 bindings_0)
          (if (if (wrap-list? bindings_0)
                (letrec*
                 ((for-loop_0
                   (|#%name|
                    for-loop
                    (lambda (result_0 lst_0)
                      (if (not (null? (unwrap lst_0)))
                        (let ((v_1
                               (if (pair? (unwrap lst_0))
                                 (wrap-car lst_0)
                                 lst_0)))
                          (let ((rest_0
                                 (if (pair? (unwrap lst_0))
                                   (wrap-cdr lst_0)
                                   null)))
                            (let ((v_2 v_1))
                              (let ((result_1
                                     (let ((result_1
                                            (let ((p_0 (unwrap v_2)))
                                              (if (pair? p_0)
                                                (let ((a_0 (cdr p_0)))
                                                  (let ((p_1 (unwrap a_0)))
                                                    (if (pair? p_1)
                                                      (let ((a_1 (cdr p_1)))
                                                        (let ((app_0
                                                               (unwrap '())))
                                                          (eq?
                                                           app_0
                                                           (unwrap a_1))))
                                                      #f)))
                                                #f))))
                                       (values result_1))))
                                (if (if (not
                                         (let ((x_0 (list v_2)))
                                           (not result_1)))
                                      #t
                                      #f)
                                  (for-loop_0 result_1 rest_0)
                                  result_1)))))
                        result_0)))))
                 (for-loop_0 #t bindings_0))
                #f)
            (let ((ids_0
                   (let ((ids_0
                          (letrec*
                           ((for-loop_0
                             (|#%name|
                              for-loop
                              (lambda (ids_0 lst_0)
                                (if (not (null? (unwrap lst_0)))
                                  (let ((v_1
                                         (if (pair? (unwrap lst_0))
                                           (wrap-car lst_0)
                                           lst_0)))
                                    (let ((rest_0
                                           (if (pair? (unwrap lst_0))
                                             (wrap-cdr lst_0)
                                             null)))
                                      (let ((v_2 v_1))
                                        (let ((ids_1
                                               (let ((ids_1
                                                      (let ((ids12_0
                                                             (let ((a_0
                                                                    (car
                                                                     (unwrap
                                                                      v_2))))
                                                               a_0)))
                                                        (cons ids12_0 ids_0))))
                                                 (values ids_1))))
                                          (for-loop_0 ids_1 rest_0)))))
                                  ids_0)))))
                           (for-loop_0 null bindings_0))))
                     (reverse$1 ids_0))))
              (letrec*
               ((for-loop_0
                 (|#%name|
                  for-loop
                  (lambda (env_1 lst_0)
                    (if (pair? lst_0)
                      (let ((id_0 (unsafe-car lst_0)))
                        (let ((rest_0 (unsafe-cdr lst_0)))
                          (let ((env_2
                                 (let ((env_2 (plain-add-args_0 env_1 id_0)))
                                   (values env_2))))
                            (for-loop_0 env_2 rest_0))))
                      env_1)))))
               (for-loop_0 env_0 ids_0)))
            (error 'match "failed ~e" bindings_0)))))
      (add-self_0
       (|#%name|
        add-self
        (lambda (env_0 mutables_0 name_0)
          (let ((u_0 (unwrap name_0)))
            (if (hash-ref mutables_0 u_0 #f)
              env_0
              (hash-set
               env_0
               u_0
               (list 'self (hash-ref env_0 u_0 kw2846))))))))
      (activate-self_0
       (|#%name|
        activate-self
        (lambda (env_0 name_0)
          (if name_0
            (let ((genself_0
                   (|#%name|
                    genself
                    (lambda () (deterministic-gensym "self")))))
              (let ((u_0 (unwrap name_0)))
                (let ((new-m_0
                       (let ((v_1 (hash-ref env_0 u_0 #f)))
                         (let ((hd_0
                                (let ((p_0 (unwrap v_1)))
                                  (if (pair? p_0) (unwrap (car p_0)) #f))))
                           (if (if (eq? 'self hd_0)
                                 (let ((a_0 (cdr (unwrap v_1))))
                                   (let ((p_0 (unwrap a_0)))
                                     (if (pair? p_0)
                                       (if (let ((a_1 (car p_0)))
                                             (let ((a_2 kw2846))
                                               (let ((app_0 (unwrap a_2)))
                                                 (eq? app_0 (unwrap a_1)))))
                                         (let ((a_1 (cdr p_0)))
                                           (let ((app_0 (unwrap '())))
                                             (eq? app_0 (unwrap a_1))))
                                         #f)
                                       #f)))
                                 #f)
                             (list 'self (genself_0) name_0)
                             (if (if (eq? 'self hd_0)
                                   (let ((a_0 (cdr (unwrap v_1))))
                                     (let ((p_0 (unwrap a_0)))
                                       (if (pair? p_0)
                                         (if (let ((a_1 (car p_0)))
                                               (let ((p_1 (unwrap a_1)))
                                                 (if (pair? p_1)
                                                   (if (let ((a_2 (car p_1)))
                                                         (let ((app_0
                                                                (unwrap
                                                                 'variable-ref)))
                                                           (eq?
                                                            app_0
                                                            (unwrap a_2))))
                                                     (let ((a_2 (cdr p_1)))
                                                       (let ((p_2
                                                              (unwrap a_2)))
                                                         (if (pair? p_2)
                                                           (let ((a_3
                                                                  (cdr p_2)))
                                                             (let ((app_0
                                                                    (unwrap
                                                                     '())))
                                                               (eq?
                                                                app_0
                                                                (unwrap a_3))))
                                                           #f)))
                                                     #f)
                                                   #f)))
                                           (let ((a_1 (cdr p_0)))
                                             (let ((app_0 (unwrap '())))
                                               (eq? app_0 (unwrap a_1))))
                                           #f)
                                         #f)))
                                   #f)
                               (let ((orig-id_0
                                      (let ((d_0 (cdr (unwrap v_1))))
                                        (let ((a_0 (car (unwrap d_0))))
                                          (let ((d_1 (cdr (unwrap a_0))))
                                            (let ((a_1 (car (unwrap d_1))))
                                              a_1))))))
                                 (list
                                  'self
                                  (list 'variable-ref orig-id_0)
                                  orig-id_0))
                               (if (if (eq? 'self hd_0)
                                     (let ((a_0 (cdr (unwrap v_1))))
                                       (let ((p_0 (unwrap a_0)))
                                         (if (pair? p_0)
                                           (if (let ((a_1 (car p_0)))
                                                 (let ((p_1 (unwrap a_1)))
                                                   (if (pair? p_1)
                                                     (if (let ((a_2 (car p_1)))
                                                           (let ((app_0
                                                                  (unwrap
                                                                   'unsafe-unbox*)))
                                                             (eq?
                                                              app_0
                                                              (unwrap a_2))))
                                                       (let ((a_2 (cdr p_1)))
                                                         (let ((p_2
                                                                (unwrap a_2)))
                                                           (if (pair? p_2)
                                                             (let ((a_3
                                                                    (cdr p_2)))
                                                               (let ((app_0
                                                                      (unwrap
                                                                       '())))
                                                                 (eq?
                                                                  app_0
                                                                  (unwrap
                                                                   a_3))))
                                                             #f)))
                                                       #f)
                                                     #f)))
                                             (let ((a_1 (cdr p_0)))
                                               (let ((app_0 (unwrap '())))
                                                 (eq? app_0 (unwrap a_1))))
                                             #f)
                                           #f)))
                                     #f)
                                 (let ((orig-id_0
                                        (let ((d_0 (cdr (unwrap v_1))))
                                          (let ((a_0 (car (unwrap d_0))))
                                            (let ((d_1 (cdr (unwrap a_0))))
                                              (let ((a_1 (car (unwrap d_1))))
                                                a_1))))))
                                   (list
                                    'self
                                    (list 'unsafe-unbox* (genself_0))
                                    orig-id_0))
                                 #f)))))))
                  (if new-m_0 (hash-set env_0 u_0 new-m_0) env_0))))
            env_0))))
      (deactivate-self_0
       (|#%name|
        deactivate-self
        (lambda (env_0 name_0)
          (if name_0
            (let ((u_0 (unwrap name_0)))
              (let ((v_1 (hash-ref env_0 u_0 #f)))
                (let ((hd_0
                       (let ((p_0 (unwrap v_1)))
                         (if (pair? p_0) (unwrap (car p_0)) #f))))
                  (if (if (eq? 'self hd_0)
                        (let ((a_0 (cdr (unwrap v_1))))
                          (let ((p_0 (unwrap a_0)))
                            (if (pair? p_0)
                              (let ((a_1 (cdr p_0)))
                                (let ((p_1 (unwrap a_1)))
                                  (if (pair? p_1)
                                    (let ((a_2 (cdr p_1)))
                                      (let ((app_0 (unwrap '())))
                                        (eq? app_0 (unwrap a_2))))
                                    #f)))
                              #f)))
                        #f)
                    (let ((m_0
                           (let ((d_0 (cdr (unwrap v_1))))
                             (let ((a_0 (car (unwrap d_0)))) a_0))))
                      (hash-set env_0 u_0 m_0))
                    env_0))))
            env_0))))
      (argss->arity-mask_0
       (|#%name|
        argss->arity-mask
        (lambda (argss_0)
          (letrec*
           ((for-loop_0
             (|#%name|
              for-loop
              (lambda (mask_0 lst_0)
                (if (pair? lst_0)
                  (let ((args_0 (unsafe-car lst_0)))
                    (let ((rest_0 (unsafe-cdr lst_0)))
                      (let ((mask_1
                             (let ((mask_1
                                    (bitwise-ior
                                     mask_0
                                     (letrec*
                                      ((loop_0
                                        (|#%name|
                                         loop
                                         (lambda (args_1 count_0)
                                           (if (null? (unwrap args_1))
                                             (arithmetic-shift 1 count_0)
                                             (if (pair? (unwrap args_1))
                                               (let ((app_0 (wrap-cdr args_1)))
                                                 (loop_0 app_0 (add1 count_0)))
                                               (bitwise-xor
                                                -1
                                                (sub1
                                                 (arithmetic-shift
                                                  1
                                                  count_0)))))))))
                                      (loop_0 args_0 0)))))
                               (values mask_1))))
                        (for-loop_0 mask_1 rest_0))))
                  mask_0)))))
           (for-loop_0 0 argss_0)))))
      (de-dot_0
       (|#%name|
        de-dot
        (lambda (args_0)
          (if (pair? (unwrap args_0))
            (let ((app_0 (wrap-car args_0)))
              (cons app_0 (de-dot_0 (wrap-cdr args_0))))
            (list args_0)))))
      (union-free_0
       (|#%name|
        union-free
        (lambda (a_0 b_0)
          (if (let ((app_0 (hash-count b_0))) (< app_0 (hash-count a_0)))
            (union-free_0 b_0 a_0)
            (letrec*
             ((for-loop_0
               (|#%name|
                for-loop
                (lambda (b_1 i_0)
                  (if i_0
                    (call-with-values
                     (lambda () (hash-iterate-key+value a_0 i_0))
                     (lambda (k_0 v_1)
                       (let ((b_2
                              (let ((b_2 (hash-set b_1 k_0 v_1)))
                                (values b_2))))
                         (for-loop_0 b_2 (hash-iterate-next a_0 i_0)))))
                    b_1)))))
             (for-loop_0 b_0 (hash-iterate-first a_0)))))))
      (body->expr_0
       (|#%name|
        body->expr
        (lambda (body_0)
          (if (if (pair? (unwrap body_0))
                (let ((v_1 (wrap-cdr body_0))) (null? (unwrap v_1)))
                #f)
            (wrap-car body_0)
            (list* 'begin body_0)))))
      (find-mutable_0
       (|#%name|
        find-mutable
        (lambda (env_0 v_1 accum_0)
          (let ((hd_0
                 (let ((p_0 (unwrap v_1)))
                   (if (pair? p_0) (unwrap (car p_0)) #f))))
            (if (if (eq? 'lambda hd_0)
                  (let ((a_0 (cdr (unwrap v_1))))
                    (let ((p_0 (unwrap a_0))) (if (pair? p_0) #t #f)))
                  #f)
              (call-with-values
               (lambda ()
                 (let ((d_0 (cdr (unwrap v_1))))
                   (let ((p_0 (unwrap d_0)))
                     (let ((args_0 (let ((a_0 (car p_0))) a_0)))
                       (let ((body_0 (let ((d_1 (cdr p_0))) d_1)))
                         (let ((args_1 args_0)) (values args_1 body_0)))))))
               (lambda (args_0 body_0)
                 (body-find-mutable_0
                  (plain-add-args_0 env_0 args_0)
                  body_0
                  accum_0)))
              (if (if (eq? 'case-lambda hd_0)
                    (let ((a_0 (cdr (unwrap v_1))))
                      (if (wrap-list? a_0)
                        (letrec*
                         ((for-loop_0
                           (|#%name|
                            for-loop
                            (lambda (result_0 lst_0)
                              (if (not (null? (unwrap lst_0)))
                                (let ((v_2
                                       (if (pair? (unwrap lst_0))
                                         (wrap-car lst_0)
                                         lst_0)))
                                  (let ((rest_0
                                         (if (pair? (unwrap lst_0))
                                           (wrap-cdr lst_0)
                                           null)))
                                    (let ((v_3 v_2))
                                      (let ((result_1
                                             (let ((result_1
                                                    (let ((p_0 (unwrap v_3)))
                                                      (if (pair? p_0) #t #f))))
                                               (values result_1))))
                                        (if (if (not
                                                 (let ((x_0 (list v_3)))
                                                   (not result_1)))
                                              #t
                                              #f)
                                          (for-loop_0 result_1 rest_0)
                                          result_1)))))
                                result_0)))))
                         (for-loop_0 #t a_0))
                        #f))
                    #f)
                (call-with-values
                 (lambda ()
                   (let ((d_0 (cdr (unwrap v_1))))
                     (call-with-values
                      (lambda ()
                        (letrec*
                         ((for-loop_0
                           (|#%name|
                            for-loop
                            (lambda (argss_0 bodys_0 lst_0)
                              (if (not (null? (unwrap lst_0)))
                                (let ((v_2
                                       (if (pair? (unwrap lst_0))
                                         (wrap-car lst_0)
                                         lst_0)))
                                  (let ((rest_0
                                         (if (pair? (unwrap lst_0))
                                           (wrap-cdr lst_0)
                                           null)))
                                    (let ((v_3 v_2))
                                      (call-with-values
                                       (lambda ()
                                         (call-with-values
                                          (lambda ()
                                            (call-with-values
                                             (lambda ()
                                               (let ((p_0 (unwrap v_3)))
                                                 (let ((argss_1
                                                        (let ((a_0 (car p_0)))
                                                          a_0)))
                                                   (let ((bodys_1
                                                          (let ((d_1
                                                                 (cdr p_0)))
                                                            d_1)))
                                                     (let ((argss_2 argss_1))
                                                       (values
                                                        argss_2
                                                        bodys_1))))))
                                             (lambda (argss13_0 bodys14_0)
                                               (values
                                                (cons argss13_0 argss_0)
                                                (cons bodys14_0 bodys_0)))))
                                          (lambda (argss_1 bodys_1)
                                            (values argss_1 bodys_1))))
                                       (lambda (argss_1 bodys_1)
                                         (for-loop_0
                                          argss_1
                                          bodys_1
                                          rest_0))))))
                                (values argss_0 bodys_0))))))
                         (for-loop_0 null null d_0)))
                      (lambda (argss_0 bodys_0)
                        (let ((app_0 (reverse$1 argss_0)))
                          (values app_0 (reverse$1 bodys_0)))))))
                 (lambda (argss_0 bodys_0)
                   (letrec*
                    ((for-loop_0
                      (|#%name|
                       for-loop
                       (lambda (accum_1 lst_0 lst_1)
                         (if (if (pair? lst_0) (pair? lst_1) #f)
                           (let ((args_0 (unsafe-car lst_0)))
                             (let ((rest_0 (unsafe-cdr lst_0)))
                               (let ((body_0 (unsafe-car lst_1)))
                                 (let ((rest_1 (unsafe-cdr lst_1)))
                                   (let ((accum_2
                                          (let ((accum_2
                                                 (body-find-mutable_0
                                                  (plain-add-args_0
                                                   env_0
                                                   args_0)
                                                  body_0
                                                  accum_1)))
                                            (values accum_2))))
                                     (for-loop_0 accum_2 rest_0 rest_1))))))
                           accum_1)))))
                    (for-loop_0 accum_0 argss_0 bodys_0))))
                (if (if (eq? 'let hd_0) #t #f)
                  (find-mutable-in-let_0 env_0 v_1 accum_0)
                  (if (if (eq? 'letrec hd_0) #t #f)
                    (find-mutable-in-let_0 env_0 v_1 accum_0)
                    (if (if (eq? 'letrec* hd_0) #t #f)
                      (find-mutable-in-let_0 env_0 v_1 accum_0)
                      (if (if (eq? 'begin hd_0) #t #f)
                        (let ((vs_0 (let ((d_0 (cdr (unwrap v_1)))) d_0)))
                          (body-find-mutable_0 env_0 vs_0 accum_0))
                        (if (if (eq? 'begin0 hd_0) #t #f)
                          (let ((vs_0 (let ((d_0 (cdr (unwrap v_1)))) d_0)))
                            (body-find-mutable_0 env_0 vs_0 accum_0))
                          (if (if (eq? 'begin-unsafe hd_0) #t #f)
                            (let ((vs_0 (let ((d_0 (cdr (unwrap v_1)))) d_0)))
                              (body-find-mutable_0 env_0 vs_0 accum_0))
                            (if (if (eq? 'if hd_0)
                                  (let ((a_0 (cdr (unwrap v_1))))
                                    (let ((p_0 (unwrap a_0)))
                                      (if (pair? p_0)
                                        (let ((a_1 (cdr p_0)))
                                          (let ((p_1 (unwrap a_1)))
                                            (if (pair? p_1)
                                              (let ((a_2 (cdr p_1)))
                                                (let ((p_2 (unwrap a_2)))
                                                  (if (pair? p_2)
                                                    (let ((a_3 (cdr p_2)))
                                                      (let ((app_0
                                                             (unwrap '())))
                                                        (eq?
                                                         app_0
                                                         (unwrap a_3))))
                                                    #f)))
                                              #f)))
                                        #f)))
                                  #f)
                              (call-with-values
                               (lambda ()
                                 (let ((d_0 (cdr (unwrap v_1))))
                                   (let ((p_0 (unwrap d_0)))
                                     (let ((tst_0 (let ((a_0 (car p_0))) a_0)))
                                       (call-with-values
                                        (lambda ()
                                          (let ((d_1 (cdr p_0)))
                                            (let ((p_1 (unwrap d_1)))
                                              (let ((thn_0
                                                     (let ((a_0 (car p_1)))
                                                       a_0)))
                                                (let ((els_0
                                                       (let ((d_2 (cdr p_1)))
                                                         (let ((a_0
                                                                (car
                                                                 (unwrap
                                                                  d_2))))
                                                           a_0))))
                                                  (let ((thn_1 thn_0))
                                                    (values thn_1 els_0)))))))
                                        (lambda (thn_0 els_0)
                                          (let ((tst_1 tst_0))
                                            (values tst_1 thn_0 els_0))))))))
                               (lambda (tst_0 thn_0 els_0)
                                 (find-mutable_0
                                  env_0
                                  tst_0
                                  (find-mutable_0
                                   env_0
                                   thn_0
                                   (find-mutable_0 env_0 els_0 accum_0)))))
                              (if (if (eq? 'with-continuation-mark* hd_0)
                                    (let ((a_0 (cdr (unwrap v_1))))
                                      (let ((p_0 (unwrap a_0)))
                                        (if (pair? p_0)
                                          (let ((a_1 (cdr p_0)))
                                            (let ((p_1 (unwrap a_1)))
                                              (if (pair? p_1)
                                                (let ((a_2 (cdr p_1)))
                                                  (let ((p_2 (unwrap a_2)))
                                                    (if (pair? p_2)
                                                      (let ((a_3 (cdr p_2)))
                                                        (let ((p_3
                                                               (unwrap a_3)))
                                                          (if (pair? p_3)
                                                            (let ((a_4
                                                                   (cdr p_3)))
                                                              (let ((app_0
                                                                     (unwrap
                                                                      '())))
                                                                (eq?
                                                                 app_0
                                                                 (unwrap
                                                                  a_4))))
                                                            #f)))
                                                      #f)))
                                                #f)))
                                          #f)))
                                    #f)
                                (call-with-values
                                 (lambda ()
                                   (let ((d_0 (cdr (unwrap v_1))))
                                     (let ((p_0 (unwrap d_0)))
                                       (let ((mode_0
                                              (let ((a_0 (car p_0))) a_0)))
                                         (call-with-values
                                          (lambda ()
                                            (let ((d_1 (cdr p_0)))
                                              (let ((p_1 (unwrap d_1)))
                                                (let ((key_0
                                                       (let ((a_0 (car p_1)))
                                                         a_0)))
                                                  (call-with-values
                                                   (lambda ()
                                                     (let ((d_2 (cdr p_1)))
                                                       (let ((p_2
                                                              (unwrap d_2)))
                                                         (let ((val_0
                                                                (let ((a_0
                                                                       (car
                                                                        p_2)))
                                                                  a_0)))
                                                           (let ((body_0
                                                                  (let ((d_3
                                                                         (cdr
                                                                          p_2)))
                                                                    (let ((a_0
                                                                           (car
                                                                            (unwrap
                                                                             d_3))))
                                                                      a_0))))
                                                             (let ((val_1
                                                                    val_0))
                                                               (values
                                                                val_1
                                                                body_0)))))))
                                                   (lambda (val_0 body_0)
                                                     (let ((key_1 key_0))
                                                       (values
                                                        key_1
                                                        val_0
                                                        body_0))))))))
                                          (lambda (key_0 val_0 body_0)
                                            (let ((mode_1 mode_0))
                                              (values
                                               mode_1
                                               key_0
                                               val_0
                                               body_0))))))))
                                 (lambda (mode_0 key_0 val_0 body_0)
                                   (find-mutable_0
                                    env_0
                                    key_0
                                    (find-mutable_0
                                     env_0
                                     val_0
                                     (find-mutable_0 env_0 body_0 accum_0)))))
                                (if (if (eq? 'quote hd_0)
                                      (let ((a_0 (cdr (unwrap v_1))))
                                        (let ((p_0 (unwrap a_0)))
                                          (if (pair? p_0)
                                            (let ((a_1 (cdr p_0)))
                                              (let ((app_0 (unwrap '())))
                                                (eq? app_0 (unwrap a_1))))
                                            #f)))
                                      #f)
                                  accum_0
                                  (if (if (eq? '|#%foreign-inline| hd_0) #t #f)
                                    accum_0
                                    (if (if (eq? 'set! hd_0)
                                          (let ((a_0 (cdr (unwrap v_1))))
                                            (let ((p_0 (unwrap a_0)))
                                              (if (pair? p_0)
                                                (let ((a_1 (cdr p_0)))
                                                  (let ((p_1 (unwrap a_1)))
                                                    (if (pair? p_1)
                                                      (let ((a_2 (cdr p_1)))
                                                        (let ((app_0
                                                               (unwrap '())))
                                                          (eq?
                                                           app_0
                                                           (unwrap a_2))))
                                                      #f)))
                                                #f)))
                                          #f)
                                      (call-with-values
                                       (lambda ()
                                         (let ((d_0 (cdr (unwrap v_1))))
                                           (let ((p_0 (unwrap d_0)))
                                             (let ((var_0
                                                    (let ((a_0 (car p_0)))
                                                      a_0)))
                                               (let ((rhs_0
                                                      (let ((d_1 (cdr p_0)))
                                                        (let ((a_0
                                                               (car
                                                                (unwrap d_1))))
                                                          a_0))))
                                                 (let ((var_1 var_0))
                                                   (values var_1 rhs_0)))))))
                                       (lambda (var_0 rhs_0)
                                         (let ((id_0 (unwrap var_0)))
                                           (find-mutable_0
                                            env_0
                                            rhs_0
                                            (if (hash-ref env_0 id_0 #f)
                                              (hash-set accum_0 id_0 #t)
                                              accum_0)))))
                                      (if (if (eq?
                                               'ffi-static-call-and-callback-core
                                               hd_0)
                                            (let ((a_0 (cdr (unwrap v_1))))
                                              (wrap-list? a_0))
                                            #f)
                                        accum_0
                                        (if (wrap-list? v_1)
                                          (body-find-mutable_0
                                           env_0
                                           v_1
                                           accum_0)
                                          accum_0)))))))))))))))))))
      (body-find-mutable_0
       (|#%name|
        body-find-mutable
        (lambda (env_0 body_0 accum_0)
          (letrec*
           ((for-loop_0
             (|#%name|
              for-loop
              (lambda (accum_1 lst_0)
                (if (not (null? (unwrap lst_0)))
                  (let ((v_1
                         (if (pair? (unwrap lst_0)) (wrap-car lst_0) lst_0)))
                    (let ((rest_0
                           (if (pair? (unwrap lst_0)) (wrap-cdr lst_0) null)))
                      (let ((v_2 v_1))
                        (let ((accum_2
                               (let ((accum_2
                                      (find-mutable_0 env_0 v_2 accum_1)))
                                 (values accum_2))))
                          (for-loop_0 accum_2 rest_0)))))
                  accum_1)))))
           (for-loop_0 accum_0 body_0)))))
      (find-mutable-in-let_0
       (|#%name|
        find-mutable-in-let
        (lambda (env_0 v_1 accum_0)
          (if (let ((p_0 (unwrap v_1)))
                (if (pair? p_0)
                  (let ((a_0 (cdr p_0)))
                    (let ((p_1 (unwrap a_0)))
                      (if (pair? p_1)
                        (if (let ((a_1 (car p_1)))
                              (if (wrap-list? a_1)
                                (letrec*
                                 ((for-loop_0
                                   (|#%name|
                                    for-loop
                                    (lambda (result_0 lst_0)
                                      (if (not (null? (unwrap lst_0)))
                                        (let ((v_2
                                               (if (pair? (unwrap lst_0))
                                                 (wrap-car lst_0)
                                                 lst_0)))
                                          (let ((rest_0
                                                 (if (pair? (unwrap lst_0))
                                                   (wrap-cdr lst_0)
                                                   null)))
                                            (let ((v_3 v_2))
                                              (let ((result_1
                                                     (let ((result_1
                                                            (let ((p_2
                                                                   (unwrap
                                                                    v_3)))
                                                              (if (pair? p_2)
                                                                (let ((a_2
                                                                       (cdr
                                                                        p_2)))
                                                                  (let ((p_3
                                                                         (unwrap
                                                                          a_2)))
                                                                    (if (pair?
                                                                         p_3)
                                                                      (let ((a_3
                                                                             (cdr
                                                                              p_3)))
                                                                        (let ((app_0
                                                                               (unwrap
                                                                                '())))
                                                                          (eq?
                                                                           app_0
                                                                           (unwrap
                                                                            a_3))))
                                                                      #f)))
                                                                #f))))
                                                       (values result_1))))
                                                (if (if (not
                                                         (let ((x_0
                                                                (list v_3)))
                                                           (not result_1)))
                                                      #t
                                                      #f)
                                                  (for-loop_0 result_1 rest_0)
                                                  result_1)))))
                                        result_0)))))
                                 (for-loop_0 #t a_1))
                                #f))
                          #t
                          #f)
                        #f)))
                  #f))
            (call-with-values
             (lambda ()
               (let ((p_0 (unwrap v_1)))
                 (let ((let-form_0 (let ((a_0 (car p_0))) a_0)))
                   (call-with-values
                    (lambda ()
                      (let ((d_0 (cdr p_0)))
                        (let ((p_1 (unwrap d_0)))
                          (call-with-values
                           (lambda ()
                             (let ((a_0 (car p_1)))
                               (call-with-values
                                (lambda ()
                                  (letrec*
                                   ((for-loop_0
                                     (|#%name|
                                      for-loop
                                      (lambda (ids_0 rhss_0 lst_0)
                                        (if (not (null? (unwrap lst_0)))
                                          (let ((v_2
                                                 (if (pair? (unwrap lst_0))
                                                   (wrap-car lst_0)
                                                   lst_0)))
                                            (let ((rest_0
                                                   (if (pair? (unwrap lst_0))
                                                     (wrap-cdr lst_0)
                                                     null)))
                                              (let ((v_3 v_2))
                                                (call-with-values
                                                 (lambda ()
                                                   (call-with-values
                                                    (lambda ()
                                                      (call-with-values
                                                       (lambda ()
                                                         (let ((p_2
                                                                (unwrap v_3)))
                                                           (let ((ids_1
                                                                  (let ((a_1
                                                                         (car
                                                                          p_2)))
                                                                    a_1)))
                                                             (let ((rhss_1
                                                                    (let ((d_1
                                                                           (cdr
                                                                            p_2)))
                                                                      (let ((a_1
                                                                             (car
                                                                              (unwrap
                                                                               d_1))))
                                                                        a_1))))
                                                               (let ((ids_2
                                                                      ids_1))
                                                                 (values
                                                                  ids_2
                                                                  rhss_1))))))
                                                       (lambda (ids15_0
                                                                rhss16_0)
                                                         (values
                                                          (cons ids15_0 ids_0)
                                                          (cons
                                                           rhss16_0
                                                           rhss_0)))))
                                                    (lambda (ids_1 rhss_1)
                                                      (values ids_1 rhss_1))))
                                                 (lambda (ids_1 rhss_1)
                                                   (for-loop_0
                                                    ids_1
                                                    rhss_1
                                                    rest_0))))))
                                          (values ids_0 rhss_0))))))
                                   (for-loop_0 null null a_0)))
                                (lambda (ids_0 rhss_0)
                                  (let ((app_0 (reverse$1 ids_0)))
                                    (values app_0 (reverse$1 rhss_0)))))))
                           (lambda (ids_0 rhss_0)
                             (let ((body_0 (let ((d_1 (cdr p_1))) d_1)))
                               (let ((ids_1 ids_0) (rhss_1 rhss_0))
                                 (values ids_1 rhss_1 body_0))))))))
                    (lambda (ids_0 rhss_0 body_0)
                      (let ((let-form_1 let-form_0))
                        (values let-form_1 ids_0 rhss_0 body_0)))))))
             (lambda (let-form_0 ids_0 rhss_0 body_0)
               (let ((local-env_0
                      (letrec*
                       ((for-loop_0
                         (|#%name|
                          for-loop
                          (lambda (env_1 lst_0)
                            (if (pair? lst_0)
                              (let ((id_0 (unsafe-car lst_0)))
                                (let ((rest_0 (unsafe-cdr lst_0)))
                                  (let ((env_2
                                         (let ((env_2
                                                (plain-add-args_0 env_1 id_0)))
                                           (values env_2))))
                                    (for-loop_0 env_2 rest_0))))
                              env_1)))))
                       (for-loop_0 env_0 ids_0))))
                 (let ((rhs-env_0
                        (let ((tmp_0 (unwrap let-form_0)))
                          (if (if (eq? tmp_0 'letrec)
                                #t
                                (if (eq? tmp_0 'letrec*)
                                  #t
                                  (eq? tmp_0 'letrec*-values)))
                            local-env_0
                            env_0))))
                   (body-find-mutable_0
                    local-env_0
                    body_0
                    (letrec*
                     ((for-loop_0
                       (|#%name|
                        for-loop
                        (lambda (accum_1 lst_0 lst_1)
                          (if (if (pair? lst_0) (pair? lst_1) #f)
                            (let ((id_0 (unsafe-car lst_0)))
                              (let ((rest_0 (unsafe-cdr lst_0)))
                                (let ((rhs_0 (unsafe-car lst_1)))
                                  (let ((rest_1 (unsafe-cdr lst_1)))
                                    (let ((accum_2
                                           (let ((accum_2
                                                  (find-mutable_0
                                                   rhs-env_0
                                                   rhs_0
                                                   accum_1)))
                                             (values accum_2))))
                                      (for-loop_0 accum_2 rest_0 rest_1))))))
                            accum_1)))))
                     (for-loop_0 accum_0 ids_0 rhss_0)))))))
            (error 'match "failed ~e" v_1)))))
      (init-convert-mode_0
       (|#%name|
        init-convert-mode
        (lambda (v_1)
          (if convert-size-threshold_0
            (convert-mode1.1 (record-sizes_0 v_1) #f #f #f)
            '(not-called . no-lift)))))
      (convert-mode-convert-lambda?_0
       (|#%name|
        convert-mode-convert-lambda?
        (lambda (cm_0 v_1)
          (if (pair? cm_0)
            (eq? (car cm_0) 'not-called)
            (if (convert-mode-called? cm_0)
              #f
              (if (convert-mode-no-more-conversions? cm_0)
                #f
                (if (>=
                     (hash-ref (convert-mode-sizes cm_0) v_1)
                     convert-size-threshold_0)
                  #f
                  #t)))))))
      (convert-mode-lambda-body-mode_0
       (|#%name|
        convert-mode-lambda-body-mode
        (lambda (cm_0 convert?_0)
          (if (convert-mode? cm_0)
            (if convert?_0
              (convert-mode1.1 'not-needed #f need-lift?_0 #t)
              (convert-mode-non-tail_0 cm_0))
            (if (let ((or-part_0 (not need-lift?_0)))
                  (if or-part_0
                    or-part_0
                    (if (eq? 'no-lift (cdr cm_0)) (not convert?_0) #f)))
              '(not-called . no-lift)
              '(not-called . lift))))))
      (convert-mode-non-tail_0
       (|#%name|
        convert-mode-non-tail
        (lambda (cm_0)
          (if (convert-mode? cm_0)
            (if (convert-mode? cm_0)
              (convert-mode1.1
               (convert-mode-sizes cm_0)
               #f
               (convert-mode-lift? cm_0)
               (convert-mode-no-more-conversions? cm_0))
              (raise-argument-error 'struct-copy "convert-mode?" cm_0))
            (if (eq? 'no-lift (cdr cm_0))
              '(not-called . no-lift)
              '(not-called . lift))))))
      (convert-mode-called_0
       (|#%name|
        convert-mode-called
        (lambda (cm_0)
          (if (convert-mode? cm_0)
            (if (convert-mode? cm_0)
              (convert-mode1.1
               (convert-mode-sizes cm_0)
               #t
               (convert-mode-lift? cm_0)
               (convert-mode-no-more-conversions? cm_0))
              (raise-argument-error 'struct-copy "convert-mode?" cm_0))
            (if (eq? 'no-lift (cdr cm_0))
              '(called . no-lift)
              '(called . lift))))))
      (convert-mode-always_0
       (|#%name|
        convert-mode-always
        (lambda (cm_0) (convert-mode1.1 'not-needed #f need-lift?_0 #t))))
      (convert-mode-within-conversion?_0
       (|#%name|
        convert-mode-within-conversion?
        (lambda (cm_0)
          (if (convert-mode? cm_0)
            (convert-mode-no-more-conversions? cm_0)
            #f))))
      (convert-mode-box-mutables?_0
       (|#%name|
        convert-mode-box-mutables?
        (lambda (cm_0)
          (if (convert-mode? cm_0)
            (not (convert-mode-no-more-conversions? cm_0))
            #t))))
      (convert-mode-need-lift?_0
       (|#%name|
        convert-mode-need-lift?
        (lambda (cm_0)
          (if (convert-mode? cm_0)
            (convert-mode-lift? cm_0)
            (eq? 'lift (cdr cm_0))))))
      (no-lifts_0 '(0))
      (no-lifts?_0 (|#%name| no-lifts? (lambda (v_1) (zero? (car v_1)))))
      (lifts->datum_0
       (|#%name|
        lifts->datum
        (lambda (v_1) (list->vector (reverse$1 (cdr v_1))))))
      (add-lift_0
       (|#%name|
        add-lift
        (lambda (e_0 lifts_0)
          (let ((app_0 (list 'unsafe-vector-ref lifts-id (car lifts_0))))
            (values
             app_0
             (let ((app_1 (add1 (car lifts_0))))
               (cons app_1 (cons e_0 (cdr lifts_0)))))))))
      (record-sizes_0
       (|#%name|
        record-sizes
        (lambda (v_1)
          (let ((sizes_0 (make-hasheq)))
            (begin (record-sizes!_0 v_1 sizes_0) sizes_0)))))
      (record-size!_0
       (|#%name|
        record-size!
        (lambda (v_1 sizes_0 size_0)
          (begin (hash-set! sizes_0 v_1 size_0) size_0))))
      (record-sizes!_0
       (|#%name|
        record-sizes!
        (lambda (v_1 sizes_0)
          (let ((hd_0
                 (let ((p_0 (unwrap v_1)))
                   (if (pair? p_0) (unwrap (car p_0)) #f))))
            (if (if (eq? 'lambda hd_0)
                  (let ((a_0 (cdr (unwrap v_1))))
                    (let ((p_0 (unwrap a_0))) (if (pair? p_0) #t #f)))
                  #f)
              (call-with-values
               (lambda ()
                 (let ((d_0 (cdr (unwrap v_1))))
                   (let ((p_0 (unwrap d_0)))
                     (let ((args_0 (let ((a_0 (car p_0))) a_0)))
                       (let ((body_0 (let ((d_1 (cdr p_0))) d_1)))
                         (let ((args_1 args_0)) (values args_1 body_0)))))))
               (lambda (args_0 body_0)
                 (let ((size_0 (body-record-sizes!_0 body_0 sizes_0)))
                   (begin (hash-set! sizes_0 v_1 size_0) size_0))))
              (if (if (eq? 'case-lambda hd_0)
                    (let ((a_0 (cdr (unwrap v_1))))
                      (if (wrap-list? a_0)
                        (letrec*
                         ((for-loop_0
                           (|#%name|
                            for-loop
                            (lambda (result_0 lst_0)
                              (if (not (null? (unwrap lst_0)))
                                (let ((v_2
                                       (if (pair? (unwrap lst_0))
                                         (wrap-car lst_0)
                                         lst_0)))
                                  (let ((rest_0
                                         (if (pair? (unwrap lst_0))
                                           (wrap-cdr lst_0)
                                           null)))
                                    (let ((v_3 v_2))
                                      (let ((result_1
                                             (let ((result_1
                                                    (let ((p_0 (unwrap v_3)))
                                                      (if (pair? p_0) #t #f))))
                                               (values result_1))))
                                        (if (if (not
                                                 (let ((x_0 (list v_3)))
                                                   (not result_1)))
                                              #t
                                              #f)
                                          (for-loop_0 result_1 rest_0)
                                          result_1)))))
                                result_0)))))
                         (for-loop_0 #t a_0))
                        #f))
                    #f)
                (let ((bodys_0
                       (let ((d_0 (cdr (unwrap v_1))))
                         (let ((bodys_0
                                (letrec*
                                 ((for-loop_0
                                   (|#%name|
                                    for-loop
                                    (lambda (bodys_0 lst_0)
                                      (if (not (null? (unwrap lst_0)))
                                        (let ((v_2
                                               (if (pair? (unwrap lst_0))
                                                 (wrap-car lst_0)
                                                 lst_0)))
                                          (let ((rest_0
                                                 (if (pair? (unwrap lst_0))
                                                   (wrap-cdr lst_0)
                                                   null)))
                                            (let ((v_3 v_2))
                                              (let ((bodys_1
                                                     (let ((bodys_1
                                                            (let ((bodys19_0
                                                                   (let ((d_1
                                                                          (cdr
                                                                           (unwrap
                                                                            v_3))))
                                                                     d_1)))
                                                              (cons
                                                               bodys19_0
                                                               bodys_0))))
                                                       (values bodys_1))))
                                                (for-loop_0 bodys_1 rest_0)))))
                                        bodys_0)))))
                                 (for-loop_0 null d_0))))
                           (reverse$1 bodys_0)))))
                  (let ((new-size_0
                         (letrec*
                          ((for-loop_0
                            (|#%name|
                             for-loop
                             (lambda (result_0 lst_0)
                               (if (pair? lst_0)
                                 (let ((body_0 (unsafe-car lst_0)))
                                   (let ((rest_0 (unsafe-cdr lst_0)))
                                     (let ((result_1
                                            (let ((result_1
                                                   (+
                                                    result_0
                                                    (body-record-sizes!_0
                                                     body_0
                                                     sizes_0))))
                                              (values result_1))))
                                       (for-loop_0 result_1 rest_0))))
                                 result_0)))))
                          (for-loop_0 0 bodys_0))))
                    (begin (hash-set! sizes_0 v_1 new-size_0) new-size_0)))
                (if (if (eq? 'let hd_0) #t #f)
                  (record-sizes-in-let!_0 v_1 sizes_0)
                  (if (if (eq? 'letrec hd_0) #t #f)
                    (record-sizes-in-let!_0 v_1 sizes_0)
                    (if (if (eq? 'letrec* hd_0) #t #f)
                      (record-sizes-in-let!_0 v_1 sizes_0)
                      (if (if (eq? 'begin hd_0) #t #f)
                        (let ((vs_0 (let ((d_0 (cdr (unwrap v_1)))) d_0)))
                          (add1 (body-record-sizes!_0 vs_0 sizes_0)))
                        (if (if (eq? 'begin0 hd_0) #t #f)
                          (let ((vs_0 (let ((d_0 (cdr (unwrap v_1)))) d_0)))
                            (add1 (body-record-sizes!_0 vs_0 sizes_0)))
                          (if (if (eq? 'begin-unsafe hd_0) #t #f)
                            (let ((vs_0 (let ((d_0 (cdr (unwrap v_1)))) d_0)))
                              (add1 (body-record-sizes!_0 vs_0 sizes_0)))
                            (if (if (eq? 'if hd_0)
                                  (let ((a_0 (cdr (unwrap v_1))))
                                    (let ((p_0 (unwrap a_0)))
                                      (if (pair? p_0)
                                        (let ((a_1 (cdr p_0)))
                                          (let ((p_1 (unwrap a_1)))
                                            (if (pair? p_1)
                                              (let ((a_2 (cdr p_1)))
                                                (let ((p_2 (unwrap a_2)))
                                                  (if (pair? p_2)
                                                    (let ((a_3 (cdr p_2)))
                                                      (let ((app_0
                                                             (unwrap '())))
                                                        (eq?
                                                         app_0
                                                         (unwrap a_3))))
                                                    #f)))
                                              #f)))
                                        #f)))
                                  #f)
                              (call-with-values
                               (lambda ()
                                 (let ((d_0 (cdr (unwrap v_1))))
                                   (let ((p_0 (unwrap d_0)))
                                     (let ((tst_0 (let ((a_0 (car p_0))) a_0)))
                                       (call-with-values
                                        (lambda ()
                                          (let ((d_1 (cdr p_0)))
                                            (let ((p_1 (unwrap d_1)))
                                              (let ((thn_0
                                                     (let ((a_0 (car p_1)))
                                                       a_0)))
                                                (let ((els_0
                                                       (let ((d_2 (cdr p_1)))
                                                         (let ((a_0
                                                                (car
                                                                 (unwrap
                                                                  d_2))))
                                                           a_0))))
                                                  (let ((thn_1 thn_0))
                                                    (values thn_1 els_0)))))))
                                        (lambda (thn_0 els_0)
                                          (let ((tst_1 tst_0))
                                            (values tst_1 thn_0 els_0))))))))
                               (lambda (tst_0 thn_0 els_0)
                                 (let ((app_0 (record-sizes!_0 tst_0 sizes_0)))
                                   (let ((app_1
                                          (record-sizes!_0 thn_0 sizes_0)))
                                     (+
                                      1
                                      app_0
                                      app_1
                                      (record-sizes!_0 els_0 sizes_0))))))
                              (if (if (eq? 'with-continuation-mark* hd_0)
                                    (let ((a_0 (cdr (unwrap v_1))))
                                      (let ((p_0 (unwrap a_0)))
                                        (if (pair? p_0)
                                          (let ((a_1 (cdr p_0)))
                                            (let ((p_1 (unwrap a_1)))
                                              (if (pair? p_1)
                                                (let ((a_2 (cdr p_1)))
                                                  (let ((p_2 (unwrap a_2)))
                                                    (if (pair? p_2)
                                                      (let ((a_3 (cdr p_2)))
                                                        (let ((p_3
                                                               (unwrap a_3)))
                                                          (if (pair? p_3)
                                                            (let ((a_4
                                                                   (cdr p_3)))
                                                              (let ((app_0
                                                                     (unwrap
                                                                      '())))
                                                                (eq?
                                                                 app_0
                                                                 (unwrap
                                                                  a_4))))
                                                            #f)))
                                                      #f)))
                                                #f)))
                                          #f)))
                                    #f)
                                (call-with-values
                                 (lambda ()
                                   (let ((d_0 (cdr (unwrap v_1))))
                                     (let ((p_0 (unwrap d_0)))
                                       (let ((mode_0
                                              (let ((a_0 (car p_0))) a_0)))
                                         (call-with-values
                                          (lambda ()
                                            (let ((d_1 (cdr p_0)))
                                              (let ((p_1 (unwrap d_1)))
                                                (let ((key_0
                                                       (let ((a_0 (car p_1)))
                                                         a_0)))
                                                  (call-with-values
                                                   (lambda ()
                                                     (let ((d_2 (cdr p_1)))
                                                       (let ((p_2
                                                              (unwrap d_2)))
                                                         (let ((val_0
                                                                (let ((a_0
                                                                       (car
                                                                        p_2)))
                                                                  a_0)))
                                                           (let ((body_0
                                                                  (let ((d_3
                                                                         (cdr
                                                                          p_2)))
                                                                    (let ((a_0
                                                                           (car
                                                                            (unwrap
                                                                             d_3))))
                                                                      a_0))))
                                                             (let ((val_1
                                                                    val_0))
                                                               (values
                                                                val_1
                                                                body_0)))))))
                                                   (lambda (val_0 body_0)
                                                     (let ((key_1 key_0))
                                                       (values
                                                        key_1
                                                        val_0
                                                        body_0))))))))
                                          (lambda (key_0 val_0 body_0)
                                            (let ((mode_1 mode_0))
                                              (values
                                               mode_1
                                               key_0
                                               val_0
                                               body_0))))))))
                                 (lambda (mode_0 key_0 val_0 body_0)
                                   (let ((app_0
                                          (record-sizes!_0 key_0 sizes_0)))
                                     (let ((app_1
                                            (record-sizes!_0 val_0 sizes_0)))
                                       (+
                                        1
                                        app_0
                                        app_1
                                        (record-sizes!_0 body_0 sizes_0))))))
                                (if (if (eq? 'quote hd_0)
                                      (let ((a_0 (cdr (unwrap v_1))))
                                        (let ((p_0 (unwrap a_0)))
                                          (if (pair? p_0)
                                            (let ((a_1 (cdr p_0)))
                                              (let ((app_0 (unwrap '())))
                                                (eq? app_0 (unwrap a_1))))
                                            #f)))
                                      #f)
                                  1
                                  (if (if (eq? '|#%foreign-inline| hd_0) #t #f)
                                    1
                                    (if (if (eq? 'set! hd_0)
                                          (let ((a_0 (cdr (unwrap v_1))))
                                            (let ((p_0 (unwrap a_0)))
                                              (if (pair? p_0)
                                                (let ((a_1 (cdr p_0)))
                                                  (let ((p_1 (unwrap a_1)))
                                                    (if (pair? p_1)
                                                      (let ((a_2 (cdr p_1)))
                                                        (let ((app_0
                                                               (unwrap '())))
                                                          (eq?
                                                           app_0
                                                           (unwrap a_2))))
                                                      #f)))
                                                #f)))
                                          #f)
                                      (let ((rhs_0
                                             (let ((d_0 (cdr (unwrap v_1))))
                                               (let ((d_1 (cdr (unwrap d_0))))
                                                 (let ((a_0
                                                        (car (unwrap d_1))))
                                                   a_0)))))
                                        (add1 (record-sizes!_0 rhs_0 sizes_0)))
                                      (if (if (eq?
                                               'ffi-static-call-and-callback-core
                                               hd_0)
                                            (let ((a_0 (cdr (unwrap v_1))))
                                              (wrap-list? a_0))
                                            #f)
                                        1
                                        (if (wrap-list? v_1)
                                          (body-record-sizes!_0 v_1 sizes_0)
                                          1)))))))))))))))))))
      (body-record-sizes!_0
       (|#%name|
        body-record-sizes!
        (lambda (body_0 sizes_0)
          (letrec*
           ((for-loop_0
             (|#%name|
              for-loop
              (lambda (result_0 lst_0)
                (if (not (null? (unwrap lst_0)))
                  (let ((v_1
                         (if (pair? (unwrap lst_0)) (wrap-car lst_0) lst_0)))
                    (let ((rest_0
                           (if (pair? (unwrap lst_0)) (wrap-cdr lst_0) null)))
                      (let ((v_2 v_1))
                        (let ((result_1
                               (let ((result_1
                                      (+
                                       result_0
                                       (record-sizes!_0 v_2 sizes_0))))
                                 (values result_1))))
                          (for-loop_0 result_1 rest_0)))))
                  result_0)))))
           (for-loop_0 0 body_0)))))
      (record-sizes-in-let!_0
       (|#%name|
        record-sizes-in-let!
        (lambda (v_1 sizes_0)
          (if (let ((p_0 (unwrap v_1)))
                (if (pair? p_0)
                  (let ((a_0 (cdr p_0)))
                    (let ((p_1 (unwrap a_0)))
                      (if (pair? p_1)
                        (if (let ((a_1 (car p_1)))
                              (if (wrap-list? a_1)
                                (letrec*
                                 ((for-loop_0
                                   (|#%name|
                                    for-loop
                                    (lambda (result_0 lst_0)
                                      (if (not (null? (unwrap lst_0)))
                                        (let ((v_2
                                               (if (pair? (unwrap lst_0))
                                                 (wrap-car lst_0)
                                                 lst_0)))
                                          (let ((rest_0
                                                 (if (pair? (unwrap lst_0))
                                                   (wrap-cdr lst_0)
                                                   null)))
                                            (let ((v_3 v_2))
                                              (let ((result_1
                                                     (let ((result_1
                                                            (let ((p_2
                                                                   (unwrap
                                                                    v_3)))
                                                              (if (pair? p_2)
                                                                (let ((a_2
                                                                       (cdr
                                                                        p_2)))
                                                                  (let ((p_3
                                                                         (unwrap
                                                                          a_2)))
                                                                    (if (pair?
                                                                         p_3)
                                                                      (let ((a_3
                                                                             (cdr
                                                                              p_3)))
                                                                        (let ((app_0
                                                                               (unwrap
                                                                                '())))
                                                                          (eq?
                                                                           app_0
                                                                           (unwrap
                                                                            a_3))))
                                                                      #f)))
                                                                #f))))
                                                       (values result_1))))
                                                (if (if (not
                                                         (let ((x_0
                                                                (list v_3)))
                                                           (not result_1)))
                                                      #t
                                                      #f)
                                                  (for-loop_0 result_1 rest_0)
                                                  result_1)))))
                                        result_0)))))
                                 (for-loop_0 #t a_1))
                                #f))
                          #t
                          #f)
                        #f)))
                  #f))
            (call-with-values
             (lambda ()
               (let ((p_0 (unwrap v_1)))
                 (let ((let-form_0 (let ((a_0 (car p_0))) a_0)))
                   (call-with-values
                    (lambda ()
                      (let ((d_0 (cdr p_0)))
                        (let ((p_1 (unwrap d_0)))
                          (let ((rhss_0
                                 (let ((a_0 (car p_1)))
                                   (let ((rhss_0
                                          (letrec*
                                           ((for-loop_0
                                             (|#%name|
                                              for-loop
                                              (lambda (rhss_0 lst_0)
                                                (if (not
                                                     (null? (unwrap lst_0)))
                                                  (let ((v_2
                                                         (if (pair?
                                                              (unwrap lst_0))
                                                           (wrap-car lst_0)
                                                           lst_0)))
                                                    (let ((rest_0
                                                           (if (pair?
                                                                (unwrap lst_0))
                                                             (wrap-cdr lst_0)
                                                             null)))
                                                      (let ((v_3 v_2))
                                                        (let ((rhss_1
                                                               (let ((rhss_1
                                                                      (let ((rhss20_0
                                                                             (let ((d_1
                                                                                    (cdr
                                                                                     (unwrap
                                                                                      v_3))))
                                                                               (let ((a_1
                                                                                      (car
                                                                                       (unwrap
                                                                                        d_1))))
                                                                                 a_1))))
                                                                        (cons
                                                                         rhss20_0
                                                                         rhss_0))))
                                                                 (values
                                                                  rhss_1))))
                                                          (for-loop_0
                                                           rhss_1
                                                           rest_0)))))
                                                  rhss_0)))))
                                           (for-loop_0 null a_0))))
                                     (reverse$1 rhss_0)))))
                            (let ((body_0 (let ((d_1 (cdr p_1))) d_1)))
                              (let ((rhss_1 rhss_0))
                                (values rhss_1 body_0)))))))
                    (lambda (rhss_0 body_0)
                      (let ((let-form_1 let-form_0))
                        (values let-form_1 rhss_0 body_0)))))))
             (lambda (let-form_0 rhss_0 body_0)
               (let ((app_0
                      (letrec*
                       ((for-loop_0
                         (|#%name|
                          for-loop
                          (lambda (result_0 lst_0)
                            (if (pair? lst_0)
                              (let ((rhs_0 (unsafe-car lst_0)))
                                (let ((rest_0 (unsafe-cdr lst_0)))
                                  (let ((result_1
                                         (let ((result_1
                                                (+
                                                 result_0
                                                 (record-sizes!_0
                                                  rhs_0
                                                  sizes_0))))
                                           (values result_1))))
                                    (for-loop_0 result_1 rest_0))))
                              result_0)))))
                       (for-loop_0 0 rhss_0))))
                 (+ 1 app_0 (body-record-sizes!_0 body_0 sizes_0)))))
            (error 'match "failed ~e" v_1))))))
     (with-continuation-mark*
      authentic
      parameterization-key
      (let ((app_0 (continuation-mark-set-first #f parameterization-key)))
        (extend-parameterization app_0 gensym-counter (box 0)))
      (top_0)))))
(define xify
  (lambda (e_0)
    (letrec*
     ((xify_0
       (|#%name|
        xify
        (lambda (e_1 env_0)
          (reannotate
           e_1
           (let ((hd_0
                  (let ((p_0 (unwrap e_1)))
                    (if (pair? p_0) (unwrap (car p_0)) #f))))
             (if (if (eq? 'lambda hd_0)
                   (let ((a_0 (cdr (unwrap e_1))))
                     (let ((p_0 (unwrap a_0))) (if (pair? p_0) #t #f)))
                   #f)
               (call-with-values
                (lambda ()
                  (let ((d_0 (cdr (unwrap e_1))))
                    (let ((p_0 (unwrap d_0)))
                      (let ((ids_0 (let ((a_0 (car p_0))) a_0)))
                        (let ((body_0 (let ((d_1 (cdr p_0))) d_1)))
                          (let ((ids_1 ids_0)) (values ids_1 body_0)))))))
                (lambda (ids_0 body_0)
                  (call-with-values
                   (lambda () (xify-ids_0 ids_0 env_0))
                   (lambda (new-ids_0 new-env_0)
                     (list*
                      'lambda
                      new-ids_0
                      (xify-body_0 body_0 new-env_0))))))
               (if (if (eq? 'case-lambda hd_0)
                     (let ((a_0 (cdr (unwrap e_1)))) (wrap-list? a_0))
                     #f)
                 (let ((clauses_0
                        (let ((d_0 (cdr (unwrap e_1)))) (unwrap-list d_0))))
                   (list*
                    'case-lambda
                    (reverse$1
                     (letrec*
                      ((for-loop_0
                        (|#%name|
                         for-loop
                         (lambda (fold-var_0 lst_0)
                           (if (pair? lst_0)
                             (let ((clause_0 (unsafe-car lst_0)))
                               (let ((rest_0 (unsafe-cdr lst_0)))
                                 (let ((fold-var_1
                                        (let ((fold-var_1
                                               (cons
                                                (cdr
                                                 (xify_0
                                                  (cons 'lambda clause_0)
                                                  env_0))
                                                fold-var_0)))
                                          (values fold-var_1))))
                                   (for-loop_0 fold-var_1 rest_0))))
                             fold-var_0)))))
                      (for-loop_0 null clauses_0)))))
                 (if (if (eq? 'let hd_0)
                       (let ((a_0 (cdr (unwrap e_1))))
                         (let ((p_0 (unwrap a_0)))
                           (if (pair? p_0)
                             (if (let ((a_1 (car p_0)))
                                   (if (wrap-list? a_1)
                                     (letrec*
                                      ((for-loop_0
                                        (|#%name|
                                         for-loop
                                         (lambda (result_0 lst_0)
                                           (if (not (null? (unwrap lst_0)))
                                             (let ((v_0
                                                    (if (pair? (unwrap lst_0))
                                                      (wrap-car lst_0)
                                                      lst_0)))
                                               (let ((rest_0
                                                      (if (pair?
                                                           (unwrap lst_0))
                                                        (wrap-cdr lst_0)
                                                        null)))
                                                 (let ((v_1 v_0))
                                                   (let ((result_1
                                                          (let ((result_1
                                                                 (let ((p_1
                                                                        (unwrap
                                                                         v_1)))
                                                                   (if (pair?
                                                                        p_1)
                                                                     (let ((a_2
                                                                            (cdr
                                                                             p_1)))
                                                                       (let ((p_2
                                                                              (unwrap
                                                                               a_2)))
                                                                         (if (pair?
                                                                              p_2)
                                                                           (let ((a_3
                                                                                  (cdr
                                                                                   p_2)))
                                                                             (let ((app_0
                                                                                    (unwrap
                                                                                     '())))
                                                                               (eq?
                                                                                app_0
                                                                                (unwrap
                                                                                 a_3))))
                                                                           #f)))
                                                                     #f))))
                                                            (values
                                                             result_1))))
                                                     (if (if (not
                                                              (let ((x_0
                                                                     (list
                                                                      v_1)))
                                                                (not
                                                                 result_1)))
                                                           #t
                                                           #f)
                                                       (for-loop_0
                                                        result_1
                                                        rest_0)
                                                       result_1)))))
                                             result_0)))))
                                      (for-loop_0 #t a_1))
                                     #f))
                               #t
                               #f)
                             #f)))
                       #f)
                   (call-with-values
                    (lambda ()
                      (let ((d_0 (cdr (unwrap e_1))))
                        (let ((p_0 (unwrap d_0)))
                          (call-with-values
                           (lambda ()
                             (let ((a_0 (car p_0)))
                               (call-with-values
                                (lambda ()
                                  (letrec*
                                   ((for-loop_0
                                     (|#%name|
                                      for-loop
                                      (lambda (ids_0 rhss_0 lst_0)
                                        (if (not (null? (unwrap lst_0)))
                                          (let ((v_0
                                                 (if (pair? (unwrap lst_0))
                                                   (wrap-car lst_0)
                                                   lst_0)))
                                            (let ((rest_0
                                                   (if (pair? (unwrap lst_0))
                                                     (wrap-cdr lst_0)
                                                     null)))
                                              (let ((v_1 v_0))
                                                (call-with-values
                                                 (lambda ()
                                                   (call-with-values
                                                    (lambda ()
                                                      (call-with-values
                                                       (lambda ()
                                                         (let ((p_1
                                                                (unwrap v_1)))
                                                           (let ((ids_1
                                                                  (let ((a_1
                                                                         (car
                                                                          p_1)))
                                                                    a_1)))
                                                             (let ((rhss_1
                                                                    (let ((d_1
                                                                           (cdr
                                                                            p_1)))
                                                                      (let ((a_1
                                                                             (car
                                                                              (unwrap
                                                                               d_1))))
                                                                        a_1))))
                                                               (let ((ids_2
                                                                      ids_1))
                                                                 (values
                                                                  ids_2
                                                                  rhss_1))))))
                                                       (lambda (ids1_0 rhss2_0)
                                                         (values
                                                          (cons ids1_0 ids_0)
                                                          (cons
                                                           rhss2_0
                                                           rhss_0)))))
                                                    (lambda (ids_1 rhss_1)
                                                      (values ids_1 rhss_1))))
                                                 (lambda (ids_1 rhss_1)
                                                   (for-loop_0
                                                    ids_1
                                                    rhss_1
                                                    rest_0))))))
                                          (values ids_0 rhss_0))))))
                                   (for-loop_0 null null a_0)))
                                (lambda (ids_0 rhss_0)
                                  (let ((app_0 (reverse$1 ids_0)))
                                    (values app_0 (reverse$1 rhss_0)))))))
                           (lambda (ids_0 rhss_0)
                             (let ((body_0 (let ((d_1 (cdr p_0))) d_1)))
                               (let ((ids_1 ids_0) (rhss_1 rhss_0))
                                 (values ids_1 rhss_1 body_0))))))))
                    (lambda (ids_0 rhss_0 body_0)
                      (xify-let_0 'let ids_0 rhss_0 body_0 env_0)))
                   (if (if (eq? 'letrec hd_0)
                         (let ((a_0 (cdr (unwrap e_1))))
                           (let ((p_0 (unwrap a_0)))
                             (if (pair? p_0)
                               (if (let ((a_1 (car p_0)))
                                     (if (wrap-list? a_1)
                                       (letrec*
                                        ((for-loop_0
                                          (|#%name|
                                           for-loop
                                           (lambda (result_0 lst_0)
                                             (if (not (null? (unwrap lst_0)))
                                               (let ((v_0
                                                      (if (pair?
                                                           (unwrap lst_0))
                                                        (wrap-car lst_0)
                                                        lst_0)))
                                                 (let ((rest_0
                                                        (if (pair?
                                                             (unwrap lst_0))
                                                          (wrap-cdr lst_0)
                                                          null)))
                                                   (let ((v_1 v_0))
                                                     (let ((result_1
                                                            (let ((result_1
                                                                   (let ((p_1
                                                                          (unwrap
                                                                           v_1)))
                                                                     (if (pair?
                                                                          p_1)
                                                                       (let ((a_2
                                                                              (cdr
                                                                               p_1)))
                                                                         (let ((p_2
                                                                                (unwrap
                                                                                 a_2)))
                                                                           (if (pair?
                                                                                p_2)
                                                                             (let ((a_3
                                                                                    (cdr
                                                                                     p_2)))
                                                                               (let ((app_0
                                                                                      (unwrap
                                                                                       '())))
                                                                                 (eq?
                                                                                  app_0
                                                                                  (unwrap
                                                                                   a_3))))
                                                                             #f)))
                                                                       #f))))
                                                              (values
                                                               result_1))))
                                                       (if (if (not
                                                                (let ((x_0
                                                                       (list
                                                                        v_1)))
                                                                  (not
                                                                   result_1)))
                                                             #t
                                                             #f)
                                                         (for-loop_0
                                                          result_1
                                                          rest_0)
                                                         result_1)))))
                                               result_0)))))
                                        (for-loop_0 #t a_1))
                                       #f))
                                 #t
                                 #f)
                               #f)))
                         #f)
                     (call-with-values
                      (lambda ()
                        (let ((d_0 (cdr (unwrap e_1))))
                          (let ((p_0 (unwrap d_0)))
                            (call-with-values
                             (lambda ()
                               (let ((a_0 (car p_0)))
                                 (call-with-values
                                  (lambda ()
                                    (letrec*
                                     ((for-loop_0
                                       (|#%name|
                                        for-loop
                                        (lambda (ids_0 rhss_0 lst_0)
                                          (if (not (null? (unwrap lst_0)))
                                            (let ((v_0
                                                   (if (pair? (unwrap lst_0))
                                                     (wrap-car lst_0)
                                                     lst_0)))
                                              (let ((rest_0
                                                     (if (pair? (unwrap lst_0))
                                                       (wrap-cdr lst_0)
                                                       null)))
                                                (let ((v_1 v_0))
                                                  (call-with-values
                                                   (lambda ()
                                                     (call-with-values
                                                      (lambda ()
                                                        (call-with-values
                                                         (lambda ()
                                                           (let ((p_1
                                                                  (unwrap
                                                                   v_1)))
                                                             (let ((ids_1
                                                                    (let ((a_1
                                                                           (car
                                                                            p_1)))
                                                                      a_1)))
                                                               (let ((rhss_1
                                                                      (let ((d_1
                                                                             (cdr
                                                                              p_1)))
                                                                        (let ((a_1
                                                                               (car
                                                                                (unwrap
                                                                                 d_1))))
                                                                          a_1))))
                                                                 (let ((ids_2
                                                                        ids_1))
                                                                   (values
                                                                    ids_2
                                                                    rhss_1))))))
                                                         (lambda (ids3_0
                                                                  rhss4_0)
                                                           (values
                                                            (cons ids3_0 ids_0)
                                                            (cons
                                                             rhss4_0
                                                             rhss_0)))))
                                                      (lambda (ids_1 rhss_1)
                                                        (values
                                                         ids_1
                                                         rhss_1))))
                                                   (lambda (ids_1 rhss_1)
                                                     (for-loop_0
                                                      ids_1
                                                      rhss_1
                                                      rest_0))))))
                                            (values ids_0 rhss_0))))))
                                     (for-loop_0 null null a_0)))
                                  (lambda (ids_0 rhss_0)
                                    (let ((app_0 (reverse$1 ids_0)))
                                      (values app_0 (reverse$1 rhss_0)))))))
                             (lambda (ids_0 rhss_0)
                               (let ((body_0 (let ((d_1 (cdr p_0))) d_1)))
                                 (let ((ids_1 ids_0) (rhss_1 rhss_0))
                                   (values ids_1 rhss_1 body_0))))))))
                      (lambda (ids_0 rhss_0 body_0)
                        (xify-let_0 'letrec ids_0 rhss_0 body_0 env_0)))
                     (if (if (eq? 'letrec* hd_0)
                           (let ((a_0 (cdr (unwrap e_1))))
                             (let ((p_0 (unwrap a_0)))
                               (if (pair? p_0)
                                 (if (let ((a_1 (car p_0)))
                                       (if (wrap-list? a_1)
                                         (letrec*
                                          ((for-loop_0
                                            (|#%name|
                                             for-loop
                                             (lambda (result_0 lst_0)
                                               (if (not (null? (unwrap lst_0)))
                                                 (let ((v_0
                                                        (if (pair?
                                                             (unwrap lst_0))
                                                          (wrap-car lst_0)
                                                          lst_0)))
                                                   (let ((rest_0
                                                          (if (pair?
                                                               (unwrap lst_0))
                                                            (wrap-cdr lst_0)
                                                            null)))
                                                     (let ((v_1 v_0))
                                                       (let ((result_1
                                                              (let ((result_1
                                                                     (let ((p_1
                                                                            (unwrap
                                                                             v_1)))
                                                                       (if (pair?
                                                                            p_1)
                                                                         (let ((a_2
                                                                                (cdr
                                                                                 p_1)))
                                                                           (let ((p_2
                                                                                  (unwrap
                                                                                   a_2)))
                                                                             (if (pair?
                                                                                  p_2)
                                                                               (let ((a_3
                                                                                      (cdr
                                                                                       p_2)))
                                                                                 (let ((app_0
                                                                                        (unwrap
                                                                                         '())))
                                                                                   (eq?
                                                                                    app_0
                                                                                    (unwrap
                                                                                     a_3))))
                                                                               #f)))
                                                                         #f))))
                                                                (values
                                                                 result_1))))
                                                         (if (if (not
                                                                  (let ((x_0
                                                                         (list
                                                                          v_1)))
                                                                    (not
                                                                     result_1)))
                                                               #t
                                                               #f)
                                                           (for-loop_0
                                                            result_1
                                                            rest_0)
                                                           result_1)))))
                                                 result_0)))))
                                          (for-loop_0 #t a_1))
                                         #f))
                                   #t
                                   #f)
                                 #f)))
                           #f)
                       (call-with-values
                        (lambda ()
                          (let ((d_0 (cdr (unwrap e_1))))
                            (let ((p_0 (unwrap d_0)))
                              (call-with-values
                               (lambda ()
                                 (let ((a_0 (car p_0)))
                                   (call-with-values
                                    (lambda ()
                                      (letrec*
                                       ((for-loop_0
                                         (|#%name|
                                          for-loop
                                          (lambda (ids_0 rhss_0 lst_0)
                                            (if (not (null? (unwrap lst_0)))
                                              (let ((v_0
                                                     (if (pair? (unwrap lst_0))
                                                       (wrap-car lst_0)
                                                       lst_0)))
                                                (let ((rest_0
                                                       (if (pair?
                                                            (unwrap lst_0))
                                                         (wrap-cdr lst_0)
                                                         null)))
                                                  (let ((v_1 v_0))
                                                    (call-with-values
                                                     (lambda ()
                                                       (call-with-values
                                                        (lambda ()
                                                          (call-with-values
                                                           (lambda ()
                                                             (let ((p_1
                                                                    (unwrap
                                                                     v_1)))
                                                               (let ((ids_1
                                                                      (let ((a_1
                                                                             (car
                                                                              p_1)))
                                                                        a_1)))
                                                                 (let ((rhss_1
                                                                        (let ((d_1
                                                                               (cdr
                                                                                p_1)))
                                                                          (let ((a_1
                                                                                 (car
                                                                                  (unwrap
                                                                                   d_1))))
                                                                            a_1))))
                                                                   (let ((ids_2
                                                                          ids_1))
                                                                     (values
                                                                      ids_2
                                                                      rhss_1))))))
                                                           (lambda (ids5_0
                                                                    rhss6_0)
                                                             (values
                                                              (cons
                                                               ids5_0
                                                               ids_0)
                                                              (cons
                                                               rhss6_0
                                                               rhss_0)))))
                                                        (lambda (ids_1 rhss_1)
                                                          (values
                                                           ids_1
                                                           rhss_1))))
                                                     (lambda (ids_1 rhss_1)
                                                       (for-loop_0
                                                        ids_1
                                                        rhss_1
                                                        rest_0))))))
                                              (values ids_0 rhss_0))))))
                                       (for-loop_0 null null a_0)))
                                    (lambda (ids_0 rhss_0)
                                      (let ((app_0 (reverse$1 ids_0)))
                                        (values app_0 (reverse$1 rhss_0)))))))
                               (lambda (ids_0 rhss_0)
                                 (let ((body_0 (let ((d_1 (cdr p_0))) d_1)))
                                   (let ((ids_1 ids_0) (rhss_1 rhss_0))
                                     (values ids_1 rhss_1 body_0))))))))
                        (lambda (ids_0 rhss_0 body_0)
                          (xify-let_0 'letrec* ids_0 rhss_0 body_0 env_0)))
                       (if (if (eq? 'quote hd_0)
                             (let ((a_0 (cdr (unwrap e_1))))
                               (let ((p_0 (unwrap a_0)))
                                 (if (pair? p_0)
                                   (let ((a_1 (cdr p_0)))
                                     (let ((app_0 (unwrap '())))
                                       (eq? app_0 (unwrap a_1))))
                                   #f)))
                             #f)
                         (let ((v_0
                                (let ((d_0 (cdr (unwrap e_1))))
                                  (let ((a_0 (car (unwrap d_0)))) a_0))))
                           e_1)
                         (if (if (eq? '|#%foreign-inline| hd_0) #t #f)
                           e_1
                           (if (if (eq? 'begin hd_0) #t #f)
                             (let ((body_0
                                    (let ((d_0 (cdr (unwrap e_1)))) d_0)))
                               (list* 'begin (xify-body_0 body_0 env_0)))
                             (if (if (eq? 'if hd_0)
                                   (let ((a_0 (cdr (unwrap e_1))))
                                     (let ((p_0 (unwrap a_0)))
                                       (if (pair? p_0)
                                         (let ((a_1 (cdr p_0)))
                                           (let ((p_1 (unwrap a_1)))
                                             (if (pair? p_1)
                                               (let ((a_2 (cdr p_1)))
                                                 (let ((p_2 (unwrap a_2)))
                                                   (if (pair? p_2)
                                                     (let ((a_3 (cdr p_2)))
                                                       (let ((app_0
                                                              (unwrap '())))
                                                         (eq?
                                                          app_0
                                                          (unwrap a_3))))
                                                     #f)))
                                               #f)))
                                         #f)))
                                   #f)
                               (call-with-values
                                (lambda ()
                                  (let ((d_0 (cdr (unwrap e_1))))
                                    (let ((p_0 (unwrap d_0)))
                                      (let ((tst_0
                                             (let ((a_0 (car p_0))) a_0)))
                                        (call-with-values
                                         (lambda ()
                                           (let ((d_1 (cdr p_0)))
                                             (let ((p_1 (unwrap d_1)))
                                               (let ((thn_0
                                                      (let ((a_0 (car p_1)))
                                                        a_0)))
                                                 (let ((els_0
                                                        (let ((d_2 (cdr p_1)))
                                                          (let ((a_0
                                                                 (car
                                                                  (unwrap
                                                                   d_2))))
                                                            a_0))))
                                                   (let ((thn_1 thn_0))
                                                     (values thn_1 els_0)))))))
                                         (lambda (thn_0 els_0)
                                           (let ((tst_1 tst_0))
                                             (values tst_1 thn_0 els_0))))))))
                                (lambda (tst_0 thn_0 els_0)
                                  (let ((app_0 (xify_0 tst_0 env_0)))
                                    (let ((app_1 (xify_0 thn_0 env_0)))
                                      (list
                                       'if
                                       app_0
                                       app_1
                                       (xify_0 els_0 env_0))))))
                               (if (if (eq? 'with-continuation-mark* hd_0)
                                     (let ((a_0 (cdr (unwrap e_1))))
                                       (let ((p_0 (unwrap a_0)))
                                         (if (pair? p_0)
                                           (let ((a_1 (cdr p_0)))
                                             (let ((p_1 (unwrap a_1)))
                                               (if (pair? p_1)
                                                 (let ((a_2 (cdr p_1)))
                                                   (let ((p_2 (unwrap a_2)))
                                                     (if (pair? p_2)
                                                       (let ((a_3 (cdr p_2)))
                                                         (let ((p_3
                                                                (unwrap a_3)))
                                                           (if (pair? p_3)
                                                             (let ((a_4
                                                                    (cdr p_3)))
                                                               (let ((app_0
                                                                      (unwrap
                                                                       '())))
                                                                 (eq?
                                                                  app_0
                                                                  (unwrap
                                                                   a_4))))
                                                             #f)))
                                                       #f)))
                                                 #f)))
                                           #f)))
                                     #f)
                                 (call-with-values
                                  (lambda ()
                                    (let ((d_0 (cdr (unwrap e_1))))
                                      (let ((p_0 (unwrap d_0)))
                                        (let ((mode_0
                                               (let ((a_0 (car p_0))) a_0)))
                                          (call-with-values
                                           (lambda ()
                                             (let ((d_1 (cdr p_0)))
                                               (let ((p_1 (unwrap d_1)))
                                                 (let ((key_0
                                                        (let ((a_0 (car p_1)))
                                                          a_0)))
                                                   (call-with-values
                                                    (lambda ()
                                                      (let ((d_2 (cdr p_1)))
                                                        (let ((p_2
                                                               (unwrap d_2)))
                                                          (let ((val_0
                                                                 (let ((a_0
                                                                        (car
                                                                         p_2)))
                                                                   a_0)))
                                                            (let ((body_0
                                                                   (let ((d_3
                                                                          (cdr
                                                                           p_2)))
                                                                     (let ((a_0
                                                                            (car
                                                                             (unwrap
                                                                              d_3))))
                                                                       a_0))))
                                                              (let ((val_1
                                                                     val_0))
                                                                (values
                                                                 val_1
                                                                 body_0)))))))
                                                    (lambda (val_0 body_0)
                                                      (let ((key_1 key_0))
                                                        (values
                                                         key_1
                                                         val_0
                                                         body_0))))))))
                                           (lambda (key_0 val_0 body_0)
                                             (let ((mode_1 mode_0))
                                               (values
                                                mode_1
                                                key_0
                                                val_0
                                                body_0))))))))
                                  (lambda (mode_0 key_0 val_0 body_0)
                                    (let ((app_0 (xify_0 key_0 env_0)))
                                      (let ((app_1 (xify_0 val_0 env_0)))
                                        (list
                                         'with-continuation-mark*
                                         mode_0
                                         app_0
                                         app_1
                                         (xify_0 body_0 env_0))))))
                                 (if (if (eq? 'set! hd_0)
                                       (let ((a_0 (cdr (unwrap e_1))))
                                         (let ((p_0 (unwrap a_0)))
                                           (if (pair? p_0)
                                             (let ((a_1 (cdr p_0)))
                                               (let ((p_1 (unwrap a_1)))
                                                 (if (pair? p_1)
                                                   (let ((a_2 (cdr p_1)))
                                                     (let ((app_0
                                                            (unwrap '())))
                                                       (eq?
                                                        app_0
                                                        (unwrap a_2))))
                                                   #f)))
                                             #f)))
                                       #f)
                                   (call-with-values
                                    (lambda ()
                                      (let ((d_0 (cdr (unwrap e_1))))
                                        (let ((p_0 (unwrap d_0)))
                                          (let ((id_0
                                                 (let ((a_0 (car p_0))) a_0)))
                                            (let ((rhs_0
                                                   (let ((d_1 (cdr p_0)))
                                                     (let ((a_0
                                                            (car
                                                             (unwrap d_1))))
                                                       a_0))))
                                              (let ((id_1 id_0))
                                                (values id_1 rhs_0)))))))
                                    (lambda (id_0 rhs_0)
                                      (let ((app_0 (xify_0 id_0 env_0)))
                                        (list
                                         'set!
                                         app_0
                                         (xify_0 rhs_0 env_0)))))
                                   (if (let ((p_0 (unwrap e_1)))
                                         (if (pair? p_0) #t #f))
                                     (xify-body_0 e_1 env_0)
                                     (let ((u-v_0 (unwrap e_1)))
                                       (if (symbol? u-v_0)
                                         (let ((x_0 (hash-ref env_0 u-v_0 #f)))
                                           (if x_0 (reannotate e_1 x_0) e_1))
                                         e_1)))))))))))))))))))
      (xify-body_0
       (|#%name|
        xify-body
        (lambda (es_0 env_0)
          (reverse$1
           (letrec*
            ((for-loop_0
              (|#%name|
               for-loop
               (lambda (fold-var_0 lst_0)
                 (if (not (null? (unwrap lst_0)))
                   (let ((e_1
                          (if (pair? (unwrap lst_0)) (wrap-car lst_0) lst_0)))
                     (let ((rest_0
                            (if (pair? (unwrap lst_0)) (wrap-cdr lst_0) null)))
                       (let ((e_2 e_1))
                         (let ((fold-var_1
                                (let ((fold-var_1
                                       (cons (xify_0 e_2 env_0) fold-var_0)))
                                  (values fold-var_1))))
                           (for-loop_0 fold-var_1 rest_0)))))
                   fold-var_0)))))
            (for-loop_0 null es_0))))))
      (xify-let_0
       (|#%name|
        xify-let
        (lambda (form_0 ids_0 rhss_0 body_0 env_0)
          (call-with-values
           (lambda () (xify-ids_0 ids_0 env_0))
           (lambda (new-ids_0 new-env_0)
             (let ((app_0
                    (reverse$1
                     (letrec*
                      ((for-loop_0
                        (|#%name|
                         for-loop
                         (lambda (fold-var_0 lst_0 lst_1)
                           (if (if (pair? lst_0) (pair? lst_1) #f)
                             (let ((new-id_0 (unsafe-car lst_0)))
                               (let ((rest_0 (unsafe-cdr lst_0)))
                                 (let ((rhs_0 (unsafe-car lst_1)))
                                   (let ((rest_1 (unsafe-cdr lst_1)))
                                     (let ((fold-var_1
                                            (let ((fold-var_1
                                                   (cons
                                                    (list
                                                     new-id_0
                                                     (xify_0
                                                      rhs_0
                                                      (if (eq? form_0 'let)
                                                        env_0
                                                        new-env_0)))
                                                    fold-var_0)))
                                              (values fold-var_1))))
                                       (for-loop_0
                                        fold-var_1
                                        rest_0
                                        rest_1))))))
                             fold-var_0)))))
                      (for-loop_0 null new-ids_0 rhss_0)))))
               (list* form_0 app_0 (xify-body_0 body_0 new-env_0))))))))
      (xify-ids_0
       (|#%name|
        xify-ids
        (lambda (ids_0 env_0)
          (if (pair? ids_0)
            (let ((u-id_0 (unwrap (car ids_0))))
              (let ((x_0
                     (let ((or-part_0 (hash-ref env_0 u-id_0 #f)))
                       (if or-part_0
                         or-part_0
                         (string->symbol
                          (string-append
                           "x"
                           (number->string (hash-count env_0))))))))
                (call-with-values
                 (lambda ()
                   (let ((app_0 (cdr ids_0)))
                     (xify-ids_0 app_0 (hash-set env_0 u-id_0 x_0))))
                 (lambda (rest-xs_0 rest-env_0)
                   (values (cons x_0 rest-xs_0) rest-env_0)))))
            (if (null? ids_0)
              (values '() env_0)
              (call-with-values
               (lambda () (xify-ids_0 (list ids_0) env_0))
               (lambda (xs_0 new-env_0) (values (car xs_0) new-env_0)))))))))
     (xify_0 e_0 hash2610))))
(define kernel (primitive-table '|#%kernel|))
(define 1/syntax? (hash-ref kernel 'syntax?))
(define 1/syntax-e (hash-ref kernel 'syntax-e))
(define 1/datum->syntax (hash-ref kernel 'datum->syntax))
(define 1/syntax->datum (hash-ref kernel 'syntax->datum))
(define 1/syntax-property (hash-ref kernel 'syntax-property))
(define 1/syntax-property-symbol-keys
  (hash-ref kernel 'syntax-property-symbol-keys))
(define 1/syntax-source (hash-ref kernel 'syntax-source))
(define 1/syntax-line (hash-ref kernel 'syntax-line))
(define 1/syntax-column (hash-ref kernel 'syntax-column))
(define 1/syntax-position (hash-ref kernel 'syntax-position))
(define 1/syntax-span (hash-ref kernel 'syntax-span))
(define correlated? (lambda (e_0) (|#%app| 1/syntax? e_0)))
(define datum->correlated
  (let ((datum->correlated_0
         (|#%name|
          datum->correlated
          (lambda (d3_0 srcloc1_0 props2_0)
            (|#%app| 1/datum->syntax #f d3_0 srcloc1_0 props2_0)))))
    (case-lambda
     ((d_0) (datum->correlated_0 d_0 #f #f))
     ((d_0 srcloc_0 props2_0) (datum->correlated_0 d_0 srcloc_0 props2_0))
     ((d_0 srcloc1_0) (datum->correlated_0 d_0 srcloc1_0 #f)))))
(define correlated-e (lambda (e_0) (|#%app| 1/syntax-e e_0)))
(define correlated-property
  (case-lambda
   ((e_0 k_0) (|#%app| 1/syntax-property e_0 k_0))
   ((e_0 k_0 v_0) (|#%app| 1/syntax-property e_0 k_0 v_0))))
(define correlated-property-symbol-keys
  (lambda (e_0) (|#%app| 1/syntax-property-symbol-keys e_0)))
(define correlated-source (lambda (s_0) (|#%app| 1/syntax-source s_0)))
(define correlated-line (lambda (s_0) (|#%app| 1/syntax-line s_0)))
(define correlated-column (lambda (s_0) (|#%app| 1/syntax-column s_0)))
(define correlated-position (lambda (s_0) (|#%app| 1/syntax-position s_0)))
(define correlated-span (lambda (s_0) (|#%app| 1/syntax-span s_0)))
(define check-flvector
  (lambda (v_0)
    (if (flvector? v_0)
      (void)
      (1/raise-argument-error
       'in-flvector*
       (string-append "flvector" "?")
       v_0))))
(define not-an-fX.1
  (|#%name|
   not-an-fX
   (lambda (who_0 v_0) (raise-argument-error who_0 "flonum?" v_0))))
(define make-path->relative-path-elements.1
  (|#%name|
   make-path->relative-path-elements
   (lambda (who1_0 wr-dir3_0)
     (let ((wr-dir_0
            (if (eq? wr-dir3_0 unsafe-undefined)
              (current-write-relative-directory)
              wr-dir3_0)))
       (begin
         (if who1_0
           (if (let ((or-part_0 (not wr-dir_0)))
                 (if or-part_0
                   or-part_0
                   (let ((or-part_1
                          (if (path-string? wr-dir_0)
                            (complete-path? wr-dir_0)
                            #f)))
                     (if or-part_1
                       or-part_1
                       (if (pair? wr-dir_0)
                         (if (path-string? (car wr-dir_0))
                           (if (complete-path? (car wr-dir_0))
                             (if (path-string? (cdr wr-dir_0))
                               (complete-path? (cdr wr-dir_0))
                               #f)
                             #f)
                           #f)
                         #f)))))
             (void)
             (raise-argument-error
              who1_0
              (string-append
               "(or/c (and/c path-string? complete-path?)\n"
               "      (cons/c (and/c path-string? complete-path?)\n"
               "              (and/c path-string? complete-path?))\n"
               "      #f)")
              wr-dir_0))
           (void))
         (if (not wr-dir_0)
           (lambda (v_0) #f)
           (let ((exploded-base-dir_0 'not-ready))
             (let ((exploded-wrt-rel-dir_0 'not-ready))
               (lambda (v_0)
                 (begin
                   (if (if (eq? exploded-base-dir_0 'not-ready) (path? v_0) #f)
                     (let ((wrt-dir_0
                            (if wr-dir_0
                              (if (pair? wr-dir_0) (car wr-dir_0) wr-dir_0)
                              #f)))
                       (let ((exploded-wrt-dir_0 (explode-path wrt-dir_0)))
                         (let ((base-dir_0
                                (if wr-dir_0
                                  (if (pair? wr-dir_0) (cdr wr-dir_0) wr-dir_0)
                                  #f)))
                           (begin
                             (set! exploded-base-dir_0
                               (if base-dir_0 (explode-path base-dir_0) #f))
                             (set! exploded-wrt-rel-dir_0
                               (if (eq? base-dir_0 wrt-dir_0)
                                 '()
                                 (let ((exploded-wrt-dir_1
                                        (explode-path wrt-dir_0)))
                                   (let ((base-len_0
                                          (length exploded-base-dir_0)))
                                     (begin
                                       (if who1_0
                                         (if (if (>=
                                                  (length exploded-wrt-dir_1)
                                                  base-len_0)
                                               (let ((lst_0
                                                      exploded-base-dir_0))
                                                 (letrec*
                                                  ((for-loop_0
                                                    (|#%name|
                                                     for-loop
                                                     (lambda (result_0
                                                              lst_1
                                                              lst_2)
                                                       (if (if (pair? lst_1)
                                                             (pair? lst_2)
                                                             #f)
                                                         (let ((a_0
                                                                (unsafe-car
                                                                 lst_1)))
                                                           (let ((rest_0
                                                                  (unsafe-cdr
                                                                   lst_1)))
                                                             (let ((b_0
                                                                    (unsafe-car
                                                                     lst_2)))
                                                               (let ((rest_1
                                                                      (unsafe-cdr
                                                                       lst_2)))
                                                                 (let ((result_1
                                                                        (let ((result_1
                                                                               (equal?
                                                                                a_0
                                                                                b_0)))
                                                                          (values
                                                                           result_1))))
                                                                   (if (if (not
                                                                            (let ((x_0
                                                                                   (list
                                                                                    a_0)))
                                                                              (not
                                                                               result_1)))
                                                                         (if (not
                                                                              (let ((x_0
                                                                                     (list
                                                                                      b_0)))
                                                                                (not
                                                                                 result_1)))
                                                                           #t
                                                                           #f)
                                                                         #f)
                                                                     (for-loop_0
                                                                      result_1
                                                                      rest_0
                                                                      rest_1)
                                                                     result_1))))))
                                                         result_0)))))
                                                  (for-loop_0
                                                   #t
                                                   exploded-wrt-dir_1
                                                   lst_0)))
                                               #f)
                                           (void)
                                           (raise-arguments-error
                                            who1_0
                                            "relative-directory pair's first path does not extend second path"
                                            "first path"
                                            wrt-dir_0
                                            "second path"
                                            base-dir_0))
                                         (void))
                                       (list-tail
                                        exploded-wrt-dir_1
                                        base-len_0))))))))))
                     (void))
                   (if exploded-base-dir_0
                     (if (path? v_0)
                       (let ((exploded_0 (explode-path v_0)))
                         (if (let ((lst_0 exploded-base-dir_0))
                               (letrec*
                                ((for-loop_0
                                  (|#%name|
                                   for-loop
                                   (lambda (result_0 lst_1 lst_2)
                                     (if (if (pair? lst_1) (pair? lst_2) #f)
                                       (let ((base-p_0 (unsafe-car lst_1)))
                                         (let ((rest_0 (unsafe-cdr lst_1)))
                                           (let ((p_0 (unsafe-car lst_2)))
                                             (let ((rest_1 (unsafe-cdr lst_2)))
                                               (let ((result_1
                                                      (let ((result_1
                                                             (equal?
                                                              base-p_0
                                                              p_0)))
                                                        (values result_1))))
                                                 (if (if (not
                                                          (let ((x_0
                                                                 (list
                                                                  base-p_0)))
                                                            (not result_1)))
                                                       (if (not
                                                            (let ((x_0
                                                                   (list p_0)))
                                                              (not result_1)))
                                                         #t
                                                         #f)
                                                       #f)
                                                   (for-loop_0
                                                    result_1
                                                    rest_0
                                                    rest_1)
                                                   result_1))))))
                                       result_0)))))
                                (for-loop_0 #t lst_0 exploded_0)))
                           (if (let ((app_0 (length exploded_0)))
                                 (>= app_0 (length exploded-base-dir_0)))
                             (letrec*
                              ((loop_0
                                (|#%name|
                                 loop
                                 (lambda (exploded-wrt-rel-dir_1 rel_0)
                                   (if (null? exploded-wrt-rel-dir_1)
                                     (reverse$1
                                      (letrec*
                                       ((for-loop_0
                                         (|#%name|
                                          for-loop
                                          (lambda (fold-var_0 lst_0)
                                            (if (pair? lst_0)
                                              (let ((p_0 (unsafe-car lst_0)))
                                                (let ((rest_0
                                                       (unsafe-cdr lst_0)))
                                                  (let ((fold-var_1
                                                         (let ((fold-var_1
                                                                (cons
                                                                 (if (path?
                                                                      p_0)
                                                                   (path-element->bytes
                                                                    p_0)
                                                                   p_0)
                                                                 fold-var_0)))
                                                           (values
                                                            fold-var_1))))
                                                    (for-loop_0
                                                     fold-var_1
                                                     rest_0))))
                                              fold-var_0)))))
                                       (for-loop_0 null rel_0)))
                                     (if (if (pair? rel_0)
                                           (let ((app_0 (car rel_0)))
                                             (equal?
                                              app_0
                                              (car exploded-wrt-rel-dir_1)))
                                           #f)
                                       (let ((app_0
                                              (cdr exploded-wrt-rel-dir_1)))
                                         (loop_0 app_0 (cdr rel_0)))
                                       (let ((app_0
                                              (reverse$1
                                               (letrec*
                                                ((for-loop_0
                                                  (|#%name|
                                                   for-loop
                                                   (lambda (fold-var_0 lst_0)
                                                     (if (pair? lst_0)
                                                       (let ((p_0
                                                              (unsafe-car
                                                               lst_0)))
                                                         (let ((rest_0
                                                                (unsafe-cdr
                                                                 lst_0)))
                                                           (let ((fold-var_1
                                                                  (cons
                                                                   'up
                                                                   fold-var_0)))
                                                             (let ((fold-var_2
                                                                    (values
                                                                     fold-var_1)))
                                                               (for-loop_0
                                                                fold-var_2
                                                                rest_0)))))
                                                       fold-var_0)))))
                                                (for-loop_0
                                                 null
                                                 exploded-wrt-rel-dir_1)))))
                                         (append
                                          app_0
                                          (reverse$1
                                           (letrec*
                                            ((for-loop_0
                                              (|#%name|
                                               for-loop
                                               (lambda (fold-var_0 lst_0)
                                                 (if (pair? lst_0)
                                                   (let ((p_0
                                                          (unsafe-car lst_0)))
                                                     (let ((rest_0
                                                            (unsafe-cdr
                                                             lst_0)))
                                                       (let ((fold-var_1
                                                              (let ((fold-var_1
                                                                     (cons
                                                                      (if (path?
                                                                           p_0)
                                                                        (path-element->bytes
                                                                         p_0)
                                                                        p_0)
                                                                      fold-var_0)))
                                                                (values
                                                                 fold-var_1))))
                                                         (for-loop_0
                                                          fold-var_1
                                                          rest_0))))
                                                   fold-var_0)))))
                                            (for-loop_0 null rel_0)))))))))))
                              (let ((app_0 exploded-wrt-rel-dir_0))
                                (loop_0
                                 app_0
                                 (list-tail
                                  exploded_0
                                  (length exploded-base-dir_0)))))
                             #f)
                           #f))
                       #f)
                     #f)))))))))))
(define 1/write-byte
  (|#%name| write-byte (lambda (byte_0 out_0) (write-byte byte_0 out_0))))
(define 1/write-bytes
  (let ((write-bytes_0
         (|#%name|
          write-bytes
          (lambda (bstr3_0 out4_0 start-pos1_0 end-pos2_0)
            (let ((end-pos_0
                   (if (eq? end-pos2_0 unsafe-undefined)
                     (unsafe-bytes-length bstr3_0)
                     end-pos2_0)))
              (write-bytes bstr3_0 out4_0 start-pos1_0 end-pos_0))))))
    (|#%name|
     write-bytes
     (case-lambda
      ((bstr_0 out_0) (write-bytes_0 bstr_0 out_0 0 unsafe-undefined))
      ((bstr_0 out_0 start-pos_0 end-pos2_0)
       (write-bytes_0 bstr_0 out_0 start-pos_0 end-pos2_0))
      ((bstr_0 out_0 start-pos1_0)
       (write-bytes_0 bstr_0 out_0 start-pos1_0 unsafe-undefined))))))
(define fasl-graph-def-type 1)
(define fasl-graph-ref-type 2)
(define fasl-false-type 3)
(define fasl-true-type 4)
(define fasl-null-type 5)
(define fasl-void-type 6)
(define fasl-eof-type 7)
(define fasl-integer-type 8)
(define fasl-flonum-type 9)
(define fasl-single-flonum-type 10)
(define fasl-rational-type 11)
(define fasl-complex-type 12)
(define fasl-char-type 13)
(define fasl-symbol-type 14)
(define fasl-unreadable-symbol-type 15)
(define fasl-uninterned-symbol-type 16)
(define fasl-keyword-type 17)
(define fasl-string-type 18)
(define fasl-immutable-string-type 19)
(define fasl-bytes-type 20)
(define fasl-immutable-bytes-type 21)
(define fasl-path-type 22)
(define fasl-relative-path-type 23)
(define fasl-pregexp-type 24)
(define fasl-regexp-type 25)
(define fasl-byte-pregexp-type 26)
(define fasl-byte-regexp-type 27)
(define fasl-list-type 28)
(define fasl-list*-type 29)
(define fasl-pair-type 30)
(define fasl-vector-type 31)
(define fasl-immutable-vector-type 32)
(define fasl-box-type 33)
(define fasl-immutable-box-type 34)
(define fasl-prefab-type 35)
(define fasl-hash-type 36)
(define fasl-immutable-hash-type 37)
(define fasl-srcloc-type 38)
(define fasl-extflonum-type 39)
(define fasl-correlated-type 40)
(define fasl-undefined-type 41)
(define fasl-prefab-type-type 42)
(define fasl-fxvector-type 43)
(define fasl-flvector-type 44)
(define fasl-small-integer-start 100)
(define fasl-lowest-small-integer -10)
(define fasl-highest-small-integer 144)
(define fasl-prefix #vu8(114 97 99 107 101 116 47 102 97 115 108 58))
(define fasl-prefix-length (unsafe-bytes-length fasl-prefix))
(define fasl-hash-eq-variant 0)
(define fasl-hash-equal-variant 1)
(define fasl-hash-eqv-variant 2)
(define fasl-hash-equal-always-variant 3)
(define s-exp->fasl.1
  (|#%name|
   s-exp->fasl
   (lambda (external-lift?7_0
            handle-fail6_0
            keep-mutable?5_0
            skip-prefix?8_0
            v14_0
            orig-o13_0)
     (begin
       (if orig-o13_0
         (if (output-port? orig-o13_0)
           (void)
           (raise-argument-error
            's-exp->fasl
            "(or/c output-port? #f)"
            orig-o13_0))
         (void))
       (begin
         (if handle-fail6_0
           (if (if (procedure? handle-fail6_0)
                 (procedure-arity-includes? handle-fail6_0 1)
                 #f)
             (void)
             (raise-argument-error
              's-exp->fasl
              "(or/c (procedure-arity-includes/c 1) #f)"
              handle-fail6_0))
           (void))
         (begin
           (if external-lift?7_0
             (if (if (procedure? external-lift?7_0)
                   (procedure-arity-includes? external-lift?7_0 1)
                   #f)
               (void)
               (raise-argument-error
                's-exp->fasl
                "(or/c (procedure-arity-includes/c 1) #f)"
                external-lift?7_0))
             (void))
           (let ((o_0 (if orig-o13_0 orig-o13_0 (open-output-bytes))))
             (let ((shared_0 (make-hasheq)))
               (let ((external-lift_0 (if external-lift?7_0 (make-hasheq) #f)))
                 (let ((shared-counter_0 0))
                   (begin
                     (letrec*
                      ((loop_0
                        (|#%name|
                         loop
                         (lambda (v_0)
                           (if (if external-lift_0
                                 (hash-ref external-lift_0 v_0 #f)
                                 #f)
                             (void)
                             (if (if external-lift?7_0
                                   (|#%app| external-lift?7_0 v_0)
                                   #f)
                               (begin
                                 (hash-set! external-lift_0 v_0 #t)
                                 (set! shared-counter_0
                                   (add1 shared-counter_0))
                                 (hash-set! shared_0 v_0 (- shared-counter_0)))
                               (if (let ((or-part_0 (symbol? v_0)))
                                     (if or-part_0
                                       or-part_0
                                       (let ((or-part_1 (keyword? v_0)))
                                         (if or-part_1
                                           or-part_1
                                           (let ((or-part_2 (string? v_0)))
                                             (if or-part_2
                                               or-part_2
                                               (let ((or-part_3 (bytes? v_0)))
                                                 (if or-part_3
                                                   or-part_3
                                                   (let ((or-part_4
                                                          (fxvector? v_0)))
                                                     (if or-part_4
                                                       or-part_4
                                                       (let ((or-part_5
                                                              (flvector? v_0)))
                                                         (if or-part_5
                                                           or-part_5
                                                           (path?
                                                            v_0)))))))))))))
                                 (do-hash-update
                                  'hash-update!
                                  #t
                                  hash-set!
                                  shared_0
                                  v_0
                                  add1
                                  0)
                                 (if (pair? v_0)
                                   (begin
                                     (loop_0 (car v_0))
                                     (loop_0 (cdr v_0)))
                                   (if (vector? v_0)
                                     (begin
                                       (call-with-values
                                        (lambda ()
                                          (values
                                           v_0
                                           (unsafe-vector-length v_0)))
                                        (lambda (vec_0 len_0)
                                          (letrec*
                                           ((for-loop_0
                                             (|#%name|
                                              for-loop
                                              (lambda (pos_0)
                                                (if (unsafe-fx< pos_0 len_0)
                                                  (let ((e_0
                                                         (unsafe-vector-ref
                                                          vec_0
                                                          pos_0)))
                                                    (begin
                                                      (loop_0 e_0)
                                                      (for-loop_0
                                                       (unsafe-fx+ 1 pos_0))))
                                                  (values))))))
                                           (for-loop_0 0))))
                                       (void))
                                     (if (hash? v_0)
                                       (hash-for-each
                                        v_0
                                        (lambda (k_0 v_1)
                                          (begin (loop_0 k_0) (loop_0 v_1)))
                                        #t)
                                       (if (box? v_0)
                                         (loop_0 (unbox v_0))
                                         (let ((cond-val_0
                                                (prefab-struct-key v_0)))
                                           (if cond-val_0
                                             (begin
                                               (loop_0 cond-val_0)
                                               (call-with-values
                                                (lambda ()
                                                  (unsafe-normalise-inputs
                                                   unsafe-vector-length
                                                   (struct->vector v_0)
                                                   1
                                                   #f
                                                   1))
                                                (lambda (v*_0
                                                         start*_0
                                                         stop*_0
                                                         step*_0)
                                                  (letrec*
                                                   ((for-loop_0
                                                     (|#%name|
                                                      for-loop
                                                      (lambda (idx_0)
                                                        (if (unsafe-fx<
                                                             idx_0
                                                             stop*_0)
                                                          (let ((e_0
                                                                 (unsafe-vector-ref
                                                                  v*_0
                                                                  idx_0)))
                                                            (begin
                                                              (loop_0 e_0)
                                                              (for-loop_0
                                                               (unsafe-fx+
                                                                idx_0
                                                                1))))
                                                          (values))))))
                                                   (for-loop_0 start*_0))))
                                               (void))
                                             (if (srcloc? v_0)
                                               (loop_0 (srcloc-source v_0))
                                               (if (|#%app| 1/syntax? v_0)
                                                 (begin
                                                   (loop_0
                                                    (|#%app| 1/syntax-e v_0))
                                                   (loop_0
                                                    (|#%app|
                                                     1/syntax-source
                                                     v_0))
                                                   (let ((lst_0
                                                          (|#%app|
                                                           1/syntax-property-symbol-keys
                                                           v_0)))
                                                     (letrec*
                                                      ((for-loop_0
                                                        (|#%name|
                                                         for-loop
                                                         (lambda (lst_1)
                                                           (if (pair? lst_1)
                                                             (let ((k_0
                                                                    (unsafe-car
                                                                     lst_1)))
                                                               (let ((rest_0
                                                                      (unsafe-cdr
                                                                       lst_1)))
                                                                 (begin
                                                                   (begin
                                                                     (loop_0
                                                                      k_0)
                                                                     (loop_0
                                                                      (|#%app|
                                                                       1/syntax-property
                                                                       v_0
                                                                       k_0)))
                                                                   (for-loop_0
                                                                    rest_0))))
                                                             (values))))))
                                                      (for-loop_0 lst_0)))
                                                   (void))
                                                 (let ((cond-val_1
                                                        (if (struct-type? v_0)
                                                          (prefab-struct-type-key+field-count
                                                           v_0)
                                                          #f)))
                                                   (if cond-val_1
                                                     (begin
                                                       (loop_0
                                                        (car cond-val_1))
                                                       (loop_0
                                                        (cdr cond-val_1)))
                                                     (void))))))))))))))))))
                      (loop_0 v14_0))
                     (let ((treat-immutable?_0
                            (|#%name|
                             treat-immutable?
                             (lambda (v_0)
                               (let ((or-part_0 (not keep-mutable?5_0)))
                                 (if or-part_0 or-part_0 (immutable? v_0)))))))
                       (let ((path->relative-path-elements_0
                              (make-path->relative-path-elements.1
                               #f
                               unsafe-undefined)))
                         (begin
                           (if skip-prefix?8_0
                             (void)
                             (1/write-bytes fasl-prefix o_0))
                           (let ((bstr_0
                                  (let ((o_1 (open-output-bytes)))
                                    (begin
                                      (letrec*
                                       ((loop_0
                                         (|#%name|
                                          loop
                                          (lambda (v_0)
                                            (if (not
                                                 (eq?
                                                  (hash-ref shared_0 v_0 1)
                                                  1))
                                              (let ((c_0
                                                     (hash-ref shared_0 v_0)))
                                                (if (negative? c_0)
                                                  (begin
                                                    (write-byte 2 o_1)
                                                    (write-fasl-integer
                                                     (sub1 (- c_0))
                                                     o_1))
                                                  (let ((pos_0
                                                         shared-counter_0))
                                                    (begin
                                                      (set! shared-counter_0
                                                        (add1
                                                         shared-counter_0))
                                                      (write-byte 1 o_1)
                                                      (write-fasl-integer
                                                       pos_0
                                                       o_1)
                                                      (hash-remove!
                                                       shared_0
                                                       v_0)
                                                      (loop_0 v_0)
                                                      (hash-set!
                                                       shared_0
                                                       v_0
                                                       (- (add1 pos_0)))))))
                                              (if (not v_0)
                                                (write-byte 3 o_1)
                                                (if (eq? v_0 #t)
                                                  (write-byte 4 o_1)
                                                  (if (null? v_0)
                                                    (write-byte 5 o_1)
                                                    (if (void? v_0)
                                                      (write-byte 6 o_1)
                                                      (if (eof-object? v_0)
                                                        (write-byte 7 o_1)
                                                        (if (exact-integer?
                                                             v_0)
                                                          (if (<= -10 v_0 144)
                                                            (let ((byte_0
                                                                   (+
                                                                    100
                                                                    (-
                                                                     v_0
                                                                     -10))))
                                                              (write-byte
                                                               byte_0
                                                               o_1))
                                                            (begin
                                                              (write-byte
                                                               8
                                                               o_1)
                                                              (write-fasl-integer
                                                               v_0
                                                               o_1)))
                                                          (if (flonum? v_0)
                                                            (begin
                                                              (write-byte
                                                               9
                                                               o_1)
                                                              (write-fasl-flonum
                                                               v_0
                                                               o_1))
                                                            (if (single-flonum?
                                                                 v_0)
                                                              (begin
                                                                (write-byte
                                                                 10
                                                                 o_1)
                                                                (1/write-bytes
                                                                 (if (eqv?
                                                                      v_0
                                                                      (real->single-flonum
                                                                       +nan.0))
                                                                   #vu8(0 0 192 127)
                                                                   (real->floating-point-bytes
                                                                    v_0
                                                                    4
                                                                    #f))
                                                                 o_1))
                                                              (if (extflonum?
                                                                   v_0)
                                                                (begin
                                                                  (write-byte
                                                                   39
                                                                   o_1)
                                                                  (let ((bstr_0
                                                                         (string->bytes/utf-8
                                                                          (format
                                                                           "~a"
                                                                           v_0))))
                                                                    (begin
                                                                      (write-fasl-integer
                                                                       (unsafe-bytes-length
                                                                        bstr_0)
                                                                       o_1)
                                                                      (1/write-bytes
                                                                       bstr_0
                                                                       o_1))))
                                                                (if (rational?
                                                                     v_0)
                                                                  (begin
                                                                    (write-byte
                                                                     11
                                                                     o_1)
                                                                    (loop_0
                                                                     (numerator
                                                                      v_0))
                                                                    (loop_0
                                                                     (denominator
                                                                      v_0)))
                                                                  (if (complex?
                                                                       v_0)
                                                                    (begin
                                                                      (write-byte
                                                                       12
                                                                       o_1)
                                                                      (loop_0
                                                                       (real-part
                                                                        v_0))
                                                                      (loop_0
                                                                       (imag-part
                                                                        v_0)))
                                                                    (if (char?
                                                                         v_0)
                                                                      (begin
                                                                        (write-byte
                                                                         13
                                                                         o_1)
                                                                        (write-fasl-integer
                                                                         (char->integer
                                                                          v_0)
                                                                         o_1))
                                                                      (if (symbol?
                                                                           v_0)
                                                                        (begin
                                                                          (if (symbol-interned?
                                                                               v_0)
                                                                            (write-byte
                                                                             14
                                                                             o_1)
                                                                            (if (symbol-unreadable?
                                                                                 v_0)
                                                                              (write-byte
                                                                               15
                                                                               o_1)
                                                                              (write-byte
                                                                               16
                                                                               o_1)))
                                                                          (let ((bstr_0
                                                                                 (string->bytes/utf-8
                                                                                  (symbol->string
                                                                                   v_0))))
                                                                            (begin
                                                                              (write-fasl-integer
                                                                               (unsafe-bytes-length
                                                                                bstr_0)
                                                                               o_1)
                                                                              (1/write-bytes
                                                                               bstr_0
                                                                               o_1))))
                                                                        (if (keyword?
                                                                             v_0)
                                                                          (begin
                                                                            (write-byte
                                                                             17
                                                                             o_1)
                                                                            (let ((bstr_0
                                                                                   (string->bytes/utf-8
                                                                                    (keyword->string
                                                                                     v_0))))
                                                                              (begin
                                                                                (write-fasl-integer
                                                                                 (unsafe-bytes-length
                                                                                  bstr_0)
                                                                                 o_1)
                                                                                (1/write-bytes
                                                                                 bstr_0
                                                                                 o_1))))
                                                                          (if (string?
                                                                               v_0)
                                                                            (begin
                                                                              (write-fasl-integer
                                                                               (if (treat-immutable?_0
                                                                                    v_0)
                                                                                 19
                                                                                 18)
                                                                               o_1)
                                                                              (write-fasl-string
                                                                               v_0
                                                                               o_1))
                                                                            (if (bytes?
                                                                                 v_0)
                                                                              (begin
                                                                                (write-fasl-integer
                                                                                 (if (treat-immutable?_0
                                                                                      v_0)
                                                                                   21
                                                                                   20)
                                                                                 o_1)
                                                                                (write-fasl-bytes
                                                                                 v_0
                                                                                 o_1))
                                                                              (if (path-for-some-system?
                                                                                   v_0)
                                                                                (let ((rel-elems_0
                                                                                       (|#%app|
                                                                                        path->relative-path-elements_0
                                                                                        v_0)))
                                                                                  (if rel-elems_0
                                                                                    (begin
                                                                                      (write-byte
                                                                                       23
                                                                                       o_1)
                                                                                      (loop_0
                                                                                       rel-elems_0))
                                                                                    (begin
                                                                                      (write-byte
                                                                                       22
                                                                                       o_1)
                                                                                      (write-fasl-bytes
                                                                                       (path->bytes
                                                                                        v_0)
                                                                                       o_1)
                                                                                      (loop_0
                                                                                       (path-convention-type
                                                                                        v_0)))))
                                                                                (if (if (srcloc?
                                                                                         v_0)
                                                                                      (let ((src_0
                                                                                             (srcloc-source
                                                                                              v_0)))
                                                                                        (let ((or-part_0
                                                                                               (not
                                                                                                src_0)))
                                                                                          (if or-part_0
                                                                                            or-part_0
                                                                                            (let ((or-part_1
                                                                                                   (path-for-some-system?
                                                                                                    src_0)))
                                                                                              (if or-part_1
                                                                                                or-part_1
                                                                                                (let ((or-part_2
                                                                                                       (string?
                                                                                                        src_0)))
                                                                                                  (if or-part_2
                                                                                                    or-part_2
                                                                                                    (let ((or-part_3
                                                                                                           (bytes?
                                                                                                            src_0)))
                                                                                                      (if or-part_3
                                                                                                        or-part_3
                                                                                                        (symbol?
                                                                                                         src_0))))))))))
                                                                                      #f)
                                                                                  (let ((src_0
                                                                                         (srcloc-source
                                                                                          v_0)))
                                                                                    (let ((new-src_0
                                                                                           (if (if (path?
                                                                                                    src_0)
                                                                                                 (not
                                                                                                  (|#%app|
                                                                                                   path->relative-path-elements_0
                                                                                                   src_0))
                                                                                                 #f)
                                                                                             (truncate-path
                                                                                              src_0)
                                                                                             src_0)))
                                                                                      (begin
                                                                                        (write-fasl-integer
                                                                                         38
                                                                                         o_1)
                                                                                        (loop_0
                                                                                         new-src_0)
                                                                                        (loop_0
                                                                                         (srcloc-line
                                                                                          v_0))
                                                                                        (loop_0
                                                                                         (srcloc-column
                                                                                          v_0))
                                                                                        (loop_0
                                                                                         (srcloc-position
                                                                                          v_0))
                                                                                        (loop_0
                                                                                         (srcloc-span
                                                                                          v_0)))))
                                                                                  (if (pair?
                                                                                       v_0)
                                                                                    (if (pair?
                                                                                         (cdr
                                                                                          v_0))
                                                                                      (call-with-values
                                                                                       (lambda ()
                                                                                         (letrec*
                                                                                          ((loop_1
                                                                                            (|#%name|
                                                                                             loop
                                                                                             (lambda (v_1
                                                                                                      len_0)
                                                                                               (if (null?
                                                                                                    v_1)
                                                                                                 (values
                                                                                                  len_0
                                                                                                  #t)
                                                                                                 (if (pair?
                                                                                                      v_1)
                                                                                                   (let ((app_0
                                                                                                          (cdr
                                                                                                           v_1)))
                                                                                                     (loop_1
                                                                                                      app_0
                                                                                                      (add1
                                                                                                       len_0)))
                                                                                                   (values
                                                                                                    len_0
                                                                                                    #f)))))))
                                                                                          (loop_1
                                                                                           v_0
                                                                                           0)))
                                                                                       (lambda (n_0
                                                                                                normal-list?_0)
                                                                                         (begin
                                                                                           (let ((byte_0
                                                                                                  (if normal-list?_0
                                                                                                    28
                                                                                                    29)))
                                                                                             (write-byte
                                                                                              byte_0
                                                                                              o_1))
                                                                                           (write-fasl-integer
                                                                                            n_0
                                                                                            o_1)
                                                                                           (letrec*
                                                                                            ((ploop_0
                                                                                              (|#%name|
                                                                                               ploop
                                                                                               (lambda (v_1)
                                                                                                 (if (pair?
                                                                                                      v_1)
                                                                                                   (begin
                                                                                                     (loop_0
                                                                                                      (car
                                                                                                       v_1))
                                                                                                     (ploop_0
                                                                                                      (cdr
                                                                                                       v_1)))
                                                                                                   (if normal-list?_0
                                                                                                     (void)
                                                                                                     (loop_0
                                                                                                      v_1)))))))
                                                                                            (ploop_0
                                                                                             v_0)))))
                                                                                      (begin
                                                                                        (write-byte
                                                                                         30
                                                                                         o_1)
                                                                                        (loop_0
                                                                                         (car
                                                                                          v_0))
                                                                                        (loop_0
                                                                                         (cdr
                                                                                          v_0))))
                                                                                    (if (vector?
                                                                                         v_0)
                                                                                      (begin
                                                                                        (let ((byte_0
                                                                                               (if (treat-immutable?_0
                                                                                                    v_0)
                                                                                                 32
                                                                                                 31)))
                                                                                          (write-byte
                                                                                           byte_0
                                                                                           o_1))
                                                                                        (write-fasl-integer
                                                                                         (vector-length
                                                                                          v_0)
                                                                                         o_1)
                                                                                        (call-with-values
                                                                                         (lambda ()
                                                                                           (values
                                                                                            v_0
                                                                                            (unsafe-vector-length
                                                                                             v_0)))
                                                                                         (lambda (vec_0
                                                                                                  len_0)
                                                                                           (letrec*
                                                                                            ((for-loop_0
                                                                                              (|#%name|
                                                                                               for-loop
                                                                                               (lambda (pos_0)
                                                                                                 (if (unsafe-fx<
                                                                                                      pos_0
                                                                                                      len_0)
                                                                                                   (let ((e_0
                                                                                                          (unsafe-vector-ref
                                                                                                           vec_0
                                                                                                           pos_0)))
                                                                                                     (begin
                                                                                                       (loop_0
                                                                                                        e_0)
                                                                                                       (for-loop_0
                                                                                                        (unsafe-fx+
                                                                                                         1
                                                                                                         pos_0))))
                                                                                                   (values))))))
                                                                                            (for-loop_0
                                                                                             0))))
                                                                                        (void))
                                                                                      (if (flvector?
                                                                                           v_0)
                                                                                        (begin
                                                                                          (write-byte
                                                                                           44
                                                                                           o_1)
                                                                                          (write-fasl-integer
                                                                                           (flvector-length
                                                                                            v_0)
                                                                                           o_1)
                                                                                          (call-with-values
                                                                                           (lambda ()
                                                                                             (values
                                                                                              v_0
                                                                                              (unsafe-flvector-length
                                                                                               v_0)))
                                                                                           (lambda (vec_0
                                                                                                    len_0)
                                                                                             (letrec*
                                                                                              ((for-loop_0
                                                                                                (|#%name|
                                                                                                 for-loop
                                                                                                 (lambda (pos_0)
                                                                                                   (if (unsafe-fx<
                                                                                                        pos_0
                                                                                                        len_0)
                                                                                                     (let ((e_0
                                                                                                            (unsafe-flvector-ref
                                                                                                             vec_0
                                                                                                             pos_0)))
                                                                                                       (begin
                                                                                                         (write-fasl-flonum
                                                                                                          e_0
                                                                                                          o_1)
                                                                                                         (for-loop_0
                                                                                                          (unsafe-fx+
                                                                                                           1
                                                                                                           pos_0))))
                                                                                                     (values))))))
                                                                                              (for-loop_0
                                                                                               0))))
                                                                                          (void))
                                                                                        (if (fxvector?
                                                                                             v_0)
                                                                                          (begin
                                                                                            (write-byte
                                                                                             43
                                                                                             o_1)
                                                                                            (write-fasl-integer
                                                                                             (fxvector-length
                                                                                              v_0)
                                                                                             o_1)
                                                                                            (call-with-values
                                                                                             (lambda ()
                                                                                               (values
                                                                                                v_0
                                                                                                (unsafe-fxvector-length
                                                                                                 v_0)))
                                                                                             (lambda (vec_0
                                                                                                      len_0)
                                                                                               (letrec*
                                                                                                ((for-loop_0
                                                                                                  (|#%name|
                                                                                                   for-loop
                                                                                                   (lambda (pos_0)
                                                                                                     (if (unsafe-fx<
                                                                                                          pos_0
                                                                                                          len_0)
                                                                                                       (let ((e_0
                                                                                                              (unsafe-fxvector-ref
                                                                                                               vec_0
                                                                                                               pos_0)))
                                                                                                         (begin
                                                                                                           (write-fasl-integer
                                                                                                            e_0
                                                                                                            o_1)
                                                                                                           (for-loop_0
                                                                                                            (unsafe-fx+
                                                                                                             1
                                                                                                             pos_0))))
                                                                                                       (values))))))
                                                                                                (for-loop_0
                                                                                                 0))))
                                                                                            (void))
                                                                                          (if (box?
                                                                                               v_0)
                                                                                            (begin
                                                                                              (let ((byte_0
                                                                                                     (if (treat-immutable?_0
                                                                                                          v_0)
                                                                                                       34
                                                                                                       33)))
                                                                                                (write-byte
                                                                                                 byte_0
                                                                                                 o_1))
                                                                                              (loop_0
                                                                                               (unbox
                                                                                                v_0)))
                                                                                            (let ((cond-val_0
                                                                                                   (prefab-struct-key
                                                                                                    v_0)))
                                                                                              (if cond-val_0
                                                                                                (begin
                                                                                                  (write-byte
                                                                                                   35
                                                                                                   o_1)
                                                                                                  (begin
                                                                                                    (loop_0
                                                                                                     cond-val_0)
                                                                                                    (let ((vec_0
                                                                                                           (struct->vector
                                                                                                            v_0)))
                                                                                                      (begin
                                                                                                        (write-fasl-integer
                                                                                                         (sub1
                                                                                                          (vector-length
                                                                                                           vec_0))
                                                                                                         o_1)
                                                                                                        (call-with-values
                                                                                                         (lambda ()
                                                                                                           (unsafe-normalise-inputs
                                                                                                            unsafe-vector-length
                                                                                                            vec_0
                                                                                                            1
                                                                                                            #f
                                                                                                            1))
                                                                                                         (lambda (v*_0
                                                                                                                  start*_0
                                                                                                                  stop*_0
                                                                                                                  step*_0)
                                                                                                           (letrec*
                                                                                                            ((for-loop_0
                                                                                                              (|#%name|
                                                                                                               for-loop
                                                                                                               (lambda (idx_0)
                                                                                                                 (if (unsafe-fx<
                                                                                                                      idx_0
                                                                                                                      stop*_0)
                                                                                                                   (let ((e_0
                                                                                                                          (unsafe-vector-ref
                                                                                                                           v*_0
                                                                                                                           idx_0)))
                                                                                                                     (begin
                                                                                                                       (loop_0
                                                                                                                        e_0)
                                                                                                                       (for-loop_0
                                                                                                                        (unsafe-fx+
                                                                                                                         idx_0
                                                                                                                         1))))
                                                                                                                   (values))))))
                                                                                                            (for-loop_0
                                                                                                             start*_0))))
                                                                                                        (void)))))
                                                                                                (if (hash?
                                                                                                     v_0)
                                                                                                  (begin
                                                                                                    (let ((byte_0
                                                                                                           (if (treat-immutable?_0
                                                                                                                v_0)
                                                                                                             37
                                                                                                             36)))
                                                                                                      (write-byte
                                                                                                       byte_0
                                                                                                       o_1))
                                                                                                    (let ((byte_0
                                                                                                           (if (hash-eq?
                                                                                                                v_0)
                                                                                                             0
                                                                                                             (if (hash-eqv?
                                                                                                                  v_0)
                                                                                                               2
                                                                                                               (if (hash-equal-always?
                                                                                                                    v_0)
                                                                                                                 3
                                                                                                                 1)))))
                                                                                                      (write-byte
                                                                                                       byte_0
                                                                                                       o_1))
                                                                                                    (write-fasl-integer
                                                                                                     (hash-count
                                                                                                      v_0)
                                                                                                     o_1)
                                                                                                    (hash-for-each
                                                                                                     v_0
                                                                                                     (lambda (k_0
                                                                                                              v_1)
                                                                                                       (begin
                                                                                                         (loop_0
                                                                                                          k_0)
                                                                                                         (loop_0
                                                                                                          v_1)))
                                                                                                     #t))
                                                                                                  (if (regexp?
                                                                                                       v_0)
                                                                                                    (begin
                                                                                                      (let ((byte_0
                                                                                                             (if (pregexp?
                                                                                                                  v_0)
                                                                                                               24
                                                                                                               25)))
                                                                                                        (write-byte
                                                                                                         byte_0
                                                                                                         o_1))
                                                                                                      (write-fasl-string
                                                                                                       (object-name
                                                                                                        v_0)
                                                                                                       o_1))
                                                                                                    (if (byte-regexp?
                                                                                                         v_0)
                                                                                                      (begin
                                                                                                        (let ((byte_0
                                                                                                               (if (byte-pregexp?
                                                                                                                    v_0)
                                                                                                                 26
                                                                                                                 27)))
                                                                                                          (write-byte
                                                                                                           byte_0
                                                                                                           o_1))
                                                                                                        (write-fasl-bytes
                                                                                                         (object-name
                                                                                                          v_0)
                                                                                                         o_1))
                                                                                                      (if (|#%app|
                                                                                                           1/syntax?
                                                                                                           v_0)
                                                                                                        (begin
                                                                                                          (write-byte
                                                                                                           40
                                                                                                           o_1)
                                                                                                          (loop_0
                                                                                                           (|#%app|
                                                                                                            1/syntax-e
                                                                                                            v_0))
                                                                                                          (loop_0
                                                                                                           (let ((app_0
                                                                                                                  (|#%app|
                                                                                                                   1/syntax-source
                                                                                                                   v_0)))
                                                                                                             (let ((app_1
                                                                                                                    (|#%app|
                                                                                                                     1/syntax-line
                                                                                                                     v_0)))
                                                                                                               (let ((app_2
                                                                                                                      (|#%app|
                                                                                                                       1/syntax-column
                                                                                                                       v_0)))
                                                                                                                 (let ((app_3
                                                                                                                        (|#%app|
                                                                                                                         1/syntax-position
                                                                                                                         v_0)))
                                                                                                                   (unsafe-make-srcloc
                                                                                                                    app_0
                                                                                                                    app_1
                                                                                                                    app_2
                                                                                                                    app_3
                                                                                                                    (|#%app|
                                                                                                                     1/syntax-span
                                                                                                                     v_0)))))))
                                                                                                          (loop_0
                                                                                                           (reverse$1
                                                                                                            (let ((lst_0
                                                                                                                   (|#%app|
                                                                                                                    1/syntax-property-symbol-keys
                                                                                                                    v_0)))
                                                                                                              (letrec*
                                                                                                               ((for-loop_0
                                                                                                                 (|#%name|
                                                                                                                  for-loop
                                                                                                                  (lambda (fold-var_0
                                                                                                                           lst_1)
                                                                                                                    (if (pair?
                                                                                                                         lst_1)
                                                                                                                      (let ((k_0
                                                                                                                             (unsafe-car
                                                                                                                              lst_1)))
                                                                                                                        (let ((rest_0
                                                                                                                               (unsafe-cdr
                                                                                                                                lst_1)))
                                                                                                                          (let ((fold-var_1
                                                                                                                                 (let ((fold-var_1
                                                                                                                                        (cons
                                                                                                                                         (cons
                                                                                                                                          k_0
                                                                                                                                          (|#%app|
                                                                                                                                           1/syntax-property
                                                                                                                                           v_0
                                                                                                                                           k_0))
                                                                                                                                         fold-var_0)))
                                                                                                                                   (values
                                                                                                                                    fold-var_1))))
                                                                                                                            (for-loop_0
                                                                                                                             fold-var_1
                                                                                                                             rest_0))))
                                                                                                                      fold-var_0)))))
                                                                                                               (for-loop_0
                                                                                                                null
                                                                                                                lst_0))))))
                                                                                                        (if (eq?
                                                                                                             v_0
                                                                                                             unsafe-undefined)
                                                                                                          (write-byte
                                                                                                           41
                                                                                                           o_1)
                                                                                                          (let ((cond-val_1
                                                                                                                 (if (struct-type?
                                                                                                                      v_0)
                                                                                                                   (prefab-struct-type-key+field-count
                                                                                                                    v_0)
                                                                                                                   #f)))
                                                                                                            (if cond-val_1
                                                                                                              (begin
                                                                                                                (write-byte
                                                                                                                 42
                                                                                                                 o_1)
                                                                                                                (loop_0
                                                                                                                 (car
                                                                                                                  cond-val_1))
                                                                                                                (loop_0
                                                                                                                 (cdr
                                                                                                                  cond-val_1)))
                                                                                                              (if handle-fail6_0
                                                                                                                (loop_0
                                                                                                                 (|#%app|
                                                                                                                  handle-fail6_0
                                                                                                                  v_0))
                                                                                                                (raise-arguments-error
                                                                                                                 's-exp->fasl
                                                                                                                 "cannot write value"
                                                                                                                 "value"
                                                                                                                 v_0)))))))))))))))))))))))))))))))))))))))
                                       (loop_0 v14_0))
                                      (get-output-bytes o_1 #t)))))
                             (begin
                               (write-fasl-integer shared-counter_0 o_0)
                               (write-fasl-integer
                                (unsafe-bytes-length bstr_0)
                                o_0)
                               (1/write-bytes bstr_0 o_0)
                               (if orig-o13_0
                                 (void)
                                 (get-output-bytes o_0))))))))))))))))))
(define fasl->s-exp.1
  (|#%name|
   fasl->s-exp
   (lambda (datum-intern?16_0 external-lifts17_0 skip-prefix?18_0 orig-i22_0)
     (let ((external-lifts_0
            (if (eq? external-lifts17_0 unsafe-undefined)
              '#()
              external-lifts17_0)))
       (let ((init-i_0
              (if (bytes? orig-i22_0)
                (mcons orig-i22_0 0)
                (if (input-port? orig-i22_0)
                  orig-i22_0
                  (raise-argument-error
                   'fasl->s-exp
                   "(or/c bytes? input-port?)"
                   orig-i22_0)))))
         (begin
           (if skip-prefix?18_0
             (void)
             (if (bytes=?
                  (read-bytes/exactly* fasl-prefix-length init-i_0)
                  fasl-prefix)
               (void)
               (read-error "unrecognized prefix")))
           (let ((shared-count_0 (read-fasl-integer* init-i_0)))
             (let ((shared_0 (make-vector shared-count_0)))
               (begin
                 (if (if (vector? external-lifts_0)
                       (<= (vector-length external-lifts_0) shared-count_0)
                       #f)
                   (void)
                   (error
                    'fasl->s-exp
                    "external-lift vector does not match expected size"))
                 (begin
                   (call-with-values
                    (lambda ()
                      (values
                       external-lifts_0
                       (unsafe-vector-length external-lifts_0)))
                    (lambda (vec_0 len_0)
                      (let ((start_0 0))
                        (let ((vec_1 vec_0) (len_1 len_0))
                          (letrec*
                           ((for-loop_0
                             (|#%name|
                              for-loop
                              (lambda (pos_0 pos_1)
                                (if (if (unsafe-fx< pos_0 len_1) #t #f)
                                  (let ((v_0 (unsafe-vector-ref vec_1 pos_0)))
                                    (begin
                                      (vector-set!
                                       shared_0
                                       pos_1
                                       (vector-ref external-lifts_0 pos_1))
                                      (for-loop_0
                                       (unsafe-fx+ 1 pos_0)
                                       (+ pos_1 1))))
                                  (values))))))
                           (for-loop_0 0 start_0))))))
                   (let ((len_0 (read-fasl-integer* init-i_0)))
                     (let ((i_0
                            (if (mpair? init-i_0)
                              init-i_0
                              (let ((bstr_0
                                     (read-bytes/exactly* len_0 init-i_0)))
                                (mcons bstr_0 0)))))
                       (let ((intern_0
                              (|#%name|
                               intern
                               (lambda (v_0)
                                 (if datum-intern?16_0
                                   (datum-intern-literal v_0)
                                   v_0)))))
                         (letrec*
                          ((loop_0
                            (|#%name|
                             loop
                             (lambda ()
                               (let ((type_0 (read-byte/no-eof i_0)))
                                 (let ((index_0
                                        (if (fixnum? type_0)
                                          (if (if (unsafe-fx>= type_0 1)
                                                (unsafe-fx< type_0 45)
                                                #f)
                                            (let ((tbl_0
                                                   '#(1
                                                      2
                                                      3
                                                      4
                                                      5
                                                      6
                                                      7
                                                      8
                                                      9
                                                      10
                                                      12
                                                      13
                                                      14
                                                      15
                                                      16
                                                      17
                                                      18
                                                      19
                                                      20
                                                      21
                                                      22
                                                      23
                                                      24
                                                      25
                                                      26
                                                      27
                                                      28
                                                      29
                                                      31
                                                      30
                                                      32
                                                      32
                                                      35
                                                      36
                                                      37
                                                      38
                                                      39
                                                      40
                                                      11
                                                      41
                                                      42
                                                      43
                                                      34
                                                      33)))
                                              (unsafe-vector*-ref
                                               tbl_0
                                               (unsafe-fx- type_0 1)))
                                            0)
                                          0)))
                                   (if (unsafe-fx< index_0 21)
                                     (if (unsafe-fx< index_0 10)
                                       (if (unsafe-fx< index_0 4)
                                         (if (unsafe-fx< index_0 1)
                                           (if (>= type_0 100)
                                             (+ (- type_0 100) -10)
                                             (read-error
                                              "unrecognized fasl tag"
                                              "tag"
                                              type_0))
                                           (if (unsafe-fx< index_0 2)
                                             (let ((pos_0
                                                    (read-fasl-integer i_0)))
                                               (let ((v_0 (loop_0)))
                                                 (begin
                                                   (if (< pos_0 shared-count_0)
                                                     (void)
                                                     (read-error
                                                      "bad graph index"))
                                                   (vector-set!
                                                    shared_0
                                                    pos_0
                                                    v_0)
                                                   v_0)))
                                             (if (unsafe-fx< index_0 3)
                                               (let ((pos_0
                                                      (read-fasl-integer i_0)))
                                                 (begin
                                                   (if (< pos_0 shared-count_0)
                                                     (void)
                                                     (read-error
                                                      "bad graph index"))
                                                   (vector-ref
                                                    shared_0
                                                    pos_0)))
                                               #f)))
                                         (if (unsafe-fx< index_0 6)
                                           (if (unsafe-fx< index_0 5) #t null)
                                           (if (unsafe-fx< index_0 7)
                                             (void)
                                             (if (unsafe-fx< index_0 8)
                                               eof
                                               (if (unsafe-fx< index_0 9)
                                                 (intern_0
                                                  (read-fasl-integer i_0))
                                                 (read-fasl-flonum i_0))))))
                                       (if (unsafe-fx< index_0 15)
                                         (if (unsafe-fx< index_0 12)
                                           (if (unsafe-fx< index_0 11)
                                             (real->single-flonum
                                              (floating-point-bytes->real
                                               (read-bytes/exactly 4 i_0)
                                               #f))
                                             (let ((bstr_0
                                                    (read-bytes/exactly
                                                     (read-fasl-integer i_0)
                                                     i_0)))
                                               (string->number
                                                (bytes->string/utf-8 bstr_0)
                                                10
                                                'read)))
                                           (if (unsafe-fx< index_0 13)
                                             (intern_0
                                              (let ((app_0 (loop_0)))
                                                (/ app_0 (loop_0))))
                                             (if (unsafe-fx< index_0 14)
                                               (intern_0
                                                (let ((app_0 (loop_0)))
                                                  (make-rectangular
                                                   app_0
                                                   (loop_0))))
                                               (intern_0
                                                (integer->char
                                                 (read-fasl-integer i_0))))))
                                         (if (unsafe-fx< index_0 17)
                                           (if (unsafe-fx< index_0 16)
                                             (string->symbol
                                              (read-fasl-string i_0))
                                             (string->unreadable-symbol
                                              (read-fasl-string i_0)))
                                           (if (unsafe-fx< index_0 18)
                                             (string->uninterned-symbol
                                              (read-fasl-string i_0))
                                             (if (unsafe-fx< index_0 19)
                                               (string->keyword
                                                (read-fasl-string i_0))
                                               (if (unsafe-fx< index_0 20)
                                                 (read-fasl-string i_0)
                                                 (intern_0
                                                  (string->immutable-string
                                                   (read-fasl-string
                                                    i_0)))))))))
                                     (if (unsafe-fx< index_0 32)
                                       (if (unsafe-fx< index_0 26)
                                         (if (unsafe-fx< index_0 23)
                                           (if (unsafe-fx< index_0 22)
                                             (read-fasl-bytes i_0)
                                             (intern_0
                                              (bytes->immutable-bytes
                                               (read-fasl-bytes i_0))))
                                           (if (unsafe-fx< index_0 24)
                                             (let ((app_0
                                                    (read-fasl-bytes i_0)))
                                               (bytes->path app_0 (loop_0)))
                                             (if (unsafe-fx< index_0 25)
                                               (let ((wrt-dir_0
                                                      (let ((or-part_0
                                                             (current-load-relative-directory)))
                                                        (if or-part_0
                                                          or-part_0
                                                          (current-directory)))))
                                                 (let ((rel-elems_0
                                                        (reverse$1
                                                         (let ((lst_0
                                                                (loop_0)))
                                                           (letrec*
                                                            ((for-loop_0
                                                              (|#%name|
                                                               for-loop
                                                               (lambda (fold-var_0
                                                                        lst_1)
                                                                 (if (pair?
                                                                      lst_1)
                                                                   (let ((p_0
                                                                          (unsafe-car
                                                                           lst_1)))
                                                                     (let ((rest_0
                                                                            (unsafe-cdr
                                                                             lst_1)))
                                                                       (let ((fold-var_1
                                                                              (let ((fold-var_1
                                                                                     (cons
                                                                                      (if (bytes?
                                                                                           p_0)
                                                                                        (bytes->path-element
                                                                                         p_0)
                                                                                        p_0)
                                                                                      fold-var_0)))
                                                                                (values
                                                                                 fold-var_1))))
                                                                         (for-loop_0
                                                                          fold-var_1
                                                                          rest_0))))
                                                                   fold-var_0)))))
                                                            (for-loop_0
                                                             null
                                                             lst_0))))))
                                                   (if wrt-dir_0
                                                     (apply
                                                      build-path
                                                      wrt-dir_0
                                                      rel-elems_0)
                                                     (if (null? rel-elems_0)
                                                       (build-path 'same)
                                                       (apply
                                                        build-path
                                                        rel-elems_0)))))
                                               (intern_0
                                                (pregexp
                                                 (read-fasl-string i_0))))))
                                         (if (unsafe-fx< index_0 28)
                                           (if (unsafe-fx< index_0 27)
                                             (intern_0
                                              (regexp (read-fasl-string i_0)))
                                             (intern_0
                                              (byte-pregexp
                                               (read-fasl-bytes i_0))))
                                           (if (unsafe-fx< index_0 29)
                                             (intern_0
                                              (byte-regexp
                                               (read-fasl-bytes i_0)))
                                             (if (unsafe-fx< index_0 30)
                                               (let ((len_1
                                                      (read-fasl-integer i_0)))
                                                 (reverse$1
                                                  (letrec*
                                                   ((for-loop_0
                                                     (|#%name|
                                                      for-loop
                                                      (lambda (fold-var_0
                                                               pos_0)
                                                        (if (< pos_0 len_1)
                                                          (let ((fold-var_1
                                                                 (let ((fold-var_1
                                                                        (cons
                                                                         (loop_0)
                                                                         fold-var_0)))
                                                                   (values
                                                                    fold-var_1))))
                                                            (for-loop_0
                                                             fold-var_1
                                                             (+ pos_0 1)))
                                                          fold-var_0)))))
                                                   (for-loop_0 null 0))))
                                               (if (unsafe-fx< index_0 31)
                                                 (let ((app_0 (loop_0)))
                                                   (cons app_0 (loop_0)))
                                                 (let ((len_1
                                                        (read-fasl-integer
                                                         i_0)))
                                                   (letrec*
                                                    ((ploop_0
                                                      (|#%name|
                                                       ploop
                                                       (lambda (len_2)
                                                         (if (zero? len_2)
                                                           (loop_0)
                                                           (let ((app_0
                                                                  (loop_0)))
                                                             (cons
                                                              app_0
                                                              (ploop_0
                                                               (sub1
                                                                len_2)))))))))
                                                    (ploop_0 len_1))))))))
                                       (if (unsafe-fx< index_0 37)
                                         (if (unsafe-fx< index_0 34)
                                           (if (unsafe-fx< index_0 33)
                                             (let ((len_1
                                                    (read-fasl-integer i_0)))
                                               (let ((vec_0
                                                      (begin
                                                        (if (exact-nonnegative-integer?
                                                             len_1)
                                                          (void)
                                                          (1/raise-argument-error
                                                           'for/vector
                                                           "exact-nonnegative-integer?"
                                                           len_1))
                                                        (let ((v_0
                                                               (make-vector
                                                                len_1
                                                                0)))
                                                          (begin
                                                            (if (zero? len_1)
                                                              (void)
                                                              (letrec*
                                                               ((for-loop_0
                                                                 (|#%name|
                                                                  for-loop
                                                                  (lambda (i_1
                                                                           pos_0)
                                                                    (if (<
                                                                         pos_0
                                                                         len_1)
                                                                      (let ((i_2
                                                                             (let ((i_2
                                                                                    (begin
                                                                                      (unsafe-vector*-set!
                                                                                       v_0
                                                                                       i_1
                                                                                       (loop_0))
                                                                                      (unsafe-fx+
                                                                                       1
                                                                                       i_1))))
                                                                               (values
                                                                                i_2))))
                                                                        (if (if (not
                                                                                 (let ((x_0
                                                                                        (list
                                                                                         pos_0)))
                                                                                   (unsafe-fx=
                                                                                    i_2
                                                                                    len_1)))
                                                                              #t
                                                                              #f)
                                                                          (for-loop_0
                                                                           i_2
                                                                           (+
                                                                            pos_0
                                                                            1))
                                                                          i_2))
                                                                      i_1)))))
                                                               (for-loop_0
                                                                0
                                                                0)))
                                                            v_0)))))
                                                 (if (eqv? type_0 32)
                                                   (vector->immutable-vector
                                                    vec_0)
                                                   vec_0)))
                                             (let ((len_1
                                                    (read-fasl-integer i_0)))
                                               (begin
                                                 (if (exact-nonnegative-integer?
                                                      len_1)
                                                   (void)
                                                   (raise-argument-error
                                                    'for/flvector
                                                    "exact-nonnegative-integer?"
                                                    len_1))
                                                 (let ((v_0
                                                        (make-flvector
                                                         len_1
                                                         0.0)))
                                                   (begin
                                                     (if (zero? len_1)
                                                       (void)
                                                       (letrec*
                                                        ((for-loop_0
                                                          (|#%name|
                                                           for-loop
                                                           (lambda (i_1 pos_0)
                                                             (if (<
                                                                  pos_0
                                                                  len_1)
                                                               (let ((i_2
                                                                      (let ((i_2
                                                                             (begin
                                                                               (let ((elem_0
                                                                                      (read-fasl-flonum
                                                                                       i_0)))
                                                                                 (if (flonum?
                                                                                      elem_0)
                                                                                   (unsafe-flvector-set!
                                                                                    v_0
                                                                                    i_1
                                                                                    elem_0)
                                                                                   (raise-argument-error
                                                                                    'for*/vector
                                                                                    "flonum?"
                                                                                    elem_0)))
                                                                               (unsafe-fx+
                                                                                1
                                                                                i_1))))
                                                                        (values
                                                                         i_2))))
                                                                 (if (if (not
                                                                          (let ((x_0
                                                                                 (list
                                                                                  pos_0)))
                                                                            (unsafe-fx=
                                                                             i_2
                                                                             len_1)))
                                                                       #t
                                                                       #f)
                                                                   (for-loop_0
                                                                    i_2
                                                                    (+
                                                                     pos_0
                                                                     1))
                                                                   i_2))
                                                               i_1)))))
                                                        (for-loop_0 0 0)))
                                                     v_0)))))
                                           (if (unsafe-fx< index_0 35)
                                             (let ((len_1
                                                    (read-fasl-integer i_0)))
                                               (begin
                                                 (if (exact-nonnegative-integer?
                                                      len_1)
                                                   (void)
                                                   (raise-argument-error
                                                    'for/fxvector
                                                    "exact-nonnegative-integer?"
                                                    len_1))
                                                 (let ((v_0
                                                        (make-fxvector
                                                         len_1
                                                         0)))
                                                   (begin
                                                     (if (zero? len_1)
                                                       (void)
                                                       (letrec*
                                                        ((for-loop_0
                                                          (|#%name|
                                                           for-loop
                                                           (lambda (i_1 pos_0)
                                                             (if (<
                                                                  pos_0
                                                                  len_1)
                                                               (let ((i_2
                                                                      (let ((i_2
                                                                             (begin
                                                                               (let ((elem_0
                                                                                      (read-fasl-integer
                                                                                       i_0)))
                                                                                 (if (fixnum?
                                                                                      elem_0)
                                                                                   (unsafe-fxvector-set!
                                                                                    v_0
                                                                                    i_1
                                                                                    elem_0)
                                                                                   (raise-argument-error
                                                                                    'for*/vector
                                                                                    "fixnum?"
                                                                                    elem_0)))
                                                                               (unsafe-fx+
                                                                                1
                                                                                i_1))))
                                                                        (values
                                                                         i_2))))
                                                                 (if (if (not
                                                                          (let ((x_0
                                                                                 (list
                                                                                  pos_0)))
                                                                            (unsafe-fx=
                                                                             i_2
                                                                             len_1)))
                                                                       #t
                                                                       #f)
                                                                   (for-loop_0
                                                                    i_2
                                                                    (+
                                                                     pos_0
                                                                     1))
                                                                   i_2))
                                                               i_1)))))
                                                        (for-loop_0 0 0)))
                                                     v_0))))
                                             (if (unsafe-fx< index_0 36)
                                               (box (loop_0))
                                               (box-immutable (loop_0)))))
                                         (if (unsafe-fx< index_0 40)
                                           (if (unsafe-fx< index_0 38)
                                             (let ((key_0 (loop_0)))
                                               (let ((len_1
                                                      (read-fasl-integer i_0)))
                                                 (apply
                                                  make-prefab-struct
                                                  key_0
                                                  (reverse$1
                                                   (letrec*
                                                    ((for-loop_0
                                                      (|#%name|
                                                       for-loop
                                                       (lambda (fold-var_0
                                                                pos_0)
                                                         (if (< pos_0 len_1)
                                                           (let ((fold-var_1
                                                                  (let ((fold-var_1
                                                                         (cons
                                                                          (loop_0)
                                                                          fold-var_0)))
                                                                    (values
                                                                     fold-var_1))))
                                                             (for-loop_0
                                                              fold-var_1
                                                              (+ pos_0 1)))
                                                           fold-var_0)))))
                                                    (for-loop_0 null 0))))))
                                             (if (unsafe-fx< index_0 39)
                                               (let ((ht_0
                                                      (let ((tmp_0
                                                             (read-byte/no-eof
                                                              i_0)))
                                                        (if (eq? tmp_0 0)
                                                          (make-hasheq)
                                                          (if (eq? tmp_0 2)
                                                            (make-hasheqv)
                                                            (if (eq? tmp_0 3)
                                                              (make-hashalw)
                                                              (make-hash)))))))
                                                 (let ((len_1
                                                        (read-fasl-integer
                                                         i_0)))
                                                   (begin
                                                     (letrec*
                                                      ((for-loop_0
                                                        (|#%name|
                                                         for-loop
                                                         (lambda (pos_0)
                                                           (if (< pos_0 len_1)
                                                             (begin
                                                               (let ((app_0
                                                                      (loop_0)))
                                                                 (hash-set!
                                                                  ht_0
                                                                  app_0
                                                                  (loop_0)))
                                                               (for-loop_0
                                                                (+ pos_0 1)))
                                                             (values))))))
                                                      (for-loop_0 0))
                                                     (void)
                                                     ht_0)))
                                               (let ((ht_0
                                                      (let ((tmp_0
                                                             (read-byte/no-eof
                                                              i_0)))
                                                        (if (eq? tmp_0 0)
                                                          hash2610
                                                          (if (eq? tmp_0 2)
                                                            hash2589
                                                            (if (eq? tmp_0 3)
                                                              (hashalw)
                                                              hash2725))))))
                                                 (let ((len_1
                                                        (read-fasl-integer
                                                         i_0)))
                                                   (letrec*
                                                    ((for-loop_0
                                                      (|#%name|
                                                       for-loop
                                                       (lambda (ht_1 pos_0)
                                                         (if (< pos_0 len_1)
                                                           (let ((ht_2
                                                                  (let ((ht_2
                                                                         (let ((app_0
                                                                                (loop_0)))
                                                                           (hash-set
                                                                            ht_1
                                                                            app_0
                                                                            (loop_0)))))
                                                                    (values
                                                                     ht_2))))
                                                             (for-loop_0
                                                              ht_2
                                                              (+ pos_0 1)))
                                                           ht_1)))))
                                                    (for-loop_0 ht_0 0))))))
                                           (if (unsafe-fx< index_0 41)
                                             (let ((app_0 (loop_0)))
                                               (let ((app_1 (loop_0)))
                                                 (let ((app_2 (loop_0)))
                                                   (let ((app_3 (loop_0)))
                                                     (unsafe-make-srcloc
                                                      app_0
                                                      app_1
                                                      app_2
                                                      app_3
                                                      (loop_0))))))
                                             (if (unsafe-fx< index_0 42)
                                               (let ((e_0 (loop_0)))
                                                 (let ((s_0 (loop_0)))
                                                   (let ((c_0
                                                          (datum->correlated
                                                           e_0
                                                           (let ((app_0
                                                                  (srcloc-source
                                                                   s_0)))
                                                             (let ((app_1
                                                                    (srcloc-line
                                                                     s_0)))
                                                               (let ((app_2
                                                                      (srcloc-column
                                                                       s_0)))
                                                                 (let ((app_3
                                                                        (srcloc-position
                                                                         s_0)))
                                                                   (vector
                                                                    app_0
                                                                    app_1
                                                                    app_2
                                                                    app_3
                                                                    (srcloc-span
                                                                     s_0)))))))))
                                                     (let ((lst_0 (loop_0)))
                                                       (letrec*
                                                        ((for-loop_0
                                                          (|#%name|
                                                           for-loop
                                                           (lambda (c_1 lst_1)
                                                             (if (pair? lst_1)
                                                               (let ((p_0
                                                                      (unsafe-car
                                                                       lst_1)))
                                                                 (let ((rest_0
                                                                        (unsafe-cdr
                                                                         lst_1)))
                                                                   (let ((c_2
                                                                          (let ((c_2
                                                                                 (let ((k_0
                                                                                        (car
                                                                                         p_0)))
                                                                                   (let ((v_0
                                                                                          (cdr
                                                                                           p_0)))
                                                                                     (let ((k_1
                                                                                            k_0))
                                                                                       (|#%app|
                                                                                        1/syntax-property
                                                                                        c_1
                                                                                        k_1
                                                                                        v_0))))))
                                                                            (values
                                                                             c_2))))
                                                                     (for-loop_0
                                                                      c_2
                                                                      rest_0))))
                                                               c_1)))))
                                                        (for-loop_0
                                                         c_0
                                                         lst_0))))))
                                               (if (unsafe-fx< index_0 43)
                                                 unsafe-undefined
                                                 (let ((app_0 (loop_0)))
                                                   (prefab-key->struct-type
                                                    app_0
                                                    (loop_0))))))))))))))))
                          (loop_0)))))))))))))))
(define write-fasl-integer
  (lambda (i_0 o_0)
    (if (<= -124 i_0 127)
      (if (negative? i_0)
        (let ((byte_0 (+ i_0 256))) (write-byte byte_0 o_0))
        (write-byte i_0 o_0))
      (if (<= -32768 i_0 32767)
        (begin
          (write-byte 128 o_0)
          (1/write-bytes (integer->integer-bytes i_0 2 #t #f) o_0))
        (if (<= -2147483648 i_0 2147483647)
          (begin
            (write-byte 129 o_0)
            (1/write-bytes (integer->integer-bytes i_0 4 #t #f) o_0))
          (if (<= -9223372036854775808 i_0 9223372036854775807)
            (begin
              (write-byte 130 o_0)
              (1/write-bytes (integer->integer-bytes i_0 8 #t #f) o_0))
            (begin
              (write-byte 131 o_0)
              (let ((s_0 (format "~x" i_0)))
                (begin
                  (write-fasl-integer (string-length s_0) o_0)
                  (write-string s_0 o_0))))))))))
(define write-fasl-string
  (lambda (v_0 o_0)
    (let ((bstr_0 (string->bytes/utf-8 v_0)))
      (begin
        (write-fasl-integer (unsafe-bytes-length bstr_0) o_0)
        (1/write-bytes bstr_0 o_0)))))
(define write-fasl-bytes
  (lambda (v_0 o_0)
    (begin
      (write-fasl-integer (unsafe-bytes-length v_0) o_0)
      (1/write-bytes v_0 o_0))))
(define write-fasl-flonum
  (lambda (v_0 o_0)
    (1/write-bytes
     (if (eqv? v_0 +nan.0)
       #vu8(0 0 0 0 0 0 248 127)
       (real->floating-point-bytes v_0 8 #f))
     o_0)))
(define read-error
  (lambda (s_0 . args_0)
    (apply
     raise-arguments-error
     'fasl-read
     (string-append "error parsing fasl stream;\n" " " s_0)
     args_0)))
(define read-byte/no-eof
  (lambda (i_0)
    (let ((pos_0 (unsafe-mcdr i_0)))
      (begin
        (if (fx< pos_0 (unsafe-bytes-length (unsafe-mcar i_0)))
          (void)
          (read-error "truncated stream"))
        (unsafe-set-mcdr! i_0 (fx+ pos_0 1))
        (unsafe-bytes-ref (unsafe-mcar i_0) pos_0)))))
(define read-byte/no-eof*
  (lambda (i_0)
    (if (mpair? i_0)
      (read-byte/no-eof i_0)
      (let ((b_0 (read-byte i_0)))
        (begin
          (if (eof-object? b_0) (read-error "truncated stream") (void))
          b_0)))))
(define read-bytes/exactly
  (lambda (n_0 i_0)
    (let ((pos_0 (unsafe-mcdr i_0)))
      (begin
        (if (let ((app_0 (+ pos_0 n_0)))
              (<= app_0 (unsafe-bytes-length (unsafe-mcar i_0))))
          (void)
          (read-error "truncated stream"))
        (unsafe-set-mcdr! i_0 (fx+ pos_0 n_0))
        (let ((app_0 (unsafe-mcar i_0)))
          (subbytes app_0 pos_0 (fx+ pos_0 n_0)))))))
(define read-bytes/exactly*
  (lambda (n_0 i_0)
    (if (mpair? i_0)
      (read-bytes/exactly n_0 i_0)
      (let ((bstr_0 (read-bytes n_0 i_0)))
        (begin
          (if (if (bytes? bstr_0) (= n_0 (unsafe-bytes-length bstr_0)) #f)
            (void)
            (read-error "truncated stream"))
          bstr_0)))))
(define read-fasl-integer
  (lambda (i_0)
    (let ((b_0 (read-byte/no-eof i_0)))
      (if (fx<= b_0 127)
        b_0
        (if (fx>= b_0 132)
          (fx- b_0 256)
          (if (eqv? b_0 128)
            (let ((lo_0 (read-byte/no-eof i_0)))
              (let ((hi_0 (read-byte/no-eof i_0)))
                (if (fx> hi_0 127)
                  (fxior (unsafe-fxlshift (fx+ -256 hi_0) 8) lo_0)
                  (fxior (unsafe-fxlshift hi_0 8) lo_0))))
            (if (eqv? b_0 129)
              (let ((a_0 (read-byte/no-eof i_0)))
                (let ((b_1 (read-byte/no-eof i_0)))
                  (let ((c_0 (read-byte/no-eof i_0)))
                    (let ((d_0 (read-byte/no-eof i_0)))
                      (bitwise-ior
                       a_0
                       (arithmetic-shift
                        (if (fx> d_0 127)
                          (let ((app_0 (unsafe-fxlshift (fx+ -256 d_0) 16)))
                            (fxior app_0 (unsafe-fxlshift c_0 8) b_1))
                          (fxior
                           (unsafe-fxlshift d_0 16)
                           (unsafe-fxlshift c_0 8)
                           b_1))
                        8))))))
              (if (eqv? b_0 130)
                (integer-bytes->integer (read-bytes/exactly 8 i_0) #t #f)
                (if (eqv? b_0 131)
                  (let ((len_0 (read-fasl-integer i_0)))
                    (let ((str_0 (read-fasl-string i_0 len_0)))
                      (begin
                        (if (if (string? str_0)
                              (= len_0 (string-length str_0))
                              #f)
                          (void)
                          (read-error "truncated stream at number"))
                        (string->number str_0 16))))
                  (read-error "internal error on integer mode"))))))))))
(define read-fasl-integer*
  (lambda (i_0)
    (let ((b_0 (read-byte/no-eof* i_0)))
      (if (fx<= b_0 127)
        b_0
        (if (fx>= b_0 132)
          (fx- b_0 256)
          (if (eqv? b_0 128)
            (let ((lo_0 (read-byte/no-eof* i_0)))
              (let ((hi_0 (read-byte/no-eof* i_0)))
                (if (fx> hi_0 127)
                  (fxior (unsafe-fxlshift (fx+ -256 hi_0) 8) lo_0)
                  (fxior (unsafe-fxlshift hi_0 8) lo_0))))
            (if (eqv? b_0 129)
              (let ((a_0 (read-byte/no-eof* i_0)))
                (let ((b_1 (read-byte/no-eof* i_0)))
                  (let ((c_0 (read-byte/no-eof* i_0)))
                    (let ((d_0 (read-byte/no-eof* i_0)))
                      (bitwise-ior
                       a_0
                       (arithmetic-shift
                        (if (fx> d_0 127)
                          (let ((app_0 (unsafe-fxlshift (fx+ -256 d_0) 16)))
                            (fxior app_0 (unsafe-fxlshift c_0 8) b_1))
                          (fxior
                           (unsafe-fxlshift d_0 16)
                           (unsafe-fxlshift c_0 8)
                           b_1))
                        8))))))
              (if (eqv? b_0 130)
                (integer-bytes->integer (read-bytes/exactly* 8 i_0) #t #f)
                (if (eqv? b_0 131)
                  (let ((len_0 (read-fasl-integer i_0)))
                    (let ((str_0 (read-fasl-string i_0 len_0)))
                      (begin
                        (if (if (string? str_0)
                              (= len_0 (string-length str_0))
                              #f)
                          (void)
                          (read-error "truncated stream at number"))
                        (string->number str_0 16))))
                  (read-error "internal error on integer mode"))))))))))
(define read-fasl-string
  (let ((read-fasl-string_0
         (|#%name|
          read-fasl-string
          (lambda (i25_0 len24_0)
            (let ((len_0
                   (if (eq? len24_0 unsafe-undefined)
                     (read-fasl-integer i25_0)
                     len24_0)))
              (let ((pos_0 (unsafe-mcdr i25_0)))
                (let ((bstr_0 (unsafe-mcar i25_0)))
                  (if (let ((app_0 (+ pos_0 len_0)))
                        (<= app_0 (unsafe-bytes-length bstr_0)))
                    (begin
                      (unsafe-set-mcdr! i25_0 (fx+ pos_0 len_0))
                      (let ((s_0 (make-string len_0)))
                        (letrec*
                         ((loop_0
                           (|#%name|
                            loop
                            (lambda (i_0)
                              (if (fx= i_0 len_0)
                                s_0
                                (let ((c_0
                                       (unsafe-bytes-ref
                                        bstr_0
                                        (fx+ i_0 pos_0))))
                                  (if (fx<= c_0 128)
                                    (begin
                                      (string-set! s_0 i_0 (integer->char c_0))
                                      (loop_0 (fx+ i_0 1)))
                                    (bytes->string/utf-8
                                     bstr_0
                                     #f
                                     pos_0
                                     (fx+ pos_0 len_0)))))))))
                         (loop_0 0))))
                    (let ((bstr_1 (read-bytes/exactly len_0 i25_0)))
                      (bytes->string/utf-8 bstr_1))))))))))
    (case-lambda
     ((i_0) (read-fasl-string_0 i_0 unsafe-undefined))
     ((i_0 len24_0) (read-fasl-string_0 i_0 len24_0)))))
(define read-fasl-bytes
  (lambda (i_0)
    (let ((len_0 (read-fasl-integer i_0))) (read-bytes/exactly len_0 i_0))))
(define read-fasl-flonum
  (lambda (i_0) (floating-point-bytes->real (read-bytes/exactly 8 i_0) #f)))
(define fasl-literal?
  (lambda (q_0 need-exposed?_0)
    (if (impersonator? q_0)
      #t
      (if (path? q_0)
        #t
        (if (regexp? q_0)
          #t
          (if (srcloc? q_0)
            #t
            (if (byte-regexp? q_0)
              #t
              (if (keyword? q_0)
                #t
                (if (hash? q_0)
                  #t
                  (if (string? q_0)
                    #t
                    (if (bytes? q_0)
                      #t
                      (if (prefab-struct-key q_0)
                        #t
                        (if (|#%app| need-exposed?_0 q_0)
                          #t
                          (if (extflonum? q_0) #t #f))))))))))))))
(define finish_2489
  (make-struct-type-install-properties
   '(to-unfasl)
   3
   0
   #f
   (list (cons prop:authentic #t))
   (current-inspector)
   #f
   '(0 1 2)
   #f
   'to-unfasl))
(define struct:to-unfasl
  (make-record-type-descriptor
   'to-unfasl
   #f
   (|#%nongenerative-uid| to-unfasl)
   #f
   #f
   '(3 . 0)))
(define effect_2898 (finish_2489 struct:to-unfasl))
(define to-unfasl1.1
  (|#%name|
   to-unfasl
   (record-constructor
    (make-record-constructor-descriptor struct:to-unfasl #f #f))))
(define to-unfasl? (|#%name| to-unfasl? (record-predicate struct:to-unfasl)))
(define to-unfasl-bstr
  (|#%name| to-unfasl-bstr (record-accessor struct:to-unfasl 0)))
(define to-unfasl-externals
  (|#%name| to-unfasl-externals (record-accessor struct:to-unfasl 1)))
(define to-unfasl-wrt
  (|#%name| to-unfasl-wrt (record-accessor struct:to-unfasl 2)))
(define empty-literals?
  (lambda (v_0) (if (vector? v_0) (eqv? 0 (vector-length v_0)) #f)))
(define fasl-literals
  (lambda (v_0 need-exposed?_0)
    (if (empty-literals? v_0)
      v_0
      (let ((exposed_0 '()))
        (let ((cannot-fasl5_0 cannot-fasl))
          (let ((bstr_0
                 (let ((temp6_0
                        (lambda (v_1)
                          (if (|#%app| need-exposed?_0 v_1)
                            (begin (set! exposed_0 (cons v_1 exposed_0)) #t)
                            #f))))
                   (s-exp->fasl.1 temp6_0 cannot-fasl5_0 #f #t v_0 #f))))
            (if (null? exposed_0)
              bstr_0
              (cons bstr_0 (list->vector (reverse$1 exposed_0))))))))))
(define unfasl-literals/lazy
  (lambda (v_0)
    (if (empty-literals? v_0)
      v_0
      (box
       (let ((app_0 (if (pair? v_0) (car v_0) v_0)))
         (let ((app_1 (if (pair? v_0) (cdr v_0) '#())))
           (to-unfasl1.1 app_0 app_1 (current-load-relative-directory))))))))
(define force-unfasl-literals
  (lambda (b_0)
    (if (box? b_0)
      (let ((v_0 (unbox b_0)))
        (if (to-unfasl? v_0)
          (let ((new-v_0
                 (with-continuation-mark*
                  push-authentic
                  parameterization-key
                  (let ((app_0
                         (continuation-mark-set-first
                          #f
                          parameterization-key)))
                    (extend-parameterization
                     app_0
                     current-load-relative-directory
                     (to-unfasl-wrt v_0)))
                  (let ((temp7_0 (to-unfasl-bstr v_0)))
                    (let ((temp10_0 (to-unfasl-externals v_0)))
                      (fasl->s-exp.1 #t temp10_0 #t temp7_0))))))
            (letrec*
             ((loop_0
               (|#%name|
                loop
                (lambda ()
                  (if (unsafe-box*-cas! b_0 v_0 new-v_0)
                    new-v_0
                    (let ((v_1 (unbox b_0)))
                      (if (to-unfasl? v_1) (loop_0) v_1)))))))
             (loop_0)))
          v_0))
      b_0)))
(define cannot-fasl
  (lambda (v_0)
    (error
     'write
     "cannot marshal value that is embedded in compiled code\n  value: ~v"
     v_0)))
(define empty-treelist '#(0))
(define WIDTH-BITS 4)
(define WIDTH 16)
(define treelist-ref
  (lambda (v_0 i_0)
    (let ((shift_0 (unsafe-vector*-ref v_0 0)))
      (if (fx= 0 shift_0)
        (unsafe-vector*-ref v_0 (fx+ i_0 1))
        (let ((app_0
               (unsafe-vector*-ref v_0 (fx+ (unsafe-fxrshift i_0 shift_0) 1))))
          (treelist-ref
           app_0
           (fxand i_0 (fx- (unsafe-fxlshift 1 shift_0) 1))))))))
(define treelist-maybe-set
  (lambda (v_0 i_0 val_0)
    (let ((shift_0 (vector-ref v_0 0)))
      (let ((len_0 (unsafe-vector*-length v_0)))
        (if (fx= 0 shift_0)
          (let ((idx_0 (fx+ i_0 1)))
            (if (fx< idx_0 len_0)
              (unsafe-vector*-set/copy v_0 idx_0 val_0)
              (if (fx<= idx_0 16)
                (if (fx= idx_0 len_0)
                  (vector*-extend v_0 (fx+ idx_0 1) val_0)
                  (unsafe-vector*-set/copy
                   (vector*-extend v_0 (fx+ idx_0 1) #f)
                   idx_0
                   val_0))
                #f)))
          (let ((idx_0 (fx+ (unsafe-fxrshift i_0 shift_0) 1)))
            (if (fx< idx_0 len_0)
              (let ((new-sub_0
                     (let ((app_0 (unsafe-vector*-ref v_0 idx_0)))
                       (treelist-maybe-set
                        app_0
                        (fxand i_0 (fx- (unsafe-fxlshift 1 shift_0) 1))
                        val_0))))
                (unsafe-vector*-set/copy v_0 idx_0 new-sub_0))
              (if (fx<= idx_0 16)
                (treelist-maybe-set
                 (let ((app_0 (fx+ idx_0 1)))
                   (vector*-extend v_0 app_0 (vector (fx- shift_0 4))))
                 i_0
                 val_0)
                #f))))))))
(define treelist-set
  (lambda (v_0 i_0 val_0)
    (let ((or-part_0 (treelist-maybe-set v_0 i_0 val_0)))
      (if or-part_0
        or-part_0
        (let ((v_1 (vector (fx+ (vector-ref v_0 0) 4) v_0)))
          (treelist-set v_1 i_0 val_0))))))
(define empty-intmap (cons empty-treelist empty-treelist))
(define intmap-ref
  (lambda (im_0 i_0)
    (if (fx< i_0 0)
      (let ((app_0 (car im_0))) (treelist-ref app_0 (fx- -1 i_0)))
      (treelist-ref (cdr im_0) i_0))))
(define intmap-set
  (lambda (im_0 i_0 v_0)
    (if (fx< i_0 0)
      (let ((app_0
             (let ((app_0 (car im_0))) (treelist-set app_0 (fx- -1 i_0) v_0))))
        (cons app_0 (cdr im_0)))
      (let ((app_0 (car im_0)))
        (cons app_0 (treelist-set (cdr im_0) i_0 v_0))))))
(define intmap-remove (lambda (im_0 i_0) (intmap-set im_0 i_0 #f)))
(define empty-stack empty-intmap)
(define stack-ref
  (let ((stack-ref_0
         (|#%name|
          stack-ref
          (lambda (stack2_0 i3_0 tail?1_0)
            (if (box? i3_0)
              (let ((i_0 (unsafe-unbox* i3_0)))
                (if tail?1_0
                  (intmap-ref stack2_0 i_0)
                  (let ((app_0 (intmap-set stack2_0 i_0 #f)))
                    (values app_0 (intmap-ref stack2_0 i_0)))))
              (if tail?1_0
                (intmap-ref stack2_0 i3_0)
                (values stack2_0 (intmap-ref stack2_0 i3_0))))))))
    (case-lambda
     ((stack_0 i_0) (stack-ref_0 stack_0 i_0 #f))
     ((stack_0 i_0 tail?1_0) (stack-ref_0 stack_0 i_0 tail?1_0)))))
(define stack-set
  (lambda (stack_0 i_0 v_0) (let ((s_0 (intmap-set stack_0 i_0 v_0))) s_0)))
(define stack-remove (lambda (stack_0 i_0) (intmap-set stack_0 i_0 #f)))
(define push-stack
  (lambda (stack_0 pos_0 vals_0 mask_0)
    (let ((rest?_0 (negative? mask_0)))
      (let ((count_0
             (if rest?_0
               (integer-length mask_0)
               (sub1 (integer-length mask_0)))))
        (letrec*
         ((loop_0
           (|#%name|
            loop
            (lambda (pos_1 vals_1 count_1 stack_1)
              (if (zero? count_1)
                (if rest?_0 (stack-set stack_1 pos_1 vals_1) stack_1)
                (let ((app_0 (add1 pos_1)))
                  (let ((app_1 (cdr vals_1)))
                    (let ((app_2 (sub1 count_1)))
                      (loop_0
                       app_0
                       app_1
                       app_2
                       (stack-set stack_1 pos_1 (car vals_1)))))))))))
         (loop_0 pos_0 vals_0 count_0 stack_0))))))
(define finish_2254
  (make-struct-type-install-properties
   '(stack-info)
   5
   0
   #f
   (list (cons prop:authentic #t))
   (current-inspector)
   #f
   '(0 1)
   #f
   'stack-info))
(define struct:stack-info
  (make-record-type-descriptor
   'stack-info
   #f
   (|#%nongenerative-uid| stack-info)
   #f
   #f
   '(5 . 28)))
(define effect_2334 (finish_2254 struct:stack-info))
(define stack-info4.1
  (|#%name|
   stack-info
   (record-constructor
    (make-record-constructor-descriptor struct:stack-info #f #f))))
(define stack-info?
  (|#%name| stack-info? (record-predicate struct:stack-info)))
(define stack-info-capture-depth
  (|#%name| stack-info-capture-depth (record-accessor struct:stack-info 0)))
(define stack-info-closure-map
  (|#%name| stack-info-closure-map (record-accessor struct:stack-info 1)))
(define stack-info-use-map
  (|#%name| stack-info-use-map (record-accessor struct:stack-info 2)))
(define stack-info-local-use-map
  (|#%name| stack-info-local-use-map (record-accessor struct:stack-info 3)))
(define stack-info-non-tail-call-later?
  (|#%name|
   stack-info-non-tail-call-later?
   (record-accessor struct:stack-info 4)))
(define set-stack-info-use-map!
  (|#%name| set-stack-info-use-map! (record-mutator struct:stack-info 2)))
(define set-stack-info-local-use-map!
  (|#%name|
   set-stack-info-local-use-map!
   (record-mutator struct:stack-info 3)))
(define set-stack-info-non-tail-call-later?!
  (|#%name|
   set-stack-info-non-tail-call-later?!
   (record-mutator struct:stack-info 4)))
(define make-stack-info.1
  (|#%name|
   make-stack-info
   (lambda (capture-depth5_0 closure-map6_0 track-use?7_0)
     (stack-info4.1
      capture-depth5_0
      closure-map6_0
      (if track-use?7_0 hash2610 #f)
      #f
      #f))))
(define stack->pos.1
  (|#%name|
   stack->pos
   (lambda (nonuse?12_0 i14_0 stk-i15_0)
     (let ((capture-depth_0 (stack-info-capture-depth stk-i15_0)))
       (let ((pos_0
              (if (not capture-depth_0)
                i14_0
                (if (>= i14_0 capture-depth_0)
                  (- i14_0 capture-depth_0)
                  (let ((cond-val_0
                         (hash-ref
                          (stack-info-closure-map stk-i15_0)
                          i14_0
                          #f)))
                    (if cond-val_0
                      cond-val_0
                      (let ((cmap_0 (stack-info-closure-map stk-i15_0)))
                        (let ((pos_0 (- -1 (hash-count cmap_0))))
                          (begin (hash-set! cmap_0 i14_0 pos_0) pos_0)))))))))
         (if nonuse?12_0
           pos_0
           (let ((use-map_0 (stack-info-use-map stk-i15_0)))
             (if (let ((or-part_0 (not use-map_0)))
                   (if or-part_0 or-part_0 (hash-ref use-map_0 pos_0 #f)))
               pos_0
               (begin
                 (if use-map_0
                   (set-stack-info-use-map!
                    stk-i15_0
                    (hash-set use-map_0 pos_0 #t))
                   (void))
                 (let ((local-use-map_0 (stack-info-local-use-map stk-i15_0)))
                   (begin
                     (if local-use-map_0
                       (set-stack-info-local-use-map!
                        stk-i15_0
                        (hash-set local-use-map_0 pos_0 #t))
                       (void))
                     (if (stack-info-non-tail-call-later? stk-i15_0)
                       (box pos_0)
                       pos_0))))))))))))
(define stack-info-branch
  (lambda (stk-i_0)
    (let ((app_0 (stack-info-use-map stk-i_0)))
      (stack-info4.1
       (stack-info-capture-depth stk-i_0)
       (stack-info-closure-map stk-i_0)
       app_0
       hash2610
       (stack-info-non-tail-call-later? stk-i_0)))))
(define stack-info-branch-need-clears?
  (lambda (stk-i_0) (stack-info-non-tail-call-later? stk-i_0)))
(define stack-info-merge!
  (lambda (stk-i_0 branch-stk-is_0)
    (let ((all-clear_0 (make-hasheq)))
      (begin
        (letrec*
         ((for-loop_0
           (|#%name|
            for-loop
            (lambda (lst_0)
              (if (pair? lst_0)
                (let ((branch-stk-i_0 (unsafe-car lst_0)))
                  (let ((rest_0 (unsafe-cdr lst_0)))
                    (begin
                      (begin
                        (let ((ht_0 (stack-info-local-use-map branch-stk-i_0)))
                          (letrec*
                           ((for-loop_1
                             (|#%name|
                              for-loop
                              (lambda (i_0)
                                (if i_0
                                  (let ((pos_0 (hash-iterate-key ht_0 i_0)))
                                    (begin
                                      (begin
                                        (hash-set! all-clear_0 pos_0 #t)
                                        (let ((use-map_0
                                               (stack-info-use-map stk-i_0)))
                                          (begin
                                            (if use-map_0
                                              (set-stack-info-use-map!
                                               stk-i_0
                                               (hash-set use-map_0 pos_0 #t))
                                              (void))
                                            (let ((local-use-map_0
                                                   (stack-info-local-use-map
                                                    stk-i_0)))
                                              (begin
                                                (if local-use-map_0
                                                  (set-stack-info-local-use-map!
                                                   stk-i_0
                                                   (hash-set
                                                    local-use-map_0
                                                    pos_0
                                                    #t))
                                                  (void))
                                                (set-stack-info-non-tail-call-later?!
                                                 stk-i_0
                                                 (let ((or-part_0
                                                        (stack-info-non-tail-call-later?
                                                         stk-i_0)))
                                                   (if or-part_0
                                                     or-part_0
                                                     (stack-info-non-tail-call-later?
                                                      branch-stk-i_0)))))))))
                                      (for-loop_1
                                       (hash-iterate-next ht_0 i_0))))
                                  (values))))))
                           (for-loop_1 (hash-iterate-first ht_0))))
                        (void))
                      (for-loop_0 rest_0))))
                (values))))))
         (for-loop_0 branch-stk-is_0))
        (void)
        all-clear_0))))
(define stack-info-forget!
  (lambda (stk-i_0 stack-depth_0 start-pos_0 len_0)
    (if (stack-info-use-map stk-i_0)
      (begin
        (letrec*
         ((for-loop_0
           (|#%name|
            for-loop
            (lambda (pos_0)
              (if (< pos_0 len_0)
                (begin
                  (let ((pos_1 (+ start-pos_0 pos_0)))
                    (let ((use-map_0 (stack-info-use-map stk-i_0)))
                      (begin
                        (set-stack-info-use-map!
                         stk-i_0
                         (hash-remove use-map_0 pos_1))
                        (let ((local-use-map_0
                               (stack-info-local-use-map stk-i_0)))
                          (if local-use-map_0
                            (set-stack-info-local-use-map!
                             stk-i_0
                             (hash-remove local-use-map_0 pos_1))
                            (void))))))
                  (for-loop_0 (+ pos_0 1)))
                (values))))))
         (for-loop_0 0))
        (void))
      (void))))
(define stack-info-non-tail!
  (lambda (stk-i_0 stack-depth_0)
    (set-stack-info-non-tail-call-later?! stk-i_0 #t)))
(define finish_2657
  (make-struct-type-install-properties
   '(indirect)
   2
   0
   #f
   (list (cons prop:authentic #t))
   (current-inspector)
   #f
   '(0 1)
   #f
   'indirect))
(define struct:indirect
  (make-record-type-descriptor
   'indirect
   #f
   (|#%nongenerative-uid| indirect)
   #f
   #f
   '(2 . 0)))
(define effect_2125 (finish_2657 struct:indirect))
(define indirect1.1
  (|#%name|
   indirect
   (record-constructor
    (make-record-constructor-descriptor struct:indirect #f #f))))
(define indirect? (|#%name| indirect? (record-predicate struct:indirect)))
(define indirect-pos
  (|#%name| indirect-pos (record-accessor struct:indirect 0)))
(define indirect-element
  (|#%name| indirect-element (record-accessor struct:indirect 1)))
(define finish_2990
  (make-struct-type-install-properties
   '(boxed)
   1
   0
   #f
   (list (cons prop:authentic #t))
   (current-inspector)
   #f
   '(0)
   #f
   'boxed))
(define struct:boxed
  (make-record-type-descriptor
   'boxed
   #f
   (|#%nongenerative-uid| boxed)
   #f
   #f
   '(1 . 0)))
(define effect_2970 (finish_2990 struct:boxed))
(define boxed2.1
  (|#%name|
   boxed
   (record-constructor
    (make-record-constructor-descriptor struct:boxed #f #f))))
(define boxed? (|#%name| boxed? (record-predicate struct:boxed)))
(define boxed-pos (|#%name| boxed-pos (record-accessor struct:boxed 0)))
(define finish_2131
  (make-struct-type-install-properties
   '(boxed/check)
   0
   0
   struct:boxed
   (list (cons prop:authentic #t))
   (current-inspector)
   #f
   '()
   #f
   'boxed/check))
(define struct:boxed/check
  (make-record-type-descriptor
   'boxed/check
   struct:boxed
   (|#%nongenerative-uid| boxed/check)
   #f
   #f
   '(0 . 0)))
(define effect_2937 (finish_2131 struct:boxed/check))
(define boxed/check3.1
  (|#%name|
   boxed/check
   (record-constructor
    (make-record-constructor-descriptor struct:boxed/check #f #f))))
(define boxed/check?
  (|#%name| boxed/check? (record-predicate struct:boxed/check)))
(define primitives hash2610)
(define strip-annotations (lambda (e_0) e_0))
(define make-internal-variable (lambda (name_0) (box unsafe-undefined)))
(define 1/variable-ref (|#%name| variable-ref (lambda (var_0) (unbox var_0))))
(define 1/variable-ref/no-check
  (|#%name| variable-ref/no-check (lambda (var_0) (unbox var_0))))
(define 1/variable-set!
  (|#%name| variable-set! (lambda (var_0 v_0) (set-box! var_0 v_0))))
(define 1/variable-set!/define
  (|#%name| variable-set!/define (lambda (var_0 v_0) (set-box! var_0 v_0))))
(define make-interp-procedure* (lambda (proc_0 mask_0 name+realm_0) proc_0))
(define decode-procedure-name (lambda (name_0) name_0))
(define foreign-inline-eval (lambda (e_0) e_0))
(define interpreter-link!
  (lambda (prims_0
           strip_0
           make-var_0
           var-ref_0
           var-ref/no-check_0
           var-set!_0
           var-set!/def_0
           make-proc_0
           decode-proc-name_0
           foreign-eval_0)
    (begin
      (set! primitives prims_0)
      (set! strip-annotations strip_0)
      (set! make-internal-variable make-var_0)
      (set! 1/variable-ref var-ref_0)
      (set! 1/variable-ref/no-check var-ref/no-check_0)
      (set! 1/variable-set! var-set!_0)
      (set! 1/variable-set!/define var-set!/def_0)
      (set! make-interp-procedure* make-proc_0)
      (set! decode-procedure-name decode-proc-name_0)
      (set! foreign-inline-eval foreign-eval_0))))
(define interpretable-jitified-linklet
  (lambda (linklet-e_0 serializable?_0 realm_0)
    (letrec*
     ((start_0
       (|#%name|
        start
        (lambda (linklet-e_1)
          (call-with-values
           (lambda () (compile-linklet-body_0 linklet-e_1 hash2610 0))
           (lambda (compiled-body_0 num-body-vars_0 internal-var-syms_0)
             (vector internal-var-syms_0 num-body-vars_0 compiled-body_0))))))
      (compile-linklet-body_0
       (|#%name|
        compile-linklet-body
        (lambda (v_0 env_0 stack-depth_0)
          (let ((hd_0
                 (let ((p_0 (unwrap v_0)))
                   (if (pair? p_0) (unwrap (car p_0)) #f))))
            (if (if (eq? 'lambda hd_0)
                  (let ((a_0 (cdr (unwrap v_0))))
                    (let ((p_0 (unwrap a_0))) (if (pair? p_0) #t #f)))
                  #f)
              (call-with-values
               (lambda ()
                 (let ((d_0 (cdr (unwrap v_0))))
                   (let ((p_0 (unwrap d_0)))
                     (let ((args_0 (let ((a_0 (car p_0))) a_0)))
                       (let ((vars+body_0 (let ((d_1 (cdr p_0))) d_1)))
                         (let ((args_1 args_0))
                           (values args_1 vars+body_0)))))))
               (lambda (args_0 vars+body_0)
                 (call-with-values
                  (lambda ()
                    (letrec*
                     ((loop_0
                       (|#%name|
                        loop
                        (lambda (rev-create-vars_0 body_0)
                          (if (null? body_0)
                            (values (reverse$1 rev-create-vars_0) body_0)
                            (let ((v_1 (car body_0)))
                              (let ((hd_1
                                     (let ((p_0 (unwrap v_1)))
                                       (if (pair? p_0)
                                         (unwrap (car p_0))
                                         #f))))
                                (if (if (eq? 'define hd_1)
                                      (let ((a_0 (cdr (unwrap v_1))))
                                        (let ((p_0 (unwrap a_0)))
                                          (if (pair? p_0)
                                            (let ((a_1 (cdr p_0)))
                                              (let ((p_1 (unwrap a_1)))
                                                (if (pair? p_1)
                                                  (if (let ((a_2 (car p_1)))
                                                        (let ((p_2
                                                               (unwrap a_2)))
                                                          (if (pair? p_2)
                                                            (if (let ((a_3
                                                                       (car
                                                                        p_2)))
                                                                  (let ((app_0
                                                                         (unwrap
                                                                          'make-internal-variable)))
                                                                    (eq?
                                                                     app_0
                                                                     (unwrap
                                                                      a_3))))
                                                              #t
                                                              #f)
                                                            #f)))
                                                    (let ((a_2 (cdr p_1)))
                                                      (let ((app_0
                                                             (unwrap '())))
                                                        (eq?
                                                         app_0
                                                         (unwrap a_2))))
                                                    #f)
                                                  #f)))
                                            #f)))
                                      #f)
                                  (let ((id_0
                                         (let ((d_0 (cdr (unwrap v_1))))
                                           (let ((a_0 (car (unwrap d_0))))
                                             a_0))))
                                    (let ((app_0
                                           (cons
                                            (car body_0)
                                            rev-create-vars_0)))
                                      (loop_0 app_0 (cdr body_0))))
                                  (values
                                   (reverse$1 rev-create-vars_0)
                                   body_0)))))))))
                     (loop_0 '() vars+body_0)))
                  (lambda (create-vars_0 body_0)
                    (let ((mutated_0
                           (extract-list-mutated_0 body_0 hash2610)))
                      (let ((num-args_0 (length args_0)))
                        (let ((args-env_0
                               (letrec*
                                ((for-loop_0
                                  (|#%name|
                                   for-loop
                                   (lambda (env_1 lst_0 pos_0)
                                     (if (if (pair? lst_0) #t #f)
                                       (let ((arg_0 (unsafe-car lst_0)))
                                         (let ((rest_0 (unsafe-cdr lst_0)))
                                           (let ((env_2
                                                  (let ((env_2
                                                         (hash-set
                                                          env_1
                                                          arg_0
                                                          (+
                                                           stack-depth_0
                                                           pos_0))))
                                                    (values env_2))))
                                             (for-loop_0
                                              env_2
                                              rest_0
                                              (+ pos_0 1)))))
                                       env_1)))))
                                (for-loop_0 env_0 args_0 0))))
                          (let ((num-creates_0 (length create-vars_0)))
                            (let ((args+creates-env_0
                                   (letrec*
                                    ((for-loop_0
                                      (|#%name|
                                       for-loop
                                       (lambda (env_1 lst_0 pos_0)
                                         (if (if (pair? lst_0) #t #f)
                                           (let ((e_0 (unsafe-car lst_0)))
                                             (let ((rest_0 (unsafe-cdr lst_0)))
                                               (let ((env_2
                                                      (let ((env_2
                                                             (let ((hd_1
                                                                    (let ((p_0
                                                                           (unwrap
                                                                            e_0)))
                                                                      (if (pair?
                                                                           p_0)
                                                                        (unwrap
                                                                         (car
                                                                          p_0))
                                                                        #f))))
                                                               (if (if (eq?
                                                                        'define
                                                                        hd_1)
                                                                     (let ((a_0
                                                                            (cdr
                                                                             (unwrap
                                                                              e_0))))
                                                                       (let ((p_0
                                                                              (unwrap
                                                                               a_0)))
                                                                         (if (pair?
                                                                              p_0)
                                                                           (let ((a_1
                                                                                  (cdr
                                                                                   p_0)))
                                                                             (let ((p_1
                                                                                    (unwrap
                                                                                     a_1)))
                                                                               (if (pair?
                                                                                    p_1)
                                                                                 (if (let ((a_2
                                                                                            (car
                                                                                             p_1)))
                                                                                       (let ((p_2
                                                                                              (unwrap
                                                                                               a_2)))
                                                                                         (if (pair?
                                                                                              p_2)
                                                                                           (if (let ((a_3
                                                                                                      (car
                                                                                                       p_2)))
                                                                                                 (let ((app_0
                                                                                                        (unwrap
                                                                                                         'make-internal-variable)))
                                                                                                   (eq?
                                                                                                    app_0
                                                                                                    (unwrap
                                                                                                     a_3))))
                                                                                             #t
                                                                                             #f)
                                                                                           #f)))
                                                                                   (let ((a_2
                                                                                          (cdr
                                                                                           p_1)))
                                                                                     (let ((app_0
                                                                                            (unwrap
                                                                                             '())))
                                                                                       (eq?
                                                                                        app_0
                                                                                        (unwrap
                                                                                         a_2))))
                                                                                   #f)
                                                                                 #f)))
                                                                           #f)))
                                                                     #f)
                                                                 (let ((id_0
                                                                        (let ((d_0
                                                                               (cdr
                                                                                (unwrap
                                                                                 e_0))))
                                                                          (let ((a_0
                                                                                 (car
                                                                                  (unwrap
                                                                                   d_0))))
                                                                            a_0))))
                                                                   (hash-set
                                                                    env_1
                                                                    id_0
                                                                    (+
                                                                     stack-depth_0
                                                                     num-args_0
                                                                     pos_0)))
                                                                 (error
                                                                  'match
                                                                  "failed ~e"
                                                                  e_0)))))
                                                        (values env_2))))
                                                 (for-loop_0
                                                  env_2
                                                  rest_0
                                                  (+ pos_0 1)))))
                                           env_1)))))
                                    (for-loop_0 args-env_0 create-vars_0 0))))
                              (let ((body-vars-index_0
                                     (+
                                      num-args_0
                                      num-creates_0
                                      stack-depth_0)))
                                (call-with-values
                                 (lambda ()
                                   (letrec*
                                    ((for-loop_0
                                      (|#%name|
                                       for-loop
                                       (lambda (env_1 num-body-vars_0 lst_0)
                                         (if (not (null? (unwrap lst_0)))
                                           (let ((e_0
                                                  (if (pair? (unwrap lst_0))
                                                    (wrap-car lst_0)
                                                    lst_0)))
                                             (let ((rest_0
                                                    (if (pair? (unwrap lst_0))
                                                      (wrap-cdr lst_0)
                                                      null)))
                                               (let ((e_1 e_0))
                                                 (call-with-values
                                                  (lambda ()
                                                    (call-with-values
                                                     (lambda ()
                                                       (letrec*
                                                        ((loop_0
                                                          (|#%name|
                                                           loop
                                                           (lambda (e_2
                                                                    env_2
                                                                    num-body-vars_1)
                                                             (let ((hd_1
                                                                    (let ((p_0
                                                                           (unwrap
                                                                            e_2)))
                                                                      (if (pair?
                                                                           p_0)
                                                                        (unwrap
                                                                         (car
                                                                          p_0))
                                                                        #f))))
                                                               (if (if (eq?
                                                                        'define
                                                                        hd_1)
                                                                     (let ((a_0
                                                                            (cdr
                                                                             (unwrap
                                                                              e_2))))
                                                                       (let ((p_0
                                                                              (unwrap
                                                                               a_0)))
                                                                         (if (pair?
                                                                              p_0)
                                                                           (let ((a_1
                                                                                  (cdr
                                                                                   p_0)))
                                                                             (let ((p_1
                                                                                    (unwrap
                                                                                     a_1)))
                                                                               (if (pair?
                                                                                    p_1)
                                                                                 (if (let ((a_2
                                                                                            (car
                                                                                             p_1)))
                                                                                       (let ((p_2
                                                                                              (unwrap
                                                                                               a_2)))
                                                                                         (if (pair?
                                                                                              p_2)
                                                                                           (if (let ((a_3
                                                                                                      (car
                                                                                                       p_2)))
                                                                                                 (let ((app_0
                                                                                                        (unwrap
                                                                                                         'make-internal-variable)))
                                                                                                   (eq?
                                                                                                    app_0
                                                                                                    (unwrap
                                                                                                     a_3))))
                                                                                             #t
                                                                                             #f)
                                                                                           #f)))
                                                                                   (let ((a_2
                                                                                          (cdr
                                                                                           p_1)))
                                                                                     (let ((app_0
                                                                                            (unwrap
                                                                                             '())))
                                                                                       (eq?
                                                                                        app_0
                                                                                        (unwrap
                                                                                         a_2))))
                                                                                   #f)
                                                                                 #f)))
                                                                           #f)))
                                                                     #f)
                                                                 (let ((id_0
                                                                        (let ((d_0
                                                                               (cdr
                                                                                (unwrap
                                                                                 e_2))))
                                                                          (let ((a_0
                                                                                 (car
                                                                                  (unwrap
                                                                                   d_0))))
                                                                            a_0))))
                                                                   (error
                                                                    'compile
                                                                    "misplaced make-internal-variable"))
                                                                 (if (if (eq?
                                                                          'define
                                                                          hd_1)
                                                                       (let ((a_0
                                                                              (cdr
                                                                               (unwrap
                                                                                e_2))))
                                                                         (let ((p_0
                                                                                (unwrap
                                                                                 a_0)))
                                                                           (if (pair?
                                                                                p_0)
                                                                             #t
                                                                             #f)))
                                                                       #f)
                                                                   (let ((id_0
                                                                          (let ((d_0
                                                                                 (cdr
                                                                                  (unwrap
                                                                                   e_2))))
                                                                            (let ((a_0
                                                                                   (car
                                                                                    (unwrap
                                                                                     d_0))))
                                                                              a_0))))
                                                                     (let ((app_0
                                                                            (let ((app_0
                                                                                   (unwrap
                                                                                    id_0)))
                                                                              (hash-set
                                                                               env_2
                                                                               app_0
                                                                               (boxed2.1
                                                                                (+
                                                                                 body-vars-index_0
                                                                                 num-body-vars_1))))))
                                                                       (values
                                                                        app_0
                                                                        (add1
                                                                         num-body-vars_1))))
                                                                   (if (if (eq?
                                                                            'define-values
                                                                            hd_1)
                                                                         (let ((a_0
                                                                                (cdr
                                                                                 (unwrap
                                                                                  e_2))))
                                                                           (let ((p_0
                                                                                  (unwrap
                                                                                   a_0)))
                                                                             (if (pair?
                                                                                  p_0)
                                                                               #t
                                                                               #f)))
                                                                         #f)
                                                                     (let ((ids_0
                                                                            (let ((d_0
                                                                                   (cdr
                                                                                    (unwrap
                                                                                     e_2))))
                                                                              (let ((a_0
                                                                                     (car
                                                                                      (unwrap
                                                                                       d_0))))
                                                                                a_0))))
                                                                       (letrec*
                                                                        ((for-loop_1
                                                                          (|#%name|
                                                                           for-loop
                                                                           (lambda (env_3
                                                                                    num-body-vars_2
                                                                                    lst_1)
                                                                             (if (not
                                                                                  (null?
                                                                                   (unwrap
                                                                                    lst_1)))
                                                                               (let ((id_0
                                                                                      (if (pair?
                                                                                           (unwrap
                                                                                            lst_1))
                                                                                        (wrap-car
                                                                                         lst_1)
                                                                                        lst_1)))
                                                                                 (let ((rest_1
                                                                                        (if (pair?
                                                                                             (unwrap
                                                                                              lst_1))
                                                                                          (wrap-cdr
                                                                                           lst_1)
                                                                                          null)))
                                                                                   (let ((id_1
                                                                                          id_0))
                                                                                     (call-with-values
                                                                                      (lambda ()
                                                                                        (call-with-values
                                                                                         (lambda ()
                                                                                           (let ((app_0
                                                                                                  (let ((app_0
                                                                                                         (unwrap
                                                                                                          id_1)))
                                                                                                    (hash-set
                                                                                                     env_3
                                                                                                     app_0
                                                                                                     (boxed2.1
                                                                                                      (+
                                                                                                       body-vars-index_0
                                                                                                       num-body-vars_2))))))
                                                                                             (values
                                                                                              app_0
                                                                                              (add1
                                                                                               num-body-vars_2))))
                                                                                         (lambda (env_4
                                                                                                  num-body-vars_3)
                                                                                           (values
                                                                                            env_4
                                                                                            num-body-vars_3))))
                                                                                      (lambda (env_4
                                                                                               num-body-vars_3)
                                                                                        (for-loop_1
                                                                                         env_4
                                                                                         num-body-vars_3
                                                                                         rest_1))))))
                                                                               (values
                                                                                env_3
                                                                                num-body-vars_2))))))
                                                                        (for-loop_1
                                                                         env_2
                                                                         num-body-vars_1
                                                                         ids_0)))
                                                                     (if (if (eq?
                                                                              'begin
                                                                              hd_1)
                                                                           #t
                                                                           #f)
                                                                       (let ((body_1
                                                                              (let ((d_0
                                                                                     (cdr
                                                                                      (unwrap
                                                                                       e_2))))
                                                                                d_0)))
                                                                         (letrec*
                                                                          ((for-loop_1
                                                                            (|#%name|
                                                                             for-loop
                                                                             (lambda (env_3
                                                                                      num-body-vars_2
                                                                                      lst_1)
                                                                               (if (not
                                                                                    (null?
                                                                                     (unwrap
                                                                                      lst_1)))
                                                                                 (let ((e_3
                                                                                        (if (pair?
                                                                                             (unwrap
                                                                                              lst_1))
                                                                                          (wrap-car
                                                                                           lst_1)
                                                                                          lst_1)))
                                                                                   (let ((rest_1
                                                                                          (if (pair?
                                                                                               (unwrap
                                                                                                lst_1))
                                                                                            (wrap-cdr
                                                                                             lst_1)
                                                                                            null)))
                                                                                     (let ((e_4
                                                                                            e_3))
                                                                                       (call-with-values
                                                                                        (lambda ()
                                                                                          (call-with-values
                                                                                           (lambda ()
                                                                                             (loop_0
                                                                                              e_4
                                                                                              env_3
                                                                                              num-body-vars_2))
                                                                                           (lambda (env_4
                                                                                                    num-body-vars_3)
                                                                                             (values
                                                                                              env_4
                                                                                              num-body-vars_3))))
                                                                                        (lambda (env_4
                                                                                                 num-body-vars_3)
                                                                                          (for-loop_1
                                                                                           env_4
                                                                                           num-body-vars_3
                                                                                           rest_1))))))
                                                                                 (values
                                                                                  env_3
                                                                                  num-body-vars_2))))))
                                                                          (for-loop_1
                                                                           env_2
                                                                           num-body-vars_1
                                                                           body_1)))
                                                                       (values
                                                                        env_2
                                                                        num-body-vars_1))))))))))
                                                        (loop_0
                                                         e_1
                                                         env_1
                                                         num-body-vars_0)))
                                                     (lambda (env_2
                                                              num-body-vars_1)
                                                       (values
                                                        env_2
                                                        num-body-vars_1))))
                                                  (lambda (env_2
                                                           num-body-vars_1)
                                                    (for-loop_0
                                                     env_2
                                                     num-body-vars_1
                                                     rest_0))))))
                                           (values env_1 num-body-vars_0))))))
                                    (for-loop_0 args+creates-env_0 0 body_0)))
                                 (lambda (body-env_0 num-body-vars_0)
                                   (let ((body-stack-depth_0
                                          (+
                                           num-body-vars_0
                                           num-args_0
                                           num-creates_0
                                           stack-depth_0)))
                                     (let ((stk-i_0
                                            (make-stack-info.1
                                             #f
                                             hash2610
                                             #t)))
                                       (let ((new-body_0
                                              (compile-top-body_0
                                               body_0
                                               body-env_0
                                               body-stack-depth_0
                                               stk-i_0
                                               mutated_0)))
                                         (let ((internal-var-syms_0
                                                (reverse$1
                                                 (letrec*
                                                  ((for-loop_0
                                                    (|#%name|
                                                     for-loop
                                                     (lambda (fold-var_0 lst_0)
                                                       (if (pair? lst_0)
                                                         (let ((e_0
                                                                (unsafe-car
                                                                 lst_0)))
                                                           (let ((rest_0
                                                                  (unsafe-cdr
                                                                   lst_0)))
                                                             (let ((fold-var_1
                                                                    (let ((fold-var_1
                                                                           (cons
                                                                            (let ((hd_1
                                                                                   (let ((p_0
                                                                                          (unwrap
                                                                                           e_0)))
                                                                                     (if (pair?
                                                                                          p_0)
                                                                                       (unwrap
                                                                                        (car
                                                                                         p_0))
                                                                                       #f))))
                                                                              (if (if (eq?
                                                                                       'define
                                                                                       hd_1)
                                                                                    (let ((a_0
                                                                                           (cdr
                                                                                            (unwrap
                                                                                             e_0))))
                                                                                      (let ((p_0
                                                                                             (unwrap
                                                                                              a_0)))
                                                                                        (if (pair?
                                                                                             p_0)
                                                                                          (let ((a_1
                                                                                                 (cdr
                                                                                                  p_0)))
                                                                                            (let ((p_1
                                                                                                   (unwrap
                                                                                                    a_1)))
                                                                                              (if (pair?
                                                                                                   p_1)
                                                                                                (if (let ((a_2
                                                                                                           (car
                                                                                                            p_1)))
                                                                                                      (let ((p_2
                                                                                                             (unwrap
                                                                                                              a_2)))
                                                                                                        (if (pair?
                                                                                                             p_2)
                                                                                                          (if (let ((a_3
                                                                                                                     (car
                                                                                                                      p_2)))
                                                                                                                (let ((app_0
                                                                                                                       (unwrap
                                                                                                                        'make-internal-variable)))
                                                                                                                  (eq?
                                                                                                                   app_0
                                                                                                                   (unwrap
                                                                                                                    a_3))))
                                                                                                            (let ((a_3
                                                                                                                   (cdr
                                                                                                                    p_2)))
                                                                                                              (let ((p_3
                                                                                                                     (unwrap
                                                                                                                      a_3)))
                                                                                                                (if (pair?
                                                                                                                     p_3)
                                                                                                                  (if (let ((a_4
                                                                                                                             (car
                                                                                                                              p_3)))
                                                                                                                        (let ((p_4
                                                                                                                               (unwrap
                                                                                                                                a_4)))
                                                                                                                          (if (pair?
                                                                                                                               p_4)
                                                                                                                            (if (let ((a_5
                                                                                                                                       (car
                                                                                                                                        p_4)))
                                                                                                                                  (let ((app_0
                                                                                                                                         (unwrap
                                                                                                                                          'quote)))
                                                                                                                                    (eq?
                                                                                                                                     app_0
                                                                                                                                     (unwrap
                                                                                                                                      a_5))))
                                                                                                                              (let ((a_5
                                                                                                                                     (cdr
                                                                                                                                      p_4)))
                                                                                                                                (let ((p_5
                                                                                                                                       (unwrap
                                                                                                                                        a_5)))
                                                                                                                                  (if (pair?
                                                                                                                                       p_5)
                                                                                                                                    (let ((a_6
                                                                                                                                           (cdr
                                                                                                                                            p_5)))
                                                                                                                                      (let ((app_0
                                                                                                                                             (unwrap
                                                                                                                                              '())))
                                                                                                                                        (eq?
                                                                                                                                         app_0
                                                                                                                                         (unwrap
                                                                                                                                          a_6))))
                                                                                                                                    #f)))
                                                                                                                              #f)
                                                                                                                            #f)))
                                                                                                                    (let ((a_4
                                                                                                                           (cdr
                                                                                                                            p_3)))
                                                                                                                      (let ((app_0
                                                                                                                             (unwrap
                                                                                                                              '())))
                                                                                                                        (eq?
                                                                                                                         app_0
                                                                                                                         (unwrap
                                                                                                                          a_4))))
                                                                                                                    #f)
                                                                                                                  #f)))
                                                                                                            #f)
                                                                                                          #f)))
                                                                                                  (let ((a_2
                                                                                                         (cdr
                                                                                                          p_1)))
                                                                                                    (let ((app_0
                                                                                                           (unwrap
                                                                                                            '())))
                                                                                                      (eq?
                                                                                                       app_0
                                                                                                       (unwrap
                                                                                                        a_2))))
                                                                                                  #f)
                                                                                                #f)))
                                                                                          #f)))
                                                                                    #f)
                                                                                (let ((id_0
                                                                                       (let ((d_0
                                                                                              (cdr
                                                                                               (unwrap
                                                                                                e_0))))
                                                                                         (let ((d_1
                                                                                                (cdr
                                                                                                 (unwrap
                                                                                                  d_0))))
                                                                                           (let ((a_0
                                                                                                  (car
                                                                                                   (unwrap
                                                                                                    d_1))))
                                                                                             (let ((d_2
                                                                                                    (cdr
                                                                                                     (unwrap
                                                                                                      a_0))))
                                                                                               (let ((a_1
                                                                                                      (car
                                                                                                       (unwrap
                                                                                                        d_2))))
                                                                                                 (let ((d_3
                                                                                                        (cdr
                                                                                                         (unwrap
                                                                                                          a_1))))
                                                                                                   (let ((a_2
                                                                                                          (car
                                                                                                           (unwrap
                                                                                                            d_3))))
                                                                                                     a_2)))))))))
                                                                                  id_0)
                                                                                (error
                                                                                 'match
                                                                                 "failed ~e"
                                                                                 e_0)))
                                                                            fold-var_0)))
                                                                      (values
                                                                       fold-var_1))))
                                                               (for-loop_0
                                                                fold-var_1
                                                                rest_0))))
                                                         fold-var_0)))))
                                                  (for-loop_0
                                                   null
                                                   create-vars_0)))))
                                           (values
                                            new-body_0
                                            num-body-vars_0
                                            internal-var-syms_0)))))))))))))))))
              (error 'match "failed ~e" v_0))))))
      (compile-top-body_0
       (|#%name|
        compile-top-body
        (lambda (body_0 env_0 stack-depth_0 stk-i_0 mutated_0)
          (let ((bs_0
                 (letrec*
                  ((loop_0
                    (|#%name|
                     loop
                     (lambda (body_1)
                       (if (let ((app_0 (unwrap '())))
                             (eq? app_0 (unwrap body_1)))
                         '()
                         (if (let ((p_0 (unwrap body_1)))
                               (if (pair? p_0)
                                 (if (let ((a_0 (car p_0)))
                                       (let ((p_1 (unwrap a_0)))
                                         (if (pair? p_1)
                                           (if (let ((a_1 (car p_1)))
                                                 (let ((app_0 (unwrap 'begin)))
                                                   (eq? app_0 (unwrap a_1))))
                                             (let ((a_1 (cdr p_1)))
                                               (wrap-list? a_1))
                                             #f)
                                           #f)))
                                   #t
                                   #f)
                                 #f))
                           (call-with-values
                            (lambda ()
                              (let ((p_0 (unwrap body_1)))
                                (let ((subs_0
                                       (let ((a_0 (car p_0)))
                                         (let ((d_0 (cdr (unwrap a_0))))
                                           (unwrap-list d_0)))))
                                  (let ((rest_0 (let ((d_0 (cdr p_0))) d_0)))
                                    (let ((subs_1 subs_0))
                                      (values subs_1 rest_0))))))
                            (lambda (subs_0 rest_0)
                              (loop_0 (append subs_0 rest_0))))
                           (if (let ((p_0 (unwrap body_1)))
                                 (if (pair? p_0) #t #f))
                             (call-with-values
                              (lambda ()
                                (let ((p_0 (unwrap body_1)))
                                  (let ((e_0 (let ((a_0 (car p_0))) a_0)))
                                    (let ((rest_0 (let ((d_0 (cdr p_0))) d_0)))
                                      (let ((e_1 e_0)) (values e_1 rest_0))))))
                              (lambda (e_0 rest_0)
                                (let ((new-rest_0 (loop_0 rest_0)))
                                  (cons
                                   (compile-expr_0
                                    e_0
                                    env_0
                                    stack-depth_0
                                    stk-i_0
                                    #t
                                    mutated_0)
                                   new-rest_0))))
                             (error 'match "failed ~e" body_1))))))))
                  (loop_0 body_0))))
            (if (null? bs_0)
              '#(void)
              (if (if (pair? bs_0) (null? (cdr bs_0)) #f)
                (car bs_0)
                (list->vector (cons 'begin bs_0))))))))
      (compile-body_0
       (|#%name|
        compile-body
        (lambda (body_0 env_0 stack-depth_0 stk-i_0 tail?_0 mutated_0)
          (if (let ((p_0 (unwrap body_0)))
                (if (pair? p_0)
                  (let ((a_0 (cdr p_0)))
                    (let ((app_0 (unwrap '()))) (eq? app_0 (unwrap a_0))))
                  #f))
            (let ((e_0 (let ((a_0 (car (unwrap body_0)))) a_0)))
              (compile-expr_0
               e_0
               env_0
               stack-depth_0
               stk-i_0
               tail?_0
               mutated_0))
            (list->vector
             (cons
              'begin
              (compile-list_0
               body_0
               env_0
               stack-depth_0
               stk-i_0
               tail?_0
               mutated_0)))))))
      (compile-list_0
       (|#%name|
        compile-list
        (lambda (body_0 env_0 stack-depth_0 stk-i_0 tail?_0 mutated_0)
          (letrec*
           ((loop_0
             (|#%name|
              loop
              (lambda (body_1)
                (if (null? body_1)
                  '()
                  (let ((rest-body_0 (wrap-cdr body_1)))
                    (let ((new-rest_0 (loop_0 rest-body_0)))
                      (cons
                       (compile-expr_0
                        (wrap-car body_1)
                        env_0
                        stack-depth_0
                        stk-i_0
                        (if tail?_0 (null? rest-body_0) #f)
                        mutated_0)
                       new-rest_0))))))))
           (loop_0 body_0)))))
      (compile-expr_0
       (|#%name|
        compile-expr
        (lambda (e_0 env_0 stack-depth_0 stk-i_0 tail?_0 mutated_0)
          (let ((hd_0
                 (let ((p_0 (unwrap e_0)))
                   (if (pair? p_0) (unwrap (car p_0)) #f))))
            (if (if (eq? 'lambda hd_0)
                  (let ((a_0 (cdr (unwrap e_0))))
                    (let ((p_0 (unwrap a_0))) (if (pair? p_0) #t #f)))
                  #f)
              (call-with-values
               (lambda ()
                 (let ((d_0 (cdr (unwrap e_0))))
                   (let ((p_0 (unwrap d_0)))
                     (let ((ids_0 (let ((a_0 (car p_0))) a_0)))
                       (let ((body_0 (let ((d_1 (cdr p_0))) d_1)))
                         (let ((ids_1 ids_0)) (values ids_1 body_0)))))))
               (lambda (ids_0 body_0)
                 (call-with-values
                  (lambda () (args->env_0 ids_0 env_0 stack-depth_0 mutated_0))
                  (lambda (body-env_0 count_0 rest?_0)
                    (let ((cmap_0 (make-hasheq)))
                      (let ((body-stack-depth_0 (+ stack-depth_0 count_0)))
                        (let ((body-stk-i_0
                               (make-stack-info.1 stack-depth_0 cmap_0 #t)))
                          (let ((new-body_0
                                 (compile-body_0
                                  body_0
                                  body-env_0
                                  body-stack-depth_0
                                  body-stk-i_0
                                  #t
                                  mutated_0)))
                            (let ((table_0 hash2610))
                              (let ((rev-cmap_0
                                     (let ((table_1 table_0))
                                       (letrec*
                                        ((for-loop_0
                                          (|#%name|
                                           for-loop
                                           (lambda (table_2 i_0)
                                             (if i_0
                                               (call-with-values
                                                (lambda ()
                                                  (hash-iterate-key+value
                                                   cmap_0
                                                   i_0))
                                                (lambda (i_1 pos_0)
                                                  (let ((table_3
                                                         (let ((table_3
                                                                (call-with-values
                                                                 (lambda ()
                                                                   (values
                                                                    (-
                                                                     -1
                                                                     pos_0)
                                                                    i_1))
                                                                 (lambda (key_0
                                                                          val_0)
                                                                   (hash-set
                                                                    table_2
                                                                    key_0
                                                                    val_0)))))
                                                           (values table_3))))
                                                    (for-loop_0
                                                     table_3
                                                     (hash-iterate-next
                                                      cmap_0
                                                      i_0)))))
                                               table_2)))))
                                        (for-loop_0
                                         table_1
                                         (hash-iterate-first cmap_0))))))
                                (let ((app_0 (count->mask count_0 rest?_0)))
                                  (let ((app_1
                                         (extract-procedure-wrap-data_0
                                          e_0
                                          realm_0)))
                                    (let ((app_2
                                           (let ((len_0 (hash-count cmap_0)))
                                             (begin
                                               (if (exact-nonnegative-integer?
                                                    len_0)
                                                 (void)
                                                 (1/raise-argument-error
                                                  'for/vector
                                                  "exact-nonnegative-integer?"
                                                  len_0))
                                               (let ((v_0
                                                      (make-vector len_0 0)))
                                                 (begin
                                                   (if (zero? len_0)
                                                     (void)
                                                     (let ((end_0
                                                            (hash-count
                                                             cmap_0)))
                                                       (letrec*
                                                        ((for-loop_0
                                                          (|#%name|
                                                           for-loop
                                                           (lambda (i_0 pos_0)
                                                             (if (<
                                                                  pos_0
                                                                  end_0)
                                                               (let ((i_1
                                                                      (let ((i_1
                                                                             (begin
                                                                               (unsafe-vector*-set!
                                                                                v_0
                                                                                i_0
                                                                                (let ((temp11_0
                                                                                       (hash-ref
                                                                                        rev-cmap_0
                                                                                        pos_0)))
                                                                                  (stack->pos.1
                                                                                   #f
                                                                                   temp11_0
                                                                                   stk-i_0)))
                                                                               (unsafe-fx+
                                                                                1
                                                                                i_0))))
                                                                        (values
                                                                         i_1))))
                                                                 (if (if (not
                                                                          (let ((x_0
                                                                                 (list
                                                                                  pos_0)))
                                                                            (unsafe-fx=
                                                                             i_1
                                                                             len_0)))
                                                                       #t
                                                                       #f)
                                                                   (for-loop_0
                                                                    i_1
                                                                    (+
                                                                     pos_0
                                                                     1))
                                                                   i_1))
                                                               i_0)))))
                                                        (for-loop_0 0 0))))
                                                   v_0))))))
                                      (vector
                                       'lambda
                                       app_0
                                       app_1
                                       app_2
                                       (add-boxes/remove-unused_0
                                        new-body_0
                                        ids_0
                                        mutated_0
                                        body-env_0
                                        body-stk-i_0)))))))))))))))
              (if (if (eq? 'case-lambda hd_0)
                    (let ((a_0 (cdr (unwrap e_0))))
                      (if (wrap-list? a_0)
                        (letrec*
                         ((for-loop_0
                           (|#%name|
                            for-loop
                            (lambda (result_0 lst_0)
                              (if (not (null? (unwrap lst_0)))
                                (let ((v_0
                                       (if (pair? (unwrap lst_0))
                                         (wrap-car lst_0)
                                         lst_0)))
                                  (let ((rest_0
                                         (if (pair? (unwrap lst_0))
                                           (wrap-cdr lst_0)
                                           null)))
                                    (let ((v_1 v_0))
                                      (let ((result_1
                                             (let ((result_1
                                                    (let ((p_0 (unwrap v_1)))
                                                      (if (pair? p_0) #t #f))))
                                               (values result_1))))
                                        (if (if (not
                                                 (let ((x_0 (list v_1)))
                                                   (not result_1)))
                                              #t
                                              #f)
                                          (for-loop_0 result_1 rest_0)
                                          result_1)))))
                                result_0)))))
                         (for-loop_0 #t a_0))
                        #f))
                    #f)
                (call-with-values
                 (lambda ()
                   (let ((d_0 (cdr (unwrap e_0))))
                     (call-with-values
                      (lambda ()
                        (letrec*
                         ((for-loop_0
                           (|#%name|
                            for-loop
                            (lambda (idss_0 bodys_0 lst_0)
                              (if (not (null? (unwrap lst_0)))
                                (let ((v_0
                                       (if (pair? (unwrap lst_0))
                                         (wrap-car lst_0)
                                         lst_0)))
                                  (let ((rest_0
                                         (if (pair? (unwrap lst_0))
                                           (wrap-cdr lst_0)
                                           null)))
                                    (let ((v_1 v_0))
                                      (call-with-values
                                       (lambda ()
                                         (call-with-values
                                          (lambda ()
                                            (call-with-values
                                             (lambda ()
                                               (let ((p_0 (unwrap v_1)))
                                                 (let ((idss_1
                                                        (let ((a_0 (car p_0)))
                                                          a_0)))
                                                   (let ((bodys_1
                                                          (let ((d_1
                                                                 (cdr p_0)))
                                                            d_1)))
                                                     (let ((idss_2 idss_1))
                                                       (values
                                                        idss_2
                                                        bodys_1))))))
                                             (lambda (idss13_0 bodys14_0)
                                               (values
                                                (cons idss13_0 idss_0)
                                                (cons bodys14_0 bodys_0)))))
                                          (lambda (idss_1 bodys_1)
                                            (values idss_1 bodys_1))))
                                       (lambda (idss_1 bodys_1)
                                         (for-loop_0
                                          idss_1
                                          bodys_1
                                          rest_0))))))
                                (values idss_0 bodys_0))))))
                         (for-loop_0 null null d_0)))
                      (lambda (idss_0 bodys_0)
                        (let ((app_0 (reverse$1 idss_0)))
                          (values app_0 (reverse$1 bodys_0)))))))
                 (lambda (idss_0 bodys_0)
                   (let ((lams_0
                          (reverse$1
                           (letrec*
                            ((for-loop_0
                              (|#%name|
                               for-loop
                               (lambda (fold-var_0 lst_0 lst_1)
                                 (if (if (pair? lst_0) (pair? lst_1) #f)
                                   (let ((ids_0 (unsafe-car lst_0)))
                                     (let ((rest_0 (unsafe-cdr lst_0)))
                                       (let ((body_0 (unsafe-car lst_1)))
                                         (let ((rest_1 (unsafe-cdr lst_1)))
                                           (let ((fold-var_1
                                                  (let ((fold-var_1
                                                         (cons
                                                          (compile-expr_0
                                                           (list*
                                                            'lambda
                                                            ids_0
                                                            body_0)
                                                           env_0
                                                           stack-depth_0
                                                           stk-i_0
                                                           tail?_0
                                                           mutated_0)
                                                          fold-var_0)))
                                                    (values fold-var_1))))
                                             (for-loop_0
                                              fold-var_1
                                              rest_0
                                              rest_1))))))
                                   fold-var_0)))))
                            (for-loop_0 null idss_0 bodys_0)))))
                     (let ((mask_0
                            (letrec*
                             ((for-loop_0
                               (|#%name|
                                for-loop
                                (lambda (mask_0 lst_0)
                                  (if (pair? lst_0)
                                    (let ((lam_0 (unsafe-car lst_0)))
                                      (let ((rest_0 (unsafe-cdr lst_0)))
                                        (let ((mask_1
                                               (let ((mask_1
                                                      (bitwise-ior
                                                       mask_0
                                                       (if (if (eq?
                                                                'lambda
                                                                (unsafe-vector*-ref
                                                                 lam_0
                                                                 0))
                                                             #t
                                                             #f)
                                                         (let ((mask_1
                                                                (unsafe-vector*-ref
                                                                 lam_0
                                                                 1)))
                                                           mask_1)
                                                         (error
                                                          'interp-match
                                                          "no matching clause")))))
                                                 (values mask_1))))
                                          (for-loop_0 mask_1 rest_0))))
                                    mask_0)))))
                             (for-loop_0 0 lams_0))))
                       (list->vector
                        (list*
                         'case-lambda
                         mask_0
                         (extract-procedure-wrap-data_0 e_0 realm_0)
                         lams_0))))))
                (if (if (eq? 'let hd_0)
                      (let ((a_0 (cdr (unwrap e_0))))
                        (let ((p_0 (unwrap a_0)))
                          (if (pair? p_0)
                            (if (let ((a_1 (car p_0)))
                                  (if (wrap-list? a_1)
                                    (letrec*
                                     ((for-loop_0
                                       (|#%name|
                                        for-loop
                                        (lambda (result_0 lst_0)
                                          (if (not (null? (unwrap lst_0)))
                                            (let ((v_0
                                                   (if (pair? (unwrap lst_0))
                                                     (wrap-car lst_0)
                                                     lst_0)))
                                              (let ((rest_0
                                                     (if (pair? (unwrap lst_0))
                                                       (wrap-cdr lst_0)
                                                       null)))
                                                (let ((v_1 v_0))
                                                  (let ((result_1
                                                         (let ((result_1
                                                                (let ((p_1
                                                                       (unwrap
                                                                        v_1)))
                                                                  (if (pair?
                                                                       p_1)
                                                                    (let ((a_2
                                                                           (cdr
                                                                            p_1)))
                                                                      (let ((p_2
                                                                             (unwrap
                                                                              a_2)))
                                                                        (if (pair?
                                                                             p_2)
                                                                          (let ((a_3
                                                                                 (cdr
                                                                                  p_2)))
                                                                            (let ((app_0
                                                                                   (unwrap
                                                                                    '())))
                                                                              (eq?
                                                                               app_0
                                                                               (unwrap
                                                                                a_3))))
                                                                          #f)))
                                                                    #f))))
                                                           (values result_1))))
                                                    (if (if (not
                                                             (let ((x_0
                                                                    (list
                                                                     v_1)))
                                                               (not result_1)))
                                                          #t
                                                          #f)
                                                      (for-loop_0
                                                       result_1
                                                       rest_0)
                                                      result_1)))))
                                            result_0)))))
                                     (for-loop_0 #t a_1))
                                    #f))
                              #t
                              #f)
                            #f)))
                      #f)
                  (call-with-values
                   (lambda ()
                     (let ((d_0 (cdr (unwrap e_0))))
                       (let ((p_0 (unwrap d_0)))
                         (call-with-values
                          (lambda ()
                            (let ((a_0 (car p_0)))
                              (call-with-values
                               (lambda ()
                                 (letrec*
                                  ((for-loop_0
                                    (|#%name|
                                     for-loop
                                     (lambda (ids_0 rhss_0 lst_0)
                                       (if (not (null? (unwrap lst_0)))
                                         (let ((v_0
                                                (if (pair? (unwrap lst_0))
                                                  (wrap-car lst_0)
                                                  lst_0)))
                                           (let ((rest_0
                                                  (if (pair? (unwrap lst_0))
                                                    (wrap-cdr lst_0)
                                                    null)))
                                             (let ((v_1 v_0))
                                               (call-with-values
                                                (lambda ()
                                                  (call-with-values
                                                   (lambda ()
                                                     (call-with-values
                                                      (lambda ()
                                                        (let ((p_1
                                                               (unwrap v_1)))
                                                          (let ((ids_1
                                                                 (let ((a_1
                                                                        (car
                                                                         p_1)))
                                                                   a_1)))
                                                            (let ((rhss_1
                                                                   (let ((d_1
                                                                          (cdr
                                                                           p_1)))
                                                                     (let ((a_1
                                                                            (car
                                                                             (unwrap
                                                                              d_1))))
                                                                       a_1))))
                                                              (let ((ids_2
                                                                     ids_1))
                                                                (values
                                                                 ids_2
                                                                 rhss_1))))))
                                                      (lambda (ids15_0
                                                               rhss16_0)
                                                        (values
                                                         (cons ids15_0 ids_0)
                                                         (cons
                                                          rhss16_0
                                                          rhss_0)))))
                                                   (lambda (ids_1 rhss_1)
                                                     (values ids_1 rhss_1))))
                                                (lambda (ids_1 rhss_1)
                                                  (for-loop_0
                                                   ids_1
                                                   rhss_1
                                                   rest_0))))))
                                         (values ids_0 rhss_0))))))
                                  (for-loop_0 null null a_0)))
                               (lambda (ids_0 rhss_0)
                                 (let ((app_0 (reverse$1 ids_0)))
                                   (values app_0 (reverse$1 rhss_0)))))))
                          (lambda (ids_0 rhss_0)
                            (let ((body_0 (let ((d_1 (cdr p_0))) d_1)))
                              (let ((ids_1 ids_0) (rhss_1 rhss_0))
                                (values ids_1 rhss_1 body_0))))))))
                   (lambda (ids_0 rhss_0 body_0)
                     (let ((len_0 (length ids_0)))
                       (let ((body-env_0
                              (letrec*
                               ((for-loop_0
                                 (|#%name|
                                  for-loop
                                  (lambda (env_1 lst_0 pos_0)
                                    (if (if (pair? lst_0) #t #f)
                                      (let ((id_0 (unsafe-car lst_0)))
                                        (let ((rest_0 (unsafe-cdr lst_0)))
                                          (let ((env_2
                                                 (let ((env_2
                                                        (let ((u_0
                                                               (unwrap id_0)))
                                                          (let ((pos_1
                                                                 (+
                                                                  stack-depth_0
                                                                  pos_0)))
                                                            (hash-set
                                                             env_1
                                                             u_0
                                                             (if (hash-ref
                                                                  mutated_0
                                                                  u_0
                                                                  #f)
                                                               (boxed2.1 pos_1)
                                                               pos_1))))))
                                                   (values env_2))))
                                            (for-loop_0
                                             env_2
                                             rest_0
                                             (+ pos_0 1)))))
                                      env_1)))))
                               (for-loop_0 env_0 ids_0 0))))
                         (let ((body-stack-depth_0 (+ stack-depth_0 len_0)))
                           (let ((c-body_0
                                  (compile-body_0
                                   body_0
                                   body-env_0
                                   body-stack-depth_0
                                   stk-i_0
                                   tail?_0
                                   mutated_0)))
                             (let ((new-body_0
                                    (add-boxes/remove-unused_0
                                     c-body_0
                                     ids_0
                                     mutated_0
                                     body-env_0
                                     stk-i_0)))
                               (let ((pos_0
                                      (stack->pos.1 #t stack-depth_0 stk-i_0)))
                                 (begin
                                   (stack-info-forget!
                                    stk-i_0
                                    stack-depth_0
                                    pos_0
                                    len_0)
                                   (let ((new-rhss_0
                                          (compile-list_0
                                           rhss_0
                                           env_0
                                           stack-depth_0
                                           stk-i_0
                                           #f
                                           mutated_0)))
                                     (let ((or-part_0
                                            (if (null? new-rhss_0)
                                              new-body_0
                                              (if (vector? new-body_0)
                                                (if (if (eq?
                                                         'let
                                                         (unsafe-vector*-ref
                                                          new-body_0
                                                          0))
                                                      #t
                                                      #f)
                                                  (let ((pos2_0
                                                         (unsafe-vector*-ref
                                                          new-body_0
                                                          1)))
                                                    (let ((rhss2_0
                                                           (unsafe-vector*-ref
                                                            new-body_0
                                                            2)))
                                                      (let ((b_0
                                                             (unsafe-vector*-ref
                                                              new-body_0
                                                              3)))
                                                        (let ((rhss2_1 rhss2_0)
                                                              (pos2_1 pos2_0))
                                                          (let ((app_0
                                                                 (list
                                                                  pos_0
                                                                  pos2_1)))
                                                            (vector
                                                             'let*
                                                             app_0
                                                             (list
                                                              (list->vector
                                                               new-rhss_0)
                                                              rhss2_1)
                                                             b_0))))))
                                                  (if (if (eq?
                                                           'let*
                                                           (unsafe-vector*-ref
                                                            new-body_0
                                                            0))
                                                        #t
                                                        #f)
                                                    (let ((poss_0
                                                           (unsafe-vector*-ref
                                                            new-body_0
                                                            1)))
                                                      (let ((rhsss_0
                                                             (unsafe-vector*-ref
                                                              new-body_0
                                                              2)))
                                                        (let ((b_0
                                                               (unsafe-vector*-ref
                                                                new-body_0
                                                                3)))
                                                          (let ((rhsss_1
                                                                 rhsss_0)
                                                                (poss_1
                                                                 poss_0))
                                                            (let ((app_0
                                                                   (cons
                                                                    pos_0
                                                                    poss_1)))
                                                              (vector
                                                               'let*
                                                               app_0
                                                               (cons
                                                                (list->vector
                                                                 new-rhss_0)
                                                                rhsss_1)
                                                               b_0))))))
                                                    (if (if (eq?
                                                             'clear
                                                             (unsafe-vector*-ref
                                                              new-body_0
                                                              0))
                                                          #t
                                                          #f)
                                                      (let ((poss_0
                                                             (unsafe-vector*-ref
                                                              new-body_0
                                                              1)))
                                                        (let ((e_1
                                                               (unsafe-vector*-ref
                                                                new-body_0
                                                                2)))
                                                          (let ((poss_1
                                                                 poss_0))
                                                            (letrec*
                                                             ((loop_0
                                                               (|#%name|
                                                                loop
                                                                (lambda (pos_1
                                                                         poss_2
                                                                         rhss_1)
                                                                  (if (null?
                                                                       rhss_1)
                                                                    (let ((e_2
                                                                           (if (null?
                                                                                poss_2)
                                                                             e_1
                                                                             (vector
                                                                              'clear
                                                                              poss_2
                                                                              e_1))))
                                                                      (vector
                                                                       'beginl
                                                                       (let ((app_0
                                                                              (map_2353
                                                                               ensure-single-valued_0
                                                                               new-rhss_0)))
                                                                         (append
                                                                          app_0
                                                                          (begins->list_0
                                                                           e_2)))))
                                                                    (if (null?
                                                                         poss_2)
                                                                      #f
                                                                      (if (eqv?
                                                                           pos_1
                                                                           (car
                                                                            poss_2))
                                                                        (let ((app_0
                                                                               (add1
                                                                                pos_1)))
                                                                          (let ((app_1
                                                                                 (cdr
                                                                                  poss_2)))
                                                                            (loop_0
                                                                             app_0
                                                                             app_1
                                                                             (cdr
                                                                              rhss_1))))
                                                                        #f)))))))
                                                             (loop_0
                                                              pos_0
                                                              poss_1
                                                              new-rhss_0)))))
                                                      #f)))
                                                #f))))
                                       (if or-part_0
                                         or-part_0
                                         (vector
                                          'let
                                          pos_0
                                          (list->vector new-rhss_0)
                                          new-body_0)))))))))))))
                  (if (if (eq? 'letrec hd_0) #t #f)
                    (compile-letrec_0
                     e_0
                     env_0
                     stack-depth_0
                     stk-i_0
                     tail?_0
                     mutated_0)
                    (if (if (eq? 'letrec* hd_0) #t #f)
                      (compile-letrec_0
                       e_0
                       env_0
                       stack-depth_0
                       stk-i_0
                       tail?_0
                       mutated_0)
                      (if (if (eq? 'begin hd_0) #t #f)
                        (let ((vs_0 (let ((d_0 (cdr (unwrap e_0)))) d_0)))
                          (compile-body_0
                           vs_0
                           env_0
                           stack-depth_0
                           stk-i_0
                           tail?_0
                           mutated_0))
                        (if (if (eq? 'begin-unsafe hd_0) #t #f)
                          (let ((vs_0 (let ((d_0 (cdr (unwrap e_0)))) d_0)))
                            (compile-body_0
                             vs_0
                             env_0
                             stack-depth_0
                             stk-i_0
                             tail?_0
                             mutated_0))
                          (if (if (eq? 'begin0 hd_0)
                                (let ((a_0 (cdr (unwrap e_0))))
                                  (let ((p_0 (unwrap a_0)))
                                    (if (pair? p_0)
                                      (let ((a_1 (cdr p_0)))
                                        (let ((app_0 (unwrap '())))
                                          (eq? app_0 (unwrap a_1))))
                                      #f)))
                                #f)
                            (let ((e_1
                                   (let ((d_0 (cdr (unwrap e_0))))
                                     (let ((a_0 (car (unwrap d_0)))) a_0))))
                              (compile-expr_0
                               e_1
                               env_0
                               stack-depth_0
                               stk-i_0
                               tail?_0
                               mutated_0))
                            (if (if (eq? 'begin0 hd_0)
                                  (let ((a_0 (cdr (unwrap e_0))))
                                    (let ((p_0 (unwrap a_0)))
                                      (if (pair? p_0) #t #f)))
                                  #f)
                              (call-with-values
                               (lambda ()
                                 (let ((d_0 (cdr (unwrap e_0))))
                                   (let ((p_0 (unwrap d_0)))
                                     (let ((e_1 (let ((a_0 (car p_0))) a_0)))
                                       (let ((vs_0
                                              (let ((d_1 (cdr p_0))) d_1)))
                                         (let ((e_2 e_1))
                                           (values e_2 vs_0)))))))
                               (lambda (e_1 vs_0)
                                 (let ((new-body_0
                                        (compile-body_0
                                         vs_0
                                         env_0
                                         stack-depth_0
                                         stk-i_0
                                         #f
                                         mutated_0)))
                                   (vector
                                    'begin0
                                    (compile-expr_0
                                     e_1
                                     env_0
                                     stack-depth_0
                                     stk-i_0
                                     #f
                                     mutated_0)
                                    new-body_0))))
                              (if (if (eq? '$value hd_0)
                                    (let ((a_0 (cdr (unwrap e_0))))
                                      (let ((p_0 (unwrap a_0)))
                                        (if (pair? p_0)
                                          (let ((a_1 (cdr p_0)))
                                            (let ((app_0 (unwrap '())))
                                              (eq? app_0 (unwrap a_1))))
                                          #f)))
                                    #f)
                                (let ((e_1
                                       (let ((d_0 (cdr (unwrap e_0))))
                                         (let ((a_0 (car (unwrap d_0))))
                                           a_0))))
                                  (vector
                                   '$value
                                   (compile-expr_0
                                    e_1
                                    env_0
                                    stack-depth_0
                                    stk-i_0
                                    #f
                                    mutated_0)))
                                (if (if (eq? 'if hd_0)
                                      (let ((a_0 (cdr (unwrap e_0))))
                                        (let ((p_0 (unwrap a_0)))
                                          (if (pair? p_0)
                                            (let ((a_1 (cdr p_0)))
                                              (let ((p_1 (unwrap a_1)))
                                                (if (pair? p_1)
                                                  (let ((a_2 (cdr p_1)))
                                                    (let ((p_2 (unwrap a_2)))
                                                      (if (pair? p_2)
                                                        (let ((a_3 (cdr p_2)))
                                                          (let ((app_0
                                                                 (unwrap '())))
                                                            (eq?
                                                             app_0
                                                             (unwrap a_3))))
                                                        #f)))
                                                  #f)))
                                            #f)))
                                      #f)
                                  (call-with-values
                                   (lambda ()
                                     (let ((d_0 (cdr (unwrap e_0))))
                                       (let ((p_0 (unwrap d_0)))
                                         (let ((tst_0
                                                (let ((a_0 (car p_0))) a_0)))
                                           (call-with-values
                                            (lambda ()
                                              (let ((d_1 (cdr p_0)))
                                                (let ((p_1 (unwrap d_1)))
                                                  (let ((thn_0
                                                         (let ((a_0 (car p_1)))
                                                           a_0)))
                                                    (let ((els_0
                                                           (let ((d_2
                                                                  (cdr p_1)))
                                                             (let ((a_0
                                                                    (car
                                                                     (unwrap
                                                                      d_2))))
                                                               a_0))))
                                                      (let ((thn_1 thn_0))
                                                        (values
                                                         thn_1
                                                         els_0)))))))
                                            (lambda (thn_0 els_0)
                                              (let ((tst_1 tst_0))
                                                (values
                                                 tst_1
                                                 thn_0
                                                 els_0))))))))
                                   (lambda (tst_0 thn_0 els_0)
                                     (let ((then-stk-i_0
                                            (stack-info-branch stk-i_0)))
                                       (let ((else-stk-i_0
                                              (stack-info-branch stk-i_0)))
                                         (let ((new-then_0
                                                (compile-expr_0
                                                 thn_0
                                                 env_0
                                                 stack-depth_0
                                                 then-stk-i_0
                                                 tail?_0
                                                 mutated_0)))
                                           (let ((new-else_0
                                                  (compile-expr_0
                                                   els_0
                                                   env_0
                                                   stack-depth_0
                                                   else-stk-i_0
                                                   tail?_0
                                                   mutated_0)))
                                             (let ((all-clear_0
                                                    (stack-info-merge!
                                                     stk-i_0
                                                     (list
                                                      then-stk-i_0
                                                      else-stk-i_0))))
                                               (let ((app_0
                                                      (compile-expr_0
                                                       tst_0
                                                       env_0
                                                       stack-depth_0
                                                       stk-i_0
                                                       #f
                                                       mutated_0)))
                                                 (let ((app_1
                                                        (add-clears_0
                                                         new-then_0
                                                         then-stk-i_0
                                                         all-clear_0)))
                                                   (vector
                                                    'if
                                                    app_0
                                                    app_1
                                                    (add-clears_0
                                                     new-else_0
                                                     else-stk-i_0
                                                     all-clear_0)))))))))))
                                  (if (if (eq? 'with-continuation-mark* hd_0)
                                        (let ((a_0 (cdr (unwrap e_0))))
                                          (let ((p_0 (unwrap a_0)))
                                            (if (pair? p_0)
                                              (let ((a_1 (cdr p_0)))
                                                (let ((p_1 (unwrap a_1)))
                                                  (if (pair? p_1)
                                                    (let ((a_2 (cdr p_1)))
                                                      (let ((p_2 (unwrap a_2)))
                                                        (if (pair? p_2)
                                                          (let ((a_3
                                                                 (cdr p_2)))
                                                            (let ((p_3
                                                                   (unwrap
                                                                    a_3)))
                                                              (if (pair? p_3)
                                                                (let ((a_4
                                                                       (cdr
                                                                        p_3)))
                                                                  (let ((app_0
                                                                         (unwrap
                                                                          '())))
                                                                    (eq?
                                                                     app_0
                                                                     (unwrap
                                                                      a_4))))
                                                                #f)))
                                                          #f)))
                                                    #f)))
                                              #f)))
                                        #f)
                                    (call-with-values
                                     (lambda ()
                                       (let ((d_0 (cdr (unwrap e_0))))
                                         (let ((p_0 (unwrap d_0)))
                                           (let ((mode_0
                                                  (let ((a_0 (car p_0))) a_0)))
                                             (call-with-values
                                              (lambda ()
                                                (let ((d_1 (cdr p_0)))
                                                  (let ((p_1 (unwrap d_1)))
                                                    (let ((key_0
                                                           (let ((a_0
                                                                  (car p_1)))
                                                             a_0)))
                                                      (call-with-values
                                                       (lambda ()
                                                         (let ((d_2 (cdr p_1)))
                                                           (let ((p_2
                                                                  (unwrap
                                                                   d_2)))
                                                             (let ((val_0
                                                                    (let ((a_0
                                                                           (car
                                                                            p_2)))
                                                                      a_0)))
                                                               (let ((body_0
                                                                      (let ((d_3
                                                                             (cdr
                                                                              p_2)))
                                                                        (let ((a_0
                                                                               (car
                                                                                (unwrap
                                                                                 d_3))))
                                                                          a_0))))
                                                                 (let ((val_1
                                                                        val_0))
                                                                   (values
                                                                    val_1
                                                                    body_0)))))))
                                                       (lambda (val_0 body_0)
                                                         (let ((key_1 key_0))
                                                           (values
                                                            key_1
                                                            val_0
                                                            body_0))))))))
                                              (lambda (key_0 val_0 body_0)
                                                (let ((mode_1 mode_0))
                                                  (values
                                                   mode_1
                                                   key_0
                                                   val_0
                                                   body_0))))))))
                                     (lambda (mode_0 key_0 val_0 body_0)
                                       (let ((new-body_0
                                              (compile-expr_0
                                               body_0
                                               env_0
                                               stack-depth_0
                                               stk-i_0
                                               tail?_0
                                               mutated_0)))
                                         (let ((new-val_0
                                                (compile-expr_0
                                                 val_0
                                                 env_0
                                                 stack-depth_0
                                                 stk-i_0
                                                 #f
                                                 mutated_0)))
                                           (vector
                                            'wcm
                                            (compile-expr_0
                                             key_0
                                             env_0
                                             stack-depth_0
                                             stk-i_0
                                             #f
                                             mutated_0)
                                            new-val_0
                                            new-body_0)))))
                                    (if (if (eq? 'quote hd_0)
                                          (let ((a_0 (cdr (unwrap e_0))))
                                            (let ((p_0 (unwrap a_0)))
                                              (if (pair? p_0)
                                                (let ((a_1 (cdr p_0)))
                                                  (let ((app_0 (unwrap '())))
                                                    (eq? app_0 (unwrap a_1))))
                                                #f)))
                                          #f)
                                      (let ((v_0
                                             (let ((d_0 (cdr (unwrap e_0))))
                                               (let ((a_0 (car (unwrap d_0))))
                                                 a_0))))
                                        (let ((v_1
                                               (|#%app|
                                                strip-annotations
                                                v_0)))
                                          (if (let ((or-part_0 (vector? v_1)))
                                                (if or-part_0
                                                  or-part_0
                                                  (let ((or-part_1
                                                         (pair? v_1)))
                                                    (if or-part_1
                                                      or-part_1
                                                      (let ((or-part_2
                                                             (symbol? v_1)))
                                                        (if or-part_2
                                                          or-part_2
                                                          (let ((or-part_3
                                                                 (number?
                                                                  v_1)))
                                                            (if or-part_3
                                                              or-part_3
                                                              (box?
                                                               v_1)))))))))
                                            (vector 'quote v_1)
                                            v_1)))
                                      (if (if (eq? '|#%foreign-inline| hd_0)
                                            (let ((a_0 (cdr (unwrap e_0))))
                                              (let ((p_0 (unwrap a_0)))
                                                (if (pair? p_0)
                                                  (let ((a_1 (cdr p_0)))
                                                    (let ((p_1 (unwrap a_1)))
                                                      (if (pair? p_1)
                                                        (let ((a_2 (cdr p_1)))
                                                          (let ((app_0
                                                                 (unwrap '())))
                                                            (eq?
                                                             app_0
                                                             (unwrap a_2))))
                                                        #f)))
                                                  #f)))
                                            #f)
                                        (let ((e_1
                                               (let ((d_0 (cdr (unwrap e_0))))
                                                 (let ((a_0
                                                        (car (unwrap d_0))))
                                                   a_0))))
                                          (let ((e_2
                                                 (|#%app|
                                                  strip-annotations
                                                  e_1)))
                                            (vector 'foreign-inline e_2)))
                                        (if (if (eq? 'set! hd_0)
                                              (let ((a_0 (cdr (unwrap e_0))))
                                                (let ((p_0 (unwrap a_0)))
                                                  (if (pair? p_0)
                                                    (let ((a_1 (cdr p_0)))
                                                      (let ((p_1 (unwrap a_1)))
                                                        (if (pair? p_1)
                                                          (let ((a_2
                                                                 (cdr p_1)))
                                                            (let ((app_0
                                                                   (unwrap
                                                                    '())))
                                                              (eq?
                                                               app_0
                                                               (unwrap a_2))))
                                                          #f)))
                                                    #f)))
                                              #f)
                                          (call-with-values
                                           (lambda ()
                                             (let ((d_0 (cdr (unwrap e_0))))
                                               (let ((p_0 (unwrap d_0)))
                                                 (let ((id_0
                                                        (let ((a_0 (car p_0)))
                                                          a_0)))
                                                   (let ((rhs_0
                                                          (let ((d_1
                                                                 (cdr p_0)))
                                                            (let ((a_0
                                                                   (car
                                                                    (unwrap
                                                                     d_1))))
                                                              a_0))))
                                                     (let ((id_1 id_0))
                                                       (values
                                                        id_1
                                                        rhs_0)))))))
                                           (lambda (id_0 rhs_0)
                                             (compile-assignment_0
                                              id_0
                                              rhs_0
                                              env_0
                                              stack-depth_0
                                              stk-i_0
                                              mutated_0)))
                                          (if (if (eq? 'define hd_0)
                                                (let ((a_0 (cdr (unwrap e_0))))
                                                  (let ((p_0 (unwrap a_0)))
                                                    (if (pair? p_0)
                                                      (let ((a_1 (cdr p_0)))
                                                        (let ((p_1
                                                               (unwrap a_1)))
                                                          (if (pair? p_1)
                                                            (let ((a_2
                                                                   (cdr p_1)))
                                                              (let ((app_0
                                                                     (unwrap
                                                                      '())))
                                                                (eq?
                                                                 app_0
                                                                 (unwrap
                                                                  a_2))))
                                                            #f)))
                                                      #f)))
                                                #f)
                                            (call-with-values
                                             (lambda ()
                                               (let ((d_0 (cdr (unwrap e_0))))
                                                 (let ((p_0 (unwrap d_0)))
                                                   (let ((id_0
                                                          (let ((a_0
                                                                 (car p_0)))
                                                            a_0)))
                                                     (let ((rhs_0
                                                            (let ((d_1
                                                                   (cdr p_0)))
                                                              (let ((a_0
                                                                     (car
                                                                      (unwrap
                                                                       d_1))))
                                                                a_0))))
                                                       (let ((id_1 id_0))
                                                         (values
                                                          id_1
                                                          rhs_0)))))))
                                             (lambda (id_0 rhs_0)
                                               (compile-assignment_0
                                                id_0
                                                rhs_0
                                                env_0
                                                stack-depth_0
                                                stk-i_0
                                                mutated_0)))
                                            (if (if (eq? 'define-values hd_0)
                                                  (let ((a_0
                                                         (cdr (unwrap e_0))))
                                                    (let ((p_0 (unwrap a_0)))
                                                      (if (pair? p_0)
                                                        (let ((a_1 (cdr p_0)))
                                                          (let ((p_1
                                                                 (unwrap a_1)))
                                                            (if (pair? p_1)
                                                              (let ((a_2
                                                                     (cdr
                                                                      p_1)))
                                                                (let ((app_0
                                                                       (unwrap
                                                                        '())))
                                                                  (eq?
                                                                   app_0
                                                                   (unwrap
                                                                    a_2))))
                                                              #f)))
                                                        #f)))
                                                  #f)
                                              (call-with-values
                                               (lambda ()
                                                 (let ((d_0
                                                        (cdr (unwrap e_0))))
                                                   (let ((p_0 (unwrap d_0)))
                                                     (let ((ids_0
                                                            (let ((a_0
                                                                   (car p_0)))
                                                              a_0)))
                                                       (let ((rhs_0
                                                              (let ((d_1
                                                                     (cdr
                                                                      p_0)))
                                                                (let ((a_0
                                                                       (car
                                                                        (unwrap
                                                                         d_1))))
                                                                  a_0))))
                                                         (let ((ids_1 ids_0))
                                                           (values
                                                            ids_1
                                                            rhs_0)))))))
                                               (lambda (ids_0 rhs_0)
                                                 (let ((gen-ids_0
                                                        (reverse$1
                                                         (letrec*
                                                          ((for-loop_0
                                                            (|#%name|
                                                             for-loop
                                                             (lambda (fold-var_0
                                                                      lst_0)
                                                               (if (pair?
                                                                    lst_0)
                                                                 (let ((id_0
                                                                        (unsafe-car
                                                                         lst_0)))
                                                                   (let ((rest_0
                                                                          (unsafe-cdr
                                                                           lst_0)))
                                                                     (let ((fold-var_1
                                                                            (let ((fold-var_1
                                                                                   (cons
                                                                                    (deterministic-gensym
                                                                                     (unwrap
                                                                                      id_0))
                                                                                    fold-var_0)))
                                                                              (values
                                                                               fold-var_1))))
                                                                       (for-loop_0
                                                                        fold-var_1
                                                                        rest_0))))
                                                                 fold-var_0)))))
                                                          (for-loop_0
                                                           null
                                                           ids_0)))))
                                                   (compile-expr_0
                                                    (let ((app_0
                                                           (list
                                                            'lambda
                                                            '()
                                                            rhs_0)))
                                                      (list
                                                       'call-with-values
                                                       app_0
                                                       (list*
                                                        'lambda
                                                        gen-ids_0
                                                        (if (null? ids_0)
                                                          (list (void))
                                                          (reverse$1
                                                           (letrec*
                                                            ((for-loop_0
                                                              (|#%name|
                                                               for-loop
                                                               (lambda (fold-var_0
                                                                        lst_0
                                                                        lst_1)
                                                                 (if (if (pair?
                                                                          lst_0)
                                                                       (pair?
                                                                        lst_1)
                                                                       #f)
                                                                   (let ((id_0
                                                                          (unsafe-car
                                                                           lst_0)))
                                                                     (let ((rest_0
                                                                            (unsafe-cdr
                                                                             lst_0)))
                                                                       (let ((gen-id_0
                                                                              (unsafe-car
                                                                               lst_1)))
                                                                         (let ((rest_1
                                                                                (unsafe-cdr
                                                                                 lst_1)))
                                                                           (let ((fold-var_1
                                                                                  (cons
                                                                                   (list
                                                                                    'set!
                                                                                    id_0
                                                                                    gen-id_0)
                                                                                   fold-var_0)))
                                                                             (let ((fold-var_2
                                                                                    (values
                                                                                     fold-var_1)))
                                                                               (for-loop_0
                                                                                fold-var_2
                                                                                rest_0
                                                                                rest_1)))))))
                                                                   fold-var_0)))))
                                                            (for-loop_0
                                                             null
                                                             ids_0
                                                             gen-ids_0)))))))
                                                    env_0
                                                    stack-depth_0
                                                    stk-i_0
                                                    tail?_0
                                                    mutated_0))))
                                              (if (if (eq?
                                                       'call-with-values
                                                       hd_0)
                                                    (let ((a_0
                                                           (cdr (unwrap e_0))))
                                                      (let ((p_0 (unwrap a_0)))
                                                        (if (pair? p_0)
                                                          (let ((a_1
                                                                 (cdr p_0)))
                                                            (let ((p_1
                                                                   (unwrap
                                                                    a_1)))
                                                              (if (pair? p_1)
                                                                (if (let ((a_2
                                                                           (car
                                                                            p_1)))
                                                                      (let ((p_2
                                                                             (unwrap
                                                                              a_2)))
                                                                        (if (pair?
                                                                             p_2)
                                                                          (if (let ((a_3
                                                                                     (car
                                                                                      p_2)))
                                                                                (let ((app_0
                                                                                       (unwrap
                                                                                        'lambda)))
                                                                                  (eq?
                                                                                   app_0
                                                                                   (unwrap
                                                                                    a_3))))
                                                                            (let ((a_3
                                                                                   (cdr
                                                                                    p_2)))
                                                                              (let ((p_3
                                                                                     (unwrap
                                                                                      a_3)))
                                                                                (if (pair?
                                                                                     p_3)
                                                                                  #t
                                                                                  #f)))
                                                                            #f)
                                                                          #f)))
                                                                  (let ((a_2
                                                                         (cdr
                                                                          p_1)))
                                                                    (let ((app_0
                                                                           (unwrap
                                                                            '())))
                                                                      (eq?
                                                                       app_0
                                                                       (unwrap
                                                                        a_2))))
                                                                  #f)
                                                                #f)))
                                                          #f)))
                                                    #f)
                                                (call-with-values
                                                 (lambda ()
                                                   (let ((d_0
                                                          (cdr (unwrap e_0))))
                                                     (let ((p_0 (unwrap d_0)))
                                                       (let ((proc1_0
                                                              (let ((a_0
                                                                     (car
                                                                      p_0)))
                                                                a_0)))
                                                         (call-with-values
                                                          (lambda ()
                                                            (let ((d_1
                                                                   (cdr p_0)))
                                                              (let ((a_0
                                                                     (car
                                                                      (unwrap
                                                                       d_1))))
                                                                (let ((d_2
                                                                       (cdr
                                                                        (unwrap
                                                                         a_0))))
                                                                  (let ((p_1
                                                                         (unwrap
                                                                          d_2)))
                                                                    (let ((ids_0
                                                                           (let ((a_1
                                                                                  (car
                                                                                   p_1)))
                                                                             a_1)))
                                                                      (let ((body_0
                                                                             (let ((d_3
                                                                                    (cdr
                                                                                     p_1)))
                                                                               d_3)))
                                                                        (let ((ids_1
                                                                               ids_0))
                                                                          (values
                                                                           ids_1
                                                                           body_0)))))))))
                                                          (lambda (ids_0
                                                                   body_0)
                                                            (let ((proc1_1
                                                                   proc1_0))
                                                              (values
                                                               proc1_1
                                                               ids_0
                                                               body_0))))))))
                                                 (lambda (proc1_0 ids_0 body_0)
                                                   (compile-expr_0
                                                    (list
                                                     'call-with-values
                                                     proc1_0
                                                     (list
                                                      'case-lambda
                                                      (list* ids_0 body_0)))
                                                    env_0
                                                    stack-depth_0
                                                    stk-i_0
                                                    tail?_0
                                                    mutated_0)))
                                                (if (if (eq?
                                                         'call-with-values
                                                         hd_0)
                                                      (let ((a_0
                                                             (cdr
                                                              (unwrap e_0))))
                                                        (let ((p_0
                                                               (unwrap a_0)))
                                                          (if (pair? p_0)
                                                            (if (let ((a_1
                                                                       (car
                                                                        p_0)))
                                                                  (let ((p_1
                                                                         (unwrap
                                                                          a_1)))
                                                                    (if (pair?
                                                                         p_1)
                                                                      (if (let ((a_2
                                                                                 (car
                                                                                  p_1)))
                                                                            (let ((app_0
                                                                                   (unwrap
                                                                                    'lambda)))
                                                                              (eq?
                                                                               app_0
                                                                               (unwrap
                                                                                a_2))))
                                                                        (let ((a_2
                                                                               (cdr
                                                                                p_1)))
                                                                          (let ((p_2
                                                                                 (unwrap
                                                                                  a_2)))
                                                                            (if (pair?
                                                                                 p_2)
                                                                              (if (let ((a_3
                                                                                         (car
                                                                                          p_2)))
                                                                                    (let ((app_0
                                                                                           (unwrap
                                                                                            '())))
                                                                                      (eq?
                                                                                       app_0
                                                                                       (unwrap
                                                                                        a_3))))
                                                                                #t
                                                                                #f)
                                                                              #f)))
                                                                        #f)
                                                                      #f)))
                                                              (let ((a_1
                                                                     (cdr
                                                                      p_0)))
                                                                (let ((p_1
                                                                       (unwrap
                                                                        a_1)))
                                                                  (if (pair?
                                                                       p_1)
                                                                    (if (let ((a_2
                                                                               (car
                                                                                p_1)))
                                                                          (let ((p_2
                                                                                 (unwrap
                                                                                  a_2)))
                                                                            (if (pair?
                                                                                 p_2)
                                                                              (if (let ((a_3
                                                                                         (car
                                                                                          p_2)))
                                                                                    (let ((app_0
                                                                                           (unwrap
                                                                                            'case-lambda)))
                                                                                      (eq?
                                                                                       app_0
                                                                                       (unwrap
                                                                                        a_3))))
                                                                                (let ((a_3
                                                                                       (cdr
                                                                                        p_2)))
                                                                                  (if (wrap-list?
                                                                                       a_3)
                                                                                    (letrec*
                                                                                     ((for-loop_0
                                                                                       (|#%name|
                                                                                        for-loop
                                                                                        (lambda (result_0
                                                                                                 lst_0)
                                                                                          (if (not
                                                                                               (null?
                                                                                                (unwrap
                                                                                                 lst_0)))
                                                                                            (let ((v_0
                                                                                                   (if (pair?
                                                                                                        (unwrap
                                                                                                         lst_0))
                                                                                                     (wrap-car
                                                                                                      lst_0)
                                                                                                     lst_0)))
                                                                                              (let ((rest_0
                                                                                                     (if (pair?
                                                                                                          (unwrap
                                                                                                           lst_0))
                                                                                                       (wrap-cdr
                                                                                                        lst_0)
                                                                                                       null)))
                                                                                                (let ((v_1
                                                                                                       v_0))
                                                                                                  (let ((result_1
                                                                                                         (let ((result_1
                                                                                                                (let ((p_3
                                                                                                                       (unwrap
                                                                                                                        v_1)))
                                                                                                                  (if (pair?
                                                                                                                       p_3)
                                                                                                                    #t
                                                                                                                    #f))))
                                                                                                           (values
                                                                                                            result_1))))
                                                                                                    (if (if (not
                                                                                                             (let ((x_0
                                                                                                                    (list
                                                                                                                     v_1)))
                                                                                                               (not
                                                                                                                result_1)))
                                                                                                          #t
                                                                                                          #f)
                                                                                                      (for-loop_0
                                                                                                       result_1
                                                                                                       rest_0)
                                                                                                      result_1)))))
                                                                                            result_0)))))
                                                                                     (for-loop_0
                                                                                      #t
                                                                                      a_3))
                                                                                    #f))
                                                                                #f)
                                                                              #f)))
                                                                      (let ((a_2
                                                                             (cdr
                                                                              p_1)))
                                                                        (let ((app_0
                                                                               (unwrap
                                                                                '())))
                                                                          (eq?
                                                                           app_0
                                                                           (unwrap
                                                                            a_2))))
                                                                      #f)
                                                                    #f)))
                                                              #f)
                                                            #f)))
                                                      #f)
                                                  (call-with-values
                                                   (lambda ()
                                                     (let ((d_0
                                                            (cdr
                                                             (unwrap e_0))))
                                                       (let ((p_0
                                                              (unwrap d_0)))
                                                         (let ((body_0
                                                                (let ((a_0
                                                                       (car
                                                                        p_0)))
                                                                  (let ((d_1
                                                                         (cdr
                                                                          (unwrap
                                                                           a_0))))
                                                                    (let ((d_2
                                                                           (cdr
                                                                            (unwrap
                                                                             d_1))))
                                                                      d_2)))))
                                                           (call-with-values
                                                            (lambda ()
                                                              (let ((d_1
                                                                     (cdr
                                                                      p_0)))
                                                                (let ((a_0
                                                                       (car
                                                                        (unwrap
                                                                         d_1))))
                                                                  (let ((d_2
                                                                         (cdr
                                                                          (unwrap
                                                                           a_0))))
                                                                    (call-with-values
                                                                     (lambda ()
                                                                       (letrec*
                                                                        ((for-loop_0
                                                                          (|#%name|
                                                                           for-loop
                                                                           (lambda (idss_0
                                                                                    bodys_0
                                                                                    lst_0)
                                                                             (if (not
                                                                                  (null?
                                                                                   (unwrap
                                                                                    lst_0)))
                                                                               (let ((v_0
                                                                                      (if (pair?
                                                                                           (unwrap
                                                                                            lst_0))
                                                                                        (wrap-car
                                                                                         lst_0)
                                                                                        lst_0)))
                                                                                 (let ((rest_0
                                                                                        (if (pair?
                                                                                             (unwrap
                                                                                              lst_0))
                                                                                          (wrap-cdr
                                                                                           lst_0)
                                                                                          null)))
                                                                                   (let ((v_1
                                                                                          v_0))
                                                                                     (call-with-values
                                                                                      (lambda ()
                                                                                        (call-with-values
                                                                                         (lambda ()
                                                                                           (call-with-values
                                                                                            (lambda ()
                                                                                              (let ((p_1
                                                                                                     (unwrap
                                                                                                      v_1)))
                                                                                                (let ((idss_1
                                                                                                       (let ((a_1
                                                                                                              (car
                                                                                                               p_1)))
                                                                                                         a_1)))
                                                                                                  (let ((bodys_1
                                                                                                         (let ((d_3
                                                                                                                (cdr
                                                                                                                 p_1)))
                                                                                                           d_3)))
                                                                                                    (let ((idss_2
                                                                                                           idss_1))
                                                                                                      (values
                                                                                                       idss_2
                                                                                                       bodys_1))))))
                                                                                            (lambda (idss20_0
                                                                                                     bodys21_0)
                                                                                              (values
                                                                                               (cons
                                                                                                idss20_0
                                                                                                idss_0)
                                                                                               (cons
                                                                                                bodys21_0
                                                                                                bodys_0)))))
                                                                                         (lambda (idss_1
                                                                                                  bodys_1)
                                                                                           (values
                                                                                            idss_1
                                                                                            bodys_1))))
                                                                                      (lambda (idss_1
                                                                                               bodys_1)
                                                                                        (for-loop_0
                                                                                         idss_1
                                                                                         bodys_1
                                                                                         rest_0))))))
                                                                               (values
                                                                                idss_0
                                                                                bodys_0))))))
                                                                        (for-loop_0
                                                                         null
                                                                         null
                                                                         d_2)))
                                                                     (lambda (idss_0
                                                                              bodys_0)
                                                                       (let ((app_0
                                                                              (reverse$1
                                                                               idss_0)))
                                                                         (values
                                                                          app_0
                                                                          (reverse$1
                                                                           bodys_0)))))))))
                                                            (lambda (idss_0
                                                                     bodys_0)
                                                              (let ((body_1
                                                                     body_0))
                                                                (values
                                                                 body_1
                                                                 idss_0
                                                                 bodys_0))))))))
                                                   (lambda (body_0
                                                            idss_0
                                                            bodys_0)
                                                     (let ((body-stk-is_0
                                                            (reverse$1
                                                             (letrec*
                                                              ((for-loop_0
                                                                (|#%name|
                                                                 for-loop
                                                                 (lambda (fold-var_0
                                                                          lst_0)
                                                                   (if (pair?
                                                                        lst_0)
                                                                     (let ((body_1
                                                                            (unsafe-car
                                                                             lst_0)))
                                                                       (let ((rest_0
                                                                              (unsafe-cdr
                                                                               lst_0)))
                                                                         (let ((fold-var_1
                                                                                (let ((fold-var_1
                                                                                       (cons
                                                                                        (stack-info-branch
                                                                                         stk-i_0)
                                                                                        fold-var_0)))
                                                                                  (values
                                                                                   fold-var_1))))
                                                                           (for-loop_0
                                                                            fold-var_1
                                                                            rest_0))))
                                                                     fold-var_0)))))
                                                              (for-loop_0
                                                               null
                                                               bodys_0)))))
                                                       (let ((initial-new-clauses_0
                                                              (reverse$1
                                                               (letrec*
                                                                ((for-loop_0
                                                                  (|#%name|
                                                                   for-loop
                                                                   (lambda (fold-var_0
                                                                            lst_0
                                                                            lst_1
                                                                            lst_2)
                                                                     (if (if (pair?
                                                                              lst_0)
                                                                           (if (pair?
                                                                                lst_1)
                                                                             (pair?
                                                                              lst_2)
                                                                             #f)
                                                                           #f)
                                                                       (let ((ids_0
                                                                              (unsafe-car
                                                                               lst_0)))
                                                                         (let ((rest_0
                                                                                (unsafe-cdr
                                                                                 lst_0)))
                                                                           (let ((body_1
                                                                                  (unsafe-car
                                                                                   lst_1)))
                                                                             (let ((rest_1
                                                                                    (unsafe-cdr
                                                                                     lst_1)))
                                                                               (let ((body-stk-i_0
                                                                                      (unsafe-car
                                                                                       lst_2)))
                                                                                 (let ((rest_2
                                                                                        (unsafe-cdr
                                                                                         lst_2)))
                                                                                   (let ((fold-var_1
                                                                                          (let ((fold-var_1
                                                                                                 (cons
                                                                                                  (call-with-values
                                                                                                   (lambda ()
                                                                                                     (args->env_0
                                                                                                      ids_0
                                                                                                      env_0
                                                                                                      stack-depth_0
                                                                                                      mutated_0))
                                                                                                   (lambda (new-env_0
                                                                                                            count_0
                                                                                                            rest?_0)
                                                                                                     (let ((new-stack-depth_0
                                                                                                            (+
                                                                                                             stack-depth_0
                                                                                                             count_0)))
                                                                                                       (let ((c-body_0
                                                                                                              (compile-body_0
                                                                                                               body_1
                                                                                                               new-env_0
                                                                                                               new-stack-depth_0
                                                                                                               body-stk-i_0
                                                                                                               tail?_0
                                                                                                               mutated_0)))
                                                                                                         (let ((new-body_0
                                                                                                                (add-boxes/remove-unused_0
                                                                                                                 c-body_0
                                                                                                                 ids_0
                                                                                                                 mutated_0
                                                                                                                 new-env_0
                                                                                                                 body-stk-i_0)))
                                                                                                           (let ((pos_0
                                                                                                                  (stack->pos.1
                                                                                                                   #t
                                                                                                                   stack-depth_0
                                                                                                                   body-stk-i_0)))
                                                                                                             (begin
                                                                                                               (stack-info-forget!
                                                                                                                body-stk-i_0
                                                                                                                stack-depth_0
                                                                                                                pos_0
                                                                                                                count_0)
                                                                                                               (vector
                                                                                                                (count->mask
                                                                                                                 count_0
                                                                                                                 rest?_0)
                                                                                                                new-body_0))))))))
                                                                                                  fold-var_0)))
                                                                                            (values
                                                                                             fold-var_1))))
                                                                                     (for-loop_0
                                                                                      fold-var_1
                                                                                      rest_0
                                                                                      rest_1
                                                                                      rest_2))))))))
                                                                       fold-var_0)))))
                                                                (for-loop_0
                                                                 null
                                                                 idss_0
                                                                 bodys_0
                                                                 body-stk-is_0)))))
                                                         (let ((all-clear_0
                                                                (stack-info-merge!
                                                                 stk-i_0
                                                                 body-stk-is_0)))
                                                           (let ((app_0
                                                                  (compile-body_0
                                                                   body_0
                                                                   env_0
                                                                   stack-depth_0
                                                                   stk-i_0
                                                                   #f
                                                                   mutated_0)))
                                                             (let ((app_1
                                                                    (stack->pos.1
                                                                     #t
                                                                     stack-depth_0
                                                                     stk-i_0)))
                                                               (let ((app_2
                                                                      (if (let ((p_0
                                                                                 (unwrap
                                                                                  e_0)))
                                                                            (if (pair?
                                                                                 p_0)
                                                                              (let ((a_0
                                                                                     (cdr
                                                                                      p_0)))
                                                                                (let ((p_1
                                                                                       (unwrap
                                                                                        a_0)))
                                                                                  (if (pair?
                                                                                       p_1)
                                                                                    (let ((a_1
                                                                                           (cdr
                                                                                            p_1)))
                                                                                      (let ((p_2
                                                                                             (unwrap
                                                                                              a_1)))
                                                                                        (if (pair?
                                                                                             p_2)
                                                                                          (let ((a_2
                                                                                                 (cdr
                                                                                                  p_2)))
                                                                                            (let ((app_2
                                                                                                   (unwrap
                                                                                                    '())))
                                                                                              (eq?
                                                                                               app_2
                                                                                               (unwrap
                                                                                                a_2))))
                                                                                          #f)))
                                                                                    #f)))
                                                                              #f))
                                                                        (let ((receiver_0
                                                                               (let ((d_0
                                                                                      (cdr
                                                                                       (unwrap
                                                                                        e_0))))
                                                                                 (let ((d_1
                                                                                        (cdr
                                                                                         (unwrap
                                                                                          d_0))))
                                                                                   (let ((a_0
                                                                                          (car
                                                                                           (unwrap
                                                                                            d_1))))
                                                                                     a_0)))))
                                                                          (wrap-property
                                                                           receiver_0
                                                                           'inferred-name))
                                                                        (error
                                                                         'match
                                                                         "failed ~e"
                                                                         e_0))))
                                                                 (vector
                                                                  'cwv
                                                                  app_0
                                                                  app_1
                                                                  app_2
                                                                  (reverse$1
                                                                   (letrec*
                                                                    ((for-loop_0
                                                                      (|#%name|
                                                                       for-loop
                                                                       (lambda (fold-var_0
                                                                                lst_0
                                                                                lst_1)
                                                                         (if (if (pair?
                                                                                  lst_0)
                                                                               (pair?
                                                                                lst_1)
                                                                               #f)
                                                                           (let ((initial-new-clause_0
                                                                                  (unsafe-car
                                                                                   lst_0)))
                                                                             (let ((rest_0
                                                                                    (unsafe-cdr
                                                                                     lst_0)))
                                                                               (let ((body-stk-i_0
                                                                                      (unsafe-car
                                                                                       lst_1)))
                                                                                 (let ((rest_1
                                                                                        (unsafe-cdr
                                                                                         lst_1)))
                                                                                   (let ((fold-var_1
                                                                                          (let ((fold-var_1
                                                                                                 (cons
                                                                                                  (let ((body_1
                                                                                                         (vector-ref
                                                                                                          initial-new-clause_0
                                                                                                          1)))
                                                                                                    (let ((app_3
                                                                                                           (vector-ref
                                                                                                            initial-new-clause_0
                                                                                                            0)))
                                                                                                      (vector
                                                                                                       app_3
                                                                                                       (add-clears_0
                                                                                                        body_1
                                                                                                        body-stk-i_0
                                                                                                        all-clear_0))))
                                                                                                  fold-var_0)))
                                                                                            (values
                                                                                             fold-var_1))))
                                                                                     (for-loop_0
                                                                                      fold-var_1
                                                                                      rest_0
                                                                                      rest_1))))))
                                                                           fold-var_0)))))
                                                                    (for-loop_0
                                                                     null
                                                                     initial-new-clauses_0
                                                                     body-stk-is_0))))))))))))
                                                  (if (if (eq?
                                                           'call-with-module-prompt
                                                           hd_0)
                                                        (let ((a_0
                                                               (cdr
                                                                (unwrap e_0))))
                                                          (let ((p_0
                                                                 (unwrap a_0)))
                                                            (if (pair? p_0)
                                                              (if (let ((a_1
                                                                         (car
                                                                          p_0)))
                                                                    (let ((p_1
                                                                           (unwrap
                                                                            a_1)))
                                                                      (if (pair?
                                                                           p_1)
                                                                        (if (let ((a_2
                                                                                   (car
                                                                                    p_1)))
                                                                              (let ((app_0
                                                                                     (unwrap
                                                                                      'lambda)))
                                                                                (eq?
                                                                                 app_0
                                                                                 (unwrap
                                                                                  a_2))))
                                                                          (let ((a_2
                                                                                 (cdr
                                                                                  p_1)))
                                                                            (let ((p_2
                                                                                   (unwrap
                                                                                    a_2)))
                                                                              (if (pair?
                                                                                   p_2)
                                                                                (if (let ((a_3
                                                                                           (car
                                                                                            p_2)))
                                                                                      (let ((app_0
                                                                                             (unwrap
                                                                                              '())))
                                                                                        (eq?
                                                                                         app_0
                                                                                         (unwrap
                                                                                          a_3))))
                                                                                  #t
                                                                                  #f)
                                                                                #f)))
                                                                          #f)
                                                                        #f)))
                                                                (let ((a_1
                                                                       (cdr
                                                                        p_0)))
                                                                  (let ((app_0
                                                                         (unwrap
                                                                          '())))
                                                                    (eq?
                                                                     app_0
                                                                     (unwrap
                                                                      a_1))))
                                                                #f)
                                                              #f)))
                                                        #f)
                                                    (let ((body_0
                                                           (let ((d_0
                                                                  (cdr
                                                                   (unwrap
                                                                    e_0))))
                                                             (let ((a_0
                                                                    (car
                                                                     (unwrap
                                                                      d_0))))
                                                               (let ((d_1
                                                                      (cdr
                                                                       (unwrap
                                                                        a_0))))
                                                                 (let ((d_2
                                                                        (cdr
                                                                         (unwrap
                                                                          d_1))))
                                                                   d_2))))))
                                                      (vector
                                                       'cwmp0
                                                       (compile-body_0
                                                        body_0
                                                        env_0
                                                        stack-depth_0
                                                        stk-i_0
                                                        tail?_0
                                                        mutated_0)))
                                                    (if (if (eq?
                                                             'call-with-module-prompt
                                                             hd_0)
                                                          (let ((a_0
                                                                 (cdr
                                                                  (unwrap
                                                                   e_0))))
                                                            (let ((p_0
                                                                   (unwrap
                                                                    a_0)))
                                                              (if (pair? p_0)
                                                                (if (let ((a_1
                                                                           (car
                                                                            p_0)))
                                                                      (let ((p_1
                                                                             (unwrap
                                                                              a_1)))
                                                                        (if (pair?
                                                                             p_1)
                                                                          (if (let ((a_2
                                                                                     (car
                                                                                      p_1)))
                                                                                (let ((app_0
                                                                                       (unwrap
                                                                                        'lambda)))
                                                                                  (eq?
                                                                                   app_0
                                                                                   (unwrap
                                                                                    a_2))))
                                                                            (let ((a_2
                                                                                   (cdr
                                                                                    p_1)))
                                                                              (let ((p_2
                                                                                     (unwrap
                                                                                      a_2)))
                                                                                (if (pair?
                                                                                     p_2)
                                                                                  (if (let ((a_3
                                                                                             (car
                                                                                              p_2)))
                                                                                        (let ((app_0
                                                                                               (unwrap
                                                                                                '())))
                                                                                          (eq?
                                                                                           app_0
                                                                                           (unwrap
                                                                                            a_3))))
                                                                                    #t
                                                                                    #f)
                                                                                  #f)))
                                                                            #f)
                                                                          #f)))
                                                                  (let ((a_1
                                                                         (cdr
                                                                          p_0)))
                                                                    (let ((p_1
                                                                           (unwrap
                                                                            a_1)))
                                                                      (if (pair?
                                                                           p_1)
                                                                        (if (let ((a_2
                                                                                   (car
                                                                                    p_1)))
                                                                              (let ((p_2
                                                                                     (unwrap
                                                                                      a_2)))
                                                                                (if (pair?
                                                                                     p_2)
                                                                                  (if (let ((a_3
                                                                                             (car
                                                                                              p_2)))
                                                                                        (let ((app_0
                                                                                               (unwrap
                                                                                                'quote)))
                                                                                          (eq?
                                                                                           app_0
                                                                                           (unwrap
                                                                                            a_3))))
                                                                                    (let ((a_3
                                                                                           (cdr
                                                                                            p_2)))
                                                                                      (let ((p_3
                                                                                             (unwrap
                                                                                              a_3)))
                                                                                        (if (pair?
                                                                                             p_3)
                                                                                          (let ((a_4
                                                                                                 (cdr
                                                                                                  p_3)))
                                                                                            (let ((app_0
                                                                                                   (unwrap
                                                                                                    '())))
                                                                                              (eq?
                                                                                               app_0
                                                                                               (unwrap
                                                                                                a_4))))
                                                                                          #f)))
                                                                                    #f)
                                                                                  #f)))
                                                                          (let ((a_2
                                                                                 (cdr
                                                                                  p_1)))
                                                                            (let ((p_2
                                                                                   (unwrap
                                                                                    a_2)))
                                                                              (if (pair?
                                                                                   p_2)
                                                                                (if (let ((a_3
                                                                                           (car
                                                                                            p_2)))
                                                                                      (let ((p_3
                                                                                             (unwrap
                                                                                              a_3)))
                                                                                        (if (pair?
                                                                                             p_3)
                                                                                          (if (let ((a_4
                                                                                                     (car
                                                                                                      p_3)))
                                                                                                (let ((app_0
                                                                                                       (unwrap
                                                                                                        'quote)))
                                                                                                  (eq?
                                                                                                   app_0
                                                                                                   (unwrap
                                                                                                    a_4))))
                                                                                            (let ((a_4
                                                                                                   (cdr
                                                                                                    p_3)))
                                                                                              (let ((p_4
                                                                                                     (unwrap
                                                                                                      a_4)))
                                                                                                (if (pair?
                                                                                                     p_4)
                                                                                                  (let ((a_5
                                                                                                         (cdr
                                                                                                          p_4)))
                                                                                                    (let ((app_0
                                                                                                           (unwrap
                                                                                                            '())))
                                                                                                      (eq?
                                                                                                       app_0
                                                                                                       (unwrap
                                                                                                        a_5))))
                                                                                                  #f)))
                                                                                            #f)
                                                                                          #f)))
                                                                                  (let ((a_3
                                                                                         (cdr
                                                                                          p_2)))
                                                                                    (wrap-list?
                                                                                     a_3))
                                                                                  #f)
                                                                                #f)))
                                                                          #f)
                                                                        #f)))
                                                                  #f)
                                                                #f)))
                                                          #f)
                                                      (call-with-values
                                                       (lambda ()
                                                         (let ((d_0
                                                                (cdr
                                                                 (unwrap
                                                                  e_0))))
                                                           (let ((p_0
                                                                  (unwrap
                                                                   d_0)))
                                                             (let ((body_0
                                                                    (let ((a_0
                                                                           (car
                                                                            p_0)))
                                                                      (let ((d_1
                                                                             (cdr
                                                                              (unwrap
                                                                               a_0))))
                                                                        (let ((d_2
                                                                               (cdr
                                                                                (unwrap
                                                                                 d_1))))
                                                                          d_2)))))
                                                               (call-with-values
                                                                (lambda ()
                                                                  (let ((d_1
                                                                         (cdr
                                                                          p_0)))
                                                                    (let ((p_1
                                                                           (unwrap
                                                                            d_1)))
                                                                      (let ((ids_0
                                                                             (let ((a_0
                                                                                    (car
                                                                                     p_1)))
                                                                               (let ((d_2
                                                                                      (cdr
                                                                                       (unwrap
                                                                                        a_0))))
                                                                                 (let ((a_1
                                                                                        (car
                                                                                         (unwrap
                                                                                          d_2))))
                                                                                   a_1)))))
                                                                        (call-with-values
                                                                         (lambda ()
                                                                           (let ((d_2
                                                                                  (cdr
                                                                                   p_1)))
                                                                             (let ((p_2
                                                                                    (unwrap
                                                                                     d_2)))
                                                                               (let ((constances_0
                                                                                      (let ((a_0
                                                                                             (car
                                                                                              p_2)))
                                                                                        (let ((d_3
                                                                                               (cdr
                                                                                                (unwrap
                                                                                                 a_0))))
                                                                                          (let ((a_1
                                                                                                 (car
                                                                                                  (unwrap
                                                                                                   d_3))))
                                                                                            a_1)))))
                                                                                 (let ((vars_0
                                                                                        (let ((d_3
                                                                                               (cdr
                                                                                                p_2)))
                                                                                          (unwrap-list
                                                                                           d_3))))
                                                                                   (let ((constances_1
                                                                                          constances_0))
                                                                                     (values
                                                                                      constances_1
                                                                                      vars_0)))))))
                                                                         (lambda (constances_0
                                                                                  vars_0)
                                                                           (let ((ids_1
                                                                                  ids_0))
                                                                             (values
                                                                              ids_1
                                                                              constances_0
                                                                              vars_0))))))))
                                                                (lambda (ids_0
                                                                         constances_0
                                                                         vars_0)
                                                                  (let ((body_1
                                                                         body_0))
                                                                    (values
                                                                     body_1
                                                                     ids_0
                                                                     constances_0
                                                                     vars_0))))))))
                                                       (lambda (body_0
                                                                ids_0
                                                                constances_0
                                                                vars_0)
                                                         (let ((app_0
                                                                (compile-body_0
                                                                 body_0
                                                                 env_0
                                                                 stack-depth_0
                                                                 stk-i_0
                                                                 tail?_0
                                                                 mutated_0)))
                                                           (vector
                                                            'cwmp
                                                            app_0
                                                            ids_0
                                                            constances_0
                                                            (compile-list_0
                                                             vars_0
                                                             env_0
                                                             stack-depth_0
                                                             stk-i_0
                                                             #f
                                                             mutated_0)))))
                                                      (if (if (eq?
                                                               'variable-set!
                                                               hd_0)
                                                            (let ((a_0
                                                                   (cdr
                                                                    (unwrap
                                                                     e_0))))
                                                              (let ((p_0
                                                                     (unwrap
                                                                      a_0)))
                                                                (if (pair? p_0)
                                                                  (let ((a_1
                                                                         (cdr
                                                                          p_0)))
                                                                    (let ((p_1
                                                                           (unwrap
                                                                            a_1)))
                                                                      (if (pair?
                                                                           p_1)
                                                                        (let ((a_2
                                                                               (cdr
                                                                                p_1)))
                                                                          (let ((app_0
                                                                                 (unwrap
                                                                                  '())))
                                                                            (eq?
                                                                             app_0
                                                                             (unwrap
                                                                              a_2))))
                                                                        #f)))
                                                                  #f)))
                                                            #f)
                                                        (call-with-values
                                                         (lambda ()
                                                           (let ((d_0
                                                                  (cdr
                                                                   (unwrap
                                                                    e_0))))
                                                             (let ((p_0
                                                                    (unwrap
                                                                     d_0)))
                                                               (let ((dest-id_0
                                                                      (let ((a_0
                                                                             (car
                                                                              p_0)))
                                                                        a_0)))
                                                                 (let ((e_1
                                                                        (let ((d_1
                                                                               (cdr
                                                                                p_0)))
                                                                          (let ((a_0
                                                                                 (car
                                                                                  (unwrap
                                                                                   d_1))))
                                                                            a_0))))
                                                                   (let ((dest-id_1
                                                                          dest-id_0))
                                                                     (values
                                                                      dest-id_1
                                                                      e_1)))))))
                                                         (lambda (dest-id_0
                                                                  e_1)
                                                           (let ((dest-var_0
                                                                  (hash-ref
                                                                   env_0
                                                                   (unwrap
                                                                    dest-id_0))))
                                                             (let ((new-expr_0
                                                                    (compile-expr_0
                                                                     e_1
                                                                     env_0
                                                                     stack-depth_0
                                                                     stk-i_0
                                                                     #f
                                                                     mutated_0)))
                                                               (vector
                                                                'set-variable!
                                                                (stack->pos.1
                                                                 #f
                                                                 dest-var_0
                                                                 stk-i_0)
                                                                new-expr_0
                                                                #f
                                                                #f)))))
                                                        (if (if (eq?
                                                                 'variable-set!/define
                                                                 hd_0)
                                                              (let ((a_0
                                                                     (cdr
                                                                      (unwrap
                                                                       e_0))))
                                                                (let ((p_0
                                                                       (unwrap
                                                                        a_0)))
                                                                  (if (pair?
                                                                       p_0)
                                                                    (let ((a_1
                                                                           (cdr
                                                                            p_0)))
                                                                      (let ((p_1
                                                                             (unwrap
                                                                              a_1)))
                                                                        (if (pair?
                                                                             p_1)
                                                                          (let ((a_2
                                                                                 (cdr
                                                                                  p_1)))
                                                                            (let ((p_2
                                                                                   (unwrap
                                                                                    a_2)))
                                                                              (if (pair?
                                                                                   p_2)
                                                                                (if (let ((a_3
                                                                                           (car
                                                                                            p_2)))
                                                                                      (let ((p_3
                                                                                             (unwrap
                                                                                              a_3)))
                                                                                        (if (pair?
                                                                                             p_3)
                                                                                          (if (let ((a_4
                                                                                                     (car
                                                                                                      p_3)))
                                                                                                (let ((app_0
                                                                                                       (unwrap
                                                                                                        'quote)))
                                                                                                  (eq?
                                                                                                   app_0
                                                                                                   (unwrap
                                                                                                    a_4))))
                                                                                            (let ((a_4
                                                                                                   (cdr
                                                                                                    p_3)))
                                                                                              (let ((p_4
                                                                                                     (unwrap
                                                                                                      a_4)))
                                                                                                (if (pair?
                                                                                                     p_4)
                                                                                                  (let ((a_5
                                                                                                         (cdr
                                                                                                          p_4)))
                                                                                                    (let ((app_0
                                                                                                           (unwrap
                                                                                                            '())))
                                                                                                      (eq?
                                                                                                       app_0
                                                                                                       (unwrap
                                                                                                        a_5))))
                                                                                                  #f)))
                                                                                            #f)
                                                                                          #f)))
                                                                                  (let ((a_3
                                                                                         (cdr
                                                                                          p_2)))
                                                                                    (let ((app_0
                                                                                           (unwrap
                                                                                            '())))
                                                                                      (eq?
                                                                                       app_0
                                                                                       (unwrap
                                                                                        a_3))))
                                                                                  #f)
                                                                                #f)))
                                                                          #f)))
                                                                    #f)))
                                                              #f)
                                                          (call-with-values
                                                           (lambda ()
                                                             (let ((d_0
                                                                    (cdr
                                                                     (unwrap
                                                                      e_0))))
                                                               (let ((p_0
                                                                      (unwrap
                                                                       d_0)))
                                                                 (let ((dest-id_0
                                                                        (let ((a_0
                                                                               (car
                                                                                p_0)))
                                                                          a_0)))
                                                                   (call-with-values
                                                                    (lambda ()
                                                                      (let ((d_1
                                                                             (cdr
                                                                              p_0)))
                                                                        (let ((p_1
                                                                               (unwrap
                                                                                d_1)))
                                                                          (let ((e_1
                                                                                 (let ((a_0
                                                                                        (car
                                                                                         p_1)))
                                                                                   a_0)))
                                                                            (let ((constance_0
                                                                                   (let ((d_2
                                                                                          (cdr
                                                                                           p_1)))
                                                                                     (let ((a_0
                                                                                            (car
                                                                                             (unwrap
                                                                                              d_2))))
                                                                                       (let ((d_3
                                                                                              (cdr
                                                                                               (unwrap
                                                                                                a_0))))
                                                                                         (let ((a_1
                                                                                                (car
                                                                                                 (unwrap
                                                                                                  d_3))))
                                                                                           a_1))))))
                                                                              (let ((e_2
                                                                                     e_1))
                                                                                (values
                                                                                 e_2
                                                                                 constance_0)))))))
                                                                    (lambda (e_1
                                                                             constance_0)
                                                                      (let ((dest-id_1
                                                                             dest-id_0))
                                                                        (values
                                                                         dest-id_1
                                                                         e_1
                                                                         constance_0))))))))
                                                           (lambda (dest-id_0
                                                                    e_1
                                                                    constance_0)
                                                             (let ((dest-var_0
                                                                    (hash-ref
                                                                     env_0
                                                                     (unwrap
                                                                      dest-id_0))))
                                                               (let ((new-expr_0
                                                                      (compile-expr_0
                                                                       e_1
                                                                       env_0
                                                                       stack-depth_0
                                                                       stk-i_0
                                                                       #f
                                                                       mutated_0)))
                                                                 (vector
                                                                  'set-variable!
                                                                  (stack->pos.1
                                                                   #f
                                                                   dest-var_0
                                                                   stk-i_0)
                                                                  new-expr_0
                                                                  constance_0
                                                                  #t)))))
                                                          (if (if (eq?
                                                                   'variable-ref
                                                                   hd_0)
                                                                (let ((a_0
                                                                       (cdr
                                                                        (unwrap
                                                                         e_0))))
                                                                  (let ((p_0
                                                                         (unwrap
                                                                          a_0)))
                                                                    (if (pair?
                                                                         p_0)
                                                                      (let ((a_1
                                                                             (cdr
                                                                              p_0)))
                                                                        (let ((app_0
                                                                               (unwrap
                                                                                '())))
                                                                          (eq?
                                                                           app_0
                                                                           (unwrap
                                                                            a_1))))
                                                                      #f)))
                                                                #f)
                                                            (let ((id_0
                                                                   (let ((d_0
                                                                          (cdr
                                                                           (unwrap
                                                                            e_0))))
                                                                     (let ((a_0
                                                                            (car
                                                                             (unwrap
                                                                              d_0))))
                                                                       a_0))))
                                                              (let ((var_0
                                                                     (hash-ref
                                                                      env_0
                                                                      (unwrap
                                                                       id_0))))
                                                                (vector
                                                                 'ref-variable/checked
                                                                 (stack->pos.1
                                                                  #f
                                                                  var_0
                                                                  stk-i_0))))
                                                            (if (if (eq?
                                                                     'variable-ref/no-check
                                                                     hd_0)
                                                                  (let ((a_0
                                                                         (cdr
                                                                          (unwrap
                                                                           e_0))))
                                                                    (let ((p_0
                                                                           (unwrap
                                                                            a_0)))
                                                                      (if (pair?
                                                                           p_0)
                                                                        (let ((a_1
                                                                               (cdr
                                                                                p_0)))
                                                                          (let ((app_0
                                                                                 (unwrap
                                                                                  '())))
                                                                            (eq?
                                                                             app_0
                                                                             (unwrap
                                                                              a_1))))
                                                                        #f)))
                                                                  #f)
                                                              (let ((id_0
                                                                     (let ((d_0
                                                                            (cdr
                                                                             (unwrap
                                                                              e_0))))
                                                                       (let ((a_0
                                                                              (car
                                                                               (unwrap
                                                                                d_0))))
                                                                         a_0))))
                                                                (let ((var_0
                                                                       (hash-ref
                                                                        env_0
                                                                        (unwrap
                                                                         id_0))))
                                                                  (vector
                                                                   'ref-variable
                                                                   (stack->pos.1
                                                                    #f
                                                                    var_0
                                                                    stk-i_0))))
                                                              (if (if (eq?
                                                                       'ffi-static-call-and-callback-core
                                                                       hd_0)
                                                                    (let ((a_0
                                                                           (cdr
                                                                            (unwrap
                                                                             e_0))))
                                                                      (wrap-list?
                                                                       a_0))
                                                                    #f)
                                                                (error
                                                                 'compile
                                                                 "unexpected ffi-static-call-and-callback-core in interpreter mode")
                                                                (if (if (eq?
                                                                         '|#%app|
                                                                         hd_0)
                                                                      (let ((a_0
                                                                             (cdr
                                                                              (unwrap
                                                                               e_0))))
                                                                        (wrap-list?
                                                                         a_0))
                                                                      #f)
                                                                  (compile-apply_0
                                                                   (wrap-cdr
                                                                    e_0)
                                                                   env_0
                                                                   stack-depth_0
                                                                   stk-i_0
                                                                   tail?_0
                                                                   mutated_0)
                                                                  (if (if (eq?
                                                                           '|#%app/value|
                                                                           hd_0)
                                                                        (let ((a_0
                                                                               (cdr
                                                                                (unwrap
                                                                                 e_0))))
                                                                          (wrap-list?
                                                                           a_0))
                                                                        #f)
                                                                    (compile-apply_0
                                                                     (wrap-cdr
                                                                      e_0)
                                                                     env_0
                                                                     stack-depth_0
                                                                     stk-i_0
                                                                     tail?_0
                                                                     mutated_0)
                                                                    (if (if (eq?
                                                                             '|#%app/no-return|
                                                                             hd_0)
                                                                          (let ((a_0
                                                                                 (cdr
                                                                                  (unwrap
                                                                                   e_0))))
                                                                            (wrap-list?
                                                                             a_0))
                                                                          #f)
                                                                      (compile-apply_0
                                                                       (wrap-cdr
                                                                        e_0)
                                                                       env_0
                                                                       stack-depth_0
                                                                       stk-i_0
                                                                       tail?_0
                                                                       mutated_0)
                                                                      (if (let ((p_0
                                                                                 (unwrap
                                                                                  e_0)))
                                                                            (if (pair?
                                                                                 p_0)
                                                                              (let ((a_0
                                                                                     (cdr
                                                                                      p_0)))
                                                                                (wrap-list?
                                                                                 a_0))
                                                                              #f))
                                                                        (let ((rator_0
                                                                               (let ((a_0
                                                                                      (car
                                                                                       (unwrap
                                                                                        e_0))))
                                                                                 a_0)))
                                                                          (compile-apply_0
                                                                           e_0
                                                                           env_0
                                                                           stack-depth_0
                                                                           stk-i_0
                                                                           tail?_0
                                                                           mutated_0))
                                                                        (let ((u_0
                                                                               (unwrap
                                                                                e_0)))
                                                                          (let ((var_0
                                                                                 (hash-ref
                                                                                  env_0
                                                                                  u_0
                                                                                  #f)))
                                                                            (if (not
                                                                                 var_0)
                                                                              (if (number?
                                                                                   u_0)
                                                                                (vector
                                                                                 'quote
                                                                                 u_0)
                                                                                (let ((cond-val_0
                                                                                       (if (symbol?
                                                                                            u_0)
                                                                                         (if (not
                                                                                              serializable?_0)
                                                                                           (hash-ref
                                                                                            primitives
                                                                                            u_0
                                                                                            #f)
                                                                                           #f)
                                                                                         #f)))
                                                                                  (if cond-val_0
                                                                                    (if (procedure?
                                                                                         cond-val_0)
                                                                                      cond-val_0
                                                                                      (vector
                                                                                       'quote
                                                                                       cond-val_0))
                                                                                    u_0)))
                                                                              (if (indirect?
                                                                                   var_0)
                                                                                (let ((pos_0
                                                                                       (let ((temp36_0
                                                                                              (indirect-pos
                                                                                               var_0)))
                                                                                         (stack->pos.1
                                                                                          #f
                                                                                          temp36_0
                                                                                          stk-i_0))))
                                                                                  (let ((elem_0
                                                                                         (indirect-element
                                                                                          var_0)))
                                                                                    (cons
                                                                                     pos_0
                                                                                     elem_0)))
                                                                                (if (boxed?
                                                                                     var_0)
                                                                                  (let ((pos_0
                                                                                         (let ((temp38_0
                                                                                                (boxed-pos
                                                                                                 var_0)))
                                                                                           (stack->pos.1
                                                                                            #f
                                                                                            temp38_0
                                                                                            stk-i_0))))
                                                                                    (if (boxed/check?
                                                                                         var_0)
                                                                                      (vector
                                                                                       'unbox/checked
                                                                                       pos_0
                                                                                       u_0)
                                                                                      (vector
                                                                                       'unbox
                                                                                       pos_0)))
                                                                                  (stack->pos.1
                                                                                   #f
                                                                                   var_0
                                                                                   stk-i_0))))))))))))))))))))))))))))))))))))))))
      (compile-letrec_0
       (|#%name|
        compile-letrec
        (lambda (e_0 env_0 stack-depth_0 stk-i_0 tail?_0 mutated_0)
          (if (let ((p_0 (unwrap e_0)))
                (if (pair? p_0)
                  (let ((a_0 (cdr p_0)))
                    (let ((p_1 (unwrap a_0)))
                      (if (pair? p_1)
                        (if (let ((a_1 (car p_1)))
                              (if (wrap-list? a_1)
                                (letrec*
                                 ((for-loop_0
                                   (|#%name|
                                    for-loop
                                    (lambda (result_0 lst_0)
                                      (if (not (null? (unwrap lst_0)))
                                        (let ((v_0
                                               (if (pair? (unwrap lst_0))
                                                 (wrap-car lst_0)
                                                 lst_0)))
                                          (let ((rest_0
                                                 (if (pair? (unwrap lst_0))
                                                   (wrap-cdr lst_0)
                                                   null)))
                                            (let ((v_1 v_0))
                                              (let ((result_1
                                                     (let ((result_1
                                                            (let ((p_2
                                                                   (unwrap
                                                                    v_1)))
                                                              (if (pair? p_2)
                                                                (let ((a_2
                                                                       (cdr
                                                                        p_2)))
                                                                  (let ((p_3
                                                                         (unwrap
                                                                          a_2)))
                                                                    (if (pair?
                                                                         p_3)
                                                                      (let ((a_3
                                                                             (cdr
                                                                              p_3)))
                                                                        (let ((app_0
                                                                               (unwrap
                                                                                '())))
                                                                          (eq?
                                                                           app_0
                                                                           (unwrap
                                                                            a_3))))
                                                                      #f)))
                                                                #f))))
                                                       (values result_1))))
                                                (if (if (not
                                                         (let ((x_0
                                                                (list v_1)))
                                                           (not result_1)))
                                                      #t
                                                      #f)
                                                  (for-loop_0 result_1 rest_0)
                                                  result_1)))))
                                        result_0)))))
                                 (for-loop_0 #t a_1))
                                #f))
                          #t
                          #f)
                        #f)))
                  #f))
            (call-with-values
             (lambda ()
               (let ((d_0 (cdr (unwrap e_0))))
                 (let ((p_0 (unwrap d_0)))
                   (call-with-values
                    (lambda ()
                      (let ((a_0 (car p_0)))
                        (call-with-values
                         (lambda ()
                           (letrec*
                            ((for-loop_0
                              (|#%name|
                               for-loop
                               (lambda (ids_0 rhss_0 lst_0)
                                 (if (not (null? (unwrap lst_0)))
                                   (let ((v_0
                                          (if (pair? (unwrap lst_0))
                                            (wrap-car lst_0)
                                            lst_0)))
                                     (let ((rest_0
                                            (if (pair? (unwrap lst_0))
                                              (wrap-cdr lst_0)
                                              null)))
                                       (let ((v_1 v_0))
                                         (call-with-values
                                          (lambda ()
                                            (call-with-values
                                             (lambda ()
                                               (call-with-values
                                                (lambda ()
                                                  (let ((p_1 (unwrap v_1)))
                                                    (let ((ids_1
                                                           (let ((a_1
                                                                  (car p_1)))
                                                             a_1)))
                                                      (let ((rhss_1
                                                             (let ((d_1
                                                                    (cdr p_1)))
                                                               (let ((a_1
                                                                      (car
                                                                       (unwrap
                                                                        d_1))))
                                                                 a_1))))
                                                        (let ((ids_2 ids_1))
                                                          (values
                                                           ids_2
                                                           rhss_1))))))
                                                (lambda (ids42_0 rhss43_0)
                                                  (values
                                                   (cons ids42_0 ids_0)
                                                   (cons rhss43_0 rhss_0)))))
                                             (lambda (ids_1 rhss_1)
                                               (values ids_1 rhss_1))))
                                          (lambda (ids_1 rhss_1)
                                            (for-loop_0
                                             ids_1
                                             rhss_1
                                             rest_0))))))
                                   (values ids_0 rhss_0))))))
                            (for-loop_0 null null a_0)))
                         (lambda (ids_0 rhss_0)
                           (let ((app_0 (reverse$1 ids_0)))
                             (values app_0 (reverse$1 rhss_0)))))))
                    (lambda (ids_0 rhss_0)
                      (let ((body_0 (let ((d_1 (cdr p_0))) d_1)))
                        (let ((ids_1 ids_0) (rhss_1 rhss_0))
                          (values ids_1 rhss_1 body_0))))))))
             (lambda (ids_0 rhss_0 body_0)
               (let ((count_0 (length ids_0)))
                 (let ((make-env_0
                        (|#%name|
                         make-env
                         (lambda (boxed_0)
                           (letrec*
                            ((for-loop_0
                              (|#%name|
                               for-loop
                               (lambda (env_1 lst_0 pos_0)
                                 (if (if (pair? lst_0) #t #f)
                                   (let ((id_0 (unsafe-car lst_0)))
                                     (let ((rest_0 (unsafe-cdr lst_0)))
                                       (let ((env_2
                                              (let ((env_2
                                                     (let ((app_0
                                                            (unwrap id_0)))
                                                       (hash-set
                                                        env_1
                                                        app_0
                                                        (|#%app|
                                                         boxed_0
                                                         (+
                                                          (- count_0 pos_0 1)
                                                          stack-depth_0))))))
                                                (values env_2))))
                                         (for-loop_0
                                          env_2
                                          rest_0
                                          (+ pos_0 1)))))
                                   env_1)))))
                            (for-loop_0 env_0 ids_0 0))))))
                   (let ((rhs-env_0 (make-env_0 boxed/check3.1)))
                     (let ((body-env_0 (make-env_0 boxed2.1)))
                       (let ((body-stack-depth_0 (+ stack-depth_0 count_0)))
                         (let ((c-body_0
                                (compile-body_0
                                 body_0
                                 body-env_0
                                 body-stack-depth_0
                                 stk-i_0
                                 tail?_0
                                 mutated_0)))
                           (let ((new-rhss_0
                                  (list->vector
                                   (compile-list_0
                                    rhss_0
                                    rhs-env_0
                                    body-stack-depth_0
                                    stk-i_0
                                    #f
                                    mutated_0))))
                             (let ((new-body_0
                                    (add-boxes/remove-unused_0
                                     c-body_0
                                     ids_0
                                     hash2610
                                     body-env_0
                                     stk-i_0)))
                               (let ((pos_0
                                      (stack->pos.1 #t stack-depth_0 stk-i_0)))
                                 (begin
                                   (stack-info-forget!
                                    stk-i_0
                                    stack-depth_0
                                    pos_0
                                    count_0)
                                   (vector
                                    'letrec
                                    pos_0
                                    new-rhss_0
                                    new-body_0)))))))))))))
            (error 'match "failed ~e" e_0)))))
      (compile-apply_0
       (|#%name|
        compile-apply
        (lambda (es_0 env_0 stack-depth_0 stk-i_0 tail?_0 mutated_0)
          (begin
            (if tail?_0
              (void)
              (set-stack-info-non-tail-call-later?! stk-i_0 #t))
            (let ((new-es_0
                   (compile-list_0
                    es_0
                    env_0
                    stack-depth_0
                    stk-i_0
                    #f
                    mutated_0)))
              (list->vector (cons 'app new-es_0)))))))
      (compile-assignment_0
       (|#%name|
        compile-assignment
        (lambda (id_0 rhs_0 env_0 stack-depth_0 stk-i_0 mutated_0)
          (let ((compiled-rhs_0
                 (compile-expr_0
                  rhs_0
                  env_0
                  stack-depth_0
                  stk-i_0
                  #f
                  mutated_0)))
            (let ((u_0 (unwrap id_0)))
              (let ((var_0 (hash-ref env_0 u_0)))
                (if (indirect? var_0)
                  (let ((s_0
                         (let ((temp47_0 (indirect-pos var_0)))
                           (stack->pos.1 #f temp47_0 stk-i_0))))
                    (let ((e_0 (indirect-element var_0)))
                      (vector 'set!-indirect s_0 e_0 compiled-rhs_0)))
                  (if (boxed? var_0)
                    (let ((s_0
                           (let ((temp49_0 (boxed-pos var_0)))
                             (stack->pos.1 #f temp49_0 stk-i_0))))
                      (if (boxed/check? var_0)
                        (vector 'set!-boxed/checked s_0 compiled-rhs_0 u_0)
                        (vector 'set!-boxed s_0 compiled-rhs_0 u_0)))
                    (error
                     'compile
                     "unexpected set! ~s -> ~v"
                     u_0
                     var_0)))))))))
      (extract-expr-mutated_0
       (|#%name|
        extract-expr-mutated
        (lambda (e_0 mutated_0)
          (let ((hd_0
                 (let ((p_0 (unwrap e_0)))
                   (if (pair? p_0) (unwrap (car p_0)) #f))))
            (if (if (eq? 'lambda hd_0)
                  (let ((a_0 (cdr (unwrap e_0))))
                    (let ((p_0 (unwrap a_0))) (if (pair? p_0) #t #f)))
                  #f)
              (call-with-values
               (lambda ()
                 (let ((d_0 (cdr (unwrap e_0))))
                   (let ((p_0 (unwrap d_0)))
                     (let ((ids_0 (let ((a_0 (car p_0))) a_0)))
                       (let ((body_0 (let ((d_1 (cdr p_0))) d_1)))
                         (let ((ids_1 ids_0)) (values ids_1 body_0)))))))
               (lambda (ids_0 body_0)
                 (extract-list-mutated_0 body_0 mutated_0)))
              (if (if (eq? 'case-lambda hd_0)
                    (let ((a_0 (cdr (unwrap e_0))))
                      (if (wrap-list? a_0)
                        (letrec*
                         ((for-loop_0
                           (|#%name|
                            for-loop
                            (lambda (result_0 lst_0)
                              (if (not (null? (unwrap lst_0)))
                                (let ((v_0
                                       (if (pair? (unwrap lst_0))
                                         (wrap-car lst_0)
                                         lst_0)))
                                  (let ((rest_0
                                         (if (pair? (unwrap lst_0))
                                           (wrap-cdr lst_0)
                                           null)))
                                    (let ((v_1 v_0))
                                      (let ((result_1
                                             (let ((result_1
                                                    (let ((p_0 (unwrap v_1)))
                                                      (if (pair? p_0) #t #f))))
                                               (values result_1))))
                                        (if (if (not
                                                 (let ((x_0 (list v_1)))
                                                   (not result_1)))
                                              #t
                                              #f)
                                          (for-loop_0 result_1 rest_0)
                                          result_1)))))
                                result_0)))))
                         (for-loop_0 #t a_0))
                        #f))
                    #f)
                (call-with-values
                 (lambda ()
                   (let ((d_0 (cdr (unwrap e_0))))
                     (call-with-values
                      (lambda ()
                        (letrec*
                         ((for-loop_0
                           (|#%name|
                            for-loop
                            (lambda (idss_0 bodys_0 lst_0)
                              (if (not (null? (unwrap lst_0)))
                                (let ((v_0
                                       (if (pair? (unwrap lst_0))
                                         (wrap-car lst_0)
                                         lst_0)))
                                  (let ((rest_0
                                         (if (pair? (unwrap lst_0))
                                           (wrap-cdr lst_0)
                                           null)))
                                    (let ((v_1 v_0))
                                      (call-with-values
                                       (lambda ()
                                         (call-with-values
                                          (lambda ()
                                            (call-with-values
                                             (lambda ()
                                               (let ((p_0 (unwrap v_1)))
                                                 (let ((idss_1
                                                        (let ((a_0 (car p_0)))
                                                          a_0)))
                                                   (let ((bodys_1
                                                          (let ((d_1
                                                                 (cdr p_0)))
                                                            d_1)))
                                                     (let ((idss_2 idss_1))
                                                       (values
                                                        idss_2
                                                        bodys_1))))))
                                             (lambda (idss51_0 bodys52_0)
                                               (values
                                                (cons idss51_0 idss_0)
                                                (cons bodys52_0 bodys_0)))))
                                          (lambda (idss_1 bodys_1)
                                            (values idss_1 bodys_1))))
                                       (lambda (idss_1 bodys_1)
                                         (for-loop_0
                                          idss_1
                                          bodys_1
                                          rest_0))))))
                                (values idss_0 bodys_0))))))
                         (for-loop_0 null null d_0)))
                      (lambda (idss_0 bodys_0)
                        (let ((app_0 (reverse$1 idss_0)))
                          (values app_0 (reverse$1 bodys_0)))))))
                 (lambda (idss_0 bodys_0)
                   (letrec*
                    ((for-loop_0
                      (|#%name|
                       for-loop
                       (lambda (mutated_1 lst_0)
                         (if (pair? lst_0)
                           (let ((body_0 (unsafe-car lst_0)))
                             (let ((rest_0 (unsafe-cdr lst_0)))
                               (let ((mutated_2
                                      (let ((mutated_2
                                             (extract-list-mutated_0
                                              body_0
                                              mutated_1)))
                                        (values mutated_2))))
                                 (for-loop_0 mutated_2 rest_0))))
                           mutated_1)))))
                    (for-loop_0 mutated_0 bodys_0))))
                (if (if (eq? 'let hd_0)
                      (let ((a_0 (cdr (unwrap e_0))))
                        (let ((p_0 (unwrap a_0)))
                          (if (pair? p_0)
                            (if (let ((a_1 (car p_0)))
                                  (if (wrap-list? a_1)
                                    (letrec*
                                     ((for-loop_0
                                       (|#%name|
                                        for-loop
                                        (lambda (result_0 lst_0)
                                          (if (not (null? (unwrap lst_0)))
                                            (let ((v_0
                                                   (if (pair? (unwrap lst_0))
                                                     (wrap-car lst_0)
                                                     lst_0)))
                                              (let ((rest_0
                                                     (if (pair? (unwrap lst_0))
                                                       (wrap-cdr lst_0)
                                                       null)))
                                                (let ((v_1 v_0))
                                                  (let ((result_1
                                                         (let ((result_1
                                                                (let ((p_1
                                                                       (unwrap
                                                                        v_1)))
                                                                  (if (pair?
                                                                       p_1)
                                                                    (let ((a_2
                                                                           (cdr
                                                                            p_1)))
                                                                      (let ((p_2
                                                                             (unwrap
                                                                              a_2)))
                                                                        (if (pair?
                                                                             p_2)
                                                                          (let ((a_3
                                                                                 (cdr
                                                                                  p_2)))
                                                                            (let ((app_0
                                                                                   (unwrap
                                                                                    '())))
                                                                              (eq?
                                                                               app_0
                                                                               (unwrap
                                                                                a_3))))
                                                                          #f)))
                                                                    #f))))
                                                           (values result_1))))
                                                    (if (if (not
                                                             (let ((x_0
                                                                    (list
                                                                     v_1)))
                                                               (not result_1)))
                                                          #t
                                                          #f)
                                                      (for-loop_0
                                                       result_1
                                                       rest_0)
                                                      result_1)))))
                                            result_0)))))
                                     (for-loop_0 #t a_1))
                                    #f))
                              #t
                              #f)
                            #f)))
                      #f)
                  (call-with-values
                   (lambda ()
                     (let ((d_0 (cdr (unwrap e_0))))
                       (let ((p_0 (unwrap d_0)))
                         (call-with-values
                          (lambda ()
                            (let ((a_0 (car p_0)))
                              (call-with-values
                               (lambda ()
                                 (letrec*
                                  ((for-loop_0
                                    (|#%name|
                                     for-loop
                                     (lambda (ids_0 rhss_0 lst_0)
                                       (if (not (null? (unwrap lst_0)))
                                         (let ((v_0
                                                (if (pair? (unwrap lst_0))
                                                  (wrap-car lst_0)
                                                  lst_0)))
                                           (let ((rest_0
                                                  (if (pair? (unwrap lst_0))
                                                    (wrap-cdr lst_0)
                                                    null)))
                                             (let ((v_1 v_0))
                                               (call-with-values
                                                (lambda ()
                                                  (call-with-values
                                                   (lambda ()
                                                     (call-with-values
                                                      (lambda ()
                                                        (let ((p_1
                                                               (unwrap v_1)))
                                                          (let ((ids_1
                                                                 (let ((a_1
                                                                        (car
                                                                         p_1)))
                                                                   a_1)))
                                                            (let ((rhss_1
                                                                   (let ((d_1
                                                                          (cdr
                                                                           p_1)))
                                                                     (let ((a_1
                                                                            (car
                                                                             (unwrap
                                                                              d_1))))
                                                                       a_1))))
                                                              (let ((ids_2
                                                                     ids_1))
                                                                (values
                                                                 ids_2
                                                                 rhss_1))))))
                                                      (lambda (ids53_0
                                                               rhss54_0)
                                                        (values
                                                         (cons ids53_0 ids_0)
                                                         (cons
                                                          rhss54_0
                                                          rhss_0)))))
                                                   (lambda (ids_1 rhss_1)
                                                     (values ids_1 rhss_1))))
                                                (lambda (ids_1 rhss_1)
                                                  (for-loop_0
                                                   ids_1
                                                   rhss_1
                                                   rest_0))))))
                                         (values ids_0 rhss_0))))))
                                  (for-loop_0 null null a_0)))
                               (lambda (ids_0 rhss_0)
                                 (let ((app_0 (reverse$1 ids_0)))
                                   (values app_0 (reverse$1 rhss_0)))))))
                          (lambda (ids_0 rhss_0)
                            (let ((body_0 (let ((d_1 (cdr p_0))) d_1)))
                              (let ((ids_1 ids_0) (rhss_1 rhss_0))
                                (values ids_1 rhss_1 body_0))))))))
                   (lambda (ids_0 rhss_0 body_0)
                     (extract-list-mutated_0
                      body_0
                      (extract-list-mutated_0 rhss_0 mutated_0))))
                  (if (if (eq? 'letrec hd_0)
                        (let ((a_0 (cdr (unwrap e_0))))
                          (let ((p_0 (unwrap a_0)))
                            (if (pair? p_0)
                              (if (let ((a_1 (car p_0)))
                                    (if (wrap-list? a_1)
                                      (letrec*
                                       ((for-loop_0
                                         (|#%name|
                                          for-loop
                                          (lambda (result_0 lst_0)
                                            (if (not (null? (unwrap lst_0)))
                                              (let ((v_0
                                                     (if (pair? (unwrap lst_0))
                                                       (wrap-car lst_0)
                                                       lst_0)))
                                                (let ((rest_0
                                                       (if (pair?
                                                            (unwrap lst_0))
                                                         (wrap-cdr lst_0)
                                                         null)))
                                                  (let ((v_1 v_0))
                                                    (let ((result_1
                                                           (let ((result_1
                                                                  (let ((p_1
                                                                         (unwrap
                                                                          v_1)))
                                                                    (if (pair?
                                                                         p_1)
                                                                      (let ((a_2
                                                                             (cdr
                                                                              p_1)))
                                                                        (let ((p_2
                                                                               (unwrap
                                                                                a_2)))
                                                                          (if (pair?
                                                                               p_2)
                                                                            (let ((a_3
                                                                                   (cdr
                                                                                    p_2)))
                                                                              (let ((app_0
                                                                                     (unwrap
                                                                                      '())))
                                                                                (eq?
                                                                                 app_0
                                                                                 (unwrap
                                                                                  a_3))))
                                                                            #f)))
                                                                      #f))))
                                                             (values
                                                              result_1))))
                                                      (if (if (not
                                                               (let ((x_0
                                                                      (list
                                                                       v_1)))
                                                                 (not
                                                                  result_1)))
                                                            #t
                                                            #f)
                                                        (for-loop_0
                                                         result_1
                                                         rest_0)
                                                        result_1)))))
                                              result_0)))))
                                       (for-loop_0 #t a_1))
                                      #f))
                                #t
                                #f)
                              #f)))
                        #f)
                    (call-with-values
                     (lambda ()
                       (let ((d_0 (cdr (unwrap e_0))))
                         (let ((p_0 (unwrap d_0)))
                           (call-with-values
                            (lambda ()
                              (let ((a_0 (car p_0)))
                                (call-with-values
                                 (lambda ()
                                   (letrec*
                                    ((for-loop_0
                                      (|#%name|
                                       for-loop
                                       (lambda (ids_0 rhss_0 lst_0)
                                         (if (not (null? (unwrap lst_0)))
                                           (let ((v_0
                                                  (if (pair? (unwrap lst_0))
                                                    (wrap-car lst_0)
                                                    lst_0)))
                                             (let ((rest_0
                                                    (if (pair? (unwrap lst_0))
                                                      (wrap-cdr lst_0)
                                                      null)))
                                               (let ((v_1 v_0))
                                                 (call-with-values
                                                  (lambda ()
                                                    (call-with-values
                                                     (lambda ()
                                                       (call-with-values
                                                        (lambda ()
                                                          (let ((p_1
                                                                 (unwrap v_1)))
                                                            (let ((ids_1
                                                                   (let ((a_1
                                                                          (car
                                                                           p_1)))
                                                                     a_1)))
                                                              (let ((rhss_1
                                                                     (let ((d_1
                                                                            (cdr
                                                                             p_1)))
                                                                       (let ((a_1
                                                                              (car
                                                                               (unwrap
                                                                                d_1))))
                                                                         a_1))))
                                                                (let ((ids_2
                                                                       ids_1))
                                                                  (values
                                                                   ids_2
                                                                   rhss_1))))))
                                                        (lambda (ids55_0
                                                                 rhss56_0)
                                                          (values
                                                           (cons ids55_0 ids_0)
                                                           (cons
                                                            rhss56_0
                                                            rhss_0)))))
                                                     (lambda (ids_1 rhss_1)
                                                       (values ids_1 rhss_1))))
                                                  (lambda (ids_1 rhss_1)
                                                    (for-loop_0
                                                     ids_1
                                                     rhss_1
                                                     rest_0))))))
                                           (values ids_0 rhss_0))))))
                                    (for-loop_0 null null a_0)))
                                 (lambda (ids_0 rhss_0)
                                   (let ((app_0 (reverse$1 ids_0)))
                                     (values app_0 (reverse$1 rhss_0)))))))
                            (lambda (ids_0 rhss_0)
                              (let ((body_0 (let ((d_1 (cdr p_0))) d_1)))
                                (let ((ids_1 ids_0) (rhss_1 rhss_0))
                                  (values ids_1 rhss_1 body_0))))))))
                     (lambda (ids_0 rhss_0 body_0)
                       (extract-list-mutated_0
                        body_0
                        (extract-list-mutated_0 rhss_0 mutated_0))))
                    (if (if (eq? 'letrec* hd_0)
                          (let ((a_0 (cdr (unwrap e_0))))
                            (let ((p_0 (unwrap a_0)))
                              (if (pair? p_0)
                                (if (let ((a_1 (car p_0)))
                                      (if (wrap-list? a_1)
                                        (letrec*
                                         ((for-loop_0
                                           (|#%name|
                                            for-loop
                                            (lambda (result_0 lst_0)
                                              (if (not (null? (unwrap lst_0)))
                                                (let ((v_0
                                                       (if (pair?
                                                            (unwrap lst_0))
                                                         (wrap-car lst_0)
                                                         lst_0)))
                                                  (let ((rest_0
                                                         (if (pair?
                                                              (unwrap lst_0))
                                                           (wrap-cdr lst_0)
                                                           null)))
                                                    (let ((v_1 v_0))
                                                      (let ((result_1
                                                             (let ((result_1
                                                                    (let ((p_1
                                                                           (unwrap
                                                                            v_1)))
                                                                      (if (pair?
                                                                           p_1)
                                                                        (let ((a_2
                                                                               (cdr
                                                                                p_1)))
                                                                          (let ((p_2
                                                                                 (unwrap
                                                                                  a_2)))
                                                                            (if (pair?
                                                                                 p_2)
                                                                              (let ((a_3
                                                                                     (cdr
                                                                                      p_2)))
                                                                                (let ((app_0
                                                                                       (unwrap
                                                                                        '())))
                                                                                  (eq?
                                                                                   app_0
                                                                                   (unwrap
                                                                                    a_3))))
                                                                              #f)))
                                                                        #f))))
                                                               (values
                                                                result_1))))
                                                        (if (if (not
                                                                 (let ((x_0
                                                                        (list
                                                                         v_1)))
                                                                   (not
                                                                    result_1)))
                                                              #t
                                                              #f)
                                                          (for-loop_0
                                                           result_1
                                                           rest_0)
                                                          result_1)))))
                                                result_0)))))
                                         (for-loop_0 #t a_1))
                                        #f))
                                  #t
                                  #f)
                                #f)))
                          #f)
                      (call-with-values
                       (lambda ()
                         (let ((d_0 (cdr (unwrap e_0))))
                           (let ((p_0 (unwrap d_0)))
                             (call-with-values
                              (lambda ()
                                (let ((a_0 (car p_0)))
                                  (call-with-values
                                   (lambda ()
                                     (letrec*
                                      ((for-loop_0
                                        (|#%name|
                                         for-loop
                                         (lambda (ids_0 rhss_0 lst_0)
                                           (if (not (null? (unwrap lst_0)))
                                             (let ((v_0
                                                    (if (pair? (unwrap lst_0))
                                                      (wrap-car lst_0)
                                                      lst_0)))
                                               (let ((rest_0
                                                      (if (pair?
                                                           (unwrap lst_0))
                                                        (wrap-cdr lst_0)
                                                        null)))
                                                 (let ((v_1 v_0))
                                                   (call-with-values
                                                    (lambda ()
                                                      (call-with-values
                                                       (lambda ()
                                                         (call-with-values
                                                          (lambda ()
                                                            (let ((p_1
                                                                   (unwrap
                                                                    v_1)))
                                                              (let ((ids_1
                                                                     (let ((a_1
                                                                            (car
                                                                             p_1)))
                                                                       a_1)))
                                                                (let ((rhss_1
                                                                       (let ((d_1
                                                                              (cdr
                                                                               p_1)))
                                                                         (let ((a_1
                                                                                (car
                                                                                 (unwrap
                                                                                  d_1))))
                                                                           a_1))))
                                                                  (let ((ids_2
                                                                         ids_1))
                                                                    (values
                                                                     ids_2
                                                                     rhss_1))))))
                                                          (lambda (ids57_0
                                                                   rhss58_0)
                                                            (values
                                                             (cons
                                                              ids57_0
                                                              ids_0)
                                                             (cons
                                                              rhss58_0
                                                              rhss_0)))))
                                                       (lambda (ids_1 rhss_1)
                                                         (values
                                                          ids_1
                                                          rhss_1))))
                                                    (lambda (ids_1 rhss_1)
                                                      (for-loop_0
                                                       ids_1
                                                       rhss_1
                                                       rest_0))))))
                                             (values ids_0 rhss_0))))))
                                      (for-loop_0 null null a_0)))
                                   (lambda (ids_0 rhss_0)
                                     (let ((app_0 (reverse$1 ids_0)))
                                       (values app_0 (reverse$1 rhss_0)))))))
                              (lambda (ids_0 rhss_0)
                                (let ((body_0 (let ((d_1 (cdr p_0))) d_1)))
                                  (let ((ids_1 ids_0) (rhss_1 rhss_0))
                                    (values ids_1 rhss_1 body_0))))))))
                       (lambda (ids_0 rhss_0 body_0)
                         (extract-list-mutated_0
                          body_0
                          (extract-list-mutated_0 rhss_0 mutated_0))))
                      (if (if (eq? 'begin hd_0) #t #f)
                        (let ((vs_0 (let ((d_0 (cdr (unwrap e_0)))) d_0)))
                          (extract-list-mutated_0 vs_0 mutated_0))
                        (if (if (eq? 'begin0 hd_0) #t #f)
                          (let ((vs_0 (let ((d_0 (cdr (unwrap e_0)))) d_0)))
                            (extract-list-mutated_0 vs_0 mutated_0))
                          (if (if (eq? 'begin-unsafe hd_0) #t #f)
                            (let ((vs_0 (let ((d_0 (cdr (unwrap e_0)))) d_0)))
                              (extract-list-mutated_0 vs_0 mutated_0))
                            (if (if (eq? '$value hd_0)
                                  (let ((a_0 (cdr (unwrap e_0))))
                                    (let ((p_0 (unwrap a_0)))
                                      (if (pair? p_0)
                                        (let ((a_1 (cdr p_0)))
                                          (let ((app_0 (unwrap '())))
                                            (eq? app_0 (unwrap a_1))))
                                        #f)))
                                  #f)
                              (let ((e_1
                                     (let ((d_0 (cdr (unwrap e_0))))
                                       (let ((a_0 (car (unwrap d_0)))) a_0))))
                                (extract-expr-mutated_0 e_1 mutated_0))
                              (if (if (eq? 'if hd_0)
                                    (let ((a_0 (cdr (unwrap e_0))))
                                      (let ((p_0 (unwrap a_0)))
                                        (if (pair? p_0)
                                          (let ((a_1 (cdr p_0)))
                                            (let ((p_1 (unwrap a_1)))
                                              (if (pair? p_1)
                                                (let ((a_2 (cdr p_1)))
                                                  (let ((p_2 (unwrap a_2)))
                                                    (if (pair? p_2)
                                                      (let ((a_3 (cdr p_2)))
                                                        (let ((app_0
                                                               (unwrap '())))
                                                          (eq?
                                                           app_0
                                                           (unwrap a_3))))
                                                      #f)))
                                                #f)))
                                          #f)))
                                    #f)
                                (call-with-values
                                 (lambda ()
                                   (let ((d_0 (cdr (unwrap e_0))))
                                     (let ((p_0 (unwrap d_0)))
                                       (let ((tst_0
                                              (let ((a_0 (car p_0))) a_0)))
                                         (call-with-values
                                          (lambda ()
                                            (let ((d_1 (cdr p_0)))
                                              (let ((p_1 (unwrap d_1)))
                                                (let ((thn_0
                                                       (let ((a_0 (car p_1)))
                                                         a_0)))
                                                  (let ((els_0
                                                         (let ((d_2 (cdr p_1)))
                                                           (let ((a_0
                                                                  (car
                                                                   (unwrap
                                                                    d_2))))
                                                             a_0))))
                                                    (let ((thn_1 thn_0))
                                                      (values
                                                       thn_1
                                                       els_0)))))))
                                          (lambda (thn_0 els_0)
                                            (let ((tst_1 tst_0))
                                              (values tst_1 thn_0 els_0))))))))
                                 (lambda (tst_0 thn_0 els_0)
                                   (let ((tst-mutated_0
                                          (extract-expr-mutated_0
                                           tst_0
                                           mutated_0)))
                                     (let ((thn-mutated_0
                                            (extract-expr-mutated_0
                                             thn_0
                                             tst-mutated_0)))
                                       (extract-expr-mutated_0
                                        els_0
                                        thn-mutated_0)))))
                                (if (if (eq? 'with-continuation-mark* hd_0)
                                      (let ((a_0 (cdr (unwrap e_0))))
                                        (let ((p_0 (unwrap a_0)))
                                          (if (pair? p_0)
                                            (let ((a_1 (cdr p_0)))
                                              (let ((p_1 (unwrap a_1)))
                                                (if (pair? p_1)
                                                  (let ((a_2 (cdr p_1)))
                                                    (let ((p_2 (unwrap a_2)))
                                                      (if (pair? p_2)
                                                        (let ((a_3 (cdr p_2)))
                                                          (let ((p_3
                                                                 (unwrap a_3)))
                                                            (if (pair? p_3)
                                                              (let ((a_4
                                                                     (cdr
                                                                      p_3)))
                                                                (let ((app_0
                                                                       (unwrap
                                                                        '())))
                                                                  (eq?
                                                                   app_0
                                                                   (unwrap
                                                                    a_4))))
                                                              #f)))
                                                        #f)))
                                                  #f)))
                                            #f)))
                                      #f)
                                  (call-with-values
                                   (lambda ()
                                     (let ((d_0 (cdr (unwrap e_0))))
                                       (let ((p_0 (unwrap d_0)))
                                         (let ((mode_0
                                                (let ((a_0 (car p_0))) a_0)))
                                           (call-with-values
                                            (lambda ()
                                              (let ((d_1 (cdr p_0)))
                                                (let ((p_1 (unwrap d_1)))
                                                  (let ((key_0
                                                         (let ((a_0 (car p_1)))
                                                           a_0)))
                                                    (call-with-values
                                                     (lambda ()
                                                       (let ((d_2 (cdr p_1)))
                                                         (let ((p_2
                                                                (unwrap d_2)))
                                                           (let ((val_0
                                                                  (let ((a_0
                                                                         (car
                                                                          p_2)))
                                                                    a_0)))
                                                             (let ((body_0
                                                                    (let ((d_3
                                                                           (cdr
                                                                            p_2)))
                                                                      (let ((a_0
                                                                             (car
                                                                              (unwrap
                                                                               d_3))))
                                                                        a_0))))
                                                               (let ((val_1
                                                                      val_0))
                                                                 (values
                                                                  val_1
                                                                  body_0)))))))
                                                     (lambda (val_0 body_0)
                                                       (let ((key_1 key_0))
                                                         (values
                                                          key_1
                                                          val_0
                                                          body_0))))))))
                                            (lambda (key_0 val_0 body_0)
                                              (let ((mode_1 mode_0))
                                                (values
                                                 mode_1
                                                 key_0
                                                 val_0
                                                 body_0))))))))
                                   (lambda (mode_0 key_0 val_0 body_0)
                                     (let ((key-mutated_0
                                            (extract-expr-mutated_0
                                             key_0
                                             mutated_0)))
                                       (let ((val-mutated_0
                                              (extract-expr-mutated_0
                                               val_0
                                               key-mutated_0)))
                                         (extract-expr-mutated_0
                                          body_0
                                          val-mutated_0)))))
                                  (if (if (eq? 'quote hd_0)
                                        (let ((a_0 (cdr (unwrap e_0))))
                                          (let ((p_0 (unwrap a_0)))
                                            (if (pair? p_0)
                                              (let ((a_1 (cdr p_0)))
                                                (let ((app_0 (unwrap '())))
                                                  (eq? app_0 (unwrap a_1))))
                                              #f)))
                                        #f)
                                    (let ((v_0
                                           (let ((d_0 (cdr (unwrap e_0))))
                                             (let ((a_0 (car (unwrap d_0))))
                                               a_0))))
                                      mutated_0)
                                    (if (if (eq? '|#%foreign-inline| hd_0)
                                          #t
                                          #f)
                                      mutated_0
                                      (if (if (eq? 'set! hd_0)
                                            (let ((a_0 (cdr (unwrap e_0))))
                                              (let ((p_0 (unwrap a_0)))
                                                (if (pair? p_0)
                                                  (let ((a_1 (cdr p_0)))
                                                    (let ((p_1 (unwrap a_1)))
                                                      (if (pair? p_1)
                                                        (let ((a_2 (cdr p_1)))
                                                          (let ((app_0
                                                                 (unwrap '())))
                                                            (eq?
                                                             app_0
                                                             (unwrap a_2))))
                                                        #f)))
                                                  #f)))
                                            #f)
                                        (call-with-values
                                         (lambda ()
                                           (let ((d_0 (cdr (unwrap e_0))))
                                             (let ((p_0 (unwrap d_0)))
                                               (let ((id_0
                                                      (let ((a_0 (car p_0)))
                                                        a_0)))
                                                 (let ((rhs_0
                                                        (let ((d_1 (cdr p_0)))
                                                          (let ((a_0
                                                                 (car
                                                                  (unwrap
                                                                   d_1))))
                                                            a_0))))
                                                   (let ((id_1 id_0))
                                                     (values id_1 rhs_0)))))))
                                         (lambda (id_0 rhs_0)
                                           (let ((new-mutated_0
                                                  (hash-set
                                                   mutated_0
                                                   (unwrap id_0)
                                                   #t)))
                                             (extract-expr-mutated_0
                                              rhs_0
                                              new-mutated_0))))
                                        (if (if (eq? 'define hd_0)
                                              (let ((a_0 (cdr (unwrap e_0))))
                                                (let ((p_0 (unwrap a_0)))
                                                  (if (pair? p_0)
                                                    (let ((a_1 (cdr p_0)))
                                                      (let ((p_1 (unwrap a_1)))
                                                        (if (pair? p_1)
                                                          (let ((a_2
                                                                 (cdr p_1)))
                                                            (let ((app_0
                                                                   (unwrap
                                                                    '())))
                                                              (eq?
                                                               app_0
                                                               (unwrap a_2))))
                                                          #f)))
                                                    #f)))
                                              #f)
                                          (call-with-values
                                           (lambda ()
                                             (let ((d_0 (cdr (unwrap e_0))))
                                               (let ((p_0 (unwrap d_0)))
                                                 (let ((id_0
                                                        (let ((a_0 (car p_0)))
                                                          a_0)))
                                                   (let ((rhs_0
                                                          (let ((d_1
                                                                 (cdr p_0)))
                                                            (let ((a_0
                                                                   (car
                                                                    (unwrap
                                                                     d_1))))
                                                              a_0))))
                                                     (let ((id_1 id_0))
                                                       (values
                                                        id_1
                                                        rhs_0)))))))
                                           (lambda (id_0 rhs_0)
                                             (extract-expr-mutated_0
                                              rhs_0
                                              mutated_0)))
                                          (if (if (eq? 'define-values hd_0)
                                                (let ((a_0 (cdr (unwrap e_0))))
                                                  (let ((p_0 (unwrap a_0)))
                                                    (if (pair? p_0)
                                                      (let ((a_1 (cdr p_0)))
                                                        (let ((p_1
                                                               (unwrap a_1)))
                                                          (if (pair? p_1)
                                                            (let ((a_2
                                                                   (cdr p_1)))
                                                              (let ((app_0
                                                                     (unwrap
                                                                      '())))
                                                                (eq?
                                                                 app_0
                                                                 (unwrap
                                                                  a_2))))
                                                            #f)))
                                                      #f)))
                                                #f)
                                            (call-with-values
                                             (lambda ()
                                               (let ((d_0 (cdr (unwrap e_0))))
                                                 (let ((p_0 (unwrap d_0)))
                                                   (let ((ids_0
                                                          (let ((a_0
                                                                 (car p_0)))
                                                            a_0)))
                                                     (let ((rhs_0
                                                            (let ((d_1
                                                                   (cdr p_0)))
                                                              (let ((a_0
                                                                     (car
                                                                      (unwrap
                                                                       d_1))))
                                                                a_0))))
                                                       (let ((ids_1 ids_0))
                                                         (values
                                                          ids_1
                                                          rhs_0)))))))
                                             (lambda (ids_0 rhs_0)
                                               (extract-expr-mutated_0
                                                rhs_0
                                                mutated_0)))
                                            (if (if (eq? 'variable-set! hd_0)
                                                  (let ((a_0
                                                         (cdr (unwrap e_0))))
                                                    (let ((p_0 (unwrap a_0)))
                                                      (if (pair? p_0)
                                                        (let ((a_1 (cdr p_0)))
                                                          (let ((p_1
                                                                 (unwrap a_1)))
                                                            (if (pair? p_1)
                                                              (let ((a_2
                                                                     (cdr
                                                                      p_1)))
                                                                (let ((app_0
                                                                       (unwrap
                                                                        '())))
                                                                  (eq?
                                                                   app_0
                                                                   (unwrap
                                                                    a_2))))
                                                              #f)))
                                                        #f)))
                                                  #f)
                                              (call-with-values
                                               (lambda ()
                                                 (let ((d_0
                                                        (cdr (unwrap e_0))))
                                                   (let ((p_0 (unwrap d_0)))
                                                     (let ((dest-id_0
                                                            (let ((a_0
                                                                   (car p_0)))
                                                              a_0)))
                                                       (let ((e_1
                                                              (let ((d_1
                                                                     (cdr
                                                                      p_0)))
                                                                (let ((a_0
                                                                       (car
                                                                        (unwrap
                                                                         d_1))))
                                                                  a_0))))
                                                         (let ((dest-id_1
                                                                dest-id_0))
                                                           (values
                                                            dest-id_1
                                                            e_1)))))))
                                               (lambda (dest-id_0 e_1)
                                                 (extract-expr-mutated_0
                                                  e_1
                                                  mutated_0)))
                                              (if (if (eq?
                                                       'variable-set!/define
                                                       hd_0)
                                                    (let ((a_0
                                                           (cdr (unwrap e_0))))
                                                      (let ((p_0 (unwrap a_0)))
                                                        (if (pair? p_0)
                                                          (let ((a_1
                                                                 (cdr p_0)))
                                                            (let ((p_1
                                                                   (unwrap
                                                                    a_1)))
                                                              (if (pair? p_1)
                                                                (let ((a_2
                                                                       (cdr
                                                                        p_1)))
                                                                  (let ((p_2
                                                                         (unwrap
                                                                          a_2)))
                                                                    (if (pair?
                                                                         p_2)
                                                                      (if (let ((a_3
                                                                                 (car
                                                                                  p_2)))
                                                                            (let ((p_3
                                                                                   (unwrap
                                                                                    a_3)))
                                                                              (if (pair?
                                                                                   p_3)
                                                                                (if (let ((a_4
                                                                                           (car
                                                                                            p_3)))
                                                                                      (let ((app_0
                                                                                             (unwrap
                                                                                              'quote)))
                                                                                        (eq?
                                                                                         app_0
                                                                                         (unwrap
                                                                                          a_4))))
                                                                                  (let ((a_4
                                                                                         (cdr
                                                                                          p_3)))
                                                                                    (let ((p_4
                                                                                           (unwrap
                                                                                            a_4)))
                                                                                      (if (pair?
                                                                                           p_4)
                                                                                        (let ((a_5
                                                                                               (cdr
                                                                                                p_4)))
                                                                                          (let ((app_0
                                                                                                 (unwrap
                                                                                                  '())))
                                                                                            (eq?
                                                                                             app_0
                                                                                             (unwrap
                                                                                              a_5))))
                                                                                        #f)))
                                                                                  #f)
                                                                                #f)))
                                                                        (let ((a_3
                                                                               (cdr
                                                                                p_2)))
                                                                          (let ((app_0
                                                                                 (unwrap
                                                                                  '())))
                                                                            (eq?
                                                                             app_0
                                                                             (unwrap
                                                                              a_3))))
                                                                        #f)
                                                                      #f)))
                                                                #f)))
                                                          #f)))
                                                    #f)
                                                (call-with-values
                                                 (lambda ()
                                                   (let ((d_0
                                                          (cdr (unwrap e_0))))
                                                     (let ((p_0 (unwrap d_0)))
                                                       (let ((dest-id_0
                                                              (let ((a_0
                                                                     (car
                                                                      p_0)))
                                                                a_0)))
                                                         (call-with-values
                                                          (lambda ()
                                                            (let ((d_1
                                                                   (cdr p_0)))
                                                              (let ((p_1
                                                                     (unwrap
                                                                      d_1)))
                                                                (let ((e_1
                                                                       (let ((a_0
                                                                              (car
                                                                               p_1)))
                                                                         a_0)))
                                                                  (let ((constance_0
                                                                         (let ((d_2
                                                                                (cdr
                                                                                 p_1)))
                                                                           (let ((a_0
                                                                                  (car
                                                                                   (unwrap
                                                                                    d_2))))
                                                                             (let ((d_3
                                                                                    (cdr
                                                                                     (unwrap
                                                                                      a_0))))
                                                                               (let ((a_1
                                                                                      (car
                                                                                       (unwrap
                                                                                        d_3))))
                                                                                 a_1))))))
                                                                    (let ((e_2
                                                                           e_1))
                                                                      (values
                                                                       e_2
                                                                       constance_0)))))))
                                                          (lambda (e_1
                                                                   constance_0)
                                                            (let ((dest-id_1
                                                                   dest-id_0))
                                                              (values
                                                               dest-id_1
                                                               e_1
                                                               constance_0))))))))
                                                 (lambda (dest-id_0
                                                          e_1
                                                          constance_0)
                                                   (extract-expr-mutated_0
                                                    e_1
                                                    mutated_0)))
                                                (if (if (eq?
                                                         'variable-ref
                                                         hd_0)
                                                      (let ((a_0
                                                             (cdr
                                                              (unwrap e_0))))
                                                        (let ((p_0
                                                               (unwrap a_0)))
                                                          (if (pair? p_0)
                                                            (let ((a_1
                                                                   (cdr p_0)))
                                                              (let ((app_0
                                                                     (unwrap
                                                                      '())))
                                                                (eq?
                                                                 app_0
                                                                 (unwrap
                                                                  a_1))))
                                                            #f)))
                                                      #f)
                                                  (let ((id_0
                                                         (let ((d_0
                                                                (cdr
                                                                 (unwrap
                                                                  e_0))))
                                                           (let ((a_0
                                                                  (car
                                                                   (unwrap
                                                                    d_0))))
                                                             a_0))))
                                                    mutated_0)
                                                  (if (if (eq?
                                                           'variable-ref/no-check
                                                           hd_0)
                                                        (let ((a_0
                                                               (cdr
                                                                (unwrap e_0))))
                                                          (let ((p_0
                                                                 (unwrap a_0)))
                                                            (if (pair? p_0)
                                                              (let ((a_1
                                                                     (cdr
                                                                      p_0)))
                                                                (let ((app_0
                                                                       (unwrap
                                                                        '())))
                                                                  (eq?
                                                                   app_0
                                                                   (unwrap
                                                                    a_1))))
                                                              #f)))
                                                        #f)
                                                    (let ((id_0
                                                           (let ((d_0
                                                                  (cdr
                                                                   (unwrap
                                                                    e_0))))
                                                             (let ((a_0
                                                                    (car
                                                                     (unwrap
                                                                      d_0))))
                                                               a_0))))
                                                      mutated_0)
                                                    (if (if (eq?
                                                             'ffi-static-call-and-callback-core
                                                             hd_0)
                                                          (let ((a_0
                                                                 (cdr
                                                                  (unwrap
                                                                   e_0))))
                                                            (wrap-list? a_0))
                                                          #f)
                                                      mutated_0
                                                      (if (if (eq?
                                                               '|#%app|
                                                               hd_0)
                                                            (let ((a_0
                                                                   (cdr
                                                                    (unwrap
                                                                     e_0))))
                                                              (wrap-list? a_0))
                                                            #f)
                                                        (let ((es_0
                                                               (let ((d_0
                                                                      (cdr
                                                                       (unwrap
                                                                        e_0))))
                                                                 (unwrap-list
                                                                  d_0))))
                                                          (extract-list-mutated_0
                                                           es_0
                                                           mutated_0))
                                                        (if (if (eq?
                                                                 '|#%app/value|
                                                                 hd_0)
                                                              (let ((a_0
                                                                     (cdr
                                                                      (unwrap
                                                                       e_0))))
                                                                (wrap-list?
                                                                 a_0))
                                                              #f)
                                                          (let ((es_0
                                                                 (let ((d_0
                                                                        (cdr
                                                                         (unwrap
                                                                          e_0))))
                                                                   (unwrap-list
                                                                    d_0))))
                                                            (extract-list-mutated_0
                                                             es_0
                                                             mutated_0))
                                                          (if (if (eq?
                                                                   '|#%app/no-return|
                                                                   hd_0)
                                                                (let ((a_0
                                                                       (cdr
                                                                        (unwrap
                                                                         e_0))))
                                                                  (wrap-list?
                                                                   a_0))
                                                                #f)
                                                            (let ((es_0
                                                                   (let ((d_0
                                                                          (cdr
                                                                           (unwrap
                                                                            e_0))))
                                                                     (unwrap-list
                                                                      d_0))))
                                                              (extract-list-mutated_0
                                                               es_0
                                                               mutated_0))
                                                            (if (wrap-list?
                                                                 e_0)
                                                              (let ((es_0
                                                                     (unwrap-list
                                                                      e_0)))
                                                                (extract-list-mutated_0
                                                                 es_0
                                                                 mutated_0))
                                                              mutated_0)))))))))))))))))))))))))))))
      (extract-list-mutated_0
       (|#%name|
        extract-list-mutated
        (lambda (body_0 mutated_0)
          (letrec*
           ((loop_0
             (|#%name|
              loop
              (lambda (body_1 mutated_1)
                (if (null? body_1)
                  mutated_1
                  (let ((app_0 (wrap-cdr body_1)))
                    (loop_0
                     app_0
                     (extract-expr-mutated_0
                      (wrap-car body_1)
                      mutated_1))))))))
           (loop_0 body_0 mutated_0)))))
      (args->env_0
       (|#%name|
        args->env
        (lambda (ids_0 env_0 stack-depth_0 mutated_0)
          (letrec*
           ((loop_0
             (|#%name|
              loop
              (lambda (ids_1 env_1 count_0)
                (if (null? (unwrap ids_1))
                  (values env_1 count_0 #f)
                  (if (pair? (unwrap ids_1))
                    (let ((app_0 (wrap-cdr ids_1)))
                      (let ((app_1
                             (let ((app_1 (unwrap (wrap-car ids_1))))
                               (env-set_0
                                env_1
                                app_1
                                (+ stack-depth_0 count_0)
                                mutated_0))))
                        (loop_0 app_0 app_1 (add1 count_0))))
                    (let ((app_0
                           (let ((app_0 (unwrap ids_1)))
                             (env-set_0
                              env_1
                              app_0
                              (+ stack-depth_0 count_0)
                              mutated_0))))
                      (values app_0 (add1 count_0) #t))))))))
           (loop_0 ids_0 env_0 0)))))
      (env-set_0
       (|#%name|
        env-set
        (lambda (env_0 u_0 pos_0 mutated_0)
          (hash-set
           env_0
           u_0
           (if (hash-ref mutated_0 u_0 #f) (boxed2.1 pos_0) pos_0)))))
      (add-clears_0
       (|#%name|
        add-clears
        (lambda (e_0 stk-i_0 all-clear_0)
          (if (stack-info-non-tail-call-later? stk-i_0)
            (let ((local-use-map_0 (stack-info-local-use-map stk-i_0)))
              (let ((clears_0
                     (reverse$1
                      (letrec*
                       ((for-loop_0
                         (|#%name|
                          for-loop
                          (lambda (fold-var_0 i_0)
                            (if i_0
                              (let ((pos_0 (hash-iterate-key all-clear_0 i_0)))
                                (let ((fold-var_1
                                       (if (hash-ref local-use-map_0 pos_0 #f)
                                         fold-var_0
                                         (let ((fold-var_1
                                                (cons pos_0 fold-var_0)))
                                           (values fold-var_1)))))
                                  (for-loop_0
                                   fold-var_1
                                   (hash-iterate-next all-clear_0 i_0))))
                              fold-var_0)))))
                       (for-loop_0 null (hash-iterate-first all-clear_0))))))
                (if (null? clears_0)
                  e_0
                  (vector 'clear (sort.1 #f #f clears_0 <) e_0))))
            e_0))))
      (add-boxes/remove-unused_0
       (|#%name|
        add-boxes/remove-unused
        (lambda (e_0 ids_0 mutated_0 env_0 stk-i_0)
          (if (null? ids_0)
            e_0
            (if (pair? ids_0)
              (let ((app_0
                     (add-boxes/remove-unused_0
                      e_0
                      (car ids_0)
                      mutated_0
                      env_0
                      stk-i_0)))
                (add-boxes/remove-unused_0
                 app_0
                 (cdr ids_0)
                 mutated_0
                 env_0
                 stk-i_0))
              (let ((u_0 (unwrap ids_0)))
                (let ((var_0 (hash-ref env_0 u_0 #f)))
                  (let ((pos_0
                         (let ((temp61_0
                                (if (boxed? var_0) (boxed-pos var_0) var_0)))
                           (stack->pos.1 #f temp61_0 stk-i_0))))
                    (if (box? pos_0)
                      (if (if (vector? e_0) (eq? 'clear (vector-ref e_0 0)) #f)
                        (let ((app_0
                               (let ((app_0 (unbox pos_0)))
                                 (cons app_0 (vector-ref e_0 1)))))
                          (vector 'clear app_0 (vector-ref e_0 2)))
                        (vector 'clear (list (unbox pos_0)) e_0))
                      (if (not (hash-ref mutated_0 u_0 #f))
                        e_0
                        (vector 'enbox pos_0 e_0)))))))))))
      (extract-procedure-wrap-data_0
       (|#%name|
        extract-procedure-wrap-data
        (lambda (e_0 realm_1)
          (let ((encoded-name_0 (wrap-property e_0 'inferred-name)))
            (let ((name_0 (|#%app| decode-procedure-name encoded-name_0)))
              (let ((name+realm_0 (if realm_1 (cons name_0 realm_1) name_0)))
                (if (wrap-property e_0 'method-arity-error)
                  (box name+realm_0)
                  name+realm_0)))))))
      (begins->list_0
       (|#%name|
        begins->list
        (lambda (e_0)
          (if (vector? e_0)
            (if (if (eq? 'beginl (unsafe-vector*-ref e_0 0)) #t #f)
              (let ((es_0 (unsafe-vector*-ref e_0 1))) es_0)
              (if (eq? 'begin (unsafe-vector*-ref e_0 0))
                (let ((len_0 (sub1 (unsafe-vector*-length e_0))))
                  (if (< len_0 4)
                    (letrec*
                     ((loop_0
                       (|#%name|
                        loop
                        (lambda (i_0)
                          (if (= i_0 len_0)
                            (begins->list_0 (unsafe-vector*-ref e_0 i_0))
                            (let ((app_0 (unsafe-vector*-ref e_0 i_0)))
                              (cons app_0 (loop_0 (add1 i_0)))))))))
                     (loop_0 1))
                    (list e_0)))
                (list e_0)))
            (list e_0)))))
      (ensure-single-valued_0
       (|#%name|
        ensure-single-valued
        (lambda (e_0)
          (if (vector? e_0)
            (if (eq? 'quote (unsafe-vector*-ref e_0 0))
              e_0
              (if (eq? 'foreign-inline (unsafe-vector*-ref e_0 0))
                e_0
                (if (eq? '$value (unsafe-vector*-ref e_0 0))
                  e_0
                  (if (eq? 'lambda (unsafe-vector*-ref e_0 0))
                    e_0
                    (if (eq? 'case-lambda (unsafe-vector*-ref e_0 0))
                      e_0
                      (list->vector (list '$value e_0)))))))
            e_0)))))
     (with-continuation-mark*
      authentic
      parameterization-key
      (let ((app_0 (continuation-mark-set-first #f parameterization-key)))
        (extend-parameterization app_0 gensym-counter (box 0)))
      (start_0 linklet-e_0)))))
(define interpret-linklet
  (lambda (b_0)
    (let ((internal-var-syms_0 (unsafe-vector*-ref b_0 0)))
      (let ((num-body-vars_0 (unsafe-vector*-ref b_0 1)))
        (let ((b_1 (unsafe-vector*-ref b_0 2)))
          (let ((num-body-vars_1 num-body-vars_0)
                (internal-var-syms_1 internal-var-syms_0))
            (lambda args_0
              (let ((args-stack_0
                     (letrec*
                      ((for-loop_0
                        (|#%name|
                         for-loop
                         (lambda (stack_0 lst_0 pos_0)
                           (if (if (pair? lst_0) #t #f)
                             (let ((arg_0 (unsafe-car lst_0)))
                               (let ((rest_0 (unsafe-cdr lst_0)))
                                 (let ((stack_1
                                        (let ((stack_1
                                               (stack-set
                                                stack_0
                                                pos_0
                                                arg_0)))
                                          (values stack_1))))
                                   (for-loop_0 stack_1 rest_0 (+ pos_0 1)))))
                             stack_0)))))
                      (for-loop_0 empty-intmap args_0 0))))
                (let ((post-args-pos_0 (length args_0)))
                  (let ((args+vars-stack_0
                         (letrec*
                          ((for-loop_0
                            (|#%name|
                             for-loop
                             (lambda (stack_0 lst_0 pos_0)
                               (if (if (pair? lst_0) #t #f)
                                 (let ((var_0 (unsafe-car lst_0)))
                                   (let ((rest_0 (unsafe-cdr lst_0)))
                                     (let ((stack_1
                                            (let ((stack_1
                                                   (let ((app_0
                                                          (+
                                                           pos_0
                                                           post-args-pos_0)))
                                                     (stack-set
                                                      stack_0
                                                      app_0
                                                      (|#%app|
                                                       make-internal-variable
                                                       var_0)))))
                                              (values stack_1))))
                                       (for-loop_0
                                        stack_1
                                        rest_0
                                        (+ pos_0 1)))))
                                 stack_0)))))
                          (for-loop_0 args-stack_0 internal-var-syms_1 0))))
                    (let ((post-args+vars-pos_0
                           (+ post-args-pos_0 (length internal-var-syms_1))))
                      (let ((stack_0
                             (letrec*
                              ((for-loop_0
                                (|#%name|
                                 for-loop
                                 (lambda (stack_0 pos_0)
                                   (if (< pos_0 num-body-vars_1)
                                     (let ((stack_1
                                            (let ((stack_1
                                                   (let ((app_0
                                                          (+
                                                           pos_0
                                                           post-args+vars-pos_0)))
                                                     (stack-set
                                                      stack_0
                                                      app_0
                                                      (box
                                                       unsafe-undefined)))))
                                              (values stack_1))))
                                       (for-loop_0 stack_1 (+ pos_0 1)))
                                     stack_0)))))
                              (for-loop_0 args+vars-stack_0 0))))
                        (interpret-expr b_1 stack_0)))))))))))))
(define interpret-expr
  (lambda (b_0 stack_0)
    (letrec*
     ((interpret_0
       (|#%name|
        interpret
        (lambda (b64_0 stack65_0 return-mode63_0)
          (if (integer? b64_0)
            (stack-ref stack65_0 b64_0 (not return-mode63_0))
            (if (box? b64_0)
              (stack-ref stack65_0 b64_0 (not return-mode63_0))
              (if (pair? b64_0)
                (call-with-values
                 (lambda () (stack-ref stack65_0 (car b64_0)))
                 (lambda (new-stack_0 vec_0)
                   (let ((val_0 (unsafe-vector*-ref vec_0 (cdr b64_0))))
                     (if return-mode63_0 (values new-stack_0 val_0) val_0))))
                (if (symbol? b64_0)
                  (let ((val_0 (hash-ref primitives b64_0)))
                    (if return-mode63_0 (values stack65_0 val_0) val_0))
                  (if (vector? b64_0)
                    (if (if (eq? 'app (unsafe-vector*-ref b64_0 0)) #t #f)
                      (let ((rator-b_0 (unsafe-vector*-ref b64_0 1)))
                        (let ((len_0 (unsafe-vector*-length b64_0)))
                          (call-with-values
                           (lambda () (interpret_1 rator-b_0 stack65_0))
                           (case-lambda
                            ((rand-stack_0 rator_0)
                             (if (eq? len_0 2)
                               (if return-mode63_0
                                 (if (eq? return-mode63_0 'values)
                                   (call-with-values
                                    (lambda () (|#%app| rator_0))
                                    (case-lambda
                                     ((v_0) (values rand-stack_0 v_0))
                                     (vs_0 (apply values rand-stack_0 vs_0))))
                                   (values
                                    'trampoline
                                    (lambda ()
                                      (call-with-values
                                       (lambda ()
                                         (letrec*
                                          ((loop_0
                                            (|#%name|
                                             loop
                                             (lambda (i_0)
                                               (if (not i_0)
                                                 (|#%app| rator_0)
                                                 (call-with-values
                                                  (lambda ()
                                                    (hash-iterate-key+value
                                                     return-mode63_0
                                                     i_0))
                                                  (lambda (k_0 v_0)
                                                    (with-continuation-mark*
                                                     general
                                                     k_0
                                                     v_0
                                                     (loop_0
                                                      (hash-iterate-next
                                                       return-mode63_0
                                                       i_0))))))))))
                                          (loop_0
                                           (hash-iterate-first
                                            return-mode63_0))))
                                       (case-lambda
                                        ((v_0) (values rand-stack_0 v_0))
                                        (vs_0
                                         (apply values rand-stack_0 vs_0)))))))
                                 (|#%app| rator_0))
                               (if (eq? len_0 3)
                                 (call-with-values
                                  (lambda ()
                                    (interpret_1
                                     (unsafe-vector*-ref b64_0 2)
                                     rand-stack_0))
                                  (case-lambda
                                   ((stack_1 rand_0)
                                    (if return-mode63_0
                                      (if (eq? return-mode63_0 'values)
                                        (call-with-values
                                         (lambda () (|#%app| rator_0 rand_0))
                                         (case-lambda
                                          ((v_0) (values stack_1 v_0))
                                          (vs_0 (apply values stack_1 vs_0))))
                                        (values
                                         'trampoline
                                         (lambda ()
                                           (call-with-values
                                            (lambda ()
                                              (letrec*
                                               ((loop_0
                                                 (|#%name|
                                                  loop
                                                  (lambda (i_0)
                                                    (if (not i_0)
                                                      (|#%app| rator_0 rand_0)
                                                      (call-with-values
                                                       (lambda ()
                                                         (hash-iterate-key+value
                                                          return-mode63_0
                                                          i_0))
                                                       (lambda (k_0 v_0)
                                                         (with-continuation-mark*
                                                          general
                                                          k_0
                                                          v_0
                                                          (loop_0
                                                           (hash-iterate-next
                                                            return-mode63_0
                                                            i_0))))))))))
                                               (loop_0
                                                (hash-iterate-first
                                                 return-mode63_0))))
                                            (case-lambda
                                             ((v_0) (values stack_1 v_0))
                                             (vs_0
                                              (apply values stack_1 vs_0)))))))
                                      (|#%app| rator_0 rand_0)))
                                   ((stack_1 . vals_0)
                                    (apply
                                     raise-result-arity-error
                                     #f
                                     1
                                     #f
                                     vals_0))))
                                 (if (eq? len_0 4)
                                   (call-with-values
                                    (lambda ()
                                      (interpret_1
                                       (unsafe-vector*-ref b64_0 2)
                                       rand-stack_0))
                                    (case-lambda
                                     ((stack1_0 rand1_0)
                                      (call-with-values
                                       (lambda ()
                                         (interpret_1
                                          (unsafe-vector*-ref b64_0 3)
                                          stack1_0))
                                       (case-lambda
                                        ((stack2_0 rand2_0)
                                         (if return-mode63_0
                                           (if (eq? return-mode63_0 'values)
                                             (call-with-values
                                              (lambda ()
                                                (|#%app|
                                                 rator_0
                                                 rand1_0
                                                 rand2_0))
                                              (case-lambda
                                               ((v_0) (values stack2_0 v_0))
                                               (vs_0
                                                (apply values stack2_0 vs_0))))
                                             (values
                                              'trampoline
                                              (lambda ()
                                                (call-with-values
                                                 (lambda ()
                                                   (letrec*
                                                    ((loop_0
                                                      (|#%name|
                                                       loop
                                                       (lambda (i_0)
                                                         (if (not i_0)
                                                           (|#%app|
                                                            rator_0
                                                            rand1_0
                                                            rand2_0)
                                                           (call-with-values
                                                            (lambda ()
                                                              (hash-iterate-key+value
                                                               return-mode63_0
                                                               i_0))
                                                            (lambda (k_0 v_0)
                                                              (with-continuation-mark*
                                                               general
                                                               k_0
                                                               v_0
                                                               (loop_0
                                                                (hash-iterate-next
                                                                 return-mode63_0
                                                                 i_0))))))))))
                                                    (loop_0
                                                     (hash-iterate-first
                                                      return-mode63_0))))
                                                 (case-lambda
                                                  ((v_0) (values stack2_0 v_0))
                                                  (vs_0
                                                   (apply
                                                    values
                                                    stack2_0
                                                    vs_0)))))))
                                           (|#%app| rator_0 rand1_0 rand2_0)))
                                        ((stack2_0 . vals_0)
                                         (apply
                                          raise-result-arity-error
                                          #f
                                          1
                                          #f
                                          vals_0)))))
                                     ((stack1_0 . vals_0)
                                      (apply
                                       raise-result-arity-error
                                       #f
                                       1
                                       #f
                                       vals_0))))
                                   (call-with-values
                                    (lambda ()
                                      (call-with-values
                                       (lambda ()
                                         (unsafe-normalise-inputs
                                          unsafe-vector-length
                                          b64_0
                                          2
                                          #f
                                          1))
                                       (lambda (v*_0 start*_0 stop*_0 step*_0)
                                         (letrec*
                                          ((for-loop_0
                                            (|#%name|
                                             for-loop
                                             (lambda (stack_1
                                                      rev-rands_0
                                                      idx_0)
                                               (if (unsafe-fx< idx_0 stop*_0)
                                                 (let ((b_1
                                                        (unsafe-vector-ref
                                                         v*_0
                                                         idx_0)))
                                                   (call-with-values
                                                    (lambda ()
                                                      (call-with-values
                                                       (lambda ()
                                                         (call-with-values
                                                          (lambda ()
                                                            (interpret_1
                                                             b_1
                                                             stack_1))
                                                          (case-lambda
                                                           ((new-stack_0 v_0)
                                                            (values
                                                             new-stack_0
                                                             (cons
                                                              v_0
                                                              rev-rands_0)))
                                                           ((new-stack_0
                                                             .
                                                             vals_0)
                                                            (apply
                                                             raise-result-arity-error
                                                             #f
                                                             1
                                                             #f
                                                             vals_0)))))
                                                       (lambda (stack_2
                                                                rev-rands_1)
                                                         (values
                                                          stack_2
                                                          rev-rands_1))))
                                                    (lambda (stack_2
                                                             rev-rands_1)
                                                      (for-loop_0
                                                       stack_2
                                                       rev-rands_1
                                                       (unsafe-fx+ idx_0 1)))))
                                                 (values
                                                  stack_1
                                                  rev-rands_0))))))
                                          (for-loop_0
                                           rand-stack_0
                                           null
                                           start*_0)))))
                                    (lambda (stack_1 rev-rands_0)
                                      (let ((rands_0 (reverse$1 rev-rands_0)))
                                        (if return-mode63_0
                                          (if (eq? return-mode63_0 'values)
                                            (call-with-values
                                             (lambda ()
                                               (apply rator_0 rands_0))
                                             (case-lambda
                                              ((v_0) (values stack_1 v_0))
                                              (vs_0
                                               (apply values stack_1 vs_0))))
                                            (values
                                             'trampoline
                                             (lambda ()
                                               (call-with-values
                                                (lambda ()
                                                  (letrec*
                                                   ((loop_0
                                                     (|#%name|
                                                      loop
                                                      (lambda (i_0)
                                                        (if (not i_0)
                                                          (apply
                                                           rator_0
                                                           rands_0)
                                                          (call-with-values
                                                           (lambda ()
                                                             (hash-iterate-key+value
                                                              return-mode63_0
                                                              i_0))
                                                           (lambda (k_0 v_0)
                                                             (with-continuation-mark*
                                                              general
                                                              k_0
                                                              v_0
                                                              (loop_0
                                                               (hash-iterate-next
                                                                return-mode63_0
                                                                i_0))))))))))
                                                   (loop_0
                                                    (hash-iterate-first
                                                     return-mode63_0))))
                                                (case-lambda
                                                 ((v_0) (values stack_1 v_0))
                                                 (vs_0
                                                  (apply
                                                   values
                                                   stack_1
                                                   vs_0)))))))
                                          (apply rator_0 rands_0)))))))))
                            ((rand-stack_0 . vals_0)
                             (apply
                              raise-result-arity-error
                              #f
                              1
                              #f
                              vals_0))))))
                      (if (if (eq? 'quote (unsafe-vector*-ref b64_0 0)) #t #f)
                        (let ((v_0 (unsafe-vector*-ref b64_0 1)))
                          (if return-mode63_0 (values stack65_0 v_0) v_0))
                        (if (if (eq?
                                 'foreign-inline
                                 (unsafe-vector*-ref b64_0 0))
                              #t
                              #f)
                          (let ((e_0 (unsafe-vector*-ref b64_0 1)))
                            (let ((v_0 (|#%app| foreign-inline-eval e_0)))
                              (if return-mode63_0 (values stack65_0 v_0) v_0)))
                          (if (if (eq? 'unbox (unsafe-vector*-ref b64_0 0))
                                #t
                                #f)
                            (let ((s_0 (unsafe-vector*-ref b64_0 1)))
                              (call-with-values
                               (lambda () (stack-ref stack65_0 s_0))
                               (lambda (new-stack_0 bx_0)
                                 (let ((val_0 (unsafe-unbox* bx_0)))
                                   (if return-mode63_0
                                     (values new-stack_0 val_0)
                                     val_0)))))
                            (if (if (eq?
                                     'unbox/checked
                                     (unsafe-vector*-ref b64_0 0))
                                  #t
                                  #f)
                              (let ((s_0 (unsafe-vector*-ref b64_0 1)))
                                (let ((name_0 (unsafe-vector*-ref b64_0 2)))
                                  (let ((s_1 s_0))
                                    (call-with-values
                                     (lambda () (stack-ref stack65_0 s_1))
                                     (lambda (new-stack_0 bx_0)
                                       (let ((v_0 (unsafe-unbox* bx_0)))
                                         (let ((val_0
                                                (check-not-unsafe-undefined
                                                 v_0
                                                 name_0)))
                                           (if return-mode63_0
                                             (values new-stack_0 val_0)
                                             val_0))))))))
                              (if (if (eq?
                                       'ref-variable
                                       (unsafe-vector*-ref b64_0 0))
                                    #t
                                    #f)
                                (let ((s_0 (unsafe-vector*-ref b64_0 1)))
                                  (call-with-values
                                   (lambda () (stack-ref stack65_0 s_0))
                                   (lambda (new-stack_0 var_0)
                                     (let ((val_0
                                            (|#%app|
                                             1/variable-ref/no-check
                                             var_0)))
                                       (if return-mode63_0
                                         (values new-stack_0 val_0)
                                         val_0)))))
                                (if (if (eq?
                                         'ref-variable/checked
                                         (unsafe-vector*-ref b64_0 0))
                                      #t
                                      #f)
                                  (let ((s_0 (unsafe-vector*-ref b64_0 1)))
                                    (call-with-values
                                     (lambda () (stack-ref stack65_0 s_0))
                                     (lambda (new-stack_0 var_0)
                                       (let ((val_0
                                              (|#%app| 1/variable-ref var_0)))
                                         (if return-mode63_0
                                           (values new-stack_0 val_0)
                                           val_0)))))
                                  (if (if (eq?
                                           'let
                                           (unsafe-vector*-ref b64_0 0))
                                        #t
                                        #f)
                                    (let ((pos_0 (unsafe-vector*-ref b64_0 1)))
                                      (let ((rhss_0
                                             (unsafe-vector*-ref b64_0 2)))
                                        (let ((b_1
                                               (unsafe-vector*-ref b64_0 3)))
                                          (let ((rhss_1 rhss_0) (pos_1 pos_0))
                                            (let ((len_0
                                                   (unsafe-vector*-length
                                                    rhss_1)))
                                              (let ((body-stack_0
                                                     (letrec*
                                                      ((loop_0
                                                        (|#%name|
                                                         loop
                                                         (lambda (i_0 stack_1)
                                                           (if (fx= i_0 len_0)
                                                             stack_1
                                                             (call-with-values
                                                              (lambda ()
                                                                (interpret_1
                                                                 (unsafe-vector*-ref
                                                                  rhss_1
                                                                  i_0)
                                                                 stack_1))
                                                              (case-lambda
                                                               ((new-stack_0
                                                                 val_0)
                                                                (let ((app_0
                                                                       (loop_0
                                                                        (fx+
                                                                         i_0
                                                                         1)
                                                                        new-stack_0)))
                                                                  (stack-set
                                                                   app_0
                                                                   (fx+
                                                                    i_0
                                                                    pos_1)
                                                                   val_0)))
                                                               ((new-stack_0
                                                                 .
                                                                 vals_0)
                                                                (apply
                                                                 raise-result-arity-error
                                                                 #f
                                                                 1
                                                                 #f
                                                                 vals_0)))))))))
                                                      (loop_0 0 stack65_0))))
                                                (interpret_1
                                                 b_1
                                                 body-stack_0
                                                 return-mode63_0)))))))
                                    (if (if (eq?
                                             'let*
                                             (unsafe-vector*-ref b64_0 0))
                                          #t
                                          #f)
                                      (let ((poss_0
                                             (unsafe-vector*-ref b64_0 1)))
                                        (let ((rhsss_0
                                               (unsafe-vector*-ref b64_0 2)))
                                          (let ((b_1
                                                 (unsafe-vector*-ref b64_0 3)))
                                            (let ((rhsss_1 rhsss_0)
                                                  (poss_1 poss_0))
                                              (let ((body-stack_0
                                                     (letrec*
                                                      ((for-loop_0
                                                        (|#%name|
                                                         for-loop
                                                         (lambda (stack_1
                                                                  lst_0
                                                                  lst_1)
                                                           (if (if (pair?
                                                                    lst_0)
                                                                 (pair? lst_1)
                                                                 #f)
                                                             (let ((pos_0
                                                                    (unsafe-car
                                                                     lst_0)))
                                                               (let ((rest_0
                                                                      (unsafe-cdr
                                                                       lst_0)))
                                                                 (let ((rhss_0
                                                                        (unsafe-car
                                                                         lst_1)))
                                                                   (let ((rest_1
                                                                          (unsafe-cdr
                                                                           lst_1)))
                                                                     (let ((stack_2
                                                                            (let ((stack_2
                                                                                   (let ((len_0
                                                                                          (unsafe-vector*-length
                                                                                           rhss_0)))
                                                                                     (letrec*
                                                                                      ((loop_0
                                                                                        (|#%name|
                                                                                         loop
                                                                                         (lambda (i_0
                                                                                                  stack_2)
                                                                                           (if (fx=
                                                                                                i_0
                                                                                                len_0)
                                                                                             stack_2
                                                                                             (call-with-values
                                                                                              (lambda ()
                                                                                                (interpret_1
                                                                                                 (unsafe-vector*-ref
                                                                                                  rhss_0
                                                                                                  i_0)
                                                                                                 stack_2))
                                                                                              (case-lambda
                                                                                               ((new-stack_0
                                                                                                 val_0)
                                                                                                (let ((app_0
                                                                                                       (fx+
                                                                                                        i_0
                                                                                                        1)))
                                                                                                  (loop_0
                                                                                                   app_0
                                                                                                   (stack-set
                                                                                                    new-stack_0
                                                                                                    (fx+
                                                                                                     i_0
                                                                                                     pos_0)
                                                                                                    val_0))))
                                                                                               ((new-stack_0
                                                                                                 .
                                                                                                 vals_0)
                                                                                                (apply
                                                                                                 raise-result-arity-error
                                                                                                 #f
                                                                                                 1
                                                                                                 #f
                                                                                                 vals_0)))))))))
                                                                                      (loop_0
                                                                                       0
                                                                                       stack_1)))))
                                                                              (values
                                                                               stack_2))))
                                                                       (for-loop_0
                                                                        stack_2
                                                                        rest_0
                                                                        rest_1))))))
                                                             stack_1)))))
                                                      (for-loop_0
                                                       stack65_0
                                                       poss_1
                                                       rhsss_1))))
                                                (interpret_1
                                                 b_1
                                                 body-stack_0
                                                 return-mode63_0))))))
                                      (if (if (eq?
                                               'letrec
                                               (unsafe-vector*-ref b64_0 0))
                                            #t
                                            #f)
                                        (let ((pos_0
                                               (unsafe-vector*-ref b64_0 1)))
                                          (let ((rhss_0
                                                 (unsafe-vector*-ref b64_0 2)))
                                            (let ((b_1
                                                   (unsafe-vector*-ref
                                                    b64_0
                                                    3)))
                                              (let ((rhss_1 rhss_0)
                                                    (pos_1 pos_0))
                                                (let ((len_0
                                                       (unsafe-vector*-length
                                                        rhss_1)))
                                                  (call-with-values
                                                   (lambda ()
                                                     (letrec*
                                                      ((loop_0
                                                        (|#%name|
                                                         loop
                                                         (lambda (stack_1 i_0)
                                                           (if (= i_0 len_0)
                                                             (values
                                                              stack_1
                                                              null)
                                                             (let ((bx_0
                                                                    (box
                                                                     unsafe-undefined)))
                                                               (call-with-values
                                                                (lambda ()
                                                                  (let ((app_0
                                                                         (stack-set
                                                                          stack_1
                                                                          (fx+
                                                                           (fx-
                                                                            len_0
                                                                            i_0
                                                                            1)
                                                                           pos_1)
                                                                          bx_0)))
                                                                    (loop_0
                                                                     app_0
                                                                     (add1
                                                                      i_0))))
                                                                (lambda (new-stack_0
                                                                         boxes_0)
                                                                  (values
                                                                   new-stack_0
                                                                   (cons
                                                                    bx_0
                                                                    boxes_0))))))))))
                                                      (loop_0 stack65_0 0)))
                                                   (lambda (body-stack_0
                                                            boxes_0)
                                                     (letrec*
                                                      ((loop_0
                                                        (|#%name|
                                                         loop
                                                         (lambda (i_0
                                                                  stack_1
                                                                  boxes_1)
                                                           (if (fx= i_0 len_0)
                                                             (interpret_1
                                                              b_1
                                                              stack_1
                                                              return-mode63_0)
                                                             (call-with-values
                                                              (lambda ()
                                                                (interpret_1
                                                                 (unsafe-vector*-ref
                                                                  rhss_1
                                                                  i_0)
                                                                 stack_1))
                                                              (case-lambda
                                                               ((new-stack_0
                                                                 val_0)
                                                                (begin
                                                                  (set-box!
                                                                   (car
                                                                    boxes_1)
                                                                   val_0)
                                                                  (let ((app_0
                                                                         (fx+
                                                                          i_0
                                                                          1)))
                                                                    (loop_0
                                                                     app_0
                                                                     new-stack_0
                                                                     (cdr
                                                                      boxes_1)))))
                                                               ((new-stack_0
                                                                 .
                                                                 vals_0)
                                                                (apply
                                                                 raise-result-arity-error
                                                                 #f
                                                                 1
                                                                 #f
                                                                 vals_0)))))))))
                                                      (loop_0
                                                       0
                                                       body-stack_0
                                                       boxes_0)))))))))
                                        (if (eq?
                                             'begin
                                             (unsafe-vector*-ref b64_0 0))
                                          (let ((last_0
                                                 (fx-
                                                  (unsafe-vector*-length b64_0)
                                                  1)))
                                            (letrec*
                                             ((loop_0
                                               (|#%name|
                                                loop
                                                (lambda (i_0 stack_1)
                                                  (if (fx= i_0 last_0)
                                                    (interpret_1
                                                     (unsafe-vector*-ref
                                                      b64_0
                                                      i_0)
                                                     stack_1
                                                     return-mode63_0)
                                                    (call-with-values
                                                     (lambda ()
                                                       (interpret_1
                                                        (unsafe-vector*-ref
                                                         b64_0
                                                         i_0)
                                                        stack_1))
                                                     (case-lambda
                                                      ((new-stack_0 val_0)
                                                       (loop_0
                                                        (fx+ i_0 1)
                                                        new-stack_0))
                                                      ((new-stack_0 . vals_0)
                                                       (loop_0
                                                        (fx+ i_0 1)
                                                        new-stack_0)))))))))
                                             (loop_0 1 stack65_0)))
                                          (if (if (eq?
                                                   'beginl
                                                   (unsafe-vector*-ref
                                                    b64_0
                                                    0))
                                                #t
                                                #f)
                                            (let ((bs_0
                                                   (unsafe-vector*-ref
                                                    b64_0
                                                    1)))
                                              (letrec*
                                               ((loop_0
                                                 (|#%name|
                                                  loop
                                                  (lambda (bs_1 stack_1)
                                                    (if (null? (cdr bs_1))
                                                      (interpret_1
                                                       (car bs_1)
                                                       stack_1
                                                       return-mode63_0)
                                                      (call-with-values
                                                       (lambda ()
                                                         (interpret_1
                                                          (car bs_1)
                                                          stack_1))
                                                       (case-lambda
                                                        ((new-stack_0 val_0)
                                                         (loop_0
                                                          (cdr bs_1)
                                                          new-stack_0))
                                                        ((new-stack_0 . vals_0)
                                                         (loop_0
                                                          (cdr bs_1)
                                                          new-stack_0)))))))))
                                               (loop_0 bs_0 stack65_0)))
                                            (if (if (eq?
                                                     'begin0
                                                     (unsafe-vector*-ref
                                                      b64_0
                                                      0))
                                                  #t
                                                  #f)
                                              (let ((b0_0
                                                     (unsafe-vector*-ref
                                                      b64_0
                                                      1)))
                                                (let ((last_0
                                                       (fx-
                                                        (unsafe-vector*-length
                                                         b64_0)
                                                        1)))
                                                  (call-with-values
                                                   (lambda ()
                                                     (interpret_1
                                                      b0_0
                                                      stack65_0))
                                                   (lambda (stack_1 . vals_0)
                                                     (letrec*
                                                      ((loop_0
                                                        (|#%name|
                                                         loop
                                                         (lambda (i_0 stack_2)
                                                           (let ((new-stack_0
                                                                  (call-with-values
                                                                   (lambda ()
                                                                     (interpret_1
                                                                      (unsafe-vector*-ref
                                                                       b64_0
                                                                       i_0)
                                                                      stack_2))
                                                                   (case-lambda
                                                                    ((new-stack_0
                                                                      val_0)
                                                                     new-stack_0)
                                                                    ((new-stack_0
                                                                      .
                                                                      vals_1)
                                                                     new-stack_0)))))
                                                             (if (fx=
                                                                  i_0
                                                                  last_0)
                                                               (if return-mode63_0
                                                                 (apply
                                                                  values
                                                                  new-stack_0
                                                                  vals_0)
                                                                 (apply
                                                                  values
                                                                  vals_0))
                                                               (loop_0
                                                                (fx+ i_0 1)
                                                                new-stack_0)))))))
                                                      (loop_0 2 stack_1))))))
                                              (if (if (eq?
                                                       '$value
                                                       (unsafe-vector*-ref
                                                        b64_0
                                                        0))
                                                    #t
                                                    #f)
                                                (let ((e_0
                                                       (unsafe-vector*-ref
                                                        b64_0
                                                        1)))
                                                  (call-with-values
                                                   (lambda ()
                                                     (interpret_1
                                                      e_0
                                                      stack65_0))
                                                   (case-lambda
                                                    ((new-stack_0 v_0)
                                                     (if return-mode63_0
                                                       (values new-stack_0 v_0)
                                                       v_0))
                                                    ((new-stack_0 . vals_0)
                                                     (apply
                                                      raise-result-arity-error
                                                      #f
                                                      1
                                                      #f
                                                      vals_0)))))
                                                (if (if (eq?
                                                         'clear
                                                         (unsafe-vector*-ref
                                                          b64_0
                                                          0))
                                                      #t
                                                      #f)
                                                  (let ((clears_0
                                                         (unsafe-vector*-ref
                                                          b64_0
                                                          1)))
                                                    (let ((e_0
                                                           (unsafe-vector*-ref
                                                            b64_0
                                                            2)))
                                                      (let ((clears_1
                                                             clears_0))
                                                        (letrec*
                                                         ((loop_0
                                                           (|#%name|
                                                            loop
                                                            (lambda (clears_2
                                                                     stack_1)
                                                              (if (null?
                                                                   clears_2)
                                                                (interpret_1
                                                                 e_0
                                                                 stack_1
                                                                 return-mode63_0)
                                                                (let ((app_0
                                                                       (cdr
                                                                        clears_2)))
                                                                  (loop_0
                                                                   app_0
                                                                   (let ((i_0
                                                                          (car
                                                                           clears_2)))
                                                                     (intmap-set
                                                                      stack_1
                                                                      i_0
                                                                      #f)))))))))
                                                         (loop_0
                                                          clears_1
                                                          stack65_0)))))
                                                  (if (if (eq?
                                                           'enbox
                                                           (unsafe-vector*-ref
                                                            b64_0
                                                            0))
                                                        #t
                                                        #f)
                                                    (let ((pos_0
                                                           (unsafe-vector*-ref
                                                            b64_0
                                                            1)))
                                                      (let ((e_0
                                                             (unsafe-vector*-ref
                                                              b64_0
                                                              2)))
                                                        (let ((pos_1 pos_0))
                                                          (let ((new-stack_0
                                                                 (stack-set
                                                                  stack65_0
                                                                  pos_1
                                                                  (box
                                                                   (stack-ref
                                                                    stack65_0
                                                                    pos_1
                                                                    #t)))))
                                                            (interpret_1
                                                             e_0
                                                             new-stack_0
                                                             return-mode63_0)))))
                                                    (if (if (eq?
                                                             'if
                                                             (unsafe-vector*-ref
                                                              b64_0
                                                              0))
                                                          #t
                                                          #f)
                                                      (let ((tst_0
                                                             (unsafe-vector*-ref
                                                              b64_0
                                                              1)))
                                                        (let ((thn_0
                                                               (unsafe-vector*-ref
                                                                b64_0
                                                                2)))
                                                          (let ((els_0
                                                                 (unsafe-vector*-ref
                                                                  b64_0
                                                                  3)))
                                                            (let ((thn_1 thn_0)
                                                                  (tst_1
                                                                   tst_0))
                                                              (call-with-values
                                                               (lambda ()
                                                                 (interpret_1
                                                                  tst_1
                                                                  stack65_0))
                                                               (case-lambda
                                                                ((new-stack_0
                                                                  val_0)
                                                                 (if val_0
                                                                   (interpret_1
                                                                    thn_1
                                                                    new-stack_0
                                                                    return-mode63_0)
                                                                   (interpret_1
                                                                    els_0
                                                                    new-stack_0
                                                                    return-mode63_0)))
                                                                ((new-stack_0
                                                                  .
                                                                  vals_0)
                                                                 (apply
                                                                  raise-result-arity-error
                                                                  #f
                                                                  1
                                                                  #f
                                                                  vals_0))))))))
                                                      (if (if (eq?
                                                               'wcm
                                                               (unsafe-vector*-ref
                                                                b64_0
                                                                0))
                                                            #t
                                                            #f)
                                                        (let ((key_0
                                                               (unsafe-vector*-ref
                                                                b64_0
                                                                1)))
                                                          (let ((val_0
                                                                 (unsafe-vector*-ref
                                                                  b64_0
                                                                  2)))
                                                            (let ((body_0
                                                                   (unsafe-vector*-ref
                                                                    b64_0
                                                                    3)))
                                                              (let ((val_1
                                                                     val_0)
                                                                    (key_1
                                                                     key_0))
                                                                (call-with-values
                                                                 (lambda ()
                                                                   (interpret_1
                                                                    key_1
                                                                    stack65_0))
                                                                 (case-lambda
                                                                  ((k-stack_0
                                                                    k-val_0)
                                                                   (call-with-values
                                                                    (lambda ()
                                                                      (interpret_1
                                                                       val_1
                                                                       k-stack_0))
                                                                    (case-lambda
                                                                     ((v-stack_0
                                                                       v-val_0)
                                                                      (if (not
                                                                           return-mode63_0)
                                                                        (with-continuation-mark*
                                                                         general
                                                                         k-val_0
                                                                         v-val_0
                                                                         (interpret_1
                                                                          body_0
                                                                          v-stack_0
                                                                          #f))
                                                                        (if (eq?
                                                                             return-mode63_0
                                                                             'values)
                                                                          (|#%app|
                                                                           (call-with-values
                                                                            (lambda ()
                                                                              (with-continuation-mark*
                                                                               general
                                                                               k-val_0
                                                                               v-val_0
                                                                               (interpret_1
                                                                                body_0
                                                                                v-stack_0
                                                                                (hasheq
                                                                                 k-val_0
                                                                                 v-val_0))))
                                                                            (case-lambda
                                                                             ((stack_1
                                                                               v_0)
                                                                              (if (eq?
                                                                                   stack_1
                                                                                   'trampoline)
                                                                                v_0
                                                                                (lambda ()
                                                                                  (values
                                                                                   stack_1
                                                                                   v_0))))
                                                                             ((stack_1
                                                                               .
                                                                               vs_0)
                                                                              (lambda ()
                                                                                (apply
                                                                                 values
                                                                                 stack_1
                                                                                 vs_0))))))
                                                                          (with-continuation-mark*
                                                                           general
                                                                           k-val_0
                                                                           v-val_0
                                                                           (interpret_1
                                                                            body_0
                                                                            v-stack_0
                                                                            (hash-set
                                                                             return-mode63_0
                                                                             k-val_0
                                                                             v-val_0))))))
                                                                     ((v-stack_0
                                                                       .
                                                                       vals_0)
                                                                      (apply
                                                                       raise-result-arity-error
                                                                       #f
                                                                       1
                                                                       #f
                                                                       vals_0)))))
                                                                  ((k-stack_0
                                                                    .
                                                                    vals_0)
                                                                   (apply
                                                                    raise-result-arity-error
                                                                    #f
                                                                    1
                                                                    #f
                                                                    vals_0))))))))
                                                        (if (if (eq?
                                                                 'cwv
                                                                 (unsafe-vector*-ref
                                                                  b64_0
                                                                  0))
                                                              #t
                                                              #f)
                                                          (let ((b_1
                                                                 (unsafe-vector*-ref
                                                                  b64_0
                                                                  1)))
                                                            (let ((pos_0
                                                                   (unsafe-vector*-ref
                                                                    b64_0
                                                                    2)))
                                                              (let ((name_0
                                                                     (unsafe-vector*-ref
                                                                      b64_0
                                                                      3)))
                                                                (let ((clauses_0
                                                                       (unsafe-vector*-ref
                                                                        b64_0
                                                                        4)))
                                                                  (let ((name_1
                                                                         name_0)
                                                                        (pos_1
                                                                         pos_0)
                                                                        (b_2
                                                                         b_1))
                                                                    (call-with-values
                                                                     (lambda ()
                                                                       (call-with-values
                                                                        (lambda ()
                                                                          (interpret_1
                                                                           b_2
                                                                           stack65_0))
                                                                        (lambda (stack_1
                                                                                 .
                                                                                 vals_0)
                                                                          (values
                                                                           stack_1
                                                                           vals_0))))
                                                                     (lambda (new-stack_0
                                                                              vs_0)
                                                                       (let ((len_0
                                                                              (length
                                                                               vs_0)))
                                                                         (letrec*
                                                                          ((loop_0
                                                                            (|#%name|
                                                                             loop
                                                                             (lambda (clauses_1
                                                                                      full-mask_0)
                                                                               (if (null?
                                                                                    clauses_1)
                                                                                 (apply
                                                                                  raise-arity-mask-error
                                                                                  (if name_1
                                                                                    name_1
                                                                                    '|#<procedure>|)
                                                                                  full-mask_0
                                                                                  vs_0)
                                                                                 (let ((v_0
                                                                                        (car
                                                                                         clauses_1)))
                                                                                   (let ((mask_0
                                                                                          (unsafe-vector*-ref
                                                                                           v_0
                                                                                           0)))
                                                                                     (let ((b_3
                                                                                            (unsafe-vector*-ref
                                                                                             v_0
                                                                                             1)))
                                                                                       (let ((mask_1
                                                                                              mask_0))
                                                                                         (if (bitwise-bit-set?
                                                                                              mask_1
                                                                                              len_0)
                                                                                           (interpret_1
                                                                                            b_3
                                                                                            (push-stack
                                                                                             new-stack_0
                                                                                             pos_1
                                                                                             vs_0
                                                                                             mask_1)
                                                                                            return-mode63_0)
                                                                                           (let ((app_0
                                                                                                  (cdr
                                                                                                   clauses_1)))
                                                                                             (loop_0
                                                                                              app_0
                                                                                              (fxior
                                                                                               mask_1
                                                                                               full-mask_0)))))))))))))
                                                                          (loop_0
                                                                           clauses_0
                                                                           0))))))))))
                                                          (if (if (eq?
                                                                   'cwmp0
                                                                   (unsafe-vector*-ref
                                                                    b64_0
                                                                    0))
                                                                #t
                                                                #f)
                                                            (let ((b_1
                                                                   (unsafe-vector*-ref
                                                                    b64_0
                                                                    1)))
                                                              (begin
                                                                (if return-mode63_0
                                                                  (error
                                                                   'interpret
                                                                   "expect call-with-module-prompt in tail position")
                                                                  (void))
                                                                (|#%app|
                                                                 (hash-ref
                                                                  primitives
                                                                  'call-with-module-prompt)
                                                                 (lambda ()
                                                                   (interpret_1
                                                                    b_1
                                                                    stack65_0
                                                                    #f)))))
                                                            (if (if (eq?
                                                                     'cwmp
                                                                     (unsafe-vector*-ref
                                                                      b64_0
                                                                      0))
                                                                  #t
                                                                  #f)
                                                              (let ((b_1
                                                                     (unsafe-vector*-ref
                                                                      b64_0
                                                                      1)))
                                                                (let ((ids_0
                                                                       (unsafe-vector*-ref
                                                                        b64_0
                                                                        2)))
                                                                  (let ((constances_0
                                                                         (unsafe-vector*-ref
                                                                          b64_0
                                                                          3)))
                                                                    (let ((var-es_0
                                                                           (unsafe-vector*-ref
                                                                            b64_0
                                                                            4)))
                                                                      (let ((constances_1
                                                                             constances_0)
                                                                            (ids_1
                                                                             ids_0)
                                                                            (b_2
                                                                             b_1))
                                                                        (begin
                                                                          (if return-mode63_0
                                                                            (error
                                                                             'interpret
                                                                             "expect call-with-module-prompt in tail position")
                                                                            (void))
                                                                          (let ((app_0
                                                                                 (hash-ref
                                                                                  primitives
                                                                                  'call-with-module-prompt)))
                                                                            (apply
                                                                             app_0
                                                                             (lambda ()
                                                                               (interpret_1
                                                                                b_2
                                                                                stack65_0
                                                                                #f))
                                                                             ids_1
                                                                             constances_1
                                                                             (reverse$1
                                                                              (letrec*
                                                                               ((for-loop_0
                                                                                 (|#%name|
                                                                                  for-loop
                                                                                  (lambda (fold-var_0
                                                                                           lst_0)
                                                                                    (if (pair?
                                                                                         lst_0)
                                                                                      (let ((e_0
                                                                                             (unsafe-car
                                                                                              lst_0)))
                                                                                        (let ((rest_0
                                                                                               (unsafe-cdr
                                                                                                lst_0)))
                                                                                          (let ((fold-var_1
                                                                                                 (let ((fold-var_1
                                                                                                        (cons
                                                                                                         (interpret_1
                                                                                                          e_0
                                                                                                          stack65_0
                                                                                                          #f)
                                                                                                         fold-var_0)))
                                                                                                   (values
                                                                                                    fold-var_1))))
                                                                                            (for-loop_0
                                                                                             fold-var_1
                                                                                             rest_0))))
                                                                                      fold-var_0)))))
                                                                               (for-loop_0
                                                                                null
                                                                                var-es_0)))))))))))
                                                              (if (if (eq?
                                                                       'lambda
                                                                       (unsafe-vector*-ref
                                                                        b64_0
                                                                        0))
                                                                    #t
                                                                    #f)
                                                                (let ((mask_0
                                                                       (unsafe-vector*-ref
                                                                        b64_0
                                                                        1)))
                                                                  (let ((wrap-data_0
                                                                         (unsafe-vector*-ref
                                                                          b64_0
                                                                          2)))
                                                                    (let ((close-vec_0
                                                                           (unsafe-vector*-ref
                                                                            b64_0
                                                                            3)))
                                                                      (let ((__0
                                                                             (unsafe-vector*-ref
                                                                              b64_0
                                                                              4)))
                                                                        (let ((close-vec_1
                                                                               close-vec_0)
                                                                              (wrap-data_1
                                                                               wrap-data_0)
                                                                              (mask_1
                                                                               mask_0))
                                                                          (call-with-values
                                                                           (lambda ()
                                                                             (capture-closure_0
                                                                              close-vec_1
                                                                              stack65_0))
                                                                           (lambda (new-stack_0
                                                                                    captured_0)
                                                                             (let ((val_0
                                                                                    (|#%app|
                                                                                     make-interp-procedure*
                                                                                     (lambda args_0
                                                                                       (apply-function_0
                                                                                        b64_0
                                                                                        captured_0
                                                                                        args_0))
                                                                                     mask_1
                                                                                     wrap-data_1)))
                                                                               (if return-mode63_0
                                                                                 (values
                                                                                  new-stack_0
                                                                                  val_0)
                                                                                 val_0)))))))))
                                                                (if (if (eq?
                                                                         'case-lambda
                                                                         (unsafe-vector*-ref
                                                                          b64_0
                                                                          0))
                                                                      #t
                                                                      #f)
                                                                  (let ((mask_0
                                                                         (unsafe-vector*-ref
                                                                          b64_0
                                                                          1)))
                                                                    (let ((wrap-data_0
                                                                           (unsafe-vector*-ref
                                                                            b64_0
                                                                            2)))
                                                                      (let ((mask_1
                                                                             mask_0))
                                                                        (let ((n_0
                                                                               (unsafe-vector*-length
                                                                                b64_0)))
                                                                          (call-with-values
                                                                           (lambda ()
                                                                             (letrec*
                                                                              ((loop_0
                                                                                (|#%name|
                                                                                 loop
                                                                                 (lambda (i_0
                                                                                          stack_1)
                                                                                   (if (fx=
                                                                                        i_0
                                                                                        n_0)
                                                                                     (values
                                                                                      stack_1
                                                                                      '())
                                                                                     (call-with-values
                                                                                      (lambda ()
                                                                                        (loop_0
                                                                                         (fx+
                                                                                          i_0
                                                                                          1)
                                                                                         stack_1))
                                                                                      (lambda (rest-stack_0
                                                                                               rest-captureds_0)
                                                                                        (call-with-values
                                                                                         (lambda ()
                                                                                           (let ((v_0
                                                                                                  (unsafe-vector*-ref
                                                                                                   b64_0
                                                                                                   i_0)))
                                                                                             (if (if (eq?
                                                                                                      'lambda
                                                                                                      (unsafe-vector*-ref
                                                                                                       v_0
                                                                                                       0))
                                                                                                   #t
                                                                                                   #f)
                                                                                               (let ((mask_2
                                                                                                      (unsafe-vector*-ref
                                                                                                       v_0
                                                                                                       1)))
                                                                                                 (let ((__0
                                                                                                        (unsafe-vector*-ref
                                                                                                         v_0
                                                                                                         2)))
                                                                                                   (let ((close-vec_0
                                                                                                          (unsafe-vector*-ref
                                                                                                           v_0
                                                                                                           3)))
                                                                                                     (let ((__1
                                                                                                            __0)
                                                                                                           (mask_3
                                                                                                            mask_2))
                                                                                                       (capture-closure_0
                                                                                                        close-vec_0
                                                                                                        rest-stack_0)))))
                                                                                               (error
                                                                                                'interp-match
                                                                                                "no matching clause"))))
                                                                                         (lambda (new-stack_0
                                                                                                  captured_0)
                                                                                           (values
                                                                                            new-stack_0
                                                                                            (cons
                                                                                             captured_0
                                                                                             rest-captureds_0)))))))))))
                                                                              (loop_0
                                                                               3
                                                                               stack65_0)))
                                                                           (lambda (new-stack_0
                                                                                    captureds_0)
                                                                             (let ((val_0
                                                                                    (|#%app|
                                                                                     make-interp-procedure*
                                                                                     (lambda args_0
                                                                                       (let ((len_0
                                                                                              (length
                                                                                               args_0)))
                                                                                         (letrec*
                                                                                          ((loop_0
                                                                                            (|#%name|
                                                                                             loop
                                                                                             (lambda (i_0
                                                                                                      captureds_1
                                                                                                      full-mask_0)
                                                                                               (if (fx=
                                                                                                    i_0
                                                                                                    n_0)
                                                                                                 (apply
                                                                                                  raise-arity-mask-error
                                                                                                  '|#<procedure>|
                                                                                                  full-mask_0
                                                                                                  args_0)
                                                                                                 (let ((one-b_0
                                                                                                        (unsafe-vector*-ref
                                                                                                         b64_0
                                                                                                         i_0)))
                                                                                                   (if (if (eq?
                                                                                                            'lambda
                                                                                                            (unsafe-vector*-ref
                                                                                                             one-b_0
                                                                                                             0))
                                                                                                         #t
                                                                                                         #f)
                                                                                                     (let ((mask_2
                                                                                                            (unsafe-vector*-ref
                                                                                                             one-b_0
                                                                                                             1)))
                                                                                                       (if (bitwise-bit-set?
                                                                                                            mask_2
                                                                                                            len_0)
                                                                                                         (apply-function_0
                                                                                                          one-b_0
                                                                                                          (car
                                                                                                           captureds_1)
                                                                                                          args_0)
                                                                                                         (let ((app_0
                                                                                                                (fx+
                                                                                                                 i_0
                                                                                                                 1)))
                                                                                                           (let ((app_1
                                                                                                                  (cdr
                                                                                                                   captureds_1)))
                                                                                                             (loop_0
                                                                                                              app_0
                                                                                                              app_1
                                                                                                              (fxior
                                                                                                               full-mask_0
                                                                                                               mask_2))))))
                                                                                                     (error
                                                                                                      'interp-match
                                                                                                      "no matching clause"))))))))
                                                                                          (loop_0
                                                                                           3
                                                                                           captureds_0
                                                                                           0))))
                                                                                     mask_1
                                                                                     wrap-data_0)))
                                                                               (if return-mode63_0
                                                                                 (values
                                                                                  new-stack_0
                                                                                  val_0)
                                                                                 val_0))))))))
                                                                  (if (if (eq?
                                                                           'set-variable!
                                                                           (unsafe-vector*-ref
                                                                            b64_0
                                                                            0))
                                                                        #t
                                                                        #f)
                                                                    (let ((s_0
                                                                           (unsafe-vector*-ref
                                                                            b64_0
                                                                            1)))
                                                                      (let ((b_1
                                                                             (unsafe-vector*-ref
                                                                              b64_0
                                                                              2)))
                                                                        (let ((c_0
                                                                               (unsafe-vector*-ref
                                                                                b64_0
                                                                                3)))
                                                                          (let ((defn?_0
                                                                                 (unsafe-vector*-ref
                                                                                  b64_0
                                                                                  4)))
                                                                            (let ((c_1
                                                                                   c_0)
                                                                                  (b_2
                                                                                   b_1)
                                                                                  (s_1
                                                                                   s_0))
                                                                              (call-with-values
                                                                               (lambda ()
                                                                                 (stack-ref
                                                                                  stack65_0
                                                                                  s_1))
                                                                               (lambda (var-stack_0
                                                                                        var_0)
                                                                                 (call-with-values
                                                                                  (lambda ()
                                                                                    (interpret_1
                                                                                     b_2
                                                                                     var-stack_0))
                                                                                  (case-lambda
                                                                                   ((val-stack_0
                                                                                     val_0)
                                                                                    (begin
                                                                                      (if defn?_0
                                                                                        (|#%app|
                                                                                         1/variable-set!/define
                                                                                         var_0
                                                                                         val_0
                                                                                         c_1)
                                                                                        (|#%app|
                                                                                         1/variable-set!
                                                                                         var_0
                                                                                         val_0))
                                                                                      (if return-mode63_0
                                                                                        (values
                                                                                         val-stack_0
                                                                                         (void))
                                                                                        (void))))
                                                                                   ((val-stack_0
                                                                                     .
                                                                                     vals_0)
                                                                                    (apply
                                                                                     raise-result-arity-error
                                                                                     #f
                                                                                     1
                                                                                     #f
                                                                                     vals_0)))))))))))
                                                                    (if (if (eq?
                                                                             'set!-indirect
                                                                             (unsafe-vector*-ref
                                                                              b64_0
                                                                              0))
                                                                          #t
                                                                          #f)
                                                                      (let ((s_0
                                                                             (unsafe-vector*-ref
                                                                              b64_0
                                                                              1)))
                                                                        (let ((e_0
                                                                               (unsafe-vector*-ref
                                                                                b64_0
                                                                                2)))
                                                                          (let ((b_1
                                                                                 (unsafe-vector*-ref
                                                                                  b64_0
                                                                                  3)))
                                                                            (let ((e_1
                                                                                   e_0)
                                                                                  (s_1
                                                                                   s_0))
                                                                              (call-with-values
                                                                               (lambda ()
                                                                                 (stack-ref
                                                                                  stack65_0
                                                                                  s_1))
                                                                               (lambda (vec-stack_0
                                                                                        vec_0)
                                                                                 (call-with-values
                                                                                  (lambda ()
                                                                                    (interpret_1
                                                                                     b_1
                                                                                     vec-stack_0))
                                                                                  (case-lambda
                                                                                   ((val-stack_0
                                                                                     val_0)
                                                                                    (begin
                                                                                      (unsafe-vector*-set!
                                                                                       vec_0
                                                                                       e_1
                                                                                       val_0)
                                                                                      (if return-mode63_0
                                                                                        (values
                                                                                         val-stack_0
                                                                                         (void))
                                                                                        (void))))
                                                                                   ((val-stack_0
                                                                                     .
                                                                                     vals_0)
                                                                                    (apply
                                                                                     raise-result-arity-error
                                                                                     #f
                                                                                     1
                                                                                     #f
                                                                                     vals_0))))))))))
                                                                      (if (if (eq?
                                                                               'set!-boxed
                                                                               (unsafe-vector*-ref
                                                                                b64_0
                                                                                0))
                                                                            #t
                                                                            #f)
                                                                        (let ((s_0
                                                                               (unsafe-vector*-ref
                                                                                b64_0
                                                                                1)))
                                                                          (let ((b_1
                                                                                 (unsafe-vector*-ref
                                                                                  b64_0
                                                                                  2)))
                                                                            (let ((name_0
                                                                                   (unsafe-vector*-ref
                                                                                    b64_0
                                                                                    3)))
                                                                              (let ((b_2
                                                                                     b_1)
                                                                                    (s_1
                                                                                     s_0))
                                                                                (call-with-values
                                                                                 (lambda ()
                                                                                   (stack-ref
                                                                                    stack65_0
                                                                                    s_1))
                                                                                 (lambda (bx-stack_0
                                                                                          bx_0)
                                                                                   (call-with-values
                                                                                    (lambda ()
                                                                                      (interpret_1
                                                                                       b_2
                                                                                       bx-stack_0))
                                                                                    (case-lambda
                                                                                     ((v-stack_0
                                                                                       v_0)
                                                                                      (begin
                                                                                        (unsafe-set-box*!
                                                                                         bx_0
                                                                                         v_0)
                                                                                        (if return-mode63_0
                                                                                          (values
                                                                                           v-stack_0
                                                                                           (void))
                                                                                          (void))))
                                                                                     ((v-stack_0
                                                                                       .
                                                                                       vals_0)
                                                                                      (apply
                                                                                       raise-result-arity-error
                                                                                       #f
                                                                                       1
                                                                                       #f
                                                                                       vals_0))))))))))
                                                                        (if (if (eq?
                                                                                 'set!-boxed/checked
                                                                                 (unsafe-vector*-ref
                                                                                  b64_0
                                                                                  0))
                                                                              #t
                                                                              #f)
                                                                          (let ((s_0
                                                                                 (unsafe-vector*-ref
                                                                                  b64_0
                                                                                  1)))
                                                                            (let ((b_1
                                                                                   (unsafe-vector*-ref
                                                                                    b64_0
                                                                                    2)))
                                                                              (let ((name_0
                                                                                     (unsafe-vector*-ref
                                                                                      b64_0
                                                                                      3)))
                                                                                (let ((b_2
                                                                                       b_1)
                                                                                      (s_1
                                                                                       s_0))
                                                                                  (call-with-values
                                                                                   (lambda ()
                                                                                     (stack-ref
                                                                                      stack65_0
                                                                                      s_1))
                                                                                   (lambda (bx-stack_0
                                                                                            bx_0)
                                                                                     (call-with-values
                                                                                      (lambda ()
                                                                                        (interpret_1
                                                                                         b_2
                                                                                         bx-stack_0))
                                                                                      (case-lambda
                                                                                       ((v-stack_0
                                                                                         v_0)
                                                                                        (begin
                                                                                          (check-not-unsafe-undefined/assign
                                                                                           (unsafe-unbox*
                                                                                            bx_0)
                                                                                           name_0)
                                                                                          (unsafe-set-box*!
                                                                                           bx_0
                                                                                           v_0)
                                                                                          (if return-mode63_0
                                                                                            (values
                                                                                             v-stack_0
                                                                                             (void))
                                                                                            (void))))
                                                                                       ((v-stack_0
                                                                                         .
                                                                                         vals_0)
                                                                                        (apply
                                                                                         raise-result-arity-error
                                                                                         #f
                                                                                         1
                                                                                         #f
                                                                                         vals_0))))))))))
                                                                          (error
                                                                           'interp-match
                                                                           "no matching clause"))))))))))))))))))))))))))))
                    (if return-mode63_0 (values stack65_0 b64_0) b64_0)))))))))
      (interpret_1
       (|#%name|
        interpret
        (case-lambda
         ((b_1 stack_1) (interpret_0 b_1 stack_1 'values))
         ((b_1 stack_1 return-mode63_0)
          (interpret_0 b_1 stack_1 return-mode63_0)))))
      (capture-closure_0
       (|#%name|
        capture-closure
        (lambda (close-vec_0 stack_1)
          (let ((len_0 (unsafe-vector*-length close-vec_0)))
            (letrec*
             ((loop_0
               (|#%name|
                loop
                (lambda (i_0 stack_2 captured_0)
                  (if (= i_0 len_0)
                    (values stack_2 captured_0)
                    (call-with-values
                     (lambda ()
                       (stack-ref
                        stack_2
                        (unsafe-vector*-ref close-vec_0 i_0)))
                     (lambda (val-stack_0 val_0)
                       (let ((app_0 (add1 i_0)))
                         (loop_0
                          app_0
                          val-stack_0
                          (stack-set captured_0 (- -1 i_0) val_0))))))))))
             (loop_0 0 stack_1 empty-intmap))))))
      (apply-function_0
       (|#%name|
        apply-function
        (lambda (b_1 captured_0 args_0)
          (if (if (eq? 'lambda (unsafe-vector*-ref b_1 0)) #t #f)
            (let ((mask_0 (unsafe-vector*-ref b_1 1)))
              (let ((name_0 (unsafe-vector*-ref b_1 2)))
                (let ((close-vec_0 (unsafe-vector*-ref b_1 3)))
                  (let ((b_2 (unsafe-vector*-ref b_1 4)))
                    (let ((close-vec_1 close-vec_0)
                          (name_1 name_0)
                          (mask_1 mask_0))
                      (interpret_1
                       b_2
                       (push-stack captured_0 0 args_0 mask_1)
                       #f))))))
            (error 'interp-match "no matching clause"))))))
     (if (vector? b_0)
       (if (eq? 'begin (unsafe-vector*-ref b_0 0))
         (let ((last_0 (sub1 (unsafe-vector*-length b_0))))
           (letrec*
            ((loop_0
              (|#%name|
               loop
               (lambda (i_0)
                 (let ((e_0 (unsafe-vector*-ref b_0 i_0)))
                   (if (= i_0 last_0)
                     (interpret_1 e_0 stack_0 #f)
                     (begin
                       (interpret_1 e_0 stack_0 #f)
                       (loop_0 (add1 i_0)))))))))
            (loop_0 1)))
         (interpret_1 b_0 stack_0 #f))
       (interpret_1 b_0 stack_0 #f)))))
(define count->mask
  (lambda (count_0 rest?_0)
    (if rest?_0
      (bitwise-xor -1 (sub1 (arithmetic-shift 1 (sub1 count_0))))
      (arithmetic-shift 1 count_0))))
(define matching-argument-count?
  (lambda (mask_0 len_0) (bitwise-bit-set? mask_0 len_0)))
(define linklet-bigger-than?
  (lambda (e_0 size_0 serializable?_0)
    (letrec*
     ((leftover-size_0
       (|#%name|
        leftover-size
        (lambda (e_1 size_1)
          (if (<= size_1 0)
            0
            (let ((hd_0
                   (let ((p_0 (unwrap e_1)))
                     (if (pair? p_0) (unwrap (car p_0)) #f))))
              (if (if (eq? 'begin hd_0) #t #f)
                (let ((body_0 (let ((d_0 (cdr (unwrap e_1)))) d_0)))
                  (body-leftover-size_0 body_0 (sub1 size_1)))
                (if (if (eq? 'define-values hd_0)
                      (let ((a_0 (cdr (unwrap e_1))))
                        (let ((p_0 (unwrap a_0)))
                          (if (pair? p_0)
                            (let ((a_1 (cdr p_0)))
                              (let ((p_1 (unwrap a_1)))
                                (if (pair? p_1)
                                  (let ((a_2 (cdr p_1)))
                                    (let ((app_0 (unwrap '())))
                                      (eq? app_0 (unwrap a_2))))
                                  #f)))
                            #f)))
                      #f)
                  (let ((rhs_0
                         (let ((d_0 (cdr (unwrap e_1))))
                           (let ((d_1 (cdr (unwrap d_0))))
                             (let ((a_0 (car (unwrap d_1)))) a_0)))))
                    (leftover-size_0 rhs_0 (sub1 size_1)))
                  (if (if (eq? 'lambda hd_0)
                        (let ((a_0 (cdr (unwrap e_1))))
                          (let ((p_0 (unwrap a_0))) (if (pair? p_0) #t #f)))
                        #f)
                    (let ((body_0
                           (let ((d_0 (cdr (unwrap e_1))))
                             (let ((d_1 (cdr (unwrap d_0)))) d_1))))
                      (body-leftover-size_0 body_0 (sub1 size_1)))
                    (if (if (eq? 'case-lambda hd_0)
                          (let ((a_0 (cdr (unwrap e_1))))
                            (if (wrap-list? a_0)
                              (letrec*
                               ((for-loop_0
                                 (|#%name|
                                  for-loop
                                  (lambda (result_0 lst_0)
                                    (if (not (null? (unwrap lst_0)))
                                      (let ((v_0
                                             (if (pair? (unwrap lst_0))
                                               (wrap-car lst_0)
                                               lst_0)))
                                        (let ((rest_0
                                               (if (pair? (unwrap lst_0))
                                                 (wrap-cdr lst_0)
                                                 null)))
                                          (let ((v_1 v_0))
                                            (let ((result_1
                                                   (let ((result_1
                                                          (let ((p_0
                                                                 (unwrap v_1)))
                                                            (if (pair? p_0)
                                                              #t
                                                              #f))))
                                                     (values result_1))))
                                              (if (if (not
                                                       (let ((x_0 (list v_1)))
                                                         (not result_1)))
                                                    #t
                                                    #f)
                                                (for-loop_0 result_1 rest_0)
                                                result_1)))))
                                      result_0)))))
                               (for-loop_0 #t a_0))
                              #f))
                          #f)
                      (let ((bodys_0
                             (let ((d_0 (cdr (unwrap e_1))))
                               (let ((bodys_0
                                      (letrec*
                                       ((for-loop_0
                                         (|#%name|
                                          for-loop
                                          (lambda (bodys_0 lst_0)
                                            (if (not (null? (unwrap lst_0)))
                                              (let ((v_0
                                                     (if (pair? (unwrap lst_0))
                                                       (wrap-car lst_0)
                                                       lst_0)))
                                                (let ((rest_0
                                                       (if (pair?
                                                            (unwrap lst_0))
                                                         (wrap-cdr lst_0)
                                                         null)))
                                                  (let ((v_1 v_0))
                                                    (let ((bodys_1
                                                           (let ((bodys_1
                                                                  (let ((bodys1_0
                                                                         (let ((d_1
                                                                                (cdr
                                                                                 (unwrap
                                                                                  v_1))))
                                                                           d_1)))
                                                                    (cons
                                                                     bodys1_0
                                                                     bodys_0))))
                                                             (values
                                                              bodys_1))))
                                                      (for-loop_0
                                                       bodys_1
                                                       rest_0)))))
                                              bodys_0)))))
                                       (for-loop_0 null d_0))))
                                 (reverse$1 bodys_0)))))
                        (body-leftover-size_0 bodys_0 (sub1 size_1)))
                      (if (if (eq? 'let-values hd_0)
                            (let ((a_0 (cdr (unwrap e_1))))
                              (let ((p_0 (unwrap a_0)))
                                (if (pair? p_0)
                                  (if (let ((a_1 (car p_0)))
                                        (if (wrap-list? a_1)
                                          (letrec*
                                           ((for-loop_0
                                             (|#%name|
                                              for-loop
                                              (lambda (result_0 lst_0)
                                                (if (not
                                                     (null? (unwrap lst_0)))
                                                  (let ((v_0
                                                         (if (pair?
                                                              (unwrap lst_0))
                                                           (wrap-car lst_0)
                                                           lst_0)))
                                                    (let ((rest_0
                                                           (if (pair?
                                                                (unwrap lst_0))
                                                             (wrap-cdr lst_0)
                                                             null)))
                                                      (let ((v_1 v_0))
                                                        (let ((result_1
                                                               (let ((result_1
                                                                      (let ((p_1
                                                                             (unwrap
                                                                              v_1)))
                                                                        (if (pair?
                                                                             p_1)
                                                                          (let ((a_2
                                                                                 (cdr
                                                                                  p_1)))
                                                                            (let ((p_2
                                                                                   (unwrap
                                                                                    a_2)))
                                                                              (if (pair?
                                                                                   p_2)
                                                                                (let ((a_3
                                                                                       (cdr
                                                                                        p_2)))
                                                                                  (let ((app_0
                                                                                         (unwrap
                                                                                          '())))
                                                                                    (eq?
                                                                                     app_0
                                                                                     (unwrap
                                                                                      a_3))))
                                                                                #f)))
                                                                          #f))))
                                                                 (values
                                                                  result_1))))
                                                          (if (if (not
                                                                   (let ((x_0
                                                                          (list
                                                                           v_1)))
                                                                     (not
                                                                      result_1)))
                                                                #t
                                                                #f)
                                                            (for-loop_0
                                                             result_1
                                                             rest_0)
                                                            result_1)))))
                                                  result_0)))))
                                           (for-loop_0 #t a_1))
                                          #f))
                                    #t
                                    #f)
                                  #f)))
                            #f)
                        (call-with-values
                         (lambda ()
                           (let ((d_0 (cdr (unwrap e_1))))
                             (let ((p_0 (unwrap d_0)))
                               (let ((rhss_0
                                      (let ((a_0 (car p_0)))
                                        (let ((rhss_0
                                               (letrec*
                                                ((for-loop_0
                                                  (|#%name|
                                                   for-loop
                                                   (lambda (rhss_0 lst_0)
                                                     (if (not
                                                          (null?
                                                           (unwrap lst_0)))
                                                       (let ((v_0
                                                              (if (pair?
                                                                   (unwrap
                                                                    lst_0))
                                                                (wrap-car
                                                                 lst_0)
                                                                lst_0)))
                                                         (let ((rest_0
                                                                (if (pair?
                                                                     (unwrap
                                                                      lst_0))
                                                                  (wrap-cdr
                                                                   lst_0)
                                                                  null)))
                                                           (let ((v_1 v_0))
                                                             (let ((rhss_1
                                                                    (let ((rhss_1
                                                                           (let ((rhss2_0
                                                                                  (let ((d_1
                                                                                         (cdr
                                                                                          (unwrap
                                                                                           v_1))))
                                                                                    (let ((a_1
                                                                                           (car
                                                                                            (unwrap
                                                                                             d_1))))
                                                                                      a_1))))
                                                                             (cons
                                                                              rhss2_0
                                                                              rhss_0))))
                                                                      (values
                                                                       rhss_1))))
                                                               (for-loop_0
                                                                rhss_1
                                                                rest_0)))))
                                                       rhss_0)))))
                                                (for-loop_0 null a_0))))
                                          (reverse$1 rhss_0)))))
                                 (let ((body_0 (let ((d_1 (cdr p_0))) d_1)))
                                   (let ((rhss_1 rhss_0))
                                     (values rhss_1 body_0)))))))
                         (lambda (rhss_0 body_0)
                           (let ((app_0 (cons rhss_0 body_0)))
                             (body-leftover-size_0 app_0 (sub1 size_1)))))
                        (if (if (eq? 'letrec-values hd_0)
                              (let ((a_0 (cdr (unwrap e_1))))
                                (let ((p_0 (unwrap a_0)))
                                  (if (pair? p_0)
                                    (if (let ((a_1 (car p_0)))
                                          (if (wrap-list? a_1)
                                            (letrec*
                                             ((for-loop_0
                                               (|#%name|
                                                for-loop
                                                (lambda (result_0 lst_0)
                                                  (if (not
                                                       (null? (unwrap lst_0)))
                                                    (let ((v_0
                                                           (if (pair?
                                                                (unwrap lst_0))
                                                             (wrap-car lst_0)
                                                             lst_0)))
                                                      (let ((rest_0
                                                             (if (pair?
                                                                  (unwrap
                                                                   lst_0))
                                                               (wrap-cdr lst_0)
                                                               null)))
                                                        (let ((v_1 v_0))
                                                          (let ((result_1
                                                                 (let ((result_1
                                                                        (let ((p_1
                                                                               (unwrap
                                                                                v_1)))
                                                                          (if (pair?
                                                                               p_1)
                                                                            (let ((a_2
                                                                                   (cdr
                                                                                    p_1)))
                                                                              (let ((p_2
                                                                                     (unwrap
                                                                                      a_2)))
                                                                                (if (pair?
                                                                                     p_2)
                                                                                  (let ((a_3
                                                                                         (cdr
                                                                                          p_2)))
                                                                                    (let ((app_0
                                                                                           (unwrap
                                                                                            '())))
                                                                                      (eq?
                                                                                       app_0
                                                                                       (unwrap
                                                                                        a_3))))
                                                                                  #f)))
                                                                            #f))))
                                                                   (values
                                                                    result_1))))
                                                            (if (if (not
                                                                     (let ((x_0
                                                                            (list
                                                                             v_1)))
                                                                       (not
                                                                        result_1)))
                                                                  #t
                                                                  #f)
                                                              (for-loop_0
                                                               result_1
                                                               rest_0)
                                                              result_1)))))
                                                    result_0)))))
                                             (for-loop_0 #t a_1))
                                            #f))
                                      #t
                                      #f)
                                    #f)))
                              #f)
                          (call-with-values
                           (lambda ()
                             (let ((d_0 (cdr (unwrap e_1))))
                               (let ((p_0 (unwrap d_0)))
                                 (let ((rhss_0
                                        (let ((a_0 (car p_0)))
                                          (let ((rhss_0
                                                 (letrec*
                                                  ((for-loop_0
                                                    (|#%name|
                                                     for-loop
                                                     (lambda (rhss_0 lst_0)
                                                       (if (not
                                                            (null?
                                                             (unwrap lst_0)))
                                                         (let ((v_0
                                                                (if (pair?
                                                                     (unwrap
                                                                      lst_0))
                                                                  (wrap-car
                                                                   lst_0)
                                                                  lst_0)))
                                                           (let ((rest_0
                                                                  (if (pair?
                                                                       (unwrap
                                                                        lst_0))
                                                                    (wrap-cdr
                                                                     lst_0)
                                                                    null)))
                                                             (let ((v_1 v_0))
                                                               (let ((rhss_1
                                                                      (let ((rhss_1
                                                                             (let ((rhss3_0
                                                                                    (let ((d_1
                                                                                           (cdr
                                                                                            (unwrap
                                                                                             v_1))))
                                                                                      (let ((a_1
                                                                                             (car
                                                                                              (unwrap
                                                                                               d_1))))
                                                                                        a_1))))
                                                                               (cons
                                                                                rhss3_0
                                                                                rhss_0))))
                                                                        (values
                                                                         rhss_1))))
                                                                 (for-loop_0
                                                                  rhss_1
                                                                  rest_0)))))
                                                         rhss_0)))))
                                                  (for-loop_0 null a_0))))
                                            (reverse$1 rhss_0)))))
                                   (let ((body_0 (let ((d_1 (cdr p_0))) d_1)))
                                     (let ((rhss_1 rhss_0))
                                       (values rhss_1 body_0)))))))
                           (lambda (rhss_0 body_0)
                             (let ((app_0 (cons rhss_0 body_0)))
                               (body-leftover-size_0 app_0 (sub1 size_1)))))
                          (if (if (eq? 'if hd_0)
                                (let ((a_0 (cdr (unwrap e_1))))
                                  (let ((p_0 (unwrap a_0)))
                                    (if (pair? p_0)
                                      (let ((a_1 (cdr p_0)))
                                        (let ((p_1 (unwrap a_1)))
                                          (if (pair? p_1)
                                            (let ((a_2 (cdr p_1)))
                                              (let ((p_2 (unwrap a_2)))
                                                (if (pair? p_2)
                                                  (let ((a_3 (cdr p_2)))
                                                    (let ((app_0 (unwrap '())))
                                                      (eq?
                                                       app_0
                                                       (unwrap a_3))))
                                                  #f)))
                                            #f)))
                                      #f)))
                                #f)
                            (call-with-values
                             (lambda ()
                               (let ((d_0 (cdr (unwrap e_1))))
                                 (let ((p_0 (unwrap d_0)))
                                   (let ((tst_0 (let ((a_0 (car p_0))) a_0)))
                                     (call-with-values
                                      (lambda ()
                                        (let ((d_1 (cdr p_0)))
                                          (let ((p_1 (unwrap d_1)))
                                            (let ((thn_0
                                                   (let ((a_0 (car p_1)))
                                                     a_0)))
                                              (let ((els_0
                                                     (let ((d_2 (cdr p_1)))
                                                       (let ((a_0
                                                              (car
                                                               (unwrap d_2))))
                                                         a_0))))
                                                (let ((thn_1 thn_0))
                                                  (values thn_1 els_0)))))))
                                      (lambda (thn_0 els_0)
                                        (let ((tst_1 tst_0))
                                          (values tst_1 thn_0 els_0))))))))
                             (lambda (tst_0 thn_0 els_0)
                               (leftover-size_0
                                els_0
                                (leftover-size_0
                                 thn_0
                                 (leftover-size_0 tst_0 (sub1 size_1))))))
                            (if (if (eq? 'with-continuation-mark* hd_0)
                                  (let ((a_0 (cdr (unwrap e_1))))
                                    (let ((p_0 (unwrap a_0)))
                                      (if (pair? p_0)
                                        (let ((a_1 (cdr p_0)))
                                          (let ((p_1 (unwrap a_1)))
                                            (if (pair? p_1)
                                              (let ((a_2 (cdr p_1)))
                                                (let ((p_2 (unwrap a_2)))
                                                  (if (pair? p_2)
                                                    (let ((a_3 (cdr p_2)))
                                                      (let ((p_3 (unwrap a_3)))
                                                        (if (pair? p_3)
                                                          (let ((a_4
                                                                 (cdr p_3)))
                                                            (let ((app_0
                                                                   (unwrap
                                                                    '())))
                                                              (eq?
                                                               app_0
                                                               (unwrap a_4))))
                                                          #f)))
                                                    #f)))
                                              #f)))
                                        #f)))
                                  #f)
                              (call-with-values
                               (lambda ()
                                 (let ((d_0 (cdr (unwrap e_1))))
                                   (let ((d_1 (cdr (unwrap d_0))))
                                     (let ((p_0 (unwrap d_1)))
                                       (let ((key_0
                                              (let ((a_0 (car p_0))) a_0)))
                                         (call-with-values
                                          (lambda ()
                                            (let ((d_2 (cdr p_0)))
                                              (let ((p_1 (unwrap d_2)))
                                                (let ((val_0
                                                       (let ((a_0 (car p_1)))
                                                         a_0)))
                                                  (let ((body_0
                                                         (let ((d_3 (cdr p_1)))
                                                           (let ((a_0
                                                                  (car
                                                                   (unwrap
                                                                    d_3))))
                                                             a_0))))
                                                    (let ((val_1 val_0))
                                                      (values
                                                       val_1
                                                       body_0)))))))
                                          (lambda (val_0 body_0)
                                            (let ((key_1 key_0))
                                              (values
                                               key_1
                                               val_0
                                               body_0)))))))))
                               (lambda (key_0 val_0 body_0)
                                 (leftover-size_0
                                  body_0
                                  (leftover-size_0
                                   val_0
                                   (leftover-size_0 key_0 (sub1 size_1))))))
                              (if (if (eq? 'begin-unsafe hd_0) #t #f)
                                (let ((body_0
                                       (let ((d_0 (cdr (unwrap e_1)))) d_0)))
                                  (body-leftover-size_0 body_0 (sub1 size_1)))
                                (if (if (eq? 'begin0 hd_0) #t #f)
                                  (let ((body_0
                                         (let ((d_0 (cdr (unwrap e_1)))) d_0)))
                                    (body-leftover-size_0
                                     body_0
                                     (sub1 size_1)))
                                  (if (if (eq? 'quote hd_0)
                                        (let ((a_0 (cdr (unwrap e_1))))
                                          (let ((p_0 (unwrap a_0)))
                                            (if (pair? p_0)
                                              (let ((a_1 (cdr p_0)))
                                                (let ((app_0 (unwrap '())))
                                                  (eq? app_0 (unwrap a_1))))
                                              #f)))
                                        #f)
                                    (let ((v_0
                                           (let ((d_0 (cdr (unwrap e_1))))
                                             (let ((a_0 (car (unwrap d_0))))
                                               a_0))))
                                      (sub1 size_1))
                                    (if (if (eq? 'set! hd_0)
                                          (let ((a_0 (cdr (unwrap e_1))))
                                            (let ((p_0 (unwrap a_0)))
                                              (if (pair? p_0)
                                                (let ((a_1 (cdr p_0)))
                                                  (let ((p_1 (unwrap a_1)))
                                                    (if (pair? p_1)
                                                      (let ((a_2 (cdr p_1)))
                                                        (let ((app_0
                                                               (unwrap '())))
                                                          (eq?
                                                           app_0
                                                           (unwrap a_2))))
                                                      #f)))
                                                #f)))
                                          #f)
                                      (call-with-values
                                       (lambda ()
                                         (let ((d_0 (cdr (unwrap e_1))))
                                           (let ((p_0 (unwrap d_0)))
                                             (let ((id_0
                                                    (let ((a_0 (car p_0)))
                                                      a_0)))
                                               (let ((rhs_0
                                                      (let ((d_1 (cdr p_0)))
                                                        (let ((a_0
                                                               (car
                                                                (unwrap d_1))))
                                                          a_0))))
                                                 (let ((id_1 id_0))
                                                   (values id_1 rhs_0)))))))
                                       (lambda (id_0 rhs_0)
                                         (leftover-size_0
                                          rhs_0
                                          (sub1 size_1))))
                                      (if (if (eq?
                                               '|#%variable-reference|
                                               hd_0)
                                            #t
                                            #f)
                                        (sub1 size_1)
                                        (if (if (eq? '|#%foreign-inline| hd_0)
                                              #t
                                              #f)
                                          (sub1 size_1)
                                          (if (let ((p_0 (unwrap e_1)))
                                                (if (pair? p_0) #t #f))
                                            (body-leftover-size_0 e_1 size_1)
                                            (sub1 size_1)))))))))))))))))))))
      (body-leftover-size_0
       (|#%name|
        body-leftover-size
        (lambda (body_0 size_1)
          (letrec*
           ((for-loop_0
             (|#%name|
              for-loop
              (lambda (size_2 lst_0)
                (if (not (null? (unwrap lst_0)))
                  (let ((e_1
                         (if (pair? (unwrap lst_0)) (wrap-car lst_0) lst_0)))
                    (let ((rest_0
                           (if (pair? (unwrap lst_0)) (wrap-cdr lst_0) null)))
                      (let ((e_2 e_1))
                        (let ((next-k-proc_0
                               (|#%name|
                                next-k-proc
                                (lambda (size_3) (for-loop_0 size_3 rest_0)))))
                          (if (<= size_2 0)
                            size_2
                            (let ((size_3 (leftover-size_0 e_2 size_2)))
                              (for-loop_0 size_3 rest_0)))))))
                  size_2)))))
           (for-loop_0 size_1 body_0))))))
     (letrec*
      ((s-expr-leftover-size_0
        (|#%name|
         s-expr-leftover-size
         (lambda (v_0 size_1)
           (if (<= size_1 0)
             0
             (if (pair? v_0)
               (let ((app_0 (cdr v_0)))
                 (s-expr-leftover-size_0
                  app_0
                  (let ((app_1 (car v_0)))
                    (s-expr-leftover-size_0 app_1 (sub1 size_1)))))
               (if (box? v_0)
                 (let ((app_0 (unbox v_0)))
                   (s-expr-leftover-size_0 app_0 (sub1 size_1)))
                 (if (vector? v_0)
                   (let ((size_2 (let ((size_2 (sub1 size_1))) size_2)))
                     (call-with-values
                      (lambda () (values v_0 (unsafe-vector-length v_0)))
                      (lambda (vec_0 len_0)
                        (letrec*
                         ((for-loop_0
                           (|#%name|
                            for-loop
                            (lambda (size_3 pos_0)
                              (if (unsafe-fx< pos_0 len_0)
                                (let ((v_1 (unsafe-vector-ref vec_0 pos_0)))
                                  (let ((next-k-proc_0
                                         (|#%name|
                                          next-k-proc
                                          (lambda (size_4)
                                            (for-loop_0
                                             size_4
                                             (unsafe-fx+ 1 pos_0))))))
                                    (if (<= size_3 0)
                                      size_3
                                      (let ((size_4
                                             (s-expr-leftover-size_0
                                              v_1
                                              size_3)))
                                        (next-k-proc_0 size_4)))))
                                size_3)))))
                         (for-loop_0 size_2 0)))))
                   (if (prefab-struct-key v_0)
                     (s-expr-leftover-size_0 (struct->vector v_0) size_1)
                     (if (hash? v_0)
                       (let ((size_2 (let ((size_2 (sub1 size_1))) size_2)))
                         (letrec*
                          ((for-loop_0
                            (|#%name|
                             for-loop
                             (lambda (size_3 i_0)
                               (if i_0
                                 (call-with-values
                                  (lambda () (hash-iterate-key+value v_0 i_0))
                                  (lambda (k_0 v_1)
                                    (let ((next-k-proc_0
                                           (|#%name|
                                            next-k-proc
                                            (lambda (size_4)
                                              (for-loop_0
                                               size_4
                                               (hash-iterate-next v_0 i_0))))))
                                      (if (<= size_3 0)
                                        size_3
                                        (let ((size_4
                                               (s-expr-leftover-size_0
                                                v_1
                                                (s-expr-leftover-size_0
                                                 k_0
                                                 size_3))))
                                          (next-k-proc_0 size_4))))))
                                 size_3)))))
                          (for-loop_0 size_2 (hash-iterate-first v_0))))
                       (sub1 size_1)))))))))))
      (let ((hd_0
             (let ((p_0 (unwrap e_0)))
               (if (pair? p_0) (unwrap (car p_0)) #f))))
        (if (if (eq? 'linklet hd_0)
              (let ((a_0 (cdr (unwrap e_0))))
                (let ((p_0 (unwrap a_0)))
                  (if (pair? p_0)
                    (let ((a_1 (cdr p_0)))
                      (let ((p_1 (unwrap a_1))) (if (pair? p_1) #t #f)))
                    #f)))
              #f)
          (let ((body_0
                 (let ((d_0 (cdr (unwrap e_0))))
                   (let ((d_1 (cdr (unwrap d_0))))
                     (let ((d_2 (cdr (unwrap d_1)))) d_2)))))
            (<= (body-leftover-size_0 body_0 size_0) 0))
          (error 'match "failed ~e" e_0)))))))
(define ->fasl
  (let ((->fasl_0
         (|#%name|
          ->fasl
          (lambda (v2_0 handle-fail1_0)
            (s-exp->fasl.1 #f handle-fail1_0 #f #f v2_0 #f)))))
    (case-lambda
     ((v_0) (->fasl_0 v_0 #f))
     ((v_0 handle-fail1_0) (->fasl_0 v_0 handle-fail1_0)))))
(define fasl-> (lambda (f_0) (fasl->s-exp.1 #t unsafe-undefined #f f_0)))
