
(/VERSIONCHECK 2) 

(DEFUN |FORTRAN;makeRep| (|b| $) (CONS (SPADCALL (QREFELT $ 12)) |b|)) 

(PUT '|FORTRAN;codeFrom| '|SPADreplace| 'QCDR) 

(DEFUN |FORTRAN;codeFrom| (|u| $) (QCDR |u|)) 

(DEFUN |FORTRAN;outputAsFortran;$V;3| (|p| $)
  (PROG (|tempName| #0=#:G1843 |l| #1=#:G1844 |body| |intrinsics|
            |expr| #2=#:G1845)
    (RETURN
      (SEQ (SPADCALL (SPADCALL 25000 (QREFELT $ 15)) (QREFELT $ 17))
           (LETT |tempName| (SPADCALL "FPTEMP" (QREFELT $ 20))
                 . #3=(|FORTRAN;outputAsFortran;$V;3|))
           (SPADCALL |tempName| (QREFELT $ 23))
           (|initialiseIntrinsicList|)
           (LETT |body|
                 (PROGN
                   (LETT #0# NIL . #3#)
                   (SEQ (LETT |l| NIL . #3#)
                        (LETT #1# (|FORTRAN;codeFrom| |p| $) . #3#)
                        G190
                        (COND
                          ((OR (ATOM #1#)
                               (PROGN (LETT |l| (CAR #1#) . #3#) NIL))
                           #4=(GO G191)))
                        (SEQ (EXIT (LETT #0#
                                    (CONS (SPADCALL |l| (QREFELT $ 25))
                                     #0#) . #3#)))
                        (LETT #1# (CDR #1#) . #3#) #5=(GO G190) G191
                        (EXIT (NREVERSE0 #0#)))) . #3#)
           (LETT |intrinsics| (|getIntrinsicList|) . #3#)
           (SPADCALL (QREFELT $ 26))
           (|fortFormatHead| (SPADCALL (QREFELT $ 7) (QREFELT $ 29))
               (SPADCALL (QREFELT $ 6) (QREFELT $ 30))
               (SPADCALL (QREFELT $ 8) (QREFELT $ 32)))
           (SPADCALL (QREFELT $ 9) (QREFELT $ 33))
           (SPADCALL (QCAR |p|) (QREFELT $ 33))
           (SPADCALL |tempName| (QREFELT $ 34))
           (|fortFormatIntrinsics| |intrinsics|)
           (SPADCALL |tempName| (QREFELT $ 35))
           (SEQ (LETT |expr| NIL . #3#) (LETT #2# |body| . #3#) G190
                (COND
                  ((OR (ATOM #2#)
                       (PROGN (LETT |expr| (CAR #2#) . #3#) NIL))
                   #4#))
                (SEQ (EXIT (|displayLines1| |expr|)))
                (LETT #2# (CDR #2#) . #3#) #5# G191 (EXIT NIL))
           (|dispStatement| 'END) (EXIT (SPADCALL (QREFELT $ 36))))))) 

(DEFUN |FORTRAN;mkString| (|l| $)
  (SPADCALL (SPADCALL (SPADCALL |l| (QREFELT $ 32)) (QREFELT $ 39))
      (QREFELT $ 40))) 

(DEFUN |FORTRAN;checkVariables| (|user| |target| $)
  (PROG (|s1| |s2|)
    (RETURN
      (SEQ (COND
             ((NULL (SPADCALL
                        (SPADCALL (SPADCALL (ELT $ 41) |user|
                                      (QREFELT $ 43))
                                  |target| (QREFELT $ 44))
                        NIL (QREFELT $ 46)))
              (SEQ (LETT |s1| (|FORTRAN;mkString| |user| $)
                         . #0=(|FORTRAN;checkVariables|))
                   (LETT |s2| (|FORTRAN;mkString| |target| $) . #0#)
                   (EXIT (|error| (LIST "Incompatible variable lists:"
                                        (SPADCALL |s1| (QREFELT $ 47))
                                        (SPADCALL |s2| (QREFELT $ 47)))))))
             ('T (SPADCALL (QREFELT $ 36)))))))) 

(DEFUN |FORTRAN;coerce;E$;6| (|u| $)
  (PROG (|l|)
    (RETURN
      (SEQ (|FORTRAN;checkVariables| (SPADCALL |u| (QREFELT $ 49))
               (QREFELT $ 8) $)
           (LETT |l|
                 (LIST (SPADCALL (QREFELT $ 6) |u| (QREFELT $ 50))
                       (SPADCALL (QREFELT $ 51)))
                 |FORTRAN;coerce;E$;6|)
           (EXIT (|FORTRAN;makeRep| |l| $)))))) 

(DEFUN |FORTRAN;coerce;E$;7| (|u| $)
  (PROG (|vList| #0=#:G1868 #1=#:G1869 |veList| #2=#:G1870 #3=#:G1871
                 |aeList| #4=#:G1872 |v| #5=#:G1874 |w| #6=#:G1873
                 |eList|)
    (RETURN
      (SEQ (COND
             ((QEQCAR (SPADCALL (SPADCALL |u| (QREFELT $ 54))
                          (QREFELT $ 56))
                      1)
              (|error| "left hand side is not a kernel"))
             ('T
              (SEQ (LETT |vList|
                         (SPADCALL (SPADCALL |u| (QREFELT $ 54))
                             (QREFELT $ 49))
                         . #7=(|FORTRAN;coerce;E$;7|))
                   (COND
                     ((NULL (EQL (LENGTH |vList|)
                                 (LENGTH (QREFELT $ 8))))
                      (EXIT (|error| "Incorrect number of arguments"))))
                   (LETT |veList|
                         (PROGN
                           (LETT #0# NIL . #7#)
                           (SEQ (LETT |w| NIL . #7#)
                                (LETT #1# |vList| . #7#) G190
                                (COND
                                  ((OR (ATOM #1#)
                                    (PROGN
                                      (LETT |w| (CAR #1#) . #7#)
                                      NIL))
                                   #8=(GO G191)))
                                (SEQ (EXIT
                                      (LETT #0#
                                       (CONS
                                        (SPADCALL |w| (QREFELT $ 57))
                                        #0#) . #7#)))
                                (LETT #1# (CDR #1#) . #7#) #9=(GO G190)
                                G191 (EXIT (NREVERSE0 #0#)))) . #7#)
                   (LETT |aeList|
                         (PROGN
                           (LETT #2# NIL . #7#)
                           (SEQ (LETT |w| NIL . #7#)
                                (LETT #3# (QREFELT $ 8) . #7#) G190
                                (COND
                                  ((OR (ATOM #3#)
                                    (PROGN
                                      (LETT |w| (CAR #3#) . #7#)
                                      NIL))
                                   #8#))
                                (SEQ (EXIT
                                      (LETT #2#
                                       (CONS
                                        (SPADCALL |w| (QREFELT $ 57))
                                        #2#) . #7#)))
                                (LETT #3# (CDR #3#) . #7#) #9# G191
                                (EXIT (NREVERSE0 #2#)))) . #7#)
                   (LETT |eList|
                         (PROGN
                           (LETT #4# NIL . #7#)
                           (SEQ (LETT |v| NIL . #7#)
                                (LETT #5# |aeList| . #7#)
                                (LETT |w| NIL . #7#)
                                (LETT #6# |veList| . #7#) G190
                                (COND
                                  ((OR (ATOM #6#)
                                    (PROGN
                                      (LETT |w| (CAR #6#) . #7#)
                                      NIL)
                                    (ATOM #5#)
                                    (PROGN
                                      (LETT |v| (CAR #5#) . #7#)
                                      NIL))
                                   #8#))
                                (SEQ (EXIT
                                      (LETT #4#
                                       (CONS
                                        (SPADCALL |w| |v|
                                         (QREFELT $ 58))
                                        #4#) . #7#)))
                                (LETT #6#
                                      (PROG1 (CDR #6#)
                                        (LETT #5# (CDR #5#) . #7#)) . #7#)
                                #9# G191 (EXIT (NREVERSE0 #4#)))) . #7#)
                   (EXIT (SPADCALL
                             (SPADCALL (SPADCALL |u| (QREFELT $ 59))
                                       |eList| (QREFELT $ 61))
                             (QREFELT $ 52)))))))))) 

(DEFUN |FORTRAN;coerce;E$;8| (|u| $)
  (PROG (|l|)
    (RETURN
      (SEQ (|FORTRAN;checkVariables| (SPADCALL |u| (QREFELT $ 64))
               (QREFELT $ 8) $)
           (LETT |l|
                 (LIST (SPADCALL (QREFELT $ 6) |u| (QREFELT $ 65))
                       (SPADCALL (QREFELT $ 51)))
                 |FORTRAN;coerce;E$;8|)
           (EXIT (|FORTRAN;makeRep| |l| $)))))) 

(DEFUN |FORTRAN;coerce;E$;9| (|u| $)
  (PROG (|vList| #0=#:G1888 #1=#:G1889 |veList| #2=#:G1890 #3=#:G1891
                 |aeList| #4=#:G1892 |v| #5=#:G1894 |w| #6=#:G1893
                 |eList|)
    (RETURN
      (SEQ (COND
             ((QEQCAR (SPADCALL (SPADCALL |u| (QREFELT $ 68))
                          (QREFELT $ 69))
                      1)
              (|error| "left hand side is not a kernel"))
             ('T
              (SEQ (LETT |vList|
                         (SPADCALL (SPADCALL |u| (QREFELT $ 68))
                             (QREFELT $ 64))
                         . #7=(|FORTRAN;coerce;E$;9|))
                   (COND
                     ((NULL (EQL (LENGTH |vList|)
                                 (LENGTH (QREFELT $ 8))))
                      (EXIT (|error| "Incorrect number of arguments"))))
                   (LETT |veList|
                         (PROGN
                           (LETT #0# NIL . #7#)
                           (SEQ (LETT |w| NIL . #7#)
                                (LETT #1# |vList| . #7#) G190
                                (COND
                                  ((OR (ATOM #1#)
                                    (PROGN
                                      (LETT |w| (CAR #1#) . #7#)
                                      NIL))
                                   #8=(GO G191)))
                                (SEQ (EXIT
                                      (LETT #0#
                                       (CONS
                                        (SPADCALL |w| (QREFELT $ 70))
                                        #0#) . #7#)))
                                (LETT #1# (CDR #1#) . #7#) #9=(GO G190)
                                G191 (EXIT (NREVERSE0 #0#)))) . #7#)
                   (LETT |aeList|
                         (PROGN
                           (LETT #2# NIL . #7#)
                           (SEQ (LETT |w| NIL . #7#)
                                (LETT #3# (QREFELT $ 8) . #7#) G190
                                (COND
                                  ((OR (ATOM #3#)
                                    (PROGN
                                      (LETT |w| (CAR #3#) . #7#)
                                      NIL))
                                   #8#))
                                (SEQ (EXIT
                                      (LETT #2#
                                       (CONS
                                        (SPADCALL |w| (QREFELT $ 70))
                                        #2#) . #7#)))
                                (LETT #3# (CDR #3#) . #7#) #9# G191
                                (EXIT (NREVERSE0 #2#)))) . #7#)
                   (LETT |eList|
                         (PROGN
                           (LETT #4# NIL . #7#)
                           (SEQ (LETT |v| NIL . #7#)
                                (LETT #5# |aeList| . #7#)
                                (LETT |w| NIL . #7#)
                                (LETT #6# |veList| . #7#) G190
                                (COND
                                  ((OR (ATOM #6#)
                                    (PROGN
                                      (LETT |w| (CAR #6#) . #7#)
                                      NIL)
                                    (ATOM #5#)
                                    (PROGN
                                      (LETT |v| (CAR #5#) . #7#)
                                      NIL))
                                   #8#))
                                (SEQ (EXIT
                                      (LETT #4#
                                       (CONS
                                        (SPADCALL |w| |v|
                                         (QREFELT $ 71))
                                        #4#) . #7#)))
                                (LETT #6#
                                      (PROG1 (CDR #6#)
                                        (LETT #5# (CDR #5#) . #7#)) . #7#)
                                #9# G191 (EXIT (NREVERSE0 #4#)))) . #7#)
                   (EXIT (SPADCALL
                             (SPADCALL (SPADCALL |u| (QREFELT $ 72))
                                       |eList| (QREFELT $ 73))
                             (QREFELT $ 66)))))))))) 

(DEFUN |FORTRAN;coerce;E$;10| (|u| $)
  (PROG (|l|)
    (RETURN
      (SEQ (|FORTRAN;checkVariables| (SPADCALL |u| (QREFELT $ 76))
               (QREFELT $ 8) $)
           (LETT |l|
                 (LIST (SPADCALL (QREFELT $ 6) |u| (QREFELT $ 77))
                       (SPADCALL (QREFELT $ 51)))
                 |FORTRAN;coerce;E$;10|)
           (EXIT (|FORTRAN;makeRep| |l| $)))))) 

(DEFUN |FORTRAN;coerce;E$;11| (|u| $)
  (PROG (|vList| #0=#:G1908 #1=#:G1909 |veList| #2=#:G1910 #3=#:G1911
                 |aeList| #4=#:G1912 |v| #5=#:G1914 |w| #6=#:G1913
                 |eList|)
    (RETURN
      (SEQ (COND
             ((QEQCAR (SPADCALL (SPADCALL |u| (QREFELT $ 80))
                          (QREFELT $ 81))
                      1)
              (|error| "left hand side is not a kernel"))
             ('T
              (SEQ (LETT |vList|
                         (SPADCALL (SPADCALL |u| (QREFELT $ 80))
                             (QREFELT $ 76))
                         . #7=(|FORTRAN;coerce;E$;11|))
                   (COND
                     ((NULL (EQL (LENGTH |vList|)
                                 (LENGTH (QREFELT $ 8))))
                      (EXIT (|error| "Incorrect number of arguments"))))
                   (LETT |veList|
                         (PROGN
                           (LETT #0# NIL . #7#)
                           (SEQ (LETT |w| NIL . #7#)
                                (LETT #1# |vList| . #7#) G190
                                (COND
                                  ((OR (ATOM #1#)
                                    (PROGN
                                      (LETT |w| (CAR #1#) . #7#)
                                      NIL))
                                   #8=(GO G191)))
                                (SEQ (EXIT
                                      (LETT #0#
                                       (CONS
                                        (SPADCALL |w| (QREFELT $ 82))
                                        #0#) . #7#)))
                                (LETT #1# (CDR #1#) . #7#) #9=(GO G190)
                                G191 (EXIT (NREVERSE0 #0#)))) . #7#)
                   (LETT |aeList|
                         (PROGN
                           (LETT #2# NIL . #7#)
                           (SEQ (LETT |w| NIL . #7#)
                                (LETT #3# (QREFELT $ 8) . #7#) G190
                                (COND
                                  ((OR (ATOM #3#)
                                    (PROGN
                                      (LETT |w| (CAR #3#) . #7#)
                                      NIL))
                                   #8#))
                                (SEQ (EXIT
                                      (LETT #2#
                                       (CONS
                                        (SPADCALL |w| (QREFELT $ 82))
                                        #2#) . #7#)))
                                (LETT #3# (CDR #3#) . #7#) #9# G191
                                (EXIT (NREVERSE0 #2#)))) . #7#)
                   (LETT |eList|
                         (PROGN
                           (LETT #4# NIL . #7#)
                           (SEQ (LETT |v| NIL . #7#)
                                (LETT #5# |aeList| . #7#)
                                (LETT |w| NIL . #7#)
                                (LETT #6# |veList| . #7#) G190
                                (COND
                                  ((OR (ATOM #6#)
                                    (PROGN
                                      (LETT |w| (CAR #6#) . #7#)
                                      NIL)
                                    (ATOM #5#)
                                    (PROGN
                                      (LETT |v| (CAR #5#) . #7#)
                                      NIL))
                                   #8#))
                                (SEQ (EXIT
                                      (LETT #4#
                                       (CONS
                                        (SPADCALL |w| |v|
                                         (QREFELT $ 83))
                                        #4#) . #7#)))
                                (LETT #6#
                                      (PROG1 (CDR #6#)
                                        (LETT #5# (CDR #5#) . #7#)) . #7#)
                                #9# G191 (EXIT (NREVERSE0 #4#)))) . #7#)
                   (EXIT (SPADCALL
                             (SPADCALL (SPADCALL |u| (QREFELT $ 84))
                                       |eList| (QREFELT $ 85))
                             (QREFELT $ 78)))))))))) 

(PUT '|FORTRAN;coerce;R$;12| '|SPADreplace| '(XLAM (|u|) |u|)) 

(DEFUN |FORTRAN;coerce;R$;12| (|u| $) |u|) 

(DEFUN |FORTRAN;coerce;$Of;13| (|u| $)
  (SPADCALL (QREFELT $ 6) (QREFELT $ 30))) 

(DEFUN |FORTRAN;coerce;L$;14| (|c| $) (|FORTRAN;makeRep| |c| $)) 

(DEFUN |FORTRAN;coerce;Fc$;15| (|c| $)
  (|FORTRAN;makeRep| (LIST |c|) $)) 

(DEFUN |FORTRAN;coerce;E$;16| (|u| $)
  (PROG (|l|)
    (RETURN
      (SEQ (|FORTRAN;checkVariables| (SPADCALL |u| (QREFELT $ 94))
               (QREFELT $ 8) $)
           (LETT |l|
                 (LIST (SPADCALL (QREFELT $ 6) |u| (QREFELT $ 95))
                       (SPADCALL (QREFELT $ 51)))
                 |FORTRAN;coerce;E$;16|)
           (EXIT (|FORTRAN;makeRep| |l| $)))))) 

(DEFUN |FORTRAN;coerce;E$;17| (|u| $)
  (PROG (|vList| #0=#:G1934 #1=#:G1935 |veList| #2=#:G1936 #3=#:G1937
                 |aeList| #4=#:G1938 |v| #5=#:G1940 |w| #6=#:G1939
                 |eList|)
    (RETURN
      (SEQ (COND
             ((QEQCAR (SPADCALL (SPADCALL |u| (QREFELT $ 98))
                          (QREFELT $ 99))
                      1)
              (|error| "left hand side is not a kernel"))
             ('T
              (SEQ (LETT |vList|
                         (SPADCALL (SPADCALL |u| (QREFELT $ 98))
                             (QREFELT $ 94))
                         . #7=(|FORTRAN;coerce;E$;17|))
                   (COND
                     ((NULL (EQL (LENGTH |vList|)
                                 (LENGTH (QREFELT $ 8))))
                      (EXIT (|error| "Incorrect number of arguments"))))
                   (LETT |veList|
                         (PROGN
                           (LETT #0# NIL . #7#)
                           (SEQ (LETT |w| NIL . #7#)
                                (LETT #1# |vList| . #7#) G190
                                (COND
                                  ((OR (ATOM #1#)
                                    (PROGN
                                      (LETT |w| (CAR #1#) . #7#)
                                      NIL))
                                   #8=(GO G191)))
                                (SEQ (EXIT
                                      (LETT #0#
                                       (CONS
                                        (SPADCALL |w| (QREFELT $ 100))
                                        #0#) . #7#)))
                                (LETT #1# (CDR #1#) . #7#) #9=(GO G190)
                                G191 (EXIT (NREVERSE0 #0#)))) . #7#)
                   (LETT |aeList|
                         (PROGN
                           (LETT #2# NIL . #7#)
                           (SEQ (LETT |w| NIL . #7#)
                                (LETT #3# (QREFELT $ 8) . #7#) G190
                                (COND
                                  ((OR (ATOM #3#)
                                    (PROGN
                                      (LETT |w| (CAR #3#) . #7#)
                                      NIL))
                                   #8#))
                                (SEQ (EXIT
                                      (LETT #2#
                                       (CONS
                                        (SPADCALL |w| (QREFELT $ 100))
                                        #2#) . #7#)))
                                (LETT #3# (CDR #3#) . #7#) #9# G191
                                (EXIT (NREVERSE0 #2#)))) . #7#)
                   (LETT |eList|
                         (PROGN
                           (LETT #4# NIL . #7#)
                           (SEQ (LETT |v| NIL . #7#)
                                (LETT #5# |aeList| . #7#)
                                (LETT |w| NIL . #7#)
                                (LETT #6# |veList| . #7#) G190
                                (COND
                                  ((OR (ATOM #6#)
                                    (PROGN
                                      (LETT |w| (CAR #6#) . #7#)
                                      NIL)
                                    (ATOM #5#)
                                    (PROGN
                                      (LETT |v| (CAR #5#) . #7#)
                                      NIL))
                                   #8#))
                                (SEQ (EXIT
                                      (LETT #4#
                                       (CONS
                                        (SPADCALL |w| |v|
                                         (QREFELT $ 101))
                                        #4#) . #7#)))
                                (LETT #6#
                                      (PROG1 (CDR #6#)
                                        (LETT #5# (CDR #5#) . #7#)) . #7#)
                                #9# G191 (EXIT (NREVERSE0 #4#)))) . #7#)
                   (EXIT (SPADCALL
                             (SPADCALL (SPADCALL |u| (QREFELT $ 102))
                                 |eList| (QREFELT $ 103))
                             (QREFELT $ 96)))))))))) 

(DEFUN |FORTRAN;coerce;E$;18| (|u| $)
  (PROG (|l|)
    (RETURN
      (SEQ (|FORTRAN;checkVariables| (SPADCALL |u| (QREFELT $ 106))
               (QREFELT $ 8) $)
           (LETT |l|
                 (LIST (SPADCALL (QREFELT $ 6) |u| (QREFELT $ 107))
                       (SPADCALL (QREFELT $ 51)))
                 |FORTRAN;coerce;E$;18|)
           (EXIT (|FORTRAN;makeRep| |l| $)))))) 

(DEFUN |FORTRAN;coerce;E$;19| (|u| $)
  (PROG (|vList| #0=#:G1954 #1=#:G1955 |veList| #2=#:G1956 #3=#:G1957
                 |aeList| #4=#:G1958 |v| #5=#:G1960 |w| #6=#:G1959
                 |eList|)
    (RETURN
      (SEQ (COND
             ((QEQCAR (SPADCALL (SPADCALL |u| (QREFELT $ 110))
                          (QREFELT $ 111))
                      1)
              (|error| "left hand side is not a kernel"))
             ('T
              (SEQ (LETT |vList|
                         (SPADCALL (SPADCALL |u| (QREFELT $ 110))
                             (QREFELT $ 106))
                         . #7=(|FORTRAN;coerce;E$;19|))
                   (COND
                     ((NULL (EQL (LENGTH |vList|)
                                 (LENGTH (QREFELT $ 8))))
                      (EXIT (|error| "Incorrect number of arguments"))))
                   (LETT |veList|
                         (PROGN
                           (LETT #0# NIL . #7#)
                           (SEQ (LETT |w| NIL . #7#)
                                (LETT #1# |vList| . #7#) G190
                                (COND
                                  ((OR (ATOM #1#)
                                    (PROGN
                                      (LETT |w| (CAR #1#) . #7#)
                                      NIL))
                                   #8=(GO G191)))
                                (SEQ (EXIT
                                      (LETT #0#
                                       (CONS
                                        (SPADCALL |w| (QREFELT $ 112))
                                        #0#) . #7#)))
                                (LETT #1# (CDR #1#) . #7#) #9=(GO G190)
                                G191 (EXIT (NREVERSE0 #0#)))) . #7#)
                   (LETT |aeList|
                         (PROGN
                           (LETT #2# NIL . #7#)
                           (SEQ (LETT |w| NIL . #7#)
                                (LETT #3# (QREFELT $ 8) . #7#) G190
                                (COND
                                  ((OR (ATOM #3#)
                                    (PROGN
                                      (LETT |w| (CAR #3#) . #7#)
                                      NIL))
                                   #8#))
                                (SEQ (EXIT
                                      (LETT #2#
                                       (CONS
                                        (SPADCALL |w| (QREFELT $ 112))
                                        #2#) . #7#)))
                                (LETT #3# (CDR #3#) . #7#) #9# G191
                                (EXIT (NREVERSE0 #2#)))) . #7#)
                   (LETT |eList|
                         (PROGN
                           (LETT #4# NIL . #7#)
                           (SEQ (LETT |v| NIL . #7#)
                                (LETT #5# |aeList| . #7#)
                                (LETT |w| NIL . #7#)
                                (LETT #6# |veList| . #7#) G190
                                (COND
                                  ((OR (ATOM #6#)
                                    (PROGN
                                      (LETT |w| (CAR #6#) . #7#)
                                      NIL)
                                    (ATOM #5#)
                                    (PROGN
                                      (LETT |v| (CAR #5#) . #7#)
                                      NIL))
                                   #8#))
                                (SEQ (EXIT
                                      (LETT #4#
                                       (CONS
                                        (SPADCALL |w| |v|
                                         (QREFELT $ 113))
                                        #4#) . #7#)))
                                (LETT #6#
                                      (PROG1 (CDR #6#)
                                        (LETT #5# (CDR #5#) . #7#)) . #7#)
                                #9# G191 (EXIT (NREVERSE0 #4#)))) . #7#)
                   (EXIT (SPADCALL
                             (SPADCALL (SPADCALL |u| (QREFELT $ 114))
                                 |eList| (QREFELT $ 115))
                             (QREFELT $ 108)))))))))) 

(DEFUN |FORTRAN;coerce;E$;20| (|u| $)
  (PROG (|l|)
    (RETURN
      (SEQ (|FORTRAN;checkVariables| (SPADCALL |u| (QREFELT $ 118))
               (QREFELT $ 8) $)
           (LETT |l|
                 (LIST (SPADCALL (QREFELT $ 6) |u| (QREFELT $ 119))
                       (SPADCALL (QREFELT $ 51)))
                 |FORTRAN;coerce;E$;20|)
           (EXIT (|FORTRAN;makeRep| |l| $)))))) 

(DEFUN |FORTRAN;coerce;E$;21| (|u| $)
  (PROG (|vList| #0=#:G1974 #1=#:G1975 |veList| #2=#:G1976 #3=#:G1977
                 |aeList| #4=#:G1978 |v| #5=#:G1980 |w| #6=#:G1979
                 |eList|)
    (RETURN
      (SEQ (COND
             ((QEQCAR (SPADCALL (SPADCALL |u| (QREFELT $ 122))
                          (QREFELT $ 123))
                      1)
              (|error| "left hand side is not a kernel"))
             ('T
              (SEQ (LETT |vList|
                         (SPADCALL (SPADCALL |u| (QREFELT $ 122))
                             (QREFELT $ 118))
                         . #7=(|FORTRAN;coerce;E$;21|))
                   (COND
                     ((NULL (EQL (LENGTH |vList|)
                                 (LENGTH (QREFELT $ 8))))
                      (EXIT (|error| "Incorrect number of arguments"))))
                   (LETT |veList|
                         (PROGN
                           (LETT #0# NIL . #7#)
                           (SEQ (LETT |w| NIL . #7#)
                                (LETT #1# |vList| . #7#) G190
                                (COND
                                  ((OR (ATOM #1#)
                                    (PROGN
                                      (LETT |w| (CAR #1#) . #7#)
                                      NIL))
                                   #8=(GO G191)))
                                (SEQ (EXIT
                                      (LETT #0#
                                       (CONS
                                        (SPADCALL |w| (QREFELT $ 124))
                                        #0#) . #7#)))
                                (LETT #1# (CDR #1#) . #7#) #9=(GO G190)
                                G191 (EXIT (NREVERSE0 #0#)))) . #7#)
                   (LETT |aeList|
                         (PROGN
                           (LETT #2# NIL . #7#)
                           (SEQ (LETT |w| NIL . #7#)
                                (LETT #3# (QREFELT $ 8) . #7#) G190
                                (COND
                                  ((OR (ATOM #3#)
                                    (PROGN
                                      (LETT |w| (CAR #3#) . #7#)
                                      NIL))
                                   #8#))
                                (SEQ (EXIT
                                      (LETT #2#
                                       (CONS
                                        (SPADCALL |w| (QREFELT $ 124))
                                        #2#) . #7#)))
                                (LETT #3# (CDR #3#) . #7#) #9# G191
                                (EXIT (NREVERSE0 #2#)))) . #7#)
                   (LETT |eList|
                         (PROGN
                           (LETT #4# NIL . #7#)
                           (SEQ (LETT |v| NIL . #7#)
                                (LETT #5# |aeList| . #7#)
                                (LETT |w| NIL . #7#)
                                (LETT #6# |veList| . #7#) G190
                                (COND
                                  ((OR (ATOM #6#)
                                    (PROGN
                                      (LETT |w| (CAR #6#) . #7#)
                                      NIL)
                                    (ATOM #5#)
                                    (PROGN
                                      (LETT |v| (CAR #5#) . #7#)
                                      NIL))
                                   #8#))
                                (SEQ (EXIT
                                      (LETT #4#
                                       (CONS
                                        (SPADCALL |w| |v|
                                         (QREFELT $ 125))
                                        #4#) . #7#)))
                                (LETT #6#
                                      (PROG1 (CDR #6#)
                                        (LETT #5# (CDR #5#) . #7#)) . #7#)
                                #9# G191 (EXIT (NREVERSE0 #4#)))) . #7#)
                   (EXIT (SPADCALL
                             (SPADCALL (SPADCALL |u| (QREFELT $ 126))
                                 |eList| (QREFELT $ 127))
                             (QREFELT $ 120)))))))))) 

(DEFUN |FortranProgram| (&REST #0=#:G1981)
  (PROG ()
    (RETURN
      (PROG (#1=#:G1982)
        (RETURN
          (COND
            ((LETT #1#
                   (|lassocShiftWithFunction| (|devaluateList| #0#)
                       (HGET |$ConstructorCache| '|FortranProgram|)
                       '|domainEqualList|)
                   . #2=(|FortranProgram|))
             (|CDRwithIncrement| #1#))
            ('T
             (UNWIND-PROTECT
               (PROG1 (APPLY (|function| |FortranProgram;|) #0#)
                 (LETT #1# T . #2#))
               (COND
                 ((NOT #1#)
                  (HREM |$ConstructorCache| '|FortranProgram|))))))))))) 

(DEFUN |FortranProgram;| (|#1| |#2| |#3| |#4|)
  (PROG (DV$1 DV$2 DV$3 DV$4 |dv$| $ |pv$|)
    (RETURN
      (PROGN
        (LETT DV$1 (|devaluate| |#1|) . #0=(|FortranProgram|))
        (LETT DV$2 (|devaluate| |#2|) . #0#)
        (LETT DV$3 (|devaluate| |#3|) . #0#)
        (LETT DV$4 (|devaluate| |#4|) . #0#)
        (LETT |dv$| (LIST '|FortranProgram| DV$1 DV$2 DV$3 DV$4) . #0#)
        (LETT $ (GETREFV 129) . #0#)
        (QSETREFV $ 0 |dv$|)
        (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #0#))
        (|haddProp| |$ConstructorCache| '|FortranProgram|
            (LIST DV$1 DV$2 DV$3 DV$4) (CONS 1 $))
        (|stuffDomainSlots| $)
        (QSETREFV $ 6 |#1|)
        (QSETREFV $ 7 |#2|)
        (QSETREFV $ 8 |#3|)
        (QSETREFV $ 9 |#4|)
        (QSETREFV $ 10
            (|Record| (|:| |localSymbols| (|SymbolTable|))
                (|:| |code| (|List| (|FortranCode|)))))
        $)))) 

(MAKEPROP '|FortranProgram| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|)
             (|local| |#3|) (|local| |#4|) '|Rep| (|SymbolTable|)
             (0 . |empty|) (|Integer|) (|SingleInteger|) (4 . |coerce|)
             (|FortranCode|) (9 . |setLabelValue|) (|String|)
             (|Symbol|) (14 . |coerce|) (|Void|) (|TheSymbolTable|)
             (19 . |newSubProgram|) (|SExpression|) (24 . |getCode|)
             (29 . |endSubProgram|) (|OutputForm|)
             (|Union| (|:| |fst| (|FortranScalarType|))
                      (|:| |void| '"void"))
             (33 . |coerce|) (38 . |coerce|) (|List| 19)
             (43 . |coerce|) (48 . |printTypes|) (53 . |printTypes|)
             (58 . |clearTheSymbolTable|) (63 . |void|)
             |FORTRAN;outputAsFortran;$V;3| (|InputForm|)
             (67 . |convert|) (72 . |unparse|) (77 . |name|)
             (|Mapping| 19 19) (82 . |map|) (88 . |setDifference|)
             (|Boolean|) (94 . =) (100 . |coerce|)
             (|Expression| (|MachineInteger|)) (105 . |variables|)
             (110 . |assign|) (116 . |returns|) |FORTRAN;coerce;E$;6|
             (|Equation| 48) (120 . |lhs|)
             (|Union| (|Kernel| $) '"failed") (125 . |retractIfCan|)
             (130 . |coerce|) (135 . |equation|) (141 . |rhs|)
             (|List| (|Equation| $)) (146 . |subst|)
             |FORTRAN;coerce;E$;7| (|Expression| (|MachineFloat|))
             (152 . |variables|) (157 . |assign|) |FORTRAN;coerce;E$;8|
             (|Equation| 63) (163 . |lhs|) (168 . |retractIfCan|)
             (173 . |coerce|) (178 . |equation|) (184 . |rhs|)
             (189 . |subst|) |FORTRAN;coerce;E$;9|
             (|Expression| (|MachineComplex|)) (195 . |variables|)
             (200 . |assign|) |FORTRAN;coerce;E$;10| (|Equation| 75)
             (206 . |lhs|) (211 . |retractIfCan|) (216 . |coerce|)
             (221 . |equation|) (227 . |rhs|) (232 . |subst|)
             |FORTRAN;coerce;E$;11|
             (|Record| (|:| |localSymbols| 11) (|:| |code| 90))
             |FORTRAN;coerce;R$;12| |FORTRAN;coerce;$Of;13| (|List| 16)
             |FORTRAN;coerce;L$;14| |FORTRAN;coerce;Fc$;15|
             (|Expression| 13) (238 . |variables|) (243 . |assign|)
             |FORTRAN;coerce;E$;16| (|Equation| 93) (249 . |lhs|)
             (254 . |retractIfCan|) (259 . |coerce|) (264 . |equation|)
             (270 . |rhs|) (275 . |subst|) |FORTRAN;coerce;E$;17|
             (|Expression| (|Float|)) (281 . |variables|)
             (286 . |assign|) |FORTRAN;coerce;E$;18| (|Equation| 105)
             (292 . |lhs|) (297 . |retractIfCan|) (302 . |coerce|)
             (307 . |equation|) (313 . |rhs|) (318 . |subst|)
             |FORTRAN;coerce;E$;19|
             (|Expression| (|Complex| (|Float|))) (324 . |variables|)
             (329 . |assign|) |FORTRAN;coerce;E$;20| (|Equation| 117)
             (335 . |lhs|) (340 . |retractIfCan|) (345 . |coerce|)
             (350 . |equation|) (356 . |rhs|) (361 . |subst|)
             |FORTRAN;coerce;E$;21|)
          '#(|outputAsFortran| 367 |coerce| 372) 'NIL
          (CONS (|makeByteWordVec2| 1 '(0 0 0))
                (CONS '#(NIL NIL NIL)
                      (CONS '#((|FortranProgramCategory|) (|Type|)
                               (|CoercibleTo| 27))
                            (|makeByteWordVec2| 128
                                '(0 11 0 12 1 14 0 13 15 1 16 14 14 17
                                  1 19 0 18 20 1 22 21 19 23 1 16 24 0
                                  25 0 22 19 26 1 28 27 0 29 1 19 27 0
                                  30 1 31 27 0 32 1 11 21 0 33 1 22 21
                                  19 34 1 22 21 19 35 0 21 0 36 1 38 0
                                  27 39 1 38 18 0 40 1 19 0 0 41 2 31 0
                                  42 0 43 2 31 0 0 0 44 2 31 45 0 0 46
                                  1 18 27 0 47 1 48 31 0 49 2 16 0 19
                                  48 50 0 16 0 51 1 53 48 0 54 1 48 55
                                  0 56 1 48 0 19 57 2 53 0 48 48 58 1
                                  53 48 0 59 2 48 0 0 60 61 1 63 31 0
                                  64 2 16 0 19 63 65 1 67 63 0 68 1 63
                                  55 0 69 1 63 0 19 70 2 67 0 63 63 71
                                  1 67 63 0 72 2 63 0 0 60 73 1 75 31 0
                                  76 2 16 0 19 75 77 1 79 75 0 80 1 75
                                  55 0 81 1 75 0 19 82 2 79 0 75 75 83
                                  1 79 75 0 84 2 75 0 0 60 85 1 93 31 0
                                  94 2 16 0 19 93 95 1 97 93 0 98 1 93
                                  55 0 99 1 93 0 19 100 2 97 0 93 93
                                  101 1 97 93 0 102 2 93 0 0 60 103 1
                                  105 31 0 106 2 16 0 19 105 107 1 109
                                  105 0 110 1 105 55 0 111 1 105 0 19
                                  112 2 109 0 105 105 113 1 109 105 0
                                  114 2 105 0 0 60 115 1 117 31 0 118 2
                                  16 0 19 117 119 1 121 117 0 122 1 117
                                  55 0 123 1 117 0 19 124 2 121 0 117
                                  117 125 1 121 117 0 126 2 117 0 0 60
                                  127 1 0 21 0 37 1 0 0 109 116 1 0 0
                                  121 128 1 0 0 117 120 1 0 0 97 104 1
                                  0 0 93 96 1 0 0 105 108 1 0 0 67 74 1
                                  0 0 79 86 1 0 0 75 78 1 0 0 53 62 1 0
                                  0 48 52 1 0 0 63 66 1 0 0 90 91 1 0 0
                                  87 88 1 0 0 16 92 1 0 27 0 89)))))
          '|lookupComplete|)) 
