
(/VERSIONCHECK 2) 

(DEFUN |GOSPER;deg0| (|p| |v| $)
  (COND
    ((SPADCALL |p| (QREFELT $ 13)) -1)
    ('T (SPADCALL |p| |v| (QREFELT $ 17))))) 

(DEFUN |GOSPER;rat?| (|x| $)
  (QEQCAR (SPADCALL
              (SPADCALL (SPADCALL |x| (QREFELT $ 18)) (QREFELT $ 19))
              (QREFELT $ 21))
          0)) 

(DEFUN |GOSPER;RFQ2R| (|f| $)
  (SPADCALL (|GOSPER;PQ2R| (SPADCALL |f| (QREFELT $ 23)) $)
      (|GOSPER;PQ2R| (SPADCALL |f| (QREFELT $ 24)) $) (QREFELT $ 25))) 

(DEFUN |GOSPER;PQ2R| (|p| $)
  (SPADCALL (CONS #'|GOSPER;PQ2R!0| $) (CONS #'|GOSPER;PQ2R!1| $) |p|
      (QREFELT $ 32))) 

(DEFUN |GOSPER;PQ2R!1| (|#1| $) (SPADCALL |#1| (QREFELT $ 28))) 

(DEFUN |GOSPER;PQ2R!0| (|#1| $)
  (SPADCALL (SPADCALL |#1| (QREFELT $ 26)) (QREFELT $ 19))) 

(DEFUN |GOSPER;GospersMethod;QVMU;5| (|aquo| |n| |newV| $)
  (PROG (|q| |u| #0=#:G1842)
    (RETURN
      (SEQ (EXIT (SEQ (SEQ (LETT |q| (|GOSPER;RF2QIfCan| |aquo| $)
                                 . #1=(|GOSPER;GospersMethod;QVMU;5|))
                           (EXIT (COND
                                   ((QEQCAR |q| 1)
                                    (PROGN
                                      (LETT #0#
                                       (CONS 1 "failed") . #1#)
                                      (GO #0#)))
                                   ('T
                                    (SEQ
                                     (LETT |u|
                                      (|GOSPER;InnerGospersMethod|
                                       (QCDR |q|) |n| |newV| $) . #1#)
                                     (EXIT
                                      (COND
                                        ((QEQCAR |u| 1)
                                         (PROGN
                                           (LETT #0#
                                            (CONS 1 "failed") . #1#)
                                           (GO #0#))))))))))
                      (EXIT (CONS 0 (|GOSPER;RFQ2R| (QCDR |u|) $)))))
           #0# (EXIT #0#))))) 

(DEFUN |GOSPER;RF2QIfCan| (|f| $)
  (PROG (|n| |d|)
    (RETURN
      (SEQ (LETT |n|
                 (|GOSPER;UP2QIfCan| (SPADCALL |f| (QREFELT $ 36)) $)
                 . #0=(|GOSPER;RF2QIfCan|))
           (EXIT (COND
                   ((QEQCAR |n| 1) (CONS 1 "failed"))
                   (#1='T
                    (SEQ (LETT |d|
                               (|GOSPER;UP2QIfCan|
                                   (SPADCALL |f| (QREFELT $ 37)) $) . #0#)
                         (EXIT (COND
                                 ((QEQCAR |d| 1) (CONS 1 "failed"))
                                 (#1#
                                  (CONS 0
                                        (SPADCALL (QCDR |n|) (QCDR |d|)
                                         (QREFELT $ 38)))))))))))))) 

(DEFUN |GOSPER;UP2QIfCan| (|p| $)
  (PROG ()
    (RETURN
      (COND
        ((SPADCALL (CONS (|function| |GOSPER;rat?|) $)
             (SPADCALL |p| (QREFELT $ 40)) (QREFELT $ 42))
         (CONS 0
               (SPADCALL (CONS #'|GOSPER;UP2QIfCan!0| $)
                   (CONS #'|GOSPER;UP2QIfCan!1| $) |p| (QREFELT $ 48))))
        ('T (CONS 1 "failed")))))) 

(DEFUN |GOSPER;UP2QIfCan!1| (|#1| $)
  (PROG (#0=#:G1862)
    (RETURN
      (SPADCALL
          (PROG2 (LETT #0#
                       (SPADCALL
                           (SPADCALL (SPADCALL |#1| (QREFELT $ 18))
                               (QREFELT $ 19))
                           (QREFELT $ 21))
                       NIL)
                 (QCDR #0#)
            (|check-union| (QEQCAR #0# 0) (|Fraction| (|Integer|)) #0#))
          (QREFELT $ 44))))) 

(DEFUN |GOSPER;UP2QIfCan!0| (|#1| $) (SPADCALL |#1| (QREFELT $ 43))) 

(DEFUN |GOSPER;InnerGospersMethod| (|aquo| |n| |newV| $)
  (PROG (|an| |anm1| |pqr| |pn| |qn| |rn| |k| |ufn| |fn| |qn1|)
    (RETURN
      (SEQ (LETT |an| (SPADCALL |aquo| (QREFELT $ 23))
                 . #0=(|GOSPER;InnerGospersMethod|))
           (LETT |anm1| (SPADCALL |aquo| (QREFELT $ 24)) . #0#)
           (LETT |pqr|
                 (|GOSPER;GosperPQR| |an| |anm1| |n| |newV| $) . #0#)
           (LETT |pn| (|SPADfirst| |pqr|) . #0#)
           (LETT |qn| (SPADCALL |pqr| (QREFELT $ 50)) . #0#)
           (LETT |rn| (SPADCALL |pqr| (QREFELT $ 51)) . #0#)
           (LETT |k|
                 (|GOSPER;GosperDegBd| |pn| |qn| |rn| |n| |newV| $) . #0#)
           (EXIT (COND
                   ((< |k| 0) (CONS 1 "failed"))
                   (#1='T
                    (SEQ (LETT |ufn|
                               (|GOSPER;GosperF| |k| |pn| |qn| |rn| |n|
                                   |newV| $) . #0#)
                         (EXIT (COND
                                 ((QEQCAR |ufn| 1) (CONS 1 "failed"))
                                 (#1#
                                  (SEQ (LETT |fn| (QCDR |ufn|) . #0#)
                                       (LETT |qn1|
                                        (SPADCALL |qn| |n|
                                         (SPADCALL
                                          (SPADCALL |n| (QREFELT $ 43))
                                          (|spadConstant| $ 54)
                                          (QREFELT $ 55))
                                         (QREFELT $ 56)) . #0#)
                                       (EXIT
                                        (CONS 0
                                         (SPADCALL
                                          (SPADCALL |qn1| |pn|
                                           (QREFELT $ 38))
                                          |fn| (QREFELT $ 57)))))))))))))))) 

(DEFUN |GOSPER;GosperF| (|k| |pn| |qn| |rn| |n| |newV| $)
  (PROG (|mv| |mp| |np| #0=#:G1880 #1=#:G1878 #2=#:G1879 |fn|
              |fnminus1| |qnplus1| |zro| #3=#:G1881 |mat| |cz| |dz|
              |zron| |cmz| |dmz| |mz| |soln| |vec| |i| #4=#:G1894
              #5=#:G1892 #6=#:G1893)
    (RETURN
      (SEQ (LETT |mv| (SPADCALL |newV|) . #7=(|GOSPER;GosperF|))
           (LETT |mp| (SPADCALL |mv| (QREFELT $ 43)) . #7#)
           (LETT |np| (SPADCALL |n| (QREFELT $ 43)) . #7#)
           (LETT |fn|
                 (PROGN
                   (LETT #2# NIL . #7#)
                   (SEQ (LETT |i| 0 . #7#) G190
                        (COND ((QSGREATERP |i| |k|) #8=(GO G191)))
                        (SEQ (EXIT (PROGN
                                     (LETT #0#
                                      (SPADCALL
                                       (SPADCALL |mp| (+ |i| 1)
                                        (QREFELT $ 58))
                                       (SPADCALL |np| |i|
                                        (QREFELT $ 58))
                                       (QREFELT $ 59)) . #7#)
                                     (COND
                                       (#2#
                                        (LETT #1#
                                         (SPADCALL #1# #0#
                                          (QREFELT $ 55)) . #7#))
                                       ('T
                                        (PROGN
                                          (LETT #1# #0# . #7#)
                                          (LETT #2# 'T . #7#)))))))
                        (LETT |i| (QSADD1 |i|) . #7#) #9=(GO G190) G191
                        (EXIT NIL))
                   (COND (#2# #1#) (#10='T (|spadConstant| $ 60)))) . #7#)
           (LETT |fnminus1|
                 (SPADCALL |fn| |n|
                     (SPADCALL |np| (|spadConstant| $ 54)
                         (QREFELT $ 61))
                     (QREFELT $ 56)) . #7#)
           (LETT |qnplus1|
                 (SPADCALL |qn| |n|
                     (SPADCALL |np| (|spadConstant| $ 54)
                         (QREFELT $ 55))
                     (QREFELT $ 56)) . #7#)
           (LETT |zro|
                 (SPADCALL
                     (SPADCALL (SPADCALL |qnplus1| |fn| (QREFELT $ 59))
                         (SPADCALL |rn| |fnminus1| (QREFELT $ 59))
                         (QREFELT $ 61))
                     |pn| (QREFELT $ 61)) . #7#)
           (LETT |zron| (SPADCALL |zro| |n| (QREFELT $ 63)) . #7#)
           (LETT |dz| (SPADCALL |zron| (QREFELT $ 65)) . #7#)
           (LETT |mat|
                 (SPADCALL (+ |dz| 1)
                     (PROG1 (LETT #3# (+ |k| 1) . #7#)
                       (|check-subtype| (>= #3# 0)
                           '(|NonNegativeInteger|) #3#))
                     (QREFELT $ 67)) . #7#)
           (LETT |vec|
                 (SPADCALL (+ |dz| 1) (|spadConstant| $ 68)
                     (QREFELT $ 70)) . #7#)
           (SEQ G190
                (COND
                  ((NULL (COND
                           ((SPADCALL |zron| (|spadConstant| $ 71)
                                (QREFELT $ 72))
                            'NIL)
                           ('T 'T)))
                   #8#))
                (SEQ (LETT |cz| (SPADCALL |zron| (QREFELT $ 73)) . #7#)
                     (LETT |dz| (SPADCALL |zron| (QREFELT $ 65)) . #7#)
                     (LETT |zron|
                           (SPADCALL |zron| (QREFELT $ 74)) . #7#)
                     (LETT |mz|
                           (SPADCALL |cz| |mv| (QREFELT $ 63)) . #7#)
                     (EXIT (SEQ G190
                                (COND
                                  ((NULL
                                    (COND
                                      ((SPADCALL |mz|
                                        (|spadConstant| $ 71)
                                        (QREFELT $ 72))
                                       'NIL)
                                      ('T 'T)))
                                   #8#))
                                (SEQ (LETT |cmz|
                                      (SPADCALL
                                       (SPADCALL |mz| (QREFELT $ 73))
                                       (QREFELT $ 75)) . #7#)
                                     (LETT |dmz|
                                      (SPADCALL |mz| (QREFELT $ 65)) . #7#)
                                     (LETT |mz|
                                      (SPADCALL |mz| (QREFELT $ 74)) . #7#)
                                     (EXIT
                                      (COND
                                        ((EQL |dmz| 0)
                                         (SPADCALL |vec|
                                          (+ |dz|
                                           (SPADCALL |vec|
                                            (QREFELT $ 77)))
                                          (SPADCALL |cmz|
                                           (QREFELT $ 78))
                                          (QREFELT $ 79)))
                                        ('T
                                         (SPADCALL |mat|
                                          (+ |dz|
                                           (SPADCALL |mat|
                                            (QREFELT $ 80)))
                                          (-
                                           (+ |dmz|
                                            (SPADCALL |mat|
                                             (QREFELT $ 81)))
                                           1)
                                          |cmz| (QREFELT $ 82))))))
                                NIL #9# G191 (EXIT NIL))))
                NIL #9# G191 (EXIT NIL))
           (LETT |soln| (SPADCALL |mat| |vec| (QREFELT $ 85)) . #7#)
           (EXIT (COND
                   ((QEQCAR |soln| 1) (CONS 1 "failed"))
                   (#10#
                    (SEQ (LETT |vec| (QCDR |soln|) . #7#)
                         (EXIT (CONS 0
                                     (PROGN
                                       (LETT #6# NIL . #7#)
                                       (SEQ (LETT |i| 0 . #7#) G190
                                        (COND
                                          ((QSGREATERP |i| |k|) #8#))
                                        (SEQ
                                         (EXIT
                                          (PROGN
                                            (LETT #4#
                                             (SPADCALL
                                              (SPADCALL |np| |i|
                                               (QREFELT $ 58))
                                              (SPADCALL |vec|
                                               (+ |i|
                                                (SPADCALL |vec|
                                                 (QREFELT $ 77)))
                                               (QREFELT $ 86))
                                              (QREFELT $ 87)) . #7#)
                                            (COND
                                              (#6#
                                               (LETT #5#
                                                (SPADCALL #5# #4#
                                                 (QREFELT $ 88)) . #7#))
                                              ('T
                                               (PROGN
                                                 (LETT #5# #4# . #7#)
                                                 (LETT #6# 'T . #7#)))))))
                                        (LETT |i| (QSADD1 |i|) . #7#)
                                        #9# G191 (EXIT NIL))
                                       (COND
                                         (#6# #5#)
                                         (#10# (|spadConstant| $ 68)))))))))))))) 

(DEFUN |GOSPER;GosperPQR| (|an| |anm1| |n| |newV| $)
  (PROG (|np| |j| |rnj| |res| |fres| #0=#:G1921 |fe| #1=#:G1922
              #2=#:G1902 |js| |rt| #3=#:G1923 |rtp| |gn| |qn|
              #4=#:G1909 |rn| |i| #5=#:G1924 #6=#:G1916 #7=#:G1914
              #8=#:G1915 |pn|)
    (RETURN
      (SEQ (LETT |np| (SPADCALL |n| (QREFELT $ 43))
                 . #9=(|GOSPER;GosperPQR|))
           (LETT |pn| (|spadConstant| $ 54) . #9#)
           (LETT |qn| |an| . #9#) (LETT |rn| |anm1| . #9#)
           (LETT |j| (SPADCALL |newV|) . #9#)
           (LETT |rnj|
                 (SPADCALL |rn| |n|
                     (SPADCALL |np| (SPADCALL |j| (QREFELT $ 43))
                         (QREFELT $ 55))
                     (QREFELT $ 56)) . #9#)
           (LETT |res| (SPADCALL |qn| |rnj| |n| (QREFELT $ 89)) . #9#)
           (LETT |fres| (SPADCALL |res| (QREFELT $ 92)) . #9#)
           (LETT |js|
                 (PROGN
                   (LETT #0# NIL . #9#)
                   (SEQ (LETT |fe| NIL . #9#)
                        (LETT #1#
                              (SPADCALL |fres| (QREFELT $ 95)) . #9#)
                        G190
                        (COND
                          ((OR (ATOM #1#)
                               (PROGN (LETT |fe| (CAR #1#) . #9#) NIL))
                           #10=(GO G191)))
                        (SEQ (EXIT (COND
                                     ((QEQCAR
                                       (LETT |rt|
                                        (|GOSPER;linearAndNNIntRoot|
                                         (QCAR |fe|) |j| $) . #9#)
                                       0)
                                      (LETT #0#
                                       (CONS
                                        (PROG2 (LETT #2# |rt| . #9#)
                                         (QCDR #2#)
                                          (|check-union| (QEQCAR #2# 0)
                                           (|Integer|) #2#))
                                        #0#) . #9#)))))
                        (LETT #1# (CDR #1#) . #9#) #11=(GO G190) G191
                        (EXIT (NREVERSE0 #0#)))) . #9#)
           (SEQ (LETT |rt| NIL . #9#) (LETT #3# |js| . #9#) G190
                (COND
                  ((OR (ATOM #3#)
                       (PROGN (LETT |rt| (CAR #3#) . #9#) NIL))
                   #10#))
                (SEQ (LETT |rtp| (SPADCALL |rt| (QREFELT $ 96)) . #9#)
                     (LETT |gn|
                           (SPADCALL |qn|
                               (SPADCALL |rn| |n|
                                   (SPADCALL |np| |rtp| (QREFELT $ 55))
                                   (QREFELT $ 56))
                               (QREFELT $ 97)) . #9#)
                     (LETT |qn|
                           (PROG2 (LETT #4#
                                        (SPADCALL |qn| |gn|
                                         (QREFELT $ 99)) . #9#)
                                  (QCDR #4#)
                             (|check-union| (QEQCAR #4# 0)
                                 (|SparseMultivariatePolynomial|
                                     (|Fraction| (|Integer|))
                                     (QREFELT $ 7))
                                 #4#)) . #9#)
                     (LETT |rn|
                           (PROG2 (LETT #4#
                                        (SPADCALL |rn|
                                         (SPADCALL |gn| |n|
                                          (SPADCALL |np| |rtp|
                                           (QREFELT $ 61))
                                          (QREFELT $ 56))
                                         (QREFELT $ 99)) . #9#)
                                  (QCDR #4#)
                             (|check-union| (QEQCAR #4# 0)
                                 (|SparseMultivariatePolynomial|
                                     (|Fraction| (|Integer|))
                                     (QREFELT $ 7))
                                 #4#)) . #9#)
                     (EXIT (LETT |pn|
                                 (SPADCALL |pn|
                                     (PROGN
                                       (LETT #8# NIL . #9#)
                                       (SEQ (LETT |i| 0 . #9#)
                                        (LETT #5# (- |rt| 1) . #9#)
                                        G190
                                        (COND
                                          ((QSGREATERP |i| #5#) #10#))
                                        (SEQ
                                         (EXIT
                                          (PROGN
                                            (LETT #6#
                                             (SPADCALL |gn| |n|
                                              (SPADCALL |np|
                                               (SPADCALL |i|
                                                (QREFELT $ 96))
                                               (QREFELT $ 61))
                                              (QREFELT $ 56)) . #9#)
                                            (COND
                                              (#8#
                                               (LETT #7#
                                                (SPADCALL #7# #6#
                                                 (QREFELT $ 59)) . #9#))
                                              ('T
                                               (PROGN
                                                 (LETT #7# #6# . #9#)
                                                 (LETT #8# 'T . #9#)))))))
                                        (LETT |i| (QSADD1 |i|) . #9#)
                                        #11# G191 (EXIT NIL))
                                       (COND
                                         (#8# #7#)
                                         ('T (|spadConstant| $ 54))))
                                     (QREFELT $ 59)) . #9#)))
                (LETT #3# (CDR #3#) . #9#) #11# G191 (EXIT NIL))
           (EXIT (LIST |pn| |qn| |rn|)))))) 

(DEFUN |GOSPER;GosperDegBd| (|pn| |qn| |rn| |n| |newV| $)
  (PROG (|np| |qnplus1| |lplus| |lminus| |degp| |k| |kk| |ck| |ckm1|
              |nkm1| |nk| |headfn| |headfnm1| |pk| |lcpk| #0=#:G1929
              |k0|)
    (RETURN
      (SEQ (LETT |np| (SPADCALL |n| (QREFELT $ 43))
                 . #1=(|GOSPER;GosperDegBd|))
           (LETT |qnplus1|
                 (SPADCALL |qn| |n|
                     (SPADCALL |np| (|spadConstant| $ 54)
                         (QREFELT $ 55))
                     (QREFELT $ 56)) . #1#)
           (LETT |lplus|
                 (|GOSPER;deg0|
                     (SPADCALL |qnplus1| |rn| (QREFELT $ 55)) |n| $) . #1#)
           (LETT |lminus|
                 (|GOSPER;deg0|
                     (SPADCALL |qnplus1| |rn| (QREFELT $ 61)) |n| $) . #1#)
           (LETT |degp| (|GOSPER;deg0| |pn| |n| $) . #1#)
           (LETT |k| (- |degp| (MAX (- |lplus| 1) |lminus|)) . #1#)
           (EXIT (COND
                   ((< |lminus| |lplus|)
                    (SEQ (LETT |kk|
                               (SPADCALL (SPADCALL |newV|)
                                   (QREFELT $ 43)) . #1#)
                         (LETT |ck|
                               (SPADCALL (SPADCALL |newV|)
                                   (QREFELT $ 43)) . #1#)
                         (LETT |ckm1|
                               (SPADCALL (SPADCALL |newV|)
                                   (QREFELT $ 43)) . #1#)
                         (LETT |nkm1|
                               (SPADCALL (SPADCALL |newV|)
                                   (QREFELT $ 43)) . #1#)
                         (LETT |nk|
                               (SPADCALL |np| |nkm1| (QREFELT $ 59)) . #1#)
                         (LETT |headfn|
                               (SPADCALL
                                   (SPADCALL |ck| |nk| (QREFELT $ 59))
                                   (SPADCALL |ckm1| |nkm1|
                                    (QREFELT $ 59))
                                   (QREFELT $ 55)) . #1#)
                         (LETT |headfnm1|
                               (SPADCALL
                                   (SPADCALL |ck| |nk| (QREFELT $ 59))
                                   (SPADCALL
                                    (SPADCALL |ckm1|
                                     (SPADCALL |kk| |ck|
                                      (QREFELT $ 59))
                                     (QREFELT $ 61))
                                    |nkm1| (QREFELT $ 59))
                                   (QREFELT $ 55)) . #1#)
                         (LETT |pk|
                               (SPADCALL
                                   (SPADCALL |qnplus1| |headfn|
                                    (QREFELT $ 59))
                                   (SPADCALL |rn| |headfnm1|
                                    (QREFELT $ 59))
                                   (QREFELT $ 61)) . #1#)
                         (LETT |lcpk|
                               (|GOSPER;pCoef| |pk|
                                   (SPADCALL
                                    (SPADCALL |ck| |np| (QREFELT $ 59))
                                    |nkm1| (QREFELT $ 59))
                                   $) . #1#)
                         (LETT |k0|
                               (|GOSPER;linearAndNNIntRoot| |lcpk|
                                   (PROG2
                                    (LETT #0#
                                     (SPADCALL |kk| (QREFELT $ 101)) . #1#)
                                    (QCDR #0#)
                                     (|check-union| (QEQCAR #0# 0)
                                      (QREFELT $ 7) #0#))
                                   $) . #1#)
                         (EXIT (COND
                                 ((QEQCAR |k0| 1) |k|)
                                 (#2='T (MAX (QCDR |k0|) |k|))))))
                   (#2# |k|))))))) 

(DEFUN |GOSPER;pCoef| (|p| |nom| $)
  (PROG (|vlist| |v| #0=#:G1942 |unom| |pow| |up|)
    (RETURN
      (SEQ (COND
             ((NULL (SPADCALL |nom| (QREFELT $ 102)))
              (|error| "pCoef requires a monomial 2nd arg"))
             ('T
              (SEQ (LETT |vlist| (SPADCALL |nom| (QREFELT $ 104))
                         . #1=(|GOSPER;pCoef|))
                   (SEQ (LETT |v| NIL . #1#) (LETT #0# |vlist| . #1#)
                        G190
                        (COND
                          ((OR (ATOM #0#)
                               (PROGN (LETT |v| (CAR #0#) . #1#) NIL)
                               (NULL (COND
                                       ((SPADCALL |p|
                                         (|spadConstant| $ 60)
                                         (QREFELT $ 105))
                                        'NIL)
                                       ('T 'T))))
                           (GO G191)))
                        (SEQ (LETT |unom|
                                   (SPADCALL |nom| |v| (QREFELT $ 63)) . #1#)
                             (LETT |pow|
                                   (SPADCALL |unom| (QREFELT $ 65)) . #1#)
                             (LETT |nom|
                                   (SPADCALL |unom| (QREFELT $ 73)) . #1#)
                             (LETT |up|
                                   (SPADCALL |p| |v| (QREFELT $ 63)) . #1#)
                             (EXIT (LETT |p|
                                    (SPADCALL |up| |pow|
                                     (QREFELT $ 106)) . #1#)))
                        (LETT #0# (CDR #0#) . #1#) (GO G190) G191
                        (EXIT NIL))
                   (EXIT |p|)))))))) 

(DEFUN |GOSPER;linearAndNNIntRoot| (|mp| |v| $)
  (PROG (|p| |p1| |p0| #0=#:G1953 |rt|)
    (RETURN
      (SEQ (EXIT (SEQ (LETT |p| (SPADCALL |mp| |v| (QREFELT $ 63))
                            . #1=(|GOSPER;linearAndNNIntRoot|))
                      (COND
                        ((NULL (EQL (SPADCALL |p| (QREFELT $ 65)) 1))
                         (EXIT (CONS 1 "failed"))))
                      (SEQ (LETT |p1|
                                 (SPADCALL
                                     (SPADCALL |p| 1 (QREFELT $ 106))
                                     (QREFELT $ 107)) . #1#)
                           (EXIT (COND
                                   ((QEQCAR |p1| 1)
                                    (PROGN
                                      (LETT #0#
                                       (CONS 1 "failed") . #1#)
                                      (GO #0#)))
                                   ('T
                                    (SEQ
                                     (LETT |p0|
                                      (SPADCALL
                                       (SPADCALL |p| 0 (QREFELT $ 106))
                                       (QREFELT $ 107)) . #1#)
                                     (EXIT
                                      (COND
                                        ((QEQCAR |p0| 1)
                                         (PROGN
                                           (LETT #0#
                                            (CONS 1 "failed") . #1#)
                                           (GO #0#))))))))))
                      (LETT |rt|
                            (SPADCALL
                                (SPADCALL (QCDR |p0|) (QCDR |p1|)
                                    (QREFELT $ 108))
                                (QREFELT $ 109)) . #1#)
                      (COND
                        ((OR (SPADCALL |rt| (|spadConstant| $ 110)
                                 (QREFELT $ 111))
                             (NULL (EQL (SPADCALL |rt| (QREFELT $ 112))
                                    1)))
                         (EXIT (CONS 1 "failed"))))
                      (EXIT (CONS 0 (SPADCALL |rt| (QREFELT $ 113))))))
           #0# (EXIT #0#))))) 

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

(DEFUN |GosperSummationMethod;| (|#1| |#2| |#3| |#4| |#5|)
  (PROG (DV$1 DV$2 DV$3 DV$4 DV$5 |dv$| $ |pv$|)
    (RETURN
      (PROGN
        (LETT DV$1 (|devaluate| |#1|) . #0=(|GosperSummationMethod|))
        (LETT DV$2 (|devaluate| |#2|) . #0#)
        (LETT DV$3 (|devaluate| |#3|) . #0#)
        (LETT DV$4 (|devaluate| |#4|) . #0#)
        (LETT DV$5 (|devaluate| |#5|) . #0#)
        (LETT |dv$|
              (LIST '|GosperSummationMethod| DV$1 DV$2 DV$3 DV$4 DV$5) . #0#)
        (LETT $ (GETREFV 114) . #0#)
        (QSETREFV $ 0 |dv$|)
        (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #0#))
        (|haddProp| |$ConstructorCache| '|GosperSummationMethod|
            (LIST DV$1 DV$2 DV$3 DV$4 DV$5) (CONS 1 $))
        (|stuffDomainSlots| $)
        (QSETREFV $ 6 |#1|)
        (QSETREFV $ 7 |#2|)
        (QSETREFV $ 8 |#3|)
        (QSETREFV $ 9 |#4|)
        (QSETREFV $ 10 |#5|)
        $)))) 

(MAKEPROP '|GosperSummationMethod| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|)
             (|local| |#3|) (|local| |#4|) (|local| |#5|) (|Boolean|)
             (|SparseMultivariatePolynomial| 27 7) (0 . |zero?|)
             (5 . |One|) (9 . |One|) (|NonNegativeInteger|)
             (13 . |degree|) (19 . |coerce|) (24 . |coerce|)
             (|Union| 27 '"failed") (29 . |retractIfCan|)
             (|Fraction| 12) (34 . |numer|) (39 . |denom|) (44 . /)
             (50 . |coerce|) (|Fraction| 76) (55 . |coerce|)
             (|Mapping| 10 7) (|Mapping| 10 27)
             (|PolynomialCategoryLifting| (|IndexedExponents| 7) 7 27
                 12 10)
             (60 . |map|) (|Union| 10 '"failed") (|Mapping| 7)
             |GOSPER;GospersMethod;QVMU;5| (67 . |numer|)
             (72 . |denom|) (77 . /) (|List| 8) (83 . |coefficients|)
             (|Mapping| 11 8) (88 . |every?|) (94 . |coerce|)
             (99 . |coerce|) (|Mapping| 12 7) (|Mapping| 12 8)
             (|PolynomialCategoryLifting| 6 7 8 9 12) (104 . |map|)
             (|List| 12) (111 . |second|) (116 . |third|)
             (121 . |Zero|) (125 . |Zero|) (129 . |One|) (133 . +)
             (139 . |eval|) (146 . *) (152 . **) (158 . *)
             (164 . |Zero|) (168 . -) (|SparseUnivariatePolynomial| $)
             (174 . |univariate|) (|SparseUnivariatePolynomial| 12)
             (180 . |degree|) (|Matrix| 22) (185 . |zero|)
             (191 . |Zero|) (|Vector| 22) (195 . |new|) (201 . |Zero|)
             (205 . =) (211 . |leadingCoefficient|) (216 . |reductum|)
             (221 . |coerce|) (|Integer|) (226 . |minIndex|) (231 . -)
             (236 . |setelt|) (243 . |minRowIndex|)
             (248 . |minColIndex|) (253 . |qsetelt!|)
             (|Union| 69 '"failed")
             (|LinearSystemMatrixPackage| 22 69 69 66)
             (261 . |particularSolution|) (267 . |elt|) (273 . *)
             (279 . +) (285 . |resultant|) (|Factored| 12)
             (|MRationalFactorize| (|IndexedExponents| 7) 7 76 12)
             (292 . |factor|)
             (|Record| (|:| |factor| 12) (|:| |exponent| 76))
             (|List| 93) (297 . |factors|) (302 . |coerce|)
             (307 . |gcd|) (|Union| $ '"failed") (313 . |exquo|)
             (|Union| 7 '"failed") (319 . |mainVariable|)
             (324 . |monomial?|) (|List| 7) (329 . |variables|)
             (334 . =) (340 . |coefficient|) (346 . |retractIfCan|)
             (351 . /) (357 . -) (362 . |Zero|) (366 . <)
             (372 . |denom|) (377 . |numer|))
          '#(|GospersMethod| 382) 'NIL
          (CONS (|makeByteWordVec2| 1 'NIL)
                (CONS '#()
                      (CONS '#()
                            (|makeByteWordVec2| 113
                                '(1 12 11 0 13 0 8 0 14 0 9 0 15 2 12
                                  16 0 7 17 1 9 0 8 18 1 10 0 9 19 1 10
                                  20 0 21 1 22 12 0 23 1 22 12 0 24 2
                                  10 0 0 0 25 1 9 0 7 26 1 10 0 27 28 3
                                  31 10 29 30 12 32 1 10 9 0 36 1 10 9
                                  0 37 2 22 0 12 12 38 1 9 39 0 40 2 39
                                  11 41 0 42 1 12 0 7 43 1 12 0 27 44 3
                                  47 12 45 46 9 48 1 49 12 0 50 1 49 12
                                  0 51 0 6 0 52 0 8 0 53 0 12 0 54 2 12
                                  0 0 0 55 3 12 0 0 7 0 56 2 22 0 0 0
                                  57 2 12 0 0 16 58 2 12 0 0 0 59 0 12
                                  0 60 2 12 0 0 0 61 2 12 62 0 7 63 1
                                  64 16 0 65 2 66 0 16 16 67 0 22 0 68
                                  2 69 0 16 22 70 0 64 0 71 2 64 11 0 0
                                  72 1 64 12 0 73 1 64 0 0 74 1 22 0 12
                                  75 1 69 76 0 77 1 22 0 0 78 3 69 22 0
                                  76 22 79 1 66 76 0 80 1 66 76 0 81 4
                                  66 22 0 76 76 22 82 2 84 83 66 69 85
                                  2 69 22 0 76 86 2 22 0 12 0 87 2 22 0
                                  0 0 88 3 12 0 0 0 7 89 1 91 90 12 92
                                  1 90 94 0 95 1 12 0 76 96 2 12 0 0 0
                                  97 2 12 98 0 0 99 1 12 100 0 101 1 12
                                  11 0 102 1 12 103 0 104 2 12 11 0 0
                                  105 2 64 12 0 16 106 1 12 20 0 107 2
                                  27 0 0 0 108 1 27 0 0 109 0 27 0 110
                                  2 27 11 0 0 111 1 27 76 0 112 1 27 76
                                  0 113 3 0 33 10 7 34 35)))))
          '|lookupComplete|)) 
