
(/VERSIONCHECK 2) 

(DEFUN |CARTEN2;reshape;LCtCt;1| (|l| |s| $)
  (SPADCALL |l| (QREFELT $ 12))) 

(DEFUN |CARTEN2;map;MCtCt;2| (|f| |s| $)
  (PROG (#0=#:G1820 |e| #1=#:G1821)
    (RETURN
      (SEQ (SPADCALL
               (PROGN
                 (LETT #0# NIL . #2=(|CARTEN2;map;MCtCt;2|))
                 (SEQ (LETT |e| NIL . #2#)
                      (LETT #1# (SPADCALL |s| (QREFELT $ 16)) . #2#)
                      G190
                      (COND
                        ((OR (ATOM #1#)
                             (PROGN (LETT |e| (CAR #1#) . #2#) NIL))
                         (GO G191)))
                      (SEQ (EXIT (LETT #0#
                                       (CONS (SPADCALL |e| |f|) #0#) . #2#)))
                      (LETT #1# (CDR #1#) . #2#) (GO G190) G191
                      (EXIT (NREVERSE0 #0#))))
               (QREFELT $ 12)))))) 

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

(DEFUN |CartesianTensorFunctions2;| (|#1| |#2| |#3| |#4|)
  (PROG (DV$1 DV$2 DV$3 DV$4 |dv$| $ |pv$|)
    (RETURN
      (PROGN
        (LETT DV$1 (|devaluate| |#1|)
              . #0=(|CartesianTensorFunctions2|))
        (LETT DV$2 (|devaluate| |#2|) . #0#)
        (LETT DV$3 (|devaluate| |#3|) . #0#)
        (LETT DV$4 (|devaluate| |#4|) . #0#)
        (LETT |dv$|
              (LIST '|CartesianTensorFunctions2| DV$1 DV$2 DV$3 DV$4) . #0#)
        (LETT $ (GETREFV 19) . #0#)
        (QSETREFV $ 0 |dv$|)
        (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #0#))
        (|haddProp| |$ConstructorCache| '|CartesianTensorFunctions2|
            (LIST DV$1 DV$2 DV$3 DV$4) (CONS 1 $))
        (|stuffDomainSlots| $)
        (QSETREFV $ 6 |#1|)
        (QSETREFV $ 7 |#2|)
        (QSETREFV $ 8 |#3|)
        (QSETREFV $ 9 |#4|)
        $)))) 

(MAKEPROP '|CartesianTensorFunctions2| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|)
             (|local| |#3|) (|local| |#4|) (|List| 9)
             (|CartesianTensor| 6 7 9) (0 . |unravel|)
             (|CartesianTensor| 6 7 8) |CARTEN2;reshape;LCtCt;1|
             (|List| 8) (5 . |ravel|) (|Mapping| 9 8)
             |CARTEN2;map;MCtCt;2|)
          '#(|reshape| 10 |map| 16) 'NIL
          (CONS (|makeByteWordVec2| 1 'NIL)
                (CONS '#()
                      (CONS '#()
                            (|makeByteWordVec2| 18
                                '(1 11 0 10 12 1 13 15 0 16 2 0 11 10
                                  13 14 2 0 11 17 13 18)))))
          '|lookupComplete|)) 
