
(/VERSIONCHECK 2) 

(DEFUN |ALGFF;branchPointAtInfinity?;B;1| ($)
  (SEQ
   (COND ((SPADCALL (QREFELT $ 13) (QREFELT $ 35)) (|ALGFF;startUp| 'NIL $)))
   (EXIT (SPADCALL (QREFELT $ 14) (QREFELT $ 36))))) 

(DEFUN |ALGFF;discriminant;F;2| ($)
  (SEQ
   (COND ((SPADCALL (QREFELT $ 13) (QREFELT $ 35)) (|ALGFF;startUp| 'NIL $)))
   (EXIT (SPADCALL (QREFELT $ 21) (QREFELT $ 38))))) 

(DEFUN |ALGFF;integralBasis;V;3| ($)
  (SEQ
   (COND ((SPADCALL (QREFELT $ 13) (QREFELT $ 35)) (|ALGFF;startUp| 'NIL $)))
   (EXIT (|ALGFF;vect| (QREFELT $ 30) $)))) 

(DEFUN |ALGFF;integralBasisAtInfinity;V;4| ($)
  (SEQ
   (COND ((SPADCALL (QREFELT $ 13) (QREFELT $ 35)) (|ALGFF;startUp| 'NIL $)))
   (EXIT (|ALGFF;vect| (QREFELT $ 33) $)))) 

(DEFUN |ALGFF;integralMatrix;M;5| ($)
  (SEQ
   (COND ((SPADCALL (QREFELT $ 13) (QREFELT $ 35)) (|ALGFF;startUp| 'NIL $)))
   (EXIT (QREFELT $ 30)))) 

(DEFUN |ALGFF;inverseIntegralMatrix;M;6| ($)
  (SEQ
   (COND ((SPADCALL (QREFELT $ 13) (QREFELT $ 35)) (|ALGFF;startUp| 'NIL $)))
   (EXIT (QREFELT $ 32)))) 

(DEFUN |ALGFF;integralMatrixAtInfinity;M;7| ($)
  (SEQ
   (COND ((SPADCALL (QREFELT $ 13) (QREFELT $ 35)) (|ALGFF;startUp| 'NIL $)))
   (EXIT (QREFELT $ 33)))) 

(DEFUN |ALGFF;branchPoint?;FB;8| (|a| $)
  (SPADCALL
   (SPADCALL (SPADCALL (SPADCALL (QREFELT $ 39)) (QREFELT $ 46)) |a|
             (QREFELT $ 47))
   (QREFELT $ 48))) 

(DEFUN |ALGFF;definingPolynomial;UPUP;9| ($) (QREFELT $ 9)) 

(DEFUN |ALGFF;inverseIntegralMatrixAtInfinity;M;10| ($)
  (SEQ
   (COND ((SPADCALL (QREFELT $ 13) (QREFELT $ 35)) (|ALGFF;startUp| 'NIL $)))
   (EXIT (QREFELT $ 34)))) 

(DEFUN |ALGFF;vect| (|m| $)
  (PROG (#1=#:G699 |i| #2=#:G698 #3=#:G697)
    (RETURN
     (SEQ
      (PROGN
       (LETT #3#
             (GETREFV
              (QSADD1
               (- #4=(SPADCALL |m| (QREFELT $ 54))
                  #5=(SPADCALL |m| (QREFELT $ 53)))))
             . #6=(|ALGFF;vect|))
       (SEQ (LETT #2# 0 . #6#) (LETT |i| #5# . #6#) (LETT #1# #4# . #6#) G190
            (COND ((> |i| #1#) (GO G191)))
            (SEQ
             (EXIT
              (SETELT #3# #2#
                      (SPADCALL (SPADCALL |m| |i| (QREFELT $ 56))
                                (QREFELT $ 57)))))
            (LETT |i| (PROG1 (+ |i| 1) (LETT #2# (QSADD1 #2#) . #6#)) . #6#)
            (GO G190) G191 (EXIT NIL))
       #3#))))) 

(DEFUN |ALGFF;integralCoordinates;$R;12| (|f| $)
  (SPADCALL
   (SPADCALL (SPADCALL |f| (QREFELT $ 58)) (SPADCALL (QREFELT $ 44))
             (QREFELT $ 59))
   (QREFELT $ 62))) 

(DEFUN |ALGFF;knownInfBasis;NniV;13| (|d| $)
  (PROG (#1=#:G718 |j| #2=#:G717 |i| |invib| |ib| #3=#:G716 #4=#:G715 #5=#:G714
         |alpha| #6=#:G713 #7=#:G712)
    (RETURN
     (SEQ
      (COND
       ((SPADCALL (QREFELT $ 13) (QREFELT $ 35))
        (SEQ
         (LETT |alpha|
               (PROGN
                (LETT #7# (GETREFV (QSADD1 #8=(QREFELT $ 27)))
                      . #9=(|ALGFF;knownInfBasis;NniV;13|))
                (SEQ (LETT |i| 0 . #9#) (LETT #6# #8# . #9#) G190
                     (COND ((QSGREATERP |i| #6#) #10=(GO G191)))
                     (SEQ
                      (EXIT
                       (SETELT #7# |i|
                               (SPADCALL
                                (SPADCALL (|spadConstant| $ 64) (* |d| |i|)
                                          (QREFELT $ 65))
                                (QREFELT $ 66)))))
                     (LETT |i| (QSADD1 |i|) . #9#) #11=(GO G190) G191
                     (EXIT NIL))
                #7#)
               . #9#)
         (LETT |ib|
               (SPADCALL
                (PROGN
                 (LETT #5#
                       (GETREFV
                        (QSADD1
                         (- #12=(QVSIZE |alpha|)
                            #13=(SPADCALL |alpha| (QREFELT $ 67)))))
                       . #9#)
                 (SEQ (LETT #4# 0 . #9#) (LETT |i| #13# . #9#)
                      (LETT #3# #12# . #9#) G190 (COND ((> |i| #3#) #10#))
                      (SEQ
                       (EXIT
                        (SETELT #5# #4#
                                (SPADCALL (SPADCALL |alpha| |i| (QREFELT $ 68))
                                          (QREFELT $ 69)))))
                      (LETT |i| (PROG1 (+ |i| 1) (LETT #4# (QSADD1 #4#) . #9#))
                            . #9#)
                      #11# G191 (EXIT NIL))
                 #5#)
                (QREFELT $ 70))
               . #9#)
         (LETT |invib| (SPADCALL |alpha| (QREFELT $ 70)) . #9#)
         (EXIT
          (SEQ (LETT |i| (SPADCALL |ib| (QREFELT $ 53)) . #9#)
               (LETT #2# (SPADCALL |ib| (QREFELT $ 54)) . #9#) G190
               (COND ((> |i| #2#) #10#))
               (SEQ
                (EXIT
                 (SEQ (LETT |j| (SPADCALL |ib| (QREFELT $ 71)) . #9#)
                      (LETT #1# (SPADCALL |ib| (QREFELT $ 72)) . #9#) G190
                      (COND ((> |j| #1#) #10#))
                      (SEQ
                       (SPADCALL (QREFELT $ 33) |i| |j|
                                 (SPADCALL |ib| |i| |j| (QREFELT $ 73))
                                 (QREFELT $ 74))
                       (EXIT
                        (SPADCALL (QREFELT $ 34) |i| |j|
                                  (SPADCALL |invib| |i| |j| (QREFELT $ 75))
                                  (QREFELT $ 74))))
                      (LETT |j| (+ |j| 1) . #9#) #11# G191 (EXIT NIL))))
               (LETT |i| (+ |i| 1) . #9#) #11# G191 (EXIT NIL))))))
      (EXIT (SPADCALL (QREFELT $ 77))))))) 

(DEFUN |ALGFF;getInfBasis| ($)
  (PROG (#1=#:G743 |j| #2=#:G742 |i| |invib2| |ib2| #3=#:G741 #4=#:G740 |invib|
         |invalpha| #5=#:G739 #6=#:G738 #7=#:G737 |alpha| #8=#:G736 #9=#:G735
         |ninvmod| |r| |invmod| |x|)
    (RETURN
     (SEQ
      (LETT |x|
            (SPADCALL
             (SPADCALL (SPADCALL (|spadConstant| $ 64) 1 (QREFELT $ 65))
                       (QREFELT $ 66))
             (QREFELT $ 69))
            . #10=(|ALGFF;getInfBasis|))
      (LETT |invmod|
            (SPADCALL (CONS #'|ALGFF;getInfBasis!0| (VECTOR $ |x|))
                      (QREFELT $ 9) (QREFELT $ 82))
            . #10#)
      (LETT |r| (SPADCALL |invmod| (QREFELT $ 85)) . #10#)
      (COND
       ((NULL (EQL (SPADCALL (QCDR |r|) (QREFELT $ 23)) (QREFELT $ 24)))
        (EXIT (|error| "Should not happen"))))
      (LETT |ninvmod| (SPADCALL (ELT $ 46) (QCDR |r|) (QREFELT $ 89)) . #10#)
      (LETT |alpha|
            (PROGN
             (LETT #9# (GETREFV (QSADD1 #11=(QREFELT $ 27))) . #10#)
             (SEQ (LETT |i| 0 . #10#) (LETT #8# #11# . #10#) G190
                  (COND ((QSGREATERP |i| #8#) #12=(GO G191)))
                  (SEQ
                   (EXIT
                    (SETELT #9# |i|
                            (SPADCALL (SPADCALL (QCAR |r|) |i| (QREFELT $ 90))
                                      |x| (QREFELT $ 80)))))
                  (LETT |i| (QSADD1 |i|) . #10#) #13=(GO G190) G191 (EXIT NIL))
             #9#)
            . #10#)
      (LETT |invalpha|
            (PROGN
             (LETT #7#
                   (GETREFV
                    (QSADD1
                     (- #14=(QVSIZE |alpha|)
                        #15=(SPADCALL |alpha| (QREFELT $ 67)))))
                   . #10#)
             (SEQ (LETT #6# 0 . #10#) (LETT |i| #15# . #10#)
                  (LETT #5# #14# . #10#) G190 (COND ((> |i| #5#) #12#))
                  (SEQ
                   (EXIT
                    (SETELT #7# #6#
                            (SPADCALL (SPADCALL |alpha| |i| (QREFELT $ 68))
                                      (QREFELT $ 69)))))
                  (LETT |i| (PROG1 (+ |i| 1) (LETT #6# (QSADD1 #6#) . #10#))
                        . #10#)
                  #13# G191 (EXIT NIL))
             #7#)
            . #10#)
      (LETT |invib|
            (SPADCALL
             (|compiledLookupCheck| '|integralBasis|
                                    (LIST
                                     (LIST '|Record|
                                           (LIST '|:| '|basis|
                                                 (LIST '|Matrix|
                                                       (|devaluate|
                                                        (ELT $ 7))))
                                           (LIST '|:| '|basisDen|
                                                 (|devaluate| (ELT $ 7)))
                                           (LIST '|:| '|basisInv|
                                                 (LIST '|Matrix|
                                                       (|devaluate|
                                                        (ELT $ 7))))))
                                    (|FunctionFieldIntegralBasis| (ELT $ 7)
                                                                  (|SparseUnivariatePolynomial|
                                                                   (ELT $ 7))
                                                                  (|SimpleAlgebraicExtension|
                                                                   (ELT $ 7)
                                                                   (|SparseUnivariatePolynomial|
                                                                    (ELT $ 7))
                                                                   |ninvmod|))))
            . #10#)
      (SEQ (LETT |i| (SPADCALL (QREFELT $ 30) (QREFELT $ 53)) . #10#)
           (LETT #4# (SPADCALL (QREFELT $ 30) (QREFELT $ 54)) . #10#) G190
           (COND ((> |i| #4#) #12#))
           (SEQ
            (EXIT
             (SEQ (LETT |j| (SPADCALL (QREFELT $ 30) (QREFELT $ 71)) . #10#)
                  (LETT #3# (SPADCALL (QREFELT $ 30) (QREFELT $ 72)) . #10#)
                  G190 (COND ((> |j| #3#) #12#))
                  (SEQ
                   (SPADCALL (QREFELT $ 33) |i| |j|
                             (SPADCALL
                              (SPADCALL
                               (SPADCALL (QVELT |invib| 0) |i| |j|
                                         (QREFELT $ 93))
                               (QVELT |invib| 1) (QREFELT $ 94))
                              |x| (QREFELT $ 80))
                             (QREFELT $ 74))
                   (EXIT
                    (SPADCALL (QREFELT $ 34) |i| |j|
                              (SPADCALL
                               (SPADCALL (QVELT |invib| 2) |i| |j|
                                         (QREFELT $ 93))
                               |x| (QREFELT $ 95))
                              (QREFELT $ 74))))
                  (LETT |j| (+ |j| 1) . #10#) #13# G191 (EXIT NIL))))
           (LETT |i| (+ |i| 1) . #10#) #13# G191 (EXIT NIL))
      (LETT |ib2|
            (SPADCALL (QREFELT $ 33) (SPADCALL |alpha| (QREFELT $ 70))
                      (QREFELT $ 96))
            . #10#)
      (LETT |invib2|
            (SPADCALL (SPADCALL |invalpha| (QREFELT $ 70)) (QREFELT $ 34)
                      (QREFELT $ 96))
            . #10#)
      (SEQ (LETT |i| (SPADCALL |ib2| (QREFELT $ 53)) . #10#)
           (LETT #2# (SPADCALL |ib2| (QREFELT $ 54)) . #10#) G190
           (COND ((> |i| #2#) #12#))
           (SEQ
            (EXIT
             (SEQ (LETT |j| (SPADCALL (QREFELT $ 30) (QREFELT $ 71)) . #10#)
                  (LETT #1# (SPADCALL (QREFELT $ 30) (QREFELT $ 72)) . #10#)
                  G190 (COND ((> |j| #1#) #12#))
                  (SEQ
                   (SPADCALL (QREFELT $ 33) |i| |j|
                             (SPADCALL |ib2| |i| |j| (QREFELT $ 73))
                             (QREFELT $ 74))
                   (EXIT
                    (SPADCALL (QREFELT $ 34) |i| |j|
                              (SPADCALL |invib2| |i| |j| (QREFELT $ 75))
                              (QREFELT $ 74))))
                  (LETT |j| (+ |j| 1) . #10#) #13# G191 (EXIT NIL))))
           (LETT |i| (+ |i| 1) . #10#) #13# G191 (EXIT NIL))
      (EXIT (SPADCALL (QREFELT $ 77))))))) 

(DEFUN |ALGFF;getInfBasis!0| (|s| $$)
  (PROG (|x| $)
    (LETT |x| (QREFELT $$ 1) . #1=(|ALGFF;getInfBasis|))
    (LETT $ (QREFELT $$ 0) . #1#)
    (RETURN (PROGN (SPADCALL |s| |x| (QREFELT $ 80)))))) 

(DEFUN |ALGFF;startUp| (|b| $)
  (PROG (|dsc| |dsc0| #1=#:G764 |j| #2=#:G763 |i| |invib2| #3=#:G753 |ib2|
         #4=#:G762 #5=#:G761 |ib| |nmod|)
    (RETURN
     (SEQ (SPADCALL (QREFELT $ 13) |b| (QREFELT $ 97))
          (LETT |nmod| (SPADCALL (ELT $ 46) (QREFELT $ 9) (QREFELT $ 89))
                . #6=(|ALGFF;startUp|))
          (LETT |ib|
                (SPADCALL
                 (|compiledLookupCheck| '|integralBasis|
                                        (LIST
                                         (LIST '|Record|
                                               (LIST '|:| '|basis|
                                                     (LIST '|Matrix|
                                                           (|devaluate|
                                                            (ELT $ 7))))
                                               (LIST '|:| '|basisDen|
                                                     (|devaluate| (ELT $ 7)))
                                               (LIST '|:| '|basisInv|
                                                     (LIST '|Matrix|
                                                           (|devaluate|
                                                            (ELT $ 7))))))
                                        (|FunctionFieldIntegralBasis| (ELT $ 7)
                                                                      (|SparseUnivariatePolynomial|
                                                                       (ELT $
                                                                            7))
                                                                      (|SimpleAlgebraicExtension|
                                                                       (ELT $
                                                                            7)
                                                                       (|SparseUnivariatePolynomial|
                                                                        (ELT $
                                                                             7))
                                                                       |nmod|))))
                . #6#)
          (SEQ (LETT |i| (SPADCALL (QREFELT $ 30) (QREFELT $ 53)) . #6#)
               (LETT #5# (SPADCALL (QREFELT $ 30) (QREFELT $ 54)) . #6#) G190
               (COND ((> |i| #5#) #7=(GO G191)))
               (SEQ
                (EXIT
                 (SEQ (LETT |j| (SPADCALL (QREFELT $ 30) (QREFELT $ 71)) . #6#)
                      (LETT #4# (SPADCALL (QREFELT $ 30) (QREFELT $ 72)) . #6#)
                      G190 (COND ((> |j| #4#) #7#))
                      (SEQ
                       (SPADCALL (QREFELT $ 30) |i| |j|
                                 (SPADCALL
                                  (SPADCALL (QVELT |ib| 0) |i| |j|
                                            (QREFELT $ 93))
                                  (QVELT |ib| 1) (QREFELT $ 94))
                                 (QREFELT $ 98))
                       (EXIT
                        (SPADCALL (QREFELT $ 32) |i| |j|
                                  (SPADCALL
                                   (SPADCALL (QVELT |ib| 2) |i| |j|
                                             (QREFELT $ 93))
                                   (QREFELT $ 66))
                                  (QREFELT $ 74))))
                      (LETT |j| (+ |j| 1) . #6#) #8=(GO G190) G191
                      (EXIT NIL))))
               (LETT |i| (+ |i| 1) . #6#) #8# G191 (EXIT NIL))
          (COND
           ((SPADCALL
             (SPADCALL (QREFELT $ 33) (SPADCALL (QREFELT $ 33) (QREFELT $ 53))
                       (SPADCALL (QREFELT $ 33) (QREFELT $ 71)) (QREFELT $ 75))
             (QREFELT $ 99))
            (|ALGFF;getInfBasis| $)))
          (LETT |ib2|
                (SPADCALL
                 (SPADCALL (|ALGFF;vect| (QREFELT $ 30) $) (QREFELT $ 100))
                 (QREFELT $ 101))
                . #6#)
          (LETT |invib2|
                (PROG2
                    (LETT #3# (SPADCALL |ib2| (QREFELT $ 103)) . #6#)
                    (QCDR #3#)
                  (|check-union| (QEQCAR #3# 0)
                                 (|Matrix| (|Fraction| (QREFELT $ 7))) #3#))
                . #6#)
          (SEQ (LETT |i| (SPADCALL |ib2| (QREFELT $ 53)) . #6#)
               (LETT #2# (SPADCALL |ib2| (QREFELT $ 54)) . #6#) G190
               (COND ((> |i| #2#) #7#))
               (SEQ
                (EXIT
                 (SEQ (LETT |j| (SPADCALL |ib2| (QREFELT $ 71)) . #6#)
                      (LETT #1# (SPADCALL |ib2| (QREFELT $ 72)) . #6#) G190
                      (COND ((> |j| #1#) #7#))
                      (SEQ
                       (SPADCALL (QREFELT $ 30) |i| |j|
                                 (SPADCALL |ib2| |i| |j| (QREFELT $ 73))
                                 (QREFELT $ 74))
                       (EXIT
                        (SPADCALL (QREFELT $ 32) |i| |j|
                                  (SPADCALL |invib2| |i| |j| (QREFELT $ 75))
                                  (QREFELT $ 74))))
                      (LETT |j| (+ |j| 1) . #6#) #8# G191 (EXIT NIL))))
               (LETT |i| (+ |i| 1) . #6#) #8# G191 (EXIT NIL))
          (LETT |dsc|
                (SPADCALL (QREFELT $ 9)
                          (SPADCALL (QREFELT $ 9) (QREFELT $ 104))
                          (QREFELT $ 105))
                . #6#)
          (LETT |dsc0|
                (SPADCALL |dsc|
                          (SPADCALL (SPADCALL (QREFELT $ 33) (QREFELT $ 106)) 2
                                    (QREFELT $ 90))
                          (QREFELT $ 107))
                . #6#)
          (EXIT
           (COND
            ((< (SPADCALL (SPADCALL |dsc0| (QREFELT $ 108)) (QREFELT $ 109))
                (SPADCALL (SPADCALL |dsc0| (QREFELT $ 110)) (QREFELT $ 109)))
             (|error| "Shouldn't happen"))
            ('T
             (SEQ
              (SPADCALL (QREFELT $ 14)
                        (<
                         (SPADCALL (SPADCALL |dsc0| (QREFELT $ 110))
                                   (QREFELT $ 109))
                         (SPADCALL (SPADCALL |dsc0| (QREFELT $ 108))
                                   (QREFELT $ 109)))
                        (QREFELT $ 97))
              (LETT |dsc|
                    (SPADCALL |dsc|
                              (SPADCALL
                               (SPADCALL (QREFELT $ 30) (QREFELT $ 106)) 2
                               (QREFELT $ 90))
                              (QREFELT $ 107))
                    . #6#)
              (SPADCALL (QREFELT $ 21)
                        (SPADCALL
                         (SPADCALL (SPADCALL |dsc| (QREFELT $ 110))
                                   (QREFELT $ 111))
                         (SPADCALL |dsc| (QREFELT $ 108)) (QREFELT $ 94))
                        (QREFELT $ 112))
              (EXIT (SPADCALL (QREFELT $ 77))))))))))) 

(DEFUN |ALGFF;integralDerivationMatrix;MR;16| (|d| $)
  (PROG (#1=#:G776 |i| #2=#:G775 #3=#:G774 |w|)
    (RETURN
     (SEQ
      (LETT |w| (SPADCALL (QREFELT $ 41))
            . #4=(|ALGFF;integralDerivationMatrix;MR;16|))
      (EXIT
       (SPADCALL
        (SPADCALL
         (SPADCALL
          (PROGN
           (LETT #3#
                 (GETREFV
                  (QSADD1
                   (- #5=(SPADCALL |w| (QREFELT $ 115))
                      #6=(SPADCALL |w| (QREFELT $ 114)))))
                 . #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 (SPADCALL |w| |i| (QREFELT $ 116)) |d|
                                    (QREFELT $ 118)))))
                (LETT |i| (PROG1 (+ |i| 1) (LETT #2# (QSADD1 #2#) . #4#))
                      . #4#)
                (GO G190) G191 (EXIT NIL))
           #3#)
          (QREFELT $ 101))
         (SPADCALL (QREFELT $ 44)) (QREFELT $ 96))
        (QREFELT $ 121))))))) 

(DEFUN |ALGFF;integralRepresents;VUP$;17| (|v| |d| $)
  (SPADCALL
   (SPADCALL (SPADCALL (SPADCALL |v| |d| (QREFELT $ 124)) (QREFELT $ 58))
             (SPADCALL (QREFELT $ 43)) (QREFELT $ 59))
   (QREFELT $ 57))) 

(DEFUN |ALGFF;branchPoint?;UPB;18| (|p| $)
  (PROG (|r|)
    (RETURN
     (SEQ
      (COND
       ((SPADCALL (QREFELT $ 13) (QREFELT $ 35)) (|ALGFF;startUp| 'NIL $)))
      (LETT |r| (SPADCALL |p| (QREFELT $ 127)) |ALGFF;branchPoint?;UPB;18|)
      (EXIT
       (COND ((QEQCAR |r| 0) (SPADCALL (QCDR |r|) (QREFELT $ 49)))
             ((SPADCALL
               (SPADCALL (SPADCALL (SPADCALL (QREFELT $ 39)) (QREFELT $ 46))
                         |p| (QREFELT $ 128))
               (QREFELT $ 129))
              'NIL)
             ('T 'T))))))) 

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

(DEFUN |AlgebraicFunctionField;| (|#1| |#2| |#3| |#4|)
  (PROG (#1=#:G668 |pv$| #2=#:G827 #3=#:G828 #4=#:G829 $ |dv$| DV$4 DV$3 DV$2
         DV$1)
    (RETURN
     (PROGN
      (LETT DV$1 (|devaluate| |#1|) . #5=(|AlgebraicFunctionField|))
      (LETT DV$2 (|devaluate| |#2|) . #5#)
      (LETT DV$3 (|devaluate| |#3|) . #5#)
      (LETT DV$4 (|devaluate| |#4|) . #5#)
      (LETT |dv$| (LIST '|AlgebraicFunctionField| DV$1 DV$2 DV$3 DV$4) . #5#)
      (LETT $ (GETREFV 168) . #5#)
      (QSETREFV $ 0 |dv$|)
      (QSETREFV $ 3
                (LETT |pv$|
                      (|buildPredVector| 0 0
                                         (LIST
                                          (|HasCategory| (|Fraction| |#2|)
                                                         '(|CharacteristicNonZero|))
                                          (|HasCategory| (|Fraction| |#2|)
                                                         '(|CharacteristicZero|))
                                          (|HasCategory| (|Fraction| |#2|)
                                                         '(|FiniteFieldCategory|))
                                          (LETT #4#
                                                (|HasCategory|
                                                 (|Fraction| |#2|) '(|Field|))
                                                . #5#)
                                          (OR #4#
                                              (|HasCategory| (|Fraction| |#2|)
                                                             '(|FiniteFieldCategory|)))
                                          (|HasCategory| (|Fraction| |#2|)
                                                         '(|Finite|))
                                          (|HasCategory| (|Fraction| |#2|)
                                                         '(|LinearlyExplicitRingOver|
                                                           (|Integer|)))
                                          (|HasCategory| (|Fraction| |#2|)
                                                         '(|RetractableTo|
                                                           (|Fraction|
                                                            (|Integer|))))
                                          (|HasCategory| (|Fraction| |#2|)
                                                         '(|RetractableTo|
                                                           (|Integer|)))
                                          (|HasCategory| |#1| '(|Field|))
                                          (|HasCategory| |#1| '(|Finite|))
                                          (OR
                                           (|HasCategory| (|Fraction| |#2|)
                                                          '(|RetractableTo|
                                                            (|Fraction|
                                                             (|Integer|))))
                                           #4#)
                                          (LETT #3#
                                                (AND
                                                 (|HasCategory|
                                                  (|Fraction| |#2|)
                                                  '(|PartialDifferentialRing|
                                                    (|Symbol|)))
                                                 (|HasCategory|
                                                  (|Fraction| |#2|)
                                                  '(|Field|)))
                                                . #5#)
                                          (OR #3#
                                              (AND
                                               (|HasCategory| (|Fraction| |#2|)
                                                              '(|PartialDifferentialRing|
                                                                (|Symbol|)))
                                               (|HasCategory| (|Fraction| |#2|)
                                                              '(|FiniteFieldCategory|))))
                                          (LETT #2#
                                                (AND
                                                 (|HasCategory|
                                                  (|Fraction| |#2|)
                                                  '(|DifferentialRing|))
                                                 (|HasCategory|
                                                  (|Fraction| |#2|)
                                                  '(|Field|)))
                                                . #5#)
                                          (OR #2#
                                              (|HasCategory| (|Fraction| |#2|)
                                                             '(|FiniteFieldCategory|)))))
                      . #5#))
      (|haddProp| |$ConstructorCache| '|AlgebraicFunctionField|
                  (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 $ 13 (SPADCALL 'T (QREFELT $ 12)))
      (QSETREFV $ 14 (SPADCALL 'T (QREFELT $ 12)))
      (QSETREFV $ 21 (SPADCALL (|spadConstant| $ 18) (QREFELT $ 20)))
      (QSETREFV $ 24 (SPADCALL |#4| (QREFELT $ 23)))
      (QSETREFV $ 27
                (PROG1 (LETT #1# (- (QREFELT $ 24) 1) . #5#)
                  (|check-subtype| (>= #1# 0) '(|NonNegativeInteger|) #1#)))
      (QSETREFV $ 30 (SPADCALL (QREFELT $ 24) (QREFELT $ 24) (QREFELT $ 29)))
      (QSETREFV $ 32 (SPADCALL (QREFELT $ 30) (QREFELT $ 31)))
      (QSETREFV $ 33 (SPADCALL (QREFELT $ 30) (QREFELT $ 31)))
      (QSETREFV $ 34 (SPADCALL (QREFELT $ 30) (QREFELT $ 31)))
      $)))) 

(MAKEPROP '|AlgebraicFunctionField| '|infovec|
          (LIST
           '#(NIL NIL NIL NIL NIL (|SimpleAlgebraicExtension| 17 8 9)
              (|local| |#1|) (|local| |#2|) (|local| |#3|) (|local| |#4|)
              (|Boolean|) (|Reference| 10) (0 . |ref|) '|brandNew?| '|infBr?|
              (5 . |Zero|) (9 . |Zero|) (|Fraction| 7) (13 . |Zero|)
              (|Reference| 17) (17 . |ref|) '|discPoly| (|NonNegativeInteger|)
              (22 . |degree|) '|n| (27 . |One|) (31 . |One|) '|n1|
              (|Matrix| 17) (35 . |zero|) '|ibasis| (41 . |copy|) '|invibasis|
              '|infbasis| '|invinfbasis| (46 . |deref|) (51 . |elt|)
              |ALGFF;branchPointAtInfinity?;B;1| (56 . |elt|)
              |ALGFF;discriminant;F;2| (|Vector| $) |ALGFF;integralBasis;V;3|
              |ALGFF;integralBasisAtInfinity;V;4| |ALGFF;integralMatrix;M;5|
              |ALGFF;inverseIntegralMatrix;M;6|
              |ALGFF;integralMatrixAtInfinity;M;7| (61 . |retract|)
              (66 . |elt|) (72 . |zero?|) |ALGFF;branchPoint?;FB;8|
              |ALGFF;definingPolynomial;UPUP;9|
              |ALGFF;inverseIntegralMatrixAtInfinity;M;10| (|Integer|)
              (77 . |minRowIndex|) (82 . |maxRowIndex|) (|Vector| 17)
              (87 . |row|) (93 . |represents|) (98 . |coordinates|) (103 . *)
              (|Record| (|:| |num| 123) (|:| |den| 7))
              (|InnerCommonDenominator| 7 17 123 55) (109 . |splitDenominator|)
              |ALGFF;integralCoordinates;$R;12| (114 . |One|)
              (118 . |monomial|) (124 . |coerce|) (129 . |minIndex|)
              (134 . |qelt|) (140 . |inv|) (145 . |diagonalMatrix|)
              (150 . |minColIndex|) (155 . |maxColIndex|) (160 . |qelt|)
              (167 . |setelt|) (175 . |elt|) (|Void|) (182 . |void|)
              |ALGFF;knownInfBasis;NniV;13| (|Fraction| $) (186 . |elt|)
              (|Mapping| 17 17) (192 . |map|)
              (|Record| (|:| |coef| 17) (|:| |poly| 8))
              (|ChangeOfVariable| 6 7 8) (198 . |mkIntegral|)
              (|SparseUnivariatePolynomial| 7) (|Mapping| 7 17)
              (|UnivariatePolynomialCategoryFunctions2| 17 8 7 86)
              (203 . |map|) (209 . ^) (215 . |basis|) (|Matrix| 7)
              (219 . |elt|) (226 . /) (232 . |elt|) (238 . *) (244 . |setelt|)
              (250 . |qsetelt!|) (258 . |zero?|) (263 . |normalizeAtInfinity|)
              (268 . |coordinates|) (|Union| $ '"failed") (273 . |inverse|)
              (278 . |differentiate|) (283 . |resultant|) (289 . |determinant|)
              (294 . *) (300 . |denom|) (305 . |degree|) (310 . |numer|)
              (315 . |primitivePart|) (320 . |setelt|) (|Vector| $$)
              (326 . |minIndex|) (331 . |maxIndex|) (336 . |elt|)
              (|Mapping| 7 7) (342 . |differentiate|)
              (|Record| (|:| |num| 92) (|:| |den| 7))
              (|MatrixCommonDenominator| 7 17) (348 . |splitDenominator|)
              |ALGFF;integralDerivationMatrix;MR;16| (|Vector| 7)
              (353 . |represents|) |ALGFF;integralRepresents;VUP$;17|
              (|Union| 6 '#1="failed") (359 . |retractIfCan|) (364 . |gcd|)
              (370 . |ground?|) |ALGFF;branchPoint?;UPB;18| (|List| 132)
              (|Symbol|) (|List| 22) (|Fraction| 52)
              (|Record| (|:| |unit| $) (|:| |canonical| $) (|:| |associate| $))
              (|List| $) (|SparseUnivariatePolynomial| $)
              (|Record| (|:| |coef| 136) (|:| |generator| $))
              (|Union| 136 '"failed")
              (|Record| (|:| |quotient| $) (|:| |remainder| $))
              (|Record| (|:| |coef1| $) (|:| |coef2| $))
              (|Union| 141 '"failed")
              (|Record| (|:| |coef1| $) (|:| |coef2| $) (|:| |generator| $))
              (|Factored| $) (|Fraction| 8) (|PositiveInteger|)
              (|OnePointCompletion| 146) (|Union| 22 '"failed")
              (|Union| 40 '"failed") (|Matrix| $)
              (|Record| (|:| |factor| 52) (|:| |exponent| 52)) (|List| 151)
              (|Table| 146 22)
              (|Union| '"prime" '"polynomial" '"normal" '"cyclic")
              (|Matrix| 52)
              (|Record| (|:| |mat| 155) (|:| |vec| (|Vector| 52)))
              (|Union| 134 '#1#) (|Union| 52 '#1#) (|List| (|Polynomial| 6))
              (|List| (|List| 6))
              (|Record| (|:| |num| $) (|:| |den| 7) (|:| |derivden| 7)
                        (|:| |gd| 7))
              (|Union| 7 '"failed") (|Record| (|:| |mat| 28) (|:| |vec| 55))
              (|Union| 17 '#1#) (|SingleInteger|) (|String|) (|OutputForm|))
           '#(|represents| 375 |normalizeAtInfinity| 386 |knownInfBasis| 391
              |inverseIntegralMatrixAtInfinity| 396 |inverseIntegralMatrix| 400
              |integralRepresents| 404 |integralMatrixAtInfinity| 410
              |integralMatrix| 414 |integralDerivationMatrix| 418
              |integralCoordinates| 423 |integralBasisAtInfinity| 428
              |integralBasis| 432 |discriminant| 436 |differentiate| 440
              |definingPolynomial| 446 |coordinates| 450
              |branchPointAtInfinity?| 460 |branchPoint?| 464 |basis| 474
              |Zero| 478 |One| 482)
           'NIL
           (CONS
            (|makeByteWordVec2| 16
                                '(0 0 3 3 5 5 5 4 0 5 0 5 4 0 0 4 4 4 0 0 0 1 2
                                  4 4 4 16 14 7 0 0 0 4 0 0 0 0 0 4 4 0 0 0 0 0
                                  0 0 0 6 3 0 0 0 0 0 0 0 0 4 4 4 8 9))
            (CONS
             '#(|FunctionFieldCategory&| |MonogenicAlgebra&|
                |FiniteFieldCategory&| |FieldOfPrimeCharacteristic&| |Field&|
                |EuclideanDomain&| NIL |UniqueFactorizationDomain&|
                |FramedAlgebra&| |GcdDomain&| |FiniteRankAlgebra&|
                |IntegralDomain&| |DivisionRing&| |Algebra&|
                |FullyLinearlyExplicitRingOver&| |Algebra&| |Algebra&|
                |DifferentialExtension&| NIL NIL |Module&| NIL NIL |Module&|
                NIL |Module&| |DifferentialRing&| |PartialDifferentialRing&|
                NIL NIL |Ring&| NIL NIL NIL NIL NIL NIL NIL NIL NIL
                |AbelianGroup&| NIL NIL |AbelianMonoid&| |Monoid&| NIL
                |SemiGroup&| |AbelianSemiGroup&| |Finite&| NIL
                |FullyRetractableTo&| |SetCategory&| |RetractableTo&| NIL NIL
                NIL |BasicType&| NIL NIL NIL NIL |RetractableTo&|
                |RetractableTo&|)
             (CONS
              '#((|FunctionFieldCategory| 6 7 8)
                 (|MonogenicAlgebra| (|Fraction| 7) 8) (|FiniteFieldCategory|)
                 (|FieldOfPrimeCharacteristic|) (|Field|) (|EuclideanDomain|)
                 (|PrincipalIdealDomain|) (|UniqueFactorizationDomain|)
                 (|FramedAlgebra| (|Fraction| 7) 8) (|GcdDomain|)
                 (|FiniteRankAlgebra| (|Fraction| 7) 8) (|IntegralDomain|)
                 (|DivisionRing|) (|Algebra| (|Fraction| 7))
                 (|FullyLinearlyExplicitRingOver| (|Fraction| 7))
                 (|Algebra| $$) (|Algebra| 134)
                 (|DifferentialExtension| (|Fraction| 7))
                 (|LinearlyExplicitRingOver| (|Fraction| 7))
                 (|CommutativeRing|) (|Module| (|Fraction| 7))
                 (|CharacteristicNonZero|) (|CharacteristicZero|) (|Module| $$)
                 (|EntireRing|) (|Module| 134) (|DifferentialRing|)
                 (|PartialDifferentialRing| 132)
                 (|LinearlyExplicitRingOver| 52) (|BiModule| $$ $$) (|Ring|)
                 (|BiModule| (|Fraction| 7) (|Fraction| 7))
                 (|BiModule| 134 134) (|RightModule| $$) (|Rng|)
                 (|RightModule| (|Fraction| 7)) (|LeftModule| (|Fraction| 7))
                 (|LeftModule| $$) (|LeftModule| 134) (|RightModule| 134)
                 (|AbelianGroup|) (|CancellationAbelianMonoid|) (|SemiRing|)
                 (|AbelianMonoid|) (|Monoid|) (|SemiRng|) (|SemiGroup|)
                 (|AbelianSemiGroup|) (|Finite|) (|StepThrough|)
                 (|FullyRetractableTo| (|Fraction| 7)) (|SetCategory|)
                 (|RetractableTo| (|Fraction| 7)) (|ConvertibleTo| 8)
                 (|CommutativeStar|) (|unitsKnown|) (|BasicType|)
                 (|CoercibleTo| 167) (|noZeroDivisors|) (|canonicalUnitNormal|)
                 (|canonicalsClosed|) (|RetractableTo| 134)
                 (|RetractableTo| 52))
              (|makeByteWordVec2| 130
                                  '(1 11 0 10 12 0 8 0 15 0 0 0 16 0 17 0 18 1
                                    19 0 17 20 1 8 22 0 23 0 8 0 25 0 0 0 26 2
                                    28 0 22 22 29 1 28 0 0 31 1 11 10 0 35 1 11
                                    10 0 36 1 19 17 0 38 1 17 7 0 46 2 7 6 0 6
                                    47 1 6 10 0 48 1 28 52 0 53 1 28 52 0 54 2
                                    28 55 0 52 56 1 0 0 55 57 1 0 55 0 58 2 28
                                    55 55 0 59 1 61 60 55 62 0 6 0 64 2 7 0 6
                                    22 65 1 17 0 7 66 1 55 52 0 67 2 55 17 0 52
                                    68 1 17 0 0 69 1 28 0 55 70 1 28 52 0 71 1
                                    28 52 0 72 3 28 17 0 52 52 73 4 28 17 0 52
                                    52 17 74 3 28 17 0 52 52 75 0 76 0 77 2 7
                                    79 79 79 80 2 8 0 81 0 82 1 84 83 8 85 2 88
                                    86 87 8 89 2 17 0 0 52 90 0 0 40 91 3 92 7
                                    0 52 52 93 2 17 0 7 7 94 2 7 79 0 79 95 2
                                    28 0 0 0 96 2 11 10 0 10 97 4 28 17 0 52 52
                                    17 98 1 17 10 0 99 1 0 40 40 100 1 0 28 40
                                    101 1 28 102 0 103 1 8 0 0 104 2 8 17 0 0
                                    105 1 28 17 0 106 2 17 0 0 0 107 1 17 7 0
                                    108 1 7 22 0 109 1 17 7 0 110 1 7 0 0 111 2
                                    19 17 0 17 112 1 113 52 0 114 1 113 52 0
                                    115 2 113 2 0 52 116 2 0 0 0 117 118 1 120
                                    119 28 121 2 0 0 123 7 124 1 7 126 0 127 2
                                    7 0 0 0 128 1 7 10 0 129 2 0 0 123 7 124 1
                                    0 0 55 57 1 0 40 40 100 1 0 76 22 78 0 0 28
                                    51 0 0 28 44 2 0 0 123 7 125 0 0 28 45 0 0
                                    28 43 1 0 119 117 122 1 0 60 0 63 0 0 40 42
                                    0 0 40 41 0 0 17 39 2 0 0 0 117 118 0 0 8
                                    50 1 0 28 40 101 1 0 55 0 58 0 0 10 37 1 0
                                    10 7 130 1 0 10 6 49 0 0 40 91 0 0 0 16 0 0
                                    0 26)))))
           '|lookupIncomplete|)) 
