
(/VERSIONCHECK 2) 

(PUT '|RADIX;characteristic;Nni;1| '|SPADreplace| '(XLAM NIL 0)) 

(DEFUN |RADIX;characteristic;Nni;1| ($) 0) 

(DEFUN |RADIX;differentiate;2$;2| (|a| $) (|spadConstant| $ 10)) 

(PUT '|RADIX;Zero;$;3| '|SPADreplace|
     '(XLAM NIL (VECTOR 1 NIL NIL NIL))) 

(DEFUN |RADIX;Zero;$;3| ($) (VECTOR 1 NIL NIL NIL)) 

(DEFUN |RADIX;One;$;4| ($) (VECTOR 1 (LIST 1) NIL NIL)) 

(DEFUN |RADIX;-;2$;5| (|a| $)
  (COND
    ((SPADCALL |a| (|spadConstant| $ 10) (QREFELT $ 14))
     (|spadConstant| $ 10))
    ('T
     (VECTOR (- (QVELT |a| 0)) (QVELT |a| 1) (QVELT |a| 2)
             (QVELT |a| 3))))) 

(DEFUN |RADIX;+;3$;6| (|a| |b| $)
  (SPADCALL
      (SPADCALL (SPADCALL |a| (QREFELT $ 17))
          (SPADCALL |b| (QREFELT $ 17)) (QREFELT $ 18))
      (QREFELT $ 19))) 

(DEFUN |RADIX;-;3$;7| (|a| |b| $)
  (SPADCALL
      (SPADCALL (SPADCALL |a| (QREFELT $ 17))
          (SPADCALL |b| (QREFELT $ 17)) (QREFELT $ 21))
      (QREFELT $ 19))) 

(DEFUN |RADIX;*;I2$;8| (|n| |a| $)
  (SPADCALL (SPADCALL |n| (SPADCALL |a| (QREFELT $ 17)) (QREFELT $ 24))
      (QREFELT $ 19))) 

(DEFUN |RADIX;*;3$;9| (|a| |b| $)
  (SPADCALL
      (SPADCALL (SPADCALL |a| (QREFELT $ 17))
          (SPADCALL |b| (QREFELT $ 17)) (QREFELT $ 26))
      (QREFELT $ 19))) 

(DEFUN |RADIX;/;3$;10| (|a| |b| $)
  (SPADCALL
      (SPADCALL (SPADCALL |a| (QREFELT $ 17))
          (SPADCALL |b| (QREFELT $ 17)) (QREFELT $ 28))
      (QREFELT $ 19))) 

(DEFUN |RADIX;/;2I$;11| (|i| |j| $)
  (SPADCALL (SPADCALL |i| |j| (QREFELT $ 30)) (QREFELT $ 19))) 

(DEFUN |RADIX;<;2$B;12| (|a| |b| $)
  (SPADCALL (SPADCALL |a| (QREFELT $ 17)) (SPADCALL |b| (QREFELT $ 17))
      (QREFELT $ 32))) 

(DEFUN |RADIX;=;2$B;13| (|a| |b| $)
  (COND
    ((EQL (QVELT |a| 0) (QVELT |b| 0))
     (COND
       ((SPADCALL (QVELT |a| 1) (QVELT |b| 1) (QREFELT $ 35))
        (COND
          ((SPADCALL (QVELT |a| 2) (QVELT |b| 2) (QREFELT $ 35))
           (SPADCALL (QVELT |a| 3) (QVELT |b| 3) (QREFELT $ 35)))
          ('T 'NIL)))
       ('T 'NIL)))
    ('T 'NIL))) 

(DEFUN |RADIX;numer;$I;14| (|a| $)
  (SPADCALL (SPADCALL |a| (QREFELT $ 17)) (QREFELT $ 36))) 

(DEFUN |RADIX;denom;$I;15| (|a| $)
  (SPADCALL (SPADCALL |a| (QREFELT $ 17)) (QREFELT $ 38))) 

(DEFUN |RADIX;coerce;$F;16| (|a| $)
  (SPADCALL (SPADCALL (SPADCALL |a| (QREFELT $ 40)) (QREFELT $ 41))
      (SPADCALL |a| (QREFELT $ 42)) (QREFELT $ 18))) 

(DEFUN |RADIX;coerce;I$;17| (|n| $)
  (SPADCALL (SPADCALL |n| (QREFELT $ 41)) (QREFELT $ 19))) 

(DEFUN |RADIX;coerce;F$;18| (|q| $)
  (PROG (|s| |qr| |whole| |fractn| |cycle|)
    (RETURN
      (SEQ (LETT |s| 1 . #0=(|RADIX;coerce;F$;18|))
           (COND
             ((SPADCALL |q| (|spadConstant| $ 44) (QREFELT $ 32))
              (SEQ (LETT |s| -1 . #0#)
                   (EXIT (LETT |q| (SPADCALL |q| (QREFELT $ 45)) . #0#)))))
           (LETT |qr|
                 (DIVIDE2 (SPADCALL |q| (QREFELT $ 36))
                          (SPADCALL |q| (QREFELT $ 38))) . #0#)
           (LETT |whole|
                 (|RADIX;radixInt| (QCAR |qr|) (QREFELT $ 6) $) . #0#)
           (LETT |fractn|
                 (|RADIX;radixFrac| (QCDR |qr|)
                     (SPADCALL |q| (QREFELT $ 38)) (QREFELT $ 6) $) . #0#)
           (LETT |cycle|
                 (COND
                   ((SPADCALL (QCDR |fractn|) (LIST 0) (QREFELT $ 35))
                    NIL)
                   ('T (QCDR |fractn|))) . #0#)
           (EXIT (VECTOR |s| |whole| (QCAR |fractn|) |cycle|)))))) 

(DEFUN |RADIX;retractIfCan;$U;19| (|a| $)
  (CONS 0 (SPADCALL |a| (QREFELT $ 17)))) 

(DEFUN |RADIX;retractIfCan;$U;20| (|a| $)
  (SEQ (COND
         ((NULL (QVELT |a| 2))
          (COND
            ((NULL (QVELT |a| 3))
             (EXIT (CONS 0 (SPADCALL |a| (QREFELT $ 40))))))))
       (EXIT (CONS 1 "failed")))) 

(DEFUN |RADIX;ceiling;$I;21| (|a| $)
  (SPADCALL (SPADCALL |a| (QREFELT $ 17)) (QREFELT $ 50))) 

(DEFUN |RADIX;floor;$I;22| (|a| $)
  (SPADCALL (SPADCALL |a| (QREFELT $ 17)) (QREFELT $ 52))) 

(DEFUN |RADIX;wholePart;$I;23| (|a| $)
  (PROG (|r| #0=#:G1902 |n0|)
    (RETURN
      (SEQ (LETT |n0| 0 . #1=(|RADIX;wholePart;$I;23|))
           (SEQ (LETT |r| NIL . #1#) (LETT #0# (QVELT |a| 1) . #1#)
                G190
                (COND
                  ((OR (ATOM #0#)
                       (PROGN (LETT |r| (CAR #0#) . #1#) NIL))
                   (GO G191)))
                (SEQ (EXIT (LETT |n0|
                                 (+ (* (QREFELT $ 6) |n0|) |r|) . #1#)))
                (LETT #0# (CDR #0#) . #1#) (GO G190) G191 (EXIT NIL))
           (EXIT (* (QVELT |a| 0) |n0|)))))) 

(DEFUN |RADIX;fractionPart;$F;24| (|a| $)
  (PROG (#0=#:G1908 |n0| |r| #1=#:G1909 |n1| |n| |d|)
    (RETURN
      (SEQ (LETT |n0| 0 . #2=(|RADIX;fractionPart;$F;24|))
           (SEQ (LETT |r| NIL . #2#) (LETT #0# (QVELT |a| 2) . #2#)
                G190
                (COND
                  ((OR (ATOM #0#)
                       (PROGN (LETT |r| (CAR #0#) . #2#) NIL))
                   #3=(GO G191)))
                (SEQ (EXIT (LETT |n0|
                                 (+ (* (QREFELT $ 6) |n0|) |r|) . #2#)))
                (LETT #0# (CDR #0#) . #2#) #4=(GO G190) G191
                (EXIT NIL))
           (EXIT (COND
                   ((NULL (QVELT |a| 3))
                    (SPADCALL (* (QVELT |a| 0) |n0|)
                        (EXPT (QREFELT $ 6) (LENGTH (QVELT |a| 2)))
                        (QREFELT $ 30)))
                   ('T
                    (SEQ (LETT |n1| |n0| . #2#)
                         (SEQ (LETT |r| NIL . #2#)
                              (LETT #1# (QVELT |a| 3) . #2#) G190
                              (COND
                                ((OR (ATOM #1#)
                                     (PROGN
                                       (LETT |r| (CAR #1#) . #2#)
                                       NIL))
                                 #3#))
                              (SEQ (EXIT
                                    (LETT |n1|
                                     (+ (* (QREFELT $ 6) |n1|) |r|) . #2#)))
                              (LETT #1# (CDR #1#) . #2#) #4# G191
                              (EXIT NIL))
                         (LETT |n| (- |n1| |n0|) . #2#)
                         (LETT |d|
                               (* (- (EXPT (QREFELT $ 6)
                                      (LENGTH (QVELT |a| 3)))
                                     1)
                                  (EXPT (QREFELT $ 6)
                                        (LENGTH (QVELT |a| 2)))) . #2#)
                         (EXIT (SPADCALL (* (QVELT |a| 0) |n|) |d|
                                   (QREFELT $ 30))))))))))) 

(PUT '|RADIX;wholeRagits;$L;25| '|SPADreplace|
     '(XLAM (|a|) (QVELT |a| 1))) 

(DEFUN |RADIX;wholeRagits;$L;25| (|a| $) (QVELT |a| 1)) 

(DEFUN |RADIX;fractRagits;$S;26| (|a| $)
  (SPADCALL (SPADCALL (QVELT |a| 2) (QREFELT $ 56))
      (SPADCALL (QVELT |a| 3) (QREFELT $ 57)) (QREFELT $ 58))) 

(PUT '|RADIX;prefixRagits;$L;27| '|SPADreplace|
     '(XLAM (|a|) (QVELT |a| 2))) 

(DEFUN |RADIX;prefixRagits;$L;27| (|a| $) (QVELT |a| 2)) 

(PUT '|RADIX;cycleRagits;$L;28| '|SPADreplace|
     '(XLAM (|a|) (QVELT |a| 3))) 

(DEFUN |RADIX;cycleRagits;$L;28| (|a| $) (QVELT |a| 3)) 

(DEFUN |RADIX;wholeRadix;L$;29| (|li| $)
  (SEQ (|RADIX;checkRagits| |li| $) (EXIT (VECTOR 1 |li| NIL NIL)))) 

(DEFUN |RADIX;fractRadix;2L$;30| (|lpfx| |lcyc| $)
  (SEQ (|RADIX;checkRagits| |lpfx| $) (|RADIX;checkRagits| |lcyc| $)
       (EXIT (VECTOR 1 NIL |lpfx| |lcyc|)))) 

(DEFUN |RADIX;intToExpr| (|i| $)
  (COND
    ((< |i| 10) (SPADCALL |i| (QREFELT $ 66)))
    ('T
     (SPADCALL
         (SPADCALL (QREFELT $ 64)
             (+ (- |i| 10) (SPADCALL (QREFELT $ 64) (QREFELT $ 68)))
             (QREFELT $ 70))
         (QREFELT $ 71))))) 

(DEFUN |RADIX;exprgroup| (|le| $)
  (COND
    ((NULL |le|) (|error| "exprgroup needs non-null list"))
    ((NULL (CDR |le|)) (|SPADfirst| |le|))
    ((NULL (< 36 (ABS (QREFELT $ 6)))) (SPADCALL |le| (QREFELT $ 73)))
    ('T (SPADCALL |le| (QREFELT $ 74))))) 

(DEFUN |RADIX;intgroup| (|li| $)
  (PROG (#0=#:G1935 #1=#:G1936 #2=#:G1937 #3=#:G1938 #4=#:G1939 |i|
            #5=#:G1940)
    (RETURN
      (SEQ (COND
             ((NULL |li|) (|error| "intgroup needs non-null list"))
             ((NULL (CDR |li|))
              (COND
                ((NULL (< 36 (ABS (QREFELT $ 6))))
                 (|RADIX;intToExpr| (|SPADfirst| |li|) $))
                ('T (SPADCALL (|SPADfirst| |li|) (QREFELT $ 66)))))
             ((NULL (< 10 (ABS (QREFELT $ 6))))
              (SPADCALL
                  (PROGN
                    (LETT #0# NIL . #6=(|RADIX;intgroup|))
                    (SEQ (LETT |i| NIL . #6#) (LETT #1# |li| . #6#)
                         G190
                         (COND
                           ((OR (ATOM #1#)
                                (PROGN (LETT |i| (CAR #1#) . #6#) NIL))
                            #7=(GO G191)))
                         (SEQ (EXIT (LETT #0#
                                     (CONS
                                      (SPADCALL |i| (QREFELT $ 66))
                                      #0#) . #6#)))
                         (LETT #1# (CDR #1#) . #6#) #8=(GO G190) G191
                         (EXIT (NREVERSE0 #0#))))
                  (QREFELT $ 73)))
             ((NULL (< 36 (ABS (QREFELT $ 6))))
              (SPADCALL
                  (PROGN
                    (LETT #2# NIL . #6#)
                    (SEQ (LETT |i| NIL . #6#) (LETT #3# |li| . #6#)
                         G190
                         (COND
                           ((OR (ATOM #3#)
                                (PROGN (LETT |i| (CAR #3#) . #6#) NIL))
                            #7#))
                         (SEQ (EXIT (LETT #2#
                                     (CONS (|RADIX;intToExpr| |i| $)
                                      #2#) . #6#)))
                         (LETT #3# (CDR #3#) . #6#) #8# G191
                         (EXIT (NREVERSE0 #2#))))
                  (QREFELT $ 73)))
             ('T
              (SPADCALL
                  (PROGN
                    (LETT #4# NIL . #6#)
                    (SEQ (LETT |i| NIL . #6#) (LETT #5# |li| . #6#)
                         G190
                         (COND
                           ((OR (ATOM #5#)
                                (PROGN (LETT |i| (CAR #5#) . #6#) NIL))
                            #7#))
                         (SEQ (EXIT (LETT #4#
                                     (CONS
                                      (SPADCALL |i| (QREFELT $ 66))
                                      #4#) . #6#)))
                         (LETT #5# (CDR #5#) . #6#) #8# G191
                         (EXIT (NREVERSE0 #4#))))
                  (QREFELT $ 74)))))))) 

(DEFUN |RADIX;overBar| (|li| $)
  (SPADCALL (|RADIX;intgroup| |li| $) (QREFELT $ 75))) 

(DEFUN |RADIX;coerce;$Of;35| (|a| $)
  (PROG (|le| |rex|)
    (RETURN
      (SEQ (LETT |le| NIL . #0=(|RADIX;coerce;$Of;35|))
           (COND
             ((NULL (NULL (QVELT |a| 3)))
              (LETT |le|
                    (CONS (|RADIX;overBar| (QVELT |a| 3) $) |le|) . #0#)))
           (COND
             ((NULL (NULL (QVELT |a| 2)))
              (LETT |le|
                    (CONS (|RADIX;intgroup| (QVELT |a| 2) $) |le|) . #0#)))
           (COND
             ((NULL (NULL |le|)) (LETT |le| (CONS "." |le|) . #0#)))
           (COND
             ((NULL (QVELT |a| 1))
              (LETT |le| (CONS (SPADCALL 0 (QREFELT $ 66)) |le|) . #0#))
             ('T
              (LETT |le|
                    (CONS (|RADIX;intgroup| (QVELT |a| 1) $) |le|) . #0#)))
           (LETT |rex| (|RADIX;exprgroup| |le| $) . #0#)
           (EXIT (COND
                   ((< (QVELT |a| 0) 0)
                    (SPADCALL |rex| (QREFELT $ 76)))
                   ('T |rex|))))))) 

(DEFUN |RADIX;checkRagits| (|li| $)
  (PROG (|i| #0=#:G1950)
    (RETURN
      (SEQ (SEQ (LETT |i| NIL . #1=(|RADIX;checkRagits|))
                (LETT #0# |li| . #1#) G190
                (COND
                  ((OR (ATOM #0#)
                       (PROGN (LETT |i| (CAR #0#) . #1#) NIL))
                   (GO G191)))
                (SEQ (EXIT (COND
                             ((OR (< |i| 0)
                                  (NULL (< |i| (QREFELT $ 6))))
                              (|error| "Each ragit (digit) must be between 0 and base-1")))))
                (LETT #0# (CDR #0#) . #1#) (GO G190) G191 (EXIT NIL))
           (EXIT 'T))))) 

(DEFUN |RADIX;radixInt| (|n| |bas| $)
  (PROG (|qr| |rits|)
    (RETURN
      (SEQ (LETT |rits| NIL . #0=(|RADIX;radixInt|))
           (SEQ G190
                (COND
                  ((NULL (COND ((EQL (ABS |n|) 0) 'NIL) ('T 'T)))
                   (GO G191)))
                (SEQ (LETT |qr| (DIVIDE2 |n| |bas|) . #0#)
                     (LETT |n| (QCAR |qr|) . #0#)
                     (EXIT (LETT |rits|
                                 (CONS (QCDR |qr|) |rits|) . #0#)))
                NIL (GO G190) G191 (EXIT NIL))
           (EXIT |rits|))))) 

(DEFUN |RADIX;radixFrac| (|num| |den| |bas| $)
  (PROG (|qr| #0=#:G1976 |qr1i| |qrt| |qr2i| |n| |ritsi| |p| |rn|
              |ritsn| |cfound| |c| |ritspfx| |i| |ritscyc| |rits|)
    (RETURN
      (SEQ (LETT |qr| (DIVIDE2 (* |bas| |num|) |den|)
                 . #1=(|RADIX;radixFrac|))
           (LETT |i| 0 . #1#)
           (LETT |qr1i| (LETT |qr2i| |qr| . #1#) . #1#)
           (LETT |rits| (LIST |qr|) . #1#)
           (SEQ (LETT #0# NIL . #1#) G190 (COND (#0# #2=(GO G191)))
                (SEQ (LETT |qr1i|
                           (DIVIDE2 (* |bas| (QCDR |qr1i|)) |den|) . #1#)
                     (LETT |qrt|
                           (DIVIDE2 (* |bas| (QCDR |qr2i|)) |den|) . #1#)
                     (LETT |qr2i|
                           (DIVIDE2 (* |bas| (QCDR |qrt|)) |den|) . #1#)
                     (LETT |rits|
                           (CONS |qr2i| (CONS |qrt| |rits|)) . #1#)
                     (EXIT (LETT |i| (+ |i| 1) . #1#)))
                (LETT #0#
                      (SPADCALL |qr1i| |qr2i| (QREFELT $ 79)) . #1#)
                #3=(GO G190) G191 (EXIT NIL))
           (LETT |rits| (NREVERSE |rits|) . #1#) (LETT |n| |i| . #1#)
           (LETT |ritsi| |rits| . #1#) (LETT |ritsn| |rits| . #1#)
           (SEQ (LETT |i| 1 . #1#) G190
                (COND ((QSGREATERP |i| |n|) #2#))
                (SEQ (EXIT (LETT |ritsn| (CDR |ritsn|) . #1#)))
                (LETT |i| (QSADD1 |i|) . #1#) #3# G191 (EXIT NIL))
           (LETT |i| 0 . #1#)
           (SEQ G190
                (COND
                  ((NULL (COND
                           ((SPADCALL (|SPADfirst| |ritsi|)
                                (|SPADfirst| |ritsn|) (QREFELT $ 79))
                            'NIL)
                           ('T 'T)))
                   #2#))
                (SEQ (LETT |ritsi| (CDR |ritsi|) . #1#)
                     (LETT |ritsn| (CDR |ritsn|) . #1#)
                     (EXIT (LETT |i| (+ |i| 1) . #1#)))
                NIL #3# G191 (EXIT NIL))
           (LETT |p| |i| . #1#) (LETT |ritsn| |rits| . #1#)
           (SEQ (LETT |i| 1 . #1#) G190
                (COND ((QSGREATERP |i| |n|) #2#))
                (SEQ (EXIT (LETT |ritsn| (CDR |ritsn|) . #1#)))
                (LETT |i| (QSADD1 |i|) . #1#) #3# G191 (EXIT NIL))
           (LETT |rn| (|SPADfirst| |ritsn|) . #1#)
           (LETT |cfound| 'NIL . #1#) (LETT |c| 0 . #1#)
           (SEQ (LETT |i| 1 . #1#) G190
                (COND
                  ((OR (QSGREATERP |i| |p|)
                       (NULL (COND (|cfound| 'NIL) ('T 'T))))
                   #2#))
                (SEQ (LETT |ritsn| (CDR |ritsn|) . #1#)
                     (EXIT (COND
                             ((SPADCALL |rn| (|SPADfirst| |ritsn|)
                                  (QREFELT $ 79))
                              (SEQ (LETT |c| |i| . #1#)
                                   (EXIT (LETT |cfound| 'T . #1#)))))))
                (LETT |i| (QSADD1 |i|) . #1#) #3# G191 (EXIT NIL))
           (COND ((NULL |cfound|) (LETT |c| |n| . #1#)))
           (LETT |ritspfx| NIL . #1#) (LETT |ritscyc| NIL . #1#)
           (SEQ (LETT |i| 1 . #1#) G190
                (COND ((QSGREATERP |i| |p|) #2#))
                (SEQ (LETT |ritspfx|
                           (CONS (QCAR (|SPADfirst| |rits|)) |ritspfx|) . #1#)
                     (EXIT (LETT |rits| (CDR |rits|) . #1#)))
                (LETT |i| (QSADD1 |i|) . #1#) #3# G191 (EXIT NIL))
           (SEQ (LETT |i| 1 . #1#) G190
                (COND ((QSGREATERP |i| |c|) #2#))
                (SEQ (LETT |ritscyc|
                           (CONS (QCAR (|SPADfirst| |rits|)) |ritscyc|) . #1#)
                     (EXIT (LETT |rits| (CDR |rits|) . #1#)))
                (LETT |i| (QSADD1 |i|) . #1#) #3# G191 (EXIT NIL))
           (EXIT (CONS (NREVERSE |ritspfx|) (NREVERSE |ritscyc|))))))) 

(DEFUN |RadixExpansion| (#0=#:G2003)
  (PROG ()
    (RETURN
      (PROG (#1=#:G2004)
        (RETURN
          (COND
            ((LETT #1#
                   (|lassocShiftWithFunction| (LIST (|devaluate| #0#))
                       (HGET |$ConstructorCache| '|RadixExpansion|)
                       '|domainEqualList|)
                   . #2=(|RadixExpansion|))
             (|CDRwithIncrement| #1#))
            ('T
             (UNWIND-PROTECT
               (PROG1 (|RadixExpansion;| #0#) (LETT #1# T . #2#))
               (COND
                 ((NOT #1#)
                  (HREM |$ConstructorCache| '|RadixExpansion|))))))))))) 

(DEFUN |RadixExpansion;| (|#1|)
  (PROG (DV$1 |dv$| $ #0=#:G2002 |pv$|)
    (RETURN
      (PROGN
        (LETT DV$1 (|devaluate| |#1|) . #1=(|RadixExpansion|))
        (LETT |dv$| (LIST '|RadixExpansion| DV$1) . #1#)
        (LETT $ (GETREFV 114) . #1#)
        (QSETREFV $ 0 |dv$|)
        (QSETREFV $ 3
            (LETT |pv$|
                  (|buildPredVector| 0 0
                      (LIST (|HasCategory| (|Integer|)
                                '(|PolynomialFactorizationExplicit|))
                            (|HasCategory| (|Integer|)
                                '(|RetractableTo| (|Symbol|)))
                            (|HasCategory| (|Integer|)
                                '(|CharacteristicNonZero|))
                            (|HasCategory| (|Integer|)
                                '(|CharacteristicZero|))
                            (|HasCategory| (|Integer|)
                                '(|ConvertibleTo| (|InputForm|)))
                            (|HasCategory| (|Integer|)
                                '(|RealConstant|))
                            (|HasCategory| (|Integer|)
                                '(|OrderedIntegralDomain|))
                            (|HasCategory| (|Integer|)
                                '(|RetractableTo| (|Integer|)))
                            (|HasCategory| (|Integer|)
                                '(|StepThrough|))
                            (|HasCategory| (|Integer|)
                                '(|PatternMatchable| (|Float|)))
                            (|HasCategory| (|Integer|)
                                '(|PatternMatchable| (|Integer|)))
                            (|HasCategory| (|Integer|)
                                '(|ConvertibleTo|
                                     (|Pattern| (|Float|))))
                            (|HasCategory| (|Integer|)
                                '(|ConvertibleTo|
                                     (|Pattern| (|Integer|))))
                            (|HasCategory| (|Integer|)
                                '(|PartialDifferentialRing| (|Symbol|)))
                            (|HasCategory| (|Integer|)
                                '(|DifferentialRing|))
                            (|HasCategory| (|Integer|)
                                '(|InnerEvalable| (|Symbol|)
                                     (|Integer|)))
                            (|HasCategory| (|Integer|)
                                '(|Evalable| (|Integer|)))
                            (|HasCategory| (|Integer|)
                                '(|Eltable| (|Integer|) (|Integer|)))
                            (|HasCategory| (|Integer|)
                                '(|EuclideanDomain|))
                            (|HasCategory| (|Integer|)
                                '(|IntegerNumberSystem|))
                            (LETT #0#
                                  (|HasCategory| (|Integer|)
                                      '(|OrderedSet|)) . #1#)
                            (OR (|HasCategory| (|Integer|)
                                    '(|OrderedIntegralDomain|))
                                #0#)
                            (|HasCategory| (|Integer|)
                                '(|LinearlyExplicitRingOver|
                                     (|Integer|))))) . #1#))
        (|haddProp| |$ConstructorCache| '|RadixExpansion| (LIST DV$1)
            (CONS 1 $))
        (|stuffDomainSlots| $)
        (QSETREFV $ 6 |#1|)
        (AND (|HasCategory| $ '(|CharacteristicNonZero|))
             (|HasCategory| (|Integer|)
                 '(|PolynomialFactorizationExplicit|))
             (|augmentPredVector| $ 8388608))
        (AND (OR (AND (|HasCategory| $ '(|CharacteristicNonZero|))
                      (|HasCategory| (|Integer|)
                          '(|PolynomialFactorizationExplicit|)))
                 (|HasCategory| (|Integer|) '(|CharacteristicNonZero|)))
             (|augmentPredVector| $ 16777216))
        (COND ((< |#1| 2) (|error| "Radix base must be at least 2")))
        (QSETREFV $ 7
            (|Record| (|:| |sgn| (|Integer|))
                (|:| |int| (|List| (|Integer|)))
                (|:| |pfx| (|List| (|Integer|)))
                (|:| |cyc| (|List| (|Integer|)))))
        (QSETREFV $ 64 "ABCDEFGHIJKLMNOPQRSTUVWXYZ")
        $)))) 

(MAKEPROP '|RadixExpansion| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) '|Rep|
             (|NonNegativeInteger|) |RADIX;characteristic;Nni;1|
             (CONS IDENTITY
                   (FUNCALL (|dispatchFunction| |RADIX;Zero;$;3|) $))
             |RADIX;differentiate;2$;2|
             (CONS IDENTITY
                   (FUNCALL (|dispatchFunction| |RADIX;One;$;4|) $))
             (|Boolean|) |RADIX;=;2$B;13| |RADIX;-;2$;5|
             (|Fraction| 23) |RADIX;coerce;$F;16| (0 . +)
             |RADIX;coerce;F$;18| |RADIX;+;3$;6| (6 . -) |RADIX;-;3$;7|
             (|Integer|) (12 . *) |RADIX;*;I2$;8| (18 . *)
             |RADIX;*;3$;9| (24 . /) |RADIX;/;3$;10| (30 . /)
             |RADIX;/;2I$;11| (36 . <) |RADIX;<;2$B;12| (|List| 23)
             (42 . =) (48 . |numer|) |RADIX;numer;$I;14| (53 . |denom|)
             |RADIX;denom;$I;15| |RADIX;wholePart;$I;23|
             (58 . |coerce|) |RADIX;fractionPart;$F;24|
             |RADIX;coerce;I$;17| (63 . |Zero|) (67 . -)
             (|Union| 16 '"failed") |RADIX;retractIfCan;$U;19|
             (|Union| 23 '"failed") |RADIX;retractIfCan;$U;20|
             (72 . |ceiling|) |RADIX;ceiling;$I;21| (77 . |floor|)
             |RADIX;floor;$I;22| |RADIX;wholeRagits;$L;25|
             (|Stream| 23) (82 . |construct|) (87 . |repeating|)
             (92 . |concat|) |RADIX;fractRagits;$S;26|
             |RADIX;prefixRagits;$L;27| |RADIX;cycleRagits;$L;28|
             |RADIX;wholeRadix;L$;29| |RADIX;fractRadix;2L$;30| 'ALPHAS
             (|OutputForm|) (98 . |coerce|) (|String|)
             (103 . |minIndex|) (|Character|) (108 . |elt|)
             (114 . |coerce|) (|List| $) (119 . |hconcat|)
             (124 . |blankSeparate|) (129 . |overbar|) (134 . -)
             |RADIX;coerce;$Of;35|
             (|Record| (|:| |quotient| 23) (|:| |remainder| 23))
             (139 . =) (|Union| 92 '"failed") (|Matrix| $)
             (|Union| $ '"failed") (|InputForm|) (|Pattern| 101)
             (|Pattern| 23) (|List| 87) (|Equation| 23) (|Symbol|)
             (|List| 88) (|Matrix| 23)
             (|Record| (|:| |mat| 90) (|:| |vec| (|Vector| 23)))
             (|Vector| $) (|List| 8) (|PatternMatchResult| 101 $)
             (|PatternMatchResult| 23 $) (|Factored| 97)
             (|SparseUnivariatePolynomial| $) (|Union| 99 '"failed")
             (|List| 97) (|DoubleFloat|) (|Float|)
             (|Union| 88 '"failed") (|Mapping| 23 23) (|Factored| $)
             (|Record| (|:| |coef1| $) (|:| |coef2| $))
             (|Union| 105 '"failed") (|Union| 72 '"failed")
             (|Record| (|:| |coef1| $) (|:| |coef2| $)
                 (|:| |generator| $))
             (|Record| (|:| |quotient| $) (|:| |remainder| $))
             (|Record| (|:| |coef| 72) (|:| |generator| $))
             (|Record| (|:| |unit| $) (|:| |canonical| $)
                 (|:| |associate| $))
             (|PositiveInteger|) (|SingleInteger|))
          '#(~= 145 |zero?| 151 |wholeRagits| 156 |wholeRadix| 161
             |wholePart| 166 |unitNormal| 171 |unitCanonical| 176
             |unit?| 181 |subtractIfCan| 186 |squareFreePolynomial| 192
             |squareFreePart| 197 |squareFree| 202
             |solveLinearPolynomialEquation| 207 |sizeLess?| 213 |sign|
             219 |sample| 224 |retractIfCan| 228 |retract| 248 |rem|
             268 |reducedSystem| 274 |recip| 296 |random| 301 |quo| 305
             |principalIdeal| 311 |prime?| 316 |prefixRagits| 321
             |positive?| 326 |patternMatch| 331 |one?| 345 |numerator|
             350 |numer| 355 |nextItem| 360 |negative?| 365
             |multiEuclidean| 370 |min| 376 |max| 382 |map| 388 |lcm|
             394 |latex| 405 |inv| 410 |init| 415 |hash| 419
             |gcdPolynomial| 424 |gcd| 430 |fractionPart| 441
             |fractRagits| 451 |fractRadix| 456 |floor| 462
             |factorSquareFreePolynomial| 467 |factorPolynomial| 472
             |factor| 477 |extendedEuclidean| 482 |exquo| 495
             |expressIdealMember| 501 |eval| 507 |euclideanSize| 547
             |elt| 552 |divide| 558 |differentiate| 564 |denominator|
             614 |denom| 619 |cycleRagits| 624 |convert| 629
             |conditionP| 654 |coerce| 659 |charthRoot| 694
             |characteristic| 699 |ceiling| 703 |associates?| 708 |abs|
             714 ^ 719 |Zero| 737 |One| 741 D 745 >= 795 > 801 = 807 <=
             813 < 819 / 825 - 837 + 848 ** 854 * 872)
          'NIL
          (CONS (|makeByteWordVec2| 22
                    '(0 0 0 1 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 3 4 7
                      14 15 0 0 0 0 0 0 0 0 0 0 0 7 0 7 0 0 7 0 0 0 0 7
                      0 0 0 22 9 10 11 0 0 6 17 0 0 0 0 0 0 0 0 0 2 5 6
                      6 8 12 13 16 17 18))
                (CONS '#(|QuotientFieldCategory&| |Field&|
                         |EuclideanDomain&|
                         |PolynomialFactorizationExplicit&| NIL
                         |UniqueFactorizationDomain&| |GcdDomain&| NIL
                         |DivisionRing&| |IntegralDomain&|
                         |FullyLinearlyExplicitRingOver&|
                         |DifferentialExtension&| |Algebra&| |Algebra&|
                         |Algebra&| NIL |Module&| |Module&| NIL NIL
                         |Module&| NIL NIL |OrderedRing&|
                         |PartialDifferentialRing&| |DifferentialRing&|
                         NIL NIL NIL |Ring&| NIL NIL NIL NIL NIL NIL
                         NIL NIL |AbelianGroup&| NIL NIL NIL NIL NIL
                         |AbelianMonoid&| |Monoid&| NIL NIL
                         |FullyEvalableOver&| |SemiGroup&|
                         |AbelianSemiGroup&| |OrderedSet&| NIL NIL NIL
                         NIL |SetCategory&| NIL |Evalable&| NIL
                         |RetractableTo&| NIL NIL NIL NIL NIL
                         |BasicType&| NIL |RetractableTo&| NIL NIL NIL
                         |RetractableTo&| NIL NIL |InnerEvalable&|
                         |InnerEvalable&| NIL)
                      (CONS '#((|QuotientFieldCategory| 23) (|Field|)
                               (|EuclideanDomain|)
                               (|PolynomialFactorizationExplicit|)
                               (|PrincipalIdealDomain|)
                               (|UniqueFactorizationDomain|)
                               (|GcdDomain|) (|OrderedIntegralDomain|)
                               (|DivisionRing|) (|IntegralDomain|)
                               (|FullyLinearlyExplicitRingOver| 23)
                               (|DifferentialExtension| 23)
                               (|Algebra| 23) (|Algebra| 16)
                               (|Algebra| $$)
                               (|LinearlyExplicitRingOver| 23)
                               (|Module| 23) (|Module| 16)
                               (|EntireRing|) (|CommutativeRing|)
                               (|Module| $$) (|CharacteristicNonZero|)
                               (|CharacteristicZero|) (|OrderedRing|)
                               (|PartialDifferentialRing| 88)
                               (|DifferentialRing|) (|BiModule| 23 23)
                               (|BiModule| 16 16) (|BiModule| $$ $$)
                               (|Ring|) (|RightModule| 23)
                               (|LeftModule| 23) (|RightModule| 16)
                               (|LeftModule| 16) (|LeftModule| $$)
                               (|Rng|) (|RightModule| $$)
                               (|OrderedAbelianGroup|) (|AbelianGroup|)
                               (|OrderedCancellationAbelianMonoid|)
                               (|CancellationAbelianMonoid|)
                               (|SemiRing|) (|OrderedAbelianMonoid|)
                               (|FullyPatternMatchable| 23)
                               (|AbelianMonoid|) (|Monoid|) (|SemiRng|)
                               (|OrderedAbelianSemiGroup|)
                               (|FullyEvalableOver| 23) (|SemiGroup|)
                               (|AbelianSemiGroup|) (|OrderedSet|)
                               (|StepThrough|) (|PatternMatchable| 101)
                               (|PatternMatchable| 23)
                               (|Patternable| 23) (|SetCategory|)
                               (|RealConstant|) (|Evalable| 23)
                               (|Type|) (|RetractableTo| 23)
                               (|canonicalsClosed|)
                               (|canonicalUnitNormal|)
                               (|noZeroDivisors|) (|CommutativeStar|)
                               (|unitsKnown|) (|BasicType|)
                               (|CoercibleTo| 65) (|RetractableTo| 88)
                               (|ConvertibleTo| 83)
                               (|ConvertibleTo| 100)
                               (|ConvertibleTo| 101)
                               (|RetractableTo| 16)
                               (|ConvertibleTo| 84)
                               (|ConvertibleTo| 85)
                               (|InnerEvalable| 88 23)
                               (|InnerEvalable| 23 23)
                               (|Eltable| 23 $$))
                            (|makeByteWordVec2| 113
                                '(2 16 0 0 0 18 2 16 0 0 0 21 2 16 0 23
                                  0 24 2 16 0 0 0 26 2 16 0 0 0 28 2 16
                                  0 23 23 30 2 16 13 0 0 32 2 34 13 0 0
                                  35 1 16 23 0 36 1 16 23 0 38 1 16 0
                                  23 41 0 16 0 44 1 16 0 0 45 1 16 23 0
                                  50 1 16 23 0 52 1 55 0 34 56 1 55 0
                                  34 57 2 55 0 0 0 58 1 23 65 0 66 1 67
                                  23 0 68 2 67 69 0 23 70 1 69 65 0 71
                                  1 65 0 72 73 1 65 0 72 74 1 65 0 0 75
                                  1 65 0 0 76 2 78 13 0 0 79 2 0 13 0 0
                                  1 1 0 13 0 1 1 0 34 0 54 1 0 0 34 62
                                  1 19 23 0 40 1 0 111 0 1 1 0 0 0 1 1
                                  0 13 0 1 2 0 82 0 0 1 1 1 96 97 1 1 0
                                  0 0 1 1 0 104 0 1 2 1 98 99 97 1 2 0
                                  13 0 0 1 1 7 23 0 1 0 0 0 1 1 8 48 0
                                  49 1 8 46 0 47 1 2 102 0 1 1 0 48 0
                                  49 1 8 23 0 1 1 8 16 0 1 1 2 88 0 1 1
                                  0 23 0 1 2 0 0 0 0 1 1 23 90 81 1 2
                                  23 91 81 92 1 2 0 91 81 92 1 1 0 90
                                  81 1 1 0 82 0 1 0 20 0 1 2 0 0 0 0 1
                                  1 0 110 72 1 1 0 13 0 1 1 0 34 0 60 1
                                  7 13 0 1 3 10 94 0 84 94 1 3 11 95 0
                                  85 95 1 1 0 13 0 1 1 0 0 0 1 1 0 23 0
                                  37 1 9 82 0 1 1 7 13 0 1 2 0 107 72 0
                                  1 2 21 0 0 0 1 2 21 0 0 0 1 2 0 0 103
                                  0 1 2 0 0 0 0 1 1 0 0 72 1 1 0 67 0 1
                                  1 0 0 0 1 0 9 0 1 1 0 113 0 1 2 0 97
                                  97 97 1 2 0 0 0 0 1 1 0 0 72 1 1 19 0
                                  0 1 1 0 16 0 42 1 0 55 0 59 2 0 0 34
                                  34 63 1 20 23 0 53 1 1 96 97 1 1 1 96
                                  97 1 1 0 104 0 1 3 0 106 0 0 0 1 2 0
                                  108 0 0 1 2 0 82 0 0 1 2 0 107 72 0 1
                                  2 17 0 0 86 1 3 17 0 0 23 23 1 2 17 0
                                  0 87 1 3 17 0 0 34 34 1 3 16 0 0 88
                                  23 1 3 16 0 0 89 34 1 1 0 8 0 1 2 18
                                  0 0 23 1 2 0 109 0 0 1 2 15 0 0 8 1 1
                                  15 0 0 11 3 14 0 0 89 93 1 2 14 0 0
                                  89 1 3 14 0 0 88 8 1 2 14 0 0 88 1 3
                                  0 0 0 103 8 1 2 0 0 0 103 1 1 0 0 0 1
                                  1 0 23 0 39 1 0 34 0 61 1 5 83 0 1 1
                                  12 84 0 1 1 13 85 0 1 1 6 100 0 1 1 6
                                  101 0 1 1 24 80 81 1 1 2 0 88 1 1 0
                                  16 0 17 1 0 0 23 43 1 0 0 16 19 1 0 0
                                  0 1 1 0 0 23 43 1 0 65 0 77 1 25 82 0
                                  1 0 0 8 9 1 20 23 0 51 2 0 13 0 0 1 1
                                  7 0 0 1 2 0 0 0 23 1 2 0 0 0 8 1 2 0
                                  0 0 112 1 0 0 0 10 0 0 0 12 2 15 0 0
                                  8 1 1 15 0 0 1 3 14 0 0 89 93 1 2 14
                                  0 0 89 1 3 14 0 0 88 8 1 2 14 0 0 88
                                  1 3 0 0 0 103 8 1 2 0 0 0 103 1 2 21
                                  13 0 0 1 2 21 13 0 0 1 2 0 13 0 0 14
                                  2 21 13 0 0 1 2 21 13 0 0 33 2 0 0 23
                                  23 31 2 0 0 0 0 29 1 0 0 0 15 2 0 0 0
                                  0 22 2 0 0 0 0 20 2 0 0 0 23 1 2 0 0
                                  0 8 1 2 0 0 0 112 1 2 0 0 23 0 25 2 0
                                  0 0 23 1 2 0 0 0 16 1 2 0 0 16 0 1 2
                                  0 0 23 0 25 2 0 0 0 0 27 2 0 0 8 0 1
                                  2 0 0 112 0 1)))))
          '|lookupComplete|)) 
