
(/VERSIONCHECK 2) 

(DEFUN |MSET;elt| (|t| |s| $)
  (PROG (|a|)
    (RETURN
      (SEQ (LETT |a| (SPADCALL |s| |t| (QREFELT $ 10)) |MSET;elt|)
           (EXIT (COND ((QEQCAR |a| 1) 0) ('T (QCDR |a|)))))))) 

(DEFUN |MSET;empty;$;2| ($) (CONS 0 (SPADCALL (QREFELT $ 11)))) 

(DEFUN |MSET;multiset;$;3| ($) (SPADCALL (QREFELT $ 12))) 

(DEFUN |MSET;dictionary;$;4| ($) (SPADCALL (QREFELT $ 12))) 

(DEFUN |MSET;set;$;5| ($) (SPADCALL (QREFELT $ 12))) 

(DEFUN |MSET;brace;$;6| ($) (SPADCALL (QREFELT $ 12))) 

(DEFUN |MSET;construct;L$;7| (|l| $)
  (PROG (|t| |e| #0=#:G1847 |n|)
    (RETURN
      (SEQ (LETT |t| (SPADCALL (QREFELT $ 11))
                 . #1=(|MSET;construct;L$;7|))
           (LETT |n| 0 . #1#)
           (SEQ (LETT |e| NIL . #1#) (LETT #0# |l| . #1#) G190
                (COND
                  ((OR (ATOM #0#)
                       (PROGN (LETT |e| (CAR #0#) . #1#) NIL))
                   (GO G191)))
                (SEQ (SPADCALL |t| |e| (+ (|MSET;elt| |t| |e| $) 1)
                         (QREFELT $ 18))
                     (EXIT (LETT |n| (+ |n| 1) . #1#)))
                (LETT #0# (CDR #0#) . #1#) (GO G190) G191 (EXIT NIL))
           (EXIT (CONS |n| |t|)))))) 

(DEFUN |MSET;multiset;L$;8| (|l| $) (SPADCALL |l| (QREFELT $ 20))) 

(DEFUN |MSET;bag;L$;9| (|l| $) (SPADCALL |l| (QREFELT $ 20))) 

(DEFUN |MSET;dictionary;L$;10| (|l| $) (SPADCALL |l| (QREFELT $ 20))) 

(DEFUN |MSET;set;L$;11| (|l| $) (SPADCALL |l| (QREFELT $ 20))) 

(DEFUN |MSET;brace;L$;12| (|l| $) (SPADCALL |l| (QREFELT $ 20))) 

(DEFUN |MSET;multiset;S$;13| (|s| $)
  (SPADCALL (LIST |s|) (QREFELT $ 20))) 

(DEFUN |MSET;convert;$If;14| (|ms| $)
  (SPADCALL
      (LIST (SPADCALL (SPADCALL "multiset" (QREFELT $ 29))
                (QREFELT $ 31))
            (SPADCALL (SPADCALL |ms| (QREFELT $ 32)) (QREFELT $ 33)))
      (QREFELT $ 35))) 

(DEFUN |MSET;members;$L;15| (|ms| $)
  (SPADCALL (QCDR |ms|) (QREFELT $ 37))) 

(DEFUN |MSET;coerce;$Of;16| (|ms| $)
  (PROG (|t| |colon| |e| #0=#:G1861 |ex| |n| |item| |l|)
    (RETURN
      (SEQ (LETT |l| NIL . #1=(|MSET;coerce;$Of;16|))
           (LETT |t| (QCDR |ms|) . #1#) (LETT |colon| ": " . #1#)
           (SEQ (LETT |e| NIL . #1#)
                (LETT #0# (SPADCALL |t| (QREFELT $ 37)) . #1#) G190
                (COND
                  ((OR (ATOM #0#)
                       (PROGN (LETT |e| (CAR #0#) . #1#) NIL))
                   (GO G191)))
                (SEQ (LETT |ex| (SPADCALL |e| (QREFELT $ 40)) . #1#)
                     (LETT |n| (|MSET;elt| |t| |e| $) . #1#)
                     (LETT |item|
                           (COND
                             ((< 1 |n|)
                              (SPADCALL
                                  (LIST (SPADCALL |n| (QREFELT $ 41))
                                        |colon| |ex|)
                                  (QREFELT $ 42)))
                             ('T |ex|)) . #1#)
                     (EXIT (LETT |l| (CONS |item| |l|) . #1#)))
                (LETT #0# (CDR #0#) . #1#) (GO G190) G191 (EXIT NIL))
           (EXIT (SPADCALL |l| (QREFELT $ 43))))))) 

(DEFUN |MSET;duplicates;$L;17| (|ms| $)
  (PROG (|t| |e| #0=#:G1869 |n| #1=#:G1863 |ld|)
    (RETURN
      (SEQ (LETT |ld| NIL . #2=(|MSET;duplicates;$L;17|))
           (LETT |t| (QCDR |ms|) . #2#)
           (SEQ (LETT |e| NIL . #2#)
                (LETT #0# (SPADCALL |t| (QREFELT $ 37)) . #2#) G190
                (COND
                  ((OR (ATOM #0#)
                       (PROGN (LETT |e| (CAR #0#) . #2#) NIL))
                   (GO G191)))
                (SEQ (EXIT (COND
                             ((< 1
                                 (LETT |n|
                                       (|MSET;elt| |t| |e| $) . #2#))
                              (LETT |ld|
                                    (CONS
                                     (CONS |e|
                                      (PROG1 (LETT #1# |n| . #2#)
                                        (|check-subtype| (>= #1# 0)
                                         '(|NonNegativeInteger|) #1#)))
                                     |ld|) . #2#)))))
                (LETT #0# (CDR #0#) . #2#) (GO G190) G191 (EXIT NIL))
           (EXIT |ld|))))) 

(DEFUN |MSET;extract!;$S;18| (|ms| $)
  (PROG (|t| |e| |n|)
    (RETURN
      (SEQ (COND
             ((SPADCALL |ms| (QREFELT $ 49))
              (|error| "extract: Empty multiset"))
             ('T
              (SEQ (PROGN (RPLACA |ms| (- (QCAR |ms|) 1)) (QCAR |ms|))
                   (LETT |t| (QCDR |ms|) . #0=(|MSET;extract!;$S;18|))
                   (LETT |e|
                         (QCAR (SPADCALL |t| (QREFELT $ 51))) . #0#)
                   (SEQ (LETT |n| (|MSET;elt| |t| |e| $) . #0#)
                        (EXIT (COND
                                ((< 1 |n|)
                                 (SPADCALL |t| |e| (- |n| 1)
                                     (QREFELT $ 18)))
                                ('T (SPADCALL |e| |t| (QREFELT $ 52))))))
                   (EXIT |e|)))))))) 

(DEFUN |MSET;inspect;$S;19| (|ms| $)
  (QCAR (SPADCALL (QCDR |ms|) (QREFELT $ 51)))) 

(DEFUN |MSET;insert!;S2$;20| (|e| |ms| $)
  (SEQ (PROGN (RPLACA |ms| (+ (QCAR |ms|) 1)) (QCAR |ms|))
       (SPADCALL (QCDR |ms|) |e| (+ (|MSET;elt| (QCDR |ms|) |e| $) 1)
           (QREFELT $ 18))
       (EXIT |ms|))) 

(DEFUN |MSET;member?;S$B;21| (|e| |ms| $)
  (SPADCALL |e| (SPADCALL (QCDR |ms|) (QREFELT $ 37)) (QREFELT $ 56))) 

(DEFUN |MSET;empty?;$B;22| (|ms| $) (EQL (QCAR |ms|) 0)) 

(DEFUN |MSET;#;$Nni;23| (|ms| $)
  (PROG (#0=#:G1887)
    (RETURN
      (PROG1 (LETT #0# (QCAR |ms|) |MSET;#;$Nni;23|)
        (|check-subtype| (>= #0# 0) '(|NonNegativeInteger|) #0#))))) 

(DEFUN |MSET;count;S$Nni;24| (|e| |ms| $)
  (PROG (#0=#:G1889)
    (RETURN
      (PROG1 (LETT #0# (|MSET;elt| (QCDR |ms|) |e| $)
                   |MSET;count;S$Nni;24|)
        (|check-subtype| (>= #0# 0) '(|NonNegativeInteger|) #0#))))) 

(DEFUN |MSET;remove!;S$I$;25| (|e| |ms| |max| $)
  (PROG (|t| #0=#:G1898 |n|)
    (RETURN
      (SEQ (COND
             ((ZEROP |max|) (SPADCALL |e| |ms| (QREFELT $ 61)))
             ('T
              (SEQ (LETT |t| (QCDR |ms|) . #1=(|MSET;remove!;S$I$;25|))
                   (COND
                     ((SPADCALL |e| (SPADCALL |t| (QREFELT $ 37))
                          (QREFELT $ 56))
                      (SEQ (EXIT (SEQ (SEQ
                                       (LETT |n|
                                        (|MSET;elt| |t| |e| $) . #1#)
                                       (EXIT
                                        (COND
                                          ((NULL (< |max| |n|))
                                           (PROGN
                                             (LETT #0#
                                              (SEQ
                                               (SPADCALL |e| |t|
                                                (QREFELT $ 52))
                                               (EXIT
                                                (PROGN
                                                  (RPLACA |ms|
                                                   (- (QCAR |ms|) |n|))
                                                  (QCAR |ms|)))) . #1#)
                                             (GO #0#))))))
                                      (EXIT
                                       (COND
                                         ((< 0 |max|)
                                          (SEQ
                                           (SPADCALL |t| |e|
                                            (- |n| |max|)
                                            (QREFELT $ 18))
                                           (EXIT
                                            (PROGN
                                              (RPLACA |ms|
                                               (- (QCAR |ms|) |max|))
                                              (QCAR |ms|)))))
                                         ('T
                                          (SEQ
                                           (LETT |n|
                                            (+ |n| |max|) . #1#)
                                           (EXIT
                                            (COND
                                              ((< 0 |n|)
                                               (SEQ
                                                (SPADCALL |t| |e|
                                                 (- |max|)
                                                 (QREFELT $ 18))
                                                (EXIT
                                                 (PROGN
                                                   (RPLACA |ms|
                                                    (- (QCAR |ms|) |n|))
                                                   (QCAR |ms|)))))))))))))
                           #0# (EXIT #0#))))
                   (EXIT |ms|)))))))) 

(DEFUN |MSET;remove!;M$I$;26| (|p| |ms| |max| $)
  (PROG (|t| |e| #0=#:G1914 #1=#:G1909 |n| #2=#:G1908)
    (RETURN
      (SEQ (COND
             ((ZEROP |max|) (SPADCALL |p| |ms| (QREFELT $ 64)))
             ('T
              (SEQ (LETT |t| (QCDR |ms|) . #3=(|MSET;remove!;M$I$;26|))
                   (SEQ (LETT |e| NIL . #3#)
                        (LETT #0# (SPADCALL |t| (QREFELT $ 37)) . #3#)
                        G190
                        (COND
                          ((OR (ATOM #0#)
                               (PROGN (LETT |e| (CAR #0#) . #3#) NIL))
                           (GO G191)))
                        (SEQ (EXIT (COND
                                     ((SPADCALL |e| |p|)
                                      (SEQ
                                       (EXIT
                                        (SEQ
                                         (SEQ
                                          (LETT |n|
                                           (|MSET;elt| |t| |e| $) . #3#)
                                          (EXIT
                                           (COND
                                             ((NULL (< |max| |n|))
                                              (PROGN
                                                (LETT #1#
                                                 (SEQ
                                                  (SPADCALL |e| |t|
                                                   (QREFELT $ 52))
                                                  (EXIT
                                                   (PROGN
                                                     (RPLACA |ms|
                                                      (- (QCAR |ms|)
                                                       |n|))
                                                     (QCAR |ms|)))) . #3#)
                                                (GO #1#))))))
                                         (EXIT
                                          (COND
                                            ((< 0 |max|)
                                             (SEQ
                                              (SPADCALL |t| |e|
                                               (- |n| |max|)
                                               (QREFELT $ 18))
                                              (EXIT
                                               (PROGN
                                                 (RPLACA |ms|
                                                  (- (QCAR |ms|) |max|))
                                                 (QCAR |ms|)))))
                                            ('T
                                             (SEQ
                                              (EXIT
                                               (SEQ
                                                (LETT |n|
                                                 (+ |n| |max|) . #3#)
                                                (EXIT
                                                 (COND
                                                   ((< 0 |n|)
                                                    (PROGN
                                                      (LETT #2#
                                                       (SEQ
                                                        (SPADCALL |t|
                                                         |e| (- |max|)
                                                         (QREFELT $ 18))
                                                        (EXIT
                                                         (PROGN
                                                           (RPLACA |ms|
                                                            (-
                                                             (QCAR
                                                              |ms|)
                                                             |n|))
                                                           (QCAR |ms|)))) . #3#)
                                                      (GO #2#)))))))
                                              #2# (EXIT #2#)))))))
                                       #1# (EXIT #1#))))))
                        (LETT #0# (CDR #0#) . #3#) (GO G190) G191
                        (EXIT NIL))
                   (EXIT |ms|)))))))) 

(DEFUN |MSET;remove;S$I$;27| (|e| |ms| |max| $)
  (SPADCALL |e| (SPADCALL |ms| (QREFELT $ 66)) |max| (QREFELT $ 62))) 

(DEFUN |MSET;remove;M$I$;28| (|p| |ms| |max| $)
  (SPADCALL |p| (SPADCALL |ms| (QREFELT $ 66)) |max| (QREFELT $ 65))) 

(DEFUN |MSET;remove!;S2$;29| (|e| |ms| $)
  (PROG (|t|)
    (RETURN
      (SEQ (LETT |t| (QCDR |ms|) |MSET;remove!;S2$;29|)
           (COND
             ((SPADCALL |e| (SPADCALL |t| (QREFELT $ 37))
                  (QREFELT $ 56))
              (SEQ (PROGN
                     (RPLACA |ms|
                             (- (QCAR |ms|) (|MSET;elt| |t| |e| $)))
                     (QCAR |ms|))
                   (EXIT (SPADCALL |e| |t| (QREFELT $ 52))))))
           (EXIT |ms|))))) 

(DEFUN |MSET;remove!;M2$;30| (|p| |ms| $)
  (PROG (|t| |e| #0=#:G1927)
    (RETURN
      (SEQ (LETT |t| (QCDR |ms|) . #1=(|MSET;remove!;M2$;30|))
           (SEQ (LETT |e| NIL . #1#)
                (LETT #0# (SPADCALL |t| (QREFELT $ 37)) . #1#) G190
                (COND
                  ((OR (ATOM #0#)
                       (PROGN (LETT |e| (CAR #0#) . #1#) NIL))
                   (GO G191)))
                (SEQ (EXIT (COND
                             ((SPADCALL |e| |p|)
                              (SEQ (PROGN
                                     (RPLACA |ms|
                                      (- (QCAR |ms|)
                                       (|MSET;elt| |t| |e| $)))
                                     (QCAR |ms|))
                                   (EXIT
                                    (SPADCALL |e| |t| (QREFELT $ 52))))))))
                (LETT #0# (CDR #0#) . #1#) (GO G190) G191 (EXIT NIL))
           (EXIT |ms|))))) 

(DEFUN |MSET;select!;M2$;31| (|p| |ms| $)
  (PROG ()
    (RETURN
      (SPADCALL (CONS #'|MSET;select!;M2$;31!0| (VECTOR $ |p|)) |ms|
          (QREFELT $ 64))))) 

(DEFUN |MSET;select!;M2$;31!0| (|#1| $$)
  (PROG ($)
    (LETT $ (QREFELT $$ 0) |MSET;select!;M2$;31|)
    (RETURN
      (PROGN
        (COND
          ((SPADCALL |#1| (QREFELT $$ 1)) (|spadConstant| $ 69))
          ('T (|spadConstant| $ 70))))))) 

(DEFUN |MSET;removeDuplicates!;2$;32| (|ms| $)
  (PROG (|t| |l| |e| #0=#:G1933)
    (RETURN
      (SEQ (LETT |t| (QCDR |ms|) . #1=(|MSET;removeDuplicates!;2$;32|))
           (LETT |l| (SPADCALL |t| (QREFELT $ 37)) . #1#)
           (SEQ (LETT |e| NIL . #1#) (LETT #0# |l| . #1#) G190
                (COND
                  ((OR (ATOM #0#)
                       (PROGN (LETT |e| (CAR #0#) . #1#) NIL))
                   (GO G191)))
                (SEQ (EXIT (SPADCALL |t| |e| 1 (QREFELT $ 18))))
                (LETT #0# (CDR #0#) . #1#) (GO G190) G191 (EXIT NIL))
           (PROGN (RPLACA |ms| (LENGTH |l|)) (QCAR |ms|)) (EXIT |ms|))))) 

(DEFUN |MSET;insert!;S$Nni$;33| (|e| |ms| |more| $)
  (SEQ (PROGN (RPLACA |ms| (+ (QCAR |ms|) |more|)) (QCAR |ms|))
       (SPADCALL (QCDR |ms|) |e|
           (+ (|MSET;elt| (QCDR |ms|) |e| $) |more|) (QREFELT $ 18))
       (EXIT |ms|))) 

(DEFUN |MSET;map!;M2$;34| (|f| |ms| $)
  (PROG (|t| |t1| |e| #0=#:G1942)
    (RETURN
      (SEQ (LETT |t| (QCDR |ms|) . #1=(|MSET;map!;M2$;34|))
           (LETT |t1| (SPADCALL (QREFELT $ 11)) . #1#)
           (SEQ (LETT |e| NIL . #1#)
                (LETT #0# (SPADCALL |t| (QREFELT $ 37)) . #1#) G190
                (COND
                  ((OR (ATOM #0#)
                       (PROGN (LETT |e| (CAR #0#) . #1#) NIL))
                   (GO G191)))
                (SEQ (SPADCALL |t1| (SPADCALL |e| |f|)
                         (|MSET;elt| |t| |e| $) (QREFELT $ 18))
                     (EXIT (SPADCALL |e| |t| (QREFELT $ 52))))
                (LETT #0# (CDR #0#) . #1#) (GO G190) G191 (EXIT NIL))
           (PROGN (RPLACD |ms| |t1|) (QCDR |ms|)) (EXIT |ms|))))) 

(DEFUN |MSET;map;M2$;35| (|f| |ms| $)
  (SPADCALL |f| (SPADCALL |ms| (QREFELT $ 66)) (QREFELT $ 75))) 

(DEFUN |MSET;parts;$L;36| (|m| $)
  (PROG (|t| |e| #0=#:G1948 |i| #1=#:G1949 |l|)
    (RETURN
      (SEQ (LETT |l| NIL . #2=(|MSET;parts;$L;36|))
           (LETT |t| (QCDR |m|) . #2#)
           (SEQ (LETT |e| NIL . #2#)
                (LETT #0# (SPADCALL |t| (QREFELT $ 37)) . #2#) G190
                (COND
                  ((OR (ATOM #0#)
                       (PROGN (LETT |e| (CAR #0#) . #2#) NIL))
                   #3=(GO G191)))
                (SEQ (EXIT (SEQ (LETT |i| 1 . #2#)
                                (LETT #1# (|MSET;elt| |t| |e| $) . #2#)
                                G190 (COND ((QSGREATERP |i| #1#) #3#))
                                (SEQ (EXIT
                                      (LETT |l| (CONS |e| |l|) . #2#)))
                                (LETT |i| (QSADD1 |i|) . #2#)
                                #4=(GO G190) G191 (EXIT NIL))))
                (LETT #0# (CDR #0#) . #2#) #4# G191 (EXIT NIL))
           (EXIT |l|))))) 

(DEFUN |MSET;union;3$;37| (|m1| |m2| $)
  (PROG (|t| |t1| |t2| #0=#:G1954 |e| #1=#:G1955)
    (RETURN
      (SEQ (LETT |t| (SPADCALL (QREFELT $ 11))
                 . #2=(|MSET;union;3$;37|))
           (LETT |t1| (QCDR |m1|) . #2#) (LETT |t2| (QCDR |m2|) . #2#)
           (SEQ (LETT |e| NIL . #2#)
                (LETT #0# (SPADCALL |t1| (QREFELT $ 37)) . #2#) G190
                (COND
                  ((OR (ATOM #0#)
                       (PROGN (LETT |e| (CAR #0#) . #2#) NIL))
                   #3=(GO G191)))
                (SEQ (EXIT (SPADCALL |t| |e| (|MSET;elt| |t1| |e| $)
                               (QREFELT $ 18))))
                (LETT #0# (CDR #0#) . #2#) #4=(GO G190) G191
                (EXIT NIL))
           (SEQ (LETT |e| NIL . #2#)
                (LETT #1# (SPADCALL |t2| (QREFELT $ 37)) . #2#) G190
                (COND
                  ((OR (ATOM #1#)
                       (PROGN (LETT |e| (CAR #1#) . #2#) NIL))
                   #3#))
                (SEQ (EXIT (SPADCALL |t| |e|
                               (+ (|MSET;elt| |t2| |e| $)
                                  (|MSET;elt| |t| |e| $))
                               (QREFELT $ 18))))
                (LETT #1# (CDR #1#) . #2#) #4# G191 (EXIT NIL))
           (EXIT (CONS (+ (QCAR |m1|) (QCAR |m2|)) |t|)))))) 

(DEFUN |MSET;intersect;3$;38| (|m1| |m2| $)
  (PROG (|t| |t1| |t2| |e| #0=#:G1961 |m| |n|)
    (RETURN
      (SEQ (LETT |t| (SPADCALL (QREFELT $ 11))
                 . #1=(|MSET;intersect;3$;38|))
           (LETT |t1| (QCDR |m1|) . #1#) (LETT |t2| (QCDR |m2|) . #1#)
           (LETT |n| 0 . #1#)
           (SEQ (LETT |e| NIL . #1#)
                (LETT #0# (SPADCALL |t1| (QREFELT $ 37)) . #1#) G190
                (COND
                  ((OR (ATOM #0#)
                       (PROGN (LETT |e| (CAR #0#) . #1#) NIL))
                   (GO G191)))
                (SEQ (LETT |m|
                           (MIN (|MSET;elt| |t1| |e| $)
                                (|MSET;elt| |t2| |e| $)) . #1#)
                     (EXIT (COND
                             ((< 0 |m|)
                              (SEQ (LETT |m|
                                    (+ (|MSET;elt| |t1| |e| $)
                                     (|MSET;elt| |t2| |e| $)) . #1#)
                                   (SPADCALL |t| |e| |m|
                                    (QREFELT $ 18))
                                   (EXIT (LETT |n| (+ |n| |m|) . #1#)))))))
                (LETT #0# (CDR #0#) . #1#) (GO G190) G191 (EXIT NIL))
           (EXIT (CONS |n| |t|)))))) 

(DEFUN |MSET;difference;3$;39| (|m1| |m2| $)
  (PROG (|t| |t1| |t2| |e| #0=#:G1967 |k1| |k2| |n|)
    (RETURN
      (SEQ (LETT |t| (SPADCALL (QREFELT $ 11))
                 . #1=(|MSET;difference;3$;39|))
           (LETT |t1| (QCDR |m1|) . #1#) (LETT |t2| (QCDR |m2|) . #1#)
           (LETT |n| 0 . #1#)
           (SEQ (LETT |e| NIL . #1#)
                (LETT #0# (SPADCALL |t1| (QREFELT $ 37)) . #1#) G190
                (COND
                  ((OR (ATOM #0#)
                       (PROGN (LETT |e| (CAR #0#) . #1#) NIL))
                   (GO G191)))
                (SEQ (LETT |k1| (|MSET;elt| |t1| |e| $) . #1#)
                     (LETT |k2| (|MSET;elt| |t2| |e| $) . #1#)
                     (EXIT (COND
                             ((< 0 |k1|)
                              (COND
                                ((EQL |k2| 0)
                                 (SEQ (SPADCALL |t| |e| |k1|
                                       (QREFELT $ 18))
                                      (EXIT
                                       (LETT |n| (+ |n| |k1|) . #1#)))))))))
                (LETT #0# (CDR #0#) . #1#) (GO G190) G191 (EXIT NIL))
           (EXIT (COND
                   ((EQL |n| 0) (SPADCALL (QREFELT $ 12)))
                   ('T (CONS |n| |t|)))))))) 

(DEFUN |MSET;symmetricDifference;3$;40| (|m1| |m2| $)
  (SPADCALL (SPADCALL |m1| |m2| (QREFELT $ 79))
      (SPADCALL |m2| |m1| (QREFELT $ 79)) (QREFELT $ 77))) 

(DEFUN |MSET;=;2$B;41| (|m1| |m2| $)
  (PROG (|t1| |t2| #0=#:G1977 #1=#:G1972 |e| #2=#:G1978 #3=#:G1976
              #4=#:G1974)
    (RETURN
      (SEQ (EXIT (COND
                   ((NULL (EQL (QCAR |m1|) (QCAR |m2|))) 'NIL)
                   ('T
                    (SEQ (LETT |t1| (QCDR |m1|) . #5=(|MSET;=;2$B;41|))
                         (LETT |t2| (QCDR |m2|) . #5#)
                         (SEQ (EXIT (SEQ (LETT |e| NIL . #5#)
                                     (LETT #0#
                                      (SPADCALL |t1| (QREFELT $ 37)) . #5#)
                                     G190
                                     (COND
                                       ((OR (ATOM #0#)
                                         (PROGN
                                           (LETT |e| (CAR #0#) . #5#)
                                           NIL))
                                        #6=(GO G191)))
                                     (SEQ
                                      (EXIT
                                       (COND
                                         ((NULL
                                           (EQL (|MSET;elt| |t1| |e| $)
                                            (|MSET;elt| |t2| |e| $)))
                                          (PROGN
                                            (LETT #1#
                                             (PROGN
                                               (LETT #3# 'NIL . #5#)
                                               (GO #3#)) . #5#)
                                            (GO #1#))))))
                                     (LETT #0# (CDR #0#) . #5#)
                                     #7=(GO G190) G191 (EXIT NIL)))
                              #1# (EXIT #1#))
                         (SEQ (EXIT (SEQ (LETT |e| NIL . #5#)
                                     (LETT #2#
                                      (SPADCALL |t2| (QREFELT $ 37)) . #5#)
                                     G190
                                     (COND
                                       ((OR (ATOM #2#)
                                         (PROGN
                                           (LETT |e| (CAR #2#) . #5#)
                                           NIL))
                                        #6#))
                                     (SEQ
                                      (EXIT
                                       (COND
                                         ((NULL
                                           (EQL (|MSET;elt| |t1| |e| $)
                                            (|MSET;elt| |t2| |e| $)))
                                          (PROGN
                                            (LETT #4#
                                             (PROGN
                                               (LETT #3# 'NIL . #5#)
                                               (GO #3#)) . #5#)
                                            (GO #4#))))))
                                     (LETT #2# (CDR #2#) . #5#) #7#
                                     G191 (EXIT NIL)))
                              #4# (EXIT #4#))
                         (EXIT 'T)))))
           #3# (EXIT #3#))))) 

(DEFUN |MSET;<;2$B;42| (|m1| |m2| $)
  (PROG (|t1| |t2| |e| #0=#:G1985 #1=#:G1984 #2=#:G1982)
    (RETURN
      (SEQ (EXIT (COND
                   ((NULL (< (QCAR |m1|) (QCAR |m2|))) 'NIL)
                   ('T
                    (SEQ (LETT |t1| (QCDR |m1|) . #3=(|MSET;<;2$B;42|))
                         (LETT |t2| (QCDR |m2|) . #3#)
                         (SEQ (EXIT (SEQ (LETT |e| NIL . #3#)
                                     (LETT #0#
                                      (SPADCALL |t1| (QREFELT $ 37)) . #3#)
                                     G190
                                     (COND
                                       ((OR (ATOM #0#)
                                         (PROGN
                                           (LETT |e| (CAR #0#) . #3#)
                                           NIL))
                                        (GO G191)))
                                     (SEQ
                                      (EXIT
                                       (COND
                                         ((< (|MSET;elt| |t2| |e| $)
                                           (|MSET;elt| |t1| |e| $))
                                          (PROGN
                                            (LETT #2#
                                             (PROGN
                                               (LETT #1# 'NIL . #3#)
                                               (GO #1#)) . #3#)
                                            (GO #2#))))))
                                     (LETT #0# (CDR #0#) . #3#)
                                     (GO G190) G191 (EXIT NIL)))
                              #2# (EXIT #2#))
                         (EXIT (< (QCAR |m1|) (QCAR |m2|)))))))
           #1# (EXIT #1#))))) 

(DEFUN |MSET;subset?;2$B;43| (|m1| |m2| $)
  (PROG (|t1| |t2| |e| #0=#:G1992 #1=#:G1991 #2=#:G1988)
    (RETURN
      (SEQ (EXIT (COND
                   ((< (QCAR |m2|) (QCAR |m1|)) 'NIL)
                   ('T
                    (SEQ (LETT |t1| (QCDR |m1|)
                               . #3=(|MSET;subset?;2$B;43|))
                         (LETT |t2| (QCDR |m2|) . #3#)
                         (SEQ (EXIT (SEQ (LETT |e| NIL . #3#)
                                     (LETT #0#
                                      (SPADCALL |t1| (QREFELT $ 37)) . #3#)
                                     G190
                                     (COND
                                       ((OR (ATOM #0#)
                                         (PROGN
                                           (LETT |e| (CAR #0#) . #3#)
                                           NIL))
                                        (GO G191)))
                                     (SEQ
                                      (EXIT
                                       (COND
                                         ((< (|MSET;elt| |t2| |e| $)
                                           (|MSET;elt| |t1| |e| $))
                                          (PROGN
                                            (LETT #2#
                                             (PROGN
                                               (LETT #1# 'NIL . #3#)
                                               (GO #1#)) . #3#)
                                            (GO #2#))))))
                                     (LETT #0# (CDR #0#) . #3#)
                                     (GO G190) G191 (EXIT NIL)))
                              #2# (EXIT #2#))
                         (EXIT 'T)))))
           #1# (EXIT #1#))))) 

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

(DEFUN |Multiset;| (|#1|)
  (PROG (DV$1 |dv$| $ #0=#:G1997 |pv$| #1=#:G1998)
    (RETURN
      (PROGN
        (LETT DV$1 (|devaluate| |#1|) . #2=(|Multiset|))
        (LETT |dv$| (LIST '|Multiset| DV$1) . #2#)
        (LETT $ (GETREFV 89) . #2#)
        (QSETREFV $ 0 |dv$|)
        (QSETREFV $ 3
            (LETT |pv$|
                  (|buildPredVector| 0 0
                      (LIST (|HasCategory| |#1|
                                '(|ConvertibleTo| (|InputForm|)))
                            (LETT #0#
                                  (|HasCategory| |#1| '(|SetCategory|)) . #2#)
                            (AND #0#
                                 (|HasCategory| |#1|
                                     (LIST '|Evalable|
                                      (|devaluate| |#1|)))))) . #2#))
        (|haddProp| |$ConstructorCache| '|Multiset| (LIST DV$1)
            (CONS 1 $))
        (|stuffDomainSlots| $)
        (QSETREFV $ 6 |#1|)
        (AND (|HasCategory| $ '(|shallowlyMutable|))
             (|augmentPredVector| $ 8))
        (AND (LETT #1# (|HasCategory| $ '(|finiteAggregate|)) . #2#)
             (|augmentPredVector| $ 16))
        (AND #1# #0# (|augmentPredVector| $ 32))
        (QSETREFV $ 7
            (|Record| (|:| |count| (|Integer|))
                (|:| |table| (|Table| |#1| (|Integer|)))))
        (COND
          ((|testBitVector| |pv$| 1)
           (QSETREFV $ 36
               (CONS (|dispatchFunction| |MSET;convert;$If;14|) $))))
        $)))) 

(MAKEPROP '|Multiset| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) '|Rep|
             (|Union| 17 '"failed") (|Table| 6 17) (0 . |search|)
             (6 . |table|) |MSET;empty;$;2| |MSET;multiset;$;3|
             |MSET;dictionary;$;4| |MSET;set;$;5| |MSET;brace;$;6|
             (|Integer|) (10 . |setelt|) (|List| 6)
             |MSET;construct;L$;7| |MSET;multiset;L$;8| |MSET;bag;L$;9|
             |MSET;dictionary;L$;10| |MSET;set;L$;11|
             |MSET;brace;L$;12| |MSET;multiset;S$;13| (|String|)
             (|Symbol|) (17 . |coerce|) (|InputForm|) (22 . |convert|)
             |MSET;parts;$L;36| (27 . |convert|) (|List| $)
             (32 . |convert|) (37 . |convert|) (42 . |keys|)
             |MSET;members;$L;15| (|OutputForm|) (47 . |coerce|)
             (52 . |coerce|) (57 . |hconcat|) (62 . |brace|)
             |MSET;coerce;$Of;16|
             (|Record| (|:| |entry| 6) (|:| |count| 58)) (|List| 45)
             |MSET;duplicates;$L;17| (|Boolean|) |MSET;empty?;$B;22|
             (|Record| (|:| |key| 6) (|:| |entry| 17)) (67 . |inspect|)
             (72 . |remove!|) |MSET;extract!;$S;18|
             |MSET;inspect;$S;19| |MSET;insert!;S2$;20|
             (78 . |member?|) |MSET;member?;S$B;21|
             (|NonNegativeInteger|) |MSET;#;$Nni;23|
             |MSET;count;S$Nni;24| |MSET;remove!;S2$;29|
             |MSET;remove!;S$I$;25| (|Mapping| 48 6)
             |MSET;remove!;M2$;30| |MSET;remove!;M$I$;26| (84 . |copy|)
             |MSET;remove;S$I$;27| |MSET;remove;M$I$;28| (89 . |false|)
             (93 . |true|) |MSET;select!;M2$;31|
             |MSET;removeDuplicates!;2$;32| |MSET;insert!;S$Nni$;33|
             (|Mapping| 6 6) |MSET;map!;M2$;34| |MSET;map;M2$;35|
             |MSET;union;3$;37| |MSET;intersect;3$;38|
             |MSET;difference;3$;39| |MSET;symmetricDifference;3$;40|
             |MSET;=;2$B;41| |MSET;<;2$B;42| |MSET;subset?;2$B;43|
             (|Mapping| 6 6 6) (|Equation| 6) (|List| 85)
             (|SingleInteger|) (|Union| 6 '"failed"))
          '#(~= 97 |union| 103 |symmetricDifference| 121 |subset?| 127
             |size?| 133 |set| 139 |select!| 148 |select| 154 |sample|
             160 |removeDuplicates!| 164 |removeDuplicates| 169
             |remove!| 174 |remove| 200 |reduce| 226 |parts| 247
             |multiset| 252 |more?| 266 |members| 272 |member?| 277
             |map!| 283 |map| 289 |less?| 295 |latex| 301 |intersect|
             306 |inspect| 312 |insert!| 317 |hash| 330 |find| 335
             |extract!| 341 |every?| 346 |eval| 352 |eq?| 378 |empty?|
             384 |empty| 389 |duplicates| 393 |difference| 398
             |dictionary| 410 |count| 419 |copy| 431 |convert| 436
             |construct| 441 |coerce| 446 |brace| 451 |bag| 460 |any?|
             465 = 471 < 477 |#| 483)
          'NIL
          (CONS (|makeByteWordVec2| 3
                    '(0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 3 1))
                (CONS '#(NIL NIL |DictionaryOperations&|
                         |SetAggregate&| |BagAggregate&| |Collection&|
                         |HomogeneousAggregate&| |SetCategory&|
                         |Aggregate&| |Evalable&| NIL NIL |BasicType&|
                         NIL NIL NIL |InnerEvalable&| NIL)
                      (CONS '#((|MultisetAggregate| 6)
                               (|MultiDictionary| 6)
                               (|DictionaryOperations| 6)
                               (|SetAggregate| 6) (|BagAggregate| 6)
                               (|Collection| 6)
                               (|HomogeneousAggregate| 6)
                               (|SetCategory|) (|Aggregate|)
                               (|Evalable| 6) (|finiteAggregate|)
                               (|partiallyOrderedSet|) (|BasicType|)
                               (|Type|) (|shallowlyMutable|)
                               (|CoercibleTo| 39) (|InnerEvalable| 6 6)
                               (|ConvertibleTo| 30))
                            (|makeByteWordVec2| 88
                                '(2 9 8 6 0 10 0 9 0 11 3 9 17 0 6 17
                                  18 1 28 0 27 29 1 30 0 28 31 1 19 30
                                  0 33 1 30 0 34 35 1 0 30 0 36 1 9 19
                                  0 37 1 6 39 0 40 1 17 39 0 41 1 39 0
                                  34 42 1 39 0 34 43 1 9 50 0 51 2 9 8
                                  6 0 52 2 19 48 6 0 56 1 0 0 0 66 0 48
                                  0 69 0 48 0 70 2 0 48 0 0 1 2 0 0 0 6
                                  1 2 0 0 0 0 77 2 0 0 6 0 1 2 0 0 0 0
                                  80 2 0 48 0 0 83 2 0 48 0 58 1 0 0 0
                                  15 1 0 0 19 24 2 5 0 63 0 71 2 5 0 63
                                  0 1 0 0 0 1 1 0 0 0 72 1 6 0 0 1 2 5
                                  0 63 0 64 2 5 0 6 0 61 3 0 0 6 0 17
                                  62 3 0 0 63 0 17 65 2 6 0 6 0 1 2 5 0
                                  63 0 1 3 0 0 6 0 17 67 3 0 0 63 0 17
                                  68 4 6 6 84 0 6 6 1 3 5 6 84 0 6 1 2
                                  5 6 84 0 1 1 5 19 0 32 1 0 0 19 21 0
                                  0 0 13 1 0 0 6 26 2 0 48 0 58 1 1 0
                                  19 0 38 2 6 48 6 0 57 2 4 0 74 0 75 2
                                  0 0 74 0 76 2 0 48 0 58 1 1 0 27 0 1
                                  2 0 0 0 0 78 1 0 6 0 54 3 0 0 6 0 58
                                  73 2 0 0 6 0 55 1 0 87 0 1 2 0 88 63
                                  0 1 1 0 6 0 53 2 5 48 63 0 1 3 3 0 0
                                  19 19 1 2 3 0 0 85 1 3 3 0 0 6 6 1 2
                                  3 0 0 86 1 2 0 48 0 0 1 1 0 48 0 49 0
                                  0 0 12 1 0 46 0 47 2 0 0 0 6 1 2 0 0
                                  0 0 79 0 0 0 14 1 0 0 19 23 2 6 58 6
                                  0 60 2 5 58 63 0 1 1 0 0 0 66 1 1 30
                                  0 36 1 0 0 19 20 1 0 39 0 44 0 0 0 16
                                  1 0 0 19 25 1 0 0 19 22 2 5 48 63 0 1
                                  2 0 48 0 0 81 2 0 48 0 0 82 1 5 58 0
                                  59)))))
          '|lookupComplete|)) 
