
(/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 (#0=#:G1842)
    (RETURN
      (COND
        ((SPADCALL |x| (QREFELT $ 46))
         (|error| "order: order of zero undefined"))
        ('T
         (PROG1 (LETT #0#
                      (QUOTIENT2 (QREFELT $ 20)
                          (GCD (QREFELT $ 20) |x|))
                      |FFCGP;order;$Pi;3|)
           (|check-subtype| (> #0# 0) '(|PositiveInteger|) #0#))))))) 

(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|)
                   ('T
                    (SEQ (LETT |d|
                               (SPADCALL (QSDIFFERENCE |y| |x|)
                                   (QREFELT $ 20) (QREFELT $ 60))
                               . #0=(|FFCGP;+;3$;6|))
                         (COND
                           ((NULL (QSLESSP (QSLEFTSHIFT (QREFELT $ 20)
                                            -1)
                                           |d|))
                            (EXIT (COND
                                    ((EQL (ELT (QREFELT $ 25) |d|) -1)
                                     (|spadConstant| $ 32))
                                    ('T
                                     (QSADDMOD |x|
                                      (ELT (QREFELT $ 25) |d|)
                                      (QREFELT $ 20)))))))
                         (LETT |d|
                               (QSDIFFERENCE (QREFELT $ 20) |d|) . #0#)
                         (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 (|m| #0=#:G1863 |i| #1=#:G1864 #2=#:G1859)
    (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))
                         . #3=(|FFCGP;basis;PiV;8|))
                   (EXIT (PRIMVEC2ARR
                             (PROGN
                               (LETT #0# (GETREFV |n|) . #3#)
                               (SEQ (LETT |i| 0 . #3#)
                                    (LETT #1# (- |n| 1) . #3#) G190
                                    (COND
                                      ((QSGREATERP |i| #1#) (GO G191)))
                                    (SEQ
                                     (EXIT
                                      (SETELT #0# |i|
                                       (SPADCALL
                                        (PROG1
                                         (LETT #2#
                                          (+ 1
                                           (SPADCALL |i| |m|
                                            (QREFELT $ 69))) . #3#)
                                          (|check-subtype| (> #2# 0)
                                           '(|PositiveInteger|) #2#))
                                        (QREFELT $ 70)))))
                                    (LETT |i| (QSADD1 |i|) . #3#)
                                    (GO G190) G191 (EXIT NIL))
                               #0#)))))))))) 

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

(DEFUN |FFCGP;minimalPolynomial;$Sup;10| (|a| $)
  (PROG (|u| |g| |p| |f|)
    (RETURN
      (SEQ (LETT |f|
                 (SPADCALL
                     (SPADCALL (|spadConstant| $ 19) 1 (QREFELT $ 78))
                     (SPADCALL |a| 0 (QREFELT $ 78)) (QREFELT $ 79))
                 . #0=(|FFCGP;minimalPolynomial;$Sup;10|))
           (LETT |u| (SPADCALL |a| (QREFELT $ 80)) . #0#)
           (SEQ G190
                (COND
                  ((NULL (COND
                           ((SPADCALL |u| |a| (QREFELT $ 48)) 'NIL)
                           ('T 'T)))
                   #1=(GO G191)))
                (SEQ (LETT |f|
                           (SPADCALL |f|
                               (SPADCALL
                                   (SPADCALL (|spadConstant| $ 19) 1
                                    (QREFELT $ 78))
                                   (SPADCALL |u| 0 (QREFELT $ 78))
                                   (QREFELT $ 79))
                               (QREFELT $ 81)) . #0#)
                     (EXIT (LETT |u|
                                 (SPADCALL |u| (QREFELT $ 80)) . #0#)))
                NIL #2=(GO G190) G191 (EXIT NIL))
           (LETT |p| (|spadConstant| $ 31) . #0#)
           (SEQ G190
                (COND
                  ((NULL (COND
                           ((SPADCALL |f| (QREFELT $ 82)) 'NIL)
                           ('T 'T)))
                   #1#))
                (SEQ (LETT |g|
                           (SPADCALL (SPADCALL |f| (QREFELT $ 83))
                               (QREFELT $ 84)) . #0#)
                     (LETT |p|
                           (SPADCALL |p|
                               (SPADCALL |g|
                                   (SPADCALL |f| (QREFELT $ 85))
                                   (QREFELT $ 54))
                               (QREFELT $ 86)) . #0#)
                     (EXIT (LETT |f|
                                 (SPADCALL |f| (QREFELT $ 87)) . #0#)))
                NIL #2# 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 (#0=#:G1897 |log|)
    (RETURN
      (SEQ (COND
             ((SPADCALL |e| (QREFELT $ 102)) (|spadConstant| $ 32))
             ('T
              (SEQ (LETT |log|
                         (* (PROG2 (LETT #0#
                                    (SPADCALL (QREFELT $ 35) |e|
                                     (QREFELT $ 104))
                                    . #1=(|FFCGP;coerce;GF$;16|))
                                   (QCDR #0#)
                              (|check-union| (QEQCAR #0# 0)
                                  (|NonNegativeInteger|) #0#))
                            (QREFELT $ 21)) . #1#)
                   (EXIT (SPADCALL |log| (QREFELT $ 20)
                             (QREFELT $ 105)))))))))) 

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

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

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

(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 (|e| #0=#:G1943 |e1|)
    (RETURN
      (SEQ (COND
             ((SPADCALL |x| (QREFELT $ 46)) (CONS 1 "failed"))
             ('T
              (SEQ (LETT |e|
                         (SPADCALL |b| (QREFELT $ 20) |x|
                             (QREFELT $ 118))
                         . #1=(|FFCGP;discreteLog;2$U;21|))
                   (EXIT (COND
                           ((SPADCALL |e| (CONS 1 "failed")
                                (QREFELT $ 121))
                            (CONS 1 "failed"))
                           ('T
                            (SEQ (LETT |e1|
                                       (PROG2 (LETT #0# |e| . #1#)
                                        (QCDR #0#)
                                         (|check-union| (QEQCAR #0# 0)
                                          (|Record| (|:| |coef1| $)
                                           (|:| |coef2| $))
                                          #0#)) . #1#)
                                 (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 #0=#:G1998)
  (PROG ()
    (RETURN
      (PROG (#1=#:G1999)
        (RETURN
          (COND
            ((LETT #1#
                   (|lassocShiftWithFunction| (|devaluateList| #0#)
                       (HGET |$ConstructorCache|
                             '|FiniteFieldCyclicGroupExtensionByPolynomial|)
                       '|domainEqualList|)
                   . #2=(|FiniteFieldCyclicGroupExtensionByPolynomial|))
             (|CDRwithIncrement| #1#))
            ('T
             (UNWIND-PROTECT
               (PROG1 (APPLY (|function|
                                 |FiniteFieldCyclicGroupExtensionByPolynomial;|)
                             #0#)
                 (LETT #1# T . #2#))
               (COND
                 ((NOT #1#)
                  (HREM |$ConstructorCache|
                        '|FiniteFieldCyclicGroupExtensionByPolynomial|))))))))))) 

(DEFUN |FiniteFieldCyclicGroupExtensionByPolynomial;| (|#1| |#2|)
  (PROG (DV$1 DV$2 |dv$| $ #0=#:G1997 |pv$|)
    (RETURN
      (PROGN
        (LETT DV$1 (|devaluate| |#1|)
              . #1=(|FiniteFieldCyclicGroupExtensionByPolynomial|))
        (LETT DV$2 (|devaluate| |#2|) . #1#)
        (LETT |dv$|
              (LIST '|FiniteFieldCyclicGroupExtensionByPolynomial| DV$1
                    DV$2) . #1#)
        (LETT $ (GETREFV 162) . #1#)
        (QSETREFV $ 0 |dv$|)
        (QSETREFV $ 3
            (LETT |pv$|
                  (|buildPredVector| 0 0
                      (LIST (|HasCategory| |#1|
                                '(|CharacteristicZero|))
                            (|HasCategory| |#1| '(|Finite|))
                            (LETT #0#
                                  (|HasCategory| |#1|
                                      '(|CharacteristicNonZero|)) . #1#)
                            (OR #0# (|HasCategory| |#1| '(|Finite|))))) . #1#))
        (|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 . **)
             '#:G1815 (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| $ '"failed") (210 . |exquo|)
             (|Union| $$ '"failed") (216 . =) (222 . **)
             (|Union| 6 '"failed") |FFCGP;retractIfCan;$U;17| (228 . =)
             |FFCGP;basis;V;19| |FFCGP;inGroundField?;$B;20|
             (|Record| (|:| |coef1| $) (|:| |coef2| $))
             (|Union| 116 '"failed") (234 . |extendedEuclidean|)
             (|Record| (|:| |coef1| $$) (|:| |coef2| $$))
             (|Union| 119 '"failed") (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 *
             866)
          '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 2 2 151 0 0 1 1
                                  2 10 0 1 2 2 0 0 10 1 2 0 0 0 0 1 1 0
                                  0 148 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
                                  2 0 0 0 0 1 1 0 0 148 1 0 2 90 91 1 0
                                  130 0 1 0 0 15 68 0 0 66 67 2 0 157 0
                                  0 1 3 0 117 0 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 153 71 1 1 0 51 0 59 1
                                  2 149 150 1 1 0 0 6 74 1 0 0 155 1 1
                                  0 0 42 1 1 0 0 0 1 1 0 28 0 140 1 4
                                  106 0 1 1 2 0 0 1 0 0 9 136 1 0 71 15
                                  72 0 0 71 114 2 0 45 0 0 1 1 0 45 0 1
                                  2 0 0 0 42 1 2 0 0 0 9 1 2 0 0 0 15 1
                                  0 0 0 32 0 0 0 19 2 2 0 0 9 1 1 2 0 0
                                  80 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 42 145 2 0 0 0 9 147 2 0 0 0 15 146
                                  2 0 0 6 0 141 2 0 0 0 6 1 2 0 0 155 0
                                  1 2 0 0 0 155 1 2 0 0 42 0 76 2 0 0 0
                                  0 75 2 0 0 9 0 1 2 0 0 15 0 1)))))
          '|lookupComplete|)) 
