
(/VERSIONCHECK 2) 

(DEFUN |PFOTOOLS;mix;LI;1| (|l| $)
  (PROG (#0=#:G1822 #1=#:G1823 #2=#:G1824 |p| #3=#:G1825)
    (RETURN
      (SEQ (SPADCALL
               (SPADCALL
                   (PROGN
                     (LETT #0# NIL . #4=(|PFOTOOLS;mix;LI;1|))
                     (SEQ (LETT |p| NIL . #4#) (LETT #1# |l| . #4#)
                          G190
                          (COND
                            ((OR (ATOM #1#)
                                 (PROGN
                                   (LETT |p| (CAR #1#) . #4#)
                                   NIL))
                             #5=(GO G191)))
                          (SEQ (EXIT (LETT #0#
                                      (CONS (QCAR |p|) #0#) . #4#)))
                          (LETT #1# (CDR #1#) . #4#) #6=(GO G190) G191
                          (EXIT (NREVERSE0 #0#))))
                   (QREFELT $ 10))
               (SPADCALL
                   (PROGN
                     (LETT #2# NIL . #4#)
                     (SEQ (LETT |p| NIL . #4#) (LETT #3# |l| . #4#)
                          G190
                          (COND
                            ((OR (ATOM #3#)
                                 (PROGN
                                   (LETT |p| (CAR #3#) . #4#)
                                   NIL))
                             #5#))
                          (SEQ (EXIT (LETT #2#
                                      (CONS (QCDR |p|) #2#) . #4#)))
                          (LETT #3# (CDR #3#) . #4#) #6# G191
                          (EXIT (NREVERSE0 #2#))))
                   (QREFELT $ 11))
               (QREFELT $ 12)))))) 

(DEFUN |PFOTOOLS;badNum;UPUPI;2| (|p| $)
  (PROG (#0=#:G1829 |c| #1=#:G1830)
    (RETURN
      (SEQ (SPADCALL
               (PROGN
                 (LETT #0# NIL . #2=(|PFOTOOLS;badNum;UPUPI;2|))
                 (SEQ (LETT |c| NIL . #2#)
                      (LETT #1# (SPADCALL |p| (QREFELT $ 17)) . #2#)
                      G190
                      (COND
                        ((OR (ATOM #1#)
                             (PROGN (LETT |c| (CAR #1#) . #2#) NIL))
                         (GO G191)))
                      (SEQ (EXIT (LETT #0#
                                       (CONS
                                        (SPADCALL
                                         (SPADCALL |c| (QREFELT $ 19))
                                         (QREFELT $ 20))
                                        #0#) . #2#)))
                      (LETT #1# (CDR #1#) . #2#) (GO G190) G191
                      (EXIT (NREVERSE0 #0#))))
               (QREFELT $ 15)))))) 

(DEFUN |PFOTOOLS;polyred;2UPUP;3| (|r| $)
  (PROG (#0=#:G1835 |c| #1=#:G1836)
    (RETURN
      (SEQ (SPADCALL
               (SPADCALL
                   (PROGN
                     (LETT #0# NIL . #2=(|PFOTOOLS;polyred;2UPUP;3|))
                     (SEQ (LETT |c| NIL . #2#)
                          (LETT #1#
                                (SPADCALL |r| (QREFELT $ 17)) . #2#)
                          G190
                          (COND
                            ((OR (ATOM #1#)
                                 (PROGN
                                   (LETT |c| (CAR #1#) . #2#)
                                   NIL))
                             (GO G191)))
                          (SEQ (EXIT (LETT #0#
                                      (CONS
                                       (SPADCALL
                                        (SPADCALL |c| (QREFELT $ 19))
                                        (QREFELT $ 23))
                                       #0#) . #2#)))
                          (LETT #1# (CDR #1#) . #2#) (GO G190) G191
                          (EXIT (NREVERSE0 #0#))))
                   (QREFELT $ 10))
               |r| (QREFELT $ 24)))))) 

(DEFUN |PFOTOOLS;badNum;UPR;4| (|p| $)
  (PROG (|cd| #0=#:G1843 |c| #1=#:G1844)
    (RETURN
      (SEQ (LETT |cd| (SPADCALL |p| (QREFELT $ 27))
                 . #2=(|PFOTOOLS;badNum;UPR;4|))
           (EXIT (CONS (QCDR |cd|)
                       (SPADCALL
                           (PROGN
                             (LETT #0# NIL . #2#)
                             (SEQ (LETT |c| NIL . #2#)
                                  (LETT #1#
                                        (SPADCALL (QCAR |cd|)
                                         (QREFELT $ 29)) . #2#)
                                  G190
                                  (COND
                                    ((OR (ATOM #1#)
                                      (PROGN
                                        (LETT |c| (CAR #1#) . #2#)
                                        NIL))
                                     (GO G191)))
                                  (SEQ (EXIT
                                        (LETT #0#
                                         (CONS
                                          (SPADCALL |c| (QREFELT $ 31))
                                          #0#) . #2#)))
                                  (LETT #1# (CDR #1#) . #2#) (GO G190)
                                  G191 (EXIT (NREVERSE0 #0#))))
                           (QREFELT $ 11)))))))) 

(DEFUN |PFOTOOLS;getGoodPrime;IPi;5| (|n| $)
  (PROG (#0=#:G1845 |p|)
    (RETURN
      (SEQ (LETT |p| 3 . #1=(|PFOTOOLS;getGoodPrime;IPi;5|))
           (SEQ G190
                (COND ((NULL (ZEROP (REMAINDER2 |n| |p|))) (GO G191)))
                (SEQ (EXIT (LETT |p|
                                 (PROG1 (LETT #0#
                                         (SPADCALL |p| (QREFELT $ 33)) . #1#)
                                   (|check-subtype| (> #0# 0)
                                    '(|PositiveInteger|) #0#)) . #1#)))
                NIL (GO G190) G191 (EXIT NIL))
           (EXIT |p|))))) 

(DEFUN |PFOTOOLS;doubleDisc;UPUPI;6| (|r| $)
  (PROG (|d| #0=#:G1853)
    (RETURN
      (SEQ (LETT |d|
                 (SPADCALL (SPADCALL |r| (QREFELT $ 36))
                     (QREFELT $ 19))
                 . #1=(|PFOTOOLS;doubleDisc;UPUPI;6|))
           (EXIT (SPADCALL
                     (SPADCALL
                         (PROG2 (LETT #0#
                                      (SPADCALL |d|
                                       (SPADCALL |d|
                                        (SPADCALL |d| (QREFELT $ 37))
                                        (QREFELT $ 38))
                                       (QREFELT $ 40)) . #1#)
                                (QCDR #0#)
                           (|check-union| (QEQCAR #0# 0) (QREFELT $ 6)
                               #0#))
                         (QREFELT $ 41))
                     (QREFELT $ 31))))))) 

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

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

(MAKEPROP '|PointsOfFiniteOrderTools| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|)
             (|List| $) (|Integer|) (0 . |lcm|) (5 . |gcd|)
             (10 . |lcm|) (|Record| (|:| |den| 9) (|:| |gcdnum| 9))
             (|List| 13) |PFOTOOLS;mix;LI;1| (|List| 18)
             (16 . |coefficients|) (|Fraction| 6) (21 . |retract|)
             |PFOTOOLS;badNum;UPR;4| |PFOTOOLS;badNum;UPUPI;2|
             (|UnivariatePolynomialCommonDenominator| 9 30 6)
             (26 . |commonDenominator|) (31 . *)
             |PFOTOOLS;polyred;2UPUP;3|
             (|Record| (|:| |num| 6) (|:| |den| 9))
             (37 . |splitDenominator|) (|List| 30)
             (42 . |coefficients|) (|Fraction| 9) (47 . |retract|)
             (|IntegerPrimesPackage| 9) (52 . |nextPrime|)
             (|PositiveInteger|) |PFOTOOLS;getGoodPrime;IPi;5|
             (57 . |discriminant|) (62 . |differentiate|) (67 . |gcd|)
             (|Union| $ '"failed") (73 . |exquo|) (79 . |discriminant|)
             |PFOTOOLS;doubleDisc;UPUPI;6|)
          '#(|polyred| 84 |mix| 89 |getGoodPrime| 94 |doubleDisc| 99
             |badNum| 104)
          'NIL
          (CONS (|makeByteWordVec2| 1 'NIL)
                (CONS '#()
                      (CONS '#()
                            (|makeByteWordVec2| 42
                                '(1 9 0 8 10 1 9 0 8 11 2 9 0 0 0 12 1
                                  7 16 0 17 1 18 6 0 19 1 22 9 6 23 2 7
                                  0 9 0 24 1 22 26 6 27 1 6 28 0 29 1
                                  30 9 0 31 1 32 9 9 33 1 7 18 0 36 1 6
                                  0 0 37 2 6 0 0 0 38 2 6 39 0 0 40 1 6
                                  30 0 41 1 0 7 7 25 1 0 9 14 15 1 0 34
                                  9 35 1 0 9 7 42 1 0 9 7 21 1 0 13 6
                                  20)))))
          '|lookupComplete|)) 
