
(/VERSIONCHECK 2) 

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

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

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

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

(DEFUN |SPLTREE;construct;Sn$;3| (|s| $)
  (|SPLTREE;per| (CONS |s| NIL) $)) 

(DEFUN |SPLTREE;construct;VCL$;4| (|v| |t| |la| $)
  (|SPLTREE;per| (CONS (SPADCALL |v| |t| (QREFELT $ 10)) |la|) $)) 

(DEFUN |SPLTREE;construct;VCL$;5| (|v| |t| |ls| $)
  (PROG (#0=#:G1880 |s| #1=#:G1881)
    (RETURN
      (SEQ (|SPLTREE;per|
               (CONS (SPADCALL |v| |t| (QREFELT $ 10))
                     (PROGN
                       (LETT #0# NIL . #2=(|SPLTREE;construct;VCL$;5|))
                       (SEQ (LETT |s| NIL . #2#) (LETT #1# |ls| . #2#)
                            G190
                            (COND
                              ((OR (ATOM #1#)
                                   (PROGN
                                     (LETT |s| (CAR #1#) . #2#)
                                     NIL))
                               (GO G191)))
                            (SEQ (EXIT (LETT #0#
                                        (CONS
                                         (SPADCALL |s| (QREFELT $ 9))
                                         #0#) . #2#)))
                            (LETT #1# (CDR #1#) . #2#) (GO G190) G191
                            (EXIT (NREVERSE0 #0#)))))
               $))))) 

(DEFUN |SPLTREE;construct;VCVL$;6| (|v1| |t| |v2| |lt| $)
  (SPADCALL |v1| |t| (SPADCALL |v2| |lt| (QREFELT $ 16))
      (QREFELT $ 14))) 

(DEFUN |SPLTREE;empty?;$B;7| (|a| $)
  (COND
    ((SPADCALL (QCAR (|SPLTREE;rep| |a| $)) (QREFELT $ 19))
     (SPADCALL (QCDR (|SPLTREE;rep| |a| $)) (QREFELT $ 21)))
    ('T 'NIL))) 

(DEFUN |SPLTREE;empty;$;8| ($)
  (SPADCALL (SPADCALL (QREFELT $ 23)) (QREFELT $ 9))) 

(DEFUN |SPLTREE;remove;Sn2$;9| (|s| |a| $)
  (PROG (|la| |lb|)
    (RETURN
      (SEQ (COND
             ((SPADCALL |a| (QREFELT $ 22)) |a|)
             ('T
              (SEQ (COND
                     ((SPADCALL |s| (SPADCALL |a| (QREFELT $ 25))
                          (QREFELT $ 26))
                      (COND
                        ((|BooleanEquality|
                             (SPADCALL |s| (QREFELT $ 27))
                             (SPADCALL (SPADCALL |a| (QREFELT $ 25))
                                 (QREFELT $ 27)))
                         (EXIT (SPADCALL (QREFELT $ 24)))))))
                   (LETT |la| (SPADCALL |a| (QREFELT $ 28))
                         . #0=(|SPLTREE;remove;Sn2$;9|))
                   (LETT |lb| NIL . #0#)
                   (SEQ G190
                        (COND
                          ((NULL (COND
                                   ((SPADCALL |la| (QREFELT $ 21))
                                    'NIL)
                                   ('T 'T)))
                           (GO G191)))
                        (SEQ (LETT |lb|
                                   (SPADCALL
                                    (SPADCALL |s|
                                     (SPADCALL |la| (QREFELT $ 29))
                                     (QREFELT $ 30))
                                    |lb| (QREFELT $ 31)) . #0#)
                             (EXIT (LETT |la|
                                    (SPADCALL |la| (QREFELT $ 32)) . #0#)))
                        NIL (GO G190) G191 (EXIT NIL))
                   (LETT |lb|
                         (SPADCALL
                             (SPADCALL (ELT $ 22) |lb| (QREFELT $ 34))
                             (QREFELT $ 35)) . #0#)
                   (EXIT (SPADCALL
                             (SPADCALL (SPADCALL |a| (QREFELT $ 25))
                                 (QREFELT $ 36))
                             (SPADCALL (SPADCALL |a| (QREFELT $ 25))
                                 (QREFELT $ 37))
                             |lb| (QREFELT $ 12)))))))))) 

(DEFUN |SPLTREE;remove!;Sn2$;10| (|s| |a| $)
  (PROG (|la| |lb|)
    (RETURN
      (SEQ (COND
             ((SPADCALL |a| (QREFELT $ 22)) |a|)
             ('T
              (SEQ (COND
                     ((SPADCALL |s| (SPADCALL |a| (QREFELT $ 25))
                          (QREFELT $ 26))
                      (COND
                        ((|BooleanEquality|
                             (SPADCALL |s| (QREFELT $ 27))
                             (SPADCALL (SPADCALL |a| (QREFELT $ 25))
                                 (QREFELT $ 27)))
                         (EXIT (SEQ (PROGN
                                      (RPLACA (|SPLTREE;rep| |a| $)
                                       (SPADCALL (QREFELT $ 23)))
                                      (QCAR (|SPLTREE;rep| |a| $)))
                                    (PROGN
                                      (RPLACD (|SPLTREE;rep| |a| $)
                                       NIL)
                                      (QCDR (|SPLTREE;rep| |a| $)))
                                    (EXIT |a|)))))))
                   (LETT |la| (SPADCALL |a| (QREFELT $ 28))
                         . #0=(|SPLTREE;remove!;Sn2$;10|))
                   (LETT |lb| NIL . #0#)
                   (SEQ G190
                        (COND
                          ((NULL (COND
                                   ((SPADCALL |la| (QREFELT $ 21))
                                    'NIL)
                                   ('T 'T)))
                           (GO G191)))
                        (SEQ (LETT |lb|
                                   (SPADCALL
                                    (SPADCALL |s|
                                     (SPADCALL |la| (QREFELT $ 29))
                                     (QREFELT $ 38))
                                    |lb| (QREFELT $ 31)) . #0#)
                             (EXIT (LETT |la|
                                    (SPADCALL |la| (QREFELT $ 32)) . #0#)))
                        NIL (GO G190) G191 (EXIT NIL))
                   (LETT |lb|
                         (SPADCALL
                             (SPADCALL (SPADCALL (QREFELT $ 24)) |lb|
                                 (QREFELT $ 39))
                             (QREFELT $ 35)) . #0#)
                   (EXIT (SPADCALL |a| |lb| (QREFELT $ 40)))))))))) 

(DEFUN |SPLTREE;value;$Sn;11| (|a| $) (QCAR (|SPLTREE;rep| |a| $))) 

(DEFUN |SPLTREE;children;$L;12| (|a| $) (QCDR (|SPLTREE;rep| |a| $))) 

(DEFUN |SPLTREE;leaf?;$B;13| (|a| $)
  (COND
    ((SPADCALL |a| (QREFELT $ 22)) 'NIL)
    ('T (SPADCALL (QCDR (|SPLTREE;rep| |a| $)) (QREFELT $ 21))))) 

(DEFUN |SPLTREE;setchildren!;$L$;14| (|a| |la| $)
  (SEQ (PROGN (RPLACD #0=(|SPLTREE;rep| |a| $) |la|) (QCDR #0#))
       (EXIT |a|))) 

(DEFUN |SPLTREE;setvalue!;$2Sn;15| (|a| |s| $)
  (SEQ (PROGN (RPLACA #0=(|SPLTREE;rep| |a| $) |s|) (QCAR #0#))
       (EXIT |s|))) 

(PUT '|SPLTREE;cyclic?;$B;16| '|SPADreplace| '(XLAM (|a|) 'NIL)) 

(DEFUN |SPLTREE;cyclic?;$B;16| (|a| $) 'NIL) 

(DEFUN |SPLTREE;map;M2$;17| (|foo| |a| $)
  (PROG (|b| #0=#:G1918 |c| #1=#:G1919)
    (RETURN
      (SEQ (COND
             ((SPADCALL |a| (QREFELT $ 22)) |a|)
             ('T
              (SEQ (LETT |b|
                         (SPADCALL
                             (SPADCALL (SPADCALL |a| (QREFELT $ 25))
                                 |foo|)
                             (QREFELT $ 9))
                         . #2=(|SPLTREE;map;M2$;17|))
                   (EXIT (COND
                           ((SPADCALL |a| (QREFELT $ 41)) |b|)
                           ('T
                            (SPADCALL |b|
                                (PROGN
                                  (LETT #0# NIL . #2#)
                                  (SEQ (LETT |c| NIL . #2#)
                                       (LETT #1#
                                        (SPADCALL |a| (QREFELT $ 28)) . #2#)
                                       G190
                                       (COND
                                         ((OR (ATOM #1#)
                                           (PROGN
                                             (LETT |c| (CAR #1#) . #2#)
                                             NIL))
                                          (GO G191)))
                                       (SEQ
                                        (EXIT
                                         (LETT #0#
                                          (CONS
                                           (SPADCALL |foo| |c|
                                            (QREFELT $ 45))
                                           #0#) . #2#)))
                                       (LETT #1# (CDR #1#) . #2#)
                                       (GO G190) G191
                                       (EXIT (NREVERSE0 #0#))))
                                (QREFELT $ 40)))))))))))) 

(DEFUN |SPLTREE;map!;M2$;18| (|foo| |a| $)
  (PROG (#0=#:G1924 |c| #1=#:G1925)
    (RETURN
      (SEQ (COND
             ((SPADCALL |a| (QREFELT $ 22)) |a|)
             ('T
              (SEQ (SPADCALL |a|
                       (SPADCALL (SPADCALL |a| (QREFELT $ 25)) |foo|)
                       (QREFELT $ 42))
                   (EXIT (COND
                           ((SPADCALL |a| (QREFELT $ 41)) |a|)
                           ('T
                            (SPADCALL |a|
                                (PROGN
                                  (LETT #0# NIL
                                        . #2=(|SPLTREE;map!;M2$;18|))
                                  (SEQ (LETT |c| NIL . #2#)
                                       (LETT #1#
                                        (SPADCALL |a| (QREFELT $ 28)) . #2#)
                                       G190
                                       (COND
                                         ((OR (ATOM #1#)
                                           (PROGN
                                             (LETT |c| (CAR #1#) . #2#)
                                             NIL))
                                          (GO G191)))
                                       (SEQ
                                        (EXIT
                                         (LETT #0#
                                          (CONS
                                           (SPADCALL |foo| |c|
                                            (QREFELT $ 46))
                                           #0#) . #2#)))
                                       (LETT #1# (CDR #1#) . #2#)
                                       (GO G190) G191
                                       (EXIT (NREVERSE0 #0#))))
                                (QREFELT $ 40)))))))))))) 

(DEFUN |SPLTREE;copy;2$;19| (|a| $)
  (SPADCALL (ELT $ 47) |a| (QREFELT $ 45))) 

(PUT '|SPLTREE;eq?;2$B;20| '|SPADreplace|
     '(XLAM (|a1| |a2|)
            (|error| "in eq? from SPLTREE : unimplemented"))) 

(DEFUN |SPLTREE;eq?;2$B;20| (|a1| |a2| $)
  (|error| "in eq? from SPLTREE : unimplemented")) 

(DEFUN |SPLTREE;nodes;$L;21| (|a| $)
  (PROG (#0=#:G1932 |c| #1=#:G1933)
    (RETURN
      (SEQ (COND
             ((SPADCALL |a| (QREFELT $ 22)) NIL)
             ((SPADCALL |a| (QREFELT $ 41)) (LIST |a|))
             ('T
              (SPADCALL |a|
                  (SPADCALL
                      (PROGN
                        (LETT #0# NIL . #2=(|SPLTREE;nodes;$L;21|))
                        (SEQ (LETT |c| NIL . #2#)
                             (LETT #1#
                                   (SPADCALL |a| (QREFELT $ 28)) . #2#)
                             G190
                             (COND
                               ((OR (ATOM #1#)
                                    (PROGN
                                      (LETT |c| (CAR #1#) . #2#)
                                      NIL))
                                (GO G191)))
                             (SEQ (EXIT (LETT #0#
                                         (CONS
                                          (SPADCALL |c| (QREFELT $ 50))
                                          #0#) . #2#)))
                             (LETT #1# (CDR #1#) . #2#) (GO G190) G191
                             (EXIT (NREVERSE0 #0#))))
                      (QREFELT $ 51))
                  (QREFELT $ 31)))))))) 

(DEFUN |SPLTREE;leaves;$L;22| (|a| $)
  (PROG (#0=#:G1938 |c| #1=#:G1939)
    (RETURN
      (SEQ (COND
             ((SPADCALL |a| (QREFELT $ 22)) NIL)
             ((SPADCALL |a| (QREFELT $ 41))
              (LIST (SPADCALL |a| (QREFELT $ 25))))
             ('T
              (SPADCALL
                  (PROGN
                    (LETT #0# NIL . #2=(|SPLTREE;leaves;$L;22|))
                    (SEQ (LETT |c| NIL . #2#)
                         (LETT #1# (SPADCALL |a| (QREFELT $ 28)) . #2#)
                         G190
                         (COND
                           ((OR (ATOM #1#)
                                (PROGN (LETT |c| (CAR #1#) . #2#) NIL))
                            (GO G191)))
                         (SEQ (EXIT (LETT #0#
                                     (CONS
                                      (SPADCALL |c| (QREFELT $ 52))
                                      #0#) . #2#)))
                         (LETT #1# (CDR #1#) . #2#) (GO G190) G191
                         (EXIT (NREVERSE0 #0#))))
                  (QREFELT $ 53)))))))) 

(DEFUN |SPLTREE;members;$L;23| (|a| $)
  (PROG (#0=#:G1944 |c| #1=#:G1945)
    (RETURN
      (SEQ (COND
             ((SPADCALL |a| (QREFELT $ 22)) NIL)
             ((SPADCALL |a| (QREFELT $ 41))
              (LIST (SPADCALL |a| (QREFELT $ 25))))
             ('T
              (CONS (SPADCALL |a| (QREFELT $ 25))
                    (SPADCALL
                        (PROGN
                          (LETT #0# NIL . #2=(|SPLTREE;members;$L;23|))
                          (SEQ (LETT |c| NIL . #2#)
                               (LETT #1#
                                     (SPADCALL |a| (QREFELT $ 28)) . #2#)
                               G190
                               (COND
                                 ((OR (ATOM #1#)
                                      (PROGN
                                        (LETT |c| (CAR #1#) . #2#)
                                        NIL))
                                  (GO G191)))
                               (SEQ (EXIT
                                     (LETT #0#
                                      (CONS
                                       (SPADCALL |c| (QREFELT $ 54))
                                       #0#) . #2#)))
                               (LETT #1# (CDR #1#) . #2#) (GO G190)
                               G191 (EXIT (NREVERSE0 #0#))))
                        (QREFELT $ 53))))))))) 

(DEFUN |SPLTREE;#;$Nni;24| (|a| $)
  (PROG (#0=#:G1951 |c| #1=#:G1952)
    (RETURN
      (SEQ (COND
             ((SPADCALL |a| (QREFELT $ 22)) 0)
             ((SPADCALL |a| (QREFELT $ 41)) 1)
             ('T
              (SPADCALL (ELT $ 56)
                  (PROGN
                    (LETT #0# NIL . #2=(|SPLTREE;#;$Nni;24|))
                    (SEQ (LETT |c| NIL . #2#)
                         (LETT #1# (SPADCALL |a| (QREFELT $ 28)) . #2#)
                         G190
                         (COND
                           ((OR (ATOM #1#)
                                (PROGN (LETT |c| (CAR #1#) . #2#) NIL))
                            (GO G191)))
                         (SEQ (EXIT (LETT #0#
                                     (CONS
                                      (SPADCALL |c| (QREFELT $ 57))
                                      #0#) . #2#)))
                         (LETT #1# (CDR #1#) . #2#) (GO G190) G191
                         (EXIT (NREVERSE0 #0#))))
                  1 (QREFELT $ 60)))))))) 

(DEFUN |SPLTREE;=;2$B;25| (|a1| |a2| $)
  (COND
    ((SPADCALL |a1| (QREFELT $ 22)) (SPADCALL |a2| (QREFELT $ 22)))
    ((SPADCALL |a2| (QREFELT $ 22)) 'NIL)
    ((SPADCALL |a1| (QREFELT $ 41))
     (COND
       ((NULL (SPADCALL |a2| (QREFELT $ 41))) 'NIL)
       ('T
        (SPADCALL (SPADCALL |a1| (QREFELT $ 25))
            (SPADCALL |a2| (QREFELT $ 25)) (QREFELT $ 26)))))
    ((OR (SPADCALL |a2| (QREFELT $ 41))
         (SPADCALL (SPADCALL |a1| (QREFELT $ 25))
             (SPADCALL |a2| (QREFELT $ 25)) (QREFELT $ 61)))
     'NIL)
    ('T
     (SPADCALL (SPADCALL |a1| (QREFELT $ 28))
         (SPADCALL |a2| (QREFELT $ 28)) (QREFELT $ 62))))) 

(DEFUN |SPLTREE;localCoerce| (|a| |k| $)
  (PROG (|i| |s| |ro| #0=#:G1966 |c| #1=#:G1967 |lo|)
    (RETURN
      (SEQ (COND
             ((EQL |k| 1) (LETT |s| "* " . #2=(|SPLTREE;localCoerce|)))
             ('T (LETT |s| "-> " . #2#)))
           (SEQ (LETT |i| 2 . #2#) G190
                (COND ((QSGREATERP |i| |k|) #3=(GO G191)))
                (SEQ (EXIT (LETT |s| (STRCONC "-+" |s|) . #2#)))
                (LETT |i| (QSADD1 |i|) . #2#) #4=(GO G190) G191
                (EXIT NIL))
           (LETT |ro|
                 (SPADCALL
                     (SPADCALL (SPADCALL |s| (QREFELT $ 66))
                         (SPADCALL (SPADCALL |a| (QREFELT $ 25))
                             (QREFELT $ 67))
                         (QREFELT $ 68))
                     (QREFELT $ 69)) . #2#)
           (EXIT (COND
                   ((SPADCALL |a| (QREFELT $ 41)) |ro|)
                   ('T
                    (SEQ (LETT |lo|
                               (PROGN
                                 (LETT #0# NIL . #2#)
                                 (SEQ (LETT |c| NIL . #2#)
                                      (LETT #1#
                                       (SPADCALL |a| (QREFELT $ 28)) . #2#)
                                      G190
                                      (COND
                                        ((OR (ATOM #1#)
                                          (PROGN
                                            (LETT |c| (CAR #1#) . #2#)
                                            NIL))
                                         #3#))
                                      (SEQ
                                       (EXIT
                                        (LETT #0#
                                         (CONS
                                          (|SPLTREE;localCoerce| |c|
                                           (+ |k| 1) $)
                                          #0#) . #2#)))
                                      (LETT #1# (CDR #1#) . #2#) #4#
                                      G191 (EXIT (NREVERSE0 #0#)))) . #2#)
                         (LETT |lo| (CONS |ro| |lo|) . #2#)
                         (EXIT (SPADCALL |lo| (QREFELT $ 70))))))))))) 

(DEFUN |SPLTREE;coerce;$Of;27| (|a| $)
  (COND
    ((SPADCALL |a| (QREFELT $ 22))
     (SPADCALL (SPADCALL " " (QREFELT $ 66))
         (SPADCALL "* []" (QREFELT $ 66)) (QREFELT $ 71)))
    ('T
     (SPADCALL (SPADCALL " " (QREFELT $ 66))
         (|SPLTREE;localCoerce| |a| 1 $) (QREFELT $ 71))))) 

(DEFUN |SPLTREE;extractSplittingLeaf;$U;28| (|a| $)
  (PROG (|esl| #0=#:G1983 |la|)
    (RETURN
      (SEQ (EXIT (COND
                   ((OR (SPADCALL |a| (QREFELT $ 22))
                        (SPADCALL (SPADCALL |a| (QREFELT $ 25))
                            (QREFELT $ 27)))
                    (CONS 1 "failed"))
                   ('T
                    (SEQ (LETT |la| (SPADCALL |a| (QREFELT $ 28))
                               . #1=(|SPLTREE;extractSplittingLeaf;$U;28|))
                         (EXIT (COND
                                 ((SPADCALL |la| (QREFELT $ 21))
                                  (CONS 0 |a|))
                                 ('T
                                  (SEQ (SEQ G190
                                        (COND
                                          ((NULL
                                            (COND
                                              ((SPADCALL |la|
                                                (QREFELT $ 21))
                                               'NIL)
                                              ('T 'T)))
                                           (GO G191)))
                                        (SEQ
                                         (LETT |esl|
                                          (SPADCALL
                                           (SPADCALL |la|
                                            (QREFELT $ 29))
                                           (QREFELT $ 74)) . #1#)
                                         (EXIT
                                          (COND
                                            ((QEQCAR |esl| 0)
                                             (PROGN
                                               (LETT #0# |esl| . #1#)
                                               (GO #0#)))
                                            ('T
                                             (LETT |la|
                                              (SPADCALL |la|
                                               (QREFELT $ 32)) . #1#)))))
                                        NIL (GO G190) G191 (EXIT NIL))
                                       (EXIT (CONS 1 "failed"))))))))))
           #0# (EXIT #0#))))) 

(DEFUN |SPLTREE;updateStatus!;2$;29| (|a| $)
  (PROG (|done| |la|)
    (RETURN
      (SEQ (LETT |la| (SPADCALL |a| (QREFELT $ 28))
                 . #0=(|SPLTREE;updateStatus!;2$;29|))
           (COND
             ((OR (SPADCALL |la| (QREFELT $ 21))
                  (SPADCALL (SPADCALL |a| (QREFELT $ 25))
                      (QREFELT $ 27)))
              (EXIT |a|)))
           (LETT |done| 'T . #0#)
           (SEQ G190
                (COND
                  ((NULL (COND
                           ((SPADCALL |la| (QREFELT $ 21)) 'NIL)
                           ('T |done|)))
                   (GO G191)))
                (SEQ (LETT |done|
                           (COND
                             (|done| (SPADCALL
                                      (SPADCALL
                                       (SPADCALL
                                        (SPADCALL |la| (QREFELT $ 29))
                                        (QREFELT $ 75))
                                       (QREFELT $ 25))
                                      (QREFELT $ 27)))
                             ('T 'NIL)) . #0#)
                     (EXIT (LETT |la|
                                 (SPADCALL |la| (QREFELT $ 32)) . #0#)))
                NIL (GO G190) G191 (EXIT NIL))
           (SPADCALL (SPADCALL |a| (QREFELT $ 25)) |done|
               (QREFELT $ 76))
           (EXIT |a|))))) 

(DEFUN |SPLTREE;result;$L;30| (|a| $)
  (PROG (|ls| #0=#:G1999 |s| #1=#:G2000)
    (RETURN
      (SEQ (COND
             ((SPADCALL |a| (QREFELT $ 22)) NIL)
             ((NULL (SPADCALL (SPADCALL |a| (QREFELT $ 25))
                        (QREFELT $ 27)))
              (|error| "in result from SLPTREE : mad cow!"))
             ('T
              (SEQ (LETT |ls| (SPADCALL |a| (QREFELT $ 52))
                         . #2=(|SPLTREE;result;$L;30|))
                   (EXIT (PROGN
                           (LETT #0# NIL . #2#)
                           (SEQ (LETT |s| NIL . #2#)
                                (LETT #1# |ls| . #2#) G190
                                (COND
                                  ((OR (ATOM #1#)
                                    (PROGN
                                      (LETT |s| (CAR #1#) . #2#)
                                      NIL))
                                   (GO G191)))
                                (SEQ (EXIT
                                      (LETT #0#
                                       (CONS
                                        (CONS
                                         (SPADCALL |s| (QREFELT $ 36))
                                         (SPADCALL |s| (QREFELT $ 37)))
                                        #0#) . #2#)))
                                (LETT #1# (CDR #1#) . #2#) (GO G190)
                                G191 (EXIT (NREVERSE0 #0#)))))))))))) 

(DEFUN |SPLTREE;conditions;$L;31| (|a| $)
  (PROG (|ls| #0=#:G2005 |s| #1=#:G2006)
    (RETURN
      (SEQ (COND
             ((SPADCALL |a| (QREFELT $ 22)) NIL)
             ('T
              (SEQ (LETT |ls| (SPADCALL |a| (QREFELT $ 52))
                         . #2=(|SPLTREE;conditions;$L;31|))
                   (EXIT (PROGN
                           (LETT #0# NIL . #2#)
                           (SEQ (LETT |s| NIL . #2#)
                                (LETT #1# |ls| . #2#) G190
                                (COND
                                  ((OR (ATOM #1#)
                                    (PROGN
                                      (LETT |s| (CAR #1#) . #2#)
                                      NIL))
                                   (GO G191)))
                                (SEQ (EXIT
                                      (LETT #0#
                                       (CONS
                                        (SPADCALL |s| (QREFELT $ 37))
                                        #0#) . #2#)))
                                (LETT #1# (CDR #1#) . #2#) (GO G190)
                                G191 (EXIT (NREVERSE0 #0#)))))))))))) 

(DEFUN |SPLTREE;nodeOf?;Sn$B;32| (|s| |a| $)
  (PROG (|la|)
    (RETURN
      (SEQ (COND
             ((SPADCALL |a| (QREFELT $ 22)) 'NIL)
             ((SPADCALL |s| (SPADCALL |a| (QREFELT $ 25))
                  (QREFELT $ 26))
              'T)
             ('T
              (SEQ (LETT |la| (SPADCALL |a| (QREFELT $ 28))
                         . #0=(|SPLTREE;nodeOf?;Sn$B;32|))
                   (SEQ G190
                        (COND
                          ((NULL (COND
                                   ((OR (SPADCALL |la| (QREFELT $ 21))
                                     (SPADCALL |s|
                                      (SPADCALL |la| (QREFELT $ 29))
                                      (QREFELT $ 81)))
                                    'NIL)
                                   ('T 'T)))
                           (GO G191)))
                        (SEQ (EXIT (LETT |la|
                                    (SPADCALL |la| (QREFELT $ 32)) . #0#)))
                        NIL (GO G190) G191 (EXIT NIL))
                   (EXIT (COND
                           ((SPADCALL |la| (QREFELT $ 21)) 'NIL)
                           ('T 'T)))))))))) 

(DEFUN |SPLTREE;subNodeOf?;Sn$MB;33| (|s| |a| |sub?| $)
  (PROG (|la|)
    (RETURN
      (SEQ (COND
             ((SPADCALL |a| (QREFELT $ 22)) 'NIL)
             ('T
              (SEQ (COND
                     ((SPADCALL (SPADCALL |a| (QREFELT $ 25))
                          (QREFELT $ 27))
                      (COND
                        ((SPADCALL |s| (SPADCALL |a| (QREFELT $ 25))
                             |sub?| (QREFELT $ 83))
                         (EXIT 'T)))))
                   (LETT |la| (SPADCALL |a| (QREFELT $ 28))
                         . #0=(|SPLTREE;subNodeOf?;Sn$MB;33|))
                   (SEQ G190
                        (COND
                          ((NULL (COND
                                   ((OR (SPADCALL |la| (QREFELT $ 21))
                                     (SPADCALL |s|
                                      (SPADCALL |la| (QREFELT $ 29))
                                      |sub?| (QREFELT $ 84)))
                                    'NIL)
                                   ('T 'T)))
                           (GO G191)))
                        (SEQ (EXIT (LETT |la|
                                    (SPADCALL |la| (QREFELT $ 32)) . #0#)))
                        NIL (GO G190) G191 (EXIT NIL))
                   (EXIT (COND
                           ((SPADCALL |la| (QREFELT $ 21)) 'NIL)
                           ('T 'T)))))))))) 

(DEFUN |SPLTREE;splitNodeOf!;2$L$;34| (|l| |a| |ls| $)
  (PROG (|ln| |la|)
    (RETURN
      (SEQ (LETT |ln| (SPADCALL |ls| (QREFELT $ 85))
                 . #0=(|SPLTREE;splitNodeOf!;2$L$;34|))
           (LETT |la| NIL . #0#)
           (SEQ G190
                (COND
                  ((NULL (COND ((NULL |ln|) 'NIL) ('T 'T))) (GO G191)))
                (SEQ (COND
                       ((NULL (SPADCALL (|SPADfirst| |ln|) |a|
                                  (QREFELT $ 81)))
                        (LETT |la|
                              (SPADCALL
                                  (SPADCALL (|SPADfirst| |ln|)
                                      (QREFELT $ 9))
                                  |la| (QREFELT $ 31)) . #0#)))
                     (EXIT (LETT |ln| (CDR |ln|) . #0#)))
                NIL (GO G190) G191 (EXIT NIL))
           (LETT |la| (SPADCALL |la| (QREFELT $ 35)) . #0#)
           (SPADCALL |l| |la| (QREFELT $ 40))
           (COND
             ((SPADCALL |la| (QREFELT $ 21))
              (PROGN
                (RPLACA (|SPLTREE;rep| |l| $)
                        (SPADCALL (SPADCALL (QREFELT $ 86))
                            (SPADCALL (QREFELT $ 87)) 'T
                            (QREFELT $ 88)))
                (QCAR (|SPLTREE;rep| |l| $)))))
           (EXIT (SPADCALL |a| (QREFELT $ 75))))))) 

(DEFUN |SPLTREE;splitNodeOf!;2$LM$;35| (|l| |a| |ls| |sub?| $)
  (PROG (|ln| |la|)
    (RETURN
      (SEQ (LETT |ln| (SPADCALL |ls| (QREFELT $ 85))
                 . #0=(|SPLTREE;splitNodeOf!;2$LM$;35|))
           (LETT |la| NIL . #0#)
           (SEQ G190
                (COND
                  ((NULL (COND ((NULL |ln|) 'NIL) ('T 'T))) (GO G191)))
                (SEQ (COND
                       ((NULL (SPADCALL (|SPADfirst| |ln|) |a| |sub?|
                                  (QREFELT $ 84)))
                        (LETT |la|
                              (SPADCALL
                                  (SPADCALL (|SPADfirst| |ln|)
                                      (QREFELT $ 9))
                                  |la| (QREFELT $ 31)) . #0#)))
                     (EXIT (LETT |ln| (CDR |ln|) . #0#)))
                NIL (GO G190) G191 (EXIT NIL))
           (LETT |la| (SPADCALL |la| (QREFELT $ 35)) . #0#)
           (SPADCALL |l| |la| (QREFELT $ 40))
           (COND
             ((SPADCALL |la| (QREFELT $ 21))
              (PROGN
                (RPLACA (|SPLTREE;rep| |l| $)
                        (SPADCALL (SPADCALL (QREFELT $ 86))
                            (SPADCALL (QREFELT $ 87)) 'T
                            (QREFELT $ 88)))
                (QCAR (|SPLTREE;rep| |l| $)))))
           (EXIT (SPADCALL |a| (QREFELT $ 75))))))) 

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

(DEFUN |SplittingTree;| (|#1| |#2|)
  (PROG (DV$1 DV$2 |dv$| $ #0=#:G2038 |pv$|)
    (RETURN
      (PROGN
        (LETT DV$1 (|devaluate| |#1|) . #1=(|SplittingTree|))
        (LETT DV$2 (|devaluate| |#2|) . #1#)
        (LETT |dv$| (LIST '|SplittingTree| DV$1 DV$2) . #1#)
        (LETT $ (GETREFV 97) . #1#)
        (QSETREFV $ 0 |dv$|)
        (QSETREFV $ 3
            (LETT |pv$|
                  (|buildPredVector| 0 0
                      (LIST (LETT #0#
                                  (|HasCategory|
                                      (|SplittingNode| |#1| |#2|)
                                      '(|SetCategory|)) . #1#)
                            (AND (|HasCategory|
                                     (|SplittingNode| |#1| |#2|)
                                     (LIST '|Evalable|
                                      (LIST '|SplittingNode|
                                       (|devaluate| |#1|)
                                       (|devaluate| |#2|))))
                                 #0#))) . #1#))
        (|haddProp| |$ConstructorCache| '|SplittingTree|
            (LIST DV$1 DV$2) (CONS 1 $))
        (|stuffDomainSlots| $)
        (QSETREFV $ 6 |#1|)
        (QSETREFV $ 7 |#2|)
        (AND (|HasCategory| $ '(|finiteAggregate|))
             (|augmentPredVector| $ 4))
        (AND (|HasCategory| $ '(|finiteAggregate|)) #0#
             (|augmentPredVector| $ 8))
        (AND (|HasCategory| $ '(|shallowlyMutable|))
             (|augmentPredVector| $ 16))
        $)))) 

(MAKEPROP '|SplittingTree| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|)
             (|SplittingNode| 6 7) |SPLTREE;construct;Sn$;3|
             (0 . |construct|) (|List| $) |SPLTREE;construct;VCL$;4|
             (|List| 8) |SPLTREE;construct;VCL$;5| (|List| 7)
             (6 . |construct|) |SPLTREE;construct;VCVL$;6| (|Boolean|)
             (12 . |empty?|) (|List| $$) (17 . |empty?|)
             |SPLTREE;empty?;$B;7| (22 . |empty|) |SPLTREE;empty;$;8|
             |SPLTREE;value;$Sn;11| (26 . =) (32 . |status|)
             |SPLTREE;children;$L;12| (37 . |first|)
             |SPLTREE;remove;Sn2$;9| (42 . |cons|) (48 . |rest|)
             (|Mapping| 18 $$) (53 . |remove|) (59 . |reverse|)
             (64 . |value|) (69 . |condition|)
             |SPLTREE;remove!;Sn2$;10| (74 . |remove|)
             |SPLTREE;setchildren!;$L$;14| |SPLTREE;leaf?;$B;13|
             |SPLTREE;setvalue!;$2Sn;15| |SPLTREE;cyclic?;$B;16|
             (|Mapping| 8 8) |SPLTREE;map;M2$;17| |SPLTREE;map!;M2$;18|
             (80 . |copy|) |SPLTREE;copy;2$;19| |SPLTREE;eq?;2$B;20|
             |SPLTREE;nodes;$L;21| (85 . |concat|)
             |SPLTREE;leaves;$L;22| (90 . |concat|)
             |SPLTREE;members;$L;23| (|NonNegativeInteger|) (95 . +)
             |SPLTREE;#;$Nni;24| (|Mapping| 55 55 55) (|List| 55)
             (101 . |reduce|) (108 . ~=) (114 . =) |SPLTREE;=;2$B;25|
             (|String|) (|OutputForm|) (120 . |message|)
             (125 . |coerce|) (130 . |hconcat|) (136 . |left|)
             (141 . |vconcat|) (146 . |vconcat|)
             |SPLTREE;coerce;$Of;27| (|Union| $ '"failed")
             |SPLTREE;extractSplittingLeaf;$U;28|
             |SPLTREE;updateStatus!;2$;29| (152 . |setStatus!|)
             (|Record| (|:| |val| 6) (|:| |tower| 7)) (|List| 77)
             |SPLTREE;result;$L;30| |SPLTREE;conditions;$L;31|
             |SPLTREE;nodeOf?;Sn$B;32| (|Mapping| 18 7 7)
             (158 . |subNode?|) |SPLTREE;subNodeOf?;Sn$MB;33|
             (165 . |removeDuplicates|) (170 . |empty|) (174 . |empty|)
             (178 . |construct|) |SPLTREE;splitNodeOf!;2$L$;34|
             |SPLTREE;splitNodeOf!;2$LM$;35| (|List| 92) (|Equation| 8)
             (|SingleInteger|) (|Mapping| 18 8) '"value" (|Integer|))
          '#(~= 185 |value| 191 |updateStatus!| 196 |subNodeOf?| 201
             |splitNodeOf!| 208 |size?| 223 |setvalue!| 229 |setelt|
             235 |setchildren!| 242 |sample| 248 |result| 252 |remove!|
             257 |remove| 263 |parts| 269 |nodes| 274 |nodeOf?| 279
             |node?| 285 |more?| 291 |members| 297 |member?| 302 |map!|
             308 |map| 314 |less?| 320 |leaves| 326 |leaf?| 331 |latex|
             336 |hash| 341 |extractSplittingLeaf| 346 |every?| 351
             |eval| 357 |eq?| 383 |empty?| 389 |empty| 394 |elt| 398
             |distance| 404 |cyclic?| 410 |count| 415 |copy| 427
             |construct| 432 |conditions| 459 |coerce| 464 |children|
             469 |child?| 474 |any?| 480 = 486 |#| 492)
          'NIL
          (CONS (|makeByteWordVec2| 2 '(0 0 0 2 1 0 0 0 2 1 1))
                (CONS '#(|RecursiveAggregate&| |HomogeneousAggregate&|
                         |Aggregate&| |Evalable&| |SetCategory&| NIL
                         NIL NIL |InnerEvalable&| |BasicType&| NIL)
                      (CONS '#((|RecursiveAggregate|
                                   (|SplittingNode| 6 7))
                               (|HomogeneousAggregate|
                                   (|SplittingNode| 6 7))
                               (|Aggregate|)
                               (|Evalable| (|SplittingNode| 6 7))
                               (|SetCategory|) (|Type|)
                               (|finiteAggregate|) (|shallowlyMutable|)
                               (|InnerEvalable| (|SplittingNode| 6 7)
                                   (|SplittingNode| 6 7))
                               (|BasicType|) (|CoercibleTo| 65))
                            (|makeByteWordVec2| 96
                                '(2 8 0 6 7 10 2 8 11 6 15 16 1 8 18 0
                                  19 1 20 18 0 21 0 8 0 23 2 8 18 0 0
                                  26 1 8 18 0 27 1 20 2 0 29 2 20 0 2 0
                                  31 1 20 0 0 32 2 20 0 33 0 34 1 20 0
                                  0 35 1 8 6 0 36 1 8 7 0 37 2 20 0 2 0
                                  39 1 8 0 0 47 1 20 0 11 51 1 13 0 11
                                  53 2 55 0 0 0 56 3 59 55 58 0 55 60 2
                                  8 18 0 0 61 2 20 18 0 0 62 1 65 0 64
                                  66 1 8 65 0 67 2 65 0 0 0 68 1 65 0 0
                                  69 1 65 0 11 70 2 65 0 0 0 71 2 8 0 0
                                  18 76 3 8 18 0 0 82 83 1 13 0 0 85 0
                                  6 0 86 0 7 0 87 3 8 0 6 7 18 88 2 1
                                  18 0 0 1 1 0 8 0 25 1 0 0 0 75 3 0 18
                                  8 0 82 84 4 0 0 0 0 13 82 90 3 0 0 0
                                  0 13 89 2 0 18 0 55 1 2 5 8 0 8 42 3
                                  5 8 0 95 8 1 2 5 0 0 11 40 0 0 0 1 1
                                  0 78 0 79 2 0 0 8 0 38 2 0 0 8 0 30 1
                                  3 13 0 1 1 0 11 0 50 2 0 18 8 0 81 2
                                  1 18 0 0 1 2 0 18 0 55 1 1 3 13 0 54
                                  2 4 18 8 0 1 2 5 0 44 0 46 2 0 0 44 0
                                  45 2 0 18 0 55 1 1 0 13 0 52 1 0 18 0
                                  41 1 1 64 0 1 1 1 93 0 1 1 0 73 0 74
                                  2 3 18 94 0 1 3 2 0 0 13 13 1 3 2 0 0
                                  8 8 1 2 2 0 0 91 1 2 2 0 0 92 1 2 0
                                  18 0 0 49 1 0 18 0 22 0 0 0 24 2 0 8
                                  0 95 1 2 0 96 0 0 1 1 0 18 0 43 2 4
                                  55 8 0 1 2 3 55 94 0 1 1 0 0 0 48 4 0
                                  0 6 7 6 15 17 3 0 0 6 7 11 12 3 0 0 6
                                  7 13 14 1 0 0 8 9 1 0 15 0 80 1 1 65
                                  0 72 1 0 11 0 28 2 1 18 0 0 1 2 3 18
                                  94 0 1 2 1 18 0 0 63 1 3 55 0 57)))))
          '|lookupComplete|)) 
