
(/VERSIONCHECK 2) 

(DEFUN |ODERAT;infOrder| (|f| $)
  (- (SPADCALL (SPADCALL |f| (QREFELT $ 12)) (QREFELT $ 14))
     (SPADCALL (SPADCALL |f| (QREFELT $ 15)) (QREFELT $ 14)))) 

(DEFUN |ODERAT;evenodd| (|n| $)
  (COND
    ((SPADCALL |n| (QREFELT $ 18)) (|spadConstant| $ 19))
    ('T (SPADCALL (|spadConstant| $ 19) (QREFELT $ 21))))) 

(DEFUN |ODERAT;ratDsolve1| (|op| |lg| $)
  (PROG (|d| |rec| #0=#:G1848 |q| #1=#:G1849 #2=#:G1850 |i| #3=#:G1851
             |l| |sys1|)
    (RETURN
      (SEQ (LETT |d| (SPADCALL |op| |lg| (QREFELT $ 25))
                 . #4=(|ODERAT;ratDsolve1|))
           (LETT |rec| (|ODERAT;candidates| |op| |lg| |d| $) . #4#)
           (LETT |l|
                 (SPADCALL
                     (PROGN
                       (LETT #0# NIL . #4#)
                       (SEQ (LETT |q| NIL . #4#)
                            (LETT #1# (QCAR |rec|) . #4#) G190
                            (COND
                              ((OR (ATOM #1#)
                                   (PROGN
                                     (LETT |q| (CAR #1#) . #4#)
                                     NIL))
                               #5=(GO G191)))
                            (SEQ (EXIT (LETT #0#
                                        (CONS
                                         (SPADCALL |op| |q|
                                          (QREFELT $ 26))
                                         #0#) . #4#)))
                            (LETT #1# (CDR #1#) . #4#) #6=(GO G190)
                            G191 (EXIT (NREVERSE0 #0#))))
                     (PROGN
                       (LETT #2# NIL . #4#)
                       (SEQ (LETT |i| 1 . #4#)
                            (LETT #3# (LENGTH (QCDR |rec|)) . #4#) G190
                            (COND ((QSGREATERP |i| #3#) #5#))
                            (SEQ (EXIT (LETT #2#
                                        (CONS
                                         (SPADCALL
                                          (SPADCALL |op|
                                           (SPADCALL (QCDR |rec|) |i|
                                            (QREFELT $ 27))
                                           (QREFELT $ 26))
                                          (SPADCALL |lg| |i|
                                           (QREFELT $ 27))
                                          (QREFELT $ 28))
                                         #2#) . #4#)))
                            (LETT |i| (QSADD1 |i|) . #4#) #6# G191
                            (EXIT (NREVERSE0 #2#))))
                     (QREFELT $ 29)) . #4#)
           (LETT |sys1|
                 (SPADCALL (SPADCALL (LIST |l|) (QREFELT $ 32))
                     (QREFELT $ 35)) . #4#)
           (EXIT (CONS (QCAR |rec|) (SPADCALL |sys1| (QREFELT $ 37)))))))) 

(DEFUN |ODERAT;ratDsolve0| (|op| |g| $)
  (PROG (|f| #0=#:G1901 |uu| |b| #1=#:G1854 |u| |rec| |q| #2=#:G1902
             |opq| |lsol| |l| |lb| |h| |sys1| |sys2| |m| |sol|
             #3=#:G1890 |part| #4=#:G1903 |v| #5=#:G1904)
    (RETURN
      (SEQ (COND
             ((ZEROP (SPADCALL |op| (QREFELT $ 38)))
              (CONS (CONS 0
                          (SPADCALL
                              (SPADCALL
                                  (SPADCALL
                                      (SPADCALL |op| (QREFELT $ 39))
                                      (QREFELT $ 40))
                                  (QREFELT $ 41))
                              |g| (QREFELT $ 42)))
                    NIL))
             ((< 0 (SPADCALL |op| (QREFELT $ 49)))
              (SEQ (LETT |sol|
                         (|ODERAT;ratDsolve0|
                             (QCAR (SPADCALL |op|
                                    (SPADCALL (|spadConstant| $ 20) 1
                                     (QREFELT $ 50))
                                    (QREFELT $ 52)))
                             |g| $)
                         . #6=(|ODERAT;ratDsolve0|))
                   (LETT |b| (LIST (|spadConstant| $ 53)) . #6#)
                   (SEQ (LETT |f| NIL . #6#)
                        (LETT #0# (QCDR |sol|) . #6#) G190
                        (COND
                          ((OR (ATOM #0#)
                               (PROGN (LETT |f| (CAR #0#) . #6#) NIL))
                           #7=(GO G191)))
                        (SEQ (LETT |uu|
                                   (SPADCALL |f| (QREFELT $ 56)) . #6#)
                             (EXIT (COND
                                     ((QEQCAR |uu| 0)
                                      (LETT |b|
                                       (CONS (QCDR |uu|) |b|) . #6#)))))
                        (LETT #0# (CDR #0#) . #6#) #8=(GO G190) G191
                        (EXIT NIL))
                   (EXIT (COND
                           ((QEQCAR (QCAR |sol|) 1)
                            (CONS (CONS 1 "failed") |b|))
                           ('T
                            (CONS (SPADCALL
                                      (PROG2
                                       (LETT #1# (QCAR |sol|) . #6#)
                                       (QCDR #1#)
                                        (|check-union| (QEQCAR #1# 0)
                                         (|Fraction| (QREFELT $ 7))
                                         #1#))
                                      (QREFELT $ 56))
                                  |b|))))))
             ('T
              (SEQ (LETT |u| (SPADCALL |op| |g| (QREFELT $ 58)) . #6#)
                   (EXIT (COND
                           ((QEQCAR |u| 1)
                            (CONS (CONS 1 "failed") NIL))
                           ('T
                            (SEQ (LETT |rec|
                                       (|ODERAT;candidates| |op|
                                        (LIST |g|) (QCDR |u|) $) . #6#)
                                 (LETT |l|
                                       (LETT |lb|
                                        (LETT |lsol| NIL . #6#) . #6#) . #6#)
                                 (SEQ (LETT |q| NIL . #6#)
                                      (LETT #2# (QCAR |rec|) . #6#)
                                      G190
                                      (COND
                                        ((OR (ATOM #2#)
                                          (PROGN
                                            (LETT |q| (CAR #2#) . #6#)
                                            NIL))
                                         #7#))
                                      (SEQ
                                       (EXIT
                                        (COND
                                          ((SPADCALL
                                            (LETT |opq|
                                             (SPADCALL |op| |q|
                                              (QREFELT $ 26)) . #6#)
                                            (QREFELT $ 59))
                                           (LETT |lsol|
                                            (CONS |q| |lsol|) . #6#))
                                          ('T
                                           (SEQ
                                            (LETT |l|
                                             (CONS |opq| |l|) . #6#)
                                            (EXIT
                                             (LETT |lb|
                                              (CONS |q| |lb|) . #6#)))))))
                                      (LETT #2# (CDR #2#) . #6#) #8#
                                      G191 (EXIT NIL))
                                 (LETT |h|
                                       (COND
                                         ((SPADCALL |g| (QREFELT $ 59))
                                          (|spadConstant| $ 46))
                                         ('T
                                          (|SPADfirst| (QCDR |rec|)))) . #6#)
                                 (EXIT (COND
                                         ((NULL |l|)
                                          (COND
                                            ((SPADCALL |g|
                                              (QREFELT $ 59))
                                             (CONS
                                              (CONS 0
                                               (|spadConstant| $ 46))
                                              |lsol|))
                                            ('T
                                             (CONS
                                              (COND
                                                ((SPADCALL |g|
                                                  (SPADCALL |op| |h|
                                                   (QREFELT $ 26))
                                                  (QREFELT $ 60))
                                                 (CONS 0 |h|))
                                                ('T (CONS 1 "failed")))
                                              |lsol|))))
                                         ('T
                                          (SEQ
                                           (COND
                                             ((SPADCALL |g|
                                               (QREFELT $ 59))
                                              (SEQ
                                               (LETT |m|
                                                (SPADCALL
                                                 (SPADCALL
                                                  (SPADCALL (LIST |l|)
                                                   (QREFELT $ 32))
                                                  (QREFELT $ 35))
                                                 (QREFELT $ 37)) . #6#)
                                               (EXIT
                                                (LETT |v|
                                                 (SPADCALL
                                                  (SPADCALL |m|
                                                   (QREFELT $ 61))
                                                  (|spadConstant| $ 43)
                                                  (QREFELT $ 63)) . #6#))))
                                             ('T
                                              (SEQ
                                               (LETT |sys1|
                                                (SPADCALL
                                                 (SPADCALL (LIST |l|)
                                                  (QREFELT $ 32))
                                                 (SPADCALL
                                                  (LIST
                                                   (SPADCALL |g|
                                                    (SPADCALL |op| |h|
                                                     (QREFELT $ 26))
                                                    (QREFELT $ 28)))
                                                  (QREFELT $ 65))
                                                 (QREFELT $ 68)) . #6#)
                                               (LETT |sys2|
                                                (SPADCALL (QCAR |sys1|)
                                                 (QCDR |sys1|)
                                                 (QREFELT $ 70)) . #6#)
                                               (LETT |m|
                                                (QCAR |sys2|) . #6#)
                                               (EXIT
                                                (LETT |v|
                                                 (QCDR |sys2|) . #6#)))))
                                           (LETT |sol|
                                            (SPADCALL |m| |v|
                                             (QREFELT $ 74)) . #6#)
                                           (LETT |part|
                                            (COND
                                              ((SPADCALL |g|
                                                (QREFELT $ 59))
                                               (CONS 0
                                                (|spadConstant| $ 46)))
                                              ((QEQCAR (QCAR |sol|) 1)
                                               (CONS 1 "failed"))
                                              ('T
                                               (CONS 0
                                                (SPADCALL
                                                 (|ODERAT;makeDot|
                                                  (PROG2
                                                   (LETT #3#
                                                    (QCAR |sol|) . #6#)
                                                   (QCDR #3#)
                                                    (|check-union|
                                                     (QEQCAR #3# 0)
                                                     (|Vector|
                                                      (QREFELT $ 6))
                                                     #3#))
                                                  |lb| $)
                                                 (|SPADfirst|
                                                  (QCDR |rec|))
                                                 (QREFELT $ 75))))) . #6#)
                                           (EXIT
                                            (CONS |part|
                                             (SPADCALL |lsol|
                                              (PROGN
                                                (LETT #4# NIL . #6#)
                                                (SEQ
                                                 (LETT |v| NIL . #6#)
                                                 (LETT #5#
                                                  (QCDR |sol|) . #6#)
                                                 G190
                                                 (COND
                                                   ((OR (ATOM #5#)
                                                     (PROGN
                                                       (LETT |v|
                                                        (CAR #5#) . #6#)
                                                       NIL))
                                                    #7#))
                                                 (SEQ
                                                  (EXIT
                                                   (COND
                                                     ((|ODERAT;nzero?|
                                                       |v| $)
                                                      (LETT #4#
                                                       (CONS
                                                        (|ODERAT;makeDot|
                                                         |v| |lb| $)
                                                        #4#) . #6#)))))
                                                 (LETT #5#
                                                  (CDR #5#) . #6#)
                                                 #8# G191
                                                 (EXIT (NREVERSE0 #4#))))
                                              (QREFELT $ 76))))))))))))))))))) 

(DEFUN |ODERAT;indicialEquationAtInfinity;LodoUP;5| (|op| $)
  (PROG (|rec|)
    (RETURN
      (SEQ (LETT |rec| (|ODERAT;infMuLambda| |op| $)
                 |ODERAT;indicialEquationAtInfinity;LodoUP;5|)
           (EXIT (|ODERAT;infIndicialEquation| (QVELT |rec| 1)
                     (QVELT |rec| 2) $)))))) 

(DEFUN |ODERAT;indicialEquationAtInfinity;LodoUP;6| (|op| $)
  (PROG (|rec|)
    (RETURN
      (SEQ (LETT |rec| (SPADCALL |op| NIL (QREFELT $ 80))
                 |ODERAT;indicialEquationAtInfinity;LodoUP;6|)
           (EXIT (SPADCALL (QCAR |rec|) (QREFELT $ 77))))))) 

(DEFUN |ODERAT;regularPoint| (|l| |lg| $)
  (PROG (|a| |i| |j| #0=#:G1917 #1=#:G1914)
    (RETURN
      (SEQ (EXIT (SEQ (LETT |a|
                            (SPADCALL (SPADCALL |l| (QREFELT $ 39))
                                (SPADCALL |lg| (QREFELT $ 83))
                                (QREFELT $ 84))
                            . #2=(|ODERAT;regularPoint|))
                      (COND
                        ((NULL (SPADCALL
                                   (SPADCALL |a| 0 (QREFELT $ 85))
                                   (|spadConstant| $ 43)
                                   (QREFELT $ 86)))
                         (EXIT 0)))
                      (EXIT (SEQ (LETT |i| 1 . #2#) G190 NIL
                                 (SEQ (EXIT
                                       (COND
                                         ((NULL
                                           (SPADCALL
                                            (SPADCALL |a|
                                             (LETT |j|
                                              (SPADCALL |i|
                                               (QREFELT $ 87)) . #2#)
                                             (QREFELT $ 88))
                                            (|spadConstant| $ 43)
                                            (QREFELT $ 86)))
                                          (PROGN
                                            (LETT #0# |i| . #2#)
                                            (GO #0#)))
                                         ((NULL
                                           (SPADCALL
                                            (SPADCALL |a|
                                             (SPADCALL |j|
                                              (QREFELT $ 21))
                                             (QREFELT $ 88))
                                            (|spadConstant| $ 43)
                                            (QREFELT $ 86)))
                                          (PROGN
                                            (LETT #1#
                                             (PROGN
                                               (LETT #0# (- |i|) . #2#)
                                               (GO #0#)) . #2#)
                                            (GO #1#)))))
                                      #1# (EXIT #1#))
                                 (LETT |i| (QSADD1 |i|) . #2#)
                                 (GO G190) G191 (EXIT NIL)))))
           #0# (EXIT #0#))))) 

(DEFUN |ODERAT;unitlist| (|i| |q| $)
  (PROG (|v|)
    (RETURN
      (SEQ (LETT |v|
                 (SPADCALL |q| (|spadConstant| $ 43) (QREFELT $ 63))
                 |ODERAT;unitlist|)
           (SPADCALL |v| |i| (|spadConstant| $ 19) (QREFELT $ 89))
           (EXIT (SPADCALL |v| (QREFELT $ 91))))))) 

(DEFUN |ODERAT;candidates| (|op| |lg| |d| $)
  (PROG (|n| |m| |uts| |tools| |solver| |dd| |f| |q| |e| #0=#:G1925 |i|
             |hom| |a1| #1=#:G1926 |g| #2=#:G1927 |part|)
    (RETURN
      (SEQ (LETT |n|
                 (+ (SPADCALL |d| (QREFELT $ 14))
                    (|ODERAT;infBound| |op| |lg| $))
                 . #3=(|ODERAT;candidates|))
           (LETT |m| (|ODERAT;regularPoint| |op| |lg| $) . #3#)
           (LETT |uts|
                 (|UnivariateTaylorSeries| (QREFELT $ 6) (QREFELT $ 10)
                     (SPADCALL |m| (QREFELT $ 87))) . #3#)
           (LETT |tools|
                 (|UTSodetools| (QREFELT $ 6) (QREFELT $ 7)
                     (|LinearOrdinaryDifferentialOperator2|
                         (QREFELT $ 7) (|Fraction| (QREFELT $ 7)))
                     |uts|) . #3#)
           (LETT |solver|
                 (|UnivariateTaylorSeriesODESolver| (QREFELT $ 6)
                     |uts|) . #3#)
           (LETT |dd|
                 (SPADCALL |d|
                     (|compiledLookupCheck| 'UP2UTS
                         (LIST (|devaluate| |uts|)
                               (|devaluate| (ELT $ 7)))
                         |tools|)) . #3#)
           (LETT |f|
                 (SPADCALL |op|
                     (|compiledLookupCheck| 'LODO2FUN
                         (LIST (LIST '|Mapping| (|devaluate| |uts|)
                                     (LIST '|List| (|devaluate| |uts|)))
                               (LIST '|LinearOrdinaryDifferentialOperator2|
                                     (|devaluate| (ELT $ 7))
                                     (LIST '|Fraction|
                                      (|devaluate| (ELT $ 7)))))
                         |tools|)) . #3#)
           (LETT |q| (SPADCALL |op| (QREFELT $ 38)) . #3#)
           (LETT |e| (|ODERAT;unitlist| 1 |q| $) . #3#)
           (LETT |hom|
                 (PROGN
                   (LETT #0# NIL . #3#)
                   (SEQ (LETT |i| 1 . #3#) G190
                        (COND ((QSGREATERP |i| |q|) #4=(GO G191)))
                        (SEQ (EXIT (LETT #0#
                                    (CONS
                                     (SPADCALL
                                      (SPADCALL
                                       (SPADCALL |dd|
                                        (SPADCALL |f|
                                         (|ODERAT;unitlist| |i| |q| $)
                                         (|compiledLookupCheck| '|ode|
                                          (LIST (|devaluate| |uts|)
                                           (LIST '|Mapping|
                                            (|devaluate| |uts|)
                                            (LIST '|List|
                                             (|devaluate| |uts|)))
                                           (LIST '|List|
                                            (|devaluate| (ELT $ 6))))
                                          |solver|))
                                        (|compiledLookupCheck| '*
                                         (LIST '$ '$ '$) |uts|))
                                       |n|
                                       (|compiledLookupCheck| 'UTS2UP
                                        (LIST (|devaluate| (ELT $ 7))
                                         (|devaluate| |uts|)
                                         (LIST '|NonNegativeInteger|))
                                        |tools|))
                                      |d| (QREFELT $ 92))
                                     #0#) . #3#)))
                        (LETT |i| (QSADD1 |i|) . #3#) #5=(GO G190) G191
                        (EXIT (NREVERSE0 #0#)))) . #3#)
           (LETT |a1|
                 (SPADCALL
                     (SPADCALL (SPADCALL |op| (QREFELT $ 39))
                         (QREFELT $ 40))
                     (QREFELT $ 41)) . #3#)
           (LETT |part|
                 (PROGN
                   (LETT #1# NIL . #3#)
                   (SEQ (LETT |g| NIL . #3#) (LETT #2# |lg| . #3#) G190
                        (COND
                          ((OR (ATOM #2#)
                               (PROGN (LETT |g| (CAR #2#) . #3#) NIL))
                           #4#))
                        (SEQ (EXIT (COND
                                     ((COND
                                        ((SPADCALL |g|
                                          (|spadConstant| $ 46)
                                          (QREFELT $ 60))
                                         'NIL)
                                        ('T 'T))
                                      (LETT #1#
                                       (CONS
                                        (SPADCALL
                                         (SPADCALL
                                          (SPADCALL |dd|
                                           (SPADCALL
                                            (CONS
                                             #'|ODERAT;candidates!0|
                                             (VECTOR |f| |tools| |uts|
                                              $ |g| |a1|))
                                            |e|
                                            (|compiledLookupCheck|
                                             '|ode|
                                             (LIST (|devaluate| |uts|)
                                              (LIST '|Mapping|
                                               (|devaluate| |uts|)
                                               (LIST '|List|
                                                (|devaluate| |uts|)))
                                              (LIST '|List|
                                               (|devaluate| (ELT $ 6))))
                                             |solver|))
                                           (|compiledLookupCheck| '*
                                            (LIST '$ '$ '$) |uts|))
                                          |n|
                                          (|compiledLookupCheck|
                                           'UTS2UP
                                           (LIST
                                            (|devaluate| (ELT $ 7))
                                            (|devaluate| |uts|)
                                            (LIST
                                             '|NonNegativeInteger|))
                                           |tools|))
                                         |d| (QREFELT $ 92))
                                        #1#) . #3#)))))
                        (LETT #2# (CDR #2#) . #3#) #5# G191
                        (EXIT (NREVERSE0 #1#)))) . #3#)
           (EXIT (CONS |hom| |part|)))))) 

(DEFUN |ODERAT;candidates!0| (|#1| $$)
  (PROG ($ |uts|)
    (LETT $ (QREFELT $$ 3) . #0=(|ODERAT;candidates|))
    (LETT |uts| (QREFELT $$ 2) . #0#)
    (RETURN
      (PROGN
        (SPADCALL
            (SPADCALL
                (SPADCALL (QREFELT $$ 5) (QREFELT $$ 4) (QREFELT $ 42))
                (|compiledLookupCheck| 'RF2UTS
                    (LIST (|devaluate| |uts|)
                          (LIST '|Fraction| (|devaluate| (ELT $ 7))))
                    (QREFELT $$ 1)))
            (SPADCALL |#1| (QREFELT $$ 0))
            (|compiledLookupCheck| '+ (LIST '$ '$ '$) |uts|)))))) 

(DEFUN |ODERAT;nzero?| (|v| $)
  (PROG (|i| #0=#:G1932 #1=#:G1931 #2=#:G1929)
    (RETURN
      (SEQ (EXIT (SEQ (SEQ (EXIT (SEQ (LETT |i|
                                       (SPADCALL |v| (QREFELT $ 93))
                                       . #3=(|ODERAT;nzero?|))
                                      (LETT #0# (QVSIZE |v|) . #3#)
                                      G190
                                      (COND ((> |i| #0#) (GO G191)))
                                      (SEQ
                                       (EXIT
                                        (COND
                                          ((NULL
                                            (SPADCALL
                                             (SPADCALL |v| |i|
                                              (QREFELT $ 94))
                                             (QREFELT $ 95)))
                                           (PROGN
                                             (LETT #2#
                                              (PROGN
                                                (LETT #1# 'T . #3#)
                                                (GO #1#)) . #3#)
                                             (GO #2#))))))
                                      (LETT |i| (+ |i| 1) . #3#)
                                      (GO G190) G191 (EXIT NIL)))
                           #2# (EXIT #2#))
                      (EXIT 'NIL)))
           #1# (EXIT #1#))))) 

(DEFUN |ODERAT;UPfact| (|n| $)
  (PROG (|z| |i| #0=#:G1934 #1=#:G1941 #2=#:G1937 #3=#:G1935
             #4=#:G1936)
    (RETURN
      (SEQ (COND
             ((ZEROP |n|) (|spadConstant| $ 20))
             ('T
              (SEQ (LETT |z|
                         (SPADCALL (|spadConstant| $ 19) 1
                             (QREFELT $ 96))
                         . #5=(|ODERAT;UPfact|))
                   (EXIT (PROGN
                           (LETT #4# NIL . #5#)
                           (SEQ (LETT |i| 0 . #5#)
                                (LETT #1#
                                      (PROG1 (LETT #0# (- |n| 1) . #5#)
                                        (|check-subtype| (>= #0# 0)
                                         '(|NonNegativeInteger|) #0#)) . #5#)
                                G190
                                (COND
                                  ((QSGREATERP |i| #1#) (GO G191)))
                                (SEQ (EXIT
                                      (PROGN
                                        (LETT #2#
                                         (SPADCALL |z|
                                          (SPADCALL
                                           (SPADCALL |i|
                                            (QREFELT $ 87))
                                           (QREFELT $ 97))
                                          (QREFELT $ 98)) . #5#)
                                        (COND
                                          (#4#
                                           (LETT #3#
                                            (SPADCALL #3# #2#
                                             (QREFELT $ 84)) . #5#))
                                          ('T
                                           (PROGN
                                             (LETT #3# #2# . #5#)
                                             (LETT #4# 'T . #5#)))))))
                                (LETT |i| (QSADD1 |i|) . #5#) (GO G190)
                                G191 (EXIT NIL))
                           (COND (#4# #3#) ('T (|spadConstant| $ 20)))))))))))) 

(DEFUN |ODERAT;infMuLambda| (|l| $)
  (PROG (|a| |d| |m| |mup| |lamb| |lf|)
    (RETURN
      (SEQ (LETT |lamb|
                 (LIST (LETT |d| (SPADCALL |l| (QREFELT $ 38))
                             . #0=(|ODERAT;infMuLambda|))) . #0#)
           (LETT |lf|
                 (LIST (LETT |a| (SPADCALL |l| (QREFELT $ 39)) . #0#)) . #0#)
           (LETT |mup| (- (SPADCALL |a| (QREFELT $ 14)) |d|) . #0#)
           (SEQ G190
                (COND
                  ((NULL (SEQ (LETT |l|
                                    (SPADCALL |l| (QREFELT $ 99)) . #0#)
                              (EXIT (COND
                                      ((SPADCALL |l|
                                        (|spadConstant| $ 45)
                                        (QREFELT $ 100))
                                       'NIL)
                                      ('T 'T)))))
                   (GO G191)))
                (SEQ (LETT |a| (SPADCALL |l| (QREFELT $ 39)) . #0#)
                     (LETT |m|
                           (- (SPADCALL |a| (QREFELT $ 14))
                              (LETT |d|
                                    (SPADCALL |l| (QREFELT $ 38)) . #0#)) . #0#)
                     (EXIT (COND
                             ((< |mup| |m|)
                              (SEQ (LETT |mup| |m| . #0#)
                                   (LETT |lamb| (LIST |d|) . #0#)
                                   (EXIT (LETT |lf| (LIST |a|) . #0#))))
                             ((EQL |m| |mup|)
                              (SEQ (LETT |lamb|
                                    (CONS |d| |lamb|) . #0#)
                                   (EXIT
                                    (LETT |lf| (CONS |a| |lf|) . #0#)))))))
                NIL (GO G190) G191 (EXIT NIL))
           (EXIT (VECTOR |mup| |lamb| |lf|)))))) 

(DEFUN |ODERAT;infIndicialEquation| (|lambda| |lf| $)
  (PROG (|f| #0=#:G1954 |i| #1=#:G1953 |ans|)
    (RETURN
      (SEQ (LETT |ans| (|spadConstant| $ 44)
                 . #2=(|ODERAT;infIndicialEquation|))
           (SEQ (LETT |f| NIL . #2#) (LETT #0# |lf| . #2#)
                (LETT |i| NIL . #2#) (LETT #1# |lambda| . #2#) G190
                (COND
                  ((OR (ATOM #1#)
                       (PROGN (LETT |i| (CAR #1#) . #2#) NIL)
                       (ATOM #0#)
                       (PROGN (LETT |f| (CAR #0#) . #2#) NIL))
                   (GO G191)))
                (SEQ (EXIT (LETT |ans|
                                 (SPADCALL |ans|
                                     (SPADCALL
                                      (SPADCALL
                                       (|ODERAT;evenodd| |i| $)
                                       (SPADCALL |f| (QREFELT $ 101))
                                       (QREFELT $ 102))
                                      (|ODERAT;UPfact| |i| $)
                                      (QREFELT $ 103))
                                     (QREFELT $ 98)) . #2#)))
                (LETT #1#
                      (PROG1 (CDR #1#) (LETT #0# (CDR #0#) . #2#)) . #2#)
                (GO G190) G191 (EXIT NIL))
           (EXIT |ans|))))) 

(DEFUN |ODERAT;infBound| (|l| |lg| $)
  (PROG (|rec| |n| #0=#:G1958 |g| #1=#:G1966 |mm| |m| #2=#:G1962)
    (RETURN
      (SEQ (LETT |rec| (|ODERAT;infMuLambda| |l| $)
                 . #3=(|ODERAT;infBound|))
           (LETT |n|
                 (MIN (- (- (SPADCALL |l| (QREFELT $ 38))) 1)
                      (SPADCALL
                          (|ODERAT;infIndicialEquation| (QVELT |rec| 1)
                              (QVELT |rec| 2) $)
                          (QREFELT $ 105))) . #3#)
           (SEQ G190
                (COND
                  ((NULL (COND
                           ((NULL |lg|) 'NIL)
                           ('T
                            (SPADCALL (|SPADfirst| |lg|)
                                (QREFELT $ 59)))))
                   #4=(GO G191)))
                (SEQ (EXIT (LETT |lg| (CDR |lg|) . #3#))) NIL
                #5=(GO G190) G191 (EXIT NIL))
           (EXIT (COND
                   ((NULL |lg|)
                    (PROG1 (LETT #0# (- |n|) . #3#)
                      (|check-subtype| (>= #0# 0)
                          '(|NonNegativeInteger|) #0#)))
                   ('T
                    (SEQ (LETT |m|
                               (|ODERAT;infOrder| (|SPADfirst| |lg|) $) . #3#)
                         (SEQ (LETT |g| NIL . #3#)
                              (LETT #1# (CDR |lg|) . #3#) G190
                              (COND
                                ((OR (ATOM #1#)
                                     (PROGN
                                       (LETT |g| (CAR #1#) . #3#)
                                       NIL))
                                 #4#))
                              (SEQ (EXIT
                                    (COND
                                      ((NULL
                                        (SPADCALL |g| (QREFELT $ 59)))
                                       (SEQ
                                        (LETT |mm|
                                         (|ODERAT;infOrder| |g| $) . #3#)
                                        (EXIT
                                         (COND
                                           ((< |mm| |m|)
                                            (LETT |m| |mm| . #3#)))))))))
                              (LETT #1# (CDR #1#) . #3#) #5# G191
                              (EXIT NIL))
                         (EXIT (PROG1 (LETT #2#
                                       (-
                                        (MIN |n|
                                         (+
                                          (- (QVELT |rec| 0)
                                           (SPADCALL
                                            (SPADCALL |l|
                                             (QREFELT $ 39))
                                            (QREFELT $ 14)))
                                          |m|))) . #3#)
                                 (|check-subtype| (>= #2# 0)
                                     '(|NonNegativeInteger|) #2#))))))))))) 

(DEFUN |ODERAT;makeDot| (|v| |bas| $)
  (PROG (|b| #0=#:G1970 |i| |ans|)
    (RETURN
      (SEQ (LETT |ans| (|spadConstant| $ 46) . #1=(|ODERAT;makeDot|))
           (SEQ (LETT |b| NIL . #1#) (LETT #0# |bas| . #1#)
                (LETT |i| 1 . #1#) G190
                (COND
                  ((OR (ATOM #0#)
                       (PROGN (LETT |b| (CAR #0#) . #1#) NIL))
                   (GO G191)))
                (SEQ (EXIT (LETT |ans|
                                 (SPADCALL |ans|
                                     (SPADCALL
                                      (SPADCALL
                                       (SPADCALL |v| |i|
                                        (QREFELT $ 106))
                                       (QREFELT $ 97))
                                      |b| (QREFELT $ 107))
                                     (QREFELT $ 75)) . #1#)))
                (LETT |i|
                      (PROG1 (QSADD1 |i|) (LETT #0# (CDR #0#) . #1#)) . #1#)
                (GO G190) G191 (EXIT NIL))
           (EXIT |ans|))))) 

(DEFUN |ODERAT;ratDsolve;LodoFR;16| (|op| |g| $)
  (PROG (|rec|)
    (RETURN
      (SEQ (LETT |rec| (SPADCALL |op| (LIST |g|) (QREFELT $ 80))
                 |ODERAT;ratDsolve;LodoFR;16|)
           (EXIT (|ODERAT;ratDsolve0| (QCAR |rec|)
                     (|SPADfirst| (QCDR |rec|)) $)))))) 

(DEFUN |ODERAT;ratDsolve;LodoLR;17| (|op| |lg| $)
  (PROG (|rec|)
    (RETURN
      (SEQ (LETT |rec| (SPADCALL |op| |lg| (QREFELT $ 80))
                 |ODERAT;ratDsolve;LodoLR;17|)
           (EXIT (|ODERAT;ratDsolve1| (QCAR |rec|) (QCDR |rec|) $)))))) 

(DEFUN |ODERAT;ratDsolve;LodoFR;18| (|op| |g| $)
  (PROG (|c| #0=#:G1986)
    (RETURN
      (COND
        ((SPADCALL
             (LETT |c| (SPADCALL |op| (QREFELT $ 112))
                   . #1=(|ODERAT;ratDsolve;LodoFR;18|))
             (QREFELT $ 113))
         (|ODERAT;ratDsolve0| |op| |g| $))
        ('T
         (|ODERAT;ratDsolve0|
             (PROG2 (LETT #0#
                          (SPADCALL |op| |c| (QREFELT $ 115)) . #1#)
                    (QCDR #0#)
               (|check-union| (QEQCAR #0# 0)
                   (|LinearOrdinaryDifferentialOperator2| (QREFELT $ 7)
                       (|Fraction| (QREFELT $ 7)))
                   #0#))
             (SPADCALL
                 (SPADCALL (SPADCALL |c| (QREFELT $ 40))
                     (QREFELT $ 41))
                 |g| (QREFELT $ 42))
             $)))))) 

(DEFUN |ODERAT;ratDsolve;LodoLR;19| (|op| |lg| $)
  (PROG (|c| #0=#:G1992 #1=#:G1997 |g| #2=#:G1998)
    (RETURN
      (SEQ (COND
             ((SPADCALL
                  (LETT |c| (SPADCALL |op| (QREFELT $ 112))
                        . #3=(|ODERAT;ratDsolve;LodoLR;19|))
                  (QREFELT $ 113))
              (|ODERAT;ratDsolve1| |op| |lg| $))
             ('T
              (|ODERAT;ratDsolve1|
                  (PROG2 (LETT #0#
                               (SPADCALL |op| |c| (QREFELT $ 115)) . #3#)
                         (QCDR #0#)
                    (|check-union| (QEQCAR #0# 0)
                        (|LinearOrdinaryDifferentialOperator2|
                            (QREFELT $ 7) (|Fraction| (QREFELT $ 7)))
                        #0#))
                  (PROGN
                    (LETT #1# NIL . #3#)
                    (SEQ (LETT |g| NIL . #3#) (LETT #2# |lg| . #3#)
                         G190
                         (COND
                           ((OR (ATOM #2#)
                                (PROGN (LETT |g| (CAR #2#) . #3#) NIL))
                            (GO G191)))
                         (SEQ (EXIT (LETT #1#
                                     (CONS
                                      (SPADCALL
                                       (SPADCALL
                                        (SPADCALL |c| (QREFELT $ 40))
                                        (QREFELT $ 41))
                                       |g| (QREFELT $ 42))
                                      #1#) . #3#)))
                         (LETT #2# (CDR #2#) . #3#) (GO G190) G191
                         (EXIT (NREVERSE0 #1#))))
                  $))))))) 

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

(DEFUN |RationalLODE;| (|#1| |#2|)
  (PROG (DV$1 DV$2 |dv$| $ |pv$|)
    (RETURN
      (PROGN
        (LETT DV$1 (|devaluate| |#1|) . #0=(|RationalLODE|))
        (LETT DV$2 (|devaluate| |#2|) . #0#)
        (LETT |dv$| (LIST '|RationalLODE| DV$1 DV$2) . #0#)
        (LETT $ (GETREFV 118) . #0#)
        (QSETREFV $ 0 |dv$|)
        (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #0#))
        (|haddProp| |$ConstructorCache| '|RationalLODE|
            (LIST DV$1 DV$2) (CONS 1 $))
        (|stuffDomainSlots| $)
        (QSETREFV $ 6 |#1|)
        (QSETREFV $ 7 |#2|)
        (QSETREFV $ 10 (SPADCALL (QREFELT $ 9)))
        $)))) 

(MAKEPROP '|RationalLODE| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|)
             (|Symbol|) (0 . |new|) '|dummy| (|Fraction| 7)
             (4 . |denom|) (|NonNegativeInteger|) (9 . |degree|)
             (14 . |numer|) (|Boolean|) (|Integer|) (19 . |even?|)
             (24 . |One|) (28 . |One|) (32 . -)
             (|LinearOrdinaryDifferentialOperator2| 7 11) (|List| 11)
             (|PrimitiveRatDE| 6 7 22 79) (37 . |denomLODE|)
             (43 . |elt|) (49 . |elt|) (55 . -) (61 . |concat|)
             (|List| 23) (|Matrix| 11) (67 . |matrix|) (|Matrix| 7)
             (|Matrix| $) (72 . |reducedSystem|) (|Matrix| 6)
             (77 . |reducedSystem|) (82 . |degree|)
             (87 . |leadingCoefficient|) (92 . |coerce|) (97 . |inv|)
             (102 . *) (108 . |Zero|) (112 . |Zero|) (116 . |Zero|)
             (120 . |Zero|) (|Fraction| 17) (124 . |Zero|)
             (128 . |minimumDegree|) (133 . |monomial|)
             (|Record| (|:| |quotient| $) (|:| |remainder| $))
             (139 . |monicRightDivide|) (145 . |One|)
             (|Union| 11 '"failed") (|RationalIntegration| 6 7)
             (149 . |infieldint|) (|Union| 7 '"failed")
             (154 . |denomLODE|) (160 . |zero?|) (165 . =)
             (171 . |ncols|) (|Vector| 6) (176 . |new|) (|Vector| 11)
             (182 . |vector|)
             (|Record| (|:| |mat| 33) (|:| |vec| (|Vector| 7)))
             (|Vector| $) (187 . |reducedSystem|)
             (|Record| (|:| |mat| 36) (|:| |vec| 62))
             (193 . |reducedSystem|) (|Union| 62 '"failed")
             (|Record| (|:| |particular| 71) (|:| |basis| (|List| 62)))
             (|LinearSystemMatrixPackage| 6 62 62 36) (199 . |solve|)
             (205 . +) (211 . |concat!|)
             |ODERAT;indicialEquationAtInfinity;LodoUP;5|
             (|Record| (|:| |eq| 22) (|:| |rh| 23))
             (|LinearOrdinaryDifferentialOperator1| 11)
             (217 . |splitDenominator|)
             |ODERAT;indicialEquationAtInfinity;LodoUP;6|
             (|InnerCommonDenominator| 7 11 (|List| 7) 23)
             (223 . |commonDenominator|) (228 . *)
             (234 . |coefficient|) (240 . =) (246 . |coerce|)
             (251 . |elt|) (257 . |setelt|) (|List| 6) (264 . |parts|)
             (269 . /) (275 . |minIndex|) (280 . |qelt|)
             (286 . |zero?|) (291 . |monomial|) (297 . |coerce|)
             (302 . +) (308 . |reductum|) (313 . =)
             (319 . |leadingCoefficient|) (324 . *) (330 . *)
             (|BoundIntegerRoots| 6 7) (336 . |integerBound|)
             (341 . |elt|) (347 . *)
             (|Record| (|:| |particular| 54) (|:| |basis| 23))
             |ODERAT;ratDsolve;LodoFR;16|
             (|Record| (|:| |basis| 23) (|:| |mat| 36))
             |ODERAT;ratDsolve;LodoLR;17| (353 . |content|)
             (358 . |unit?|) (|Union| $ '"failed") (363 . |exquo|)
             |ODERAT;ratDsolve;LodoFR;18| |ODERAT;ratDsolve;LodoLR;19|)
          '#(|ratDsolve| 369 |indicialEquationAtInfinity| 393) 'NIL
          (CONS (|makeByteWordVec2| 1 'NIL)
                (CONS '#()
                      (CONS '#()
                            (|makeByteWordVec2| 117
                                '(0 8 0 9 1 11 7 0 12 1 7 13 0 14 1 11
                                  7 0 15 1 17 16 0 18 0 6 0 19 0 7 0 20
                                  1 6 0 0 21 2 24 7 22 23 25 2 22 11 0
                                  11 26 2 23 11 0 17 27 2 11 0 0 0 28 2
                                  23 0 0 0 29 1 31 0 30 32 1 11 33 34
                                  35 1 7 36 34 37 1 22 13 0 38 1 22 7 0
                                  39 1 11 0 7 40 1 11 0 0 41 2 11 0 0 0
                                  42 0 6 0 43 0 7 0 44 0 22 0 45 0 11 0
                                  46 0 47 0 48 1 22 13 0 49 2 22 0 7 13
                                  50 2 22 51 0 0 52 0 11 0 53 1 55 54
                                  11 56 2 24 57 22 11 58 1 11 16 0 59 2
                                  11 16 0 0 60 1 36 13 0 61 2 62 0 13 6
                                  63 1 64 0 23 65 2 11 66 34 67 68 2 7
                                  69 34 67 70 2 73 72 36 62 74 2 11 0 0
                                  0 75 2 23 0 0 0 76 2 24 78 79 23 80 1
                                  82 7 23 83 2 7 0 0 0 84 2 7 6 0 13 85
                                  2 6 16 0 0 86 1 6 0 17 87 2 7 6 0 6
                                  88 3 62 6 0 17 6 89 1 62 90 0 91 2 11
                                  0 7 7 92 1 62 17 0 93 2 62 6 0 17 94
                                  1 6 16 0 95 2 7 0 6 13 96 1 7 0 6 97
                                  2 7 0 0 0 98 1 22 0 0 99 2 22 16 0 0
                                  100 1 7 6 0 101 2 6 0 0 0 102 2 7 0 6
                                  0 103 1 104 17 7 105 2 62 6 0 17 106
                                  2 11 0 7 0 107 1 22 7 0 112 1 7 16 0
                                  113 2 22 114 0 7 115 2 0 108 79 11
                                  109 2 0 108 22 11 116 2 0 110 79 23
                                  111 2 0 110 22 23 117 1 0 7 22 77 1 0
                                  7 79 81)))))
          '|lookupComplete|)) 
