
(/VERSIONCHECK 2) 

(DEFUN |POLYVEC;copy_first;2UvIV;1| (|np| |op| |n| $)
  (PROG (#1=#:G1805 |j| |ns|)
    (RETURN
     (SEQ (LETT |ns| |n| . #2=(|POLYVEC;copy_first;2UvIV;1|))
          (EXIT
           (SEQ (LETT |j| 0 . #2#) (LETT #1# (QSDIFFERENCE |ns| 1) . #2#) G190
                (COND ((QSGREATERP |j| #1#) (GO G191)))
                (SEQ (EXIT (SETELT32 |np| |j| (ELT32 |op| |j|))))
                (LETT |j| (QSADD1 |j|) . #2#) (GO G190) G191 (EXIT NIL))))))) 

(DEFUN |POLYVEC;copy_slice;2Uv2IV;2| (|np| |op| |m| |n| $)
  (PROG (#1=#:G1809 |j| |ns| |ms|)
    (RETURN
     (SEQ (LETT |ms| |m| . #2=(|POLYVEC;copy_slice;2Uv2IV;2|))
          (LETT |ns| |n| . #2#)
          (EXIT
           (SEQ (LETT |j| |ms| . #2#)
                (LETT #1# (QSDIFFERENCE (QSPLUS |ms| |ns|) 1) . #2#) G190
                (COND ((QSGREATERP |j| #1#) (GO G191)))
                (SEQ (EXIT (SETELT32 |np| |j| (ELT32 |op| |j|))))
                (LETT |j| (QSADD1 |j|) . #2#) (GO G190) G191 (EXIT NIL))))))) 

(DEFUN |POLYVEC;eval_at;Uv4I;3| (|v| |deg| |pt| |p| $)
  (PROG (|i| |res|)
    (RETURN
     (SEQ
      (LETT |i| (SPADCALL |deg| (QREFELT $ 12))
            . #1=(|POLYVEC;eval_at;Uv4I;3|))
      (LETT |res| 0 . #1#)
      (SEQ G190 (COND ((NULL (COND ((QSLESSP |i| 0) 'NIL) ('T 'T))) (GO G191)))
           (SEQ
            (LETT |res| (QSMULADDMOD64-32 |pt| |res| (ELT32 |v| |i|) |p|)
                  . #1#)
            (EXIT (LETT |i| (QSDIFFERENCE |i| 1) . #1#)))
           NIL (GO G190) G191 (EXIT NIL))
      (EXIT |res|))))) 

(DEFUN |POLYVEC;vector_add_mul;2Uv4IV;4| (|v1| |v2| |m| |n| |c| |p| $)
  (PROG (|i| |ns| |ms|)
    (RETURN
     (SEQ (LETT |ms| |m| . #1=(|POLYVEC;vector_add_mul;2Uv4IV;4|))
          (LETT |ns| |n| . #1#)
          (EXIT
           (SEQ (LETT |i| |ms| . #1#) G190
                (COND ((QSGREATERP |i| |ns|) (GO G191)))
                (SEQ
                 (EXIT
                  (SETELT32 |v1| |i|
                            (QSMULADDMOD64-32 |c| (ELT32 |v2| |i|)
                                              (ELT32 |v1| |i|) |p|))))
                (LETT |i| (QSADD1 |i|) . #1#) (GO G190) G191 (EXIT NIL))))))) 

(DEFUN |POLYVEC;mul_by_binomial;Uv3IV;5| (|v| |n| |pt| |p| $)
  (PROG (|prev_coeff| |pp| #1=#:G1821 |i| |ns|)
    (RETURN
     (SEQ (LETT |prev_coeff| 0 . #2=(|POLYVEC;mul_by_binomial;Uv3IV;5|))
          (LETT |ns| |n| . #2#)
          (EXIT
           (SEQ (LETT |i| 0 . #2#) (LETT #1# (QSDIFFERENCE |ns| 1) . #2#) G190
                (COND ((QSGREATERP |i| #1#) (GO G191)))
                (SEQ (LETT |pp| (ELT32 |v| |i|) . #2#)
                     (SETELT32 |v| |i|
                               (QSMULADDMOD64-32 |pt| |pp| |prev_coeff| |p|))
                     (EXIT (LETT |prev_coeff| |pp| . #2#)))
                (LETT |i| (QSADD1 |i|) . #2#) (GO G190) G191 (EXIT NIL))))))) 

(DEFUN |POLYVEC;mul_by_binomial;Uv2IV;6| (|v| |pt| |p| $)
  (SPADCALL |v| (QV32LEN |v|) |pt| |p| (QREFELT $ 15))) 

(DEFUN |POLYVEC;mul_by_scalar;Uv3IV;7| (|v| |n| |c| |p| $)
  (PROG (|i| |ns|)
    (RETURN
     (SEQ (LETT |ns| |n| . #1=(|POLYVEC;mul_by_scalar;Uv3IV;7|))
          (EXIT
           (SEQ (LETT |i| 0 . #1#) G190
                (COND ((QSGREATERP |i| |ns|) (GO G191)))
                (SEQ
                 (EXIT
                  (SETELT32 |v| |i| (QSMULMOD32 |c| (ELT32 |v| |i|) |p|))))
                (LETT |i| (QSADD1 |i|) . #1#) (GO G190) G191 (EXIT NIL))))))) 

(DEFUN |POLYVEC;degree;UvI;8| (|v| $)
  (PROG (#1=#:G1827 #2=#:G1829 |i| |n|)
    (RETURN
     (SEQ
      (EXIT
       (SEQ (LETT |n| (QV32LEN |v|) . #3=(|POLYVEC;degree;UvI;8|))
            (SEQ
             (EXIT
              (SEQ (LETT |i| (- |n| 1) . #3#) G190 (COND ((< |i| 0) (GO G191)))
                   (SEQ
                    (EXIT
                     (COND
                      ((NULL (EQL (ELT32 |v| |i|) 0))
                       (PROGN
                        (LETT #1# (PROGN (LETT #2# |i| . #3#) (GO #2#)) . #3#)
                        (GO #1#))))))
                   (LETT |i| (+ |i| -1) . #3#) (GO G190) G191 (EXIT NIL)))
             #1# (EXIT #1#))
            (EXIT -1)))
      #2# (EXIT #2#))))) 

(DEFUN |POLYVEC;vector_combination;UvIUv4IV;9|
       (|v1| |c1| |v2| |c2| |n| |delta| |p| $)
  (PROG (|i| #1=#:G1834 |ds| |ns|)
    (RETURN
     (SEQ (LETT |ns| |n| . #2=(|POLYVEC;vector_combination;UvIUv4IV;9|))
          (LETT |ds| |delta| . #2#)
          (SEQ (LETT |i| 0 . #2#) (LETT #1# (- |delta| 1) . #2#) G190
               (COND ((QSGREATERP |i| #1#) #3=(GO G191)))
               (SEQ
                (EXIT
                 (SETELT32 |v1| |i| (QSMULMOD32 (ELT32 |v1| |i|) |c1| |p|))))
               (LETT |i| (QSADD1 |i|) . #2#) #4=(GO G190) G191 (EXIT NIL))
          (EXIT
           (SEQ (LETT |i| |delta| . #2#) G190 (COND ((> |i| |ns|) #3#))
                (SEQ
                 (EXIT
                  (SETELT32 |v1| |i|
                            (QSDOT2MOD64-32 (ELT32 |v1| |i|) |c1|
                                            (ELT32 |v2| (- |i| |delta|)) |c2|
                                            |p|))))
                (LETT |i| (+ |i| 1) . #2#) #4# G191 (EXIT NIL))))))) 

(DEFUN |POLYVEC;divide!;3UvIV;10| (|r0| |r1| |res| |p| $)
  (PROG (#1=#:G1836 |dr0| #2=#:G1838 |c1| |delta| |c0| |dr1|)
    (RETURN
     (SEQ
      (LETT |dr0| (SPADCALL |r0| (QREFELT $ 18))
            . #3=(|POLYVEC;divide!;3UvIV;10|))
      (LETT |dr1| (SPADCALL |r1| (QREFELT $ 18)) . #3#)
      (LETT |c0| (ELT32 |r1| |dr1|) . #3#)
      (LETT |c0| (SPADCALL |c0| |p| (QREFELT $ 20)) . #3#)
      (EXIT
       (SEQ
        (EXIT
         (SEQ G190
              (COND
               ((NULL (COND ((< |dr0| |dr1|) 'NIL) ('T 'T))) #4=(GO G191)))
              (SEQ (LETT |delta| (- |dr0| |dr1|) . #3#)
                   (LETT |c1| (QSMULMOD32 |c0| (ELT32 |r0| |dr0|) |p|) . #3#)
                   (SETELT32 |res| |delta| |c1|) (LETT |c1| (- |p| |c1|) . #3#)
                   (SETELT32 |r0| |dr0| 0) (LETT |dr0| (- |dr0| 1) . #3#)
                   (COND
                    ((< |dr0| 0) (PROGN (LETT #2# |$NoValue| . #3#) (GO #2#))))
                   (SPADCALL |r0| 1 |r1| |c1| |dr0| |delta| |p| (QREFELT $ 19))
                   (EXIT
                    (SEQ
                     (EXIT
                      (SEQ G190 (COND ((NULL (EQL (ELT32 |r0| |dr0|) 0)) #4#))
                           (SEQ (LETT |dr0| (- |dr0| 1) . #3#)
                                (EXIT
                                 (COND
                                  ((< |dr0| 0)
                                   (PROGN
                                    (LETT #1# |$NoValue| . #3#)
                                    (GO #1#))))))
                           NIL #5=(GO G190) G191 (EXIT NIL)))
                     #1# (EXIT #1#))))
              NIL #5# G191 (EXIT NIL)))
        #2# (EXIT #2#))))))) 

(DEFUN |POLYVEC;gcd;2UvIUv;11| (|x| |y| |p| $)
  (PROG (#1=#:G1853 |c| |dr1| |r1| |dr0| |r0| |tmp| |tmpp| #2=#:G1844 |c0| |c1|
         |delta|)
    (RETURN
     (SEQ
      (EXIT
       (SEQ
        (LETT |dr0| (SPADCALL |y| (QREFELT $ 18))
              . #3=(|POLYVEC;gcd;2UvIUv;11|))
        (COND
         ((< |dr0| 0)
          (SEQ (LETT |tmpp| |x| . #3#) (LETT |x| |y| . #3#)
               (LETT |y| |tmpp| . #3#) (LETT |dr1| |dr0| . #3#)
               (EXIT (LETT |dr0| (SPADCALL |y| (QREFELT $ 18)) . #3#))))
         (#4='T (LETT |dr1| (SPADCALL |x| (QREFELT $ 18)) . #3#)))
        (EXIT
         (COND
          ((< |dr0| 0)
           (COND
            ((< |dr1| 0) (PROGN (LETT #1# (GETREFV32 1 0) . #3#) (GO #1#)))
            (#4#
             (SEQ (LETT |r1| (GETREFV32 (+ |dr1| 1) 0) . #3#)
                  (SPADCALL |r1| |x| (+ |dr1| 1) (QREFELT $ 9))
                  (LETT |c| (ELT32 |r1| |dr1|) . #3#)
                  (LETT |c| (SPADCALL |c| |p| (QREFELT $ 20)) . #3#)
                  (SPADCALL |r1| |dr1| |c| |p| (QREFELT $ 17))
                  (EXIT (PROGN (LETT #1# |r1| . #3#) (GO #1#)))))))
          (#4#
           (SEQ (LETT |r0| (GETREFV32 (+ |dr0| 1) 0) . #3#)
                (SPADCALL |r0| |y| (+ |dr0| 1) (QREFELT $ 9))
                (LETT |r1| (GETREFV32 (+ |dr1| 1) 0) . #3#)
                (SPADCALL |r1| |x| (+ |dr1| 1) (QREFELT $ 9))
                (SEQ G190 (COND ((NULL (< 0 |dr1|)) #5=(GO G191)))
                     (SEQ
                      (SEQ G190
                           (COND
                            ((NULL (COND ((< |dr0| |dr1|) 'NIL) ('T 'T))) #5#))
                           (SEQ (LETT |delta| (- |dr0| |dr1|) . #3#)
                                (LETT |c1| (- |p| (ELT32 |r0| |dr0|)) . #3#)
                                (LETT |c0| (ELT32 |r1| |dr1|) . #3#)
                                (SETELT32 |r0| |dr0| 0)
                                (LETT |dr0| (- |dr0| 1) . #3#)
                                (SPADCALL |r0| |c0| |r1| |c1| |dr0| |delta| |p|
                                          (QREFELT $ 19))
                                (EXIT
                                 (SEQ
                                  (EXIT
                                   (SEQ G190
                                        (COND
                                         ((NULL (EQL (ELT32 |r0| |dr0|) 0))
                                          #5#))
                                        (SEQ (LETT |dr0| (- |dr0| 1) . #3#)
                                             (EXIT
                                              (COND
                                               ((< |dr0| 0)
                                                (PROGN
                                                 (LETT #2# |$NoValue| . #3#)
                                                 (GO #2#))))))
                                        NIL #6=(GO G190) G191 (EXIT NIL)))
                                  #2# (EXIT #2#))))
                           NIL #6# G191 (EXIT NIL))
                      (LETT |tmpp| |r0| . #3#) (LETT |tmp| |dr0| . #3#)
                      (LETT |r0| |r1| . #3#) (LETT |dr0| |dr1| . #3#)
                      (LETT |r1| |tmpp| . #3#) (EXIT (LETT |dr1| |tmp| . #3#)))
                     NIL #6# G191 (EXIT NIL))
                (EXIT
                 (COND
                  ((< |dr1| 0)
                   (SEQ (LETT |c| (ELT32 |r0| |dr0|) . #3#)
                        (LETT |c| (SPADCALL |c| |p| (QREFELT $ 20)) . #3#)
                        (SPADCALL |r0| |dr0| |c| |p| (QREFELT $ 17))
                        (EXIT |r0|)))
                  (#4#
                   (SEQ (SETELT32 |r1| 0 1)
                        (EXIT (PROGN (LETT #1# |r1| . #3#) (GO #1#)))))))))))))
      #1# (EXIT #1#))))) 

(DEFUN |POLYVEC;gcd;Pa3IUv;12| (|a| |lo| |hi| |p| $)
  (PROG (|res| |i|)
    (RETURN
     (SEQ (LETT |res| (QAREF1 |a| |lo|) . #1=(|POLYVEC;gcd;Pa3IUv;12|))
          (SEQ (LETT |i| (+ |lo| 1) . #1#) G190 (COND ((> |i| |hi|) (GO G191)))
               (SEQ
                (EXIT
                 (LETT |res|
                       (SPADCALL (QAREF1 |a| |i|) |res| |p| (QREFELT $ 22))
                       . #1#)))
               (LETT |i| (+ |i| 1) . #1#) (GO G190) G191 (EXIT NIL))
          (EXIT |res|))))) 

(DEFUN |POLYVEC;lcm2| (|v1| |v2| |p| $)
  (PROG (|tmp2| |tmp1| |dpp| |dv2| |pp|)
    (RETURN
     (SEQ
      (LETT |pp| (SPADCALL |v1| |v2| |p| (QREFELT $ 22)) . #1=(|POLYVEC;lcm2|))
      (LETT |dv2| (SPADCALL |v2| (QREFELT $ 18)) . #1#)
      (LETT |dpp| (SPADCALL |pp| (QREFELT $ 18)) . #1#)
      (EXIT
       (COND ((EQL |dv2| |dpp|) |v1|)
             ((EQL |dpp| 0) (SPADCALL |v1| |v2| |p| (QREFELT $ 25)))
             ('T
              (SEQ (LETT |tmp1| (GETREFV32 (+ |dv2| 1) 0) . #1#)
                   (LETT |tmp2| (GETREFV32 (+ (- |dv2| |dpp|) 1) 0) . #1#)
                   (SPADCALL |tmp1| |v2| (+ |dv2| 1) (QREFELT $ 9))
                   (SPADCALL |tmp1| |pp| |tmp2| |p| (QREFELT $ 21))
                   (EXIT (SPADCALL |v1| |tmp2| |p| (QREFELT $ 25))))))))))) 

(DEFUN |POLYVEC;lcm;Pa3IUv;14| (|a| |lo| |hi| |p| $)
  (PROG (|res| |i|)
    (RETURN
     (SEQ (LETT |res| (QAREF1 |a| |lo|) . #1=(|POLYVEC;lcm;Pa3IUv;14|))
          (SEQ (LETT |i| (+ |lo| 1) . #1#) G190 (COND ((> |i| |hi|) (GO G191)))
               (SEQ
                (EXIT
                 (LETT |res| (|POLYVEC;lcm2| (QAREF1 |a| |i|) |res| |p| $)
                       . #1#)))
               (LETT |i| (+ |i| 1) . #1#) (GO G190) G191 (EXIT NIL))
          (EXIT |res|))))) 

(DEFUN |POLYVEC;mul;2UvIUv;15| (|x| |y| |p| $)
  (PROG (|zcoeffs| |zdeg0| |zdeg| |ycoeffs| |xcoeffs| |ydeg| |xdeg| |tmp|
         |tmpp|)
    (RETURN
     (SEQ
      (LETT |xdeg| (SPADCALL (SPADCALL |x| (QREFELT $ 18)) (QREFELT $ 12))
            . #1=(|POLYVEC;mul;2UvIUv;15|))
      (LETT |ydeg| (SPADCALL (SPADCALL |y| (QREFELT $ 18)) (QREFELT $ 12))
            . #1#)
      (COND
       ((QSLESSP |ydeg| |xdeg|)
        (SEQ (LETT |tmpp| |x| . #1#) (LETT |tmp| |xdeg| . #1#)
             (LETT |x| |y| . #1#) (LETT |xdeg| |ydeg| . #1#)
             (LETT |y| |tmpp| . #1#) (EXIT (LETT |ydeg| |tmp| . #1#)))))
      (LETT |xcoeffs| |x| . #1#) (LETT |ycoeffs| |y| . #1#)
      (COND ((EQL |xdeg| 0) (COND ((EQL (ELT32 |xcoeffs| 0) 0) (EXIT |x|)))))
      (COND
       ((EQL |xdeg| 0)
        (COND
         ((EQL (ELT32 |xcoeffs| 0) 1) (EXIT (SPADCALL |y| (QREFELT $ 27)))))))
      (LETT |zdeg| (QSPLUS |xdeg| |ydeg|) . #1#) (LETT |zdeg0| |zdeg| . #1#)
      (LETT |zcoeffs| (GETREFV32 (+ |zdeg0| 1) 0) . #1#)
      (|POLYVEC;inner_mul| |xcoeffs| |ycoeffs| |zcoeffs| |xdeg| |ydeg| |zdeg|
       |p| $)
      (EXIT |zcoeffs|))))) 

(DEFUN |POLYVEC;inner_mul| (|x| |y| |z| |xdeg| |ydeg| |zdeg| |p| $)
  (PROG (|ss| |j| |i| |tmp| |tmpp|)
    (RETURN
     (SEQ
      (COND
       ((QSLESSP |ydeg| |xdeg|)
        (SEQ (LETT |tmpp| |x| . #1=(|POLYVEC;inner_mul|))
             (LETT |tmp| |xdeg| . #1#) (LETT |x| |y| . #1#)
             (LETT |xdeg| |ydeg| . #1#) (LETT |y| |tmpp| . #1#)
             (EXIT (LETT |ydeg| |tmp| . #1#)))))
      (LETT |xdeg| (COND ((QSLESSP |zdeg| |xdeg|) |zdeg|) (#2='T |xdeg|))
            . #1#)
      (LETT |ydeg| (COND ((QSLESSP |zdeg| |ydeg|) |zdeg|) (#2# |ydeg|)) . #1#)
      (SEQ (LETT |i| 0 . #1#) G190
           (COND ((QSGREATERP |i| |xdeg|) #3=(GO G191)))
           (SEQ (LETT |ss| (ELT32 |z| |i|) . #1#)
                (SEQ (LETT |j| 0 . #1#) G190 (COND ((QSGREATERP |j| |i|) #3#))
                     (SEQ
                      (EXIT
                       (LETT |ss|
                             (QSMULADD64-32 (ELT32 |x| (- |i| |j|))
                                            (ELT32 |y| |j|) |ss|)
                             . #1#)))
                     (LETT |j| (QSADD1 |j|) . #1#) #4=(GO G190) G191
                     (EXIT NIL))
                (EXIT (SETELT32 |z| |i| (QSMOD64-32 |ss| |p|))))
           (LETT |i| (QSADD1 |i|) . #1#) #4# G191 (EXIT NIL))
      (SEQ (LETT |i| (QSPLUS |xdeg| 1) . #1#) G190
           (COND ((QSGREATERP |i| |ydeg|) #3#))
           (SEQ (LETT |ss| (ELT32 |z| |i|) . #1#)
                (SEQ (LETT |j| 0 . #1#) G190
                     (COND ((QSGREATERP |j| |xdeg|) #3#))
                     (SEQ
                      (EXIT
                       (LETT |ss|
                             (QSMULADD64-32 (ELT32 |x| |j|)
                                            (ELT32 |y| (- |i| |j|)) |ss|)
                             . #1#)))
                     (LETT |j| (QSADD1 |j|) . #1#) #4# G191 (EXIT NIL))
                (EXIT (SETELT32 |z| |i| (QSMOD64-32 |ss| |p|))))
           (LETT |i| (QSADD1 |i|) . #1#) #4# G191 (EXIT NIL))
      (EXIT
       (SEQ (LETT |i| (QSPLUS |ydeg| 1) . #1#) G190
            (COND ((QSGREATERP |i| |zdeg|) #3#))
            (SEQ (LETT |ss| (ELT32 |z| |i|) . #1#)
                 (SEQ (LETT |j| (QSDIFFERENCE |i| |xdeg|) . #1#) G190
                      (COND ((QSGREATERP |j| |ydeg|) #3#))
                      (SEQ
                       (EXIT
                        (LETT |ss|
                              (QSMULADD64-32 (ELT32 |x| (QSDIFFERENCE |i| |j|))
                                             (ELT32 |y| |j|) |ss|)
                              . #1#)))
                      (LETT |j| (QSADD1 |j|) . #1#) #4# G191 (EXIT NIL))
                 (EXIT (SETELT32 |z| |i| (QSMOD64-32 |ss| |p|))))
            (LETT |i| (QSADD1 |i|) . #1#) #4# G191 (EXIT NIL))))))) 

(DEFUN |POLYVEC;truncated_mul_add;3Uv2IV;17| (|x| |y| |z| |m| |p| $)
  (PROG (|ydeg| |xdeg|)
    (RETURN
     (SEQ
      (LETT |xdeg| (SPADCALL (- (QV32LEN |x|) 1) (QREFELT $ 12))
            . #1=(|POLYVEC;truncated_mul_add;3Uv2IV;17|))
      (LETT |ydeg| (SPADCALL (- (QV32LEN |y|) 1) (QREFELT $ 12)) . #1#)
      (EXIT
       (|POLYVEC;inner_mul| |x| |y| |z| |xdeg| |ydeg|
        (SPADCALL |m| (QREFELT $ 12)) |p| $)))))) 

(DEFUN |POLYVEC;truncated_multiplication;2Uv2IUv;18| (|x| |y| |m| |p| $)
  (PROG (|z| |ydeg| |xdeg|)
    (RETURN
     (SEQ
      (LETT |xdeg| (SPADCALL (- (QV32LEN |x|) 1) (QREFELT $ 12))
            . #1=(|POLYVEC;truncated_multiplication;2Uv2IUv;18|))
      (LETT |ydeg| (SPADCALL (- (QV32LEN |y|) 1) (QREFELT $ 12)) . #1#)
      (LETT |z| (GETREFV32 (+ |m| 1) 0) . #1#)
      (|POLYVEC;inner_mul| |x| |y| |z| |xdeg| |ydeg|
       (SPADCALL |m| (QREFELT $ 12)) |p| $)
      (EXIT |z|))))) 

(DEFUN |POLYVEC;pow;UvPiNniIUv;19| (|x| |n| |d| |p| $)
  (COND ((EQL |n| 1) |x|)
        ((ODDP |n|)
         (SPADCALL |x|
                   (SPADCALL (SPADCALL |x| |x| |d| |p| (QREFELT $ 29))
                             (ASH |n| -1) |d| |p| (QREFELT $ 32))
                   |d| |p| (QREFELT $ 29)))
        ('T
         (SPADCALL (SPADCALL |x| |x| |d| |p| (QREFELT $ 29)) (ASH |n| -1) |d|
                   |p| (QREFELT $ 32))))) 

(DEFUN |POLYVEC;differentiate;UvIUv;20| (|x| |p| $)
  (PROG (|i1| #1=#:G1893 |i| |r| #2=#:G1887 |d|)
    (RETURN
     (SEQ
      (LETT |d| (- (QV32LEN |x|) 1) . #3=(|POLYVEC;differentiate;UvIUv;20|))
      (EXIT
       (COND ((ZEROP |d|) (GETREFV32 0 0))
             ('T
              (SEQ
               (LETT |r|
                     (GETREFV32
                      (PROG1 (LETT #2# |d| . #3#)
                        (|check-subtype| (>= #2# 0) '(|NonNegativeInteger|)
                                         #2#))
                      0)
                     . #3#)
               (SEQ (LETT |i| 0 . #3#) (LETT #1# (- |d| 1) . #3#) G190
                    (COND ((QSGREATERP |i| #1#) (GO G191)))
                    (SEQ (LETT |i1| (+ |i| 1) . #3#)
                         (EXIT
                          (SETELT32 |r| |i|
                                    (QSMULMOD32 |i1| (ELT32 |x| |i1|) |p|))))
                    (LETT |i| (QSADD1 |i|) . #3#) (GO G190) G191 (EXIT NIL))
               (EXIT |r|))))))))) 

(DEFUN |POLYVEC;differentiate;UvNniIUv;21| (|x| |n| |p| $)
  (PROG (|f| |k| |j| |i| |r| |d|)
    (RETURN
     (SEQ
      (COND ((ZEROP |n|) |x|)
            (#1='T
             (SEQ
              (LETT |d| (- (QV32LEN |x|) 1)
                    . #2=(|POLYVEC;differentiate;UvNniIUv;21|))
              (EXIT
               (COND ((< |d| |n|) (GETREFV32 0 0))
                     (#1#
                      (SEQ (LETT |r| (GETREFV32 (+ (- |d| |n|) 1) 0) . #2#)
                           (SEQ (LETT |i| |n| . #2#) G190
                                (COND ((> |i| |d|) #3=(GO G191)))
                                (SEQ (LETT |j| (- |i| |n|) . #2#)
                                     (LETT |f| (+ |j| 1) . #2#)
                                     (SEQ (LETT |k| (+ |j| 2) . #2#) G190
                                          (COND ((> |k| |i|) #3#))
                                          (SEQ
                                           (EXIT
                                            (LETT |f| (QSMULMOD32 |f| |k| |p|)
                                                  . #2#)))
                                          (LETT |k| (+ |k| 1) . #2#)
                                          #4=(GO G190) G191 (EXIT NIL))
                                     (EXIT
                                      (SETELT32 |r| |j|
                                                (QSMULMOD32 |f| (ELT32 |x| |i|)
                                                            |p|))))
                                (LETT |i| (+ |i| 1) . #2#) #4# G191 (EXIT NIL))
                           (EXIT |r|)))))))))))) 

(DEFUN |U32VectorPolynomialOperations| #1=()
  (PROG #1#
    (RETURN
     (PROG (#2=#:G1902)
       (RETURN
        (COND
         ((LETT #2# (HGET |$ConstructorCache| '|U32VectorPolynomialOperations|)
                . #3=(|U32VectorPolynomialOperations|))
          (|CDRwithIncrement| (CDAR #2#)))
         ('T
          (UNWIND-PROTECT
              (PROG1
                  (CDDAR
                   (HPUT |$ConstructorCache| '|U32VectorPolynomialOperations|
                         (LIST
                          (CONS NIL
                                (CONS 1 (|U32VectorPolynomialOperations;|))))))
                (LETT #2# T . #3#))
            (COND
             ((NOT #2#)
              (HREM |$ConstructorCache|
                    '|U32VectorPolynomialOperations|))))))))))) 

(DEFUN |U32VectorPolynomialOperations;| ()
  (PROG (|dv$| $ |pv$|)
    (RETURN
     (PROGN
      (LETT |dv$| '(|U32VectorPolynomialOperations|)
            . #1=(|U32VectorPolynomialOperations|))
      (LETT $ (GETREFV 35) . #1#)
      (QSETREFV $ 0 |dv$|)
      (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #1#))
      (|haddProp| |$ConstructorCache| '|U32VectorPolynomialOperations| NIL
                  (CONS 1 $))
      (|stuffDomainSlots| $)
      $)))) 

(MAKEPROP '|U32VectorPolynomialOperations| '|infovec|
          (LIST
           '#(NIL NIL NIL NIL NIL NIL (|Void|) (|U32Vector|) (|Integer|)
              |POLYVEC;copy_first;2UvIV;1| |POLYVEC;copy_slice;2Uv2IV;2|
              (|SingleInteger|) (0 . |coerce|) |POLYVEC;eval_at;Uv4I;3|
              |POLYVEC;vector_add_mul;2Uv4IV;4|
              |POLYVEC;mul_by_binomial;Uv3IV;5|
              |POLYVEC;mul_by_binomial;Uv2IV;6| |POLYVEC;mul_by_scalar;Uv3IV;7|
              |POLYVEC;degree;UvI;8| |POLYVEC;vector_combination;UvIUv4IV;9|
              (5 . |invmod|) |POLYVEC;divide!;3UvIV;10| |POLYVEC;gcd;2UvIUv;11|
              (|PrimitiveArray| 7) |POLYVEC;gcd;Pa3IUv;12|
              |POLYVEC;mul;2UvIUv;15| |POLYVEC;lcm;Pa3IUv;14| (11 . |copy|)
              |POLYVEC;truncated_mul_add;3Uv2IV;17|
              |POLYVEC;truncated_multiplication;2Uv2IUv;18| (|PositiveInteger|)
              (|NonNegativeInteger|) |POLYVEC;pow;UvPiNniIUv;19|
              |POLYVEC;differentiate;UvIUv;20|
              |POLYVEC;differentiate;UvNniIUv;21|)
           '#(|vector_combination| 16 |vector_add_mul| 27
              |truncated_multiplication| 37 |truncated_mul_add| 45 |pow| 54
              |mul_by_scalar| 62 |mul_by_binomial| 70 |mul| 85 |lcm| 92 |gcd|
              100 |eval_at| 115 |divide!| 123 |differentiate| 131 |degree| 144
              |copy_slice| 149 |copy_first| 157)
           'NIL
           (CONS (|makeByteWordVec2| 1 'NIL)
                 (CONS '#()
                       (CONS '#()
                             (|makeByteWordVec2| 34
                                                 '(1 11 0 8 12 2 8 0 0 0 20 1 7
                                                   0 0 27 7 0 6 7 8 7 8 8 8 8
                                                   19 6 0 6 7 7 8 8 8 8 14 4 0
                                                   7 7 7 8 8 29 5 0 6 7 7 7 8 8
                                                   28 4 0 7 7 30 31 8 32 4 0 6
                                                   7 8 8 8 17 4 0 6 7 8 8 8 15
                                                   3 0 6 7 8 8 16 3 0 7 7 7 8
                                                   25 4 0 7 23 8 8 8 26 3 0 7 7
                                                   7 8 22 4 0 7 23 8 8 8 24 4 0
                                                   8 7 8 8 8 13 4 0 6 7 7 7 8
                                                   21 2 0 7 7 8 33 3 0 7 7 31 8
                                                   34 1 0 8 7 18 4 0 6 7 7 8 8
                                                   10 3 0 6 7 7 8 9)))))
           '|lookupComplete|)) 

(MAKEPROP '|U32VectorPolynomialOperations| 'NILADIC T) 
