
(/VERSIONCHECK 2) 

(DEFUN |CLIF;characteristic;Nni;1| ($) (SPADCALL (QREFELT $ 19))) 

(DEFUN |CLIF;dimension;Cn;2| ($) (SPADCALL (QREFELT $ 16) (QREFELT $ 22))) 

(DEFUN |CLIF;=;2$B;3| (|x| |y| $)
  (PROG (#1=#:G1816 #2=#:G1817 |i|)
    (RETURN
     (SEQ
      (EXIT
       (SEQ
        (SEQ (LETT |i| 0 . #3=(|CLIF;=;2$B;3|))
             (LETT #2# (- (QREFELT $ 16) 1) . #3#) G190
             (COND ((QSGREATERP |i| #2#) (GO G191)))
             (SEQ
              (EXIT
               (COND
                ((NULL
                  (SPADCALL (QAREF1 |x| |i|) (QAREF1 |y| |i|) (QREFELT $ 25)))
                 (PROGN (LETT #1# 'NIL . #3#) (GO #1#))))))
             (LETT |i| (QSADD1 |i|) . #3#) (GO G190) G191 (EXIT NIL))
        (EXIT 'T)))
      #1# (EXIT #1#))))) 

(DEFUN |CLIF;+;3$;4| (|x| |y| $)
  (PROG (#1=#:G1821 |i| |z|)
    (RETURN
     (SEQ
      (LETT |z| (MAKEARR1 (QREFELT $ 16) (|spadConstant| $ 27))
            . #2=(|CLIF;+;3$;4|))
      (SEQ (LETT |i| 0 . #2#) (LETT #1# (- (QREFELT $ 16) 1) . #2#) G190
           (COND ((QSGREATERP |i| #1#) (GO G191)))
           (SEQ
            (EXIT
             (QSETAREF1 |z| |i|
                        (SPADCALL (QAREF1 |x| |i|) (QAREF1 |y| |i|)
                                  (QREFELT $ 28)))))
           (LETT |i| (QSADD1 |i|) . #2#) (GO G190) G191 (EXIT NIL))
      (EXIT |z|))))) 

(DEFUN |CLIF;-;3$;5| (|x| |y| $)
  (PROG (#1=#:G1825 |i| |z|)
    (RETURN
     (SEQ
      (LETT |z| (MAKEARR1 (QREFELT $ 16) (|spadConstant| $ 27))
            . #2=(|CLIF;-;3$;5|))
      (SEQ (LETT |i| 0 . #2#) (LETT #1# (- (QREFELT $ 16) 1) . #2#) G190
           (COND ((QSGREATERP |i| #1#) (GO G191)))
           (SEQ
            (EXIT
             (QSETAREF1 |z| |i|
                        (SPADCALL (QAREF1 |x| |i|) (QAREF1 |y| |i|)
                                  (QREFELT $ 30)))))
           (LETT |i| (QSADD1 |i|) . #2#) (GO G190) G191 (EXIT NIL))
      (EXIT |z|))))) 

(DEFUN |CLIF;-;2$;6| (|x| $)
  (PROG (#1=#:G1829 |i| |z|)
    (RETURN
     (SEQ
      (LETT |z| (MAKEARR1 (QREFELT $ 16) (|spadConstant| $ 27))
            . #2=(|CLIF;-;2$;6|))
      (SEQ (LETT |i| 0 . #2#) (LETT #1# (- (QREFELT $ 16) 1) . #2#) G190
           (COND ((QSGREATERP |i| #1#) (GO G191)))
           (SEQ
            (EXIT
             (QSETAREF1 |z| |i| (SPADCALL (QAREF1 |x| |i|) (QREFELT $ 32)))))
           (LETT |i| (QSADD1 |i|) . #2#) (GO G190) G191 (EXIT NIL))
      (EXIT |z|))))) 

(DEFUN |CLIF;*;I2$;7| (|m| |x| $)
  (PROG (#1=#:G1833 |i| |z|)
    (RETURN
     (SEQ
      (LETT |z| (MAKEARR1 (QREFELT $ 16) (|spadConstant| $ 27))
            . #2=(|CLIF;*;I2$;7|))
      (SEQ (LETT |i| 0 . #2#) (LETT #1# (- (QREFELT $ 16) 1) . #2#) G190
           (COND ((QSGREATERP |i| #1#) (GO G191)))
           (SEQ
            (EXIT
             (QSETAREF1 |z| |i|
                        (SPADCALL |m| (QAREF1 |x| |i|) (QREFELT $ 35)))))
           (LETT |i| (QSADD1 |i|) . #2#) (GO G190) G191 (EXIT NIL))
      (EXIT |z|))))) 

(DEFUN |CLIF;*;K2$;8| (|c| |x| $)
  (PROG (#1=#:G1837 |i| |z|)
    (RETURN
     (SEQ
      (LETT |z| (MAKEARR1 (QREFELT $ 16) (|spadConstant| $ 27))
            . #2=(|CLIF;*;K2$;8|))
      (SEQ (LETT |i| 0 . #2#) (LETT #1# (- (QREFELT $ 16) 1) . #2#) G190
           (COND ((QSGREATERP |i| #1#) (GO G191)))
           (SEQ
            (EXIT
             (QSETAREF1 |z| |i|
                        (SPADCALL |c| (QAREF1 |x| |i|) (QREFELT $ 37)))))
           (LETT |i| (QSADD1 |i|) . #2#) (GO G190) G191 (EXIT NIL))
      (EXIT |z|))))) 

(DEFUN |CLIF;Zero;$;9| ($) (MAKEARR1 (QREFELT $ 16) (|spadConstant| $ 27))) 

(DEFUN |CLIF;One;$;10| ($)
  (PROG (|z|)
    (RETURN
     (SEQ
      (LETT |z| (MAKEARR1 (QREFELT $ 16) (|spadConstant| $ 27))
            |CLIF;One;$;10|)
      (QSETAREF1 |z| 0 (|spadConstant| $ 42)) (EXIT |z|))))) 

(DEFUN |CLIF;coerce;I$;11| (|m| $)
  (PROG (|z|)
    (RETURN
     (SEQ
      (LETT |z| (MAKEARR1 (QREFELT $ 16) (|spadConstant| $ 27))
            |CLIF;coerce;I$;11|)
      (QSETAREF1 |z| 0 (SPADCALL |m| (QREFELT $ 44))) (EXIT |z|))))) 

(DEFUN |CLIF;coerce;K$;12| (|c| $)
  (PROG (|z|)
    (RETURN
     (SEQ
      (LETT |z| (MAKEARR1 (QREFELT $ 16) (|spadConstant| $ 27))
            |CLIF;coerce;K$;12|)
      (QSETAREF1 |z| 0 |c|) (EXIT |z|))))) 

(DEFUN |CLIF;e;Pi$;13| (|b| $)
  (PROG (|z| |iz| #1=#:G1846)
    (RETURN
     (SEQ
      (COND ((< (QREFELT $ 6) |b|) (|error| "No such basis element"))
            ('T
             (SEQ
              (LETT |iz|
                    (EXPT 2
                          (PROG1 (LETT #1# (- |b| 1) . #2=(|CLIF;e;Pi$;13|))
                            (|check-subtype| (>= #1# 0) '(|NonNegativeInteger|)
                                             #1#)))
                    . #2#)
              (LETT |z| (MAKEARR1 (QREFELT $ 16) (|spadConstant| $ 27)) . #2#)
              (QSETAREF1 |z| |iz| (|spadConstant| $ 42)) (EXIT |z|)))))))) 

(DEFUN |CLIF;addMonomProd| (|c1| |b1| |c2| |b2| |z| $)
  (PROG (|bz| #1=#:G1864 |c| |k| #2=#:G1872 |j| #3=#:G1871 #4=#:G1870 |i|)
    (RETURN
     (SEQ
      (LETT |c| (SPADCALL |c1| |c2| (QREFELT $ 37)) . #5=(|CLIF;addMonomProd|))
      (LETT |bz| |b2| . #5#)
      (SEQ (LETT |i| 0 . #5#) (LETT #4# (- (QREFELT $ 6) 1) . #5#) G190
           (COND ((QSGREATERP |i| #4#) #6=(GO G191)))
           (SEQ
            (EXIT
             (COND
              ((SPADCALL |b1| |i| (QREFELT $ 48))
               (SEQ (LETT |k| 0 . #5#)
                    (SEQ (LETT |j| (+ |i| 1) . #5#)
                         (LETT #3# (- (QREFELT $ 6) 1) . #5#) G190
                         (COND ((> |j| #3#) #6#))
                         (SEQ
                          (EXIT
                           (COND
                            ((SPADCALL |b1| |j| (QREFELT $ 48))
                             (LETT |k| (+ |k| 1) . #5#)))))
                         (LETT |j| (+ |j| 1) . #5#) #7=(GO G190) G191
                         (EXIT NIL))
                    (SEQ (LETT |j| 0 . #5#) (LETT #2# (- |i| 1) . #5#) G190
                         (COND ((QSGREATERP |j| #2#) #6#))
                         (SEQ
                          (EXIT
                           (COND
                            ((SPADCALL |bz| |j| (QREFELT $ 48))
                             (LETT |k| (+ |k| 1) . #5#)))))
                         (LETT |j| (QSADD1 |j|) . #5#) #7# G191 (EXIT NIL))
                    (COND
                     ((ODDP |k|)
                      (LETT |c| (SPADCALL |c| (QREFELT $ 32)) . #5#)))
                    (EXIT
                     (COND
                      ((SPADCALL |bz| |i| (QREFELT $ 48))
                       (SEQ
                        (LETT |c|
                              (SPADCALL |c|
                                        (SPADCALL (QREFELT $ 14) (+ |i| 1)
                                                  (QREFELT $ 50))
                                        (QREFELT $ 37))
                              . #5#)
                        (EXIT
                         (LETT |bz|
                               (PROG1 (LETT #1# (- |bz| (EXPT 2 |i|)) . #5#)
                                 (|check-subtype| (>= #1# 0)
                                                  '(|NonNegativeInteger|) #1#))
                               . #5#))))
                      ('T (LETT |bz| (+ |bz| (EXPT 2 |i|)) . #5#)))))))))
           (LETT |i| (QSADD1 |i|) . #5#) #7# G191 (EXIT NIL))
      (QSETAREF1 |z| |bz| (SPADCALL (QAREF1 |z| |bz|) |c| (QREFELT $ 28)))
      (EXIT |z|))))) 

(DEFUN |CLIF;*;3$;15| (|x| |y| $)
  (PROG (#1=#:G1880 |iy| #2=#:G1879 |ix| |z|)
    (RETURN
     (SEQ
      (LETT |z| (MAKEARR1 (QREFELT $ 16) (|spadConstant| $ 27))
            . #3=(|CLIF;*;3$;15|))
      (SEQ (LETT |ix| 0 . #3#) (LETT #2# (- (QREFELT $ 16) 1) . #3#) G190
           (COND ((QSGREATERP |ix| #2#) #4=(GO G191)))
           (SEQ
            (EXIT
             (COND
              ((NULL
                (SPADCALL (QAREF1 |x| |ix|) (|spadConstant| $ 27)
                          (QREFELT $ 25)))
               (SEQ (LETT |iy| 0 . #3#) (LETT #1# (- (QREFELT $ 16) 1) . #3#)
                    G190 (COND ((QSGREATERP |iy| #1#) #4#))
                    (SEQ
                     (EXIT
                      (COND
                       ((NULL
                         (SPADCALL (QAREF1 |y| |iy|) (|spadConstant| $ 27)
                                   (QREFELT $ 25)))
                        (|CLIF;addMonomProd| (QAREF1 |x| |ix|) |ix|
                         (QAREF1 |y| |iy|) |iy| |z| $)))))
                    (LETT |iy| (QSADD1 |iy|) . #3#) #5=(GO G190) G191
                    (EXIT NIL))))))
           (LETT |ix| (QSADD1 |ix|) . #3#) #5# G191 (EXIT NIL))
      (EXIT |z|))))) 

(DEFUN |CLIF;canonMonom| (|c| |lb| $)
  (PROG (|bz| #1=#:G1890 |bn| #2=#:G1889 #3=#:G1898 |b| |wasordered|
         |exchanges| |t| #4=#:G1897 |i| #5=#:G1882 #6=#:G1896)
    (RETURN
     (SEQ
      (SEQ
       (EXIT
        (SEQ (LETT |b| NIL . #7=(|CLIF;canonMonom|)) (LETT #6# |lb| . #7#) G190
             (COND
              ((OR (ATOM #6#) (PROGN (LETT |b| (CAR #6#) . #7#) NIL))
               #8=(GO G191)))
             (SEQ
              (EXIT
               (COND
                ((< (QREFELT $ 6) |b|)
                 (PROGN
                  (LETT #5# (|error| "No such basis element") . #7#)
                  (GO #5#))))))
             (LETT #6# (CDR #6#) . #7#) #9=(GO G190) G191 (EXIT NIL)))
       #5# (EXIT #5#))
      (LETT |wasordered| 'NIL . #7#) (LETT |exchanges| 0 . #7#)
      (SEQ G190 (COND ((NULL (COND (|wasordered| 'NIL) ('T 'T))) #8#))
           (SEQ (LETT |wasordered| 'T . #7#)
                (EXIT
                 (SEQ (LETT |i| 1 . #7#) (LETT #4# (- (LENGTH |lb|) 1) . #7#)
                      G190 (COND ((QSGREATERP |i| #4#) #8#))
                      (SEQ
                       (EXIT
                        (COND
                         ((< (SPADCALL |lb| (+ |i| 1) (QREFELT $ 53))
                             (SPADCALL |lb| |i| (QREFELT $ 53)))
                          (SEQ
                           (LETT |t| (SPADCALL |lb| |i| (QREFELT $ 53)) . #7#)
                           (SPADCALL |lb| |i|
                                     (SPADCALL |lb| (+ |i| 1) (QREFELT $ 53))
                                     (QREFELT $ 54))
                           (SPADCALL |lb| (+ |i| 1) |t| (QREFELT $ 54))
                           (LETT |exchanges| (+ |exchanges| 1) . #7#)
                           (EXIT (LETT |wasordered| 'NIL . #7#)))))))
                      (LETT |i| (QSADD1 |i|) . #7#) #9# G191 (EXIT NIL))))
           NIL #9# G191 (EXIT NIL))
      (COND
       ((ODDP |exchanges|) (LETT |c| (SPADCALL |c| (QREFELT $ 32)) . #7#)))
      (LETT |bz| 0 . #7#)
      (SEQ (LETT |b| NIL . #7#) (LETT #3# |lb| . #7#) G190
           (COND ((OR (ATOM #3#) (PROGN (LETT |b| (CAR #3#) . #7#) NIL)) #8#))
           (SEQ
            (LETT |bn|
                  (PROG1 (LETT #2# (- |b| 1) . #7#)
                    (|check-subtype| (>= #2# 0) '(|NonNegativeInteger|) #2#))
                  . #7#)
            (EXIT
             (COND
              ((SPADCALL |bz| |bn| (QREFELT $ 48))
               (SEQ
                (LETT |c|
                      (SPADCALL |c|
                                (SPADCALL (QREFELT $ 14) |bn| (QREFELT $ 50))
                                (QREFELT $ 37))
                      . #7#)
                (EXIT
                 (LETT |bz|
                       (PROG1 (LETT #1# (- |bz| (EXPT 2 |bn|)) . #7#)
                         (|check-subtype| (>= #1# 0) '(|NonNegativeInteger|)
                                          #1#))
                       . #7#))))
              ('T (LETT |bz| (+ |bz| (EXPT 2 |bn|)) . #7#)))))
           (LETT #3# (CDR #3#) . #7#) #9# G191 (EXIT NIL))
      (EXIT (CONS |c| |bz|)))))) 

(DEFUN |CLIF;monomial;KL$;17| (|c| |lb| $)
  (PROG (|z| |r|)
    (RETURN
     (SEQ
      (LETT |r| (|CLIF;canonMonom| |c| |lb| $) . #1=(|CLIF;monomial;KL$;17|))
      (LETT |z| (MAKEARR1 (QREFELT $ 16) (|spadConstant| $ 27)) . #1#)
      (QSETAREF1 |z| (QCDR |r|) (QCAR |r|)) (EXIT |z|))))) 

(DEFUN |CLIF;coefficient;$LK;18| (|z| |lb| $)
  (PROG (|r|)
    (RETURN
     (SEQ
      (LETT |r| (|CLIF;canonMonom| (|spadConstant| $ 42) |lb| $)
            |CLIF;coefficient;$LK;18|)
      (EXIT
       (COND
        ((SPADCALL (QCAR |r|) (|spadConstant| $ 27) (QREFELT $ 25))
         (|error| "Cannot take coef of 0"))
        ('T (SPADCALL (QAREF1 |z| (QCDR |r|)) (QCAR |r|) (QREFELT $ 56))))))))) 

(DEFUN |CLIF;coerceMonom| (|c| |b| $)
  (PROG (|be| |ml| #1=#:G1908 |i| #2=#:G1907)
    (RETURN
     (SEQ
      (COND ((EQL |b| 0) (SPADCALL |c| (QREFELT $ 59)))
            (#3='T
             (SEQ
              (LETT |ml|
                    (PROGN
                     (LETT #2# NIL . #4=(|CLIF;coerceMonom|))
                     (SEQ (LETT |i| 1 . #4#) (LETT #1# (QREFELT $ 6) . #4#)
                          G190 (COND ((QSGREATERP |i| #1#) (GO G191)))
                          (SEQ
                           (EXIT
                            (COND
                             ((SPADCALL |b| (- |i| 1) (QREFELT $ 48))
                              (LETT #2#
                                    (CONS
                                     (SPADCALL "e"
                                               (SPADCALL |i| (QREFELT $ 60))
                                               (QREFELT $ 61))
                                     #2#)
                                    . #4#)))))
                          (LETT |i| (QSADD1 |i|) . #4#) (GO G190) G191
                          (EXIT (NREVERSE0 #2#))))
                    . #4#)
              (LETT |be| (SPADCALL (ELT $ 62) |ml| (QREFELT $ 65)) . #4#)
              (EXIT
               (COND ((SPADCALL |c| (|spadConstant| $ 42) (QREFELT $ 25)) |be|)
                     (#3#
                      (SPADCALL (SPADCALL |c| (QREFELT $ 59)) |be|
                                (QREFELT $ 62)))))))))))) 

(DEFUN |CLIF;coerce;$Of;20| (|x| $)
  (PROG (|tl| #1=#:G1914 |i| #2=#:G1913)
    (RETURN
     (SEQ
      (LETT |tl|
            (PROGN
             (LETT #2# NIL . #3=(|CLIF;coerce;$Of;20|))
             (SEQ (LETT |i| 0 . #3#) (LETT #1# (- (QREFELT $ 16) 1) . #3#) G190
                  (COND ((QSGREATERP |i| #1#) (GO G191)))
                  (SEQ
                   (EXIT
                    (COND
                     ((COND
                       ((SPADCALL (QAREF1 |x| |i|) (|spadConstant| $ 27)
                                  (QREFELT $ 25))
                        'NIL)
                       (#4='T 'T))
                      (LETT #2#
                            (CONS (|CLIF;coerceMonom| (QAREF1 |x| |i|) |i| $)
                                  #2#)
                            . #3#)))))
                  (LETT |i| (QSADD1 |i|) . #3#) (GO G190) G191
                  (EXIT (NREVERSE0 #2#))))
            . #3#)
      (EXIT
       (COND ((NULL |tl|) "0")
             (#4# (SPADCALL (ELT $ 66) |tl| (QREFELT $ 65))))))))) 

(DEFUN |CLIF;localPowerSets| (|j| $)
  (PROG (|Sn| #1=#:G1920 |x| |Sm| #2=#:G1915 |l|)
    (RETURN
     (SEQ (LETT |l| (SPADCALL NIL (QREFELT $ 69)) . #3=(|CLIF;localPowerSets|))
          (EXIT
           (COND ((EQL |j| 0) |l|)
                 ('T
                  (SEQ
                   (LETT |Sm|
                         (|CLIF;localPowerSets|
                          (PROG1 (LETT #2# (- |j| 1) . #3#)
                            (|check-subtype| (>= #2# 0) '(|NonNegativeInteger|)
                                             #2#))
                          $)
                         . #3#)
                   (LETT |Sn| NIL . #3#)
                   (SEQ (LETT |x| NIL . #3#) (LETT #1# |Sm| . #3#) G190
                        (COND
                         ((OR (ATOM #1#)
                              (PROGN (LETT |x| (CAR #1#) . #3#) NIL))
                          (GO G191)))
                        (SEQ
                         (EXIT (LETT |Sn| (CONS (CONS |j| |x|) |Sn|) . #3#)))
                        (LETT #1# (CDR #1#) . #3#) (GO G190) G191 (EXIT NIL))
                   (EXIT (APPEND |Sn| |Sm|)))))))))) 

(DEFUN |CLIF;powerSets| (|j| $)
  (SPADCALL (ELT $ 70) (|CLIF;localPowerSets| |j| $) (QREFELT $ 72))) 

(DEFUN |CLIF;recip;$U;23| (|x| $)
  (PROG (|ansC| |ansP| |cj| #1=#:G1947 |pj| |ans| |lhsEqs| |lhsEqi| #2=#:G1946
         |rhsEqs| #3=#:G1945 |pi| |one|)
    (RETURN
     (SEQ (LETT |one| (|spadConstant| $ 43) . #4=(|CLIF;recip;$U;23|))
          (LETT |rhsEqs| NIL . #4#) (LETT |lhsEqs| NIL . #4#)
          (SEQ (LETT |pi| NIL . #4#) (LETT #3# (QREFELT $ 73) . #4#) G190
               (COND
                ((OR (ATOM #3#) (PROGN (LETT |pi| (CAR #3#) . #4#) NIL))
                 #5=(GO G191)))
               (SEQ
                (LETT |rhsEqs|
                      (CONS (SPADCALL |one| |pi| (QREFELT $ 57)) |rhsEqs|)
                      . #4#)
                (LETT |lhsEqi| NIL . #4#)
                (SEQ (LETT |pj| NIL . #4#) (LETT #2# (QREFELT $ 73) . #4#) G190
                     (COND
                      ((OR (ATOM #2#) (PROGN (LETT |pj| (CAR #2#) . #4#) NIL))
                       #5#))
                     (SEQ
                      (EXIT
                       (LETT |lhsEqi|
                             (CONS
                              (SPADCALL
                               (SPADCALL |x|
                                         (SPADCALL (|spadConstant| $ 42) |pj|
                                                   (QREFELT $ 55))
                                         (QREFELT $ 51))
                               |pi| (QREFELT $ 57))
                              |lhsEqi|)
                             . #4#)))
                     (LETT #2# (CDR #2#) . #4#) #6=(GO G190) G191 (EXIT NIL))
                (EXIT
                 (LETT |lhsEqs| (CONS (REVERSE |lhsEqi|) |lhsEqs|) . #4#)))
               (LETT #3# (CDR #3#) . #4#) #6# G191 (EXIT NIL))
          (LETT |ans|
                (SPADCALL (SPADCALL |lhsEqs| (QREFELT $ 76))
                          (SPADCALL |rhsEqs| (QREFELT $ 78)) (QREFELT $ 81))
                . #4#)
          (EXIT
           (COND ((QEQCAR |ans| 1) (CONS 1 "failed"))
                 ('T
                  (SEQ
                   (LETT |ansP| (SPADCALL (QCDR |ans|) (QREFELT $ 82)) . #4#)
                   (LETT |ansC| (|spadConstant| $ 39) . #4#)
                   (SEQ (LETT |pj| NIL . #4#) (LETT #1# (QREFELT $ 73) . #4#)
                        G190
                        (COND
                         ((OR (ATOM #1#)
                              (PROGN (LETT |pj| (CAR #1#) . #4#) NIL))
                          #5#))
                        (SEQ (LETT |cj| (|SPADfirst| |ansP|) . #4#)
                             (LETT |ansP| (CDR |ansP|) . #4#)
                             (EXIT
                              (LETT |ansC|
                                    (SPADCALL |ansC|
                                              (SPADCALL |cj|
                                                        (SPADCALL
                                                         (|spadConstant| $ 42)
                                                         |pj| (QREFELT $ 55))
                                                        (QREFELT $ 38))
                                              (QREFELT $ 29))
                                    . #4#)))
                        (LETT #1# (CDR #1#) . #4#) #6# G191 (EXIT NIL))
                   (EXIT (CONS 0 |ansC|)))))))))) 

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

(DEFUN |CliffordAlgebra;| (|#1| |#2| |#3|)
  (PROG (#1=#:G1805 |i| #2=#:G1948 |pv$| $ |dv$| DV$3 DV$2 DV$1)
    (RETURN
     (SEQ
      (PROGN
       (LETT DV$1 (|devaluate| |#1|) . #3=(|CliffordAlgebra|))
       (LETT DV$2 (|devaluate| |#2|) . #3#)
       (LETT DV$3 (|devaluate| |#3|) . #3#)
       (LETT |dv$| (LIST '|CliffordAlgebra| DV$1 DV$2 DV$3) . #3#)
       (LETT $ (GETREFV 87) . #3#)
       (QSETREFV $ 0 |dv$|)
       (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #3#))
       (|haddProp| |$ConstructorCache| '|CliffordAlgebra| (LIST DV$1 DV$2 DV$3)
                   (CONS 1 $))
       (|stuffDomainSlots| $)
       (QSETREFV $ 6 |#1|)
       (QSETREFV $ 7 |#2|)
       (QSETREFV $ 8 |#3|)
       (QSETREFV $ 14
                 (PROGN
                  (LETT #2# NIL . #3#)
                  (SEQ (LETT |i| 1 . #3#) G190
                       (COND ((QSGREATERP |i| |#1|) (GO G191)))
                       (SEQ
                        (EXIT
                         (LETT #2#
                               (CONS
                                (SPADCALL |#3|
                                          (SPADCALL
                                           (PROG1 (LETT #1# |i| . #3#)
                                             (|check-subtype| (> #1# 0)
                                                              '(|PositiveInteger|)
                                                              #1#))
                                           (QREFELT $ 11))
                                          (QREFELT $ 13))
                                #2#)
                               . #3#)))
                       (LETT |i| (QSADD1 |i|) . #3#) (GO G190) G191
                       (EXIT (NREVERSE0 #2#)))))
       (QSETREFV $ 16 (SPADCALL 2 |#1| (QREFELT $ 15)))
       (QSETREFV $ 17 (|PrimitiveArray| |#2|))
       (QSETREFV $ 73 (|CLIF;powerSets| |#1| $))
       $))))) 

(MAKEPROP '|CliffordAlgebra| '|infovec|
          (LIST
           '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|)
              (|local| |#3|) (|PositiveInteger|) (|DirectProduct| 6 7)
              (0 . |unitVector|) (|QuadraticForm| 6 7) (5 . |elt|) '|Qeelist|
              (11 . ^) '|dim| '|Rep| (|NonNegativeInteger|)
              (17 . |characteristic|) |CLIF;characteristic;Nni;1|
              (|CardinalNumber|) (21 . |coerce|) |CLIF;dimension;Cn;2|
              (|Boolean|) (26 . =) |CLIF;=;2$B;3| (32 . |Zero|) (36 . +)
              |CLIF;+;3$;4| (42 . -) |CLIF;-;3$;5| (48 . -) |CLIF;-;2$;6|
              (|Integer|) (53 . *) |CLIF;*;I2$;7| (59 . *) |CLIF;*;K2$;8|
              (CONS IDENTITY (FUNCALL (|dispatchFunction| |CLIF;Zero;$;9|) $))
              (65 . |Zero|) (69 . |Zero|) (73 . |One|)
              (CONS IDENTITY (FUNCALL (|dispatchFunction| |CLIF;One;$;10|) $))
              (77 . |coerce|) |CLIF;coerce;I$;11| |CLIF;coerce;K$;12|
              |CLIF;e;Pi$;13| (82 . |bit?|) (|List| 7) (88 . |elt|)
              |CLIF;*;3$;15| (|List| 9) (94 . |elt|) (100 . |setelt|)
              |CLIF;monomial;KL$;17| (107 . /) |CLIF;coefficient;$LK;18|
              (|OutputForm|) (113 . |coerce|) (118 . |coerce|) (123 . |sub|)
              (129 . *) (|Mapping| 58 58 58) (|List| 58) (135 . |reduce|)
              (141 . +) |CLIF;coerce;$Of;20| (|List| 52) (147 . |list|)
              (152 . |reverse|) (|Mapping| 52 52) (157 . |map|) '|Pn|
              (|List| 49) (|Matrix| 7) (163 . |matrix|) (|Vector| 7)
              (168 . |vector|) (|Union| 77 '"failed")
              (|LinearSystemMatrixPackage| 7 77 77 75)
              (173 . |particularSolution|) (179 . |parts|)
              (|Union| $ '"failed") |CLIF;recip;$U;23| (|String|)
              (|SingleInteger|))
           '#(~= 184 |zero?| 190 |subtractIfCan| 195 |sample| 201 |recip| 205
              |one?| 210 |monomial| 215 |latex| 221 |hash| 226 |e| 231
              |dimension| 236 |coerce| 240 |coefficient| 255 |characteristic|
              261 ^ 265 |Zero| 277 |One| 281 = 285 / 291 - 297 + 308 * 314)
           'NIL
           (CONS
            (|makeByteWordVec2| 1 '(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
            (CONS
             '#(|VectorSpace&| |Algebra&| |Module&| NIL |Ring&| NIL NIL NIL NIL
                |AbelianGroup&| NIL NIL |AbelianMonoid&| |Monoid&| NIL
                |SemiGroup&| |AbelianSemiGroup&| |SetCategory&| NIL
                |BasicType&| NIL)
             (CONS
              '#((|VectorSpace| 7) (|Algebra| 7) (|Module| 7) (|BiModule| 7 7)
                 (|Ring|) (|LeftModule| 7) (|RightModule| 7) (|Rng|)
                 (|LeftModule| $$) (|AbelianGroup|)
                 (|CancellationAbelianMonoid|) (|SemiRing|) (|AbelianMonoid|)
                 (|Monoid|) (|SemiRng|) (|SemiGroup|) (|AbelianSemiGroup|)
                 (|SetCategory|) (|unitsKnown|) (|BasicType|)
                 (|CoercibleTo| 58))
              (|makeByteWordVec2| 86
                                  '(1 10 0 9 11 2 12 7 0 10 13 2 9 0 0 9 15 0 7
                                    18 19 1 21 0 18 22 2 7 24 0 0 25 0 7 0 27 2
                                    7 0 0 0 28 2 7 0 0 0 30 1 7 0 0 32 2 7 0 34
                                    0 35 2 7 0 0 0 37 0 12 0 40 0 10 0 41 0 7 0
                                    42 1 7 0 34 44 2 34 24 0 0 48 2 49 7 0 34
                                    50 2 52 9 0 34 53 3 52 9 0 34 9 54 2 7 0 0
                                    0 56 1 7 58 0 59 1 18 58 0 60 2 58 0 0 0 61
                                    2 58 0 0 0 62 2 64 58 63 0 65 2 58 0 0 0 66
                                    1 68 0 52 69 1 52 0 0 70 2 68 0 71 0 72 1
                                    75 0 74 76 1 77 0 49 78 2 80 79 75 77 81 1
                                    77 49 0 82 2 0 24 0 0 1 1 0 24 0 1 2 0 83 0
                                    0 1 0 0 0 1 1 0 83 0 84 1 0 24 0 1 2 0 0 7
                                    52 55 1 0 85 0 1 1 0 86 0 1 1 0 0 9 47 0 0
                                    21 23 1 0 0 34 45 1 0 0 7 46 1 0 58 0 67 2
                                    0 7 0 52 57 0 0 18 20 2 0 0 0 18 1 2 0 0 0
                                    9 1 0 0 0 39 0 0 0 43 2 0 24 0 0 26 2 0 0 0
                                    7 1 1 0 0 0 33 2 0 0 0 0 31 2 0 0 0 0 29 2
                                    0 0 7 0 38 2 0 0 0 7 1 2 0 0 34 0 36 2 0 0
                                    0 0 51 2 0 0 18 0 1 2 0 0 9 0 1)))))
           '|lookupComplete|)) 
