((let ((allocatebinding (new-array 1 1)))
   (let ((n_1 10))
     (let ((allocatebindingx (new-array 1 1)))
       (let ((a_2 (new-array n_1 0)))
         (let ((allocatebindingxx (new-array 1 1)))
           (let ((x_7 (- n_1 1)))
             (let ((allocatebindingxxx (new-array 1 1)))
               (let ((__3 (:fill_and_print a_2 x_7)))
                 (let ((allocatebindingxxxx (new-tuple 0 1 2 3 4 5 6 7 8)))
                   (print a_2))))))))))
 (:fill_and_print
  (a_4 n_5)
  (let ((allocatebinding (new-array 1 1)))
    (let ((x_8 (= n_5 0)))
      (if x_8
        (let ((allocatebindingx (new-tuple 0 1 2 3 4))) 0)
        (let ((allocatebindingx (new-array 1 1)))
          (let ((__6 (aset a_4 n_5 n_5)))
            (let ((allocatebindingxx (new-array 1 1)))
              (let ((x_9 (- n_5 1)))
                (let ((allocatebindingxxx (new-tuple 0 1 2 3 4 5 6 7 8)))
                  (:fill_and_print a_4 x_9)))))))))))
