
(/VERSIONCHECK 2) 

(DEFUN |POLY;coerce;$Of;1| (|p| $)
  (PROG (|r| #0=#:G1825 |a|)
    (RETURN
      (SEQ (LETT |r| (SPADCALL |p| (QREFELT $ 8))
                 . #1=(|POLY;coerce;$Of;1|))
           (EXIT (COND
                   ((QEQCAR |r| 0)
                    (SPADCALL (QCDR |r|) (QREFELT $ 10)))
                   (#2='T
                    (SEQ (LETT |a|
                               (COND
                                 ((SPADCALL (QREFELT $ 13))
                                  (SPADCALL
                                      (SPADCALL |p| (QREFELT $ 15))
                                      (QREFELT $ 17)))
                                 (#2#
                                  (PROG2 (LETT #0#
                                          (SPADCALL |p| (QREFELT $ 19)) . #1#)
                                         (QCDR #0#)
                                    (|check-union| (QEQCAR #0# 0)
                                     (|Symbol|) #0#)))) . #1#)
                         (EXIT (SPADCALL
                                   (SPADCALL |p| |a| (QREFELT $ 21))
                                   (SPADCALL |a| (QREFELT $ 22))
                                   (QREFELT $ 24))))))))))) 

(DEFUN |POLY;integrate;$S$;2| (|p| |x| $)
  (SPADCALL (SPADCALL (SPADCALL |p| |x| (QREFELT $ 21)) (QREFELT $ 26))
      (SPADCALL |x| (QREFELT $ 27)) (QREFELT $ 28))) 

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

(DEFUN |Polynomial;| (|#1|)
  (PROG (DV$1 |dv$| $ #0=#:G1859 |pv$|)
    (RETURN
      (PROGN
        (LETT DV$1 (|devaluate| |#1|) . #1=(|Polynomial|))
        (LETT |dv$| (LIST '|Polynomial| DV$1) . #1#)
        (LETT $ (GETREFV 69) . #1#)
        (QSETREFV $ 0 |dv$|)
        (QSETREFV $ 3
            (LETT |pv$|
                  (|buildPredVector| 0 0
                      (LIST (|HasCategory| |#1|
                                '(|PolynomialFactorizationExplicit|))
                            (|HasCategory| |#1| '(|CommutativeRing|))
                            (|HasCategory| |#1| '(|IntegralDomain|))
                            (OR (|HasCategory| |#1|
                                    '(|CommutativeRing|))
                                (|HasCategory| |#1|
                                    '(|IntegralDomain|)))
                            (|HasCategory| |#1|
                                '(|canonicalUnitNormal|))
                            (AND (|HasCategory| (|Symbol|)
                                     '(|PatternMatchable| (|Float|)))
                                 (|HasCategory| |#1|
                                     '(|PatternMatchable| (|Float|))))
                            (AND (|HasCategory| (|Symbol|)
                                     '(|PatternMatchable| (|Integer|)))
                                 (|HasCategory| |#1|
                                     '(|PatternMatchable| (|Integer|))))
                            (AND (|HasCategory| (|Symbol|)
                                     '(|ConvertibleTo|
                                       (|Pattern| (|Float|))))
                                 (|HasCategory| |#1|
                                     '(|ConvertibleTo|
                                       (|Pattern| (|Float|)))))
                            (AND (|HasCategory| (|Symbol|)
                                     '(|ConvertibleTo|
                                       (|Pattern| (|Integer|))))
                                 (|HasCategory| |#1|
                                     '(|ConvertibleTo|
                                       (|Pattern| (|Integer|)))))
                            (AND (|HasCategory| (|Symbol|)
                                     '(|ConvertibleTo| (|InputForm|)))
                                 (|HasCategory| |#1|
                                     '(|ConvertibleTo| (|InputForm|))))
                            (|HasCategory| |#1| '(|OrderedSet|))
                            (|HasCategory| |#1|
                                '(|LinearlyExplicitRingOver|
                                     (|Integer|)))
                            (|HasCategory| |#1|
                                '(|Algebra| (|Fraction| (|Integer|))))
                            (|HasCategory| |#1|
                                '(|CharacteristicNonZero|))
                            (|HasCategory| |#1|
                                '(|CharacteristicZero|))
                            (|HasCategory| |#1|
                                '(|RetractableTo| (|Integer|)))
                            (|HasCategory| |#1|
                                '(|RetractableTo|
                                     (|Fraction| (|Integer|))))
                            (|HasCategory| |#1| '(|Field|))
                            (OR (|HasCategory| |#1|
                                    '(|Algebra|
                                      (|Fraction| (|Integer|))))
                                (|HasCategory| |#1|
                                    '(|RetractableTo|
                                      (|Fraction| (|Integer|)))))
                            (LETT #0#
                                  (|HasCategory| |#1| '(|GcdDomain|)) . #1#)
                            (OR (|HasCategory| |#1|
                                    '(|CommutativeRing|))
                                #0#
                                (|HasCategory| |#1|
                                    '(|IntegralDomain|))
                                (|HasCategory| |#1|
                                    '(|PolynomialFactorizationExplicit|)))
                            (OR #0#
                                (|HasCategory| |#1|
                                    '(|IntegralDomain|))
                                (|HasCategory| |#1|
                                    '(|PolynomialFactorizationExplicit|)))
                            (OR #0#
                                (|HasCategory| |#1|
                                    '(|PolynomialFactorizationExplicit|))))) . #1#))
        (|haddProp| |$ConstructorCache| '|Polynomial| (LIST DV$1)
                    (CONS 1 $))
        (|stuffDomainSlots| $)
        (QSETREFV $ 6 |#1|)
        (AND (|HasCategory| $ '(|CharacteristicNonZero|))
             (|HasCategory| |#1| '(|PolynomialFactorizationExplicit|))
             (|augmentPredVector| $ 8388608))
        (AND (OR (AND (|HasCategory| $ '(|CharacteristicNonZero|))
                      (|HasCategory| |#1|
                          '(|PolynomialFactorizationExplicit|)))
                 (|HasCategory| |#1| '(|CharacteristicNonZero|)))
             (|augmentPredVector| $ 16777216))
        (COND
          ((|testBitVector| |pv$| 13)
           (QSETREFV $ 29
               (CONS (|dispatchFunction| |POLY;integrate;$S$;2|) $))))
        $)))) 

(MAKEPROP '|Polynomial| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL (|SparseMultivariatePolynomial| 6 16)
             (|local| |#1|) (|Union| 6 '"failed") (0 . |retractIfCan|)
             (|OutputForm|) (5 . |coerce|) (|Boolean|)
             (|UserDefinedPartialOrdering| 16) (10 . |userOrdered?|)
             (|List| 16) (14 . |variables|) (|Symbol|) (19 . |largest|)
             (|Union| 16 '"failed") (24 . |mainVariable|)
             (|SparseUnivariatePolynomial| $) (29 . |univariate|)
             (35 . |coerce|) (|SparseUnivariatePolynomial| $$)
             (40 . |outputForm|) |POLY;coerce;$Of;1| (46 . |integrate|)
             (51 . |coerce|) (56 . |elt|) (62 . |integrate|)
             (|InputForm|) (|Pattern| (|Float|)) (|Pattern| 51)
             (|PatternMatchResult| (|Float|) $)
             (|PatternMatchResult| 51 $) (|Union| 45 '"failed")
             (|Matrix| $) (|Union| $ '"failed") (|Fraction| 51)
             (|NonNegativeInteger|) (|List| $) (|Factored| $)
             (|Record| (|:| |unit| $) (|:| |canonical| $)
                 (|:| |associate| $))
             (|Matrix| 51)
             (|Record| (|:| |mat| 43) (|:| |vec| (|Vector| 51)))
             (|Vector| $) (|Factored| 20) (|Union| 48 '"failed")
             (|List| 20) (|Union| 38 '"failed") (|Union| 51 '"failed")
             (|Integer|) (|Union| 40 '"failed")
             (|Record| (|:| |var| 16) (|:| |exponent| 39))
             (|Union| 53 '"failed") (|List| 39)
             (|SparseUnivariatePolynomial| 6)
             (|Record| (|:| |quotient| $) (|:| |remainder| $))
             (|Record| (|:| |mat| 59) (|:| |vec| (|Vector| 6)))
             (|Matrix| 6) (|List| 6) (|List| 62) (|Equation| $)
             (|Mapping| 6 6) (|IndexedExponents| 16) (|Mapping| 64 64)
             (|PositiveInteger|) (|SingleInteger|) (|String|))
          '#(|variables| 68 |univariate| 73 |retractIfCan| 79
             |mainVariable| 84 |integrate| 89 |coerce| 95)
          'NIL
          (CONS (|makeByteWordVec2| 23
                    '(0 1 0 1 0 23 22 0 3 13 2 0 0 21 3 3 12 13 14 15 2
                      0 0 4 13 0 0 0 0 2 13 13 0 0 0 0 0 0 0 0 6 7 11 0
                      0 0 0 0 0 0 0 0 0 0 2 3 5 8 9 10 16 17))
                (CONS '#(|PolynomialCategory&|
                         |PolynomialFactorizationExplicit&|
                         |FiniteAbelianMonoidRing&|
                         |UniqueFactorizationDomain&|
                         |AbelianMonoidRing&| |GcdDomain&|
                         |IntegralDomain&|
                         |FullyLinearlyExplicitRingOver&| |Algebra&|
                         |Algebra&| |Algebra&|
                         |PartialDifferentialRing&| NIL NIL |Module&|
                         NIL NIL |Module&| NIL NIL |Module&| NIL
                         |Ring&| NIL NIL NIL NIL NIL NIL NIL NIL NIL
                         |AbelianGroup&| NIL NIL |AbelianMonoid&|
                         |Monoid&| NIL |SemiGroup&| |AbelianSemiGroup&|
                         NIL NIL |OrderedSet&| |Evalable&|
                         |FullyRetractableTo&| |SetCategory&|
                         |RetractableTo&| |InnerEvalable&|
                         |InnerEvalable&| |InnerEvalable&|
                         |RetractableTo&| NIL |BasicType&| NIL NIL NIL
                         NIL NIL NIL NIL |RetractableTo&|
                         |RetractableTo&|)
                      (CONS '#((|PolynomialCategory| 6 64 16)
                               (|PolynomialFactorizationExplicit|)
                               (|FiniteAbelianMonoidRing| 6 64)
                               (|UniqueFactorizationDomain|)
                               (|AbelianMonoidRing| 6 64) (|GcdDomain|)
                               (|IntegralDomain|)
                               (|FullyLinearlyExplicitRingOver| 6)
                               (|Algebra| $$) (|Algebra| 38)
                               (|Algebra| 6)
                               (|PartialDifferentialRing| 16)
                               (|LinearlyExplicitRingOver| 6)
                               (|CommutativeRing|) (|Module| $$)
                               (|EntireRing|)
                               (|LinearlyExplicitRingOver| 51)
                               (|Module| 38) (|CharacteristicNonZero|)
                               (|CharacteristicZero|) (|Module| 6)
                               (|BiModule| 6 6) (|Ring|)
                               (|BiModule| $$ $$) (|BiModule| 38 38)
                               (|LeftModule| 6) (|Rng|)
                               (|RightModule| 6) (|LeftModule| $$)
                               (|RightModule| $$) (|LeftModule| 38)
                               (|RightModule| 38) (|AbelianGroup|)
                               (|CancellationAbelianMonoid|)
                               (|SemiRing|) (|AbelianMonoid|)
                               (|Monoid|) (|SemiRng|) (|SemiGroup|)
                               (|AbelianSemiGroup|)
                               (|PatternMatchable| (|Float|))
                               (|PatternMatchable| 51) (|OrderedSet|)
                               (|Evalable| $$) (|FullyRetractableTo| 6)
                               (|SetCategory|) (|RetractableTo| 16)
                               (|InnerEvalable| 16 $$)
                               (|InnerEvalable| 16 6)
                               (|InnerEvalable| $$ $$)
                               (|RetractableTo| 6) (|unitsKnown|)
                               (|BasicType|) (|CoercibleTo| 9)
                               (|CommutativeStar|) (|noZeroDivisors|)
                               (|canonicalUnitNormal|)
                               (|ConvertibleTo| 31)
                               (|ConvertibleTo| 32)
                               (|ConvertibleTo| 30)
                               (|RetractableTo| 51)
                               (|RetractableTo| 38))
                            (|makeByteWordVec2| 29
                                '(1 0 7 0 8 1 6 9 0 10 0 12 11 13 1 0
                                  14 0 15 1 12 16 14 17 1 0 18 0 19 2 0
                                  20 0 16 21 1 16 9 0 22 2 23 9 0 9 24
                                  1 23 0 0 26 1 0 0 16 27 2 23 2 0 2 28
                                  2 0 0 0 16 29 1 0 14 0 15 2 0 20 0 16
                                  21 1 0 7 0 8 1 0 18 0 19 2 13 0 0 16
                                  29 1 0 0 16 27 1 0 9 0 25)))))
          '|lookupIncomplete|)) 
