
(/VERSIONCHECK 2) 

(DEFUN |PATTERN2;map;MPP;1| (|f| |p| $)
  (PROG (|sy| |wr| #1=#:G1869 |w| |xr| #2=#:G1857 |x| #3=#:G1887 #4=#:G1835
         #5=#:G1886 |l| #6=#:G1885 #7=#:G1884 |vr| #8=#:G1826 |v| #9=#:G1883
         #10=#:G1882 |ur| #11=#:G1810 |u| |r|)
    (RETURN
     (SEQ (LETT |r| (SPADCALL |p| (QREFELT $ 10)) . #12=(|PATTERN2;map;MPP;1|))
          (EXIT
           (COND
            ((QEQCAR |r| 0)
             (SPADCALL (SPADCALL (QCDR |r|) |f|) (QREFELT $ 12)))
            ((QEQCAR (LETT |u| (SPADCALL |p| (QREFELT $ 15)) . #12#) 0)
             (SEQ
              (LETT |ur|
                    (PROG2
                        (LETT #11# |u| . #12#)
                        (QCDR #11#)
                      (|check-union| (QEQCAR #11# 0)
                                     (|Record| (|:| |op| (|BasicOperator|))
                                               (|:| |arg|
                                                    (|List|
                                                     (|Pattern|
                                                      (QREFELT $ 6)))))
                                     #11#))
                    . #12#)
              (EXIT
               (SPADCALL (QCAR |ur|)
                         (PROGN
                          (LETT #10# NIL . #12#)
                          (SEQ (LETT |x| NIL . #12#)
                               (LETT #9# (QCDR |ur|) . #12#) G190
                               (COND
                                ((OR (ATOM #9#)
                                     (PROGN (LETT |x| (CAR #9#) . #12#) NIL))
                                 #13=(GO G191)))
                               (SEQ
                                (EXIT
                                 (LETT #10#
                                       (CONS (SPADCALL |f| |x| (QREFELT $ 17))
                                             #10#)
                                       . #12#)))
                               (LETT #9# (CDR #9#) . #12#) #14=(GO G190) G191
                               (EXIT (NREVERSE0 #10#))))
                         (QREFELT $ 20)))))
            ((QEQCAR (LETT |v| (SPADCALL |p| (QREFELT $ 23)) . #12#) 0)
             (SEQ
              (LETT |vr|
                    (PROG2
                        (LETT #8# |v| . #12#)
                        (QCDR #8#)
                      (|check-union| (QEQCAR #8# 0)
                                     (|Record|
                                      (|:| |num| (|Pattern| (QREFELT $ 6)))
                                      (|:| |den| (|Pattern| (QREFELT $ 6))))
                                     #8#))
                    . #12#)
              (EXIT
               (SPADCALL (SPADCALL |f| (QCAR |vr|) (QREFELT $ 17))
                         (SPADCALL |f| (QCDR |vr|) (QREFELT $ 17))
                         (QREFELT $ 24)))))
            ((QEQCAR (LETT |l| (SPADCALL |p| (QREFELT $ 26)) . #12#) 0)
             (SPADCALL (ELT $ 27)
                       (PROGN
                        (LETT #7# NIL . #12#)
                        (SEQ (LETT |x| NIL . #12#)
                             (LETT #6#
                                   (PROG2
                                       (LETT #4# |l| . #12#)
                                       (QCDR #4#)
                                     (|check-union| (QEQCAR #4# 0)
                                                    (|List|
                                                     (|Pattern| (QREFELT $ 6)))
                                                    #4#))
                                   . #12#)
                             G190
                             (COND
                              ((OR (ATOM #6#)
                                   (PROGN (LETT |x| (CAR #6#) . #12#) NIL))
                               #13#))
                             (SEQ
                              (EXIT
                               (LETT #7#
                                     (CONS (SPADCALL |f| |x| (QREFELT $ 17))
                                           #7#)
                                     . #12#)))
                             (LETT #6# (CDR #6#) . #12#) #14# G191
                             (EXIT (NREVERSE0 #7#))))
                       (QREFELT $ 30)))
            ((QEQCAR (LETT |l| (SPADCALL |p| (QREFELT $ 31)) . #12#) 0)
             (SPADCALL (ELT $ 32)
                       (PROGN
                        (LETT #5# NIL . #12#)
                        (SEQ (LETT |x| NIL . #12#)
                             (LETT #3#
                                   (PROG2
                                       (LETT #4# |l| . #12#)
                                       (QCDR #4#)
                                     (|check-union| (QEQCAR #4# 0)
                                                    (|List|
                                                     (|Pattern| (QREFELT $ 6)))
                                                    #4#))
                                   . #12#)
                             G190
                             (COND
                              ((OR (ATOM #3#)
                                   (PROGN (LETT |x| (CAR #3#) . #12#) NIL))
                               #13#))
                             (SEQ
                              (EXIT
                               (LETT #5#
                                     (CONS (SPADCALL |f| |x| (QREFELT $ 17))
                                           #5#)
                                     . #12#)))
                             (LETT #3# (CDR #3#) . #12#) #14# G191
                             (EXIT (NREVERSE0 #5#))))
                       (QREFELT $ 30)))
            ((QEQCAR (LETT |x| (SPADCALL |p| (QREFELT $ 35)) . #12#) 0)
             (SEQ
              (LETT |xr|
                    (PROG2
                        (LETT #2# |x| . #12#)
                        (QCDR #2#)
                      (|check-union| (QEQCAR #2# 0)
                                     (|Record|
                                      (|:| |val| (|Pattern| (QREFELT $ 6)))
                                      (|:| |exponent|
                                           (|Pattern| (QREFELT $ 6))))
                                     #2#))
                    . #12#)
              (EXIT
               (SPADCALL (SPADCALL |f| (QCAR |xr|) (QREFELT $ 17))
                         (SPADCALL |f| (QCDR |xr|) (QREFELT $ 17))
                         (QREFELT $ 36)))))
            ((QEQCAR (LETT |w| (SPADCALL |p| (QREFELT $ 39)) . #12#) 0)
             (SEQ
              (LETT |wr|
                    (PROG2
                        (LETT #1# |w| . #12#)
                        (QCDR #1#)
                      (|check-union| (QEQCAR #1# 0)
                                     (|Record|
                                      (|:| |val| (|Pattern| (QREFELT $ 6)))
                                      (|:| |exponent| (|NonNegativeInteger|)))
                                     #1#))
                    . #12#)
              (EXIT
               (SPADCALL (SPADCALL |f| (QCAR |wr|) (QREFELT $ 17)) (QCDR |wr|)
                         (QREFELT $ 41)))))
            ('T
             (SEQ (LETT |sy| (SPADCALL |p| (QREFELT $ 43)) . #12#)
                  (EXIT
                   (SPADCALL (SPADCALL |sy| (QREFELT $ 44))
                             (SPADCALL (SPADCALL |p| (QREFELT $ 46))
                                       (QREFELT $ 47))
                             (QREFELT $ 48))))))))))) 

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

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

(MAKEPROP '|PatternFunctions2| '|infovec|
          (LIST
           '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|)
              (|Union| 6 '"failed") (|Pattern| 6) (0 . |retractIfCan|)
              (|Pattern| 7) (5 . |coerce|)
              (|Record| (|:| |op| 18) (|:| |arg| 19)) (|Union| 13 '"failed")
              (10 . |isOp|) (|Mapping| 7 6) |PATTERN2;map;MPP;1|
              (|BasicOperator|) (|List| $) (15 . |elt|)
              (|Record| (|:| |num| $) (|:| |den| $)) (|Union| 21 '"failed")
              (21 . |isQuotient|) (26 . /) (|Union| 19 '"failed")
              (32 . |isPlus|) (37 . +) (|Mapping| 11 11 11) (|List| 11)
              (43 . |reduce|) (49 . |isTimes|) (54 . *)
              (|Record| (|:| |val| $) (|:| |exponent| $))
              (|Union| 33 '"failed") (60 . |isPower|) (65 . ^)
              (|Record| (|:| |val| $) (|:| |exponent| 40))
              (|Union| 37 '"failed") (71 . |isExpt|) (|NonNegativeInteger|)
              (76 . ^) (|Symbol|) (82 . |retract|) (87 . |coerce|)
              (|List| (|Any|)) (92 . |predicates|) (97 . |copy|)
              (102 . |setPredicates|))
           '#(|map| 108) 'NIL
           (CONS (|makeByteWordVec2| 1 'NIL)
                 (CONS '#()
                       (CONS '#()
                             (|makeByteWordVec2| 48
                                                 '(1 9 8 0 10 1 11 0 7 12 1 9
                                                   14 0 15 2 11 0 18 19 20 1 9
                                                   22 0 23 2 11 0 0 0 24 1 9 25
                                                   0 26 2 11 0 0 0 27 2 29 11
                                                   28 0 30 1 9 25 0 31 2 11 0 0
                                                   0 32 1 9 34 0 35 2 11 0 0 0
                                                   36 1 9 38 0 39 2 11 0 0 40
                                                   41 1 9 42 0 43 1 11 0 42 44
                                                   1 9 45 0 46 1 45 0 0 47 2 11
                                                   0 0 45 48 2 0 11 16 9
                                                   17)))))
           '|lookupComplete|)) 
