
(/VERSIONCHECK 2) 

(DEFUN |HELLFDIV;Zero;$;1| ($)
  (SPADCALL (|spadConstant| $ 31) (QREFELT $ 32))) 

(DEFUN |HELLFDIV;divisor;R$;2| (|g| $)
  (VECTOR (|spadConstant| $ 34) (|spadConstant| $ 35) |g| 'T)) 

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

(DEFUN |HELLFDIV;princ?| (|d| $)
  (COND
    ((SPADCALL (QVELT |d| 0) (|spadConstant| $ 34) (QREFELT $ 37))
     (SPADCALL (QVELT |d| 1) (QREFELT $ 38)))
    ('T 'NIL))) 

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

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

(DEFUN |HELLFDIV;mkIdeal| (|a| |b| $)
  (SPADCALL
      (VECTOR (SPADCALL (SPADCALL |a| (QREFELT $ 47)) (QREFELT $ 48))
              (SPADCALL
                  (SPADCALL
                      (SPADCALL (|spadConstant| $ 49) 1 (QREFELT $ 50))
                      (SPADCALL (SPADCALL |b| (QREFELT $ 47))
                          (QREFELT $ 51))
                      (QREFELT $ 52))
                  (QREFELT $ 53)))
      (QREFELT $ 41))) 

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

(DEFUN |HELLFDIV;*;I2$;9| (|n| |d| $)
  (COND
    ((ZEROP |n|) (|spadConstant| $ 33))
    ((< |n| 0)
     (SPADCALL (- |n|) (SPADCALL |d| (QREFELT $ 72)) (QREFELT $ 73)))
    ('T
     (SPADCALL
         (SPADCALL (SPADCALL (QVELT |d| 2) |n| (QREFELT $ 74))
             (QREFELT $ 32))
         (SPADCALL
             (SPADCALL
                 (|HELLFDIV;mkIdeal| (QVELT |d| 0) (QVELT |d| 1) $) |n|
                 (QREFELT $ 75))
             (QREFELT $ 76))
         (QREFELT $ 70))))) 

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

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

(DEFUN |HELLFDIV;redpolyIfCan| (|h| |a| $)
  (PROG (|p| |q| |rec| #0=#:G1835)
    (RETURN
      (SEQ (COND
             ((NULL (EQL (SPADCALL
                             (LETT |p| (SPADCALL |h| (QREFELT $ 84))
                                   . #1=(|HELLFDIV;redpolyIfCan|))
                             (QREFELT $ 85))
                         1))
              (CONS 1 "failed"))
             ('T
              (SEQ (LETT |q|
                         (SPADCALL
                             (SPADCALL (SPADCALL |p| 0 (QREFELT $ 86))
                                 (SPADCALL |p| 1 (QREFELT $ 86))
                                 (QREFELT $ 87))
                             (QREFELT $ 88)) . #1#)
                   (LETT |rec|
                         (SPADCALL (SPADCALL |q| (QREFELT $ 89)) |a|
                             (QREFELT $ 91)) . #1#)
                   (COND
                     ((NULL (SPADCALL (QVELT |rec| 2) (QREFELT $ 92)))
                      (EXIT (CONS 1 "failed"))))
                   (EXIT (CONS 0
                               (SPADCALL
                                   (PROG2
                                    (LETT #0#
                                     (SPADCALL
                                      (SPADCALL
                                       (SPADCALL |q| (QREFELT $ 93))
                                       (QVELT |rec| 0) (QREFELT $ 59))
                                      (QVELT |rec| 2) (QREFELT $ 62)) . #1#)
                                    (QCDR #0#)
                                     (|check-union| (QEQCAR #0# 0)
                                      (QREFELT $ 7) #0#))
                                   |a| (QREFELT $ 66))))))))))) 

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

(DEFUN |HELLFDIV;reduce;2$;14| (|d| $)
  (PROG (|a| |b| #0=#:G1835 |a0| |b0| |g|)
    (RETURN
      (SEQ (COND
             ((QVELT |d| 3) |d|)
             ((NULL (< (QREFELT $ 22)
                       (SPADCALL
                           (LETT |a| (QVELT |d| 0)
                                 . #1=(|HELLFDIV;reduce;2$;14|))
                           (QREFELT $ 17))))
              (SEQ (QSETVELT |d| 3 'T) (EXIT |d|)))
             ('T
              (SEQ (LETT |b| (QVELT |d| 1) . #1#)
                   (LETT |a0|
                         (PROG2 (LETT #0#
                                      (SPADCALL
                                       (SPADCALL (QREFELT $ 15)
                                        (SPADCALL |b| 2 (QREFELT $ 61))
                                        (QREFELT $ 101))
                                       |a| (QREFELT $ 62)) . #1#)
                                (QCDR #0#)
                           (|check-union| (QEQCAR #0# 0) (QREFELT $ 7)
                               #0#)) . #1#)
                   (LETT |b0|
                         (SPADCALL (SPADCALL |b| (QREFELT $ 102)) |a0|
                             (QREFELT $ 66)) . #1#)
                   (LETT |g|
                         (SPADCALL
                             (SPADCALL (QVELT |d| 2)
                                 (SPADCALL
                                     (SPADCALL
                                      (SPADCALL
                                       (SPADCALL |b| (QREFELT $ 47))
                                       (QREFELT $ 51))
                                      (SPADCALL (|spadConstant| $ 49) 1
                                       (QREFELT $ 50))
                                      (QREFELT $ 52))
                                     (QREFELT $ 53))
                                 (QREFELT $ 68))
                             (SPADCALL (SPADCALL |a0| (QREFELT $ 47))
                                 (QREFELT $ 48))
                             (QREFELT $ 103)) . #1#)
                   (EXIT (SPADCALL
                             (|HELLFDIV;makeDivisor| |a0| |b0| |g| $)
                             (QREFELT $ 69)))))))))) 

(DEFUN |HELLFDIV;generator;$U;15| (|d| $)
  (SEQ (LETT |d| (SPADCALL |d| (QREFELT $ 69))
             |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 $ 102))
                     (SPADCALL
                         (SPADCALL (SPADCALL |a| (QREFELT $ 47))
                             (QVELT |d| 2) (QREFELT $ 67))
                         (QREFELT $ 106))
                     $)))))) 

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

(DEFUN |HELLFDIV;divisor;2F$;18| (|a| |b| $)
  (PROG (|x| |d|)
    (RETURN
      (SEQ (LETT |x| (SPADCALL (|spadConstant| $ 18) 1 (QREFELT $ 108))
                 . #0=(|HELLFDIV;divisor;2F$;18|))
           (COND
             ((NULL (SPADCALL
                        (SPADCALL
                            (LETT |d|
                                  (SPADCALL |x|
                                      (SPADCALL |a| (QREFELT $ 109))
                                      (QREFELT $ 101)) . #0#)
                            (SPADCALL (SPADCALL (QREFELT $ 110))
                                (QREFELT $ 111))
                            (QREFELT $ 112))
                        (QREFELT $ 92)))
              (EXIT (|error| "divisor: point is singular"))))
           (EXIT (|HELLFDIV;makeDivisor| |d|
                     (SPADCALL |b| (QREFELT $ 109))
                     (|spadConstant| $ 31) $)))))) 

(DEFUN |HELLFDIV;intReduce| (|h| |b| $)
  (PROG (|v| #0=#:G1921 #1=#:G1922 |i| #2=#:G1923)
    (RETURN
      (SEQ (LETT |v| (QCAR (SPADCALL |h| (QREFELT $ 115)))
                 . #3=(|HELLFDIV;intReduce|))
           (EXIT (SPADCALL
                     (PRIMVEC2ARR
                         (PROGN
                           (LETT #0#
                                 (GETREFV (QSADD1
                                           (- #4=(QVSIZE |v|)
                                            #5=(SPADCALL |v|
                                                (QREFELT $ 117))))) . #3#)
                           (SEQ (LETT #1# 0 . #3#) (LETT |i| #5# . #3#)
                                (LETT #2# #4# . #3#) G190
                                (COND ((> |i| #2#) (GO G191)))
                                (SEQ (EXIT
                                      (SETELT #0# #1#
                                       (SPADCALL
                                        (SPADCALL |v| |i|
                                         (QREFELT $ 118))
                                        |b| (QREFELT $ 66)))))
                                (LETT |i|
                                      (PROG1 (+ |i| 1)
                                        (LETT #1# (QSADD1 #1#) . #3#)) . #3#)
                                (GO G190) G191 (EXIT NIL))
                           #0#))
                     (|spadConstant| $ 34) (QREFELT $ 119))))))) 

(DEFUN |HELLFDIV;divisor;R3UPF$;20| (|h| |a| |dp| |g| |r| $)
  (PROG (|hh| |b| |rec| #0=#:G1835 |bb|)
    (RETURN
      (SEQ (LETT |h|
                 (SPADCALL |h|
                     (SPADCALL
                         (SPADCALL (SPADCALL |r| |dp| (QREFELT $ 120))
                             (QREFELT $ 47))
                         (QREFELT $ 48))
                     (QREFELT $ 121))
                 . #1=(|HELLFDIV;divisor;R3UPF$;20|))
           (LETT |a|
                 (SPADCALL |a|
                     (SPADCALL (SPADCALL |h| (QREFELT $ 122))
                         (QREFELT $ 111))
                     (QREFELT $ 112)) . #1#)
           (LETT |h| (|HELLFDIV;intReduce| |h| |a| $) . #1#)
           (COND
             ((NULL (SPADCALL (SPADCALL |g| |a| (QREFELT $ 112))
                        (QREFELT $ 92)))
              (LETT |h|
                    (|HELLFDIV;intReduce|
                        (SPADCALL |h| (SPADCALL (QREFELT $ 123))
                            (QREFELT $ 124))
                        |a| $) . #1#)))
           (LETT |hh| (SPADCALL |h| (QREFELT $ 84)) . #1#)
           (LETT |b|
                 (SPADCALL
                     (SPADCALL (SPADCALL |hh| 0 (QREFELT $ 86))
                         (SPADCALL |hh| 1 (QREFELT $ 86))
                         (QREFELT $ 87))
                     (QREFELT $ 88)) . #1#)
           (LETT |rec|
                 (SPADCALL (SPADCALL |b| (QREFELT $ 89)) |a|
                     (QREFELT $ 91)) . #1#)
           (COND
             ((NULL (SPADCALL (QVELT |rec| 2) (QREFELT $ 92)))
              (EXIT (|error| "divisor: incomplete implementation for hyperelliptic curves"))))
           (LETT |bb|
                 (SPADCALL
                     (PROG2 (LETT #0#
                                  (SPADCALL
                                      (SPADCALL
                                       (SPADCALL |b| (QREFELT $ 93))
                                       (QVELT |rec| 0) (QREFELT $ 59))
                                      (QVELT |rec| 2) (QREFELT $ 62)) . #1#)
                            (QCDR #0#)
                       (|check-union| (QEQCAR #0# 0) (QREFELT $ 7) #0#))
                     |a| (QREFELT $ 66)) . #1#)
           (EXIT (SPADCALL
                     (|HELLFDIV;makeDivisor| |a| |bb|
                         (|spadConstant| $ 31) $)
                     (QREFELT $ 69))))))) 

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

(DEFUN |HyperellipticFiniteDivisor;| (|#1| |#2| |#3| |#4|)
  (PROG (DV$1 DV$2 DV$3 DV$4 |dv$| $ |pv$| #0=#:G1835 #1=#:G1844)
    (RETURN
      (PROGN
        (LETT DV$1 (|devaluate| |#1|)
              . #2=(|HyperellipticFiniteDivisor|))
        (LETT DV$2 (|devaluate| |#2|) . #2#)
        (LETT DV$3 (|devaluate| |#3|) . #2#)
        (LETT DV$4 (|devaluate| |#4|) . #2#)
        (LETT |dv$|
              (LIST '|HyperellipticFiniteDivisor| DV$1 DV$2 DV$3 DV$4) . #2#)
        (LETT $ (GETREFV 127) . #2#)
        (QSETREFV $ 0 |dv$|)
        (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #2#))
        (|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 #0# (QREFELT $ 13) . #2#) (QCDR #0#)
              (|check-union| (QEQCAR #0# 0) |#2| #0#)))
        (QSETREFV $ 22
            (PROG2 (LETT #1#
                         (SPADCALL
                             (- (SPADCALL (QREFELT $ 15)
                                    (QREFELT $ 17))
                                1)
                             2 (QREFELT $ 21)) . #2#)
                   (QCDR #1#)
              (|check-union| (QEQCAR #1# 0) (|Integer|) #1#)))
        (QSETREFV $ 28
            (SPADCALL (SPADCALL "div" (QREFELT $ 25)) (QREFELT $ 27)))
        (QSETREFV $ 30 (SPADCALL 0 (QREFELT $ 29)))
        $)))) 

(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|
             (|String|) (|Symbol|) (19 . |coerce|) (|OutputForm|)
             (24 . |coerce|) '|dvd| (29 . |coerce|) '|zer| (34 . |One|)
             |HELLFDIV;divisor;R$;2|
             (CONS IDENTITY
                   (FUNCALL (|dispatchFunction| |HELLFDIV;Zero;$;1|) $))
             (38 . |One|) (42 . |Zero|) (|Boolean|) (46 . =)
             (52 . |zero?|) (|Vector| 9) (|FractionalIdeal| 7 46 8 9)
             (57 . |ideal|) (62 . *) |HELLFDIV;ideal;$Fi;5|
             (|Record| (|:| |id| 40) (|:| |principalPart| 9))
             |HELLFDIV;decompose;$R;6| (|Fraction| 7) (68 . |coerce|)
             (73 . |coerce|) (78 . |One|) (82 . |monomial|)
             (88 . |coerce|) (93 . -) (99 . |reduce|) (104 . +)
             (|Record| (|:| |coef| 56) (|:| |generator| $)) (|List| $)
             (110 . |principalIdeal|) (115 . |generator|) (119 . *)
             (|PositiveInteger|) (125 . **) (131 . |exquo|) (|List| 7)
             (137 . |second|) (142 . |third|) (147 . |rem|) (153 . *)
             (159 . *) |HELLFDIV;reduce;2$;14| |HELLFDIV;+;3$;8|
             (165 . |Zero|) |HELLFDIV;-;2$;16| |HELLFDIV;*;I2$;9|
             (169 . **) (175 . **) |HELLFDIV;divisor;Fi$;10|
             (181 . |minimize|) (186 . |basis|) (191 . |minIndex|)
             (196 . |elt|) (|Union| 46 '"failed")
             (202 . |retractIfCan|) (207 . |retractIfCan|)
             (212 . |lift|) (217 . |degree|) (222 . |coefficient|)
             (228 . /) (234 . -) (239 . |denom|)
             (|Record| (|:| |coef1| $) (|:| |coef2| $)
                 (|:| |generator| $))
             (244 . |extendedEuclidean|) (250 . |ground?|)
             (255 . |numer|) (260 . |coerce|) (265 . |bracket|)
             (270 . |coerce|) (275 . |prefix|) (281 . =) (287 . +)
             |HELLFDIV;coerce;$Of;13| (293 . -) (299 . -) (304 . /)
             (|Union| 9 '"failed") |HELLFDIV;generator;$U;15|
             (310 . |inv|) |HELLFDIV;=;2$B;17| (315 . |monomial|)
             (321 . |coerce|) (326 . |discriminant|) (330 . |retract|)
             (335 . |gcd|) |HELLFDIV;divisor;2F$;18|
             (|Record| (|:| |num| 116) (|:| |den| 7))
             (341 . |integralCoordinates|) (|Vector| 7)
             (346 . |minIndex|) (351 . |qelt|)
             (357 . |integralRepresents|) (363 . *) (369 . -)
             (375 . |norm|) (380 . |rank|) (384 . **)
             |HELLFDIV;divisor;R3UPF$;20| (|SingleInteger|))
          '#(~= 390 |zero?| 396 |subtractIfCan| 401 |sample| 407
             |reduce| 411 |principal?| 416 |latex| 421 |ideal| 426
             |hash| 431 |generator| 436 |divisor| 441 |decompose| 473
             |coerce| 478 |Zero| 483 = 487 - 493 + 504 * 510)
          '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| 26))
                            (|makeByteWordVec2| 126
                                '(0 9 10 11 1 7 16 0 17 0 6 0 18 2 20
                                  19 0 0 21 1 24 0 23 25 1 24 26 0 27 1
                                  20 26 0 29 0 9 0 31 0 7 0 34 0 7 0 35
                                  2 7 36 0 0 37 1 7 36 0 38 1 40 0 39
                                  41 2 40 0 0 0 42 1 46 0 7 47 1 9 0 46
                                  48 0 46 0 49 2 8 0 46 16 50 1 8 0 46
                                  51 2 8 0 0 0 52 1 9 0 8 53 2 7 0 0 0
                                  54 1 7 55 56 57 0 9 0 58 2 7 0 0 0 59
                                  2 7 0 0 60 61 2 7 19 0 0 62 1 63 7 0
                                  64 1 63 7 0 65 2 7 0 0 0 66 2 9 0 46
                                  0 67 2 9 0 0 0 68 0 6 0 71 2 9 0 0 20
                                  74 2 40 0 0 20 75 1 40 0 0 77 1 40 39
                                  0 78 1 39 20 0 79 2 39 9 0 20 80 1 9
                                  81 0 82 1 46 10 0 83 1 9 8 0 84 1 8
                                  16 0 85 2 8 46 0 16 86 2 46 0 0 0 87
                                  1 46 0 0 88 1 46 7 0 89 2 7 90 0 0 91
                                  1 7 36 0 92 1 46 7 0 93 1 7 26 0 94 1
                                  26 0 56 95 1 9 26 0 96 2 26 0 0 56 97
                                  2 9 36 0 0 98 2 26 0 0 0 99 2 7 0 0 0
                                  101 1 7 0 0 102 2 9 0 0 0 103 1 9 0 0
                                  106 2 7 0 6 16 108 1 7 0 6 109 0 9 46
                                  110 1 46 7 0 111 2 7 0 0 0 112 1 9
                                  114 0 115 1 116 20 0 117 2 116 7 0 20
                                  118 2 9 0 116 7 119 2 7 0 6 0 120 2 9
                                  0 0 0 121 1 9 46 0 122 0 9 60 123 2 9
                                  0 0 60 124 2 0 36 0 0 1 1 0 36 0 1 2
                                  0 19 0 0 1 0 0 0 1 1 0 0 0 69 1 0 36
                                  0 1 1 0 23 0 1 1 0 40 0 43 1 0 126 0
                                  1 1 0 104 0 105 5 0 0 9 7 7 7 6 125 3
                                  0 0 6 6 20 1 2 0 0 6 6 113 1 0 0 40
                                  76 1 0 0 9 32 1 0 44 0 45 1 0 26 0
                                  100 0 0 0 33 2 0 36 0 0 107 2 0 0 0 0
                                  1 1 0 0 0 72 2 0 0 0 0 70 2 0 0 20 0
                                  73 2 0 0 16 0 1 2 0 0 60 0 1)))))
          '|lookupComplete|)) 
