
(/VERSIONCHECK 2) 

(DEFUN |FFCGP;tableForDiscreteLogarithm;IT;1| (|fac| $)
  (SPADCALL (QREFELT $ 41))) 

(DEFUN |FFCGP;getZechTable;Pa;2| ($) (QREFELT $ 25)) 

(DEFUN |FFCGP;order;$Pi;3| (|x| $)
  (PROG (#1=#:G688)
    (RETURN
     (COND
      ((SPADCALL |x| (QREFELT $ 46))
       (|error| "order: order of zero undefined"))
      ('T
       (PROG1
           (LETT #1# (QUOTIENT2 (QREFELT $ 20) (GCD (QREFELT $ 20) |x|))
                 |FFCGP;order;$Pi;3|)
         (|check-subtype| (> #1# 0) '(|PositiveInteger|) #1#))))))) 

(DEFUN |FFCGP;primitive?;$B;4| (|x| $)
  (COND
   ((OR (SPADCALL |x| (QREFELT $ 46))
        (SPADCALL |x| (|spadConstant| $ 19) (QREFELT $ 48)))
    'NIL)
   ('T
    (COND ((SPADCALL (GCD |x| (QREFELT $ 20)) 1 (QREFELT $ 48)) 'T)
          ('T 'NIL))))) 

(DEFUN |FFCGP;coordinates;$V;5| (|x| $)
  (PROG (|primElement|)
    (RETURN
     (SEQ
      (COND
       ((SPADCALL |x| (|spadConstant| $ 32) (QREFELT $ 48))
        (SPADCALL (QREFELT $ 12) (|spadConstant| $ 50) (QREFELT $ 52)))
       ('T
        (SEQ
         (LETT |primElement|
               (SPADCALL (SPADCALL (|spadConstant| $ 53) 1 (QREFELT $ 54))
                         (QREFELT $ 56))
               |FFCGP;coordinates;$V;5|)
         (EXIT
          (SPADCALL (SPADCALL |primElement| |x| (QREFELT $ 57))
                    (QREFELT $ 58)))))))))) 

(DEFUN |FFCGP;+;3$;6| (|x| |y| $)
  (PROG (|d|)
    (RETURN
     (SEQ (COND ((QREFELT $ 37) (|FFCGP;initializeZech| $)))
          (EXIT
           (COND ((SPADCALL |x| (QREFELT $ 46)) |y|)
                 ((SPADCALL |y| (QREFELT $ 46)) |x|)
                 (#1='T
                  (SEQ
                   (LETT |d|
                         (SPADCALL (QSDIFFERENCE |y| |x|) (QREFELT $ 20)
                                   (QREFELT $ 60))
                         . #2=(|FFCGP;+;3$;6|))
                   (COND
                    ((NULL (QSLESSP (QSLEFTSHIFT (QREFELT $ 20) -1) |d|))
                     (EXIT
                      (COND
                       ((EQL (ELT (QREFELT $ 25) |d|) -1)
                        (|spadConstant| $ 32))
                       (#1#
                        (QSADDMOD |x| (ELT (QREFELT $ 25) |d|)
                                  (QREFELT $ 20)))))))
                   (LETT |d| (QSDIFFERENCE (QREFELT $ 20) |d|) . #2#)
                   (EXIT
                    (QSADDMOD |y| (ELT (QREFELT $ 25) |d|)
                              (QREFELT $ 20))))))))))) 

(DEFUN |FFCGP;initializeZech| ($)
  (SEQ (SETELT $ 25 (SPADCALL (QREFELT $ 7) (QREFELT $ 63))) (SETELT $ 37 'NIL)
       (EXIT (SPADCALL (QREFELT $ 65))))) 

(DEFUN |FFCGP;basis;PiV;8| (|n| $)
  (PROG (#1=#:G705 #2=#:G710 |i| #3=#:G709 |m|)
    (RETURN
     (SEQ
      (COND
       ((NULL (EQL (REMAINDER2 (SPADCALL (QREFELT $ 68)) |n|) 0))
        (|error| "argument must divide extension degree"))
       ('T
        (SEQ
         (LETT |m|
               (QUOTIENT2 (QREFELT $ 20)
                          (-
                           (SPADCALL (SPADCALL (QREFELT $ 13)) |n|
                                     (QREFELT $ 16))
                           1))
               . #4=(|FFCGP;basis;PiV;8|))
         (EXIT
          (PROGN
           (LETT #3# (GETREFV |n|) . #4#)
           (SEQ (LETT |i| 0 . #4#) (LETT #2# (- |n| 1) . #4#) G190
                (COND ((QSGREATERP |i| #2#) (GO G191)))
                (SEQ
                 (EXIT
                  (SETELT #3# |i|
                          (SPADCALL
                           (PROG1
                               (LETT #1#
                                     (+ 1 (SPADCALL |i| |m| (QREFELT $ 69)))
                                     . #4#)
                             (|check-subtype| (> #1# 0) '(|PositiveInteger|)
                                              #1#))
                           (QREFELT $ 70)))))
                (LETT |i| (QSADD1 |i|) . #4#) (GO G190) G191 (EXIT NIL))
           #3#))))))))) 

(DEFUN |FFCGP;*;I2$;9| (|n| |x| $)
  (SPADCALL (SPADCALL (SPADCALL |n| (QREFELT $ 73)) (QREFELT $ 74)) |x|
            (QREFELT $ 75))) 

(DEFUN |FFCGP;minimalPolynomial;$Sup;10| (|a| $)
  (PROG (|f| |p| |g| |u|)
    (RETURN
     (SEQ
      (LETT |f|
            (SPADCALL (SPADCALL (|spadConstant| $ 19) 1 (QREFELT $ 78))
                      (SPADCALL |a| 0 (QREFELT $ 78)) (QREFELT $ 79))
            . #1=(|FFCGP;minimalPolynomial;$Sup;10|))
      (LETT |u| (SPADCALL |a| (QREFELT $ 80)) . #1#)
      (SEQ G190
           (COND
            ((NULL (COND ((SPADCALL |u| |a| (QREFELT $ 48)) 'NIL) ('T 'T)))
             #2=(GO G191)))
           (SEQ
            (LETT |f|
                  (SPADCALL |f|
                            (SPADCALL
                             (SPADCALL (|spadConstant| $ 19) 1 (QREFELT $ 78))
                             (SPADCALL |u| 0 (QREFELT $ 78)) (QREFELT $ 79))
                            (QREFELT $ 81))
                  . #1#)
            (EXIT (LETT |u| (SPADCALL |u| (QREFELT $ 80)) . #1#)))
           NIL #3=(GO G190) G191 (EXIT NIL))
      (LETT |p| (|spadConstant| $ 31) . #1#)
      (SEQ G190
           (COND
            ((NULL (COND ((SPADCALL |f| (QREFELT $ 82)) 'NIL) ('T 'T))) #2#))
           (SEQ
            (LETT |g| (SPADCALL (SPADCALL |f| (QREFELT $ 83)) (QREFELT $ 84))
                  . #1#)
            (LETT |p|
                  (SPADCALL |p|
                            (SPADCALL |g| (SPADCALL |f| (QREFELT $ 85))
                                      (QREFELT $ 54))
                            (QREFELT $ 86))
                  . #1#)
            (EXIT (LETT |f| (SPADCALL |f| (QREFELT $ 87)) . #1#)))
           NIL #3# G191 (EXIT NIL))
      (EXIT |p|))))) 

(DEFUN |FFCGP;factorsOfCyclicGroupSize;L;11| ($)
  (SEQ (COND ((NULL (QREFELT $ 36)) (|FFCGP;initializeElt| $)))
       (EXIT (QREFELT $ 36)))) 

(PUT '|FFCGP;representationType;U;12| '|SPADreplace|
     '(XLAM NIL (CONS 3 "cyclic"))) 

(DEFUN |FFCGP;representationType;U;12| ($) (CONS 3 "cyclic")) 

(DEFUN |FFCGP;definingPolynomial;Sup;13| ($) (QREFELT $ 7)) 

(DEFUN |FFCGP;random;$;14| ($) (QSDIFFERENCE (RANDOM (QREFELT $ 14)) 1)) 

(DEFUN |FFCGP;represents;V$;15| (|v| $)
  (PROG (|u|)
    (RETURN
     (SEQ (LETT |u| (SPADCALL |v| (QREFELT $ 97)) |FFCGP;represents;V$;15|)
          (EXIT
           (COND
            ((SPADCALL |u| (|spadConstant| $ 98) (QREFELT $ 99))
             (|spadConstant| $ 32))
            ('T (SPADCALL |u| (QREFELT $ 100))))))))) 

(DEFUN |FFCGP;coerce;GF$;16| (|e| $)
  (PROG (|log| #1=#:G743)
    (RETURN
     (SEQ
      (COND ((SPADCALL |e| (QREFELT $ 102)) (|spadConstant| $ 32))
            ('T
             (SEQ
              (LETT |log|
                    (*
                     (PROG2
                         (LETT #1#
                               (SPADCALL (QREFELT $ 35) |e| (QREFELT $ 104))
                               . #2=(|FFCGP;coerce;GF$;16|))
                         (QCDR #1#)
                       (|check-union| (QEQCAR #1# 0) (|NonNegativeInteger|)
                                      #1#))
                     (QREFELT $ 21))
                    . #2#)
              (EXIT (SPADCALL |log| (QREFELT $ 20) (QREFELT $ 105)))))))))) 

(DEFUN |FFCGP;retractIfCan;$U;17| (|x| $)
  (PROG (#1=#:G755 |u|)
    (RETURN
     (SEQ
      (COND ((SPADCALL |x| (QREFELT $ 46)) (CONS 0 (|spadConstant| $ 50)))
            (#2='T
             (SEQ
              (LETT |u| (SPADCALL |x| (QREFELT $ 21) (QREFELT $ 107))
                    . #3=(|FFCGP;retractIfCan;$U;17|))
              (EXIT
               (COND
                ((SPADCALL |u| (CONS 1 "failed") (QREFELT $ 109))
                 (CONS 1 "failed"))
                (#2#
                 (CONS 0
                       (SPADCALL (QREFELT $ 35)
                                 (PROG2
                                     (LETT #1# |u| . #3#)
                                     (QCDR #1#)
                                   (|check-union| (QEQCAR #1# 0) $ #1#))
                                 (QREFELT $ 110))))))))))))) 

(DEFUN |FFCGP;retract;$GF;18| (|x| $)
  (PROG (#1=#:G767 |a|)
    (RETURN
     (SEQ
      (LETT |a| (SPADCALL |x| (QREFELT $ 112)) . #2=(|FFCGP;retract;$GF;18|))
      (EXIT
       (COND
        ((SPADCALL |a| (CONS 1 "failed") (QREFELT $ 113))
         (|error| "element not in groundfield"))
        ('T
         (PROG2
             (LETT #1# |a| . #2#)
             (QCDR #1#)
           (|check-union| (QEQCAR #1# 0) (QREFELT $ 6) #1#))))))))) 

(DEFUN |FFCGP;basis;V;19| ($)
  (PROG (#1=#:G771 #2=#:G776 |i| #3=#:G775 #4=#:G774)
    (RETURN
     (SEQ
      (PROGN
       (LETT #4# (GETREFV #5=(QREFELT $ 12)) . #6=(|FFCGP;basis;V;19|))
       (SEQ (LETT #3# 0 . #6#) (LETT |i| 1 . #6#) (LETT #2# #5# . #6#) G190
            (COND ((QSGREATERP |i| #2#) (GO G191)))
            (SEQ
             (EXIT
              (SETELT #4# #3#
                      (SPADCALL
                       (PROG1 (LETT #1# |i| . #6#)
                         (|check-subtype| (> #1# 0) '(|PositiveInteger|) #1#))
                       (QREFELT $ 70)))))
            (LETT |i| (PROG1 (QSADD1 |i|) (LETT #3# (QSADD1 #3#) . #6#)) . #6#)
            (GO G190) G191 (EXIT NIL))
       #4#))))) 

(DEFUN |FFCGP;inGroundField?;$B;20| (|x| $)
  (COND
   ((OR (SPADCALL |x| (QREFELT $ 46))
        (EQL (SPADCALL |x| (QREFELT $ 21) (QREFELT $ 60)) 0))
    'T)
   ('T 'NIL))) 

(DEFUN |FFCGP;discreteLog;2$U;21| (|b| |x| $)
  (PROG (|e1| #1=#:G789 |e|)
    (RETURN
     (SEQ
      (COND ((SPADCALL |x| (QREFELT $ 46)) (CONS 1 "failed"))
            (#2='T
             (SEQ
              (LETT |e| (SPADCALL |b| (QREFELT $ 20) |x| (QREFELT $ 118))
                    . #3=(|FFCGP;discreteLog;2$U;21|))
              (EXIT
               (COND
                ((SPADCALL |e| (CONS 1 "failed") (QREFELT $ 121))
                 (CONS 1 "failed"))
                (#2#
                 (SEQ
                  (LETT |e1|
                        (PROG2
                            (LETT #1# |e| . #3#)
                            (QCDR #1#)
                          (|check-union| (QEQCAR #1# 0)
                                         (|Record| (|:| |coef1| $)
                                                   (|:| |coef2| $))
                                         #1#))
                        . #3#)
                  (EXIT
                   (CONS 0
                         (SPADCALL (QCAR |e1|) (QREFELT $ 20)
                                   (QREFELT $ 60))))))))))))))) 

(DEFUN |FFCGP;-;2$;22| (|x| $)
  (COND ((SPADCALL |x| (QREFELT $ 46)) (|spadConstant| $ 32))
        ((EQL (SPADCALL (QREFELT $ 123)) 2) |x|)
        ('T (QSADDMOD |x| (QSLEFTSHIFT (QREFELT $ 20) -1) (QREFELT $ 20))))) 

(PUT '|FFCGP;generator;$;23| '|SPADreplace| '(XLAM NIL 1)) 

(DEFUN |FFCGP;generator;$;23| ($) 1) 

(PUT '|FFCGP;createPrimitiveElement;$;24| '|SPADreplace| '(XLAM NIL 1)) 

(DEFUN |FFCGP;createPrimitiveElement;$;24| ($) 1) 

(PUT '|FFCGP;primitiveElement;$;25| '|SPADreplace| '(XLAM NIL 1)) 

(DEFUN |FFCGP;primitiveElement;$;25| ($) 1) 

(DEFUN |FFCGP;discreteLog;$Nni;26| (|x| $)
  (COND ((SPADCALL |x| (QREFELT $ 46)) (|error| "discrete logarithm error"))
        ('T |x|))) 

(DEFUN |FFCGP;normalElement;$;27| ($)
  (SEQ (COND ((QREFELT $ 38) (|FFCGP;initializeElt| $))) (EXIT (QREFELT $ 39)))) 

(DEFUN |FFCGP;initializeElt| ($)
  (SEQ
   (SETELT $ 36
           (SPADCALL (SPADCALL (QREFELT $ 20) (QREFELT $ 131))
                     (QREFELT $ 133)))
   (SETELT $ 39 (SPADCALL (QREFELT $ 134))) (SETELT $ 38 'NIL)
   (EXIT (SPADCALL (QREFELT $ 65))))) 

(DEFUN |FFCGP;extensionDegree;Pi;29| ($) (QREFELT $ 12)) 

(DEFUN |FFCGP;characteristic;Nni;30| ($) (SPADCALL (QREFELT $ 135))) 

(DEFUN |FFCGP;lookup;$Pi;31| (|x| $)
  (COND ((EQL |x| -1) (QREFELT $ 14)) ('T (QSPLUS |x| 1)))) 

(DEFUN |FFCGP;index;Pi$;32| (|a| $)
  (QSDIFFERENCE (SPADCALL |a| (QREFELT $ 14) (QREFELT $ 105)) 1)) 

(PUT '|FFCGP;Zero;$;33| '|SPADreplace| '(XLAM NIL -1)) 

(DEFUN |FFCGP;Zero;$;33| ($) -1) 

(PUT '|FFCGP;One;$;34| '|SPADreplace| '(XLAM NIL 0)) 

(DEFUN |FFCGP;One;$;34| ($) 0) 

(DEFUN |FFCGP;coerce;$Of;35| (|x| $)
  (PROG (|y|)
    (RETURN
     (SEQ
      (COND ((EQL |x| -1) "0") ((EQL |x| 0) "1")
            ('T
             (SEQ
              (LETT |y| (- (SPADCALL |x| (QREFELT $ 137)) 1)
                    |FFCGP;coerce;$Of;35|)
              (EXIT
               (SPADCALL (QREFELT $ 30) (SPADCALL |y| (QREFELT $ 138))
                         (QREFELT $ 139)))))))))) 

(PUT '|FFCGP;=;2$B;36| '|SPADreplace| 'EQL) 

(DEFUN |FFCGP;=;2$B;36| (|x| |y| $) (EQL |x| |y|)) 

(DEFUN |FFCGP;*;3$;37| (|x| |y| $)
  (COND
   ((OR (SPADCALL |x| (|spadConstant| $ 32) (QREFELT $ 48))
        (SPADCALL |y| (|spadConstant| $ 32) (QREFELT $ 48)))
    (|spadConstant| $ 32))
   ('T (QSADDMOD |x| |y| (QREFELT $ 20))))) 

(DEFUN |FFCGP;*;GF2$;38| (|a| |x| $)
  (SPADCALL (SPADCALL |a| (QREFELT $ 74)) |x| (QREFELT $ 75))) 

(DEFUN |FFCGP;/;$GF$;39| (|x| |a| $)
  (SPADCALL |x| (SPADCALL |a| (QREFELT $ 74)) (QREFELT $ 142))) 

(DEFUN |FFCGP;inv;2$;40| (|x| $)
  (COND ((SPADCALL |x| (QREFELT $ 46)) (|error| "inv: not invertible"))
        ((SPADCALL |x| (|spadConstant| $ 19) (QREFELT $ 48))
         (|spadConstant| $ 19))
        ('T (QSDIFFERENCE (QREFELT $ 20) |x|)))) 

(DEFUN |FFCGP;^;$Pi$;41| (|x| |n| $) (SPADCALL |x| |n| (QREFELT $ 145))) 

(DEFUN |FFCGP;^;$Nni$;42| (|x| |n| $) (SPADCALL |x| |n| (QREFELT $ 145))) 

(DEFUN |FFCGP;^;$I$;43| (|x| |n| $)
  (PROG (|m|)
    (RETURN
     (SEQ
      (LETT |m| (SPADCALL |n| (QREFELT $ 20) (QREFELT $ 105)) |FFCGP;^;$I$;43|)
      (EXIT
       (COND ((EQL |m| 0) (|spadConstant| $ 19))
             ((SPADCALL |x| (|spadConstant| $ 32) (QREFELT $ 48))
              (|spadConstant| $ 32))
             ('T (QSMULTMOD |m| |x| (QREFELT $ 20))))))))) 

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

(DEFUN |FiniteFieldCyclicGroupExtensionByPolynomial;| (|#1| |#2|)
  (PROG (|pv$| #1=#:G843 $ |dv$| DV$2 DV$1)
    (RETURN
     (PROGN
      (LETT DV$1 (|devaluate| |#1|)
            . #2=(|FiniteFieldCyclicGroupExtensionByPolynomial|))
      (LETT DV$2 (|devaluate| |#2|) . #2#)
      (LETT |dv$|
            (LIST '|FiniteFieldCyclicGroupExtensionByPolynomial| DV$1 DV$2)
            . #2#)
      (LETT $ (GETREFV 162) . #2#)
      (QSETREFV $ 0 |dv$|)
      (QSETREFV $ 3
                (LETT |pv$|
                      (|buildPredVector| 0 0
                                         (LIST
                                          (|HasCategory| |#1|
                                                         '(|CharacteristicZero|))
                                          (|HasCategory| |#1| '(|Finite|))
                                          (LETT #1#
                                                (|HasCategory| |#1|
                                                               '(|CharacteristicNonZero|))
                                                . #2#)
                                          (OR #1#
                                              (|HasCategory| |#1|
                                                             '(|Finite|)))))
                      . #2#))
      (|haddProp| |$ConstructorCache|
                  '|FiniteFieldCyclicGroupExtensionByPolynomial|
                  (LIST DV$1 DV$2) (CONS 1 $))
      (|stuffDomainSlots| $)
      (QSETREFV $ 6 |#1|)
      (QSETREFV $ 7 |#2|)
      (QSETREFV $ 8 (|SingleInteger|))
      (QSETREFV $ 12 (SPADCALL |#2| (QREFELT $ 11)))
      (QSETREFV $ 14 (EXPT (SPADCALL (QREFELT $ 13)) (QREFELT $ 12)))
      (QSETREFV $ 17 (< (SPADCALL 2 20 (QREFELT $ 16)) (QREFELT $ 14)))
      (COND
       ((QREFELT $ 17) (|error| "field too large for this representation")))
      (QSETREFV $ 20 (- (QREFELT $ 14) 1))
      (QSETREFV $ 21
                (QUOTIENT2 (QREFELT $ 20) (- (SPADCALL (QREFELT $ 13)) 1)))
      (QSETREFV $ 25
                (SPADCALL (QUOTIENT2 (+ (QREFELT $ 14) 1) 2) -1
                          (QREFELT $ 24)))
      (QSETREFV $ 30 (SPADCALL (SPADCALL (QREFELT $ 27)) (QREFELT $ 29)))
      (QSETREFV $ 35
                (COND
                 ((ODDP (QREFELT $ 12))
                  (SPADCALL (SPADCALL |#2| 0 (QREFELT $ 33)) (QREFELT $ 34)))
                 ('T (SPADCALL |#2| 0 (QREFELT $ 33)))))
      (QSETREFV $ 36 NIL)
      (QSETREFV $ 37 'T)
      (QSETREFV $ 38 'T)
      (QSETREFV $ 39 0)
      $)))) 

(MAKEPROP '|FiniteFieldCyclicGroupExtensionByPolynomial| '|infovec|
          (LIST
           '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|) '|Rep|
              (|NonNegativeInteger|) (|SparseUnivariatePolynomial| 6)
              (0 . |degree|) '|extdeg| (5 . |size|) '|sizeFF|
              (|PositiveInteger|) (9 . ^) '#:G661 (15 . |One|)
              (CONS IDENTITY (FUNCALL (|dispatchFunction| |FFCGP;One;$;34|) $))
              '|sizeCG| '|sizeFG| (|SingleInteger|) (|PrimitiveArray| 22)
              (19 . |new|) '|zechlog| (|Symbol|) (25 . |new|) (|OutputForm|)
              (29 . |coerce|) '|alpha| (34 . |Zero|)
              (CONS IDENTITY
                    (FUNCALL (|dispatchFunction| |FFCGP;Zero;$;33|) $))
              (38 . |coefficient|) (44 . -) '|primEltGF| '|facOfGroupSize|
              '|initzech?| '|initelt?| '|normalElt| (|Table| 15 9)
              (49 . |table|) (|Integer|) |FFCGP;tableForDiscreteLogarithm;IT;1|
              |FFCGP;getZechTable;Pa;2| (|Boolean|) (53 . |zero?|)
              |FFCGP;order;$Pi;3| |FFCGP;=;2$B;36| |FFCGP;primitive?;$B;4|
              (58 . |Zero|) (|Vector| 6) (62 . |new|) (68 . |One|)
              (72 . |monomial|) (|SimpleAlgebraicExtension| 6 10 7)
              (78 . |convert|) (83 . ^) (89 . |coordinates|)
              |FFCGP;coordinates;$V;5| (94 . |positiveRemainder|)
              |FFCGP;+;3$;6| (|FiniteFieldFunctions| 6)
              (100 . |createZechTable|) (|Void|) (105 . |void|)
              (|OnePointCompletion| 15) (109 . |extensionDegree|)
              |FFCGP;extensionDegree;Pi;29| (113 . *) |FFCGP;index;Pi$;32|
              (|Vector| $) |FFCGP;basis;PiV;8| (119 . |coerce|)
              |FFCGP;coerce;GF$;16| |FFCGP;*;3$;37| |FFCGP;*;I2$;9|
              (|SparseUnivariatePolynomial| $$) (124 . |monomial|) (130 . -)
              (136 . |Frobenius|) (141 . *) (147 . |zero?|)
              (152 . |leadingCoefficient|) |FFCGP;retract;$GF;18|
              (157 . |degree|) (162 . +) (168 . |reductum|)
              |FFCGP;minimalPolynomial;$Sup;10|
              (|Record| (|:| |factor| 42) (|:| |exponent| 42)) (|List| 89)
              |FFCGP;factorsOfCyclicGroupSize;L;11|
              (|Union| '"prime" '"polynomial" '"normal" '"cyclic")
              |FFCGP;representationType;U;12| |FFCGP;definingPolynomial;Sup;13|
              |FFCGP;random;$;14| (|FiniteFieldExtensionByPolynomial| 6 7)
              (173 . |represents|) (178 . |Zero|) (182 . =)
              (188 . |discreteLog|) |FFCGP;represents;V$;15| (193 . |zero?|)
              (|Union| 9 '"failed") (198 . |discreteLog|)
              (204 . |positiveRemainder|) (|Union| $ '#1="failed")
              (210 . |exquo|) (|Union| $$ '#1#) (216 . =) (222 . ^)
              (|Union| 6 '"failed") |FFCGP;retractIfCan;$U;17| (228 . =)
              |FFCGP;basis;V;19| |FFCGP;inGroundField?;$B;20|
              (|Record| (|:| |coef1| $) (|:| |coef2| $))
              (|Union| 116 '#2="failed") (234 . |extendedEuclidean|)
              (|Record| (|:| |coef1| $$) (|:| |coef2| $$)) (|Union| 119 '#2#)
              (241 . =) |FFCGP;discreteLog;2$U;21| (247 . |characteristic|)
              |FFCGP;-;2$;22| |FFCGP;generator;$;23|
              |FFCGP;createPrimitiveElement;$;24| |FFCGP;primitiveElement;$;25|
              |FFCGP;discreteLog;$Nni;26| |FFCGP;normalElement;$;27|
              (|Factored| $) (251 . |factor|) (|Factored| 42) (256 . |factors|)
              (261 . |createNormalElement|) (265 . |characteristic|)
              |FFCGP;characteristic;Nni;30| |FFCGP;lookup;$Pi;31|
              (269 . |coerce|) (274 . ^) |FFCGP;coerce;$Of;35|
              |FFCGP;*;GF2$;38| (280 . /) |FFCGP;/;$GF$;39| |FFCGP;inv;2$;40|
              |FFCGP;^;$I$;43| |FFCGP;^;$Pi$;41| |FFCGP;^;$Nni$;42| (|List| $)
              (|Union| 71 '"failed") (|Matrix| $) (|Union| 10 '"failed")
              (|SparseUnivariatePolynomial| $) (|Matrix| 6) (|CardinalNumber|)
              (|Fraction| 42) (|Union| 148 '"failed")
              (|Record| (|:| |coef1| $) (|:| |coef2| $) (|:| |generator| $))
              (|Record| (|:| |quotient| $) (|:| |remainder| $))
              (|Record| (|:| |coef| 148) (|:| |generator| $))
              (|Record| (|:| |unit| $) (|:| |canonical| $) (|:| |associate| $))
              (|String|))
           '#(~= 286 |zero?| 292 |unitNormal| 297 |unitCanonical| 302 |unit?|
              307 |transcendent?| 312 |transcendenceDegree| 317 |trace| 321
              |tableForDiscreteLogarithm| 332 |subtractIfCan| 337
              |squareFreePart| 343 |squareFree| 348 |sizeLess?| 353 |size| 359
              |sample| 363 |retractIfCan| 367 |retract| 372 |represents| 377
              |representationType| 382 |rem| 386 |recip| 392 |random| 397 |quo|
              401 |principalIdeal| 407 |primitiveElement| 412 |primitive?| 416
              |primeFrobenius| 421 |prime?| 432 |order| 437 |one?| 447
              |normalElement| 452 |normal?| 456 |norm| 461 |nextItem| 472
              |multiEuclidean| 477 |minimalPolynomial| 483 |lookup| 494
              |linearAssociatedOrder| 499 |linearAssociatedLog| 504
              |linearAssociatedExp| 515 |lcm| 521 |latex| 532 |inv| 537 |init|
              542 |index| 546 |inGroundField?| 551 |hash| 556 |getZechTable|
              561 |generator| 565 |gcdPolynomial| 569 |gcd| 575
              |factorsOfCyclicGroupSize| 586 |factor| 590 |extensionDegree| 595
              |extendedEuclidean| 603 |exquo| 616 |expressIdealMember| 622
              |euclideanSize| 628 |enumerate| 633 |divide| 637 |discreteLog|
              643 |dimension| 654 |differentiate| 658 |degree| 669
              |definingPolynomial| 679 |createPrimitiveElement| 683
              |createNormalElement| 687 |coordinates| 691 |conditionP| 701
              |coerce| 706 |charthRoot| 731 |characteristic| 741 |basis| 745
              |associates?| 754 |algebraic?| 760 ^ 765 |Zero| 783 |One| 787
              |Frobenius| 791 D 802 = 813 / 819 - 831 + 842 * 848)
           'NIL
           (CONS
            (|makeByteWordVec2| 4
                                '(0 0 2 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 1 2 0
                                  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 0
                                  0 0 0 0 0 0))
            (CONS
             '#(|FiniteAlgebraicExtensionField&| |ExtensionField&|
                |FiniteFieldCategory&| |FieldOfPrimeCharacteristic&| |Field&|
                |EuclideanDomain&| NIL |UniqueFactorizationDomain&|
                |GcdDomain&| |DivisionRing&| |IntegralDomain&| |VectorSpace&|
                |Algebra&| |Algebra&| |Module&| |Module&| NIL NIL |Module&| NIL
                NIL |DifferentialRing&| NIL NIL NIL |Ring&| NIL NIL NIL NIL NIL
                NIL NIL |AbelianGroup&| NIL NIL |AbelianMonoid&| |Monoid&| NIL
                |SemiGroup&| |AbelianSemiGroup&| |Finite&| NIL |SetCategory&|
                |RetractableTo&| NIL NIL NIL NIL NIL |BasicType&| NIL)
             (CONS
              '#((|FiniteAlgebraicExtensionField| 6) (|ExtensionField| 6)
                 (|FiniteFieldCategory|) (|FieldOfPrimeCharacteristic|)
                 (|Field|) (|EuclideanDomain|) (|PrincipalIdealDomain|)
                 (|UniqueFactorizationDomain|) (|GcdDomain|) (|DivisionRing|)
                 (|IntegralDomain|) (|VectorSpace| 6) (|Algebra| 155)
                 (|Algebra| $$) (|Module| 6) (|Module| 155) (|EntireRing|)
                 (|CommutativeRing|) (|Module| $$) (|CharacteristicNonZero|)
                 (|CharacteristicZero|) (|DifferentialRing|) (|BiModule| 6 6)
                 (|BiModule| 155 155) (|BiModule| $$ $$) (|Ring|)
                 (|RightModule| 6) (|LeftModule| 6) (|RightModule| 155)
                 (|LeftModule| 155) (|LeftModule| $$) (|Rng|)
                 (|RightModule| $$) (|AbelianGroup|)
                 (|CancellationAbelianMonoid|) (|SemiRing|) (|AbelianMonoid|)
                 (|Monoid|) (|SemiRng|) (|SemiGroup|) (|AbelianSemiGroup|)
                 (|Finite|) (|StepThrough|) (|SetCategory|) (|RetractableTo| 6)
                 (|canonicalsClosed|) (|canonicalUnitNormal|)
                 (|noZeroDivisors|) (|CommutativeStar|) (|unitsKnown|)
                 (|BasicType|) (|CoercibleTo| 28))
              (|makeByteWordVec2| 161
                                  '(1 10 9 0 11 0 6 9 13 2 9 0 0 15 16 0 10 0
                                    18 2 23 0 9 22 24 0 26 0 27 1 26 28 0 29 0
                                    10 0 31 2 10 6 0 9 33 1 6 0 0 34 0 40 0 41
                                    1 0 45 0 46 0 6 0 50 2 51 0 9 6 52 0 6 0 53
                                    2 10 0 6 9 54 1 55 0 10 56 2 55 0 0 42 57 1
                                    55 51 0 58 2 8 0 0 0 60 1 62 23 10 63 0 64
                                    0 65 0 0 66 67 2 42 0 9 0 69 1 6 0 42 73 2
                                    77 0 2 9 78 2 77 0 0 0 79 1 0 0 0 80 2 77 0
                                    0 0 81 1 77 45 0 82 1 77 2 0 83 1 77 9 0 85
                                    2 10 0 0 0 86 1 77 0 0 87 1 96 0 51 97 0 96
                                    0 98 2 96 45 0 0 99 1 96 9 0 100 1 6 45 0
                                    102 2 6 103 0 0 104 2 42 0 0 0 105 2 8 106
                                    0 0 107 2 108 45 0 0 109 2 6 0 0 42 110 2
                                    111 45 0 0 113 3 8 117 0 0 0 118 2 120 45 0
                                    0 121 0 10 9 123 1 42 130 0 131 1 132 90 0
                                    133 0 0 0 134 0 6 9 135 1 42 28 0 138 2 28
                                    0 0 0 139 2 0 0 0 0 142 2 0 45 0 0 1 1 0 45
                                    0 46 1 0 160 0 1 1 0 0 0 1 1 0 45 0 1 1 0
                                    45 0 1 0 0 9 1 2 2 0 0 15 1 1 0 6 0 1 1 2
                                    40 42 43 2 0 106 0 0 1 1 0 0 0 1 1 0 130 0
                                    1 2 0 45 0 0 1 0 2 9 1 0 0 0 1 1 0 111 0
                                    112 1 0 6 0 84 1 0 0 51 101 0 2 92 93 2 0 0
                                    0 0 1 1 0 106 0 1 0 2 0 95 2 0 0 0 0 1 1 0
                                    159 148 1 0 2 0 127 1 2 45 0 49 2 4 0 0 9 1
                                    1 4 0 0 1 1 0 45 0 1 1 4 66 0 1 1 2 15 0 47
                                    1 0 45 0 1 0 2 0 129 1 2 45 0 1 2 2 0 0 15
                                    1 1 0 6 0 1 1 2 106 0 1 2 0 156 148 0 1 2 2
                                    152 0 15 1 1 0 10 0 88 1 2 15 0 137 1 2 10
                                    0 1 1 2 10 0 1 2 2 151 0 0 1 2 2 0 0 10 1 1
                                    0 0 148 1 2 0 0 0 0 1 1 0 161 0 1 1 0 0 0
                                    144 0 2 0 1 1 2 0 15 70 1 0 45 0 115 1 0 22
                                    0 1 0 0 23 44 0 2 0 125 2 0 152 152 152 1 1
                                    0 0 148 1 2 0 0 0 0 1 0 2 90 91 1 0 130 0 1
                                    0 0 15 68 0 0 66 67 3 0 117 0 0 0 1 2 0 157
                                    0 0 1 2 0 106 0 0 1 2 0 156 148 0 1 1 0 9 0
                                    1 0 2 148 1 2 0 158 0 0 1 2 4 103 0 0 122 1
                                    2 9 0 128 0 0 154 1 2 2 0 0 9 1 1 2 0 0 1 1
                                    0 15 0 1 1 0 66 0 1 0 0 10 94 0 2 0 126 0 2
                                    0 134 1 0 51 0 59 1 0 153 71 1 1 2 149 150
                                    1 1 0 0 6 74 1 0 0 155 1 1 0 0 0 1 1 0 0 42
                                    1 1 0 28 0 140 1 4 106 0 1 1 2 0 0 1 0 0 9
                                    136 0 0 71 114 1 0 71 15 72 2 0 45 0 0 1 1
                                    0 45 0 1 2 0 0 0 42 145 2 0 0 0 9 147 2 0 0
                                    0 15 146 0 0 0 32 0 0 0 19 1 2 0 0 80 2 2 0
                                    0 9 1 2 2 0 0 9 1 1 2 0 0 1 2 0 45 0 0 48 2
                                    0 0 0 6 143 2 0 0 0 0 142 1 0 0 0 124 2 0 0
                                    0 0 1 2 0 0 0 0 61 2 0 0 0 6 1 2 0 0 6 0
                                    141 2 0 0 155 0 1 2 0 0 0 155 1 2 0 0 0 0
                                    75 2 0 0 42 0 76 2 0 0 9 0 1 2 0 0 15 0
                                    1)))))
           '|lookupComplete|)) 
