
(/VERSIONCHECK 2) 

(DEFUN |MATCAT-;square?;SB;1| (|x| $)
  (EQL (SPADCALL |x| (QREFELT $ 11)) (SPADCALL |x| (QREFELT $ 12)))) 

(DEFUN |MATCAT-;diagonal?;SB;2| (|x| $)
  (PROG (#1=#:G9023 #2=#:G9026 #3=#:G9028 |j| #4=#:G9027 |i|)
    (RETURN
     (SEQ
      (EXIT
       (COND ((NULL (SPADCALL |x| (QREFELT $ 15))) 'NIL)
             ('T
              (SEQ
               (SEQ
                (LETT |i| (SPADCALL |x| (QREFELT $ 17))
                      . #5=(|MATCAT-;diagonal?;SB;2|))
                (LETT #4# (SPADCALL |x| (QREFELT $ 18)) . #5#) G190
                (COND ((> |i| #4#) #6=(GO G191)))
                (SEQ
                 (EXIT
                  (SEQ (LETT |j| (SPADCALL |x| (QREFELT $ 19)) . #5#)
                       (LETT #3# (SPADCALL |x| (QREFELT $ 20)) . #5#) G190
                       (COND ((> |j| #3#) #6#))
                       (SEQ
                        (EXIT
                         (COND
                          ((COND
                            ((EQL (- |j| (SPADCALL |x| (QREFELT $ 19)))
                                  (- |i| (SPADCALL |x| (QREFELT $ 17))))
                             'NIL)
                            ('T 'T))
                           (COND
                            ((NULL
                              (SPADCALL (SPADCALL |x| |i| |j| (QREFELT $ 21))
                                        (QREFELT $ 22)))
                             (PROGN
                              (LETT #1# (PROGN (LETT #2# 'NIL . #5#) (GO #2#))
                                    . #5#)
                              (GO #1#))))))))
                       (LETT |j| (+ |j| 1) . #5#) #7=(GO G190) G191
                       (EXIT NIL)))
                 #1# (EXIT #1#))
                (LETT |i| (+ |i| 1) . #5#) #7# G191 (EXIT NIL))
               (EXIT 'T)))))
      #2# (EXIT #2#))))) 

(DEFUN |MATCAT-;symmetric?;SB;3| (|x| $)
  (PROG (#1=#:G9031 #2=#:G9034 #3=#:G9036 |j| #4=#:G9035 |i| |mc| |mr| |nRows|)
    (RETURN
     (SEQ
      (EXIT
       (COND
        ((NULL
          (EQL
           (LETT |nRows| (SPADCALL |x| (QREFELT $ 11))
                 . #5=(|MATCAT-;symmetric?;SB;3|))
           (SPADCALL |x| (QREFELT $ 12))))
         'NIL)
        ('T
         (SEQ (LETT |mr| (SPADCALL |x| (QREFELT $ 17)) . #5#)
              (LETT |mc| (SPADCALL |x| (QREFELT $ 19)) . #5#)
              (SEQ (LETT |i| 0 . #5#) (LETT #4# (- |nRows| 1) . #5#) G190
                   (COND ((QSGREATERP |i| #4#) #6=(GO G191)))
                   (SEQ
                    (EXIT
                     (SEQ (LETT |j| (+ |i| 1) . #5#)
                          (LETT #3# (- |nRows| 1) . #5#) G190
                          (COND ((> |j| #3#) #6#))
                          (SEQ
                           (EXIT
                            (COND
                             ((NULL
                               (SPADCALL
                                (SPADCALL |x| (+ |mr| |i|) (+ |mc| |j|)
                                          (QREFELT $ 21))
                                (SPADCALL |x| (+ |mr| |j|) (+ |mc| |i|)
                                          (QREFELT $ 21))
                                (QREFELT $ 25)))
                              (PROGN
                               (LETT #1# (PROGN (LETT #2# 'NIL . #5#) (GO #2#))
                                     . #5#)
                               (GO #1#))))))
                          (LETT |j| (+ |j| 1) . #5#) #7=(GO G190) G191
                          (EXIT NIL)))
                    #1# (EXIT #1#))
                   (LETT |i| (QSADD1 |i|) . #5#) #7# G191 (EXIT NIL))
              (EXIT 'T)))))
      #2# (EXIT #2#))))) 

(DEFUN |MATCAT-;antisymmetric?;SB;4| (|x| $)
  (PROG (#1=#:G9039 #2=#:G9042 #3=#:G9044 |j| #4=#:G9043 |i| |mc| |mr| |nRows|)
    (RETURN
     (SEQ
      (EXIT
       (COND
        ((NULL
          (EQL
           (LETT |nRows| (SPADCALL |x| (QREFELT $ 11))
                 . #5=(|MATCAT-;antisymmetric?;SB;4|))
           (SPADCALL |x| (QREFELT $ 12))))
         'NIL)
        ('T
         (SEQ (LETT |mr| (SPADCALL |x| (QREFELT $ 17)) . #5#)
              (LETT |mc| (SPADCALL |x| (QREFELT $ 19)) . #5#)
              (SEQ (LETT |i| 0 . #5#) (LETT #4# (- |nRows| 1) . #5#) G190
                   (COND ((QSGREATERP |i| #4#) #6=(GO G191)))
                   (SEQ
                    (EXIT
                     (SEQ (LETT |j| |i| . #5#) (LETT #3# (- |nRows| 1) . #5#)
                          G190 (COND ((> |j| #3#) #6#))
                          (SEQ
                           (EXIT
                            (COND
                             ((NULL
                               (SPADCALL
                                (SPADCALL |x| (+ |mr| |i|) (+ |mc| |j|)
                                          (QREFELT $ 21))
                                (SPADCALL
                                 (SPADCALL |x| (+ |mr| |j|) (+ |mc| |i|)
                                           (QREFELT $ 21))
                                 (QREFELT $ 27))
                                (QREFELT $ 25)))
                              (PROGN
                               (LETT #1# (PROGN (LETT #2# 'NIL . #5#) (GO #2#))
                                     . #5#)
                               (GO #1#))))))
                          (LETT |j| (+ |j| 1) . #5#) #7=(GO G190) G191
                          (EXIT NIL)))
                    #1# (EXIT #1#))
                   (LETT |i| (QSADD1 |i|) . #5#) #7# G191 (EXIT NIL))
              (EXIT 'T)))))
      #2# (EXIT #2#))))) 

(DEFUN |MATCAT-;zero;2NniS;5| (|rows| |cols| $)
  (SPADCALL |rows| |cols| (|spadConstant| $ 29) (QREFELT $ 30))) 

(DEFUN |MATCAT-;matrix;LS;6| (|l| $)
  (PROG (#1=#:G9058 |j| #2=#:G9059 |r| #3=#:G9056 |i| #4=#:G9057 |ll| |ans|
         |rows| #5=#:G9055 |cols|)
    (RETURN
     (SEQ
      (COND ((NULL |l|) (SPADCALL 0 0 (|spadConstant| $ 29) (QREFELT $ 30)))
            (#6='T
             (SEQ (LETT |rows| 1 . #7=(|MATCAT-;matrix;LS;6|))
                  (LETT |cols| (LENGTH (|SPADfirst| |l|)) . #7#)
                  (EXIT
                   (COND
                    ((EQL |cols| 0)
                     (|error| "matrices with zero columns are not supported"))
                    (#6#
                     (SEQ
                      (SEQ (LETT |ll| NIL . #7#) (LETT #5# (CDR |l|) . #7#)
                           G190
                           (COND
                            ((OR (ATOM #5#)
                                 (PROGN (LETT |ll| (CAR #5#) . #7#) NIL))
                             #8=(GO G191)))
                           (SEQ
                            (EXIT
                             (COND
                              ((NULL (EQL |cols| (LENGTH |ll|)))
                               (|error| "matrix: rows of different lengths"))
                              ('T (LETT |rows| (+ |rows| 1) . #7#)))))
                           (LETT #5# (CDR #5#) . #7#) #9=(GO G190) G191
                           (EXIT NIL))
                      (LETT |ans|
                            (SPADCALL |rows| |cols| (|spadConstant| $ 29)
                                      (QREFELT $ 30))
                            . #7#)
                      (SEQ (LETT |ll| NIL . #7#) (LETT #4# |l| . #7#)
                           (LETT |i| (SPADCALL |ans| (QREFELT $ 17)) . #7#)
                           (LETT #3# (SPADCALL |ans| (QREFELT $ 18)) . #7#)
                           G190
                           (COND
                            ((OR (> |i| #3#) (ATOM #4#)
                                 (PROGN (LETT |ll| (CAR #4#) . #7#) NIL))
                             #8#))
                           (SEQ
                            (EXIT
                             (SEQ (LETT |r| NIL . #7#) (LETT #2# |ll| . #7#)
                                  (LETT |j| (SPADCALL |ans| (QREFELT $ 19))
                                        . #7#)
                                  (LETT #1# (SPADCALL |ans| (QREFELT $ 20))
                                        . #7#)
                                  G190
                                  (COND
                                   ((OR (> |j| #1#) (ATOM #2#)
                                        (PROGN (LETT |r| (CAR #2#) . #7#) NIL))
                                    #8#))
                                  (SEQ
                                   (EXIT
                                    (SPADCALL |ans| |i| |j| |r|
                                              (QREFELT $ 32))))
                                  (LETT |j|
                                        (PROG1 (+ |j| 1)
                                          (LETT #2# (CDR #2#) . #7#))
                                        . #7#)
                                  #9# G191 (EXIT NIL))))
                           (LETT |i|
                                 (PROG1 (+ |i| 1) (LETT #4# (CDR #4#) . #7#))
                                 . #7#)
                           #9# G191 (EXIT NIL))
                      (EXIT |ans|)))))))))))) 

(DEFUN |MATCAT-;scalarMatrix;NniRS;7| (|n| |r| $)
  (PROG (#1=#:G9063 |i| #2=#:G9064 |j| |ans|)
    (RETURN
     (SEQ
      (LETT |ans| (SPADCALL |n| |n| (QREFELT $ 35))
            . #3=(|MATCAT-;scalarMatrix;NniRS;7|))
      (SEQ (LETT |j| (SPADCALL |ans| (QREFELT $ 19)) . #3#)
           (LETT #2# (SPADCALL |ans| (QREFELT $ 20)) . #3#)
           (LETT |i| (SPADCALL |ans| (QREFELT $ 17)) . #3#)
           (LETT #1# (SPADCALL |ans| (QREFELT $ 18)) . #3#) G190
           (COND ((OR (> |i| #1#) (> |j| #2#)) (GO G191)))
           (SEQ (EXIT (SPADCALL |ans| |i| |j| |r| (QREFELT $ 32))))
           (LETT |i| (PROG1 (+ |i| 1) (LETT |j| (+ |j| 1) . #3#)) . #3#)
           (GO G190) G191 (EXIT NIL))
      (EXIT |ans|))))) 

(DEFUN |MATCAT-;diagonalMatrix;LS;8| (|l| $)
  (PROG (#1=#:G9068 |i| #2=#:G9069 |j| #3=#:G9070 |r| |ans| |n|)
    (RETURN
     (SEQ (LETT |n| (LENGTH |l|) . #4=(|MATCAT-;diagonalMatrix;LS;8|))
          (LETT |ans| (SPADCALL |n| |n| (QREFELT $ 35)) . #4#)
          (SEQ (LETT |r| NIL . #4#) (LETT #3# |l| . #4#)
               (LETT |j| (SPADCALL |ans| (QREFELT $ 19)) . #4#)
               (LETT #2# (SPADCALL |ans| (QREFELT $ 20)) . #4#)
               (LETT |i| (SPADCALL |ans| (QREFELT $ 17)) . #4#)
               (LETT #1# (SPADCALL |ans| (QREFELT $ 18)) . #4#) G190
               (COND
                ((OR (> |i| #1#) (> |j| #2#) (ATOM #3#)
                     (PROGN (LETT |r| (CAR #3#) . #4#) NIL))
                 (GO G191)))
               (SEQ (EXIT (SPADCALL |ans| |i| |j| |r| (QREFELT $ 32))))
               (LETT |i|
                     (PROG1 (+ |i| 1)
                       (LETT |j| (PROG1 (+ |j| 1) (LETT #3# (CDR #3#) . #4#))
                             . #4#))
                     . #4#)
               (GO G190) G191 (EXIT NIL))
          (EXIT |ans|))))) 

(DEFUN |MATCAT-;diagonalMatrix;LS;9| (|list| $)
  (PROG (|loC| |loR| |j| #1=#:G9082 |l| |i| #2=#:G9081 |k| |hiC| |hiR|
         #3=#:G9080 |mat| |ans| |cols| |rows| #4=#:G9079)
    (RETURN
     (SEQ (LETT |rows| 0 . #5=(|MATCAT-;diagonalMatrix;LS;9|))
          (LETT |cols| 0 . #5#)
          (SEQ (LETT |mat| NIL . #5#) (LETT #4# |list| . #5#) G190
               (COND
                ((OR (ATOM #4#) (PROGN (LETT |mat| (CAR #4#) . #5#) NIL))
                 #6=(GO G191)))
               (SEQ
                (LETT |rows| (+ |rows| (SPADCALL |mat| (QREFELT $ 11))) . #5#)
                (EXIT
                 (LETT |cols| (+ |cols| (SPADCALL |mat| (QREFELT $ 12)))
                       . #5#)))
               (LETT #4# (CDR #4#) . #5#) #7=(GO G190) G191 (EXIT NIL))
          (LETT |ans| (SPADCALL |rows| |cols| (QREFELT $ 35)) . #5#)
          (LETT |loR| (SPADCALL |ans| (QREFELT $ 17)) . #5#)
          (LETT |loC| (SPADCALL |ans| (QREFELT $ 19)) . #5#)
          (SEQ (LETT |mat| NIL . #5#) (LETT #3# |list| . #5#) G190
               (COND
                ((OR (ATOM #3#) (PROGN (LETT |mat| (CAR #3#) . #5#) NIL)) #6#))
               (SEQ
                (LETT |hiR| (- (+ |loR| (SPADCALL |mat| (QREFELT $ 11))) 1)
                      . #5#)
                (LETT |hiC| (- (+ |loC| (SPADCALL |mat| (QREFELT $ 11))) 1)
                      . #5#)
                (SEQ (LETT |k| (SPADCALL |mat| (QREFELT $ 17)) . #5#)
                     (LETT #2# (SPADCALL |mat| (QREFELT $ 18)) . #5#)
                     (LETT |i| |loR| . #5#) G190
                     (COND ((OR (> |i| |hiR|) (> |k| #2#)) #6#))
                     (SEQ
                      (EXIT
                       (SEQ (LETT |l| (SPADCALL |mat| (QREFELT $ 19)) . #5#)
                            (LETT #1# (SPADCALL |mat| (QREFELT $ 20)) . #5#)
                            (LETT |j| |loC| . #5#) G190
                            (COND ((OR (> |j| |hiC|) (> |l| #1#)) #6#))
                            (SEQ
                             (EXIT
                              (SPADCALL |ans| |i| |j|
                                        (SPADCALL |mat| |k| |l| (QREFELT $ 21))
                                        (QREFELT $ 32))))
                            (LETT |j|
                                  (PROG1 (+ |j| 1) (LETT |l| (+ |l| 1) . #5#))
                                  . #5#)
                            #7# G191 (EXIT NIL))))
                     (LETT |i| (PROG1 (+ |i| 1) (LETT |k| (+ |k| 1) . #5#))
                           . #5#)
                     #7# G191 (EXIT NIL))
                (LETT |loR| (+ |hiR| 1) . #5#)
                (EXIT (LETT |loC| (+ |hiC| 1) . #5#)))
               (LETT #3# (CDR #3#) . #5#) #7# G191 (EXIT NIL))
          (EXIT |ans|))))) 

(DEFUN |MATCAT-;coerce;ColS;10| (|v| $)
  (PROG (#1=#:G9086 |i| #2=#:G9087 |k| |one| |x|)
    (RETURN
     (SEQ
      (LETT |x|
            (SPADCALL (SPADCALL |v| (QREFELT $ 41)) 1 (|spadConstant| $ 29)
                      (QREFELT $ 30))
            . #3=(|MATCAT-;coerce;ColS;10|))
      (LETT |one| (SPADCALL |x| (QREFELT $ 19)) . #3#)
      (SEQ (LETT |k| (SPADCALL |v| (QREFELT $ 42)) . #3#)
           (LETT #2# (SPADCALL |v| (QREFELT $ 43)) . #3#)
           (LETT |i| (SPADCALL |x| (QREFELT $ 17)) . #3#)
           (LETT #1# (SPADCALL |x| (QREFELT $ 18)) . #3#) G190
           (COND ((OR (> |i| #1#) (> |k| #2#)) (GO G191)))
           (SEQ
            (EXIT
             (SPADCALL |x| |i| |one| (SPADCALL |v| |k| (QREFELT $ 44))
                       (QREFELT $ 32))))
           (LETT |i| (PROG1 (+ |i| 1) (LETT |k| (+ |k| 1) . #3#)) . #3#)
           (GO G190) G191 (EXIT NIL))
      (EXIT |x|))))) 

(DEFUN |MATCAT-;transpose;RowS;11| (|v| $)
  (PROG (#1=#:G9091 |j| #2=#:G9092 |k| |one| |x|)
    (RETURN
     (SEQ
      (LETT |x|
            (SPADCALL 1 (SPADCALL |v| (QREFELT $ 46)) (|spadConstant| $ 29)
                      (QREFELT $ 30))
            . #3=(|MATCAT-;transpose;RowS;11|))
      (LETT |one| (SPADCALL |x| (QREFELT $ 17)) . #3#)
      (SEQ (LETT |k| (SPADCALL |v| (QREFELT $ 47)) . #3#)
           (LETT #2# (SPADCALL |v| (QREFELT $ 48)) . #3#)
           (LETT |j| (SPADCALL |x| (QREFELT $ 19)) . #3#)
           (LETT #1# (SPADCALL |x| (QREFELT $ 20)) . #3#) G190
           (COND ((OR (> |j| #1#) (> |k| #2#)) (GO G191)))
           (SEQ
            (EXIT
             (SPADCALL |x| |one| |j| (SPADCALL |v| |k| (QREFELT $ 49))
                       (QREFELT $ 32))))
           (LETT |j| (PROG1 (+ |j| 1) (LETT |k| (+ |k| 1) . #3#)) . #3#)
           (GO G190) G191 (EXIT NIL))
      (EXIT |x|))))) 

(DEFUN |MATCAT-;transpose;2S;12| (|x| $)
  (PROG (#1=#:G9098 |j| #2=#:G9097 |i| |ans|)
    (RETURN
     (SEQ
      (LETT |ans|
            (SPADCALL (SPADCALL |x| (QREFELT $ 12))
                      (SPADCALL |x| (QREFELT $ 11)) (|spadConstant| $ 29)
                      (QREFELT $ 30))
            . #3=(|MATCAT-;transpose;2S;12|))
      (SEQ (LETT |i| (SPADCALL |ans| (QREFELT $ 17)) . #3#)
           (LETT #2# (SPADCALL |ans| (QREFELT $ 18)) . #3#) G190
           (COND ((> |i| #2#) #4=(GO G191)))
           (SEQ
            (EXIT
             (SEQ (LETT |j| (SPADCALL |ans| (QREFELT $ 19)) . #3#)
                  (LETT #1# (SPADCALL |ans| (QREFELT $ 20)) . #3#) G190
                  (COND ((> |j| #1#) #4#))
                  (SEQ
                   (EXIT
                    (SPADCALL |ans| |i| |j|
                              (SPADCALL |x| |j| |i| (QREFELT $ 21))
                              (QREFELT $ 32))))
                  (LETT |j| (+ |j| 1) . #3#) #5=(GO G190) G191 (EXIT NIL))))
           (LETT |i| (+ |i| 1) . #3#) #5# G191 (EXIT NIL))
      (EXIT |ans|))))) 

(DEFUN |MATCAT-;squareTop;2S;13| (|x| $)
  (PROG (#1=#:G9105 |j| #2=#:G9104 |i| |ans| |cols|)
    (RETURN
     (SEQ
      (COND
       ((< (SPADCALL |x| (QREFELT $ 11))
           (LETT |cols| (SPADCALL |x| (QREFELT $ 12))
                 . #3=(|MATCAT-;squareTop;2S;13|)))
        (|error| "squareTop: number of columns exceeds number of rows"))
       ('T
        (SEQ
         (LETT |ans|
               (SPADCALL |cols| |cols| (|spadConstant| $ 29) (QREFELT $ 30))
               . #3#)
         (SEQ (LETT |i| (SPADCALL |x| (QREFELT $ 17)) . #3#)
              (LETT #2# (- (+ (SPADCALL |x| (QREFELT $ 17)) |cols|) 1) . #3#)
              G190 (COND ((> |i| #2#) #4=(GO G191)))
              (SEQ
               (EXIT
                (SEQ (LETT |j| (SPADCALL |x| (QREFELT $ 19)) . #3#)
                     (LETT #1# (SPADCALL |x| (QREFELT $ 20)) . #3#) G190
                     (COND ((> |j| #1#) #4#))
                     (SEQ
                      (EXIT
                       (SPADCALL |ans| |i| |j|
                                 (SPADCALL |x| |i| |j| (QREFELT $ 21))
                                 (QREFELT $ 32))))
                     (LETT |j| (+ |j| 1) . #3#) #5=(GO G190) G191 (EXIT NIL))))
              (LETT |i| (+ |i| 1) . #3#) #5# G191 (EXIT NIL))
         (EXIT |ans|)))))))) 

(DEFUN |MATCAT-;horizConcat;3S;14| (|x| |y| $)
  (PROG (#1=#:G9116 |j| #2=#:G9115 |i| #3=#:G9114 #4=#:G9113 |ans| |cols|
         |rows|)
    (RETURN
     (SEQ
      (COND
       ((NULL
         (EQL
          (LETT |rows| (SPADCALL |x| (QREFELT $ 11))
                . #5=(|MATCAT-;horizConcat;3S;14|))
          (SPADCALL |y| (QREFELT $ 11))))
        (|error| "HConcat: matrices must have same number of rows"))
       ('T
        (SEQ
         (LETT |ans|
               (SPADCALL |rows|
                         (+ (LETT |cols| (SPADCALL |x| (QREFELT $ 12)) . #5#)
                            (SPADCALL |y| (QREFELT $ 12)))
                         (|spadConstant| $ 29) (QREFELT $ 30))
               . #5#)
         (SEQ (LETT |i| (SPADCALL |x| (QREFELT $ 17)) . #5#)
              (LETT #4# (SPADCALL |x| (QREFELT $ 18)) . #5#) G190
              (COND ((> |i| #4#) #6=(GO G191)))
              (SEQ
               (EXIT
                (SEQ (LETT |j| (SPADCALL |x| (QREFELT $ 19)) . #5#)
                     (LETT #3# (SPADCALL |x| (QREFELT $ 20)) . #5#) G190
                     (COND ((> |j| #3#) #6#))
                     (SEQ
                      (EXIT
                       (SPADCALL |ans| |i| |j|
                                 (SPADCALL |x| |i| |j| (QREFELT $ 21))
                                 (QREFELT $ 32))))
                     (LETT |j| (+ |j| 1) . #5#) #7=(GO G190) G191 (EXIT NIL))))
              (LETT |i| (+ |i| 1) . #5#) #7# G191 (EXIT NIL))
         (SEQ (LETT |i| (SPADCALL |y| (QREFELT $ 17)) . #5#)
              (LETT #2# (SPADCALL |y| (QREFELT $ 18)) . #5#) G190
              (COND ((> |i| #2#) #6#))
              (SEQ
               (EXIT
                (SEQ (LETT |j| (SPADCALL |y| (QREFELT $ 19)) . #5#)
                     (LETT #1# (SPADCALL |y| (QREFELT $ 20)) . #5#) G190
                     (COND ((> |j| #1#) #6#))
                     (SEQ
                      (EXIT
                       (SPADCALL |ans| |i| (+ |j| |cols|)
                                 (SPADCALL |y| |i| |j| (QREFELT $ 21))
                                 (QREFELT $ 32))))
                     (LETT |j| (+ |j| 1) . #5#) #7# G191 (EXIT NIL))))
              (LETT |i| (+ |i| 1) . #5#) #7# G191 (EXIT NIL))
         (EXIT |ans|)))))))) 

(DEFUN |MATCAT-;vertConcat;3S;15| (|x| |y| $)
  (PROG (#1=#:G9127 |j| #2=#:G9126 |i| #3=#:G9125 #4=#:G9124 |ans| |rows|
         |cols|)
    (RETURN
     (SEQ
      (COND
       ((NULL
         (EQL
          (LETT |cols| (SPADCALL |x| (QREFELT $ 12))
                . #5=(|MATCAT-;vertConcat;3S;15|))
          (SPADCALL |y| (QREFELT $ 12))))
        (|error| "HConcat: matrices must have same number of columns"))
       ('T
        (SEQ
         (LETT |ans|
               (SPADCALL
                (+ (LETT |rows| (SPADCALL |x| (QREFELT $ 11)) . #5#)
                   (SPADCALL |y| (QREFELT $ 11)))
                |cols| (|spadConstant| $ 29) (QREFELT $ 30))
               . #5#)
         (SEQ (LETT |i| (SPADCALL |x| (QREFELT $ 17)) . #5#)
              (LETT #4# (SPADCALL |x| (QREFELT $ 18)) . #5#) G190
              (COND ((> |i| #4#) #6=(GO G191)))
              (SEQ
               (EXIT
                (SEQ (LETT |j| (SPADCALL |x| (QREFELT $ 19)) . #5#)
                     (LETT #3# (SPADCALL |x| (QREFELT $ 20)) . #5#) G190
                     (COND ((> |j| #3#) #6#))
                     (SEQ
                      (EXIT
                       (SPADCALL |ans| |i| |j|
                                 (SPADCALL |x| |i| |j| (QREFELT $ 21))
                                 (QREFELT $ 32))))
                     (LETT |j| (+ |j| 1) . #5#) #7=(GO G190) G191 (EXIT NIL))))
              (LETT |i| (+ |i| 1) . #5#) #7# G191 (EXIT NIL))
         (SEQ (LETT |i| (SPADCALL |y| (QREFELT $ 17)) . #5#)
              (LETT #2# (SPADCALL |y| (QREFELT $ 18)) . #5#) G190
              (COND ((> |i| #2#) #6#))
              (SEQ
               (EXIT
                (SEQ (LETT |j| (SPADCALL |y| (QREFELT $ 19)) . #5#)
                     (LETT #1# (SPADCALL |y| (QREFELT $ 20)) . #5#) G190
                     (COND ((> |j| #1#) #6#))
                     (SEQ
                      (EXIT
                       (SPADCALL |ans| (+ |i| |rows|) |j|
                                 (SPADCALL |y| |i| |j| (QREFELT $ 21))
                                 (QREFELT $ 32))))
                     (LETT |j| (+ |j| 1) . #5#) #7# G191 (EXIT NIL))))
              (LETT |i| (+ |i| 1) . #5#) #7# G191 (EXIT NIL))
         (EXIT |ans|)))))))) 

(DEFUN |MATCAT-;listOfLists;SL;16| (|x| $)
  (PROG (|ll| |l| #1=#:G9134 |j| #2=#:G9133 |i|)
    (RETURN
     (SEQ (LETT |ll| NIL . #3=(|MATCAT-;listOfLists;SL;16|))
          (SEQ (LETT |i| (SPADCALL |x| (QREFELT $ 18)) . #3#)
               (LETT #2# (SPADCALL |x| (QREFELT $ 17)) . #3#) G190
               (COND ((< |i| #2#) #4=(GO G191)))
               (SEQ (LETT |l| NIL . #3#)
                    (SEQ (LETT |j| (SPADCALL |x| (QREFELT $ 20)) . #3#)
                         (LETT #1# (SPADCALL |x| (QREFELT $ 19)) . #3#) G190
                         (COND ((< |j| #1#) #4#))
                         (SEQ
                          (EXIT
                           (LETT |l|
                                 (CONS (SPADCALL |x| |i| |j| (QREFELT $ 21))
                                       |l|)
                                 . #3#)))
                         (LETT |j| (+ |j| -1) . #3#) #5=(GO G190) G191
                         (EXIT NIL))
                    (EXIT (LETT |ll| (CONS |l| |ll|) . #3#)))
               (LETT |i| (+ |i| -1) . #3#) #5# G191 (EXIT NIL))
          (EXIT |ll|))))) 

(DEFUN |MATCAT-;swapRows!;S2IS;17| (|x| |i1| |i2| $)
  (PROG (|r| #1=#:G9144 |j|)
    (RETURN
     (SEQ
      (COND
       ((OR (< |i1| (SPADCALL |x| (QREFELT $ 17)))
            (OR (< (SPADCALL |x| (QREFELT $ 18)) |i1|)
                (OR (< |i2| (SPADCALL |x| (QREFELT $ 17)))
                    (< (SPADCALL |x| (QREFELT $ 18)) |i2|))))
        (|error| "swapRows!: index out of range"))
       ('T
        (COND ((EQL |i1| |i2|) |x|)
              ('T
               (SEQ
                (SEQ
                 (LETT |j| (SPADCALL |x| (QREFELT $ 19))
                       . #2=(|MATCAT-;swapRows!;S2IS;17|))
                 (LETT #1# (SPADCALL |x| (QREFELT $ 20)) . #2#) G190
                 (COND ((> |j| #1#) (GO G191)))
                 (SEQ (LETT |r| (SPADCALL |x| |i1| |j| (QREFELT $ 21)) . #2#)
                      (SPADCALL |x| |i1| |j|
                                (SPADCALL |x| |i2| |j| (QREFELT $ 21))
                                (QREFELT $ 32))
                      (EXIT (SPADCALL |x| |i2| |j| |r| (QREFELT $ 32))))
                 (LETT |j| (+ |j| 1) . #2#) (GO G190) G191 (EXIT NIL))
                (EXIT |x|)))))))))) 

(DEFUN |MATCAT-;swapColumns!;S2IS;18| (|x| |j1| |j2| $)
  (PROG (|r| #1=#:G9154 |i|)
    (RETURN
     (SEQ
      (COND
       ((OR (< |j1| (SPADCALL |x| (QREFELT $ 19)))
            (OR (< (SPADCALL |x| (QREFELT $ 20)) |j1|)
                (OR (< |j2| (SPADCALL |x| (QREFELT $ 19)))
                    (< (SPADCALL |x| (QREFELT $ 20)) |j2|))))
        (|error| "swapColumns!: index out of range"))
       ('T
        (COND ((EQL |j1| |j2|) |x|)
              ('T
               (SEQ
                (SEQ
                 (LETT |i| (SPADCALL |x| (QREFELT $ 17))
                       . #2=(|MATCAT-;swapColumns!;S2IS;18|))
                 (LETT #1# (SPADCALL |x| (QREFELT $ 18)) . #2#) G190
                 (COND ((> |i| #1#) (GO G191)))
                 (SEQ (LETT |r| (SPADCALL |x| |i| |j1| (QREFELT $ 21)) . #2#)
                      (SPADCALL |x| |i| |j1|
                                (SPADCALL |x| |i| |j2| (QREFELT $ 21))
                                (QREFELT $ 32))
                      (EXIT (SPADCALL |x| |i| |j2| |r| (QREFELT $ 32))))
                 (LETT |i| (+ |i| 1) . #2#) (GO G190) G191 (EXIT NIL))
                (EXIT |x|)))))))))) 

(DEFUN |MATCAT-;elt;S2LS;19| (|x| |rowList| |colList| $)
  (PROG (#1=#:G9169 |ej| #2=#:G9170 |j| #3=#:G9167 |ei| #4=#:G9168 |i| |y|
         #5=#:G9160 #6=#:G9166 #7=#:G9157 #8=#:G9165)
    (RETURN
     (SEQ
      (SEQ
       (EXIT
        (SEQ (LETT |ei| NIL . #9=(|MATCAT-;elt;S2LS;19|))
             (LETT #8# |rowList| . #9#) G190
             (COND
              ((OR (ATOM #8#) (PROGN (LETT |ei| (CAR #8#) . #9#) NIL))
               #10=(GO G191)))
             (SEQ
              (EXIT
               (COND
                ((OR (< |ei| (SPADCALL |x| (QREFELT $ 17)))
                     (< (SPADCALL |x| (QREFELT $ 18)) |ei|))
                 (PROGN
                  (LETT #7# (|error| "elt: index out of range") . #9#)
                  (GO #7#))))))
             (LETT #8# (CDR #8#) . #9#) #11=(GO G190) G191 (EXIT NIL)))
       #7# (EXIT #7#))
      (SEQ
       (EXIT
        (SEQ (LETT |ej| NIL . #9#) (LETT #6# |colList| . #9#) G190
             (COND
              ((OR (ATOM #6#) (PROGN (LETT |ej| (CAR #6#) . #9#) NIL)) #10#))
             (SEQ
              (EXIT
               (COND
                ((OR (< |ej| (SPADCALL |x| (QREFELT $ 19)))
                     (< (SPADCALL |x| (QREFELT $ 20)) |ej|))
                 (PROGN
                  (LETT #5# (|error| "elt: index out of range") . #9#)
                  (GO #5#))))))
             (LETT #6# (CDR #6#) . #9#) #11# G191 (EXIT NIL)))
       #5# (EXIT #5#))
      (LETT |y|
            (SPADCALL (LENGTH |rowList|) (LENGTH |colList|)
                      (|spadConstant| $ 29) (QREFELT $ 30))
            . #9#)
      (SEQ (LETT |i| (SPADCALL |y| (QREFELT $ 17)) . #9#)
           (LETT #4# (SPADCALL |y| (QREFELT $ 18)) . #9#) (LETT |ei| NIL . #9#)
           (LETT #3# |rowList| . #9#) G190
           (COND
            ((OR (ATOM #3#) (PROGN (LETT |ei| (CAR #3#) . #9#) NIL)
                 (> |i| #4#))
             #10#))
           (SEQ
            (EXIT
             (SEQ (LETT |j| (SPADCALL |y| (QREFELT $ 19)) . #9#)
                  (LETT #2# (SPADCALL |y| (QREFELT $ 20)) . #9#)
                  (LETT |ej| NIL . #9#) (LETT #1# |colList| . #9#) G190
                  (COND
                   ((OR (ATOM #1#) (PROGN (LETT |ej| (CAR #1#) . #9#) NIL)
                        (> |j| #2#))
                    #10#))
                  (SEQ
                   (EXIT
                    (SPADCALL |y| |i| |j|
                              (SPADCALL |x| |ei| |ej| (QREFELT $ 21))
                              (QREFELT $ 32))))
                  (LETT #1# (PROG1 (CDR #1#) (LETT |j| (+ |j| 1) . #9#)) . #9#)
                  #11# G191 (EXIT NIL))))
           (LETT #3# (PROG1 (CDR #3#) (LETT |i| (+ |i| 1) . #9#)) . #9#) #11#
           G191 (EXIT NIL))
      (EXIT |y|))))) 

(DEFUN |MATCAT-;setelt;S2L2S;20| (|x| |rowList| |colList| |y| $)
  (PROG (#1=#:G9187 |ej| #2=#:G9188 |j| #3=#:G9185 |ei| #4=#:G9186 |i|
         #5=#:G9176 #6=#:G9184 #7=#:G9173 #8=#:G9183)
    (RETURN
     (SEQ
      (SEQ
       (EXIT
        (SEQ (LETT |ei| NIL . #9=(|MATCAT-;setelt;S2L2S;20|))
             (LETT #8# |rowList| . #9#) G190
             (COND
              ((OR (ATOM #8#) (PROGN (LETT |ei| (CAR #8#) . #9#) NIL))
               #10=(GO G191)))
             (SEQ
              (EXIT
               (COND
                ((OR (< |ei| (SPADCALL |x| (QREFELT $ 17)))
                     (< (SPADCALL |x| (QREFELT $ 18)) |ei|))
                 (PROGN
                  (LETT #7# (|error| "setelt: index out of range") . #9#)
                  (GO #7#))))))
             (LETT #8# (CDR #8#) . #9#) #11=(GO G190) G191 (EXIT NIL)))
       #7# (EXIT #7#))
      (SEQ
       (EXIT
        (SEQ (LETT |ej| NIL . #9#) (LETT #6# |colList| . #9#) G190
             (COND
              ((OR (ATOM #6#) (PROGN (LETT |ej| (CAR #6#) . #9#) NIL)) #10#))
             (SEQ
              (EXIT
               (COND
                ((OR (< |ej| (SPADCALL |x| (QREFELT $ 19)))
                     (< (SPADCALL |x| (QREFELT $ 20)) |ej|))
                 (PROGN
                  (LETT #5# (|error| "setelt: index out of range") . #9#)
                  (GO #5#))))))
             (LETT #6# (CDR #6#) . #9#) #11# G191 (EXIT NIL)))
       #5# (EXIT #5#))
      (COND
       ((EQL (LENGTH |rowList|) (SPADCALL |y| (QREFELT $ 11)))
        (COND
         ((NULL (EQL (LENGTH |colList|) (SPADCALL |y| (QREFELT $ 12))))
          (EXIT (|error| #12="setelt: matrix has bad dimensions")))))
       ('T (EXIT (|error| #12#))))
      (SEQ (LETT |i| (SPADCALL |y| (QREFELT $ 17)) . #9#)
           (LETT #4# (SPADCALL |y| (QREFELT $ 18)) . #9#) (LETT |ei| NIL . #9#)
           (LETT #3# |rowList| . #9#) G190
           (COND
            ((OR (ATOM #3#) (PROGN (LETT |ei| (CAR #3#) . #9#) NIL)
                 (> |i| #4#))
             #10#))
           (SEQ
            (EXIT
             (SEQ (LETT |j| (SPADCALL |y| (QREFELT $ 19)) . #9#)
                  (LETT #2# (SPADCALL |y| (QREFELT $ 20)) . #9#)
                  (LETT |ej| NIL . #9#) (LETT #1# |colList| . #9#) G190
                  (COND
                   ((OR (ATOM #1#) (PROGN (LETT |ej| (CAR #1#) . #9#) NIL)
                        (> |j| #2#))
                    #10#))
                  (SEQ
                   (EXIT
                    (SPADCALL |x| |ei| |ej|
                              (SPADCALL |y| |i| |j| (QREFELT $ 21))
                              (QREFELT $ 32))))
                  (LETT #1# (PROG1 (CDR #1#) (LETT |j| (+ |j| 1) . #9#)) . #9#)
                  #11# G191 (EXIT NIL))))
           (LETT #3# (PROG1 (CDR #3#) (LETT |i| (+ |i| 1) . #9#)) . #9#) #11#
           G191 (EXIT NIL))
      (EXIT |y|))))) 

(DEFUN |MATCAT-;subMatrix;S4IS;21| (|x| |i1| |i2| |j1| |j2| $)
  (PROG (#1=#:G9198 |j| |l| #2=#:G9197 |i| |k| |y| |cols| |rows|)
    (RETURN
     (SEQ
      (COND ((< |i2| |i1|) (|error| "subMatrix: bad row indices"))
            ((< |j2| |j1|) (|error| "subMatrix: bad column indices"))
            ('T
             (COND
              ((OR (< |i1| (SPADCALL |x| (QREFELT $ 17)))
                   (< (SPADCALL |x| (QREFELT $ 18)) |i2|))
               (|error| "subMatrix: index out of range"))
              ((OR (< |j1| (SPADCALL |x| (QREFELT $ 19)))
                   (< (SPADCALL |x| (QREFELT $ 20)) |j2|))
               (|error| "subMatrix: index out of range"))
              ('T
               (SEQ
                (LETT |rows| (+ (- |i2| |i1|) 1)
                      . #3=(|MATCAT-;subMatrix;S4IS;21|))
                (LETT |cols| (+ (- |j2| |j1|) 1) . #3#)
                (LETT |y|
                      (SPADCALL |rows| |cols| (|spadConstant| $ 29)
                                (QREFELT $ 30))
                      . #3#)
                (SEQ (LETT |k| |i1| . #3#)
                     (LETT |i| (SPADCALL |y| (QREFELT $ 17)) . #3#)
                     (LETT #2# (SPADCALL |y| (QREFELT $ 18)) . #3#) G190
                     (COND ((OR (> |i| #2#) (> |k| |i2|)) #4=(GO G191)))
                     (SEQ
                      (EXIT
                       (SEQ (LETT |l| |j1| . #3#)
                            (LETT |j| (SPADCALL |y| (QREFELT $ 19)) . #3#)
                            (LETT #1# (SPADCALL |y| (QREFELT $ 20)) . #3#) G190
                            (COND ((OR (> |j| #1#) (> |l| |j2|)) #4#))
                            (SEQ
                             (EXIT
                              (SPADCALL |y| |i| |j|
                                        (SPADCALL |x| |k| |l| (QREFELT $ 21))
                                        (QREFELT $ 32))))
                            (LETT |j|
                                  (PROG1 (+ |j| 1) (LETT |l| (+ |l| 1) . #3#))
                                  . #3#)
                            #5=(GO G190) G191 (EXIT NIL))))
                     (LETT |i| (PROG1 (+ |i| 1) (LETT |k| (+ |k| 1) . #3#))
                           . #3#)
                     #5# G191 (EXIT NIL))
                (EXIT |y|)))))))))) 

(DEFUN |MATCAT-;setsubMatrix!;S2I2S;22| (|x| |i1| |j1| |y| $)
  (PROG (#1=#:G9208 |j| |l| #2=#:G9207 |i| |k| |j2| |i2|)
    (RETURN
     (SEQ
      (LETT |i2| (- (+ |i1| (SPADCALL |y| (QREFELT $ 11))) 1)
            . #3=(|MATCAT-;setsubMatrix!;S2I2S;22|))
      (LETT |j2| (- (+ |j1| (SPADCALL |y| (QREFELT $ 12))) 1) . #3#)
      (COND
       ((OR (< |i1| (SPADCALL |x| (QREFELT $ 17)))
            (< (SPADCALL |x| (QREFELT $ 18)) |i2|))
        (EXIT
         (|error|
          "setsubMatrix!: inserted matrix too big, use subMatrix to restrict it"))))
      (COND
       ((OR (< |j1| (SPADCALL |x| (QREFELT $ 19)))
            (< (SPADCALL |x| (QREFELT $ 20)) |j2|))
        (EXIT
         (|error|
          "setsubMatrix!: inserted matrix too big, use subMatrix to restrict it"))))
      (SEQ (LETT |k| |i1| . #3#) (LETT |i| (SPADCALL |y| (QREFELT $ 17)) . #3#)
           (LETT #2# (SPADCALL |y| (QREFELT $ 18)) . #3#) G190
           (COND ((OR (> |i| #2#) (> |k| |i2|)) #4=(GO G191)))
           (SEQ
            (EXIT
             (SEQ (LETT |l| |j1| . #3#)
                  (LETT |j| (SPADCALL |y| (QREFELT $ 19)) . #3#)
                  (LETT #1# (SPADCALL |y| (QREFELT $ 20)) . #3#) G190
                  (COND ((OR (> |j| #1#) (> |l| |j2|)) #4#))
                  (SEQ
                   (EXIT
                    (SPADCALL |x| |k| |l| (SPADCALL |y| |i| |j| (QREFELT $ 21))
                              (QREFELT $ 32))))
                  (LETT |j| (PROG1 (+ |j| 1) (LETT |l| (+ |l| 1) . #3#)) . #3#)
                  #5=(GO G190) G191 (EXIT NIL))))
           (LETT |i| (PROG1 (+ |i| 1) (LETT |k| (+ |k| 1) . #3#)) . #3#) #5#
           G191 (EXIT NIL))
      (EXIT |x|))))) 

(DEFUN |MATCAT-;+;3S;23| (|x| |y| $)
  (PROG (#1=#:G9216 |j| #2=#:G9215 |i| |ans| |c| |r|)
    (RETURN
     (SEQ
      (COND
       ((EQL (LETT |r| (SPADCALL |x| (QREFELT $ 11)) . #3=(|MATCAT-;+;3S;23|))
             (SPADCALL |y| (QREFELT $ 11)))
        (COND
         ((NULL
           (EQL (LETT |c| (SPADCALL |x| (QREFELT $ 12)) . #3#)
                (SPADCALL |y| (QREFELT $ 12))))
          (EXIT (|error| #4="can't add matrices of different dimensions")))))
       ('T (EXIT (|error| #4#))))
      (LETT |ans| (SPADCALL |r| |c| (|spadConstant| $ 29) (QREFELT $ 30))
            . #3#)
      (SEQ (LETT |i| (SPADCALL |x| (QREFELT $ 17)) . #3#)
           (LETT #2# (SPADCALL |x| (QREFELT $ 18)) . #3#) G190
           (COND ((> |i| #2#) #5=(GO G191)))
           (SEQ
            (EXIT
             (SEQ (LETT |j| (SPADCALL |x| (QREFELT $ 19)) . #3#)
                  (LETT #1# (SPADCALL |x| (QREFELT $ 20)) . #3#) G190
                  (COND ((> |j| #1#) #5#))
                  (SEQ
                   (EXIT
                    (SPADCALL |ans| |i| |j|
                              (SPADCALL (SPADCALL |x| |i| |j| (QREFELT $ 21))
                                        (SPADCALL |y| |i| |j| (QREFELT $ 21))
                                        (QREFELT $ 63))
                              (QREFELT $ 32))))
                  (LETT |j| (+ |j| 1) . #3#) #6=(GO G190) G191 (EXIT NIL))))
           (LETT |i| (+ |i| 1) . #3#) #6# G191 (EXIT NIL))
      (EXIT |ans|))))) 

(DEFUN |MATCAT-;-;3S;24| (|x| |y| $)
  (PROG (#1=#:G9224 |j| #2=#:G9223 |i| |ans| |c| |r|)
    (RETURN
     (SEQ
      (COND
       ((EQL (LETT |r| (SPADCALL |x| (QREFELT $ 11)) . #3=(|MATCAT-;-;3S;24|))
             (SPADCALL |y| (QREFELT $ 11)))
        (COND
         ((NULL
           (EQL (LETT |c| (SPADCALL |x| (QREFELT $ 12)) . #3#)
                (SPADCALL |y| (QREFELT $ 12))))
          (EXIT
           (|error| #4="can't subtract matrices of different dimensions")))))
       ('T (EXIT (|error| #4#))))
      (LETT |ans| (SPADCALL |r| |c| (|spadConstant| $ 29) (QREFELT $ 30))
            . #3#)
      (SEQ (LETT |i| (SPADCALL |x| (QREFELT $ 17)) . #3#)
           (LETT #2# (SPADCALL |x| (QREFELT $ 18)) . #3#) G190
           (COND ((> |i| #2#) #5=(GO G191)))
           (SEQ
            (EXIT
             (SEQ (LETT |j| (SPADCALL |x| (QREFELT $ 19)) . #3#)
                  (LETT #1# (SPADCALL |x| (QREFELT $ 20)) . #3#) G190
                  (COND ((> |j| #1#) #5#))
                  (SEQ
                   (EXIT
                    (SPADCALL |ans| |i| |j|
                              (SPADCALL (SPADCALL |x| |i| |j| (QREFELT $ 21))
                                        (SPADCALL |y| |i| |j| (QREFELT $ 21))
                                        (QREFELT $ 65))
                              (QREFELT $ 32))))
                  (LETT |j| (+ |j| 1) . #3#) #6=(GO G190) G191 (EXIT NIL))))
           (LETT |i| (+ |i| 1) . #3#) #6# G191 (EXIT NIL))
      (EXIT |ans|))))) 

(DEFUN |MATCAT-;-;2S;25| (|x| $) (SPADCALL (ELT $ 27) |x| (QREFELT $ 68))) 

(DEFUN |MATCAT-;*;R2S;26| (|a| |x| $)
  (PROG ()
    (RETURN
     (SPADCALL (CONS #'|MATCAT-;*;R2S;26!0| (VECTOR $ |a|)) |x|
               (QREFELT $ 68))))) 

(DEFUN |MATCAT-;*;R2S;26!0| (|r1| $$)
  (PROG (|a| $)
    (LETT |a| (QREFELT $$ 1) . #1=(|MATCAT-;*;R2S;26|))
    (LETT $ (QREFELT $$ 0) . #1#)
    (RETURN (PROGN (SPADCALL |a| |r1| (QREFELT $ 70)))))) 

(DEFUN |MATCAT-;*;SRS;27| (|x| |a| $)
  (PROG ()
    (RETURN
     (SPADCALL (CONS #'|MATCAT-;*;SRS;27!0| (VECTOR $ |a|)) |x|
               (QREFELT $ 68))))) 

(DEFUN |MATCAT-;*;SRS;27!0| (|r1| $$)
  (PROG (|a| $)
    (LETT |a| (QREFELT $$ 1) . #1=(|MATCAT-;*;SRS;27|))
    (LETT $ (QREFELT $$ 0) . #1#)
    (RETURN (PROGN (SPADCALL |r1| |a| (QREFELT $ 70)))))) 

(DEFUN |MATCAT-;*;I2S;28| (|m| |x| $)
  (PROG ()
    (RETURN
     (SPADCALL (CONS #'|MATCAT-;*;I2S;28!0| (VECTOR $ |m|)) |x|
               (QREFELT $ 68))))) 

(DEFUN |MATCAT-;*;I2S;28!0| (|r1| $$)
  (PROG (|m| $)
    (LETT |m| (QREFELT $$ 1) . #1=(|MATCAT-;*;I2S;28|))
    (LETT $ (QREFELT $$ 0) . #1#)
    (RETURN (PROGN (SPADCALL |m| |r1| (QREFELT $ 73)))))) 

(DEFUN |MATCAT-;*;3S;29| (|x| |y| $)
  (PROG (|entry| |sum| #1=#:G9240 |k| #2=#:G9241 |l| #3=#:G9239 |j| #4=#:G9238
         |i| |ans|)
    (RETURN
     (SEQ
      (COND
       ((NULL
         (EQL (SPADCALL |x| (QREFELT $ 12)) (SPADCALL |y| (QREFELT $ 11))))
        (|error| "can't multiply matrices of incompatible dimensions"))
       ('T
        (SEQ
         (LETT |ans|
               (SPADCALL (SPADCALL |x| (QREFELT $ 11))
                         (SPADCALL |y| (QREFELT $ 12)) (|spadConstant| $ 29)
                         (QREFELT $ 30))
               . #5=(|MATCAT-;*;3S;29|))
         (SEQ (LETT |i| (SPADCALL |x| (QREFELT $ 17)) . #5#)
              (LETT #4# (SPADCALL |x| (QREFELT $ 18)) . #5#) G190
              (COND ((> |i| #4#) #6=(GO G191)))
              (SEQ
               (EXIT
                (SEQ (LETT |j| (SPADCALL |y| (QREFELT $ 19)) . #5#)
                     (LETT #3# (SPADCALL |y| (QREFELT $ 20)) . #5#) G190
                     (COND ((> |j| #3#) #6#))
                     (SEQ
                      (LETT |entry|
                            (SEQ (LETT |sum| (|spadConstant| $ 29) . #5#)
                                 (SEQ
                                  (LETT |l| (SPADCALL |x| (QREFELT $ 19))
                                        . #5#)
                                  (LETT #2# (SPADCALL |x| (QREFELT $ 20))
                                        . #5#)
                                  (LETT |k| (SPADCALL |y| (QREFELT $ 17))
                                        . #5#)
                                  (LETT #1# (SPADCALL |y| (QREFELT $ 18))
                                        . #5#)
                                  G190
                                  (COND ((OR (> |k| #1#) (> |l| #2#)) #6#))
                                  (SEQ
                                   (EXIT
                                    (LETT |sum|
                                          (SPADCALL |sum|
                                                    (SPADCALL
                                                     (SPADCALL |x| |i| |l|
                                                               (QREFELT $ 21))
                                                     (SPADCALL |y| |k| |j|
                                                               (QREFELT $ 21))
                                                     (QREFELT $ 70))
                                                    (QREFELT $ 63))
                                          . #5#)))
                                  (LETT |k|
                                        (PROG1 (+ |k| 1)
                                          (LETT |l| (+ |l| 1) . #5#))
                                        . #5#)
                                  #7=(GO G190) G191 (EXIT NIL))
                                 (EXIT |sum|))
                            . #5#)
                      (EXIT (SPADCALL |ans| |i| |j| |entry| (QREFELT $ 32))))
                     (LETT |j| (+ |j| 1) . #5#) #7# G191 (EXIT NIL))))
              (LETT |i| (+ |i| 1) . #5#) #7# G191 (EXIT NIL))
         (EXIT |ans|)))))))) 

(DEFUN |MATCAT-;positivePower| (|x| |n| $)
  (PROG (|y|)
    (RETURN
     (SEQ
      (COND ((EQL |n| 1) |x|)
            ((ODDP |n|)
             (SPADCALL |x| (|MATCAT-;positivePower| |x| (- |n| 1) $)
                       (QREFELT $ 76)))
            ('T
             (SEQ
              (LETT |y| (|MATCAT-;positivePower| |x| (QUOTIENT2 |n| 2) $)
                    |MATCAT-;positivePower|)
              (EXIT (SPADCALL |y| |y| (QREFELT $ 76)))))))))) 

(DEFUN |MATCAT-;^;SNniS;31| (|x| |n| $)
  (PROG (|nn|)
    (RETURN
     (COND
      ((NULL
        (EQL (LETT |nn| (SPADCALL |x| (QREFELT $ 11)) |MATCAT-;^;SNniS;31|)
             (SPADCALL |x| (QREFELT $ 12))))
       (|error| "^: matrix must be square"))
      ('T
       (COND ((ZEROP |n|) (SPADCALL |nn| (|spadConstant| $ 24) (QREFELT $ 77)))
             ('T (|MATCAT-;positivePower| |x| |n| $)))))))) 

(DEFUN |MATCAT-;*;S2Col;32| (|x| |v| $)
  (PROG (|sum| #1=#:G9256 |j| #2=#:G9257 |l| #3=#:G9254 |i| #4=#:G9255 |k| |w|)
    (RETURN
     (SEQ
      (COND
       ((NULL
         (EQL (SPADCALL |x| (QREFELT $ 12)) (SPADCALL |v| (QREFELT $ 41))))
        (|error| "can't multiply matrix A and vector v if #cols A ~= #v"))
       ('T
        (SEQ
         (LETT |w|
               (SPADCALL (SPADCALL |x| (QREFELT $ 11)) (|spadConstant| $ 29)
                         (QREFELT $ 79))
               . #5=(|MATCAT-;*;S2Col;32|))
         (SEQ (LETT |k| (SPADCALL |w| (QREFELT $ 42)) . #5#)
              (LETT #4# (SPADCALL |w| (QREFELT $ 43)) . #5#)
              (LETT |i| (SPADCALL |x| (QREFELT $ 17)) . #5#)
              (LETT #3# (SPADCALL |x| (QREFELT $ 18)) . #5#) G190
              (COND ((OR (> |i| #3#) (> |k| #4#)) #6=(GO G191)))
              (SEQ
               (EXIT
                (SPADCALL |w| |k|
                          (SEQ (LETT |sum| (|spadConstant| $ 29) . #5#)
                               (SEQ
                                (LETT |l| (SPADCALL |v| (QREFELT $ 42)) . #5#)
                                (LETT #2# (SPADCALL |v| (QREFELT $ 43)) . #5#)
                                (LETT |j| (SPADCALL |x| (QREFELT $ 19)) . #5#)
                                (LETT #1# (SPADCALL |x| (QREFELT $ 20)) . #5#)
                                G190 (COND ((OR (> |j| #1#) (> |l| #2#)) #6#))
                                (SEQ
                                 (EXIT
                                  (LETT |sum|
                                        (SPADCALL |sum|
                                                  (SPADCALL
                                                   (SPADCALL |x| |i| |j|
                                                             (QREFELT $ 21))
                                                   (SPADCALL |v| |l|
                                                             (QREFELT $ 80))
                                                   (QREFELT $ 70))
                                                  (QREFELT $ 63))
                                        . #5#)))
                                (LETT |j|
                                      (PROG1 (+ |j| 1)
                                        (LETT |l| (+ |l| 1) . #5#))
                                      . #5#)
                                #7=(GO G190) G191 (EXIT NIL))
                               (EXIT |sum|))
                          (QREFELT $ 81))))
              (LETT |i| (PROG1 (+ |i| 1) (LETT |k| (+ |k| 1) . #5#)) . #5#) #7#
              G191 (EXIT NIL))
         (EXIT |w|)))))))) 

(DEFUN |MATCAT-;*;RowSRow;33| (|v| |x| $)
  (PROG (|sum| #1=#:G9266 |i| #2=#:G9267 |l| #3=#:G9264 |j| #4=#:G9265 |k| |w|)
    (RETURN
     (SEQ
      (COND
       ((NULL
         (EQL (SPADCALL |x| (QREFELT $ 11)) (SPADCALL |v| (QREFELT $ 46))))
        (|error| "can't multiply vector v and matrix A if #rows A ~= #v"))
       ('T
        (SEQ
         (LETT |w|
               (SPADCALL (SPADCALL |x| (QREFELT $ 12)) (|spadConstant| $ 29)
                         (QREFELT $ 83))
               . #5=(|MATCAT-;*;RowSRow;33|))
         (SEQ (LETT |k| (SPADCALL |w| (QREFELT $ 47)) . #5#)
              (LETT #4# (SPADCALL |w| (QREFELT $ 48)) . #5#)
              (LETT |j| (SPADCALL |x| (QREFELT $ 19)) . #5#)
              (LETT #3# (SPADCALL |x| (QREFELT $ 20)) . #5#) G190
              (COND ((OR (> |j| #3#) (> |k| #4#)) #6=(GO G191)))
              (SEQ
               (EXIT
                (SPADCALL |w| |k|
                          (SEQ (LETT |sum| (|spadConstant| $ 29) . #5#)
                               (SEQ
                                (LETT |l| (SPADCALL |v| (QREFELT $ 47)) . #5#)
                                (LETT #2# (SPADCALL |v| (QREFELT $ 48)) . #5#)
                                (LETT |i| (SPADCALL |x| (QREFELT $ 17)) . #5#)
                                (LETT #1# (SPADCALL |x| (QREFELT $ 18)) . #5#)
                                G190 (COND ((OR (> |i| #1#) (> |l| #2#)) #6#))
                                (SEQ
                                 (EXIT
                                  (LETT |sum|
                                        (SPADCALL |sum|
                                                  (SPADCALL
                                                   (SPADCALL |x| |i| |j|
                                                             (QREFELT $ 21))
                                                   (SPADCALL |v| |l|
                                                             (QREFELT $ 84))
                                                   (QREFELT $ 70))
                                                  (QREFELT $ 63))
                                        . #5#)))
                                (LETT |i|
                                      (PROG1 (+ |i| 1)
                                        (LETT |l| (+ |l| 1) . #5#))
                                      . #5#)
                                #7=(GO G190) G191 (EXIT NIL))
                               (EXIT |sum|))
                          (QREFELT $ 85))))
              (LETT |j| (PROG1 (+ |j| 1) (LETT |k| (+ |k| 1) . #5#)) . #5#) #7#
              G191 (EXIT NIL))
         (EXIT |w|)))))))) 

(DEFUN |MATCAT-;columnSpace;SL;34| (M $)
  (PROG (|indRow| |basis| |k| |m| |n| M2)
    (RETURN
     (SEQ
      (LETT M2 (SPADCALL M (QREFELT $ 87)) . #1=(|MATCAT-;columnSpace;SL;34|))
      (LETT |basis| NIL . #1#) (LETT |n| (SPADCALL M (QREFELT $ 12)) . #1#)
      (LETT |m| (SPADCALL M (QREFELT $ 11)) . #1#) (LETT |indRow| 1 . #1#)
      (SEQ (LETT |k| 1 . #1#) G190
           (COND
            ((OR (QSGREATERP |k| |n|)
                 (NULL (COND ((< |m| |indRow|) 'NIL) ('T 'T))))
             (GO G191)))
           (SEQ
            (EXIT
             (COND
              ((NULL
                (SPADCALL (SPADCALL M2 |indRow| |k| (QREFELT $ 88))
                          (QREFELT $ 22)))
               (SEQ
                (LETT |basis| (CONS (SPADCALL M |k| (QREFELT $ 89)) |basis|)
                      . #1#)
                (EXIT (LETT |indRow| (+ |indRow| 1) . #1#)))))))
           (LETT |k| (QSADD1 |k|) . #1#) (GO G190) G191 (EXIT NIL))
      (EXIT (NREVERSE |basis|)))))) 

(DEFUN |MATCAT-;B0| (|n| $)
  (PROG (|j| #1=#:G9283 |i| #2=#:G9282)
    (RETURN
     (SEQ
      (SPADCALL
       (PROGN
        (LETT #2# NIL . #3=(|MATCAT-;B0|))
        (SEQ (LETT |i| 1 . #3#) G190 (COND ((QSGREATERP |i| |n|) #4=(GO G191)))
             (SEQ
              (EXIT
               (LETT #2#
                     (CONS
                      (PROGN
                       (LETT #1# NIL . #3#)
                       (SEQ (LETT |j| 1 . #3#) G190
                            (COND ((QSGREATERP |j| |n|) #4#))
                            (SEQ
                             (EXIT
                              (LETT #1#
                                    (CONS
                                     (COND
                                      ((EQL |i| (+ |j| 1))
                                       (COND
                                        ((ODDP |j|)
                                         (SPADCALL (|spadConstant| $ 24)
                                                   (QREFELT $ 27)))
                                        ((EQL |i| (- |j| 1))
                                         (COND
                                          ((ODDP |i|) (|spadConstant| $ 24))
                                          ('T (|spadConstant| $ 29))))
                                        ('T (|spadConstant| $ 29))))
                                      ((EQL |i| (- |j| 1))
                                       (COND ((ODDP |i|) (|spadConstant| $ 24))
                                             ('T (|spadConstant| $ 29))))
                                      ('T (|spadConstant| $ 29)))
                                     #1#)
                                    . #3#)))
                            (LETT |j| (QSADD1 |j|) . #3#) #5=(GO G190) G191
                            (EXIT (NREVERSE0 #1#))))
                      #2#)
                     . #3#)))
             (LETT |i| (QSADD1 |i|) . #3#) #5# G191 (EXIT (NREVERSE0 #2#))))
       (QREFELT $ 92)))))) 

(DEFUN |MATCAT-;PfChar| (A $)
  (PROG (|res| #1=#:G9295 |e| #2=#:G9296 |k| |c| |i| #3=#:G9294 |j| |g| C B
         #4=#:G9284 |d| |p| |s| |r| M |n|)
    (RETURN
     (SEQ (LETT |n| (SPADCALL A (QREFELT $ 11)) . #5=(|MATCAT-;PfChar|))
          (EXIT
           (COND
            ((EQL |n| 2)
             (SPADCALL (SPADCALL (|spadConstant| $ 24) 2 (QREFELT $ 94))
                       (SPADCALL (SPADCALL A 1 2 (QREFELT $ 21))
                                 (QREFELT $ 96))
                       (QREFELT $ 97)))
            ('T
             (SEQ (LETT M (SPADCALL A 3 |n| 3 |n| (QREFELT $ 98)) . #5#)
                  (LETT |r| (SPADCALL A 1 1 3 |n| (QREFELT $ 98)) . #5#)
                  (LETT |s| (SPADCALL A 3 |n| 2 2 (QREFELT $ 98)) . #5#)
                  (LETT |p| (|MATCAT-;PfChar| M $) . #5#)
                  (LETT |d| (SPADCALL |p| (QREFELT $ 99)) . #5#)
                  (LETT B
                        (|MATCAT-;B0|
                         (PROG1 (LETT #4# (- |n| 2) . #5#)
                           (|check-subtype| (> #4# 0) '(|PositiveInteger|)
                                            #4#))
                         $)
                        . #5#)
                  (LETT C (SPADCALL |r| B (QREFELT $ 76)) . #5#)
                  (LETT |g|
                        (LIST
                         (SPADCALL (SPADCALL C |s| (QREFELT $ 76)) 1 1
                                   (QREFELT $ 21))
                         (SPADCALL A 1 2 (QREFELT $ 21)) (|spadConstant| $ 24))
                        . #5#)
                  (COND
                   ((NULL (< |d| 4))
                    (SEQ (LETT B (SPADCALL M B (QREFELT $ 76)) . #5#)
                         (EXIT
                          (SEQ (LETT |i| 4 . #5#) G190
                               (COND ((> |i| |d|) #6=(GO G191)))
                               (SEQ
                                (LETT C (SPADCALL C B (QREFELT $ 76)) . #5#)
                                (EXIT
                                 (LETT |g|
                                       (CONS
                                        (SPADCALL
                                         (SPADCALL C |s| (QREFELT $ 76)) 1 1
                                         (QREFELT $ 21))
                                        |g|)
                                       . #5#)))
                               (LETT |i| (+ |i| 2) . #5#) #7=(GO G190) G191
                               (EXIT NIL))))))
                  (LETT |g| (NREVERSE |g|) . #5#)
                  (LETT |res| (|spadConstant| $ 100) . #5#)
                  (SEQ (LETT |j| 2 . #5#) (LETT #3# (+ |d| 2) . #5#)
                       (LETT |i| 0 . #5#) G190
                       (COND ((OR (> |i| |d|) (QSGREATERP |j| #3#)) #6#))
                       (SEQ (LETT |c| (SPADCALL |p| |i| (QREFELT $ 101)) . #5#)
                            (EXIT
                             (SEQ (LETT |k| 2 . #5#) (LETT #2# (- |d|) . #5#)
                                  (LETT |e| NIL . #5#)
                                  (LETT #1# (SPADCALL |g| |j| (QREFELT $ 102))
                                        . #5#)
                                  G190
                                  (COND
                                   ((OR (ATOM #1#)
                                        (PROGN (LETT |e| (CAR #1#) . #5#) NIL)
                                        (< |k| #2#))
                                    #6#))
                                  (SEQ
                                   (EXIT
                                    (LETT |res|
                                          (SPADCALL |res|
                                                    (SPADCALL
                                                     (SPADCALL |c| |e|
                                                               (QREFELT $ 70))
                                                     (+ |k| |i|)
                                                     (QREFELT $ 94))
                                                    (QREFELT $ 97))
                                          . #5#)))
                                  (LETT #1#
                                        (PROG1 (CDR #1#)
                                          (LETT |k| (+ |k| -2) . #5#))
                                        . #5#)
                                  #7# G191 (EXIT NIL))))
                       (LETT |i|
                             (PROG1 (+ |i| 2) (LETT |j| (QSADD1 |j|) . #5#))
                             . #5#)
                       #7# G191 (EXIT NIL))
                  (EXIT |res|))))))))) 

(DEFUN |MATCAT-;Pfaffian;SR;37| (A $)
  (COND
   ((SPADCALL A (QREFELT $ 103))
    (COND ((ODDP (SPADCALL A (QREFELT $ 11))) (|spadConstant| $ 29))
          (#1='T
           (SPADCALL (|MATCAT-;PfChar| A $) (|spadConstant| $ 29)
                     (QREFELT $ 104)))))
   (#1# (|error| "Pfaffian: only defined for antisymmetric square matrices!")))) 

(DEFUN |MATCAT-;exquo;SRU;38| (|x| |a| $)
  (PROG (|entry| #1=#:G9314 |r| #2=#:G9316 |j| #3=#:G9315 |i| |ans|)
    (RETURN
     (SEQ
      (EXIT
       (SEQ
        (LETT |ans|
              (SPADCALL (SPADCALL |x| (QREFELT $ 11))
                        (SPADCALL |x| (QREFELT $ 12)) (|spadConstant| $ 29)
                        (QREFELT $ 30))
              . #4=(|MATCAT-;exquo;SRU;38|))
        (SEQ (LETT |i| (SPADCALL |x| (QREFELT $ 17)) . #4#)
             (LETT #3# (SPADCALL |x| (QREFELT $ 18)) . #4#) G190
             (COND ((> |i| #3#) #5=(GO G191)))
             (SEQ
              (EXIT
               (SEQ (LETT |j| (SPADCALL |x| (QREFELT $ 19)) . #4#)
                    (LETT #2# (SPADCALL |x| (QREFELT $ 20)) . #4#) G190
                    (COND ((> |j| #2#) #5#))
                    (SEQ
                     (LETT |entry|
                           (SEQ
                            (LETT |r|
                                  (SPADCALL
                                   (SPADCALL |x| |i| |j| (QREFELT $ 21)) |a|
                                   (QREFELT $ 107))
                                  . #4#)
                            (EXIT
                             (COND
                              ((QEQCAR |r| 1)
                               (PROGN
                                (LETT #1# (CONS 1 "failed") . #4#)
                                (GO #1#)))
                              ('T (QCDR |r|)))))
                           . #4#)
                     (EXIT (SPADCALL |ans| |i| |j| |entry| (QREFELT $ 32))))
                    (LETT |j| (+ |j| 1) . #4#) #6=(GO G190) G191 (EXIT NIL))))
             (LETT |i| (+ |i| 1) . #4#) #6# G191 (EXIT NIL))
        (EXIT (CONS 0 |ans|))))
      #1# (EXIT #1#))))) 

(DEFUN |MATCAT-;/;SRS;39| (|x| |r| $)
  (PROG ()
    (RETURN
     (SPADCALL (CONS #'|MATCAT-;/;SRS;39!0| (VECTOR $ |r|)) |x|
               (QREFELT $ 68))))) 

(DEFUN |MATCAT-;/;SRS;39!0| (|r1| $$)
  (PROG (|r| $)
    (LETT |r| (QREFELT $$ 1) . #1=(|MATCAT-;/;SRS;39|))
    (LETT $ (QREFELT $$ 0) . #1#)
    (RETURN (PROGN (SPADCALL |r1| |r| (QREFELT $ 109)))))) 

(DEFUN |MATCAT-;^;SIS;40| (|x| |n| $)
  (PROG (|xInv| |nn|)
    (RETURN
     (SEQ
      (COND
       ((NULL
         (EQL
          (LETT |nn| (SPADCALL |x| (QREFELT $ 11)) . #1=(|MATCAT-;^;SIS;40|))
          (SPADCALL |x| (QREFELT $ 12))))
        (|error| "^: matrix must be square"))
       ('T
        (COND
         ((ZEROP |n|) (SPADCALL |nn| (|spadConstant| $ 24) (QREFELT $ 77)))
         ((SPADCALL |n| (QREFELT $ 111)) (|MATCAT-;positivePower| |x| |n| $))
         (#2='T
          (SEQ (LETT |xInv| (SPADCALL |x| (QREFELT $ 112)) . #1#)
               (EXIT
                (COND
                 ((QEQCAR |xInv| 1) (|error| "^: matrix must be invertible"))
                 (#2#
                  (|MATCAT-;positivePower| (QCDR |xInv|) (- |n|) $))))))))))))) 

(DEFUN |MatrixCategory&| (|#1| |#2| |#3| |#4|)
  (PROG (|pv$| $ |dv$| DV$4 DV$3 DV$2 DV$1)
    (RETURN
     (PROGN
      (LETT DV$1 (|devaluate| |#1|) . #1=(|MatrixCategory&|))
      (LETT DV$2 (|devaluate| |#2|) . #1#)
      (LETT DV$3 (|devaluate| |#3|) . #1#)
      (LETT DV$4 (|devaluate| |#4|) . #1#)
      (LETT |dv$| (LIST '|MatrixCategory&| DV$1 DV$2 DV$3 DV$4) . #1#)
      (LETT $ (GETREFV 115) . #1#)
      (QSETREFV $ 0 |dv$|)
      (QSETREFV $ 3
                (LETT |pv$|
                      (|buildPredVector| 0 0
                                         (LIST
                                          (|HasCategory| |#2|
                                                         '(|CommutativeRing|))
                                          (|HasCategory| |#2|
                                                         '(|EuclideanDomain|))
                                          (|HasCategory| |#2| '(|Field|))
                                          (|HasCategory| |#2|
                                                         '(|IntegralDomain|))))
                      . #1#))
      (|stuffDomainSlots| $)
      (QSETREFV $ 6 |#1|)
      (QSETREFV $ 7 |#2|)
      (QSETREFV $ 8 |#3|)
      (QSETREFV $ 9 |#4|)
      (COND
       ((|HasCategory| |#4| '(|shallowlyMutable|))
        (QSETREFV $ 82 (CONS (|dispatchFunction| |MATCAT-;*;S2Col;32|) $))))
      (COND
       ((|HasCategory| |#3| '(|shallowlyMutable|))
        (QSETREFV $ 86 (CONS (|dispatchFunction| |MATCAT-;*;RowSRow;33|) $))))
      (COND
       ((|testBitVector| |pv$| 2)
        (QSETREFV $ 91
                  (CONS (|dispatchFunction| |MATCAT-;columnSpace;SL;34|) $))))
      (COND
       ((|testBitVector| |pv$| 1)
        (PROGN
         (QSETREFV $ 105
                   (CONS (|dispatchFunction| |MATCAT-;Pfaffian;SR;37|) $)))))
      (COND
       ((|testBitVector| |pv$| 4)
        (QSETREFV $ 108 (CONS (|dispatchFunction| |MATCAT-;exquo;SRU;38|) $))))
      (COND
       ((|testBitVector| |pv$| 3)
        (PROGN
         (QSETREFV $ 110 (CONS (|dispatchFunction| |MATCAT-;/;SRS;39|) $))
         (QSETREFV $ 113 (CONS (|dispatchFunction| |MATCAT-;^;SIS;40|) $)))))
      $)))) 

(MAKEPROP '|MatrixCategory&| '|infovec|
          (LIST
           '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|)
              (|local| |#3|) (|local| |#4|) (|NonNegativeInteger|)
              (0 . |nrows|) (5 . |ncols|) (|Boolean|) |MATCAT-;square?;SB;1|
              (10 . |square?|) (|Integer|) (15 . |minRowIndex|)
              (20 . |maxRowIndex|) (25 . |minColIndex|) (30 . |maxColIndex|)
              (35 . |qelt|) (42 . |zero?|) |MATCAT-;diagonal?;SB;2|
              (47 . |One|) (51 . =) |MATCAT-;symmetric?;SB;3| (57 . -)
              |MATCAT-;antisymmetric?;SB;4| (62 . |Zero|) (66 . |new|)
              |MATCAT-;zero;2NniS;5| (73 . |qsetelt!|) (|List| 37)
              |MATCAT-;matrix;LS;6| (81 . |zero|)
              |MATCAT-;scalarMatrix;NniRS;7| (|List| 7)
              |MATCAT-;diagonalMatrix;LS;8| (|List| $)
              |MATCAT-;diagonalMatrix;LS;9| (87 . |#|) (92 . |minIndex|)
              (97 . |maxIndex|) (102 . |qelt|) |MATCAT-;coerce;ColS;10|
              (108 . |#|) (113 . |minIndex|) (118 . |maxIndex|) (123 . |qelt|)
              |MATCAT-;transpose;RowS;11| |MATCAT-;transpose;2S;12|
              |MATCAT-;squareTop;2S;13| |MATCAT-;horizConcat;3S;14|
              |MATCAT-;vertConcat;3S;15| |MATCAT-;listOfLists;SL;16|
              |MATCAT-;swapRows!;S2IS;17| |MATCAT-;swapColumns!;S2IS;18|
              (|List| 16) |MATCAT-;elt;S2LS;19| |MATCAT-;setelt;S2L2S;20|
              |MATCAT-;subMatrix;S4IS;21| |MATCAT-;setsubMatrix!;S2I2S;22|
              (129 . +) |MATCAT-;+;3S;23| (135 . -) |MATCAT-;-;3S;24|
              (|Mapping| 7 7) (141 . |map|) |MATCAT-;-;2S;25| (147 . *)
              |MATCAT-;*;R2S;26| |MATCAT-;*;SRS;27| (153 . *)
              |MATCAT-;*;I2S;28| |MATCAT-;*;3S;29| (159 . *)
              (165 . |scalarMatrix|) |MATCAT-;^;SNniS;31| (171 . |new|)
              (177 . |elt|) (183 . |setelt|) (190 . *) (196 . |new|)
              (202 . |elt|) (208 . |setelt|) (215 . *) (221 . |rowEchelon|)
              (226 . |elt|) (233 . |column|) (|List| 9) (239 . |columnSpace|)
              (244 . |matrix|) (|SparseUnivariatePolynomial| 7)
              (249 . |monomial|) (255 . |One|) (259 . |coerce|) (264 . +)
              (270 . |subMatrix|) (279 . |degree|) (284 . |Zero|)
              (288 . |coefficient|) (294 . |first|) (300 . |antisymmetric?|)
              (305 . |elt|) (311 . |Pfaffian|) (|Union| $ '"failed")
              (316 . |exquo|) (322 . |exquo|) (328 . /) (334 . /)
              (340 . |positive?|) (345 . |inverse|) (350 . ^) (|OutputForm|))
           '#(|zero| 356 |vertConcat| 362 |transpose| 368 |symmetric?| 378
              |swapRows!| 383 |swapColumns!| 390 |subMatrix| 397 |squareTop|
              406 |square?| 411 |setsubMatrix!| 416 |setelt| 424 |scalarMatrix|
              432 |matrix| 438 |listOfLists| 443 |horizConcat| 448 |exquo| 454
              |elt| 460 |diagonalMatrix| 467 |diagonal?| 477 |columnSpace| 482
              |coerce| 487 |antisymmetric?| 492 ^ 497 |Pfaffian| 509 / 514 -
              520 + 531 * 537)
           'NIL
           (CONS (|makeByteWordVec2| 1 'NIL)
                 (CONS '#()
                       (CONS '#()
                             (|makeByteWordVec2| 113
                                                 '(1 6 10 0 11 1 6 10 0 12 1 6
                                                   13 0 15 1 6 16 0 17 1 6 16 0
                                                   18 1 6 16 0 19 1 6 16 0 20 3
                                                   6 7 0 16 16 21 1 7 13 0 22 0
                                                   7 0 24 2 7 13 0 0 25 1 7 0 0
                                                   27 0 7 0 29 3 6 0 10 10 7 30
                                                   4 6 7 0 16 16 7 32 2 6 0 10
                                                   10 35 1 9 10 0 41 1 9 16 0
                                                   42 1 9 16 0 43 2 9 7 0 16 44
                                                   1 8 10 0 46 1 8 16 0 47 1 8
                                                   16 0 48 2 8 7 0 16 49 2 7 0
                                                   0 0 63 2 7 0 0 0 65 2 6 0 67
                                                   0 68 2 7 0 0 0 70 2 7 0 16 0
                                                   73 2 6 0 0 0 76 2 6 0 10 7
                                                   77 2 9 0 10 7 79 2 9 7 0 16
                                                   80 3 9 7 0 16 7 81 2 0 9 0 9
                                                   82 2 8 0 10 7 83 2 8 7 0 16
                                                   84 3 8 7 0 16 7 85 2 0 8 8 0
                                                   86 1 6 0 0 87 3 6 7 0 16 16
                                                   88 2 6 9 0 16 89 1 0 90 0 91
                                                   1 6 0 33 92 2 93 0 7 10 94 0
                                                   93 0 95 1 93 0 7 96 2 93 0 0
                                                   0 97 5 6 0 0 16 16 16 16 98
                                                   1 93 10 0 99 0 93 0 100 2 93
                                                   7 0 10 101 2 37 0 0 10 102 1
                                                   6 13 0 103 2 93 7 0 7 104 1
                                                   0 7 0 105 2 7 106 0 0 107 2
                                                   0 106 0 7 108 2 7 0 0 0 109
                                                   2 0 0 0 7 110 1 16 13 0 111
                                                   1 6 106 0 112 2 0 0 0 16 113
                                                   2 0 0 10 10 31 2 0 0 0 0 54
                                                   1 0 0 8 50 1 0 0 0 51 1 0 13
                                                   0 26 3 0 0 0 16 16 56 3 0 0
                                                   0 16 16 57 5 0 0 0 16 16 16
                                                   16 61 1 0 0 0 52 1 0 13 0 14
                                                   4 0 0 0 16 16 0 62 4 0 0 0
                                                   58 58 0 60 2 0 0 10 7 36 1 0
                                                   0 33 34 1 0 33 0 55 2 0 0 0
                                                   0 53 2 0 106 0 7 108 3 0 0 0
                                                   58 58 59 1 0 0 37 38 1 0 0
                                                   39 40 1 0 13 0 23 1 0 90 0
                                                   91 1 0 0 9 45 1 0 13 0 28 2
                                                   0 0 0 16 113 2 0 0 0 10 78 1
                                                   0 7 0 105 2 0 0 0 7 110 1 0
                                                   0 0 69 2 0 0 0 0 66 2 0 0 0
                                                   0 64 2 0 8 8 0 86 2 0 9 0 9
                                                   82 2 0 0 0 7 72 2 0 0 16 0
                                                   74 2 0 0 0 0 75 2 0 0 7 0
                                                   71)))))
           '|lookupComplete|)) 
