
(/VERSIONCHECK 2) 

(DEFUN |PMSYM;patternMatch;SP2Pmr;1| (|s| |p| |l| $)
  (PROG (|u| #0=#:G1824)
    (RETURN
      (SEQ (COND
             ((SPADCALL |p| (QREFELT $ 9))
              (SPADCALL |p| |s| |l| (QREFELT $ 12)))
             ((SPADCALL |p| (QREFELT $ 13))
              (SEQ (EXIT (SEQ (SEQ (LETT |u|
                                    (SPADCALL |p| (QREFELT $ 15))
                                    . #1=(|PMSYM;patternMatch;SP2Pmr;1|))
                                   (EXIT
                                    (COND
                                      ((QEQCAR |u| 0)
                                       (COND
                                         ((EQUAL (QCDR |u|) |s|)
                                          (PROGN
                                            (LETT #0# |l| . #1#)
                                            (GO #0#))))))))
                              (EXIT (SPADCALL (QREFELT $ 16)))))
                   #0# (EXIT #0#)))
             ('T (SPADCALL (QREFELT $ 16)))))))) 

(DEFUN |PatternMatchSymbol| (#0=#:G1828)
  (PROG ()
    (RETURN
      (PROG (#1=#:G1829)
        (RETURN
          (COND
            ((LETT #1#
                   (|lassocShiftWithFunction| (LIST (|devaluate| #0#))
                       (HGET |$ConstructorCache| '|PatternMatchSymbol|)
                       '|domainEqualList|)
                   . #2=(|PatternMatchSymbol|))
             (|CDRwithIncrement| #1#))
            ('T
             (UNWIND-PROTECT
               (PROG1 (|PatternMatchSymbol;| #0#) (LETT #1# T . #2#))
               (COND
                 ((NOT #1#)
                  (HREM |$ConstructorCache| '|PatternMatchSymbol|))))))))))) 

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

(MAKEPROP '|PatternMatchSymbol| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|Boolean|)
             (|Pattern| 6) (0 . |generic?|) (|Symbol|)
             (|PatternMatchResult| 6 10) (5 . |addMatch|)
             (12 . |constant?|) (|Union| 10 '"failed")
             (17 . |retractIfCan|) (22 . |failed|)
             |PMSYM;patternMatch;SP2Pmr;1|)
          '#(|patternMatch| 26) 'NIL
          (CONS (|makeByteWordVec2| 1 'NIL)
                (CONS '#()
                      (CONS '#()
                            (|makeByteWordVec2| 17
                                '(1 8 7 0 9 3 11 0 8 10 0 12 1 8 7 0 13
                                  1 8 14 0 15 0 11 0 16 3 0 11 10 8 11
                                  17)))))
          '|lookupComplete|)) 
