
(/VERSIONCHECK 2) 

(DEFUN |HELLFDIV;Zero;$;1| ($) (SPADCALL (|spadConstant| $ 29) (QREFELT $ 30))) 

(DEFUN |HELLFDIV;divisor;R$;2| (|g| $)
  (VECTOR (|spadConstant| $ 32) (|spadConstant| $ 33) |g| 'T)) 

(DEFUN |HELLFDIV;makeDivisor| (|a| |b| |g| $) (VECTOR |a| |b| |g| 'NIL)) 

(DEFUN |HELLFDIV;princ?| (|d| $)
  (COND
   ((SPADCALL (QVELT |d| 0) (|spadConstant| $ 32) (QREFELT $ 35))
    (SPADCALL (QVELT |d| 1) (QREFELT $ 36)))
   ('T 'NIL))) 

(DEFUN |HELLFDIV;ideal;$Fi;5| (|d| $)
  (SPADCALL (SPADCALL (VECTOR (QVELT |d| 2)) (QREFELT $ 39))
            (|HELLFDIV;mkIdeal| (QVELT |d| 0) (QVELT |d| 1) $) (QREFELT $ 40))) 

(DEFUN |HELLFDIV;decompose;$R;6| (|d| $)
  (CONS
   (SPADCALL
    (|HELLFDIV;makeDivisor| (QVELT |d| 0) (QVELT |d| 1) (|spadConstant| $ 29)
     $)
    (QREFELT $ 41))
   (QVELT |d| 2))) 

(DEFUN |HELLFDIV;mkIdeal| (|a| |b| $)
  (SPADCALL
   (VECTOR (SPADCALL (SPADCALL |a| (QREFELT $ 45)) (QREFELT $ 46))
           (SPADCALL
            (SPADCALL (SPADCALL (|spadConstant| $ 47) 1 (QREFELT $ 48))
                      (SPADCALL (SPADCALL |b| (QREFELT $ 45)) (QREFELT $ 49))
                      (QREFELT $ 50))
            (QREFELT $ 51)))
   (QREFELT $ 39))) 

(DEFUN |HELLFDIV;+;3$;8| (|d1| |d2| $)
  (PROG (|dd| |b| #1=#:G1812 |a| |h| |d| |rec| |b2| |b1| |a2| |a1|)
    (RETURN
     (SEQ (LETT |a1| (QVELT |d1| 0) . #2=(|HELLFDIV;+;3$;8|))
          (LETT |a2| (QVELT |d2| 0) . #2#) (LETT |b1| (QVELT |d1| 1) . #2#)
          (LETT |b2| (QVELT |d2| 1) . #2#)
          (LETT |rec|
                (SPADCALL (LIST |a1| |a2| (SPADCALL |b1| |b2| (QREFELT $ 52)))
                          (QREFELT $ 55))
                . #2#)
          (LETT |d| (QCDR |rec|) . #2#) (LETT |h| (QCAR |rec|) . #2#)
          (LETT |a|
                (PROG2
                    (LETT #1#
                          (SPADCALL (SPADCALL |a1| |a2| (QREFELT $ 57))
                                    (SPADCALL |d| 2 (QREFELT $ 59))
                                    (QREFELT $ 60))
                          . #2#)
                    (QCDR #1#)
                  (|check-union| (QEQCAR #1# 0) (QREFELT $ 7) #1#))
                . #2#)
          (LETT |b|
                (SPADCALL (SPADCALL (|SPADfirst| |h|) |a1| (QREFELT $ 57)) |b2|
                          (QREFELT $ 57))
                . #2#)
          (LETT |b|
                (SPADCALL |b|
                          (SPADCALL
                           (SPADCALL (SPADCALL |h| (QREFELT $ 62)) |a2|
                                     (QREFELT $ 57))
                           |b1| (QREFELT $ 57))
                          (QREFELT $ 52))
                . #2#)
          (LETT |b|
                (SPADCALL |b|
                          (SPADCALL (SPADCALL |h| (QREFELT $ 63))
                                    (SPADCALL
                                     (SPADCALL |b1| |b2| (QREFELT $ 57))
                                     (QREFELT $ 15) (QREFELT $ 52))
                                    (QREFELT $ 57))
                          (QREFELT $ 52))
                . #2#)
          (LETT |b|
                (SPADCALL
                 (PROG2
                     (LETT #1# (SPADCALL |b| |d| (QREFELT $ 60)) . #2#)
                     (QCDR #1#)
                   (|check-union| (QEQCAR #1# 0) (QREFELT $ 7) #1#))
                 |a| (QREFELT $ 64))
                . #2#)
          (LETT |dd|
                (|HELLFDIV;makeDivisor| |a| |b|
                 (SPADCALL
                  (SPADCALL (SPADCALL |d| (QREFELT $ 45)) (QVELT |d1| 2)
                            (QREFELT $ 65))
                  (QVELT |d2| 2) (QREFELT $ 66))
                 $)
                . #2#)
          (COND
           ((QVELT |d1| 3)
            (COND ((QVELT |d2| 3) (EXIT (SPADCALL |dd| (QREFELT $ 67)))))))
          (EXIT |dd|))))) 

(DEFUN |HELLFDIV;*;I2$;9| (|n| |d| $)
  (COND ((ZEROP |n|) (|spadConstant| $ 31))
        ((< |n| 0)
         (SPADCALL (- |n|) (SPADCALL |d| (QREFELT $ 70)) (QREFELT $ 71)))
        ('T
         (SPADCALL
          (SPADCALL (SPADCALL (QVELT |d| 2) |n| (QREFELT $ 72)) (QREFELT $ 30))
          (SPADCALL
           (SPADCALL (|HELLFDIV;mkIdeal| (QVELT |d| 0) (QVELT |d| 1) $) |n|
                     (QREFELT $ 73))
           (QREFELT $ 74))
          (QREFELT $ 68))))) 

(DEFUN |HELLFDIV;divisor;Fi$;10| (|i| $)
  (PROG (|w| |u| |h| |a| |n| |v|)
    (RETURN
     (SEQ
      (LETT |n|
            (QVSIZE
             (LETT |v| (SPADCALL (SPADCALL |i| (QREFELT $ 75)) (QREFELT $ 76))
                   . #1=(|HELLFDIV;divisor;Fi$;10|)))
            . #1#)
      (EXIT
       (COND
        ((EQL |n| 1)
         (SPADCALL (SPADCALL |v| (SPADCALL |v| (QREFELT $ 77)) (QREFELT $ 78))
                   (QREFELT $ 30)))
        ((EQL |n| 2)
         (SEQ
          (LETT |a| (SPADCALL |v| (SPADCALL |v| (QREFELT $ 77)) (QREFELT $ 78))
                . #1#)
          (LETT |h| (SPADCALL |v| (QVSIZE |v|) (QREFELT $ 78)) . #1#)
          (LETT |u| (|HELLFDIV;polyIfCan| |a| $) . #1#)
          (EXIT
           (COND
            ((QEQCAR |u| 0)
             (SEQ (LETT |w| (|HELLFDIV;redpolyIfCan| |h| (QCDR |u|) $) . #1#)
                  (EXIT
                   (COND
                    ((QEQCAR |w| 0)
                     (|HELLFDIV;makeDivisor| (QCDR |u|) (QCDR |w|)
                      (|spadConstant| $ 29) $))
                    (#2='T
                     (|error|
                      #3="divisor: incomplete implementation for hyperelliptic curves"))))))
            (#2#
             (SEQ (LETT |u| (|HELLFDIV;polyIfCan| |h| $) . #1#)
                  (EXIT
                   (COND
                    ((QEQCAR |u| 0)
                     (SEQ
                      (LETT |w| (|HELLFDIV;redpolyIfCan| |a| (QCDR |u|) $)
                            . #1#)
                      (EXIT
                       (COND
                        ((QEQCAR |w| 0)
                         (|HELLFDIV;makeDivisor| (QCDR |u|) (QCDR |w|)
                          (|spadConstant| $ 29) $))
                        (#2# (|error| #3#))))))
                    (#2# (|error| #3#))))))))))
        (#2# (|error| #3#)))))))) 

(DEFUN |HELLFDIV;polyIfCan| (|a| $)
  (PROG (|v| |u|)
    (RETURN
     (SEQ (LETT |u| (SPADCALL |a| (QREFELT $ 80)) . #1=(|HELLFDIV;polyIfCan|))
          (EXIT
           (COND ((QEQCAR |u| 1) (CONS 1 "failed"))
                 (#2='T
                  (SEQ (LETT |v| (SPADCALL (QCDR |u|) (QREFELT $ 81)) . #1#)
                       (EXIT
                        (COND ((QEQCAR |v| 1) (CONS 1 "failed"))
                              (#2# (CONS 0 (QCDR |v|))))))))))))) 

(DEFUN |HELLFDIV;redpolyIfCan| (|h| |a| $)
  (PROG (#1=#:G1812 |rec| |q| |p|)
    (RETURN
     (SEQ
      (COND
       ((NULL
         (EQL
          (SPADCALL
           (LETT |p| (SPADCALL |h| (QREFELT $ 82))
                 . #2=(|HELLFDIV;redpolyIfCan|))
           (QREFELT $ 83))
          1))
        (CONS 1 "failed"))
       ('T
        (SEQ
         (LETT |q|
               (SPADCALL
                (SPADCALL (SPADCALL |p| 0 (QREFELT $ 84))
                          (SPADCALL |p| 1 (QREFELT $ 84)) (QREFELT $ 85))
                (QREFELT $ 86))
               . #2#)
         (LETT |rec|
               (SPADCALL (SPADCALL |q| (QREFELT $ 87)) |a| (QREFELT $ 89))
               . #2#)
         (COND
          ((NULL (SPADCALL (QVELT |rec| 2) (QREFELT $ 90)))
           (EXIT (CONS 1 "failed"))))
         (EXIT
          (CONS 0
                (SPADCALL
                 (PROG2
                     (LETT #1#
                           (SPADCALL
                            (SPADCALL (SPADCALL |q| (QREFELT $ 91))
                                      (QVELT |rec| 0) (QREFELT $ 57))
                            (QVELT |rec| 2) (QREFELT $ 60))
                           . #2#)
                     (QCDR #1#)
                   (|check-union| (QEQCAR #1# 0) (QREFELT $ 7) #1#))
                 |a| (QREFELT $ 64))))))))))) 

(DEFUN |HELLFDIV;coerce;$Of;13| (|d| $)
  (PROG (|z| |g| |r|)
    (RETURN
     (SEQ
      (LETT |r|
            (SPADCALL
             (LIST (SPADCALL (QVELT |d| 0) (QREFELT $ 92))
                   (SPADCALL (QVELT |d| 1) (QREFELT $ 92)))
             (QREFELT $ 93))
            . #1=(|HELLFDIV;coerce;$Of;13|))
      (LETT |g|
            (SPADCALL (QREFELT $ 26)
                      (LIST (SPADCALL (QVELT |d| 2) (QREFELT $ 94)))
                      (QREFELT $ 95))
            . #1#)
      (LETT |z| (SPADCALL (QVELT |d| 2) (|spadConstant| $ 29) (QREFELT $ 96))
            . #1#)
      (EXIT
       (COND
        ((|HELLFDIV;princ?| |d| $) (COND (|z| (QREFELT $ 28)) (#2='T |g|)))
        (|z| |r|) (#2# (SPADCALL |r| |g| (QREFELT $ 97))))))))) 

(DEFUN |HELLFDIV;reduce;2$;14| (|d| $)
  (PROG (|g| |b0| |a0| #1=#:G1812 |b| |a|)
    (RETURN
     (SEQ
      (COND ((QVELT |d| 3) |d|)
            ((NULL
              (< (QREFELT $ 22)
                 (SPADCALL
                  (LETT |a| (QVELT |d| 0) . #2=(|HELLFDIV;reduce;2$;14|))
                  (QREFELT $ 17))))
             (SEQ (QSETVELT |d| 3 'T) (EXIT |d|)))
            ('T
             (SEQ (LETT |b| (QVELT |d| 1) . #2#)
                  (LETT |a0|
                        (PROG2
                            (LETT #1#
                                  (SPADCALL
                                   (SPADCALL (QREFELT $ 15)
                                             (SPADCALL |b| 2 (QREFELT $ 59))
                                             (QREFELT $ 99))
                                   |a| (QREFELT $ 60))
                                  . #2#)
                            (QCDR #1#)
                          (|check-union| (QEQCAR #1# 0) (QREFELT $ 7) #1#))
                        . #2#)
                  (LETT |b0|
                        (SPADCALL (SPADCALL |b| (QREFELT $ 100)) |a0|
                                  (QREFELT $ 64))
                        . #2#)
                  (LETT |g|
                        (SPADCALL
                         (SPADCALL (QVELT |d| 2)
                                   (SPADCALL
                                    (SPADCALL
                                     (SPADCALL (SPADCALL |b| (QREFELT $ 45))
                                               (QREFELT $ 49))
                                     (SPADCALL (|spadConstant| $ 47) 1
                                               (QREFELT $ 48))
                                     (QREFELT $ 50))
                                    (QREFELT $ 51))
                                   (QREFELT $ 66))
                         (SPADCALL (SPADCALL |a0| (QREFELT $ 45))
                                   (QREFELT $ 46))
                         (QREFELT $ 101))
                        . #2#)
                  (EXIT
                   (SPADCALL (|HELLFDIV;makeDivisor| |a0| |b0| |g| $)
                             (QREFELT $ 67)))))))))) 

(DEFUN |HELLFDIV;generator;$U;15| (|d| $)
  (SEQ (LETT |d| (SPADCALL |d| (QREFELT $ 67)) |HELLFDIV;generator;$U;15|)
       (EXIT
        (COND ((|HELLFDIV;princ?| |d| $) (CONS 0 (QVELT |d| 2)))
              ('T (CONS 1 "failed")))))) 

(DEFUN |HELLFDIV;-;2$;16| (|d| $)
  (PROG (|a|)
    (RETURN
     (SEQ (LETT |a| (QVELT |d| 0) |HELLFDIV;-;2$;16|)
          (EXIT
           (|HELLFDIV;makeDivisor| |a| (SPADCALL (QVELT |d| 1) (QREFELT $ 100))
            (SPADCALL
             (SPADCALL (SPADCALL |a| (QREFELT $ 45)) (QVELT |d| 2)
                       (QREFELT $ 65))
             (QREFELT $ 104))
            $)))))) 

(DEFUN |HELLFDIV;=;2$B;17| (|d1| |d2| $)
  (SEQ (LETT |d1| (SPADCALL |d1| (QREFELT $ 67)) . #1=(|HELLFDIV;=;2$B;17|))
       (LETT |d2| (SPADCALL |d2| (QREFELT $ 67)) . #1#)
       (EXIT
        (COND
         ((SPADCALL (QVELT |d1| 0) (QVELT |d2| 0) (QREFELT $ 35))
          (COND
           ((SPADCALL (QVELT |d1| 1) (QVELT |d2| 1) (QREFELT $ 35))
            (SPADCALL (QVELT |d1| 2) (QVELT |d2| 2) (QREFELT $ 96)))
           (#2='T 'NIL)))
         (#2# 'NIL))))) 

(DEFUN |HELLFDIV;divisor;2F$;18| (|a| |b| $)
  (PROG (|d| |x|)
    (RETURN
     (SEQ
      (LETT |x| (SPADCALL (|spadConstant| $ 18) 1 (QREFELT $ 106))
            . #1=(|HELLFDIV;divisor;2F$;18|))
      (COND
       ((NULL
         (SPADCALL
          (SPADCALL
           (LETT |d|
                 (SPADCALL |x| (SPADCALL |a| (QREFELT $ 107)) (QREFELT $ 99))
                 . #1#)
           (SPADCALL (SPADCALL (QREFELT $ 108)) (QREFELT $ 109))
           (QREFELT $ 110))
          (QREFELT $ 90)))
        (EXIT (|error| "divisor: point is singular"))))
      (EXIT
       (|HELLFDIV;makeDivisor| |d| (SPADCALL |b| (QREFELT $ 107))
        (|spadConstant| $ 29) $)))))) 

(DEFUN |HELLFDIV;intReduce| (|h| |b| $)
  (PROG (#1=#:G1921 |i| #2=#:G1920 #3=#:G1919 |v|)
    (RETURN
     (SEQ
      (LETT |v| (QCAR (SPADCALL |h| (QREFELT $ 113)))
            . #4=(|HELLFDIV;intReduce|))
      (EXIT
       (SPADCALL
        (PROGN
         (LETT #3#
               (GETREFV
                (QSADD1 (- #5=(QVSIZE |v|) #6=(SPADCALL |v| (QREFELT $ 115)))))
               . #4#)
         (SEQ (LETT #2# 0 . #4#) (LETT |i| #6# . #4#) (LETT #1# #5# . #4#) G190
              (COND ((> |i| #1#) (GO G191)))
              (SEQ
               (EXIT
                (SETELT #3# #2#
                        (SPADCALL (QAREF1O |v| |i| 1) |b| (QREFELT $ 64)))))
              (LETT |i| (PROG1 (+ |i| 1) (LETT #2# (QSADD1 #2#) . #4#)) . #4#)
              (GO G190) G191 (EXIT NIL))
         #3#)
        (|spadConstant| $ 32) (QREFELT $ 116))))))) 

(DEFUN |HELLFDIV;divisor;R3UPF$;20| (|h| |a| |dp| |g| |r| $)
  (PROG (|bb| #1=#:G1812 |rec| |b| |hh|)
    (RETURN
     (SEQ
      (LETT |h|
            (SPADCALL |h|
                      (SPADCALL
                       (SPADCALL (SPADCALL |r| |dp| (QREFELT $ 117))
                                 (QREFELT $ 45))
                       (QREFELT $ 46))
                      (QREFELT $ 118))
            . #2=(|HELLFDIV;divisor;R3UPF$;20|))
      (LETT |a|
            (SPADCALL |a|
                      (SPADCALL (SPADCALL |h| (QREFELT $ 119)) (QREFELT $ 109))
                      (QREFELT $ 110))
            . #2#)
      (LETT |h| (|HELLFDIV;intReduce| |h| |a| $) . #2#)
      (COND
       ((NULL (SPADCALL (SPADCALL |g| |a| (QREFELT $ 110)) (QREFELT $ 90)))
        (LETT |h|
              (|HELLFDIV;intReduce|
               (SPADCALL |h| (SPADCALL (QREFELT $ 120)) (QREFELT $ 121)) |a| $)
              . #2#)))
      (LETT |hh| (SPADCALL |h| (QREFELT $ 82)) . #2#)
      (LETT |b|
            (SPADCALL
             (SPADCALL (SPADCALL |hh| 0 (QREFELT $ 84))
                       (SPADCALL |hh| 1 (QREFELT $ 84)) (QREFELT $ 85))
             (QREFELT $ 86))
            . #2#)
      (LETT |rec| (SPADCALL (SPADCALL |b| (QREFELT $ 87)) |a| (QREFELT $ 89))
            . #2#)
      (COND
       ((NULL (SPADCALL (QVELT |rec| 2) (QREFELT $ 90)))
        (EXIT
         (|error|
          "divisor: incomplete implementation for hyperelliptic curves"))))
      (LETT |bb|
            (SPADCALL
             (PROG2
                 (LETT #1#
                       (SPADCALL
                        (SPADCALL (SPADCALL |b| (QREFELT $ 91)) (QVELT |rec| 0)
                                  (QREFELT $ 57))
                        (QVELT |rec| 2) (QREFELT $ 60))
                       . #2#)
                 (QCDR #1#)
               (|check-union| (QEQCAR #1# 0) (QREFELT $ 7) #1#))
             |a| (QREFELT $ 64))
            . #2#)
      (EXIT
       (SPADCALL (|HELLFDIV;makeDivisor| |a| |bb| (|spadConstant| $ 29) $)
                 (QREFELT $ 67))))))) 

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

(DEFUN |HyperellipticFiniteDivisor;| (|#1| |#2| |#3| |#4|)
  (PROG (#1=#:G1822 #2=#:G1812 |pv$| $ |dv$| DV$4 DV$3 DV$2 DV$1)
    (RETURN
     (PROGN
      (LETT DV$1 (|devaluate| |#1|) . #3=(|HyperellipticFiniteDivisor|))
      (LETT DV$2 (|devaluate| |#2|) . #3#)
      (LETT DV$3 (|devaluate| |#3|) . #3#)
      (LETT DV$4 (|devaluate| |#4|) . #3#)
      (LETT |dv$| (LIST '|HyperellipticFiniteDivisor| DV$1 DV$2 DV$3 DV$4)
            . #3#)
      (LETT $ (GETREFV 125) . #3#)
      (QSETREFV $ 0 |dv$|)
      (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #3#))
      (|haddProp| |$ConstructorCache| '|HyperellipticFiniteDivisor|
                  (LIST DV$1 DV$2 DV$3 DV$4) (CONS 1 $))
      (|stuffDomainSlots| $)
      (QSETREFV $ 6 |#1|)
      (QSETREFV $ 7 |#2|)
      (QSETREFV $ 8 |#3|)
      (QSETREFV $ 9 |#4|)
      (QSETREFV $ 12 (SPADCALL (QREFELT $ 11)))
      (QSETREFV $ 13 (QREFELT $ 12))
      (COND
       ((QEQCAR (QREFELT $ 12) 1)
        (|error| "HyperellipticFiniteDivisor: curve must be hyperelliptic")))
      (QSETREFV $ 14
                (|Record| (|:| |center| |#2|) (|:| |polyPart| |#2|)
                          (|:| |principalPart| |#4|)
                          (|:| |reduced?| (|Boolean|))))
      (QSETREFV $ 15
                (PROG2
                    (LETT #2# (QREFELT $ 13) . #3#)
                    (QCDR #2#)
                  (|check-union| (QEQCAR #2# 0) |#2| #2#)))
      (QSETREFV $ 22
                (PROG2
                    (LETT #1#
                          (SPADCALL
                           (- (SPADCALL (QREFELT $ 15) (QREFELT $ 17)) 1) 2
                           (QREFELT $ 21))
                          . #3#)
                    (QCDR #1#)
                  (|check-union| (QEQCAR #1# 0) (|Integer|) #1#)))
      (QSETREFV $ 26 (SPADCALL '|div| (QREFELT $ 25)))
      (QSETREFV $ 28 (SPADCALL 0 (QREFELT $ 27)))
      $)))) 

(MAKEPROP '|HyperellipticFiniteDivisor| '|infovec|
          (LIST
           '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|)
              (|local| |#3|) (|local| |#4|) (|Union| 7 '"failed")
              (0 . |hyperelliptic|) '|#G1| '|uhyper| '|Rep| '|hyper|
              (|NonNegativeInteger|) (4 . |degree|) (9 . |One|)
              (|Union| $ '"failed") (|Integer|) (13 . |exquo|) '|gen|
              (|OutputForm|) (|Symbol|) (19 . |coerce|) '|dvd| (24 . |coerce|)
              '|zer| (29 . |One|) |HELLFDIV;divisor;R$;2|
              (CONS IDENTITY
                    (FUNCALL (|dispatchFunction| |HELLFDIV;Zero;$;1|) $))
              (33 . |One|) (37 . |Zero|) (|Boolean|) (41 . =) (47 . |zero?|)
              (|Vector| 9) (|FractionalIdeal| 7 44 8 9) (52 . |ideal|) (57 . *)
              |HELLFDIV;ideal;$Fi;5|
              (|Record| (|:| |id| 38) (|:| |principalPart| 9))
              |HELLFDIV;decompose;$R;6| (|Fraction| 7) (63 . |coerce|)
              (68 . |coerce|) (73 . |One|) (77 . |monomial|) (83 . |coerce|)
              (88 . -) (94 . |reduce|) (99 . +)
              (|Record| (|:| |coef| 54) (|:| |generator| $)) (|List| $)
              (105 . |principalIdeal|) (110 . |generator|) (114 . *)
              (|PositiveInteger|) (120 . ^) (126 . |exquo|) (|List| 7)
              (132 . |second|) (137 . |third|) (142 . |rem|) (148 . *)
              (154 . *) |HELLFDIV;reduce;2$;14| |HELLFDIV;+;3$;8|
              (160 . |Zero|) |HELLFDIV;-;2$;16| |HELLFDIV;*;I2$;9| (164 . ^)
              (170 . ^) |HELLFDIV;divisor;Fi$;10| (176 . |minimize|)
              (181 . |basis|) (186 . |minIndex|) (191 . |elt|)
              (|Union| 44 '"failed") (197 . |retractIfCan|)
              (202 . |retractIfCan|) (207 . |lift|) (212 . |degree|)
              (217 . |coefficient|) (223 . /) (229 . -) (234 . |denom|)
              (|Record| (|:| |coef1| $) (|:| |coef2| $) (|:| |generator| $))
              (239 . |extendedEuclidean|) (245 . |ground?|) (250 . |numer|)
              (255 . |coerce|) (260 . |bracket|) (265 . |coerce|)
              (270 . |prefix|) (276 . =) (282 . +) |HELLFDIV;coerce;$Of;13|
              (288 . -) (294 . -) (299 . /) (|Union| 9 '"failed")
              |HELLFDIV;generator;$U;15| (305 . |inv|) |HELLFDIV;=;2$B;17|
              (310 . |monomial|) (316 . |coerce|) (321 . |discriminant|)
              (325 . |retract|) (330 . |gcd|) |HELLFDIV;divisor;2F$;18|
              (|Record| (|:| |num| 114) (|:| |den| 7))
              (336 . |integralCoordinates|) (|Vector| 7) (341 . |minIndex|)
              (346 . |integralRepresents|) (352 . *) (358 . -) (364 . |norm|)
              (369 . |rank|) (373 . ^) |HELLFDIV;divisor;R3UPF$;20| (|String|)
              (|SingleInteger|))
           '#(~= 379 |zero?| 385 |subtractIfCan| 390 |sample| 396 |reduce| 400
              |principal?| 405 |latex| 410 |ideal| 415 |hash| 420 |generator|
              425 |divisor| 430 |decompose| 462 |coerce| 467 |Zero| 472 = 476 -
              482 + 493 * 499)
           'NIL
           (CONS (|makeByteWordVec2| 1 '(0 0 0 0 0 0 0 0))
                 (CONS
                  '#(|FiniteDivisorCategory&| |AbelianGroup&| NIL
                     |AbelianMonoid&| |AbelianSemiGroup&| |SetCategory&|
                     |BasicType&| NIL)
                  (CONS
                   '#((|FiniteDivisorCategory| 6 7 8 9) (|AbelianGroup|)
                      (|CancellationAbelianMonoid|) (|AbelianMonoid|)
                      (|AbelianSemiGroup|) (|SetCategory|) (|BasicType|)
                      (|CoercibleTo| 23))
                   (|makeByteWordVec2| 124
                                       '(0 9 10 11 1 7 16 0 17 0 6 0 18 2 20 19
                                         0 0 21 1 24 23 0 25 1 20 23 0 27 0 9 0
                                         29 0 7 0 32 0 7 0 33 2 7 34 0 0 35 1 7
                                         34 0 36 1 38 0 37 39 2 38 0 0 0 40 1
                                         44 0 7 45 1 9 0 44 46 0 44 0 47 2 8 0
                                         44 16 48 1 8 0 44 49 2 8 0 0 0 50 1 9
                                         0 8 51 2 7 0 0 0 52 1 7 53 54 55 0 9 0
                                         56 2 7 0 0 0 57 2 7 0 0 58 59 2 7 19 0
                                         0 60 1 61 7 0 62 1 61 7 0 63 2 7 0 0 0
                                         64 2 9 0 44 0 65 2 9 0 0 0 66 0 6 0 69
                                         2 9 0 0 20 72 2 38 0 0 20 73 1 38 0 0
                                         75 1 38 37 0 76 1 37 20 0 77 2 37 9 0
                                         20 78 1 9 79 0 80 1 44 10 0 81 1 9 8 0
                                         82 1 8 16 0 83 2 8 44 0 16 84 2 44 0 0
                                         0 85 1 44 0 0 86 1 44 7 0 87 2 7 88 0
                                         0 89 1 7 34 0 90 1 44 7 0 91 1 7 23 0
                                         92 1 23 0 54 93 1 9 23 0 94 2 23 0 0
                                         54 95 2 9 34 0 0 96 2 23 0 0 0 97 2 7
                                         0 0 0 99 1 7 0 0 100 2 9 0 0 0 101 1 9
                                         0 0 104 2 7 0 6 16 106 1 7 0 6 107 0 9
                                         44 108 1 44 7 0 109 2 7 0 0 0 110 1 9
                                         112 0 113 1 114 20 0 115 2 9 0 114 7
                                         116 2 7 0 6 0 117 2 9 0 0 0 118 1 9 44
                                         0 119 0 9 58 120 2 9 0 0 58 121 2 0 34
                                         0 0 1 1 0 34 0 1 2 0 19 0 0 1 0 0 0 1
                                         1 0 0 0 67 1 0 34 0 1 1 0 123 0 1 1 0
                                         38 0 41 1 0 124 0 1 1 0 102 0 103 5 0
                                         0 9 7 7 7 6 122 3 0 0 6 6 20 1 2 0 0 6
                                         6 111 1 0 0 38 74 1 0 0 9 30 1 0 42 0
                                         43 1 0 23 0 98 0 0 0 31 2 0 34 0 0 105
                                         2 0 0 0 0 1 1 0 0 0 70 2 0 0 0 0 68 2
                                         0 0 20 0 71 2 0 0 16 0 1 2 0 0 58 0
                                         1)))))
           '|lookupComplete|)) 
