
(/VERSIONCHECK 2) 

(DEFUN |LPOLY;eval1| (|lw| |v| |nv| $)
  (PROG (|r| |l| |s|)
    (RETURN
     (SEQ
      (COND
       ((NULL (SPADCALL |v| (SPADCALL |lw| (QREFELT $ 11)) (QREFELT $ 13)))
        (SPADCALL |lw| (QREFELT $ 14)))
       ('T
        (SEQ (LETT |s| (SPADCALL |lw| (QREFELT $ 16)) . #1=(|LPOLY;eval1|))
             (EXIT
              (COND
               ((QEQCAR |s| 0)
                (COND ((SPADCALL (QCDR |s|) |v| (QREFELT $ 17)) |nv|)
                      (#2='T (SPADCALL |lw| (QREFELT $ 14)))))
               (#2#
                (SEQ (LETT |l| (SPADCALL |lw| (QREFELT $ 18)) . #1#)
                     (LETT |r| (SPADCALL |lw| (QREFELT $ 19)) . #1#)
                     (EXIT
                      (SPADCALL (|LPOLY;eval1| |l| |v| |nv| $)
                                (|LPOLY;eval1| |r| |v| |nv| $)
                                (QREFELT $ 20)))))))))))))) 

(DEFUN |LPOLY;eval2| (|lw| |lv| |lnv| $)
  (PROG (|r| |l| |p| |s|)
    (RETURN
     (SEQ (LETT |s| (SPADCALL |lw| (QREFELT $ 16)) . #1=(|LPOLY;eval2|))
          (EXIT
           (COND
            ((QEQCAR |s| 0)
             (SEQ (LETT |p| (SPADCALL (QCDR |s|) |lv| (QREFELT $ 22)) . #1#)
                  (EXIT
                   (COND ((EQL |p| 0) (SPADCALL |lw| (QREFELT $ 25)))
                         (#2='T (SPADCALL |lnv| |p| (QREFELT $ 27)))))))
            (#2#
             (SEQ (LETT |l| (SPADCALL |lw| (QREFELT $ 18)) . #1#)
                  (LETT |r| (SPADCALL |lw| (QREFELT $ 19)) . #1#)
                  (EXIT
                   (SPADCALL (|LPOLY;eval2| |l| |lv| |lnv| $)
                             (|LPOLY;eval2| |r| |lv| |lnv| $)
                             (QREFELT $ 20))))))))))) 

(DEFUN |LPOLY;eval;$VarSet2$;3| (|p| |v| |nv| $)
  (PROG (#1=#:G697 #2=#:G696 #3=#:G698 #4=#:G700 |t|)
    (RETURN
     (SEQ
      (PROGN
       (LETT #1# NIL . #5=(|LPOLY;eval;$VarSet2$;3|))
       (SEQ (LETT |t| NIL . #5#) (LETT #4# |p| . #5#) G190
            (COND
             ((OR (ATOM #4#) (PROGN (LETT |t| (CAR #4#) . #5#) NIL))
              (GO G191)))
            (SEQ
             (EXIT
              (PROGN
               (LETT #3#
                     (SPADCALL (QCDR |t|) (|LPOLY;eval1| (QCAR |t|) |v| |nv| $)
                               (QREFELT $ 28))
                     . #5#)
               (COND (#1# (LETT #2# (SPADCALL #2# #3# (QREFELT $ 29)) . #5#))
                     ('T (PROGN (LETT #2# #3# . #5#) (LETT #1# 'T . #5#)))))))
            (LETT #4# (CDR #4#) . #5#) (GO G190) G191 (EXIT NIL))
       (COND (#1# #2#) ('T (|spadConstant| $ 23)))))))) 

(DEFUN |LPOLY;eval;$LL$;4| (|p| |lv| |lnv| $)
  (PROG (#1=#:G702 #2=#:G701 #3=#:G703 #4=#:G705 |t|)
    (RETURN
     (SEQ
      (PROGN
       (LETT #1# NIL . #5=(|LPOLY;eval;$LL$;4|))
       (SEQ (LETT |t| NIL . #5#) (LETT #4# |p| . #5#) G190
            (COND
             ((OR (ATOM #4#) (PROGN (LETT |t| (CAR #4#) . #5#) NIL))
              (GO G191)))
            (SEQ
             (EXIT
              (PROGN
               (LETT #3#
                     (SPADCALL (QCDR |t|)
                               (|LPOLY;eval2| (QCAR |t|) |lv| |lnv| $)
                               (QREFELT $ 28))
                     . #5#)
               (COND (#1# (LETT #2# (SPADCALL #2# #3# (QREFELT $ 29)) . #5#))
                     ('T (PROGN (LETT #2# #3# . #5#) (LETT #1# 'T . #5#)))))))
            (LETT #4# (CDR #4#) . #5#) (GO G190) G191 (EXIT NIL))
       (COND (#1# #2#) ('T (|spadConstant| $ 23)))))))) 

(DEFUN |LPOLY;lquo1| (|p| |lw| $)
  (COND ((SPADCALL |p| (QREFELT $ 34)) (|spadConstant| $ 35))
        ((SPADCALL |lw| (QREFELT $ 36))
         (SPADCALL |p| (SPADCALL |lw| (QREFELT $ 37)) (QREFELT $ 38)))
        ('T
         (SPADCALL
          (|LPOLY;lquo1| (|LPOLY;lquo1| |p| (SPADCALL |lw| (QREFELT $ 18)) $)
           (SPADCALL |lw| (QREFELT $ 19)) $)
          (|LPOLY;lquo1| (|LPOLY;lquo1| |p| (SPADCALL |lw| (QREFELT $ 19)) $)
           (SPADCALL |lw| (QREFELT $ 18)) $)
          (QREFELT $ 39))))) 

(DEFUN |LPOLY;rquo1| (|p| |lw| $)
  (COND ((SPADCALL |p| (QREFELT $ 34)) (|spadConstant| $ 35))
        ((SPADCALL |lw| (QREFELT $ 36))
         (SPADCALL |p| (SPADCALL |lw| (QREFELT $ 37)) (QREFELT $ 40)))
        ('T
         (SPADCALL
          (|LPOLY;rquo1| (|LPOLY;rquo1| |p| (SPADCALL |lw| (QREFELT $ 18)) $)
           (SPADCALL |lw| (QREFELT $ 19)) $)
          (|LPOLY;rquo1| (|LPOLY;rquo1| |p| (SPADCALL |lw| (QREFELT $ 19)) $)
           (SPADCALL |lw| (QREFELT $ 18)) $)
          (QREFELT $ 39))))) 

(DEFUN |LPOLY;coef;Xrp$R;7| (|p| |lp| $)
  (SPADCALL |p| (SPADCALL |lp| (QREFELT $ 41)) (QREFELT $ 42))) 

(DEFUN |LPOLY;lquo;Xrp$Xrp;8| (|p| |lp| $)
  (PROG (#1=#:G714 #2=#:G713 #3=#:G715 #4=#:G717 |t|)
    (RETURN
     (SEQ
      (COND
       ((SPADCALL |lp| (|spadConstant| $ 23) (QREFELT $ 44))
        (|spadConstant| $ 35))
       (#5='T
        (PROGN
         (LETT #1# NIL . #6=(|LPOLY;lquo;Xrp$Xrp;8|))
         (SEQ (LETT |t| NIL . #6#) (LETT #4# |lp| . #6#) G190
              (COND
               ((OR (ATOM #4#) (PROGN (LETT |t| (CAR #4#) . #6#) NIL))
                (GO G191)))
              (SEQ
               (EXIT
                (PROGN
                 (LETT #3#
                       (SPADCALL (QCDR |t|) (|LPOLY;lquo1| |p| (QCAR |t|) $)
                                 (QREFELT $ 45))
                       . #6#)
                 (COND (#1# (LETT #2# (SPADCALL #2# #3# (QREFELT $ 46)) . #6#))
                       ('T
                        (PROGN (LETT #2# #3# . #6#) (LETT #1# 'T . #6#)))))))
              (LETT #4# (CDR #4#) . #6#) (GO G190) G191 (EXIT NIL))
         (COND (#1# #2#) (#5# (|spadConstant| $ 35)))))))))) 

(DEFUN |LPOLY;rquo;Xrp$Xrp;9| (|p| |lp| $)
  (PROG (#1=#:G719 #2=#:G718 #3=#:G720 #4=#:G722 |t|)
    (RETURN
     (SEQ
      (COND
       ((SPADCALL |lp| (|spadConstant| $ 23) (QREFELT $ 44))
        (|spadConstant| $ 35))
       (#5='T
        (PROGN
         (LETT #1# NIL . #6=(|LPOLY;rquo;Xrp$Xrp;9|))
         (SEQ (LETT |t| NIL . #6#) (LETT #4# |lp| . #6#) G190
              (COND
               ((OR (ATOM #4#) (PROGN (LETT |t| (CAR #4#) . #6#) NIL))
                (GO G191)))
              (SEQ
               (EXIT
                (PROGN
                 (LETT #3#
                       (SPADCALL (QCDR |t|) (|LPOLY;rquo1| |p| (QCAR |t|) $)
                                 (QREFELT $ 45))
                       . #6#)
                 (COND (#1# (LETT #2# (SPADCALL #2# #3# (QREFELT $ 46)) . #6#))
                       ('T
                        (PROGN (LETT #2# #3# . #6#) (LETT #1# 'T . #6#)))))))
              (LETT #4# (CDR #4#) . #6#) (GO G190) G191 (EXIT NIL))
         (COND (#1# #2#) (#5# (|spadConstant| $ 35)))))))))) 

(DEFUN |LPOLY;LiePolyIfCan;XdpU;10| (|p| $)
  (PROG (|p1| |r| |lp| #1=#:G739 |l| |coef| |w| |t|)
    (RETURN
     (SEQ
      (EXIT
       (COND ((NULL (SPADCALL |p| (QREFELT $ 50))) (CONS 1 "failed"))
             ('T
              (SEQ (LETT |p1| |p| . #2=(|LPOLY;LiePolyIfCan;XdpU;10|))
                   (LETT |r| (|spadConstant| $ 23) . #2#)
                   (SEQ G190
                        (COND
                         ((NULL
                           (COND
                            ((SPADCALL |p1| (|spadConstant| $ 51)
                                       (QREFELT $ 52))
                             'NIL)
                            ('T 'T)))
                          (GO G191)))
                        (SEQ (LETT |t| (SPADCALL |p1| (QREFELT $ 54)) . #2#)
                             (LETT |w| (QCAR |t|) . #2#)
                             (LETT |coef| (QCDR |t|) . #2#)
                             (LETT |l| (SPADCALL |w| (QREFELT $ 57)) . #2#)
                             (EXIT
                              (COND
                               ((QEQCAR |l| 1)
                                (PROGN
                                 (LETT #1# (CONS 1 "failed") . #2#)
                                 (GO #1#)))
                               ('T
                                (SEQ
                                 (LETT |lp|
                                       (SPADCALL |coef|
                                                 (SPADCALL (QCDR |l|)
                                                           (QREFELT $ 14))
                                                 (QREFELT $ 28))
                                       . #2#)
                                 (LETT |r| (SPADCALL |r| |lp| (QREFELT $ 29))
                                       . #2#)
                                 (EXIT
                                  (LETT |p1|
                                        (SPADCALL |p1|
                                                  (SPADCALL |lp|
                                                            (QREFELT $ 58))
                                                  (QREFELT $ 59))
                                        . #2#)))))))
                        NIL (GO G190) G191 (EXIT NIL))
                   (EXIT (CONS 0 |r|))))))
      #1# (EXIT #1#))))) 

(DEFUN |LPOLY;makeLyndon| (|u| |v| $)
  (SPADCALL (SPADCALL |u| (QREFELT $ 62)) (SPADCALL |v| (QREFELT $ 62))
            (QREFELT $ 63))) 

(DEFUN |LPOLY;crw| (|u| |v| $)
  (COND ((SPADCALL |u| |v| (QREFELT $ 64)) (|spadConstant| $ 23))
        ((SPADCALL |u| |v| (QREFELT $ 65)) (|LPOLY;lyndon| |u| |v| $))
        ('T (SPADCALL (|LPOLY;lyndon| |v| |u| $) (QREFELT $ 66))))) 

(DEFUN |LPOLY;lyndon| (|u| |v| $)
  (PROG (|u2| |u1|)
    (RETURN
     (SEQ
      (COND
       ((SPADCALL |u| (QREFELT $ 36))
        (SPADCALL (|LPOLY;makeLyndon| |u| |v| $) (|spadConstant| $ 67)
                  (QREFELT $ 68)))
       (#1='T
        (SEQ (LETT |u1| (SPADCALL |u| (QREFELT $ 18)) . #2=(|LPOLY;lyndon|))
             (LETT |u2| (SPADCALL |u| (QREFELT $ 19)) . #2#)
             (EXIT
              (COND
               ((SPADCALL |u2| |v| (QREFELT $ 65))
                (SPADCALL (|LPOLY;cr1| |u1| (|LPOLY;lyndon| |u2| |v| $) $)
                          (|LPOLY;cr2| (|LPOLY;lyndon| |u1| |v| $) |u2| $)
                          (QREFELT $ 29)))
               (#1#
                (SPADCALL (|LPOLY;makeLyndon| |u| |v| $) (|spadConstant| $ 67)
                          (QREFELT $ 68)))))))))))) 

(DEFUN |LPOLY;cr1| (|l| |p| $)
  (PROG (#1=#:G747 #2=#:G746 #3=#:G748 #4=#:G750 |t|)
    (RETURN
     (SEQ
      (PROGN
       (LETT #1# NIL . #5=(|LPOLY;cr1|))
       (SEQ (LETT |t| NIL . #5#) (LETT #4# |p| . #5#) G190
            (COND
             ((OR (ATOM #4#) (PROGN (LETT |t| (CAR #4#) . #5#) NIL))
              (GO G191)))
            (SEQ
             (EXIT
              (PROGN
               (LETT #3#
                     (SPADCALL (QCDR |t|) (|LPOLY;crw| |l| (QCAR |t|) $)
                               (QREFELT $ 28))
                     . #5#)
               (COND (#1# (LETT #2# (SPADCALL #2# #3# (QREFELT $ 29)) . #5#))
                     ('T (PROGN (LETT #2# #3# . #5#) (LETT #1# 'T . #5#)))))))
            (LETT #4# (CDR #4#) . #5#) (GO G190) G191 (EXIT NIL))
       (COND (#1# #2#) ('T (|spadConstant| $ 23)))))))) 

(DEFUN |LPOLY;cr2| (|p| |l| $)
  (PROG (#1=#:G752 #2=#:G751 #3=#:G753 #4=#:G755 |t|)
    (RETURN
     (SEQ
      (PROGN
       (LETT #1# NIL . #5=(|LPOLY;cr2|))
       (SEQ (LETT |t| NIL . #5#) (LETT #4# |p| . #5#) G190
            (COND
             ((OR (ATOM #4#) (PROGN (LETT |t| (CAR #4#) . #5#) NIL))
              (GO G191)))
            (SEQ
             (EXIT
              (PROGN
               (LETT #3#
                     (SPADCALL (QCDR |t|) (|LPOLY;crw| (QCAR |t|) |l| $)
                               (QREFELT $ 28))
                     . #5#)
               (COND (#1# (LETT #2# (SPADCALL #2# #3# (QREFELT $ 29)) . #5#))
                     ('T (PROGN (LETT #2# #3# . #5#) (LETT #1# 'T . #5#)))))))
            (LETT #4# (CDR #4#) . #5#) (GO G190) G191 (EXIT NIL))
       (COND (#1# #2#) ('T (|spadConstant| $ 23)))))))) 

(DEFUN |LPOLY;DPoly| (|w| $)
  (PROG (|r| |l|)
    (RETURN
     (SEQ
      (COND
       ((SPADCALL |w| (QREFELT $ 36))
        (SPADCALL (SPADCALL |w| (QREFELT $ 37)) (QREFELT $ 69)))
       ('T
        (SEQ
         (LETT |l| (|LPOLY;DPoly| (SPADCALL |w| (QREFELT $ 18)) $)
               . #1=(|LPOLY;DPoly|))
         (LETT |r| (|LPOLY;DPoly| (SPADCALL |w| (QREFELT $ 19)) $) . #1#)
         (EXIT
          (SPADCALL (SPADCALL |l| |r| (QREFELT $ 70))
                    (SPADCALL |r| |l| (QREFELT $ 70)) (QREFELT $ 59)))))))))) 

(DEFUN |LPOLY;RPoly| (|w| $)
  (PROG (|r| |l|)
    (RETURN
     (SEQ
      (COND
       ((SPADCALL |w| (QREFELT $ 36))
        (SPADCALL (SPADCALL |w| (QREFELT $ 37)) (QREFELT $ 71)))
       ('T
        (SEQ
         (LETT |l| (|LPOLY;RPoly| (SPADCALL |w| (QREFELT $ 18)) $)
               . #1=(|LPOLY;RPoly|))
         (LETT |r| (|LPOLY;RPoly| (SPADCALL |w| (QREFELT $ 19)) $) . #1#)
         (EXIT
          (SPADCALL (SPADCALL |l| |r| (QREFELT $ 72))
                    (SPADCALL |r| |l| (QREFELT $ 72)) (QREFELT $ 39)))))))))) 

(DEFUN |LPOLY;coerce;VarSet$;18| (|v| $)
  (SPADCALL (SPADCALL |v| (QREFELT $ 73)) (|spadConstant| $ 67) (QREFELT $ 68))) 

(DEFUN |LPOLY;construct;3$;19| (|x| |y| $)
  (PROG (#1=#:G764 #2=#:G763 #3=#:G765 #4=#:G767 |t|)
    (RETURN
     (SEQ
      (PROGN
       (LETT #1# NIL . #5=(|LPOLY;construct;3$;19|))
       (SEQ (LETT |t| NIL . #5#) (LETT #4# |x| . #5#) G190
            (COND
             ((OR (ATOM #4#) (PROGN (LETT |t| (CAR #4#) . #5#) NIL))
              (GO G191)))
            (SEQ
             (EXIT
              (PROGN
               (LETT #3#
                     (SPADCALL (QCDR |t|) (|LPOLY;cr1| (QCAR |t|) |y| $)
                               (QREFELT $ 28))
                     . #5#)
               (COND (#1# (LETT #2# (SPADCALL #2# #3# (QREFELT $ 29)) . #5#))
                     ('T (PROGN (LETT #2# #3# . #5#) (LETT #1# 'T . #5#)))))))
            (LETT #4# (CDR #4#) . #5#) (GO G190) G191 (EXIT NIL))
       (COND (#1# #2#) ('T (|spadConstant| $ 23)))))))) 

(DEFUN |LPOLY;construct;Lw2$;20| (|l| |p| $) (|LPOLY;cr1| |l| |p| $)) 

(DEFUN |LPOLY;construct;$Lw$;21| (|p| |l| $) (|LPOLY;cr2| |p| |l| $)) 

(DEFUN |LPOLY;construct;2Lw$;22| (|u| |v| $) (|LPOLY;crw| |u| |v| $)) 

(DEFUN |LPOLY;coerce;$Xdp;23| (|p| $)
  (PROG (#1=#:G772 #2=#:G771 #3=#:G773 #4=#:G775 |t|)
    (RETURN
     (SEQ
      (PROGN
       (LETT #1# NIL . #5=(|LPOLY;coerce;$Xdp;23|))
       (SEQ (LETT |t| NIL . #5#) (LETT #4# |p| . #5#) G190
            (COND
             ((OR (ATOM #4#) (PROGN (LETT |t| (CAR #4#) . #5#) NIL))
              (GO G191)))
            (SEQ
             (EXIT
              (PROGN
               (LETT #3#
                     (SPADCALL (QCDR |t|) (|LPOLY;DPoly| (QCAR |t|) $)
                               (QREFELT $ 78))
                     . #5#)
               (COND (#1# (LETT #2# (SPADCALL #2# #3# (QREFELT $ 79)) . #5#))
                     ('T (PROGN (LETT #2# #3# . #5#) (LETT #1# 'T . #5#)))))))
            (LETT #4# (CDR #4#) . #5#) (GO G190) G191 (EXIT NIL))
       (COND (#1# #2#) ('T (|spadConstant| $ 51)))))))) 

(DEFUN |LPOLY;coerce;$Xrp;24| (|p| $)
  (PROG (#1=#:G777 #2=#:G776 #3=#:G778 #4=#:G780 |t|)
    (RETURN
     (SEQ
      (PROGN
       (LETT #1# NIL . #5=(|LPOLY;coerce;$Xrp;24|))
       (SEQ (LETT |t| NIL . #5#) (LETT #4# |p| . #5#) G190
            (COND
             ((OR (ATOM #4#) (PROGN (LETT |t| (CAR #4#) . #5#) NIL))
              (GO G191)))
            (SEQ
             (EXIT
              (PROGN
               (LETT #3#
                     (SPADCALL (QCDR |t|) (|LPOLY;RPoly| (QCAR |t|) $)
                               (QREFELT $ 45))
                     . #5#)
               (COND (#1# (LETT #2# (SPADCALL #2# #3# (QREFELT $ 46)) . #5#))
                     ('T (PROGN (LETT #2# #3# . #5#) (LETT #1# 'T . #5#)))))))
            (LETT #4# (CDR #4#) . #5#) (GO G190) G191 (EXIT NIL))
       (COND (#1# #2#) ('T (|spadConstant| $ 35)))))))) 

(DEFUN |LPOLY;LiePoly;Lw$;25| (|l| $)
  (SPADCALL |l| (|spadConstant| $ 67) (QREFELT $ 68))) 

(DEFUN |LPOLY;varList;$L;26| (|p| $)
  (PROG (|le| #1=#:G783 #2=#:G782 #3=#:G784 #4=#:G787 |t|)
    (RETURN
     (SEQ
      (LETT |le|
            (PROGN
             (LETT #1# NIL . #5=(|LPOLY;varList;$L;26|))
             (SEQ (LETT |t| NIL . #5#) (LETT #4# |p| . #5#) G190
                  (COND
                   ((OR (ATOM #4#) (PROGN (LETT |t| (CAR #4#) . #5#) NIL))
                    (GO G191)))
                  (SEQ
                   (EXIT
                    (PROGN
                     (LETT #3# (SPADCALL (QCAR |t|) (QREFELT $ 11)) . #5#)
                     (COND
                      (#1# (LETT #2# (SPADCALL #2# #3# (QREFELT $ 80)) . #5#))
                      ('T (PROGN (LETT #2# #3# . #5#) (LETT #1# 'T . #5#)))))))
                  (LETT #4# (CDR #4#) . #5#) (GO G190) G191 (EXIT NIL))
             (COND (#1# #2#) ('T (|IdentityError| '|setUnion|))))
            . #5#)
      (EXIT (SPADCALL |le| (QREFELT $ 81))))))) 

(DEFUN |LPOLY;mirror;2$;27| (|p| $)
  (PROG (#1=#:G792 |t| #2=#:G791)
    (RETURN
     (SEQ
      (PROGN
       (LETT #2# NIL . #3=(|LPOLY;mirror;2$;27|))
       (SEQ (LETT |t| NIL . #3#) (LETT #1# |p| . #3#) G190
            (COND
             ((OR (ATOM #1#) (PROGN (LETT |t| (CAR #1#) . #3#) NIL))
              (GO G191)))
            (SEQ
             (EXIT
              (LETT #2#
                    (CONS
                     (CONS (QCAR |t|)
                           (COND
                            ((ODDP (SPADCALL (QCAR |t|) (QREFELT $ 84)))
                             (QCDR |t|))
                            ('T (SPADCALL (QCDR |t|) (QREFELT $ 85)))))
                     #2#)
                    . #3#)))
            (LETT #1# (CDR #1#) . #3#) (GO G190) G191
            (EXIT (NREVERSE0 #2#)))))))) 

(DEFUN |LPOLY;trunc;$Nni$;28| (|p| |n| $)
  (COND
   ((< |n| (SPADCALL |p| (QREFELT $ 88)))
    (SPADCALL (SPADCALL |p| (QREFELT $ 89)) |n| (QREFELT $ 90)))
   ('T |p|))) 

(DEFUN |LPOLY;degree;$Nni;29| (|p| $)
  (COND ((NULL |p|) 0) ('T (SPADCALL (QCAR (|SPADfirst| |p|)) (QREFELT $ 84))))) 

(DEFUN |LPOLY;outTerm| (|r| |lw| $)
  (COND
   ((SPADCALL |r| (|spadConstant| $ 67) (QREFELT $ 91))
    (SPADCALL |lw| (QREFELT $ 93)))
   ('T
    (SPADCALL (SPADCALL |r| (QREFELT $ 94)) (SPADCALL |lw| (QREFELT $ 93))
              (QREFELT $ 95))))) 

(DEFUN |LPOLY;coerce;$Of;31| (|a| $)
  (PROG (#1=#:G802 |t| #2=#:G801)
    (RETURN
     (SEQ
      (COND ((NULL |a|) (SPADCALL (|spadConstant| $ 24) (QREFELT $ 94)))
            ('T
             (SPADCALL (ELT $ 96)
                       (NREVERSE
                        (PROGN
                         (LETT #2# NIL . #3=(|LPOLY;coerce;$Of;31|))
                         (SEQ (LETT |t| NIL . #3#) (LETT #1# |a| . #3#) G190
                              (COND
                               ((OR (ATOM #1#)
                                    (PROGN (LETT |t| (CAR #1#) . #3#) NIL))
                                (GO G191)))
                              (SEQ
                               (EXIT
                                (LETT #2#
                                      (CONS
                                       (|LPOLY;outTerm| (QCDR |t|) (QCAR |t|)
                                        $)
                                       #2#)
                                      . #3#)))
                              (LETT #1# (CDR #1#) . #3#) (GO G190) G191
                              (EXIT (NREVERSE0 #2#)))))
                       (QREFELT $ 99)))))))) 

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

(DEFUN |LiePolynomial;| (|#1| |#2|)
  (PROG (|pv$| $ |dv$| DV$2 DV$1)
    (RETURN
     (PROGN
      (LETT DV$1 (|devaluate| |#1|) . #1=(|LiePolynomial|))
      (LETT DV$2 (|devaluate| |#2|) . #1#)
      (LETT |dv$| (LIST '|LiePolynomial| DV$1 DV$2) . #1#)
      (LETT $ (GETREFV 109) . #1#)
      (QSETREFV $ 0 |dv$|)
      (QSETREFV $ 3
                (LETT |pv$|
                      (|buildPredVector| 0 0
                                         (LIST (|HasCategory| |#2| '(|Field|))
                                               (|HasCategory| |#2|
                                                              '(|CommutativeRing|))))
                      . #1#))
      (|haddProp| |$ConstructorCache| '|LiePolynomial| (LIST DV$1 DV$2)
                  (CONS 1 $))
      (|stuffDomainSlots| $)
      (QSETREFV $ 6 |#1|)
      (QSETREFV $ 7 |#2|)
      (QSETREFV $ 8
                (|List|
                 (|Record| (|:| |k| (|LyndonWord| |#1|)) (|:| |c| |#2|))))
      $)))) 

(MAKEPROP '|LiePolynomial| '|infovec|
          (LIST
           '#(NIL NIL NIL NIL NIL (|FreeModule| 7 10) (|local| |#1|)
              (|local| |#2|) '|Rep| (|List| 6) (|LyndonWord| 6) (0 . |varList|)
              (|Boolean|) (5 . |member?|) |LPOLY;LiePoly;Lw$;25|
              (|Union| 6 '#1="failed") (11 . |retractIfCan|) (16 . =)
              (22 . |left|) (27 . |right|) |LPOLY;construct;3$;19| (|Integer|)
              (32 . |position|) (38 . |Zero|) (42 . |Zero|) (46 . |coerce|)
              (|List| $$) (51 . |elt|) (57 . *) (63 . +)
              |LPOLY;eval;$VarSet2$;3| (|List| $) |LPOLY;eval;$LL$;4|
              (|XRecursivePolynomial| 6 7) (69 . |constant?|) (74 . |Zero|)
              (78 . |retractable?|) (83 . |retract|) (88 . |lquo|) (94 . -)
              (100 . |rquo|) |LPOLY;coerce;$Xrp;24| (106 . |coef|)
              |LPOLY;coef;Xrp$R;7| (112 . =) (118 . *) (124 . +)
              |LPOLY;lquo;Xrp$Xrp;8| |LPOLY;rquo;Xrp$Xrp;9|
              (|XDistributedPolynomial| 6 7) (130 . |quasiRegular?|)
              (135 . |Zero|) (139 . =) (|Record| (|:| |k| 56) (|:| |c| 7))
              (145 . |mindegTerm|) (|Union| $ '"failed")
              (|OrderedFreeMonoid| 6) (150 . |lyndonIfCan|)
              |LPOLY;coerce;$Xdp;23| (155 . -) |LPOLY;LiePolyIfCan;XdpU;10|
              (|Magma| 6) (161 . |coerce|) (166 . *) (172 . =) (178 . |lexico|)
              (184 . -) (189 . |One|) (193 . |monom|) (199 . |coerce|)
              (204 . *) (210 . |coerce|) (215 . *) (221 . |coerce|)
              |LPOLY;coerce;VarSet$;18| |LPOLY;construct;Lw2$;20|
              |LPOLY;construct;$Lw$;21| |LPOLY;construct;2Lw$;22| (226 . *)
              (232 . +) (238 . |setUnion|) (244 . |sort|) |LPOLY;varList;$L;26|
              (|PositiveInteger|) (249 . |length|) (254 . -)
              |LPOLY;mirror;2$;27| (|NonNegativeInteger|)
              |LPOLY;degree;$Nni;29| (259 . |reductum|) |LPOLY;trunc;$Nni$;28|
              (264 . =) (|OutputForm|) (270 . |coerce|) (275 . |coerce|)
              (280 . *) (286 . +) (|Mapping| 92 92 92) (|List| 92)
              (292 . |reduce|) |LPOLY;coerce;$Of;31| (|Union| 10 '#1#)
              (|Record| (|:| |k| 10) (|:| |c| 7)) (|List| 102) (|Mapping| 7 7)
              (|List| 7) (|List| 10) (|String|) (|SingleInteger|))
           '#(~= 298 |zero?| 304 |varList| 309 |trunc| 314 |support| 320
              |subtractIfCan| 325 |sample| 331 |rquo| 335 |retractIfCan| 341
              |retract| 346 |reductum| 351 |numberOfMonomials| 356 |monomials|
              361 |monomial?| 366 |monomial| 371 |monom| 377 |mirror| 383 |map|
              388 |lquo| 394 |listOfTerms| 400 |leadingTerm| 405
              |leadingSupport| 410 |leadingMonomial| 415 |leadingCoefficient|
              420 |latex| 425 |hash| 430 |eval| 435 |degree| 449
              |constructOrdered| 454 |construct| 459 |coerce| 488
              |coefficients| 513 |coefficient| 518 |coef| 524 |Zero| 530
              |LiePolyIfCan| 534 |LiePoly| 539 = 544 / 550 - 556 + 567 * 573)
           'NIL
           (CONS (|makeByteWordVec2| 1 '(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
                 (CONS
                  '#(NIL |LieAlgebra&| NIL |Module&| NIL NIL NIL
                     |AbelianGroup&| NIL |AbelianMonoid&| NIL
                     |AbelianSemiGroup&| |SetCategory&| |RetractableTo&|
                     |BasicType&| NIL)
                  (CONS
                   '#((|FreeLieAlgebra| 6 7) (|LieAlgebra| 7)
                      (|FreeModuleCategory| 7 (|LyndonWord| 6)) (|Module| 7)
                      (|BiModule| 7 7) (|LeftModule| 7) (|RightModule| 7)
                      (|AbelianGroup|) (|CancellationAbelianMonoid|)
                      (|AbelianMonoid|)
                      (|IndexedDirectProductCategory| 7 (|LyndonWord| 6))
                      (|AbelianSemiGroup|) (|SetCategory|)
                      (|RetractableTo| (|LyndonWord| 6)) (|BasicType|)
                      (|CoercibleTo| 92))
                   (|makeByteWordVec2| 108
                                       '(1 10 9 0 11 2 9 12 6 0 13 1 10 15 0 16
                                         2 6 12 0 0 17 1 10 0 0 18 1 10 0 0 19
                                         2 9 21 6 0 22 0 0 0 23 0 7 0 24 1 0 0
                                         10 25 2 26 2 0 21 27 2 0 0 7 0 28 2 0
                                         0 0 0 29 1 33 12 0 34 0 33 0 35 1 10
                                         12 0 36 1 10 6 0 37 2 33 0 0 6 38 2 33
                                         0 0 0 39 2 33 0 0 6 40 2 33 7 0 0 42 2
                                         0 12 0 0 44 2 33 0 7 0 45 2 33 0 0 0
                                         46 1 49 12 0 50 0 49 0 51 2 49 12 0 0
                                         52 1 49 53 0 54 1 10 55 56 57 2 49 0 0
                                         0 59 1 10 61 0 62 2 61 0 0 0 63 2 10
                                         12 0 0 64 2 10 12 0 0 65 1 0 0 0 66 0
                                         7 0 67 2 0 0 10 7 68 1 49 0 6 69 2 49
                                         0 0 0 70 1 33 0 6 71 2 33 0 0 0 72 1
                                         10 0 6 73 2 49 0 7 0 78 2 49 0 0 0 79
                                         2 9 0 0 0 80 1 9 0 0 81 1 10 83 0 84 1
                                         7 0 0 85 1 0 0 0 89 2 7 12 0 0 91 1 10
                                         92 0 93 1 7 92 0 94 2 92 0 0 0 95 2 92
                                         0 0 0 96 2 98 92 97 0 99 2 0 12 0 0 1
                                         1 0 12 0 1 1 0 9 0 82 2 0 0 0 87 90 1
                                         0 106 0 1 2 0 55 0 0 1 0 0 0 1 2 0 33
                                         33 0 48 1 0 101 0 1 1 0 10 0 1 1 0 0 0
                                         89 1 0 87 0 1 1 0 31 0 1 1 0 12 0 1 2
                                         0 0 7 10 1 2 0 0 10 7 68 1 0 0 0 86 2
                                         0 0 104 0 1 2 0 33 33 0 47 1 0 103 0 1
                                         1 0 102 0 1 1 0 10 0 1 1 0 10 0 1 1 0
                                         7 0 1 1 0 107 0 1 1 0 108 0 1 3 0 0 0
                                         9 31 32 3 0 0 0 6 0 30 1 0 87 0 88 1 0
                                         0 103 1 2 0 0 0 10 76 2 0 0 10 10 77 2
                                         0 0 10 0 75 1 0 0 103 1 2 0 0 0 0 20 1
                                         0 0 10 25 1 0 33 0 41 1 0 49 0 58 1 0
                                         0 6 74 1 0 92 0 100 1 0 105 0 1 2 0 7
                                         0 10 1 2 0 7 33 0 43 0 0 0 23 1 0 55
                                         49 60 1 0 0 10 14 2 0 12 0 0 44 2 1 0
                                         0 7 1 1 0 0 0 66 2 0 0 0 0 1 2 0 0 0 0
                                         29 2 0 0 7 10 1 2 0 0 10 7 1 2 0 0 7 0
                                         28 2 0 0 0 7 1 2 0 0 21 0 1 2 0 0 87 0
                                         1 2 0 0 83 0 1)))))
           '|lookupComplete|)) 
