
(/VERSIONCHECK 2) 

(DEFUN |RMCAT2;map;MM1M2;1| (|f| |mat| $)
  (PROG (|ans| |k| #0=#:G1822 |i| #1=#:G1821 |l| #2=#:G1824 |j|
               #3=#:G1823)
    (RETURN
      (SEQ (LETT |ans|
                 (SPADCALL (QREFELT $ 6) (QREFELT $ 7)
                     (|spadConstant| $ 16) (QREFELT $ 19))
                 . #4=(|RMCAT2;map;MM1M2;1|))
           (SEQ (LETT |k| (SPADCALL |ans| (QREFELT $ 23)) . #4#)
                (LETT #0# (SPADCALL |ans| (QREFELT $ 24)) . #4#)
                (LETT |i| (SPADCALL |mat| (QREFELT $ 21)) . #4#)
                (LETT #1# (SPADCALL |mat| (QREFELT $ 22)) . #4#) G190
                (COND ((OR (> |i| #1#) (> |k| #0#)) #5=(GO G191)))
                (SEQ (EXIT (SEQ (LETT |l|
                                      (SPADCALL |ans| (QREFELT $ 27)) . #4#)
                                (LETT #2#
                                      (SPADCALL |ans| (QREFELT $ 28)) . #4#)
                                (LETT |j|
                                      (SPADCALL |mat| (QREFELT $ 25)) . #4#)
                                (LETT #3#
                                      (SPADCALL |mat| (QREFELT $ 26)) . #4#)
                                G190
                                (COND
                                  ((OR (> |j| #3#) (> |l| #2#)) #5#))
                                (SEQ (EXIT
                                      (SPADCALL |ans| |k| |l|
                                       (SPADCALL
                                        (SPADCALL |mat| |i| |j|
                                         (QREFELT $ 29))
                                        |f|)
                                       (QREFELT $ 30))))
                                (LETT |j|
                                      (PROG1 (+ |j| 1)
                                        (LETT |l| (+ |l| 1) . #4#)) . #4#)
                                #6=(GO G190) G191 (EXIT NIL))))
                (LETT |i|
                      (PROG1 (+ |i| 1) (LETT |k| (+ |k| 1) . #4#)) . #4#)
                #6# G191 (EXIT NIL))
           (EXIT |ans|))))) 

(DEFUN |RMCAT2;reduce;MM12R2;2| (|f| |mat| |ident| $)
  (PROG (|i| #0=#:G1830 |j| #1=#:G1831 |s|)
    (RETURN
      (SEQ (LETT |s| |ident| . #2=(|RMCAT2;reduce;MM12R2;2|))
           (SEQ (LETT |i| (SPADCALL |mat| (QREFELT $ 21)) . #2#)
                (LETT #0# (SPADCALL |mat| (QREFELT $ 22)) . #2#) G190
                (COND ((> |i| #0#) #3=(GO G191)))
                (SEQ (EXIT (SEQ (LETT |j|
                                      (SPADCALL |mat| (QREFELT $ 25)) . #2#)
                                (LETT #1#
                                      (SPADCALL |mat| (QREFELT $ 26)) . #2#)
                                G190 (COND ((> |j| #1#) #3#))
                                (SEQ (EXIT
                                      (LETT |s|
                                       (SPADCALL
                                        (SPADCALL |mat| |i| |j|
                                         (QREFELT $ 29))
                                        |s| |f|) . #2#)))
                                (LETT |j| (+ |j| 1) . #2#) #4=(GO G190)
                                G191 (EXIT NIL))))
                (LETT |i| (+ |i| 1) . #2#) #4# G191 (EXIT NIL))
           (EXIT |s|))))) 

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

(DEFUN |RectangularMatrixCategoryFunctions2;|
       (|#1| |#2| |#3| |#4| |#5| |#6| |#7| |#8| |#9| |#10|)
  (PROG (DV$1 DV$2 DV$3 DV$4 DV$5 DV$6 DV$7 DV$8 DV$9 DV$10 |dv$| $
              |pv$|)
    (RETURN
      (PROGN
        (LETT DV$1 (|devaluate| |#1|)
              . #0=(|RectangularMatrixCategoryFunctions2|))
        (LETT DV$2 (|devaluate| |#2|) . #0#)
        (LETT DV$3 (|devaluate| |#3|) . #0#)
        (LETT DV$4 (|devaluate| |#4|) . #0#)
        (LETT DV$5 (|devaluate| |#5|) . #0#)
        (LETT DV$6 (|devaluate| |#6|) . #0#)
        (LETT DV$7 (|devaluate| |#7|) . #0#)
        (LETT DV$8 (|devaluate| |#8|) . #0#)
        (LETT DV$9 (|devaluate| |#9|) . #0#)
        (LETT DV$10 (|devaluate| |#10|) . #0#)
        (LETT |dv$|
              (LIST '|RectangularMatrixCategoryFunctions2| DV$1 DV$2
                    DV$3 DV$4 DV$5 DV$6 DV$7 DV$8 DV$9 DV$10) . #0#)
        (LETT $ (GETREFV 35) . #0#)
        (QSETREFV $ 0 |dv$|)
        (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #0#))
        (|haddProp| |$ConstructorCache|
            '|RectangularMatrixCategoryFunctions2|
            (LIST DV$1 DV$2 DV$3 DV$4 DV$5 DV$6 DV$7 DV$8 DV$9 DV$10)
            (CONS 1 $))
        (|stuffDomainSlots| $)
        (QSETREFV $ 6 |#1|)
        (QSETREFV $ 7 |#2|)
        (QSETREFV $ 8 |#3|)
        (QSETREFV $ 9 |#4|)
        (QSETREFV $ 10 |#5|)
        (QSETREFV $ 11 |#6|)
        (QSETREFV $ 12 |#7|)
        (QSETREFV $ 13 |#8|)
        (QSETREFV $ 14 |#9|)
        (QSETREFV $ 15 |#10|)
        $)))) 

(MAKEPROP '|RectangularMatrixCategoryFunctions2| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|)
             (|local| |#3|) (|local| |#4|) (|local| |#5|)
             (|local| |#6|) (|local| |#7|) (|local| |#8|)
             (|local| |#9|) (|local| |#10|) (0 . |Zero|)
             (|NonNegativeInteger|) (|Matrix| 12) (4 . |new|)
             (|Integer|) (11 . |minRowIndex|) (16 . |maxRowIndex|)
             (21 . |minRowIndex|) (26 . |maxRowIndex|)
             (31 . |minColIndex|) (36 . |maxColIndex|)
             (41 . |minColIndex|) (46 . |maxColIndex|) (51 . |qelt|)
             (58 . |qsetelt!|) (|Mapping| 12 8) |RMCAT2;map;MM1M2;1|
             (|Mapping| 12 8 12) |RMCAT2;reduce;MM12R2;2|)
          '#(|reduce| 66 |map| 73) 'NIL
          (CONS (|makeByteWordVec2| 1 'NIL)
                (CONS '#()
                      (CONS '#()
                            (|makeByteWordVec2| 34
                                '(0 12 0 16 3 18 0 17 17 12 19 1 11 20
                                  0 21 1 11 20 0 22 1 15 20 0 23 1 15
                                  20 0 24 1 11 20 0 25 1 11 20 0 26 1
                                  15 20 0 27 1 15 20 0 28 3 11 8 0 20
                                  20 29 4 18 12 0 20 20 12 30 3 0 12 33
                                  11 12 34 2 0 15 31 11 32)))))
          '|lookupComplete|)) 
