
(/VERSIONCHECK 2) 

(DEFUN |PFRPAC;partialFraction;FSA;1| (|rf| |v| $)
  (PROG (|df|)
    (RETURN
      (SEQ (LETT |df|
                 (SPADCALL (SPADCALL |rf| (QREFELT $ 9))
                     (QREFELT $ 12))
                 |PFRPAC;partialFraction;FSA;1|)
           (EXIT (SPADCALL (SPADCALL |rf| (QREFELT $ 13)) |df| |v|
                     (QREFELT $ 16))))))) 

(DEFUN |PFRPAC;makeSup| (|p| |v| $)
  (PROG (|up|)
    (RETURN
      (SEQ (LETT |up| (SPADCALL |p| |v| (QREFELT $ 19))
                 |PFRPAC;makeSup|)
           (EXIT (SPADCALL (CONS #'|PFRPAC;makeSup!0| $) |up|
                     (QREFELT $ 25))))))) 

(DEFUN |PFRPAC;makeSup!0| (|#1| $) (SPADCALL |#1| (QREFELT $ 20))) 

(DEFUN |PFRPAC;partialFraction;PFSA;3| (|p| |facq| |v| $)
  (PROG (|up| |fup| #0=#:G1831 |u| #1=#:G1832 |ffact| |fcont| |ff|
              #2=#:G1833 #3=#:G1828 #4=#:G1826 #5=#:G1827 |nflist|
              |pfup|)
    (RETURN
      (SEQ (LETT |up|
                 (|UnivariatePolynomial| |v|
                     (|Fraction| (|Polynomial| (QREFELT $ 6))))
                 . #6=(|PFRPAC;partialFraction;PFSA;3|))
           (LETT |fup| (|Factored| |up|) . #6#)
           (LETT |ffact|
                 (PROGN
                   (LETT #0# NIL . #6#)
                   (SEQ (LETT |u| NIL . #6#)
                        (LETT #1#
                              (SPADCALL |facq| (QREFELT $ 28)) . #6#)
                        G190
                        (COND
                          ((OR (ATOM #1#)
                               (PROGN (LETT |u| (CAR #1#) . #6#) NIL))
                           #7=(GO G191)))
                        (SEQ (EXIT (LETT #0#
                                    (CONS
                                     (CONS
                                      (|PFRPAC;makeSup| (QCAR |u|) |v|
                                       $)
                                      (QCDR |u|))
                                     #0#) . #6#)))
                        (LETT #1# (CDR #1#) . #6#) #8=(GO G190) G191
                        (EXIT (NREVERSE0 #0#)))) . #6#)
           (LETT |fcont|
                 (|PFRPAC;makeSup| (SPADCALL |facq| (QREFELT $ 29)) |v|
                     $) . #6#)
           (LETT |nflist|
                 (SPADCALL |fcont|
                     (PROGN
                       (LETT #5# NIL . #6#)
                       (SEQ (LETT |ff| NIL . #6#)
                            (LETT #2# |ffact| . #6#) G190
                            (COND
                              ((OR (ATOM #2#)
                                   (PROGN
                                     (LETT |ff| (CAR #2#) . #6#)
                                     NIL))
                               #7#))
                            (SEQ (EXIT (PROGN
                                         (LETT #3#
                                          (SPADCALL (QCAR |ff|)
                                           (QCDR |ff|)
                                           (|compiledLookupCheck|
                                            '|primeFactor|
                                            (LIST '$ (|devaluate| |up|)
                                             (LIST '|Integer|))
                                            |fup|)) . #6#)
                                         (COND
                                           (#5#
                                            (LETT #4#
                                             (SPADCALL #4# #3#
                                              (|compiledLookupCheck| '*
                                               (LIST '$ '$ '$) |fup|)) . #6#))
                                           ('T
                                            (PROGN
                                              (LETT #4# #3# . #6#)
                                              (LETT #5# 'T . #6#)))))))
                            (LETT #2# (CDR #2#) . #6#) #8# G191
                            (EXIT NIL))
                       (COND
                         (#5# #4#)
                         ('T
                          (SPADCALL
                              (|compiledLookupCheck| '|One| (LIST '$)
                                  |fup|)))))
                     (|compiledLookupCheck| '*
                         (LIST '$ (|devaluate| |up|) '$) |fup|)) . #6#)
           (LETT |pfup|
                 (SPADCALL (|PFRPAC;makeSup| |p| |v| $) |nflist|
                     (|compiledLookupCheck| '|partialFraction|
                         (LIST '$ (|devaluate| |up|)
                               (LIST '|Factored| (|devaluate| |up|)))
                         (|PartialFraction| |up|))) . #6#)
           (EXIT (SPADCALL |pfup|
                     (|compiledLookupCheck| '|coerce|
                         (LIST (LIST '|Any|)
                               (LIST '|PartialFraction|
                                     (|devaluate| |up|)))
                         (|AnyFunctions1| (|PartialFraction| |up|))))))))) 

(DEFUN |PartialFractionPackage| (#0=#:G1834)
  (PROG ()
    (RETURN
      (PROG (#1=#:G1835)
        (RETURN
          (COND
            ((LETT #1#
                   (|lassocShiftWithFunction| (LIST (|devaluate| #0#))
                       (HGET |$ConstructorCache|
                             '|PartialFractionPackage|)
                       '|domainEqualList|)
                   . #2=(|PartialFractionPackage|))
             (|CDRwithIncrement| #1#))
            ('T
             (UNWIND-PROTECT
               (PROG1 (|PartialFractionPackage;| #0#)
                 (LETT #1# T . #2#))
               (COND
                 ((NOT #1#)
                  (HREM |$ConstructorCache| '|PartialFractionPackage|))))))))))) 

(DEFUN |PartialFractionPackage;| (|#1|)
  (PROG (DV$1 |dv$| $ |pv$|)
    (RETURN
      (PROGN
        (LETT DV$1 (|devaluate| |#1|) . #0=(|PartialFractionPackage|))
        (LETT |dv$| (LIST '|PartialFractionPackage| DV$1) . #0#)
        (LETT $ (GETREFV 30) . #0#)
        (QSETREFV $ 0 |dv$|)
        (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #0#))
        (|haddProp| |$ConstructorCache| '|PartialFractionPackage|
            (LIST DV$1) (CONS 1 $))
        (|stuffDomainSlots| $)
        (QSETREFV $ 6 |#1|)
        $)))) 

(MAKEPROP '|PartialFractionPackage| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|Polynomial| 6)
             (|Fraction| 7) (0 . |denom|) (|Factored| 7)
             (|MultivariateFactorize| 15 (|IndexedExponents| 15) 6 7)
             (5 . |factor|) (10 . |numer|) (|Any|) (|Symbol|)
             |PFRPAC;partialFraction;PFSA;3|
             |PFRPAC;partialFraction;FSA;1|
             (|SparseUnivariatePolynomial| $) (15 . |univariate|)
             (21 . |coerce|) (|SparseUnivariatePolynomial| 8)
             (|Mapping| 8 7) (|SparseUnivariatePolynomial| 7)
             (|UnivariatePolynomialCategoryFunctions2| 7 23 8 21)
             (26 . |map|)
             (|Record| (|:| |factor| 7) (|:| |exponent| (|Integer|)))
             (|List| 26) (32 . |factors|) (37 . |unit|))
          '#(|partialFraction| 42) 'NIL
          (CONS (|makeByteWordVec2| 1 'NIL)
                (CONS '#()
                      (CONS '#()
                            (|makeByteWordVec2| 29
                                '(1 8 7 0 9 1 11 10 7 12 1 8 7 0 13 2 7
                                  18 0 15 19 1 8 0 7 20 2 24 21 22 23
                                  25 1 10 27 0 28 1 10 7 0 29 3 0 14 7
                                  10 15 16 2 0 14 8 15 17)))))
          '|lookupComplete|)) 
