
(/VERSIONCHECK 2) 

(PUT '|SPLNODE;rep| '|SPADreplace| '(XLAM (|n|) |n|)) 

(DEFUN |SPLNODE;rep| (|n| $) |n|) 

(PUT '|SPLNODE;per| '|SPADreplace| '(XLAM (|r|) |r|)) 

(DEFUN |SPLNODE;per| (|r| $) |r|) 

(DEFUN |SPLNODE;empty;$;3| ($)
  (|SPLNODE;per|
      (VECTOR (SPADCALL (QREFELT $ 8)) (SPADCALL (QREFELT $ 9)) 'NIL)
      $)) 

(DEFUN |SPLNODE;empty?;$B;4| (|n| $)
  (COND
    ((SPADCALL (QVELT (|SPLNODE;rep| |n| $) 0) (QREFELT $ 12))
     (SPADCALL (QVELT (|SPLNODE;rep| |n| $) 1) (QREFELT $ 13)))
    ('T 'NIL))) 

(DEFUN |SPLNODE;value;$V;5| (|n| $) (QVELT (|SPLNODE;rep| |n| $) 0)) 

(DEFUN |SPLNODE;condition;$C;6| (|n| $)
  (QVELT (|SPLNODE;rep| |n| $) 1)) 

(DEFUN |SPLNODE;status;$B;7| (|n| $) (QVELT (|SPLNODE;rep| |n| $) 2)) 

(DEFUN |SPLNODE;construct;VCB$;8| (|v| |t| |b| $)
  (|SPLNODE;per| (VECTOR |v| |t| |b|) $)) 

(DEFUN |SPLNODE;construct;VC$;9| (|v| |t| $)
  (SPADCALL |v| |t| 'NIL (QREFELT $ 18))) 

(DEFUN |SPLNODE;construct;R$;10| (|vt| $)
  (SPADCALL (QCAR |vt|) (QCDR |vt|) (QREFELT $ 19))) 

(DEFUN |SPLNODE;construct;LL;11| (|lvt| $)
  (PROG (#0=#:G1841 |vt| #1=#:G1842)
    (RETURN
      (SEQ (PROGN
             (LETT #0# NIL . #2=(|SPLNODE;construct;LL;11|))
             (SEQ (LETT |vt| NIL . #2#) (LETT #1# |lvt| . #2#) G190
                  (COND
                    ((OR (ATOM #1#)
                         (PROGN (LETT |vt| (CAR #1#) . #2#) NIL))
                     (GO G191)))
                  (SEQ (EXIT (LETT #0#
                                   (CONS (SPADCALL |vt| (QREFELT $ 21))
                                    #0#) . #2#)))
                  (LETT #1# (CDR #1#) . #2#) (GO G190) G191
                  (EXIT (NREVERSE0 #0#)))))))) 

(DEFUN |SPLNODE;construct;VLL;12| (|v| |lt| $)
  (PROG (#0=#:G1845 |t| #1=#:G1846)
    (RETURN
      (SEQ (PROGN
             (LETT #0# NIL . #2=(|SPLNODE;construct;VLL;12|))
             (SEQ (LETT |t| NIL . #2#) (LETT #1# |lt| . #2#) G190
                  (COND
                    ((OR (ATOM #1#)
                         (PROGN (LETT |t| (CAR #1#) . #2#) NIL))
                     (GO G191)))
                  (SEQ (EXIT (LETT #0#
                                   (CONS
                                    (SPADCALL |v| |t| (QREFELT $ 19))
                                    #0#) . #2#)))
                  (LETT #1# (CDR #1#) . #2#) (GO G190) G191
                  (EXIT (NREVERSE0 #0#)))))))) 

(DEFUN |SPLNODE;copy;2$;13| (|n| $)
  (|SPLNODE;per| (MOVEVEC (MAKE-VEC 3) (|SPLNODE;rep| |n| $)) $)) 

(DEFUN |SPLNODE;setValue!;$V$;14| (|n| |v| $)
  (SEQ (QSETVELT (|SPLNODE;rep| |n| $) 0 |v|) (EXIT |n|))) 

(DEFUN |SPLNODE;setCondition!;$C$;15| (|n| |t| $)
  (SEQ (QSETVELT (|SPLNODE;rep| |n| $) 1 |t|) (EXIT |n|))) 

(DEFUN |SPLNODE;setStatus!;$B$;16| (|n| |b| $)
  (SEQ (QSETVELT (|SPLNODE;rep| |n| $) 2 |b|) (EXIT |n|))) 

(DEFUN |SPLNODE;setEmpty!;2$;17| (|n| $)
  (SEQ (QSETVELT (|SPLNODE;rep| |n| $) 0 (SPADCALL (QREFELT $ 8)))
       (QSETVELT (|SPLNODE;rep| |n| $) 1 (SPADCALL (QREFELT $ 9)))
       (EXIT |n|))) 

(DEFUN |SPLNODE;infLex?;2$MMB;18| (|n1| |n2| |o1| |o2| $)
  (COND
    ((SPADCALL (QVELT (|SPLNODE;rep| |n1| $) 0)
         (QVELT (|SPLNODE;rep| |n2| $) 0) |o1|)
     'T)
    ((SPADCALL (QVELT (|SPLNODE;rep| |n1| $) 0)
         (QVELT (|SPLNODE;rep| |n2| $) 0) (QREFELT $ 32))
     (SPADCALL (QVELT (|SPLNODE;rep| |n1| $) 1)
         (QVELT (|SPLNODE;rep| |n2| $) 1) |o2|))
    ('T 'NIL))) 

(DEFUN |SPLNODE;subNode?;2$MB;19| (|n1| |n2| |o2| $)
  (COND
    ((SPADCALL (QVELT (|SPLNODE;rep| |n1| $) 0)
         (QVELT (|SPLNODE;rep| |n2| $) 0) (QREFELT $ 32))
     (SPADCALL (QVELT (|SPLNODE;rep| |n1| $) 1)
         (QVELT (|SPLNODE;rep| |n2| $) 1) |o2|))
    ('T 'NIL))) 

(DEFUN |SPLNODE;=;2$B;20| (|n1| |n2| $)
  (COND
    ((SPADCALL (QVELT (|SPLNODE;rep| |n1| $) 0)
         (QVELT (|SPLNODE;rep| |n2| $) 0) (QREFELT $ 37))
     'NIL)
    ('T
     (SPADCALL (QVELT (|SPLNODE;rep| |n1| $) 1)
         (QVELT (|SPLNODE;rep| |n2| $) 1) (QREFELT $ 38))))) 

(DEFUN |SPLNODE;~=;2$B;21| (|n1| |n2| $)
  (COND
    ((SPADCALL (QVELT (|SPLNODE;rep| |n1| $) 0)
         (QVELT (|SPLNODE;rep| |n2| $) 0) (QREFELT $ 32))
     'NIL)
    ('T
     (SPADCALL (QVELT (|SPLNODE;rep| |n1| $) 1)
         (QVELT (|SPLNODE;rep| |n2| $) 1) (QREFELT $ 40))))) 

(DEFUN |SPLNODE;coerce;$Of;22| (|n| $)
  (PROG (|l1| |o1| |l2| |o2| |o3| |l|)
    (RETURN
      (SEQ (LETT |l1|
                 (LIST (SPADCALL "value == " (QREFELT $ 44))
                       (SPADCALL (QVELT (|SPLNODE;rep| |n| $) 0)
                           (QREFELT $ 45)))
                 . #0=(|SPLNODE;coerce;$Of;22|))
           (LETT |o1| (SPADCALL |l1| (QREFELT $ 46)) . #0#)
           (LETT |l2|
                 (LIST (SPADCALL " tower == " (QREFELT $ 44))
                       (SPADCALL (QVELT (|SPLNODE;rep| |n| $) 1)
                           (QREFELT $ 47))) . #0#)
           (LETT |o2| (SPADCALL |l2| (QREFELT $ 46)) . #0#)
           (COND
             ((QVELT (|SPLNODE;rep| |n| $) 2)
              (LETT |o3|
                    (SPADCALL " closed == true" (QREFELT $ 44)) . #0#))
             ('T
              (LETT |o3|
                    (SPADCALL " closed == false" (QREFELT $ 44)) . #0#)))
           (LETT |l| (LIST |o1| |o2| |o3|) . #0#)
           (EXIT (SPADCALL (SPADCALL |l| (QREFELT $ 48))
                     (QREFELT $ 49))))))) 

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

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

(MAKEPROP '|SplittingNode| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|)
             (0 . |empty|) (4 . |empty|) |SPLNODE;empty;$;3|
             (|Boolean|) (8 . |empty?|) (13 . |empty?|)
             |SPLNODE;empty?;$B;4| |SPLNODE;value;$V;5|
             |SPLNODE;condition;$C;6| |SPLNODE;status;$B;7|
             |SPLNODE;construct;VCB$;8| |SPLNODE;construct;VC$;9|
             (|Record| (|:| |val| 6) (|:| |tower| 7))
             |SPLNODE;construct;R$;10| (|List| $) (|List| 20)
             |SPLNODE;construct;LL;11| (|List| 7)
             |SPLNODE;construct;VLL;12| |SPLNODE;copy;2$;13|
             |SPLNODE;setValue!;$V$;14| |SPLNODE;setCondition!;$C$;15|
             |SPLNODE;setStatus!;$B$;16| |SPLNODE;setEmpty!;2$;17|
             (18 . =) (|Mapping| 11 6 6) (|Mapping| 11 7 7)
             |SPLNODE;infLex?;2$MMB;18| |SPLNODE;subNode?;2$MB;19|
             (24 . ~=) (30 . =) |SPLNODE;=;2$B;20| (36 . ~=)
             |SPLNODE;~=;2$B;21| (|String|) (|OutputForm|)
             (42 . |message|) (47 . |coerce|) (52 . |blankSeparate|)
             (57 . |coerce|) (62 . |commaSeparate|) (67 . |bracket|)
             |SPLNODE;coerce;$Of;22| (|SingleInteger|))
          '#(~= 72 |value| 78 |subNode?| 83 |status| 90 |setValue!| 95
             |setStatus!| 101 |setEmpty!| 107 |setCondition!| 112
             |latex| 118 |infLex?| 123 |hash| 131 |empty?| 136 |empty|
             141 |copy| 145 |construct| 150 |condition| 179 |coerce|
             184 = 189)
          'NIL
          (CONS (|makeByteWordVec2| 1 '(0 0 0))
                (CONS '#(|SetCategory&| |BasicType&| NIL)
                      (CONS '#((|SetCategory|) (|BasicType|)
                               (|CoercibleTo| 43))
                            (|makeByteWordVec2| 51
                                '(0 6 0 8 0 7 0 9 1 6 11 0 12 1 7 11 0
                                  13 2 6 11 0 0 32 2 6 11 0 0 37 2 7 11
                                  0 0 38 2 7 11 0 0 40 1 43 0 42 44 1 6
                                  43 0 45 1 43 0 22 46 1 7 43 0 47 1 43
                                  0 22 48 1 43 0 0 49 2 0 11 0 0 41 1 0
                                  6 0 15 3 0 11 0 0 34 36 1 0 11 0 17 2
                                  0 0 0 6 28 2 0 0 0 11 30 1 0 0 0 31 2
                                  0 0 0 7 29 1 0 42 0 1 4 0 11 0 0 33
                                  34 35 1 0 51 0 1 1 0 11 0 14 0 0 0 10
                                  1 0 0 0 27 2 0 22 6 25 26 1 0 22 23
                                  24 2 0 0 6 7 19 1 0 0 20 21 3 0 0 6 7
                                  11 18 1 0 7 0 16 1 0 43 0 50 2 0 11 0
                                  0 39)))))
          '|lookupComplete|)) 
