Google
 

Trailing-Edge - PDP-10 Archives - clisp - clisp/upsala/list.lap
There are no other files named list.lap in the archive.
;;; CLC vP.U.V.1(2) compiling CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18

(IN-PACKAGE (QUOTE LISP)) 
(EXPORT (QUOTE (CAAR CADR CDAR CDDR CAAAR CAADR CADAR CADDR CDAAR CDADR CDDAR CDDDR CAAAAR CAAADR CAADAR CAADDR CADAAR CADADR CADDAR CADDDR CDAAAR CDAADR CDADAR CDADDR CDDAAR CDDADR CDDDAR CDDDDR TREE-EQUAL ENDP LIST-LENGTH NTH FIRST SECOND THIRD FOURTH FIFTH SIXTH SEVENTH EIGHTH NINTH TENTH REST NTHCDR LAST LIST LIST* MAKE-LIST APPEND COPY-LIST COPY-ALIST COPY-TREE REVAPPEND NCONC NRECONC BUTLAST NBUTLAST LDIFF SUBST SUBST-IF SUBST-IF-NOT NSUBST NSUBST-IF NSUBST-IF-NOT SUBLIS NSUBLIS MEMBER MEMBER-IF MEMBER-IF-NOT TAILP ADJOIN UNION NUNION INTERSECTION NINTERSECTION SET-DIFFERENCE NSET-DIFFERENCE SET-EXCLUSIVE-OR NSET-EXCLUSIVE-OR SUBSETP ACONS PAIRLIS ASSOC ASSOC-IF ASSOC-IF-NOT RASSOC RASSOC-IF RASSOC-IF-NOT MAPCAR MAPLIST MAPC MAPL MAPCAN MAPCON MEMQ DELQ))) 

#_(LAP #0_CAAR EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 0 O1)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE CAAR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X))) 
(%PUT (QUOTE CAAR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE CAAR) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_CADR EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE CADR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X))) 
(%PUT (QUOTE CADR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE CADR) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_CDAR EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 0 O1)
             (MOVE O1 1 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE CDAR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X))) 
(%PUT (QUOTE CDAR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE CDAR) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_CDDR EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE CDDR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X))) 
(%PUT (QUOTE CDDR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE CDDR) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_CAAAR EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 0 O1)
             (MOVE O1 0 O1)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE CAAAR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X))) 
(%PUT (QUOTE CAAAR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE CAAAR) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_CAADR EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE CAADR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X))) 
(%PUT (QUOTE CAADR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE CAADR) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_CADAR EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 0 O1)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE CADAR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X))) 
(%PUT (QUOTE CADAR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE CADAR) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_CADDR EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE CADDR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X))) 
(%PUT (QUOTE CADDR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE CADDR) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_CDAAR EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 0 O1)
             (MOVE O1 0 O1)
             (MOVE O1 1 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE CDAAR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X))) 
(%PUT (QUOTE CDAAR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE CDAAR) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_CDADR EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (MOVE O1 1 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE CDADR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X))) 
(%PUT (QUOTE CDADR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE CDADR) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_CDDAR EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 0 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE CDDAR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X))) 
(%PUT (QUOTE CDDAR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE CDDAR) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_CDDDR EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE CDDDR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X))) 
(%PUT (QUOTE CDDDR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE CDDDR) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_CAAAAR EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 0 O1)
             (MOVE O1 0 O1)
             (MOVE O1 0 O1)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE CAAAAR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X))) 
(%PUT (QUOTE CAAAAR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE CAAAAR) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_CAAADR EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (MOVE O1 0 O1)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE CAAADR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X))) 
(%PUT (QUOTE CAAADR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE CAAADR) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_CAADAR EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 0 O1)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE CAADAR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X))) 
(%PUT (QUOTE CAADAR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE CAADAR) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_CAADDR EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE CAADDR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X))) 
(%PUT (QUOTE CAADDR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE CAADDR) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_CADAAR EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 0 O1)
             (MOVE O1 0 O1)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE CADAAR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X))) 
(%PUT (QUOTE CADAAR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE CADAAR) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_CADADR EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE CADADR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X))) 
(%PUT (QUOTE CADADR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE CADADR) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_CADDAR EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 0 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE CADDAR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X))) 
(%PUT (QUOTE CADDAR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE CADDAR) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_CADDDR EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE CADDDR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X))) 
(%PUT (QUOTE CADDDR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE CADDDR) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_CDAAAR EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 0 O1)
             (MOVE O1 0 O1)
             (MOVE O1 0 O1)
             (MOVE O1 1 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE CDAAAR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X))) 
(%PUT (QUOTE CDAAAR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE CDAAAR) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_CDAADR EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (MOVE O1 0 O1)
             (MOVE O1 1 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE CDAADR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X))) 
(%PUT (QUOTE CDAADR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE CDAADR) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_CDADAR EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 0 O1)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (MOVE O1 1 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE CDADAR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X))) 
(%PUT (QUOTE CDADAR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE CDADAR) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_CDADDR EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (MOVE O1 1 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE CDADDR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X))) 
(%PUT (QUOTE CDADDR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE CDADDR) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_CDDAAR EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 0 O1)
             (MOVE O1 0 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE CDDAAR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X))) 
(%PUT (QUOTE CDDAAR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE CDDAAR) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_CDDADR EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE CDDADR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X))) 
(%PUT (QUOTE CDDADR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE CDDADR) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_CDDDAR EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 0 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE CDDDAR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X))) 
(%PUT (QUOTE CDDDAR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE CDDDAR) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_CDDDDR EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE CDDDDR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X))) 
(%PUT (QUOTE CDDDDR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE CDDDDR) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE TREE-EQUAL) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns T if X and Y are isomorphic trees with identical leaves.")) 

#_(LAP #0_TREE-EQUAL EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_(:TEST EQL :TEST-NOT (:TEST-NOT :TEST))
       (CODE-START)
(LABEL 2)    (MOVE O3 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 1)
(LABEL 6)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 6)
             (MOVEM O1 -3 Q)
             (MOVEM O2 -2 Q)
             (MOVEM O3 -1 Q)
             (MOVE O2 O3)
(LABEL 8)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 7)
             (JUMPN O2 8)
             (MOVE O1 (CONSTANT 1))
(LABEL 7)    (MOVEM O1 -5 Q)
             (MOVE O2 -1 Q)
(LABEL 10)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 2))
             (JUMPN O4 10)
             (MOVEM O1 -4 Q)
             (MOVE O5 -1 Q)
             (MOVEM O5 0 Q)
             (MOVE O2 (CONSTANT 3))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (SKIPN NIL -4 Q)
             (JRST 12)
             (MOVE O3 -4 Q)
             (MOVE O1 -3 Q)
             (MOVE O2 -2 Q)
             (CALL LISP::TREE-EQUAL-TEST-NOT 3)
             (JRST 13)
(LABEL 12)   (MOVE O3 -5 Q)
             (MOVE O1 -3 Q)
             (MOVE O2 -2 Q)
             (CALL LISP::TREE-EQUAL-TEST 3)
(LABEL 13)   (SUBI Q 6)
             (POPJ P)
)

(%PUT (QUOTE TREE-EQUAL) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X Y &KEY (TEST (FUNCTION EQL)) TEST-NOT))) 
(%PUT (QUOTE TREE-EQUAL) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE TREE-EQUAL) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_TREE-EQUAL-TEST-NOT EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY))
       #0_(T)
       (CODE-START)
(LABEL 1)    (ADDI Q 5)
             (MOVEM O1 -4 Q)
             (MOVEM O2 -3 Q)
             (MOVEM O3 -2 Q)
             (MOVE O5 O3)
             (MOVEM O5 -1 Q)
             (MOVE O6 O5)
             (FCALL 2)
             (JUMPN O1 4)
             (MOVE O1 (CONSTANT 0))
             (MOVEI N 1)
             (JRST 3)
(LABEL 4)    (MOVE O1 -4 Q)
             (CALL CONSP 1)
             (JUMPE O1 5)
             (MOVE O1 -3 Q)
             (CALL CONSP 1)
             (JUMPE O1 6)
             (MOVE O1 -4 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -1 Q)
             (MOVE O1 -3 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O3 -2 Q)
             (MOVE O1 -1 Q)
             (MOVE O2 O5)
             (CALL LISP::TREE-EQUAL-TEST-NOT 3)
             (JUMPE O1 6)
             (MOVE O1 -4 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -1 Q)
             (MOVE O1 -3 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 0 Q)
             (MOVE O3 -2 Q)
             (MOVE O1 -1 Q)
             (MOVE O2 O5)
             (CALL LISP::TREE-EQUAL-TEST-NOT 3)
             (JRST 7)
(LABEL 6)    (MOVE O1 NIL)
             (MOVEI N 1)
(LABEL 7)    (JRST 3)
(LABEL 5)    (SKIPA)
             (JRST 8)
             (MOVE O1 NIL)
             (MOVEI N 1)
(LABEL 8)
(LABEL 3)    (SUBI Q 5)
             (POPJ P)
)

(%PUT (QUOTE TREE-EQUAL-TEST-NOT) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X Y TEST-NOT))) 
(%PUT (QUOTE TREE-EQUAL-TEST-NOT) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE TREE-EQUAL-TEST-NOT) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_TREE-EQUAL-TEST EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY))
       #0_(T)
       (CODE-START)
(LABEL 1)    (ADDI Q 5)
             (MOVEM O1 -4 Q)
             (MOVEM O2 -3 Q)
             (MOVEM O3 -2 Q)
             (MOVE O5 O3)
             (MOVEM O5 -1 Q)
             (MOVE O6 O5)
             (FCALL 2)
             (JUMPE O1 4)
             (MOVE O1 (CONSTANT 0))
             (MOVEI N 1)
             (JRST 3)
(LABEL 4)    (MOVE O1 -4 Q)
             (CALL CONSP 1)
             (JUMPE O1 5)
             (MOVE O1 -3 Q)
             (CALL CONSP 1)
             (JUMPE O1 6)
             (MOVE O1 -4 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -1 Q)
             (MOVE O1 -3 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O3 -2 Q)
             (MOVE O1 -1 Q)
             (MOVE O2 O5)
             (CALL LISP::TREE-EQUAL-TEST 3)
             (JUMPE O1 6)
             (MOVE O1 -4 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -1 Q)
             (MOVE O1 -3 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 0 Q)
             (MOVE O3 -2 Q)
             (MOVE O1 -1 Q)
             (MOVE O2 O5)
             (CALL LISP::TREE-EQUAL-TEST 3)
             (JRST 7)
(LABEL 6)    (MOVE O1 NIL)
             (MOVEI N 1)
(LABEL 7)    (JRST 3)
(LABEL 5)    (SKIPA)
             (JRST 8)
             (MOVE O1 NIL)
             (MOVEI N 1)
(LABEL 8)
(LABEL 3)    (SUBI Q 5)
             (POPJ P)
)

(%PUT (QUOTE TREE-EQUAL-TEST) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X Y TEST))) 
(%PUT (QUOTE TREE-EQUAL-TEST) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE TREE-EQUAL-TEST) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE ENDP) (QUOTE %FUN-DOCUMENTATION) (QUOTE "The recommended way to test for the end of a list.  True if Object is nil,
   false if Object is a cons, and an error for any other types of arguments.")) 

#_(LAP #0_ENDP EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(T "~S is not a list.")
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (SKIPE NIL 0 Q)
             (JRST 4)
             (MOVE O1 (CONSTANT 0))
             (MOVEI N 1)
             (JRST 3)
(LABEL 4)    (MOVE O1 0 Q)
             (CALL CONSP 1)
             (JUMPE O1 5)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 3)
(LABEL 5)    (SKIPA)
             (JRST 6)
             (MOVE O2 0 Q)
             (MOVE O1 (CONSTANT 1))
             (CALL ERROR 2)
(LABEL 6)
(LABEL 3)    (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE ENDP) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OBJECT))) 
(%PUT (QUOTE ENDP) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE ENDP) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE LIST-LENGTH) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns the length of the given List, or Nil if the List is circular.")) 

#_(LAP #0_LIST-LENGTH EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(0 2)
       (CODE-START)
(LABEL 1)    (ADDI Q 7)
             (MOVEM O1 -6 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -5 Q)
             (MOVE O5 O1)
             (MOVEM O5 -4 Q)
             (MOVEM O5 -3 Q)
(LABEL 7)    (JRST 8)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 3)
(LABEL 8)    (MOVE O1 -4 Q)
             (CALL ENDP 1)
             (JUMPE O1 11)
             (MOVE O1 -5 Q)
             (MOVEI N 1)
             (JRST 3)
(LABEL 11)   (MOVE O1 -4 Q)
             (MOVE O1 1 O1)
             (CALL ENDP 1)
             (JUMPE O1 14)
             (MOVE O1 -5 Q)
             (CALL 1+ 1)
             (JRST 3)
(LABEL 14)   (MOVE O2 -3 Q)
             (CAME O2 -4 Q)
             (JRST 18)
             (MOVE O2 (CONSTANT 0))
             (MOVE O1 -5 Q)
             (CALL > 2)
             (SKIPN NIL O1)
(LABEL 18)   (JRST 17)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 3)
(LABEL 17)   (MOVE O2 (CONSTANT 1))
             (MOVE O1 -5 Q)
             (CALL + 2)
             (MOVEM O1 -2 Q)
             (MOVE O1 -4 Q)
             (MOVE O1 1 O1)
             (MOVE O5 1 O1)
             (MOVEM O5 -1 Q)
             (MOVE O1 -3 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 0 Q)
             (MOVE O1 -2 Q)
             (MOVEM O1 -5 Q)
             (MOVE O1 -1 Q)
             (MOVEM O1 -4 Q)
             (MOVE O1 O5)
             (MOVEM O1 -3 Q)
             (JRST 7)
(LABEL 3)    (SUBI Q 7)
             (POPJ P)
)

(%PUT (QUOTE LIST-LENGTH) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (LIST))) 
(%PUT (QUOTE LIST-LENGTH) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE LIST-LENGTH) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE NTH) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns Nth (zero based) element of list.")) 

#_(LAP #0_NTH EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(0 "~S is an illegal N for NTH.")
       (CODE-START)
(LABEL 1)    (ADDI Q 3)
             (MOVEM O1 -2 Q)
             (MOVEM O2 -1 Q)
             (MOVE O2 (CONSTANT 0))
             (CALL < 2)
             (JUMPE O1 3)
             (MOVE O2 -2 Q)
             (MOVE O1 (CONSTANT 1))
             (CALL ERROR 2)
             (JRST 4)
(LABEL 3)    (MOVE O5 -2 Q)
             (MOVEM O5 0 Q)
(LABEL 9)    (MOVE O1 0 Q)
             (CALL ZEROP 1)
             (JUMPE O1 10)
             (MOVE O1 -1 Q)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (JRST 5)
(LABEL 10)   (MOVE O1 -1 Q)
             (MOVE O1 1 O1)
             (CALL ATOM 1)
             (JUMPE O1 12)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 5)
(LABEL 12)   (MOVE O1 -1 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -1 Q)
             (MOVE O1 0 Q)
             (CALL 1- 1)
             (MOVEM O1 0 Q)
             (JRST 9)
(LABEL 5)
(LABEL 4)    (SUBI Q 3)
             (POPJ P)
)

(%PUT (QUOTE NTH) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (N LIST))) 
(%PUT (QUOTE NTH) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE NTH) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE FIRST) (QUOTE %FUN-DOCUMENTATION) (QUOTE "A convenient function for accessing particular elements of a list.  Same as
  CAR.")) 

#_(LAP #0_FIRST EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE FIRST) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (LIST))) 
(%PUT (QUOTE FIRST) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE FIRST) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE SECOND) (QUOTE %FUN-DOCUMENTATION) (QUOTE "A convenient function for accessing particular elements of a list.  Same as
  CADR.")) 

#_(LAP #0_SECOND EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE SECOND) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (LIST))) 
(%PUT (QUOTE SECOND) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE SECOND) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE THIRD) (QUOTE %FUN-DOCUMENTATION) (QUOTE "A convenient function for accessing particular elements of a list.  Same as
  CADDR.")) 

#_(LAP #0_THIRD EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE THIRD) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (LIST))) 
(%PUT (QUOTE THIRD) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE THIRD) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE FOURTH) (QUOTE %FUN-DOCUMENTATION) (QUOTE "A convenient function for accessing particular elements of a list.  Same as
  CADDDR.")) 

#_(LAP #0_FOURTH EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE FOURTH) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (LIST))) 
(%PUT (QUOTE FOURTH) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE FOURTH) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE FIFTH) (QUOTE %FUN-DOCUMENTATION) (QUOTE "A convenient function for accessing particular elements of a list.  Same as
  CAR of CDDDDR.")) 

#_(LAP #0_FIFTH EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE FIFTH) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (LIST))) 
(%PUT (QUOTE FIFTH) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE FIFTH) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE SIXTH) (QUOTE %FUN-DOCUMENTATION) (QUOTE "A convenient function for accessing particular elements of a list.  Same as
  CADR of CDDDDR.")) 

#_(LAP #0_SIXTH EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE SIXTH) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (LIST))) 
(%PUT (QUOTE SIXTH) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE SIXTH) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE SEVENTH) (QUOTE %FUN-DOCUMENTATION) (QUOTE "A convenient function for accessing particular elements of a list.  Same as
  CADDR of CDDDDR.")) 

#_(LAP #0_SEVENTH EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE SEVENTH) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (LIST))) 
(%PUT (QUOTE SEVENTH) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE SEVENTH) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE EIGHTH) (QUOTE %FUN-DOCUMENTATION) (QUOTE "A convenient function for accessing particular elements of a list.  Same as
  CADDDR of CDDDDR.")) 

#_(LAP #0_EIGHTH EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE EIGHTH) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (LIST))) 
(%PUT (QUOTE EIGHTH) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE EIGHTH) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE NINTH) (QUOTE %FUN-DOCUMENTATION) (QUOTE "A convenient function for accessing particular elements of a list.  Same as
  CAR of CDDDDR of CDDDDR.")) 

#_(LAP #0_NINTH EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE NINTH) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (LIST))) 
(%PUT (QUOTE NINTH) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE NINTH) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE TENTH) (QUOTE %FUN-DOCUMENTATION) (QUOTE "A convenient function for accessing particular elements of a list.  Same as
  CADR of CDDDDR of CDDDDR.")) 

#_(LAP #0_TENTH EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE TENTH) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (LIST))) 
(%PUT (QUOTE TENTH) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE TENTH) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE REST) (QUOTE %FUN-DOCUMENTATION) (QUOTE "The same as CDR.")) 

#_(LAP #0_REST EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 1 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE REST) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (LIST))) 
(%PUT (QUOTE REST) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE REST) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE NTHCDR) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns the Nth (zero based) cdr of list.")) 

#_(LAP #0_NTHCDR EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(0 "~S is an illegal N for NTHCDR.")
       (CODE-START)
(LABEL 1)    (ADDI Q 3)
             (MOVEM O1 -2 Q)
             (MOVEM O2 -1 Q)
             (MOVE O2 (CONSTANT 0))
             (CALL < 2)
             (JUMPE O1 3)
             (MOVE O2 -2 Q)
             (MOVE O1 (CONSTANT 1))
             (CALL ERROR 2)
             (JRST 4)
(LABEL 3)    (MOVE O5 -2 Q)
             (MOVEM O5 0 Q)
(LABEL 9)    (MOVE O1 0 Q)
             (CALL ZEROP 1)
             (JUMPE O1 10)
             (MOVE O1 -1 Q)
             (MOVEI N 1)
             (JRST 5)
(LABEL 10)   (MOVE O1 -1 Q)
             (CALL ATOM 1)
             (JUMPE O1 12)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 5)
(LABEL 12)   (MOVE O1 -1 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -1 Q)
             (MOVE O1 0 Q)
             (CALL 1- 1)
             (MOVEM O1 0 Q)
             (JRST 9)
(LABEL 5)
(LABEL 4)    (SUBI Q 3)
             (POPJ P)
)

(%PUT (QUOTE NTHCDR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (N LIST))) 
(%PUT (QUOTE NTHCDR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE NTHCDR) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE LAST) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns the last CONS in list.")) 

#_(LAP #0_LAST EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 2)
             (MOVEM O1 -1 Q)
             (CALL ATOM 1)
             (JUMPE O1 3)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 4)
(LABEL 3)    (MOVE O5 -1 Q)
             (MOVEM O5 0 Q)
(LABEL 9)    (MOVE O1 0 Q)
             (MOVE O1 1 O1)
             (CALL ATOM 1)
             (JUMPE O1 10)
             (MOVE O1 0 Q)
             (MOVEI N 1)
             (JRST 5)
(LABEL 10)   (MOVE O1 0 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 0 Q)
             (JRST 9)
(LABEL 5)
(LABEL 4)    (SUBI Q 2)
             (POPJ P)
)

(%PUT (QUOTE LAST) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (LIST))) 
(%PUT (QUOTE LAST) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE LAST) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE LIST) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns a list of the arguments.")) 

#_(LAP #0_LIST EXPR
       (ENTRY-POINTS (2 3 4 5 6 7 8) REST)
       #0_NIL
       (CODE-START)
(LABEL 2)    (MOVE O1 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST1)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST2)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST3)
             (JRST 1)
(LABEL 6)    (MOVEI W2 4)
             (ICALL REST4)
             (JRST 1)
(LABEL 7)    (MOVEI W2 5)
             (ICALL REST5)
             (JRST 1)
(LABEL 8)    (MOVEI W2 0)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE LIST) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (&REST ARGS))) 
(%PUT (QUOTE LIST) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE LIST) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE LIST*) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns a list of the arguments with last cons a dotted pair")) 

#_(LAP #0_LIST* EXPR
       (ENTRY-POINTS (2-FEW 2 3 4 5 6 7) REST)
       #0_NIL
       (CODE-START)
(LABEL 2)    (MOVE O2 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST2)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST3)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST4)
             (JRST 1)
(LABEL 6)    (MOVEI W2 4)
             (ICALL REST5)
             (JRST 1)
(LABEL 7)    (MOVEI W2 1)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 3)
             (MOVEM O1 -2 Q)
             (MOVEM O2 -1 Q)
             (MOVE O1 O2)
             (CALL ATOM 1)
             (JUMPE O1 10)
             (MOVE O1 -2 Q)
             (MOVEI N 1)
             (JRST 9)
(LABEL 10)   (MOVE O1 -1 Q)
             (MOVE O1 1 O1)
             (CALL ATOM 1)
             (JUMPE O1 11)
             (MOVE O1 -1 Q)
             (MOVE O2 0 O1)
             (MOVE O1 -2 Q)
             (CALL CONS 2)
             (JRST 9)
(LABEL 11)   (SKIPA)
             (JRST 12)
             (MOVE O5 -1 Q)
             (MOVEM O5 0 Q)
(LABEL 17)   (MOVE O1 0 Q)
             (MOVE O1 1 O1)
             (SKIPE NIL 1 O1)
             (JRST 18)
             (MOVE O1 0 Q)
             (MOVE O1 1 O1)
             (MOVE O2 0 O1)
             (MOVE O1 0 Q)
             (CALL RPLACD 2)
             (JRST 13)
(LABEL 18)   (MOVE O1 0 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 0 Q)
             (JRST 17)
(LABEL 13)   (MOVE O2 -1 Q)
             (MOVE O1 -2 Q)
             (CALL CONS 2)
(LABEL 12)
(LABEL 9)    (SUBI Q 3)
             (POPJ P)
)

(%PUT (QUOTE LIST*) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ARG &REST OTHERS))) 
(%PUT (QUOTE LIST*) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE LIST*) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE MAKE-LIST) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Constructs a list with size elements each set to value")) 

#_(LAP #0_MAKE-LIST EXPR
       (ENTRY-POINTS (2-FEW 2 3 4 5 6 7) REST)
       #0_(:INITIAL-ELEMENT (:INITIAL-ELEMENT) 0 "~S is an illegal size for MAKE-LIST.")
       (CODE-START)
(LABEL 2)    (MOVE O2 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST2)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST3)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST4)
             (JRST 1)
(LABEL 6)    (MOVEI W2 4)
             (ICALL REST5)
             (JRST 1)
(LABEL 7)    (MOVEI W2 1)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 8)
             (MOVEM O1 -6 Q)
             (MOVEM O2 -5 Q)
(LABEL 9)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 0))
             (JUMPN O4 9)
             (MOVEM O1 -7 Q)
             (MOVE O5 -5 Q)
             (MOVEM O5 -4 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O2 (CONSTANT 2))
             (MOVE O1 -6 Q)
             (CALL < 2)
             (JUMPE O1 11)
             (MOVE O2 -6 Q)
             (MOVE O1 (CONSTANT 3))
             (CALL ERROR 2)
             (JRST 12)
(LABEL 11)   (MOVE O5 -6 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 NIL)
             (MOVEM O5 -2 Q)
(LABEL 17)   (MOVE O1 -3 Q)
             (CALL ZEROP 1)
             (JUMPE O1 18)
             (MOVE O1 -2 Q)
             (MOVEI N 1)
             (JRST 13)
(LABEL 18)   (MOVE O1 -3 Q)
             (CALL 1- 1)
             (MOVEM O1 -1 Q)
             (MOVE O2 -2 Q)
             (MOVE O1 -7 Q)
             (CALL CONS 2)
             (MOVEM O1 0 Q)
             (MOVE O1 -1 Q)
             (MOVEM O1 -3 Q)
             (MOVE O1 0 Q)
             (MOVEM O1 -2 Q)
             (JRST 17)
(LABEL 13)
(LABEL 12)   (SUBI Q 8)
             (POPJ P)
)

(%PUT (QUOTE MAKE-LIST) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (SIZE &KEY INITIAL-ELEMENT))) 
(%PUT (QUOTE MAKE-LIST) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE MAKE-LIST) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE APPEND) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Construct a new list by concatenating the list arguments")) 

#_(LAP #0_APPEND EXPR
       (ENTRY-POINTS (2 3 4 5 6 7 8) REST)
       #0_("~S is not a list.")
       (CODE-START)
(LABEL 2)    (MOVE O1 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST1)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST2)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST3)
             (JRST 1)
(LABEL 6)    (MOVEI W2 4)
             (ICALL REST4)
             (JRST 1)
(LABEL 7)    (MOVEI W2 5)
             (ICALL REST5)
             (JRST 1)
(LABEL 8)    (MOVEI W2 0)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 7)
             (MOVEM O1 -6 Q)
             (MOVE O5 O1)
             (MOVEM O5 -5 Q)
(LABEL 14)   (MOVE O1 -5 Q)
             (CALL ATOM 1)
             (JUMPE O1 15)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 10)
(LABEL 15)   (MOVE O1 -5 Q)
             (SKIPN NIL 0 O1)
             (JRST 17)
             (MOVE O1 -5 Q)
             (MOVE O1 0 O1)
             (CALL CONSP 1)
             (JUMPN O1 19)
             (MOVE O1 -5 Q)
             (SKIPN NIL 1 O1)
             (JRST 20)
             (MOVE O1 -5 Q)
             (MOVE O2 0 O1)
             (MOVE O1 (CONSTANT 0))
             (CALL ERROR 2)
             (JRST 21)
(LABEL 20)   (MOVE O1 -5 Q)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (JRST 10)
(LABEL 21)   (JRST 17)
(LABEL 19)   (SKIPA)
             (JRST 22)
             (MOVE O1 -5 Q)
             (MOVE O1 1 O1)
             (CALL ATOM 1)
             (JUMPE O1 23)
             (MOVE O1 -5 Q)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (JRST 24)
(LABEL 23)   (MOVE O1 -5 Q)
             (MOVE O1 0 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -3 Q)
             (MOVE O2 NIL)
             (MOVE O1 O5)
             (CALL CONS 2)
             (MOVEM O1 -4 Q)
             (MOVE O5 O1)
             (MOVEM O5 -3 Q)
             (MOVE O1 -5 Q)
             (MOVE O1 0 O1)
             (MOVE O5 1 O1)
             (MOVEM O5 -2 Q)
(LABEL 29)   (MOVE O1 -2 Q)
             (CALL ATOM 1)
             (JUMPE O1 30)
             (JRST 25)
(LABEL 30)   (MOVE O1 -2 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -1 Q)
             (MOVE O2 NIL)
             (MOVE O1 O5)
             (CALL CONS 2)
             (MOVE O2 O1)
             (MOVE O1 -3 Q)
             (CALL RPLACD 2)
             (MOVE O1 1 O1)
             (MOVEM O1 -3 Q)
             (MOVE O1 -2 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -2 Q)
             (JRST 29)
(LABEL 25)   (MOVE O1 -5 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -2 Q)
(LABEL 36)   (MOVE O1 -2 Q)
             (MOVE O1 1 O1)
             (CALL ATOM 1)
             (JUMPE O1 37)
             (MOVE O1 -2 Q)
             (MOVE O2 0 O1)
             (MOVE O1 -3 Q)
             (CALL RPLACD 2)
             (MOVEM O1 -3 Q)
             (MOVE O1 -4 Q)
             (MOVEI N 1)
             (JRST 32)
(LABEL 37)   (MOVE O1 -2 Q)
             (MOVE O1 0 O1)
             (CALL LISTP 1)
             (JUMPE O1 39)
             (MOVE O1 -2 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -1 Q)
(LABEL 45)   (MOVE O1 -1 Q)
             (CALL ATOM 1)
             (JUMPE O1 46)
             (JRST 41)
(LABEL 46)   (MOVE O1 -1 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O2 NIL)
             (MOVE O1 O5)
             (CALL CONS 2)
             (MOVE O2 O1)
             (MOVE O1 -3 Q)
             (CALL RPLACD 2)
             (MOVE O1 1 O1)
             (MOVEM O1 -3 Q)
             (MOVE O1 -1 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -1 Q)
             (JRST 45)
(LABEL 41)   (JRST 40)
(LABEL 39)   (MOVE O1 -2 Q)
             (MOVE O2 0 O1)
             (MOVE O1 (CONSTANT 0))
             (CALL ERROR 2)
(LABEL 40)   (MOVE O1 -2 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -2 Q)
             (JRST 36)
(LABEL 32)
(LABEL 24)   (JRST 10)
(LABEL 22)
(LABEL 17)   (MOVE O1 -5 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -5 Q)
             (JRST 14)
(LABEL 10)   (SUBI Q 7)
             (POPJ P)
)

(%PUT (QUOTE APPEND) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (&REST LISTS))) 
(%PUT (QUOTE APPEND) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE APPEND) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE COPY-LIST) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns a new list EQUAL but not EQ to list")) 

#_(LAP #0_COPY-LIST EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_("~S is not a list.")
       (CODE-START)
(LABEL 1)    (ADDI Q 8)
             (MOVEM O1 -7 Q)
             (CALL ATOM 1)
             (JUMPE O1 3)
             (SKIPN NIL -7 Q)
             (JRST 5)
             (MOVE O2 -7 Q)
             (MOVE O1 (CONSTANT 0))
             (CALL ERROR 2)
             (JRST 6)
(LABEL 5)    (MOVE O1 NIL)
             (MOVEI N 1)
(LABEL 6)    (JRST 4)
(LABEL 3)    (MOVE O1 -7 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -5 Q)
             (MOVE O2 NIL)
             (MOVE O1 O5)
             (CALL CONS 2)
             (MOVEM O1 -6 Q)
             (MOVE O1 -7 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -4 Q)
             (MOVE O5 -6 Q)
             (MOVEM O5 -3 Q)
(LABEL 11)   (MOVE O1 -4 Q)
             (CALL ATOM 1)
             (JUMPE O1 12)
             (SKIPN NIL -4 Q)
             (JRST 15)
             (MOVE O2 -4 Q)
             (MOVE O1 -3 Q)
             (CALL RPLACD 2)
(LABEL 15)   (MOVE O1 -6 Q)
             (MOVEI N 1)
             (JRST 7)
(LABEL 12)   (MOVE O1 -4 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -2 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O2 NIL)
             (MOVE O1 O5)
             (CALL CONS 2)
             (MOVE O2 O1)
             (MOVE O1 -3 Q)
             (CALL RPLACD 2)
             (MOVE O5 1 O1)
             (MOVEM O5 -1 Q)
             (MOVE O1 -2 Q)
             (MOVEM O1 -4 Q)
             (MOVE O1 O5)
             (MOVEM O1 -3 Q)
             (JRST 11)
(LABEL 7)
(LABEL 4)    (SUBI Q 8)
             (POPJ P)
)

(%PUT (QUOTE COPY-LIST) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (LIST))) 
(%PUT (QUOTE COPY-LIST) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE COPY-LIST) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE COPY-ALIST) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns a new association list equal to a-list, constructed in space")) 

#_(LAP #0_COPY-ALIST EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_("~S is not a list.")
       (CODE-START)
(LABEL 1)    (ADDI Q 8)
             (MOVEM O1 -7 Q)
             (CALL ATOM 1)
             (JUMPE O1 3)
             (SKIPN NIL -7 Q)
             (JRST 5)
             (MOVE O2 -7 Q)
             (MOVE O1 (CONSTANT 0))
             (CALL ERROR 2)
             (JRST 6)
(LABEL 5)    (MOVE O1 NIL)
             (MOVEI N 1)
(LABEL 6)    (JRST 4)
(LABEL 3)    (MOVE O1 -7 Q)
             (MOVE O1 0 O1)
             (CALL ATOM 1)
             (JUMPE O1 7)
             (MOVE O1 -7 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -5 Q)
             (JRST 8)
(LABEL 7)    (MOVE O1 -7 Q)
             (MOVE O1 0 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -5 Q)
             (MOVE O1 -7 Q)
             (MOVE O1 0 O1)
             (MOVE O2 1 O1)
             (MOVE O1 O5)
             (CALL CONS 2)
             (MOVEM O1 -5 Q)
(LABEL 8)    (MOVE O2 NIL)
             (MOVE O1 -5 Q)
             (CALL CONS 2)
             (MOVEM O1 -6 Q)
             (MOVE O1 -7 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -4 Q)
             (MOVE O5 -6 Q)
             (MOVEM O5 -3 Q)
(LABEL 13)   (MOVE O1 -4 Q)
             (CALL ATOM 1)
             (JUMPE O1 14)
             (SKIPN NIL -4 Q)
             (JRST 17)
             (MOVE O2 -4 Q)
             (MOVE O1 -3 Q)
             (CALL RPLACD 2)
(LABEL 17)   (MOVE O1 -6 Q)
             (MOVEI N 1)
             (JRST 9)
(LABEL 14)   (MOVE O1 -4 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -2 Q)
             (MOVE O1 0 O1)
             (CALL ATOM 1)
             (JUMPE O1 19)
             (MOVE O1 -4 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (JRST 20)
(LABEL 19)   (MOVE O1 -4 Q)
             (MOVE O1 0 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O1 -4 Q)
             (MOVE O1 0 O1)
             (MOVE O2 1 O1)
             (MOVE O1 O5)
             (CALL CONS 2)
             (MOVEM O1 0 Q)
(LABEL 20)   (MOVE O2 NIL)
             (MOVE O1 0 Q)
             (CALL CONS 2)
             (MOVE O2 O1)
             (MOVE O1 -3 Q)
             (CALL RPLACD 2)
             (MOVE O5 1 O1)
             (MOVEM O5 -1 Q)
             (MOVE O1 -2 Q)
             (MOVEM O1 -4 Q)
             (MOVE O1 O5)
             (MOVEM O1 -3 Q)
             (JRST 13)
(LABEL 9)
(LABEL 4)    (SUBI Q 8)
             (POPJ P)
)

(%PUT (QUOTE COPY-ALIST) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (A-LIST))) 
(%PUT (QUOTE COPY-ALIST) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE COPY-ALIST) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE COPY-TREE) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Copy-Tree recursively copys trees of conses.")) 

#_(LAP #0_COPY-TREE EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 2)
             (MOVEM O1 -1 Q)
             (CALL CONSP 1)
             (JUMPN O1 4)
             (MOVE O1 -1 Q)
             (MOVEI N 1)
             (JRST 3)
(LABEL 4)    (SKIPA)
             (JRST 5)
             (MOVE O1 -1 Q)
             (MOVE O1 0 O1)
             (CALL COPY-TREE 1)
             (MOVEM O1 0 Q)
             (MOVE O1 -1 Q)
             (MOVE O1 1 O1)
             (CALL COPY-TREE 1)
             (MOVE O2 O1)
             (MOVE O1 0 Q)
             (CALL CONS 2)
(LABEL 5)
(LABEL 3)    (SUBI Q 2)
             (POPJ P)
)

(%PUT (QUOTE COPY-TREE) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OBJECT))) 
(%PUT (QUOTE COPY-TREE) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE COPY-TREE) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE REVAPPEND) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns (append (reverse x) y)")) 

#_(LAP #0_REVAPPEND EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 6)
             (MOVEM O1 -5 Q)
             (MOVEM O2 -4 Q)
             (MOVE O5 O1)
             (MOVEM O5 -3 Q)
             (MOVE O5 O2)
             (MOVEM O5 -2 Q)
(LABEL 7)    (MOVE O1 -3 Q)
             (CALL ATOM 1)
             (JUMPE O1 8)
             (MOVE O1 -2 Q)
             (MOVEI N 1)
             (JRST 3)
(LABEL 8)    (MOVE O1 -3 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -1 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O2 -2 Q)
             (MOVE O1 O5)
             (CALL CONS 2)
             (MOVEM O1 0 Q)
             (MOVE O1 -1 Q)
             (MOVEM O1 -3 Q)
             (MOVE O1 0 Q)
             (MOVEM O1 -2 Q)
             (JRST 7)
(LABEL 3)    (SUBI Q 6)
             (POPJ P)
)

(%PUT (QUOTE REVAPPEND) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X Y))) 
(%PUT (QUOTE REVAPPEND) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE REVAPPEND) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE NCONC) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Concatenates the lists given as arguments (by changing them)")) 

#_(LAP #0_NCONC EXPR
       (ENTRY-POINTS (2 3 4 5 6 7 8) REST)
       #0_NIL
       (CODE-START)
(LABEL 2)    (MOVE O1 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST1)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST2)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST3)
             (JRST 1)
(LABEL 6)    (MOVEI W2 4)
             (ICALL REST4)
             (JRST 1)
(LABEL 7)    (MOVEI W2 5)
             (ICALL REST5)
             (JRST 1)
(LABEL 8)    (MOVEI W2 0)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 5)
             (MOVEM O1 -4 Q)
             (MOVE O5 O1)
             (MOVEM O5 -3 Q)
(LABEL 14)   (SKIPE NIL -3 Q)
             (JRST 15)
             (MOVE O1 -3 Q)
             (MOVEI N 1)
             (JRST 10)
(LABEL 15)   (MOVE O1 -3 Q)
             (MOVE O1 0 O1)
             (CALL ATOM 1)
             (JUMPN O1 18)
             (MOVE O1 -3 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -2 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -1 Q)
(LABEL 23)   (MOVE O1 -2 Q)
             (CALL ATOM 1)
             (JUMPE O1 24)
             (MOVE O1 -3 Q)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (JRST 19)
(LABEL 24)   (MOVE O1 -2 Q)
             (MOVE O1 0 O1)
             (CALL ATOM 1)
             (JUMPE O1 27)
             (MOVE O1 -1 Q)
             (CALL LAST 1)
             (MOVEM O1 0 Q)
             (MOVE O1 -2 Q)
             (MOVE O2 0 O1)
             (MOVE O1 0 Q)
             (CALL RPLACD 2)
             (JRST 26)
(LABEL 27)   (SKIPA)
             (JRST 28)
             (MOVE O1 -1 Q)
             (CALL LAST 1)
             (MOVEM O1 0 Q)
             (MOVE O1 -2 Q)
             (MOVE O2 0 O1)
             (MOVE O1 0 Q)
             (CALL RPLACD 2)
             (MOVE O1 -2 Q)
             (MOVE O1 0 O1)
             (MOVEM O1 -1 Q)
(LABEL 28)
(LABEL 26)   (MOVE O1 -2 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -2 Q)
             (JRST 23)
(LABEL 19)   (JRST 10)
(LABEL 18)   (MOVE O1 -3 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -3 Q)
             (JRST 14)
(LABEL 10)   (SUBI Q 5)
             (POPJ P)
)

(%PUT (QUOTE NCONC) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (&REST LISTS))) 
(%PUT (QUOTE NCONC) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE NCONC) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE NRECONC) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns (nconc (nreverse x) y)")) 

#_(LAP #0_NRECONC EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 8)
             (MOVEM O1 -7 Q)
             (MOVEM O2 -6 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -5 Q)
             (MOVE O5 O1)
             (MOVEM O5 -4 Q)
             (MOVE O5 O2)
             (MOVEM O5 -3 Q)
(LABEL 7)    (MOVE O1 -4 Q)
             (CALL ATOM 1)
             (JUMPE O1 8)
             (MOVE O1 -3 Q)
             (MOVEI N 1)
             (JRST 3)
(LABEL 8)    (MOVE O2 -3 Q)
             (MOVE O1 -4 Q)
             (CALL RPLACD 2)
             (MOVE O1 -5 Q)
             (CALL ATOM 1)
             (JUMPE O1 10)
             (MOVE O5 -5 Q)
             (MOVEM O5 -2 Q)
             (JRST 11)
(LABEL 10)   (MOVE O1 -5 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -2 Q)
(LABEL 11)   (MOVE O5 -5 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 -4 Q)
             (MOVEM O5 0 Q)
             (MOVE O1 -2 Q)
             (MOVEM O1 -5 Q)
             (MOVE O1 -1 Q)
             (MOVEM O1 -4 Q)
             (MOVE O1 O5)
             (MOVEM O1 -3 Q)
             (JRST 7)
(LABEL 3)    (SUBI Q 8)
             (POPJ P)
)

(%PUT (QUOTE NRECONC) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X Y))) 
(%PUT (QUOTE NRECONC) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE NRECONC) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE BUTLAST) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns a new list the same as List without the N last elements.")) 

#_(LAP #0_BUTLAST EXPR
       (ENTRY-POINTS (2-FEW 1 2 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(1 0)
       (CODE-START)
(LABEL 1)    (MOVE O2 (CONSTANT 0))
(LABEL 2)    (ADDI Q 7)
             (MOVEM O1 -6 Q)
             (MOVEM O2 -5 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -5 Q)
             (CALL < 2)
             (JUMPE O1 4)
             (MOVE O1 (CONSTANT 1))
             (MOVEM O1 -5 Q)
(LABEL 4)    (MOVE O1 -6 Q)
             (CALL LENGTH 1)
             (CALL 1- 1)
             (MOVEM O1 -4 Q)
             (MOVE O2 -5 Q)
             (CALL < 2)
             (JUMPE O1 6)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 7)
(LABEL 6)    (MOVE O1 -6 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -3 Q)
             (MOVE O1 0 O1)
             (CALL LIST 1)
             (MOVEM O1 -2 Q)
             (MOVE O5 O1)
             (MOVEM O5 -1 Q)
             (MOVE O5 -4 Q)
             (MOVEM O5 0 Q)
(LABEL 12)   (MOVE O2 -5 Q)
             (MOVE O1 0 Q)
             (CALL = 2)
             (JUMPE O1 13)
             (MOVE O1 -2 Q)
             (MOVEI N 1)
             (JRST 8)
(LABEL 13)   (MOVE O1 -3 Q)
             (MOVE O1 0 O1)
             (CALL LIST 1)
             (MOVE O2 O1)
             (MOVE O1 -1 Q)
             (CALL RPLACD 2)
             (MOVE O1 1 O1)
             (MOVEM O1 -1 Q)
             (MOVE O1 -3 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -3 Q)
             (MOVE O1 0 Q)
             (CALL 1- 1)
             (MOVEM O1 0 Q)
             (JRST 12)
(LABEL 8)
(LABEL 7)    (SUBI Q 7)
             (POPJ P)
)

(%PUT (QUOTE BUTLAST) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (LIST &OPTIONAL (N 1)))) 
(%PUT (QUOTE BUTLAST) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE BUTLAST) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE NBUTLAST) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Modifies List to remove the last N elements.")) 

#_(LAP #0_NBUTLAST EXPR
       (ENTRY-POINTS (2-FEW 1 2 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(1 0)
       (CODE-START)
(LABEL 1)    (MOVE O2 (CONSTANT 0))
(LABEL 2)    (ADDI Q 9)
             (MOVEM O1 -8 Q)
             (MOVEM O2 -7 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -7 Q)
             (CALL < 2)
             (JUMPE O1 4)
             (MOVE O1 (CONSTANT 1))
             (MOVEM O1 -7 Q)
(LABEL 4)    (MOVE O1 -8 Q)
             (CALL LENGTH 1)
             (CALL 1- 1)
             (MOVEM O1 -6 Q)
             (MOVE O2 -7 Q)
             (CALL < 2)
             (JUMPE O1 6)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 7)
(LABEL 6)    (MOVE O1 -8 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -5 Q)
             (MOVE O5 O1)
             (MOVEM O5 -4 Q)
             (MOVE O5 -6 Q)
             (MOVEM O5 -3 Q)
(LABEL 12)   (MOVE O2 -7 Q)
             (MOVE O1 -3 Q)
             (CALL = 2)
             (JUMPE O1 13)
             (MOVE O2 NIL)
             (MOVE O1 -4 Q)
             (CALL RPLACD 2)
             (MOVE O1 -8 Q)
             (MOVEI N 1)
             (JRST 8)
(LABEL 13)   (MOVE O1 -5 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -2 Q)
             (MOVE O5 O1)
             (MOVEM O5 -1 Q)
             (MOVE O1 -3 Q)
             (CALL 1- 1)
             (MOVEM O1 0 Q)
             (MOVE O1 -2 Q)
             (MOVEM O1 -5 Q)
             (MOVE O1 -1 Q)
             (MOVEM O1 -4 Q)
             (MOVE O1 0 Q)
             (MOVEM O1 -3 Q)
             (JRST 12)
(LABEL 8)
(LABEL 7)    (SUBI Q 9)
             (POPJ P)
)

(%PUT (QUOTE NBUTLAST) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (LIST &OPTIONAL (N 1)))) 
(%PUT (QUOTE NBUTLAST) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE NBUTLAST) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE LDIFF) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns a new list, whose elements are those of List that appear before
   Sublist.  If Sublist is not a tail of List, a copy of List is returned.")) 

#_(LAP #0_LDIFF EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 5)
             (MOVEM O1 -4 Q)
             (MOVEM O2 -3 Q)
             (MOVE O5 O1)
             (MOVEM O5 -2 Q)
             (MOVE O1 NIL)
             (CALL LIST 1)
             (MOVEM O1 -1 Q)
             (MOVE O5 O1)
             (MOVEM O5 0 Q)
(LABEL 7)    (SKIPN NIL -2 Q)
             (JRST1 10)
             (MOVE O2 -3 Q)
             (CAME O2 -2 Q)
(LABEL 10)   (JRST 8)
             (MOVE O1 -1 Q)
             (MOVE O1 1 O1)
             (MOVEI N 1)
             (JRST 3)
(LABEL 8)    (MOVE O1 -2 Q)
             (MOVE O1 0 O1)
             (CALL LIST 1)
             (MOVE O2 O1)
             (MOVE O1 0 Q)
             (CALL RPLACD 2)
             (MOVE O1 1 O1)
             (MOVEM O1 0 Q)
             (MOVE O1 -2 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -2 Q)
             (JRST 7)
(LABEL 3)    (SUBI Q 5)
             (POPJ P)
)

(%PUT (QUOTE LDIFF) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (LIST SUBLIST))) 
(%PUT (QUOTE LDIFF) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE LDIFF) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_%RPLACA EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 2)
             (MOVEM O1 -1 Q)
             (MOVEM O2 0 Q)
             (CALL RPLACA 2)
             (MOVE O1 0 Q)
             (MOVEI N 1)
             (SUBI Q 2)
             (POPJ P)
)

(%PUT (QUOTE %RPLACA) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X VAL))) 
(%PUT (QUOTE %RPLACA) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE %RPLACA) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_%RPLACD EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 2)
             (MOVEM O1 -1 Q)
             (MOVEM O2 0 Q)
             (CALL RPLACD 2)
             (MOVE O1 0 Q)
             (MOVEI N 1)
             (SUBI Q 2)
             (POPJ P)
)

(%PUT (QUOTE %RPLACD) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X VAL))) 
(%PUT (QUOTE %RPLACD) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE %RPLACD) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE %SETNTH) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Sets the Nth element of List (zero based) to Newval.")) 

#_(LAP #0_%SETNTH EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY))
       #0_(0 "~S is an illegal N for SETF of NTH." "~S is too large an index for SETF of NTH.")
       (CODE-START)
(LABEL 1)    (ADDI Q 4)
             (MOVEM O1 -3 Q)
             (MOVEM O2 -2 Q)
             (MOVEM O3 -1 Q)
             (MOVE O2 (CONSTANT 0))
             (CALL < 2)
             (JUMPE O1 3)
             (MOVE O2 -3 Q)
             (MOVE O1 (CONSTANT 1))
             (CALL ERROR 2)
             (JRST 4)
(LABEL 3)    (MOVE O5 -3 Q)
             (MOVEM O5 0 Q)
(LABEL 9)    (MOVE O1 0 Q)
             (CALL ZEROP 1)
             (JUMPE O1 10)
             (MOVE O2 -1 Q)
             (MOVE O1 -2 Q)
             (CALL RPLACA 2)
             (MOVE O1 -1 Q)
             (MOVEI N 1)
             (JRST 5)
(LABEL 10)   (MOVE O1 -2 Q)
             (MOVE O1 1 O1)
             (CALL ATOM 1)
             (JUMPE O1 12)
             (MOVE O2 -3 Q)
             (MOVE O1 (CONSTANT 2))
             (CALL ERROR 2)
             (JRST 13)
(LABEL 12)   (MOVE O1 -2 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -2 Q)
(LABEL 13)   (MOVE O1 0 Q)
             (CALL 1- 1)
             (MOVEM O1 0 Q)
             (JRST 9)
(LABEL 5)
(LABEL 4)    (SUBI Q 4)
             (POPJ P)
)

(%PUT (QUOTE %SETNTH) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (N LIST NEWVAL))) 
(%PUT (QUOTE %SETNTH) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE %SETNTH) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_WITH-SET-KEYS MACRO
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(2 "Macro ~S cannot be called with ~S args." WITH-SET-KEYS COND ((AND TESTP NOTP) (ERROR "Test and test-not both supplied.")) NOTP (:KEY KEY :TEST-NOT TEST-NOT) T (:KEY KEY :TEST TEST))
       (CODE-START)
(LABEL 1)    (ADDI Q 4)
             (MOVEM O1 -3 Q)
             (CALL LENGTH 1)
             (MOVEM O1 -2 Q)
             (MOVE O2 (CONSTANT 0))
             (CALL = 2)
             (JUMPN O1 4)
             (MOVE O1 -3 Q)
             (CALL LENGTH 1)
             (CALL 1- 1)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 1))
             (MOVE O2 (CONSTANT 2))
             (CALL ERROR 3)
             (JRST 3)
(LABEL 4)    (SKIPA)
             (JRST 5)
             (MOVE O1 -3 Q)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -1 Q)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 O5)
             (CALL APPEND 2)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 5))
             (CALL LIST 2)
             (MOVEM O1 0 Q)
             (MOVE O2 (CONSTANT 8))
             (MOVE O1 -1 Q)
             (CALL APPEND 2)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 7))
             (CALL LIST 2)
             (MOVE O4 O1)
             (MOVE O1 (CONSTANT 3))
             (MOVE O2 (CONSTANT 4))
             (MOVE O3 0 Q)
             (CALL LIST 4)
(LABEL 5)
(LABEL 3)    (SUBI Q 4)
             (POPJ P)
)

(%PUT (QUOTE WITH-SET-KEYS) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (FUNCALL))) 
(%PUT (QUOTE WITH-SET-KEYS) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE WITH-SET-KEYS) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_ELEMENTS-MATCH-P MACRO
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(3 "Macro ~S cannot be called with ~S args." ELEMENTS-MATCH-P OR AND TESTP FUNCALL TEST KEY NOTP NOT TEST-NOT EQL)
       (CODE-START)
(LABEL 1)    (ADDI Q 9)
             (MOVEM O1 -8 Q)
             (CALL LENGTH 1)
             (MOVEM O1 -7 Q)
             (MOVE O2 (CONSTANT 0))
             (CALL = 2)
             (JUMPN O1 4)
             (MOVE O1 -8 Q)
             (CALL LENGTH 1)
             (CALL 1- 1)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 1))
             (MOVE O2 (CONSTANT 2))
             (CALL ERROR 3)
             (JRST 3)
(LABEL 4)    (SKIPA)
             (JRST 5)
             (MOVE O1 -8 Q)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -6 Q)
             (MOVE O1 -8 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -5 Q)
             (MOVE O3 -6 Q)
             (MOVE O1 (CONSTANT 6))
             (MOVE O2 (CONSTANT 8))
             (CALL LIST 3)
             (MOVEM O1 -1 Q)
             (MOVE O3 -5 Q)
             (MOVE O1 (CONSTANT 6))
             (MOVE O2 (CONSTANT 8))
             (CALL LIST 3)
             (MOVE O4 O1)
             (MOVE O1 (CONSTANT 6))
             (MOVE O2 (CONSTANT 7))
             (MOVE O3 -1 Q)
             (CALL LIST 4)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 4))
             (MOVE O2 (CONSTANT 5))
             (CALL LIST 3)
             (MOVEM O1 -4 Q)
             (MOVE O3 -6 Q)
             (MOVE O1 (CONSTANT 6))
             (MOVE O2 (CONSTANT 8))
             (CALL LIST 3)
             (MOVEM O1 0 Q)
             (MOVE O3 -5 Q)
             (MOVE O1 (CONSTANT 6))
             (MOVE O2 (CONSTANT 8))
             (CALL LIST 3)
             (MOVE O4 O1)
             (MOVE O1 (CONSTANT 6))
             (MOVE O2 (CONSTANT 11))
             (MOVE O3 0 Q)
             (CALL LIST 4)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 10))
             (CALL LIST 2)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 4))
             (MOVE O2 (CONSTANT 9))
             (CALL LIST 3)
             (MOVEM O1 -3 Q)
             (MOVE O3 -6 Q)
             (MOVE O1 (CONSTANT 6))
             (MOVE O2 (CONSTANT 8))
             (CALL LIST 3)
             (MOVEM O1 -2 Q)
             (MOVE O3 -5 Q)
             (MOVE O1 (CONSTANT 6))
             (MOVE O2 (CONSTANT 8))
             (CALL LIST 3)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 12))
             (MOVE O2 -2 Q)
             (CALL LIST 3)
             (MOVE O4 O1)
             (MOVE O1 (CONSTANT 3))
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (CALL LIST 4)
(LABEL 5)
(LABEL 3)    (SUBI Q 9)
             (POPJ P)
)

(%PUT (QUOTE ELEMENTS-MATCH-P) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ELT1 ELT2))) 
(%PUT (QUOTE ELEMENTS-MATCH-P) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE ELEMENTS-MATCH-P) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_SATISFIES-THE-TEST MACRO
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(3 "Macro ~S cannot be called with ~S args." SATISFIES-THE-TEST OR AND TESTP FUNCALL TEST KEY NOTP NOT TEST-NOT)
       (CODE-START)
(LABEL 1)    (ADDI Q 6)
             (MOVEM O1 -5 Q)
             (CALL LENGTH 1)
             (MOVEM O1 -4 Q)
             (MOVE O2 (CONSTANT 0))
             (CALL = 2)
             (JUMPN O1 4)
             (MOVE O1 -5 Q)
             (CALL LENGTH 1)
             (CALL 1- 1)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 1))
             (MOVE O2 (CONSTANT 2))
             (CALL ERROR 3)
             (JRST 3)
(LABEL 4)    (SKIPA)
             (JRST 5)
             (MOVE O1 -5 Q)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -3 Q)
             (MOVE O1 -5 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -2 Q)
             (MOVE O3 O5)
             (MOVE O1 (CONSTANT 6))
             (MOVE O2 (CONSTANT 8))
             (CALL LIST 3)
             (MOVE O4 O1)
             (MOVE O1 (CONSTANT 6))
             (MOVE O2 (CONSTANT 7))
             (MOVE O3 -3 Q)
             (CALL LIST 4)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 4))
             (MOVE O2 (CONSTANT 5))
             (CALL LIST 3)
             (MOVEM O1 -1 Q)
             (MOVE O3 -2 Q)
             (MOVE O1 (CONSTANT 6))
             (MOVE O2 (CONSTANT 8))
             (CALL LIST 3)
             (MOVE O4 O1)
             (MOVE O1 (CONSTANT 6))
             (MOVE O2 (CONSTANT 11))
             (MOVE O3 -3 Q)
             (CALL LIST 4)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 10))
             (CALL LIST 2)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 4))
             (MOVE O2 (CONSTANT 9))
             (CALL LIST 3)
             (MOVEM O1 0 Q)
             (MOVE O3 -2 Q)
             (MOVE O1 (CONSTANT 6))
             (MOVE O2 (CONSTANT 8))
             (CALL LIST 3)
             (MOVE O4 O1)
             (MOVE O1 (CONSTANT 6))
             (MOVE O2 (CONSTANT 7))
             (MOVE O3 -3 Q)
             (CALL LIST 4)
             (MOVE O4 O1)
             (MOVE O1 (CONSTANT 3))
             (MOVE O2 -1 Q)
             (MOVE O3 0 Q)
             (CALL LIST 4)
(LABEL 5)
(LABEL 3)    (SUBI Q 6)
             (POPJ P)
)

(%PUT (QUOTE SATISFIES-THE-TEST) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ITEM ELT))) 
(%PUT (QUOTE SATISFIES-THE-TEST) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE SATISFIES-THE-TEST) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE SUBST) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Substitutes New for subtrees matching Old, and returns the modified copy
  of Tree.")) 

#_(LAP #0_SUBST EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 2 3 4 5) REST)
       #0_(:KEY IDENTITY T :TEST EQL :TEST-NOT (:TEST-NOT :TEST :KEY))
       (CODE-START)
(LABEL 2)    (MOVE O4 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST4)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST5)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 14)
             (MOVEM O1 -8 Q)
             (MOVEM O2 -7 Q)
             (MOVEM O3 -6 Q)
             (MOVEM O4 -5 Q)
             (MOVE O2 O4)
(LABEL 7)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 6)
             (JUMPN O2 7)
             (MOVE O1 (CONSTANT 1))
(LABEL 6)    (MOVEM O1 -13 Q)
             (MOVE O5 (CONSTANT 2))
             (MOVEM O5 -12 Q)
             (MOVE O2 -5 Q)
(LABEL 9)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 3))
             (JRST 8)
             (JUMPN O2 9)
             (MOVEM NIL -12 Q)
             (MOVE O1 (CONSTANT 4))
(LABEL 8)    (MOVEM O1 -11 Q)
             (MOVE O5 (CONSTANT 2))
             (MOVEM O5 -10 Q)
             (MOVE O2 -5 Q)
(LABEL 11)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 5))
             (JRST 10)
             (JUMPN O2 11)
             (MOVEM NIL -10 Q)
             (MOVE O1 NIL)
(LABEL 10)   (MOVEM O1 -9 Q)
             (MOVE O5 -5 Q)
             (MOVEM O5 -4 Q)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O5 -8 Q)
             (MOVEM O5 -4 Q)
             (MOVE O5 -7 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 -6 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 -13 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 -11 Q)
             (MOVEM O5 0 Q)
             (PUSH Q -12 Q)
             (PUSH Q -10 Q)
             (PUSH Q -12 Q)
             (MOVE O1 -7 Q)
             (MOVE O2 -6 Q)
             (MOVE O3 -5 Q)
             (MOVE O4 -4 Q)
             (MOVE O5 -3 Q)
             (CALL LISP::SUBST* 8)
             (SUBI Q 14)
             (POPJ P)
)

(%PUT (QUOTE SUBST) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (NEW OLD TREE &KEY (KEY (FUNCTION IDENTITY)) (TEST (FUNCTION EQL) TESTP) (TEST-NOT NIL NOTP)))) 
(%PUT (QUOTE SUBST) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE SUBST) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_SUBST* EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 2-FEW 2-FEW 2-FEW 2-FEW 2-FEW 1 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 13)
             (MOVEM O1 -12 Q)
             (MOVEM O2 -11 Q)
             (MOVEM O3 -10 Q)
             (MOVEM O4 -9 Q)
             (MOVEM O5 -8 Q)
             (SKIPN NIL -15 Q)
             (JRST1 6)
             (MOVE O5 -8 Q)
             (MOVEM O5 -7 Q)
             (MOVE O5 -9 Q)
             (MOVEM O5 -5 Q)
             (MOVE O1 -10 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVE O2 O1)
             (MOVE O1 -11 Q)
             (MOVE O6 -7 Q)
             (FCALL 2)
             (SKIPE NIL O1)
(LABEL 6)    (JRST1 5)
             (SKIPN NIL -13 Q)
             (JRST1 8)
             (MOVE O5 -14 Q)
             (MOVEM O5 -7 Q)
             (MOVE O5 -9 Q)
             (MOVEM O5 -5 Q)
             (MOVE O1 -10 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVE O2 O1)
             (MOVE O1 -11 Q)
             (MOVE O6 -7 Q)
             (FCALL 2)
             (SKIPN NIL O1)
(LABEL 8)    (JRST1 5)
             (MOVE O5 -8 Q)
             (MOVEM O5 -7 Q)
             (MOVE O5 -9 Q)
             (MOVEM O5 -5 Q)
             (MOVE O1 -10 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVE O2 O1)
             (MOVE O1 -11 Q)
             (MOVE O6 -7 Q)
             (FCALL 2)
             (SKIPN NIL O1)
(LABEL 5)    (JRST 4)
             (MOVE O1 -12 Q)
             (MOVEI N 1)
             (JRST 3)
(LABEL 4)    (MOVE O1 -10 Q)
             (CALL ATOM 1)
             (JUMPE O1 10)
             (MOVE O1 -10 Q)
             (MOVEI N 1)
             (JRST 3)
(LABEL 10)   (SKIPA)
             (JRST 11)
             (MOVE O5 -12 Q)
             (MOVEM O5 -5 Q)
             (MOVE O5 -11 Q)
             (MOVEM O5 -4 Q)
             (MOVE O1 -10 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -3 Q)
             (MOVE O5 -9 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 -8 Q)
             (MOVEM O5 -1 Q)
             (PUSH Q -15 Q)
             (PUSH Q -15 Q)
             (PUSH Q -15 Q)
             (MOVE O1 -8 Q)
             (MOVE O2 -7 Q)
             (MOVE O3 -6 Q)
             (MOVE O4 -5 Q)
             (MOVE O5 -4 Q)
             (CALL LISP::SUBST* 8)
             (MOVEM O1 -6 Q)
             (MOVE O5 -12 Q)
             (MOVEM O5 -4 Q)
             (MOVE O5 -11 Q)
             (MOVEM O5 -3 Q)
             (MOVE O1 -10 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -2 Q)
             (MOVE O5 -9 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 -8 Q)
             (MOVEM O5 0 Q)
             (PUSH Q -15 Q)
             (PUSH Q -15 Q)
             (PUSH Q -15 Q)
             (MOVE O1 -7 Q)
             (MOVE O2 -6 Q)
             (MOVE O3 -5 Q)
             (MOVE O4 -4 Q)
             (MOVE O5 -3 Q)
             (CALL LISP::SUBST* 8)
             (MOVEM O1 -5 Q)
             (MOVE O1 -10 Q)
             (MOVE O2 0 O1)
             (CAME O2 -6 Q)
             (JRST 14)
             (MOVE O2 1 O1)
             (CAME O2 -5 Q)
(LABEL 14)   (JRST 12)
             (MOVE O1 -10 Q)
             (MOVEI N 1)
             (JRST 13)
(LABEL 12)   (MOVE O2 -5 Q)
             (MOVE O1 -6 Q)
             (CALL CONS 2)
(LABEL 13)
(LABEL 11)
(LABEL 3)    (SUBI Q 16)
             (POPJ P)
)

(%PUT (QUOTE SUBST*) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (NEW OLD TREE KEY TEST TESTP TEST-NOT NOTP))) 
(%PUT (QUOTE SUBST*) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE SUBST*) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE SUBST-IF) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Substitutes New for subtrees for which test is true, and returns the
  modified copy of Tree.")) 

#_(LAP #0_SUBST-IF EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 2 3 4 5) REST)
       #0_(:KEY IDENTITY (:KEY))
       (CODE-START)
(LABEL 2)    (MOVE O4 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST4)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST5)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 6)
             (MOVEM O1 -4 Q)
             (MOVEM O2 -3 Q)
             (MOVEM O3 -2 Q)
             (MOVEM O4 -1 Q)
             (MOVE O2 O4)
(LABEL 7)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 6)
             (JUMPN O2 7)
             (MOVE O1 (CONSTANT 1))
(LABEL 6)    (MOVEM O1 -5 Q)
             (MOVE O5 -1 Q)
             (MOVEM O5 0 Q)
             (MOVE O2 (CONSTANT 2))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O4 -5 Q)
             (MOVE O1 -4 Q)
             (MOVE O2 -3 Q)
             (MOVE O3 -2 Q)
             (CALL LISP::SUBST-IF* 4)
             (SUBI Q 6)
             (POPJ P)
)

(%PUT (QUOTE SUBST-IF) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (NEW TEST TREE &KEY (KEY (FUNCTION IDENTITY))))) 
(%PUT (QUOTE SUBST-IF) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE SUBST-IF) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_SUBST-IF* EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 2-FEW 1 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 9)
             (MOVEM O1 -8 Q)
             (MOVEM O2 -7 Q)
             (MOVEM O3 -6 Q)
             (MOVEM O4 -5 Q)
             (MOVE O5 O2)
             (MOVEM O5 -4 Q)
             (MOVE O5 O4)
             (MOVEM O5 -3 Q)
             (MOVE O1 O3)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVE O6 -4 Q)
             (FCALL 1)
             (JUMPE O1 4)
             (MOVE O1 -8 Q)
             (MOVEI N 1)
             (JRST 3)
(LABEL 4)    (MOVE O1 -6 Q)
             (CALL ATOM 1)
             (JUMPE O1 5)
             (MOVE O1 -6 Q)
             (MOVEI N 1)
             (JRST 3)
(LABEL 5)    (SKIPA)
             (JRST 6)
             (MOVE O1 -6 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -1 Q)
             (MOVE O4 -5 Q)
             (MOVE O1 -8 Q)
             (MOVE O2 -7 Q)
             (MOVE O3 O5)
             (CALL LISP::SUBST-IF* 4)
             (MOVEM O1 -3 Q)
             (MOVE O1 -6 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 0 Q)
             (MOVE O4 -5 Q)
             (MOVE O1 -8 Q)
             (MOVE O2 -7 Q)
             (MOVE O3 O5)
             (CALL LISP::SUBST-IF* 4)
             (MOVEM O1 -2 Q)
             (MOVE O1 -6 Q)
             (MOVE O2 0 O1)
             (CAME O2 -3 Q)
             (JRST 9)
             (MOVE O2 1 O1)
             (CAME O2 -2 Q)
(LABEL 9)    (JRST 7)
             (MOVE O1 -6 Q)
             (MOVEI N 1)
             (JRST 8)
(LABEL 7)    (MOVE O2 -2 Q)
             (MOVE O1 -3 Q)
             (CALL CONS 2)
(LABEL 8)
(LABEL 6)
(LABEL 3)    (SUBI Q 9)
             (POPJ P)
)

(%PUT (QUOTE SUBST-IF*) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (NEW TEST TREE KEY))) 
(%PUT (QUOTE SUBST-IF*) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE SUBST-IF*) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE SUBST-IF-NOT) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Substitutes New for subtrees for which test is false, and returns the
  modified copy of Tree.")) 

#_(LAP #0_SUBST-IF-NOT EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 2 3 4 5) REST)
       #0_(:KEY IDENTITY (:KEY))
       (CODE-START)
(LABEL 2)    (MOVE O4 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST4)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST5)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 6)
             (MOVEM O1 -4 Q)
             (MOVEM O2 -3 Q)
             (MOVEM O3 -2 Q)
             (MOVEM O4 -1 Q)
             (MOVE O2 O4)
(LABEL 7)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 6)
             (JUMPN O2 7)
             (MOVE O1 (CONSTANT 1))
(LABEL 6)    (MOVEM O1 -5 Q)
             (MOVE O5 -1 Q)
             (MOVEM O5 0 Q)
             (MOVE O2 (CONSTANT 2))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O4 -5 Q)
             (MOVE O1 -4 Q)
             (MOVE O2 -3 Q)
             (MOVE O3 -2 Q)
             (CALL LISP::SUBST-IF-NOT* 4)
             (SUBI Q 6)
             (POPJ P)
)

(%PUT (QUOTE SUBST-IF-NOT) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (NEW TEST TREE &KEY (KEY (FUNCTION IDENTITY))))) 
(%PUT (QUOTE SUBST-IF-NOT) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE SUBST-IF-NOT) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_SUBST-IF-NOT* EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 2-FEW 1 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 9)
             (MOVEM O1 -8 Q)
             (MOVEM O2 -7 Q)
             (MOVEM O3 -6 Q)
             (MOVEM O4 -5 Q)
             (MOVE O5 O2)
             (MOVEM O5 -4 Q)
             (MOVE O5 O4)
             (MOVEM O5 -3 Q)
             (MOVE O1 O3)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVE O6 -4 Q)
             (FCALL 1)
             (JUMPN O1 4)
             (MOVE O1 -8 Q)
             (MOVEI N 1)
             (JRST 3)
(LABEL 4)    (MOVE O1 -6 Q)
             (CALL ATOM 1)
             (JUMPE O1 5)
             (MOVE O1 -6 Q)
             (MOVEI N 1)
             (JRST 3)
(LABEL 5)    (SKIPA)
             (JRST 6)
             (MOVE O1 -6 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -1 Q)
             (MOVE O4 -5 Q)
             (MOVE O1 -8 Q)
             (MOVE O2 -7 Q)
             (MOVE O3 O5)
             (CALL LISP::SUBST-IF-NOT* 4)
             (MOVEM O1 -3 Q)
             (MOVE O1 -6 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 0 Q)
             (MOVE O4 -5 Q)
             (MOVE O1 -8 Q)
             (MOVE O2 -7 Q)
             (MOVE O3 O5)
             (CALL LISP::SUBST-IF-NOT* 4)
             (MOVEM O1 -2 Q)
             (MOVE O1 -6 Q)
             (MOVE O2 0 O1)
             (CAME O2 -3 Q)
             (JRST 9)
             (MOVE O2 1 O1)
             (CAME O2 -2 Q)
(LABEL 9)    (JRST 7)
             (MOVE O1 -6 Q)
             (MOVEI N 1)
             (JRST 8)
(LABEL 7)    (MOVE O2 -2 Q)
             (MOVE O1 -3 Q)
             (CALL CONS 2)
(LABEL 8)
(LABEL 6)
(LABEL 3)    (SUBI Q 9)
             (POPJ P)
)

(%PUT (QUOTE SUBST-IF-NOT*) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (NEW TEST TREE KEY))) 
(%PUT (QUOTE SUBST-IF-NOT*) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE SUBST-IF-NOT*) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE NSUBST) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Substitutes New for subtrees matching Old, and returns the destructively
  modified copy of Tree.")) 

#_(LAP #0_NSUBST EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 2 3 4 5) REST)
       #0_(:KEY IDENTITY T :TEST EQL :TEST-NOT (:TEST-NOT :TEST :KEY))
       (CODE-START)
(LABEL 2)    (MOVE O4 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST4)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST5)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 14)
             (MOVEM O1 -8 Q)
             (MOVEM O2 -7 Q)
             (MOVEM O3 -6 Q)
             (MOVEM O4 -5 Q)
             (MOVE O2 O4)
(LABEL 7)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 6)
             (JUMPN O2 7)
             (MOVE O1 (CONSTANT 1))
(LABEL 6)    (MOVEM O1 -13 Q)
             (MOVE O5 (CONSTANT 2))
             (MOVEM O5 -12 Q)
             (MOVE O2 -5 Q)
(LABEL 9)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 3))
             (JRST 8)
             (JUMPN O2 9)
             (MOVEM NIL -12 Q)
             (MOVE O1 (CONSTANT 4))
(LABEL 8)    (MOVEM O1 -11 Q)
             (MOVE O5 (CONSTANT 2))
             (MOVEM O5 -10 Q)
             (MOVE O2 -5 Q)
(LABEL 11)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 5))
             (JRST 10)
             (JUMPN O2 11)
             (MOVEM NIL -10 Q)
             (MOVE O1 NIL)
(LABEL 10)   (MOVEM O1 -9 Q)
             (MOVE O5 -5 Q)
             (MOVEM O5 -4 Q)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O5 -8 Q)
             (MOVEM O5 -4 Q)
             (MOVE O5 -7 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 -6 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 -13 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 -11 Q)
             (MOVEM O5 0 Q)
             (PUSH Q -12 Q)
             (PUSH Q -10 Q)
             (PUSH Q -12 Q)
             (MOVE O1 -7 Q)
             (MOVE O2 -6 Q)
             (MOVE O3 -5 Q)
             (MOVE O4 -4 Q)
             (MOVE O5 -3 Q)
             (CALL LISP::NSUBST* 8)
             (SUBI Q 14)
             (POPJ P)
)

(%PUT (QUOTE NSUBST) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (NEW OLD TREE &KEY (KEY (FUNCTION IDENTITY)) (TEST (FUNCTION EQL) TESTP) (TEST-NOT NIL NOTP)))) 
(%PUT (QUOTE NSUBST) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE NSUBST) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_NSUBST* EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 2-FEW 2-FEW 2-FEW 2-FEW 2-FEW 1 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 14)
             (MOVEM O1 -13 Q)
             (MOVEM O2 -12 Q)
             (MOVEM O3 -11 Q)
             (MOVEM O4 -10 Q)
             (MOVEM O5 -9 Q)
             (SKIPN NIL -16 Q)
             (JRST1 6)
             (MOVE O5 -9 Q)
             (MOVEM O5 -8 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -6 Q)
             (MOVE O1 -11 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVE O2 O1)
             (MOVE O1 -12 Q)
             (MOVE O6 -8 Q)
             (FCALL 2)
             (SKIPE NIL O1)
(LABEL 6)    (JRST1 5)
             (SKIPN NIL -14 Q)
             (JRST1 8)
             (MOVE O5 -15 Q)
             (MOVEM O5 -8 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -6 Q)
             (MOVE O1 -11 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVE O2 O1)
             (MOVE O1 -12 Q)
             (MOVE O6 -8 Q)
             (FCALL 2)
             (SKIPN NIL O1)
(LABEL 8)    (JRST1 5)
             (MOVE O5 -9 Q)
             (MOVEM O5 -8 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -6 Q)
             (MOVE O1 -11 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVE O2 O1)
             (MOVE O1 -12 Q)
             (MOVE O6 -8 Q)
             (FCALL 2)
             (SKIPN NIL O1)
(LABEL 5)    (JRST 4)
             (MOVE O1 -13 Q)
             (MOVEI N 1)
             (JRST 3)
(LABEL 4)    (MOVE O1 -11 Q)
             (CALL ATOM 1)
             (JUMPE O1 10)
             (MOVE O1 -11 Q)
             (MOVEI N 1)
             (JRST 3)
(LABEL 10)   (SKIPA)
             (JRST 11)
             (MOVEM NIL -7 Q)
             (MOVE O5 -11 Q)
             (MOVEM O5 -6 Q)
(LABEL 16)   (MOVE O1 -6 Q)
             (CALL ATOM 1)
             (JUMPE O1 17)
             (SKIPN NIL -16 Q)
             (JRST1 22)
             (MOVE O5 -9 Q)
             (MOVEM O5 -5 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -3 Q)
             (MOVE O1 -6 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVE O2 O1)
             (MOVE O1 -12 Q)
             (MOVE O6 -5 Q)
             (FCALL 2)
             (SKIPE NIL O1)
(LABEL 22)   (JRST1 21)
             (SKIPN NIL -14 Q)
             (JRST1 24)
             (MOVE O5 -15 Q)
             (MOVEM O5 -5 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -3 Q)
             (MOVE O1 -6 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVE O2 O1)
             (MOVE O1 -12 Q)
             (MOVE O6 -5 Q)
             (FCALL 2)
             (SKIPN NIL O1)
(LABEL 24)   (JRST1 21)
             (MOVE O5 -9 Q)
             (MOVEM O5 -5 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -3 Q)
             (MOVE O1 -6 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVE O2 O1)
             (MOVE O1 -12 Q)
             (MOVE O6 -5 Q)
             (FCALL 2)
             (SKIPN NIL O1)
(LABEL 21)   (JRST 19)
             (MOVE O2 -13 Q)
             (MOVE O1 -7 Q)
             (CALL LISP::%RPLACD 2)
(LABEL 19)   (JRST 12)
(LABEL 17)   (SKIPN NIL -16 Q)
             (JRST1 29)
             (MOVE O5 -9 Q)
             (MOVEM O5 -5 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -3 Q)
             (MOVE O1 -6 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVE O2 O1)
             (MOVE O1 -12 Q)
             (MOVE O6 -5 Q)
             (FCALL 2)
             (SKIPE NIL O1)
(LABEL 29)   (JRST1 28)
             (SKIPN NIL -14 Q)
             (JRST1 31)
             (MOVE O5 -15 Q)
             (MOVEM O5 -5 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -3 Q)
             (MOVE O1 -6 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVE O2 O1)
             (MOVE O1 -12 Q)
             (MOVE O6 -5 Q)
             (FCALL 2)
             (SKIPN NIL O1)
(LABEL 31)   (JRST1 28)
             (MOVE O5 -9 Q)
             (MOVEM O5 -5 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -3 Q)
             (MOVE O1 -6 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVE O2 O1)
             (MOVE O1 -12 Q)
             (MOVE O6 -5 Q)
             (FCALL 2)
             (SKIPN NIL O1)
(LABEL 28)   (JRST 26)
             (MOVE O2 -13 Q)
             (MOVE O1 -7 Q)
             (CALL LISP::%RPLACD 2)
             (JRST 12)
(LABEL 26)   (MOVE O5 -13 Q)
             (MOVEM O5 -4 Q)
             (MOVE O5 -12 Q)
             (MOVEM O5 -3 Q)
             (MOVE O1 -6 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -2 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 -9 Q)
             (MOVEM O5 0 Q)
             (PUSH Q -16 Q)
             (PUSH Q -16 Q)
             (PUSH Q -16 Q)
             (MOVE O1 -7 Q)
             (MOVE O2 -6 Q)
             (MOVE O3 -5 Q)
             (MOVE O4 -4 Q)
             (MOVE O5 -3 Q)
             (CALL LISP::NSUBST* 8)
             (MOVE O2 O1)
             (MOVE O1 -6 Q)
             (CALL LISP::%RPLACA 2)
             (MOVE O1 -6 Q)
             (MOVEM O1 -7 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -6 Q)
             (JRST 16)
(LABEL 12)   (MOVE O1 -11 Q)
             (MOVEI N 1)
(LABEL 11)
(LABEL 3)    (SUBI Q 17)
             (POPJ P)
)

(%PUT (QUOTE NSUBST*) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (NEW OLD TREE KEY TEST TESTP TEST-NOT NOTP))) 
(%PUT (QUOTE NSUBST*) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE NSUBST*) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE NSUBST-IF) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Substitutes New for subtrees of Tree for which Test is true, and
  returns the destructively modified copy of Tree.")) 

#_(LAP #0_NSUBST-IF EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 2 3 4 5) REST)
       #0_(:KEY IDENTITY (:KEY))
       (CODE-START)
(LABEL 2)    (MOVE O4 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST4)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST5)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 6)
             (MOVEM O1 -4 Q)
             (MOVEM O2 -3 Q)
             (MOVEM O3 -2 Q)
             (MOVEM O4 -1 Q)
             (MOVE O2 O4)
(LABEL 7)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 6)
             (JUMPN O2 7)
             (MOVE O1 (CONSTANT 1))
(LABEL 6)    (MOVEM O1 -5 Q)
             (MOVE O5 -1 Q)
             (MOVEM O5 0 Q)
             (MOVE O2 (CONSTANT 2))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O4 -5 Q)
             (MOVE O1 -4 Q)
             (MOVE O2 -3 Q)
             (MOVE O3 -2 Q)
             (CALL LISP::NSUBST-IF* 4)
             (SUBI Q 6)
             (POPJ P)
)

(%PUT (QUOTE NSUBST-IF) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (NEW TEST TREE &KEY (KEY (FUNCTION IDENTITY))))) 
(%PUT (QUOTE NSUBST-IF) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE NSUBST-IF) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_NSUBST-IF* EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 2-FEW 1 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 10)
             (MOVEM O1 -9 Q)
             (MOVEM O2 -8 Q)
             (MOVEM O3 -7 Q)
             (MOVEM O4 -6 Q)
             (MOVE O5 O2)
             (MOVEM O5 -5 Q)
             (MOVE O5 O4)
             (MOVEM O5 -4 Q)
             (MOVE O1 O3)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVE O6 -5 Q)
             (FCALL 1)
             (JUMPE O1 4)
             (MOVE O1 -9 Q)
             (MOVEI N 1)
             (JRST 3)
(LABEL 4)    (MOVE O1 -7 Q)
             (CALL ATOM 1)
             (JUMPE O1 5)
             (MOVE O1 -7 Q)
             (MOVEI N 1)
             (JRST 3)
(LABEL 5)    (SKIPA)
             (JRST 6)
             (MOVEM NIL -4 Q)
             (MOVE O5 -7 Q)
             (MOVEM O5 -3 Q)
(LABEL 11)   (MOVE O1 -3 Q)
             (CALL ATOM 1)
             (JUMPE O1 12)
             (MOVE O5 -8 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 -6 Q)
             (MOVEM O5 -1 Q)
             (MOVE O1 -3 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVE O6 -2 Q)
             (FCALL 1)
             (JUMPE O1 14)
             (MOVE O2 -9 Q)
             (MOVE O1 -4 Q)
             (CALL LISP::%RPLACD 2)
(LABEL 14)   (JRST 7)
(LABEL 12)   (MOVE O5 -8 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 -6 Q)
             (MOVEM O5 -1 Q)
             (MOVE O1 -3 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVE O6 -2 Q)
             (FCALL 1)
             (JUMPE O1 16)
             (MOVE O2 -9 Q)
             (MOVE O1 -4 Q)
             (CALL LISP::%RPLACD 2)
             (JRST 7)
(LABEL 16)   (MOVE O1 -3 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O4 -6 Q)
             (MOVE O1 -9 Q)
             (MOVE O2 -8 Q)
             (MOVE O3 O5)
             (CALL LISP::NSUBST-IF* 4)
             (MOVE O2 O1)
             (MOVE O1 -3 Q)
             (CALL LISP::%RPLACA 2)
             (MOVE O1 -3 Q)
             (MOVEM O1 -4 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -3 Q)
             (JRST 11)
(LABEL 7)    (MOVE O1 -7 Q)
             (MOVEI N 1)
(LABEL 6)
(LABEL 3)    (SUBI Q 10)
             (POPJ P)
)

(%PUT (QUOTE NSUBST-IF*) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (NEW TEST TREE KEY))) 
(%PUT (QUOTE NSUBST-IF*) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE NSUBST-IF*) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE NSUBST-IF-NOT) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Substitutes New for subtrees of tree for which test is false, and returns
  the destructively modified copy of Tree.")) 

#_(LAP #0_NSUBST-IF-NOT EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 2 3 4 5) REST)
       #0_(:KEY IDENTITY (:KEY))
       (CODE-START)
(LABEL 2)    (MOVE O4 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST4)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST5)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 6)
             (MOVEM O1 -4 Q)
             (MOVEM O2 -3 Q)
             (MOVEM O3 -2 Q)
             (MOVEM O4 -1 Q)
             (MOVE O2 O4)
(LABEL 7)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 6)
             (JUMPN O2 7)
             (MOVE O1 (CONSTANT 1))
(LABEL 6)    (MOVEM O1 -5 Q)
             (MOVE O5 -1 Q)
             (MOVEM O5 0 Q)
             (MOVE O2 (CONSTANT 2))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O4 -5 Q)
             (MOVE O1 -4 Q)
             (MOVE O2 -3 Q)
             (MOVE O3 -2 Q)
             (CALL LISP::NSUBST-IF-NOT* 4)
             (SUBI Q 6)
             (POPJ P)
)

(%PUT (QUOTE NSUBST-IF-NOT) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (NEW TEST TREE &KEY (KEY (FUNCTION IDENTITY))))) 
(%PUT (QUOTE NSUBST-IF-NOT) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE NSUBST-IF-NOT) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_NSUBST-IF-NOT* EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 2-FEW 1 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 10)
             (MOVEM O1 -9 Q)
             (MOVEM O2 -8 Q)
             (MOVEM O3 -7 Q)
             (MOVEM O4 -6 Q)
             (MOVE O5 O2)
             (MOVEM O5 -5 Q)
             (MOVE O5 O4)
             (MOVEM O5 -4 Q)
             (MOVE O1 O3)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVE O6 -5 Q)
             (FCALL 1)
             (JUMPN O1 4)
             (MOVE O1 -9 Q)
             (MOVEI N 1)
             (JRST 3)
(LABEL 4)    (MOVE O1 -7 Q)
             (CALL ATOM 1)
             (JUMPE O1 5)
             (MOVE O1 -7 Q)
             (MOVEI N 1)
             (JRST 3)
(LABEL 5)    (SKIPA)
             (JRST 6)
             (MOVEM NIL -4 Q)
             (MOVE O5 -7 Q)
             (MOVEM O5 -3 Q)
(LABEL 11)   (MOVE O1 -3 Q)
             (CALL ATOM 1)
             (JUMPE O1 12)
             (MOVE O5 -8 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 -6 Q)
             (MOVEM O5 -1 Q)
             (MOVE O1 -3 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVE O6 -2 Q)
             (FCALL 1)
             (JUMPN O1 14)
             (MOVE O2 -9 Q)
             (MOVE O1 -4 Q)
             (CALL LISP::%RPLACD 2)
(LABEL 14)   (JRST 7)
(LABEL 12)   (MOVE O5 -8 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 -6 Q)
             (MOVEM O5 -1 Q)
             (MOVE O1 -3 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVE O6 -2 Q)
             (FCALL 1)
             (JUMPN O1 16)
             (MOVE O2 -9 Q)
             (MOVE O1 -4 Q)
             (CALL LISP::%RPLACD 2)
             (JRST 7)
(LABEL 16)   (MOVE O1 -3 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O4 -6 Q)
             (MOVE O1 -9 Q)
             (MOVE O2 -8 Q)
             (MOVE O3 O5)
             (CALL LISP::NSUBST-IF-NOT* 4)
             (MOVE O2 O1)
             (MOVE O1 -3 Q)
             (CALL LISP::%RPLACA 2)
             (MOVE O1 -3 Q)
             (MOVEM O1 -4 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -3 Q)
             (JRST 11)
(LABEL 7)    (MOVE O1 -7 Q)
             (MOVEI N 1)
(LABEL 6)
(LABEL 3)    (SUBI Q 10)
             (POPJ P)
)

(%PUT (QUOTE NSUBST-IF-NOT*) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (NEW TEST TREE KEY))) 
(%PUT (QUOTE NSUBST-IF-NOT*) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE NSUBST-IF-NOT*) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE SUBLIS) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Substitutes from Alist into Tree nondestructively.")) 

#_(LAP #0_SUBLIS EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_(:KEY IDENTITY :TEST EQL T :TEST-NOT (:TEST-NOT :TEST :KEY))
       (CODE-START)
(LABEL 2)    (MOVE O3 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 1)
(LABEL 6)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 12)
             (MOVEM O1 -7 Q)
             (MOVEM O2 -6 Q)
             (MOVEM O3 -5 Q)
             (MOVE O2 O3)
(LABEL 8)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 7)
             (JUMPN O2 8)
             (MOVE O1 (CONSTANT 1))
(LABEL 7)    (MOVEM O1 -11 Q)
             (MOVE O2 -5 Q)
(LABEL 10)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 2))
             (JRST 9)
             (JUMPN O2 10)
             (MOVE O1 (CONSTANT 3))
(LABEL 9)    (MOVEM O1 -10 Q)
             (MOVE O5 (CONSTANT 4))
             (MOVEM O5 -9 Q)
             (MOVE O2 -5 Q)
(LABEL 12)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 5))
             (JRST 11)
             (JUMPN O2 12)
             (MOVEM NIL -9 Q)
             (MOVE O1 NIL)
(LABEL 11)   (MOVEM O1 -8 Q)
             (MOVE O5 -5 Q)
             (MOVEM O5 -4 Q)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O5 -7 Q)
             (MOVEM O5 -4 Q)
             (MOVE O5 -6 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 -11 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 -8 Q)
             (MOVEM O5 0 Q)
             (PUSH Q -9 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL LISP::SUBLIS* 6)
             (SUBI Q 12)
             (POPJ P)
)

(%PUT (QUOTE SUBLIS) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ALIST TREE &KEY (KEY (FUNCTION IDENTITY)) (TEST (FUNCTION EQL)) (TEST-NOT NIL NOTP)))) 
(%PUT (QUOTE SUBLIS) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE SUBLIS) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_SUBLIS* EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 2-FEW 2-FEW 2-FEW 1 2-MANY))
       #0_(:TEST-NOT :TEST)
       (CODE-START)
(LABEL 1)    (ADDI Q 14)
             (MOVEM O1 -13 Q)
             (MOVEM O2 -12 Q)
             (MOVEM O3 -11 Q)
             (MOVEM O4 -10 Q)
             (MOVEM O5 -9 Q)
             (SKIPN NIL -14 Q)
             (JRST 3)
             (MOVE O5 -11 Q)
             (MOVEM O5 -7 Q)
             (MOVE O1 -12 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVEM O1 -7 Q)
             (MOVE O4 -9 Q)
             (MOVE O2 -13 Q)
             (MOVE O3 (CONSTANT 0))
             (CALL ASSOC 4)
             (MOVEM O1 -8 Q)
             (JRST 4)
(LABEL 3)    (MOVE O5 -11 Q)
             (MOVEM O5 -7 Q)
             (MOVE O1 -12 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVEM O1 -7 Q)
             (MOVE O4 -10 Q)
             (MOVE O2 -13 Q)
             (MOVE O3 (CONSTANT 1))
             (CALL ASSOC 4)
             (MOVEM O1 -8 Q)
(LABEL 4)    (SKIPN NIL -8 Q)
             (JRST 6)
             (MOVE O1 -8 Q)
             (MOVE O1 1 O1)
             (MOVEI N 1)
             (JRST 5)
(LABEL 6)    (MOVE O1 -12 Q)
             (CALL ATOM 1)
             (JUMPE O1 7)
             (MOVE O1 -12 Q)
             (MOVEI N 1)
             (JRST 5)
(LABEL 7)    (SKIPA)
             (JRST 8)
             (MOVE O5 -13 Q)
             (MOVEM O5 -5 Q)
             (MOVE O1 -12 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -4 Q)
             (MOVE O5 -11 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 -9 Q)
             (MOVEM O5 -1 Q)
             (PUSH Q -14 Q)
             (MOVE O1 -6 Q)
             (MOVE O2 -5 Q)
             (MOVE O3 -4 Q)
             (MOVE O4 -3 Q)
             (MOVE O5 -2 Q)
             (CALL LISP::SUBLIS* 6)
             (MOVEM O1 -6 Q)
             (MOVE O5 -13 Q)
             (MOVEM O5 -4 Q)
             (MOVE O1 -12 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -3 Q)
             (MOVE O5 -11 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 -9 Q)
             (MOVEM O5 0 Q)
             (PUSH Q -14 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL LISP::SUBLIS* 6)
             (MOVEM O1 -5 Q)
             (MOVE O1 -12 Q)
             (MOVE O2 0 O1)
             (CAME O2 -6 Q)
             (JRST 11)
             (MOVE O2 1 O1)
             (CAME O2 -5 Q)
(LABEL 11)   (JRST 9)
             (MOVE O1 -12 Q)
             (MOVEI N 1)
             (JRST 10)
(LABEL 9)    (MOVE O2 -5 Q)
             (MOVE O1 -6 Q)
             (CALL CONS 2)
(LABEL 10)
(LABEL 8)
(LABEL 5)    (SUBI Q 15)
             (POPJ P)
)

(%PUT (QUOTE SUBLIS*) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ALIST TREE KEY TEST TEST-NOT NOTP))) 
(%PUT (QUOTE SUBLIS*) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE SUBLIS*) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE NSUBLIS) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Substitutes from Alist into Tree destructively.")) 

#_(LAP #0_NSUBLIS EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_(:KEY IDENTITY :TEST EQL T :TEST-NOT (:TEST-NOT :TEST :KEY))
       (CODE-START)
(LABEL 2)    (MOVE O3 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 1)
(LABEL 6)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 12)
             (MOVEM O1 -7 Q)
             (MOVEM O2 -6 Q)
             (MOVEM O3 -5 Q)
             (MOVE O2 O3)
(LABEL 8)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 7)
             (JUMPN O2 8)
             (MOVE O1 (CONSTANT 1))
(LABEL 7)    (MOVEM O1 -11 Q)
             (MOVE O2 -5 Q)
(LABEL 10)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 2))
             (JRST 9)
             (JUMPN O2 10)
             (MOVE O1 (CONSTANT 3))
(LABEL 9)    (MOVEM O1 -10 Q)
             (MOVE O5 (CONSTANT 4))
             (MOVEM O5 -9 Q)
             (MOVE O2 -5 Q)
(LABEL 12)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 5))
             (JRST 11)
             (JUMPN O2 12)
             (MOVEM NIL -9 Q)
             (MOVE O1 NIL)
(LABEL 11)   (MOVEM O1 -8 Q)
             (MOVE O5 -5 Q)
             (MOVEM O5 -4 Q)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O5 -7 Q)
             (MOVEM O5 -4 Q)
             (MOVE O5 -6 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 -11 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 -8 Q)
             (MOVEM O5 0 Q)
             (PUSH Q -9 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL LISP::NSUBLIS* 6)
             (SUBI Q 12)
             (POPJ P)
)

(%PUT (QUOTE NSUBLIS) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ALIST TREE &KEY (KEY (FUNCTION IDENTITY)) (TEST (FUNCTION EQL)) (TEST-NOT NIL NOTP)))) 
(%PUT (QUOTE NSUBLIS) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE NSUBLIS) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_NSUBLIS* EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 2-FEW 2-FEW 2-FEW 1 2-MANY))
       #0_(:TEST-NOT :TEST)
       (CODE-START)
(LABEL 1)    (ADDI Q 15)
             (MOVEM O1 -14 Q)
             (MOVEM O2 -13 Q)
             (MOVEM O3 -12 Q)
             (MOVEM O4 -11 Q)
             (MOVEM O5 -10 Q)
             (MOVEM NIL -9 Q)
             (SKIPN NIL -15 Q)
             (JRST 5)
             (MOVE O5 -12 Q)
             (MOVEM O5 -8 Q)
             (MOVE O1 -13 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVEM O1 -8 Q)
             (MOVE O4 -10 Q)
             (MOVE O2 -14 Q)
             (MOVE O3 (CONSTANT 0))
             (CALL ASSOC 4)
             (JRST 6)
(LABEL 5)    (MOVE O5 -12 Q)
             (MOVEM O5 -8 Q)
             (MOVE O1 -13 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVEM O1 -8 Q)
             (MOVE O4 -11 Q)
             (MOVE O2 -14 Q)
             (MOVE O3 (CONSTANT 1))
             (CALL ASSOC 4)
(LABEL 6)    (MOVEM O1 -9 Q)
             (JUMPE O1 4)
             (MOVE O1 1 O1)
             (MOVEI N 1)
             (JRST 3)
(LABEL 4)    (MOVE O1 -13 Q)
             (CALL ATOM 1)
             (JUMPE O1 7)
             (MOVE O1 -13 Q)
             (MOVEI N 1)
             (JRST 3)
(LABEL 7)    (SKIPA)
             (JRST 8)
             (MOVEM NIL -7 Q)
             (MOVE O5 -13 Q)
             (MOVEM O5 -6 Q)
(LABEL 13)   (MOVE O1 -6 Q)
             (CALL ATOM 1)
             (JUMPE O1 14)
             (SKIPN NIL -15 Q)
             (JRST 18)
             (MOVE O5 -12 Q)
             (MOVEM O5 -5 Q)
             (MOVE O1 -6 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVEM O1 -5 Q)
             (MOVE O4 -10 Q)
             (MOVE O2 -14 Q)
             (MOVE O3 (CONSTANT 0))
             (CALL ASSOC 4)
             (JRST 19)
(LABEL 18)   (MOVE O5 -12 Q)
             (MOVEM O5 -5 Q)
             (MOVE O1 -6 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVEM O1 -5 Q)
             (MOVE O4 -11 Q)
             (MOVE O2 -14 Q)
             (MOVE O3 (CONSTANT 1))
             (CALL ASSOC 4)
(LABEL 19)   (MOVEM O1 -9 Q)
             (JUMPE O1 16)
             (MOVE O2 1 O1)
             (MOVE O1 -7 Q)
             (CALL LISP::%RPLACD 2)
(LABEL 16)   (JRST 9)
(LABEL 14)   (SKIPN NIL -15 Q)
             (JRST 22)
             (MOVE O5 -12 Q)
             (MOVEM O5 -5 Q)
             (MOVE O1 -6 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVEM O1 -5 Q)
             (MOVE O4 -10 Q)
             (MOVE O2 -14 Q)
             (MOVE O3 (CONSTANT 0))
             (CALL ASSOC 4)
             (JRST 23)
(LABEL 22)   (MOVE O5 -12 Q)
             (MOVEM O5 -5 Q)
             (MOVE O1 -6 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVEM O1 -5 Q)
             (MOVE O4 -11 Q)
             (MOVE O2 -14 Q)
             (MOVE O3 (CONSTANT 1))
             (CALL ASSOC 4)
(LABEL 23)   (MOVEM O1 -9 Q)
             (JUMPE O1 20)
             (MOVE O2 1 O1)
             (MOVE O1 -7 Q)
             (CALL LISP::%RPLACD 2)
             (JRST 9)
(LABEL 20)   (MOVE O5 -14 Q)
             (MOVEM O5 -4 Q)
             (MOVE O1 -6 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -3 Q)
             (MOVE O5 -12 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 -11 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 0 Q)
             (PUSH Q -15 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL LISP::NSUBLIS* 6)
             (MOVE O2 O1)
             (MOVE O1 -6 Q)
             (CALL LISP::%RPLACA 2)
             (MOVE O1 -6 Q)
             (MOVEM O1 -7 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -6 Q)
             (JRST 13)
(LABEL 9)    (MOVE O1 -13 Q)
             (MOVEI N 1)
(LABEL 8)
(LABEL 3)    (SUBI Q 16)
             (POPJ P)
)

(%PUT (QUOTE NSUBLIS*) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ALIST TREE KEY TEST TEST-NOT NOTP))) 
(%PUT (QUOTE NSUBLIS*) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE NSUBLIS*) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE MEMBER) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns tail of list beginning with first element satisfying EQUALity,
   :test, or :test-not with a given item.")) 

#_(LAP #0_MEMBER EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_(:TEST EQL :TEST-NOT :KEY IDENTITY (:KEY :TEST-NOT :TEST) "~S is not a list.")
       (CODE-START)
(LABEL 2)    (MOVE O3 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 1)
(LABEL 6)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 10)
             (MOVEM O1 -6 Q)
             (MOVEM O2 -5 Q)
             (MOVEM O3 -4 Q)
             (MOVE O2 O3)
(LABEL 8)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 7)
             (JUMPN O2 8)
             (MOVE O1 (CONSTANT 1))
(LABEL 7)    (MOVEM O1 -9 Q)
             (MOVE O2 -4 Q)
(LABEL 10)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 2))
             (JUMPN O4 10)
             (MOVEM O1 -8 Q)
             (MOVE O2 -4 Q)
(LABEL 12)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 3))
             (JRST 11)
             (JUMPN O2 12)
             (MOVE O1 (CONSTANT 4))
(LABEL 11)   (MOVEM O1 -7 Q)
             (MOVE O5 -4 Q)
             (MOVEM O5 -3 Q)
             (MOVE O2 (CONSTANT 5))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O1 -5 Q)
             (CALL LISTP 1)
             (JUMPN O1 15)
             (MOVE O2 -5 Q)
             (MOVE O1 (CONSTANT 6))
             (CALL ERROR 2)
(LABEL 15)   (SKIPN NIL -8 Q)
             (JRST 17)
             (MOVE O5 -5 Q)
             (MOVEM O5 -2 Q)
(LABEL 23)   (MOVE O1 -2 Q)
             (CALL ATOM 1)
             (JUMPE O1 24)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 19)
(LABEL 24)   (MOVE O5 -8 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 -7 Q)
             (MOVEM O5 0 Q)
             (MOVE O1 -2 Q)
             (MOVE O1 0 O1)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVE O2 O1)
             (MOVE O1 -6 Q)
             (MOVE O6 -1 Q)
             (FCALL 2)
             (JUMPN O1 26)
             (MOVE O1 -2 Q)
             (MOVEI N 1)
             (JRST 19)
(LABEL 26)   (MOVE O1 -2 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -2 Q)
             (JRST 23)
(LABEL 19)   (JRST 18)
(LABEL 17)   (MOVE O5 -5 Q)
             (MOVEM O5 -2 Q)
(LABEL 32)   (MOVE O1 -2 Q)
             (CALL ATOM 1)
             (JUMPE O1 33)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 28)
(LABEL 33)   (MOVE O5 -9 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 -7 Q)
             (MOVEM O5 0 Q)
             (MOVE O1 -2 Q)
             (MOVE O1 0 O1)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVE O2 O1)
             (MOVE O1 -6 Q)
             (MOVE O6 -1 Q)
             (FCALL 2)
             (JUMPE O1 35)
             (MOVE O1 -2 Q)
             (MOVEI N 1)
             (JRST 28)
(LABEL 35)   (MOVE O1 -2 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -2 Q)
             (JRST 32)
(LABEL 28)
(LABEL 18)   (SUBI Q 10)
             (POPJ P)
)

(%PUT (QUOTE MEMBER) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ITEM LIST &KEY (TEST (FUNCTION EQL)) TEST-NOT (KEY (FUNCTION IDENTITY))))) 
(%PUT (QUOTE MEMBER) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE MEMBER) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE MEMBER-IF) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns tail of list beginning with first element satisfying test(element)")) 

#_(LAP #0_MEMBER-IF EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_(:KEY IDENTITY (:KEY) "~S is not a list.")
       (CODE-START)
(LABEL 2)    (MOVE O3 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 1)
(LABEL 6)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 8)
             (MOVEM O1 -6 Q)
             (MOVEM O2 -5 Q)
             (MOVEM O3 -4 Q)
             (MOVE O2 O3)
(LABEL 8)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 7)
             (JUMPN O2 8)
             (MOVE O1 (CONSTANT 1))
(LABEL 7)    (MOVEM O1 -7 Q)
             (MOVE O5 -4 Q)
             (MOVEM O5 -3 Q)
             (MOVE O2 (CONSTANT 2))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O1 -5 Q)
             (CALL LISTP 1)
             (JUMPN O1 11)
             (MOVE O2 -5 Q)
             (MOVE O1 (CONSTANT 3))
             (CALL ERROR 2)
(LABEL 11)   (MOVE O5 -5 Q)
             (MOVEM O5 -2 Q)
(LABEL 17)   (MOVE O1 -2 Q)
             (CALL ATOM 1)
             (JUMPE O1 18)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 13)
(LABEL 18)   (MOVE O5 -6 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 -7 Q)
             (MOVEM O5 0 Q)
             (MOVE O1 -2 Q)
             (MOVE O1 0 O1)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVE O6 -1 Q)
             (FCALL 1)
             (JUMPE O1 20)
             (MOVE O1 -2 Q)
             (MOVEI N 1)
             (JRST 13)
(LABEL 20)   (MOVE O1 -2 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -2 Q)
             (JRST 17)
(LABEL 13)   (SUBI Q 8)
             (POPJ P)
)

(%PUT (QUOTE MEMBER-IF) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (TEST LIST &KEY (KEY (FUNCTION IDENTITY))))) 
(%PUT (QUOTE MEMBER-IF) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE MEMBER-IF) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE MEMBER-IF-NOT) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns tail of list beginning with first element not satisfying test(el)")) 

#_(LAP #0_MEMBER-IF-NOT EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_(:KEY IDENTITY (:KEY) "~S is not a list.")
       (CODE-START)
(LABEL 2)    (MOVE O3 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 1)
(LABEL 6)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 8)
             (MOVEM O1 -6 Q)
             (MOVEM O2 -5 Q)
             (MOVEM O3 -4 Q)
             (MOVE O2 O3)
(LABEL 8)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 7)
             (JUMPN O2 8)
             (MOVE O1 (CONSTANT 1))
(LABEL 7)    (MOVEM O1 -7 Q)
             (MOVE O5 -4 Q)
             (MOVEM O5 -3 Q)
             (MOVE O2 (CONSTANT 2))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O1 -5 Q)
             (CALL LISTP 1)
             (JUMPN O1 11)
             (MOVE O2 -5 Q)
             (MOVE O1 (CONSTANT 3))
             (CALL ERROR 2)
(LABEL 11)   (MOVE O5 -5 Q)
             (MOVEM O5 -2 Q)
(LABEL 17)   (MOVE O1 -2 Q)
             (CALL ATOM 1)
             (JUMPE O1 18)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 13)
(LABEL 18)   (MOVE O5 -6 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 -7 Q)
             (MOVEM O5 0 Q)
             (MOVE O1 -2 Q)
             (MOVE O1 0 O1)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVE O6 -1 Q)
             (FCALL 1)
             (JUMPN O1 20)
             (MOVE O1 -2 Q)
             (MOVEI N 1)
             (JRST 13)
(LABEL 20)   (MOVE O1 -2 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -2 Q)
             (JRST 17)
(LABEL 13)   (SUBI Q 8)
             (POPJ P)
)

(%PUT (QUOTE MEMBER-IF-NOT) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (TEST LIST &KEY (KEY (FUNCTION IDENTITY))))) 
(%PUT (QUOTE MEMBER-IF-NOT) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE MEMBER-IF-NOT) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE TAILP) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns T if sublist is one of the cons'es in list")) 

#_(LAP #0_TAILP EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(T)
       (CODE-START)
(LABEL 1)    (ADDI Q 3)
             (MOVEM O1 -2 Q)
             (MOVEM O2 -1 Q)
             (MOVE O5 O2)
             (MOVEM O5 0 Q)
(LABEL 7)    (MOVE O1 0 Q)
             (CALL ATOM 1)
             (JUMPE O1 8)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 3)
(LABEL 8)    (MOVE O2 -2 Q)
             (CAME O2 0 Q)
             (JRST 10)
             (MOVE O1 (CONSTANT 0))
             (MOVEI N 1)
             (JRST 3)
(LABEL 10)   (MOVE O1 0 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 0 Q)
             (JRST 7)
(LABEL 3)    (SUBI Q 3)
             (POPJ P)
)

(%PUT (QUOTE TAILP) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (SUBLIST LIST))) 
(%PUT (QUOTE TAILP) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE TAILP) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE ADJOIN) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Add item to list unless it is already a member.")) 

#_(LAP #0_ADJOIN EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_(:KEY IDENTITY :TEST EQL T :TEST-NOT (:TEST-NOT :TEST :KEY))
       (CODE-START)
(LABEL 2)    (MOVE O3 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 1)
(LABEL 6)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 12)
             (MOVEM O1 -7 Q)
             (MOVEM O2 -6 Q)
             (MOVEM O3 -5 Q)
             (MOVE O2 O3)
(LABEL 8)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 7)
             (JUMPN O2 8)
             (MOVE O1 (CONSTANT 1))
(LABEL 7)    (MOVEM O1 -11 Q)
             (MOVE O2 -5 Q)
(LABEL 10)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 2))
             (JRST 9)
             (JUMPN O2 10)
             (MOVE O1 (CONSTANT 3))
(LABEL 9)    (MOVEM O1 -10 Q)
             (MOVE O5 (CONSTANT 4))
             (MOVEM O5 -9 Q)
             (MOVE O2 -5 Q)
(LABEL 12)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 5))
             (JRST 11)
             (JUMPN O2 12)
             (MOVEM NIL -9 Q)
             (MOVE O1 NIL)
(LABEL 11)   (MOVEM O1 -8 Q)
             (MOVE O5 -5 Q)
             (MOVEM O5 -4 Q)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (SKIPN NIL -9 Q)
             (JRST 16)
             (MOVE O5 -11 Q)
             (MOVEM O5 -4 Q)
             (MOVE O1 -7 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVEM O1 -4 Q)
             (MOVE O5 -6 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 (CONSTANT 5))
             (MOVEM O5 -2 Q)
             (MOVE O5 -8 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 0 Q)
             (PUSH Q -11 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL MEMBER 6)
             (JUMPE O1 17)
             (JRST1 17)
(LABEL 16)   (MOVE O5 -11 Q)
             (MOVEM O5 -4 Q)
             (MOVE O1 -7 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVEM O1 -4 Q)
             (MOVE O5 -6 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 (CONSTANT 2))
             (MOVEM O5 -2 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 0 Q)
             (PUSH Q -11 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL MEMBER 6)
             (SKIPN NIL O1)
(LABEL 17)   (JRST 14)
             (MOVE O1 -6 Q)
             (MOVEI N 1)
             (JRST 15)
(LABEL 14)   (MOVE O2 -6 Q)
             (MOVE O1 -7 Q)
             (CALL CONS 2)
(LABEL 15)   (SUBI Q 12)
             (POPJ P)
)

(%PUT (QUOTE ADJOIN) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ITEM LIST &KEY (KEY (FUNCTION IDENTITY)) (TEST (FUNCTION EQL)) (TEST-NOT NIL NOTP)))) 
(%PUT (QUOTE ADJOIN) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE ADJOIN) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE UNION) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns the union of List1 and List2.")) 

#_(LAP #0_UNION EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_(:KEY IDENTITY T :TEST EQL :TEST-NOT (:TEST-NOT :TEST :KEY) "Test and test-not both supplied.")
       (CODE-START)
(LABEL 2)    (MOVE O3 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 1)
(LABEL 6)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 17)
             (MOVEM O1 -11 Q)
             (MOVEM O2 -10 Q)
             (MOVEM O3 -9 Q)
             (MOVE O2 O3)
(LABEL 8)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 7)
             (JUMPN O2 8)
             (MOVE O1 (CONSTANT 1))
(LABEL 7)    (MOVEM O1 -16 Q)
             (MOVE O5 (CONSTANT 2))
             (MOVEM O5 -15 Q)
             (MOVE O2 -9 Q)
(LABEL 10)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 3))
             (JRST 9)
             (JUMPN O2 10)
             (MOVEM NIL -15 Q)
             (MOVE O1 (CONSTANT 4))
(LABEL 9)    (MOVEM O1 -14 Q)
             (MOVE O5 (CONSTANT 2))
             (MOVEM O5 -13 Q)
             (MOVE O2 -9 Q)
(LABEL 12)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 5))
             (JRST 11)
             (JUMPN O2 12)
             (MOVEM NIL -13 Q)
             (MOVE O1 NIL)
(LABEL 11)   (MOVEM O1 -12 Q)
             (MOVE O5 -9 Q)
             (MOVEM O5 -8 Q)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (SKIPN NIL -15 Q)
             (JRST 16)
             (SKIPN NIL -13 Q)
(LABEL 16)   (JRST 14)
             (MOVE O1 (CONSTANT 7))
             (CALL ERROR 1)
(LABEL 14)   (MOVE O5 -11 Q)
             (MOVEM O5 -7 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -6 Q)
             (MOVE O1 O5)
             (MOVE O5 0 O1)
             (MOVEM O5 -5 Q)
(LABEL 22)   (MOVE O1 -6 Q)
             (CALL ATOM 1)
             (JUMPE O1 23)
             (JRST 18)
(LABEL 23)   (SKIPN NIL -15 Q)
             (JRST 29)
             (SKIPN NIL -13 Q)
(LABEL 29)   (JRST 28)
             (MOVE O1 (CONSTANT 7))
             (CALL ERROR 1)
             (JUMPN O1 27)
             (JRST1 27)
(LABEL 28)   (SKIPN NIL -13 Q)
             (JRST 31)
             (MOVE O5 -16 Q)
             (MOVEM O5 -4 Q)
             (MOVE O1 -5 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVEM O1 -4 Q)
             (MOVE O5 -11 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -2 Q)
             (MOVE O5 -16 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 (CONSTANT 5))
             (MOVEM O5 0 Q)
             (PUSH Q -12 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL MEMBER 6)
             (JUMPN O1 27)
             (JRST1 27)
(LABEL 31)   (SKIPA)
             (JRST 32)
             (MOVE O5 -16 Q)
             (MOVEM O5 -4 Q)
             (MOVE O1 -5 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVEM O1 -4 Q)
             (MOVE O5 -11 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -2 Q)
             (MOVE O5 -16 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 (CONSTANT 3))
             (MOVEM O5 0 Q)
             (PUSH Q -14 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL MEMBER 6)
             (JUMPN O1 27)
             (JRST1 27)
(LABEL 32)
(LABEL 27)   (JRST 25)
             (MOVE O2 -7 Q)
             (MOVE O1 -5 Q)
             (CALL CONS 2)
             (MOVEM O1 -7 Q)
(LABEL 25)   (MOVE O1 -6 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -6 Q)
             (MOVE O1 0 O1)
             (MOVEM O1 -5 Q)
             (JRST 22)
(LABEL 18)   (MOVE O1 -7 Q)
             (MOVEI N 1)
             (SUBI Q 17)
             (POPJ P)
)

(%PUT (QUOTE UNION) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (LIST1 LIST2 &KEY (KEY (FUNCTION IDENTITY)) (TEST (FUNCTION EQL) TESTP) (TEST-NOT NIL NOTP)))) 
(%PUT (QUOTE UNION) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE UNION) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_STEVE-SPLICE MACRO
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(3 "Macro ~S cannot be called with ~S args." STEVE-SPLICE LET TEMP SETF CDR (CDR TEMP) (TEMP))
       (CODE-START)
(LABEL 1)    (ADDI Q 10)
             (MOVEM O1 -9 Q)
             (CALL LENGTH 1)
             (MOVEM O1 -8 Q)
             (MOVE O2 (CONSTANT 0))
             (CALL = 2)
             (JUMPN O1 4)
             (MOVE O1 -9 Q)
             (CALL LENGTH 1)
             (CALL 1- 1)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 1))
             (MOVE O2 (CONSTANT 2))
             (CALL ERROR 3)
             (JRST 3)
(LABEL 4)    (SKIPA)
             (JRST 5)
             (MOVE O1 -9 Q)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -7 Q)
             (MOVE O1 -9 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -6 Q)
             (MOVE O2 -7 Q)
             (MOVE O1 (CONSTANT 4))
             (CALL LIST 2)
             (CALL LIST 1)
             (MOVEM O1 -5 Q)
             (MOVE O5 (CONSTANT 5))
             (MOVEM O5 -4 Q)
             (MOVE O5 -7 Q)
             (MOVEM O5 -3 Q)
             (MOVE O2 O5)
             (MOVE O1 (CONSTANT 6))
             (CALL LIST 2)
             (MOVEM O1 -2 Q)
             (MOVE O5 (CONSTANT 7))
             (MOVEM O5 -1 Q)
             (MOVE O5 -6 Q)
             (MOVEM O5 0 Q)
             (PUSH Q -6 Q)
             (PUSH Q (CONSTANT 8))
             (MOVE O1 -6 Q)
             (MOVE O2 -5 Q)
             (MOVE O3 -4 Q)
             (MOVE O4 -3 Q)
             (MOVE O5 -2 Q)
             (CALL LIST* 7)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 3))
             (MOVE O2 -5 Q)
             (CALL LIST 3)
(LABEL 5)
(LABEL 3)    (SUBI Q 10)
             (POPJ P)
)

(%PUT (QUOTE STEVE-SPLICE) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (SOURCE DESTINATION))) 
(%PUT (QUOTE STEVE-SPLICE) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE STEVE-SPLICE) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE NUNION) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns the union of List1 and List2, which may destroy both lists.")) 

#_(LAP #0_NUNION EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_(:KEY IDENTITY T :TEST EQL :TEST-NOT (:TEST-NOT :TEST :KEY) "Test and test-not both supplied.")
       (CODE-START)
(LABEL 2)    (MOVE O3 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 1)
(LABEL 6)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 15)
             (MOVEM O1 -9 Q)
             (MOVEM O2 -8 Q)
             (MOVEM O3 -7 Q)
             (MOVE O2 O3)
(LABEL 8)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 7)
             (JUMPN O2 8)
             (MOVE O1 (CONSTANT 1))
(LABEL 7)    (MOVEM O1 -14 Q)
             (MOVE O5 (CONSTANT 2))
             (MOVEM O5 -13 Q)
             (MOVE O2 -7 Q)
(LABEL 10)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 3))
             (JRST 9)
             (JUMPN O2 10)
             (MOVEM NIL -13 Q)
             (MOVE O1 (CONSTANT 4))
(LABEL 9)    (MOVEM O1 -12 Q)
             (MOVE O5 (CONSTANT 2))
             (MOVEM O5 -11 Q)
             (MOVE O2 -7 Q)
(LABEL 12)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 5))
             (JRST 11)
             (JUMPN O2 12)
             (MOVEM NIL -11 Q)
             (MOVE O1 NIL)
(LABEL 11)   (MOVEM O1 -10 Q)
             (MOVE O5 -7 Q)
             (MOVEM O5 -6 Q)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (SKIPN NIL -13 Q)
             (JRST 16)
             (SKIPN NIL -11 Q)
(LABEL 16)   (JRST 14)
             (MOVE O1 (CONSTANT 7))
             (CALL ERROR 1)
(LABEL 14)   (MOVE O5 -9 Q)
             (MOVEM O5 -5 Q)
(LABEL 22)   (MOVE O1 -8 Q)
             (CALL ENDP 1)
             (JUMPE O1 23)
             (JRST 18)
(LABEL 23)   (SKIPN NIL -13 Q)
             (JRST 29)
             (SKIPN NIL -11 Q)
(LABEL 29)   (JRST 28)
             (MOVE O1 (CONSTANT 7))
             (CALL ERROR 1)
             (JUMPN O1 27)
             (JRST1 27)
(LABEL 28)   (SKIPN NIL -11 Q)
             (JRST 31)
             (MOVE O5 -14 Q)
             (MOVEM O5 -4 Q)
             (MOVE O1 -8 Q)
             (MOVE O1 0 O1)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVEM O1 -4 Q)
             (MOVE O5 -9 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -2 Q)
             (MOVE O5 -14 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 (CONSTANT 5))
             (MOVEM O5 0 Q)
             (PUSH Q -10 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL MEMBER 6)
             (JUMPN O1 27)
             (JRST1 27)
(LABEL 31)   (SKIPA)
             (JRST 32)
             (MOVE O5 -14 Q)
             (MOVEM O5 -4 Q)
             (MOVE O1 -8 Q)
             (MOVE O1 0 O1)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVEM O1 -4 Q)
             (MOVE O5 -9 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -2 Q)
             (MOVE O5 -14 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 (CONSTANT 3))
             (MOVEM O5 0 Q)
             (PUSH Q -12 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL MEMBER 6)
             (JUMPN O1 27)
             (JRST1 27)
(LABEL 32)
(LABEL 27)   (JRST 25)
             (MOVE O5 -8 Q)
             (MOVEM O5 -3 Q)
             (MOVE O1 O5)
             (MOVE O1 1 O1)
             (MOVEM O1 -8 Q)
             (MOVE O2 -5 Q)
             (MOVE O1 O5)
             (CALL LISP::%RPLACD 2)
             (MOVE O1 -3 Q)
             (MOVEM O1 -5 Q)
             (JRST 26)
(LABEL 25)   (MOVE O1 -8 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -8 Q)
(LABEL 26)   (JRST 22)
(LABEL 18)   (MOVE O1 -5 Q)
             (MOVEI N 1)
             (SUBI Q 15)
             (POPJ P)
)

(%PUT (QUOTE NUNION) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (LIST1 LIST2 &KEY (KEY (FUNCTION IDENTITY)) (TEST (FUNCTION EQL) TESTP) (TEST-NOT NIL NOTP)))) 
(%PUT (QUOTE NUNION) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE NUNION) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE INTERSECTION) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns the union of List1 and List2.")) 

#_(LAP #0_INTERSECTION EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_(:KEY IDENTITY T :TEST EQL :TEST-NOT (:TEST-NOT :TEST :KEY) "Test and test-not both supplied.")
       (CODE-START)
(LABEL 2)    (MOVE O3 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 1)
(LABEL 6)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 17)
             (MOVEM O1 -11 Q)
             (MOVEM O2 -10 Q)
             (MOVEM O3 -9 Q)
             (MOVE O2 O3)
(LABEL 8)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 7)
             (JUMPN O2 8)
             (MOVE O1 (CONSTANT 1))
(LABEL 7)    (MOVEM O1 -16 Q)
             (MOVE O5 (CONSTANT 2))
             (MOVEM O5 -15 Q)
             (MOVE O2 -9 Q)
(LABEL 10)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 3))
             (JRST 9)
             (JUMPN O2 10)
             (MOVEM NIL -15 Q)
             (MOVE O1 (CONSTANT 4))
(LABEL 9)    (MOVEM O1 -14 Q)
             (MOVE O5 (CONSTANT 2))
             (MOVEM O5 -13 Q)
             (MOVE O2 -9 Q)
(LABEL 12)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 5))
             (JRST 11)
             (JUMPN O2 12)
             (MOVEM NIL -13 Q)
             (MOVE O1 NIL)
(LABEL 11)   (MOVEM O1 -12 Q)
             (MOVE O5 -9 Q)
             (MOVEM O5 -8 Q)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (SKIPN NIL -15 Q)
             (JRST 16)
             (SKIPN NIL -13 Q)
(LABEL 16)   (JRST 14)
             (MOVE O1 (CONSTANT 7))
             (CALL ERROR 1)
(LABEL 14)   (MOVEM NIL -7 Q)
             (MOVE O5 -11 Q)
             (MOVEM O5 -6 Q)
             (MOVE O1 O5)
             (MOVE O5 0 O1)
             (MOVEM O5 -5 Q)
(LABEL 22)   (MOVE O1 -6 Q)
             (CALL ATOM 1)
             (JUMPE O1 23)
             (JRST 18)
(LABEL 23)   (SKIPN NIL -15 Q)
             (JRST 29)
             (SKIPN NIL -13 Q)
(LABEL 29)   (JRST 28)
             (MOVE O1 (CONSTANT 7))
             (CALL ERROR 1)
             (JUMPE O1 27)
             (JRST1 27)
(LABEL 28)   (SKIPN NIL -13 Q)
             (JRST 31)
             (MOVE O5 -16 Q)
             (MOVEM O5 -4 Q)
             (MOVE O1 -5 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVEM O1 -4 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -2 Q)
             (MOVE O5 -16 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 (CONSTANT 5))
             (MOVEM O5 0 Q)
             (PUSH Q -12 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL MEMBER 6)
             (JUMPE O1 27)
             (JRST1 27)
(LABEL 31)   (SKIPA)
             (JRST 32)
             (MOVE O5 -16 Q)
             (MOVEM O5 -4 Q)
             (MOVE O1 -5 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVEM O1 -4 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -2 Q)
             (MOVE O5 -16 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 (CONSTANT 3))
             (MOVEM O5 0 Q)
             (PUSH Q -14 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL MEMBER 6)
             (JUMPE O1 27)
             (JRST1 27)
(LABEL 32)
(LABEL 27)   (JRST 25)
             (MOVE O2 -7 Q)
             (MOVE O1 -5 Q)
             (CALL CONS 2)
             (MOVEM O1 -7 Q)
(LABEL 25)   (MOVE O1 -6 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -6 Q)
             (MOVE O1 0 O1)
             (MOVEM O1 -5 Q)
             (JRST 22)
(LABEL 18)   (MOVE O1 -7 Q)
             (MOVEI N 1)
             (SUBI Q 17)
             (POPJ P)
)

(%PUT (QUOTE INTERSECTION) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (LIST1 LIST2 &KEY (KEY (FUNCTION IDENTITY)) (TEST (FUNCTION EQL) TESTP) (TEST-NOT NIL NOTP)))) 
(%PUT (QUOTE INTERSECTION) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE INTERSECTION) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE NINTERSECTION) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns the intersection of List1 and List2.  List1 may be destroyed.")) 

#_(LAP #0_NINTERSECTION EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_(:KEY IDENTITY T :TEST EQL :TEST-NOT (:TEST-NOT :TEST :KEY) "Test and test-not both supplied.")
       (CODE-START)
(LABEL 2)    (MOVE O3 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 1)
(LABEL 6)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 15)
             (MOVEM O1 -9 Q)
             (MOVEM O2 -8 Q)
             (MOVEM O3 -7 Q)
             (MOVE O2 O3)
(LABEL 8)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 7)
             (JUMPN O2 8)
             (MOVE O1 (CONSTANT 1))
(LABEL 7)    (MOVEM O1 -14 Q)
             (MOVE O5 (CONSTANT 2))
             (MOVEM O5 -13 Q)
             (MOVE O2 -7 Q)
(LABEL 10)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 3))
             (JRST 9)
             (JUMPN O2 10)
             (MOVEM NIL -13 Q)
             (MOVE O1 (CONSTANT 4))
(LABEL 9)    (MOVEM O1 -12 Q)
             (MOVE O5 (CONSTANT 2))
             (MOVEM O5 -11 Q)
             (MOVE O2 -7 Q)
(LABEL 12)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 5))
             (JRST 11)
             (JUMPN O2 12)
             (MOVEM NIL -11 Q)
             (MOVE O1 NIL)
(LABEL 11)   (MOVEM O1 -10 Q)
             (MOVE O5 -7 Q)
             (MOVEM O5 -6 Q)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (SKIPN NIL -13 Q)
             (JRST 16)
             (SKIPN NIL -11 Q)
(LABEL 16)   (JRST 14)
             (MOVE O1 (CONSTANT 7))
             (CALL ERROR 1)
(LABEL 14)   (MOVEM NIL -5 Q)
(LABEL 22)   (MOVE O1 -9 Q)
             (CALL ENDP 1)
             (JUMPE O1 23)
             (JRST 18)
(LABEL 23)   (SKIPN NIL -13 Q)
             (JRST 29)
             (SKIPN NIL -11 Q)
(LABEL 29)   (JRST 28)
             (MOVE O1 (CONSTANT 7))
             (CALL ERROR 1)
             (JUMPE O1 27)
             (JRST1 27)
(LABEL 28)   (SKIPN NIL -11 Q)
             (JRST 31)
             (MOVE O5 -14 Q)
             (MOVEM O5 -4 Q)
             (MOVE O1 -9 Q)
             (MOVE O1 0 O1)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVEM O1 -4 Q)
             (MOVE O5 -8 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -2 Q)
             (MOVE O5 -14 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 (CONSTANT 5))
             (MOVEM O5 0 Q)
             (PUSH Q -10 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL MEMBER 6)
             (JUMPE O1 27)
             (JRST1 27)
(LABEL 31)   (SKIPA)
             (JRST 32)
             (MOVE O5 -14 Q)
             (MOVEM O5 -4 Q)
             (MOVE O1 -9 Q)
             (MOVE O1 0 O1)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVEM O1 -4 Q)
             (MOVE O5 -8 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -2 Q)
             (MOVE O5 -14 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 (CONSTANT 3))
             (MOVEM O5 0 Q)
             (PUSH Q -12 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL MEMBER 6)
             (JUMPE O1 27)
             (JRST1 27)
(LABEL 32)
(LABEL 27)   (JRST 25)
             (MOVE O5 -9 Q)
             (MOVEM O5 -3 Q)
             (MOVE O1 O5)
             (MOVE O1 1 O1)
             (MOVEM O1 -9 Q)
             (MOVE O2 -5 Q)
             (MOVE O1 O5)
             (CALL LISP::%RPLACD 2)
             (MOVE O1 -3 Q)
             (MOVEM O1 -5 Q)
             (JRST 26)
(LABEL 25)   (MOVE O1 -9 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -9 Q)
(LABEL 26)   (JRST 22)
(LABEL 18)   (MOVE O1 -5 Q)
             (MOVEI N 1)
             (SUBI Q 15)
             (POPJ P)
)

(%PUT (QUOTE NINTERSECTION) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (LIST1 LIST2 &KEY (KEY (FUNCTION IDENTITY)) (TEST (FUNCTION EQL) TESTP) (TEST-NOT NIL NOTP)))) 
(%PUT (QUOTE NINTERSECTION) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE NINTERSECTION) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE SET-DIFFERENCE) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns a list containing all the elements of List1 not in List2.")) 

#_(LAP #0_SET-DIFFERENCE EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_(:KEY IDENTITY T :TEST EQL :TEST-NOT (:TEST-NOT :TEST :KEY) "Test and test-not both supplied.")
       (CODE-START)
(LABEL 2)    (MOVE O3 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 1)
(LABEL 6)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 17)
             (MOVEM O1 -11 Q)
             (MOVEM O2 -10 Q)
             (MOVEM O3 -9 Q)
             (MOVE O2 O3)
(LABEL 8)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 7)
             (JUMPN O2 8)
             (MOVE O1 (CONSTANT 1))
(LABEL 7)    (MOVEM O1 -16 Q)
             (MOVE O5 (CONSTANT 2))
             (MOVEM O5 -15 Q)
             (MOVE O2 -9 Q)
(LABEL 10)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 3))
             (JRST 9)
             (JUMPN O2 10)
             (MOVEM NIL -15 Q)
             (MOVE O1 (CONSTANT 4))
(LABEL 9)    (MOVEM O1 -14 Q)
             (MOVE O5 (CONSTANT 2))
             (MOVEM O5 -13 Q)
             (MOVE O2 -9 Q)
(LABEL 12)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 5))
             (JRST 11)
             (JUMPN O2 12)
             (MOVEM NIL -13 Q)
             (MOVE O1 NIL)
(LABEL 11)   (MOVEM O1 -12 Q)
             (MOVE O5 -9 Q)
             (MOVEM O5 -8 Q)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (SKIPN NIL -15 Q)
             (JRST 16)
             (SKIPN NIL -13 Q)
(LABEL 16)   (JRST 14)
             (MOVE O1 (CONSTANT 7))
             (CALL ERROR 1)
(LABEL 14)   (MOVEM NIL -7 Q)
             (MOVE O5 -11 Q)
             (MOVEM O5 -6 Q)
             (MOVE O1 O5)
             (MOVE O5 0 O1)
             (MOVEM O5 -5 Q)
(LABEL 22)   (MOVE O1 -6 Q)
             (CALL ATOM 1)
             (JUMPE O1 23)
             (JRST 18)
(LABEL 23)   (SKIPN NIL -15 Q)
             (JRST 29)
             (SKIPN NIL -13 Q)
(LABEL 29)   (JRST 28)
             (MOVE O1 (CONSTANT 7))
             (CALL ERROR 1)
             (JUMPN O1 27)
             (JRST1 27)
(LABEL 28)   (SKIPN NIL -13 Q)
             (JRST 31)
             (MOVE O5 -16 Q)
             (MOVEM O5 -4 Q)
             (MOVE O1 -5 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVEM O1 -4 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -2 Q)
             (MOVE O5 -16 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 (CONSTANT 5))
             (MOVEM O5 0 Q)
             (PUSH Q -12 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL MEMBER 6)
             (JUMPN O1 27)
             (JRST1 27)
(LABEL 31)   (SKIPA)
             (JRST 32)
             (MOVE O5 -16 Q)
             (MOVEM O5 -4 Q)
             (MOVE O1 -5 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVEM O1 -4 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -2 Q)
             (MOVE O5 -16 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 (CONSTANT 3))
             (MOVEM O5 0 Q)
             (PUSH Q -14 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL MEMBER 6)
             (JUMPN O1 27)
             (JRST1 27)
(LABEL 32)
(LABEL 27)   (JRST 25)
             (MOVE O2 -7 Q)
             (MOVE O1 -5 Q)
             (CALL CONS 2)
             (MOVEM O1 -7 Q)
(LABEL 25)   (MOVE O1 -6 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -6 Q)
             (MOVE O1 0 O1)
             (MOVEM O1 -5 Q)
             (JRST 22)
(LABEL 18)   (MOVE O1 -7 Q)
             (MOVEI N 1)
             (SUBI Q 17)
             (POPJ P)
)

(%PUT (QUOTE SET-DIFFERENCE) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (LIST1 LIST2 &KEY (KEY (FUNCTION IDENTITY)) (TEST (FUNCTION EQL) TESTP) (TEST-NOT NIL NOTP)))) 
(%PUT (QUOTE SET-DIFFERENCE) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE SET-DIFFERENCE) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE NSET-DIFFERENCE) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns a list containing all the elements of List1 not in List2.  List1
  may be destroyed.")) 

#_(LAP #0_NSET-DIFFERENCE EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_(:KEY IDENTITY T :TEST EQL :TEST-NOT (:TEST-NOT :TEST :KEY) "Test and test-not both supplied.")
       (CODE-START)
(LABEL 2)    (MOVE O3 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 1)
(LABEL 6)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 15)
             (MOVEM O1 -9 Q)
             (MOVEM O2 -8 Q)
             (MOVEM O3 -7 Q)
             (MOVE O2 O3)
(LABEL 8)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 7)
             (JUMPN O2 8)
             (MOVE O1 (CONSTANT 1))
(LABEL 7)    (MOVEM O1 -14 Q)
             (MOVE O5 (CONSTANT 2))
             (MOVEM O5 -13 Q)
             (MOVE O2 -7 Q)
(LABEL 10)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 3))
             (JRST 9)
             (JUMPN O2 10)
             (MOVEM NIL -13 Q)
             (MOVE O1 (CONSTANT 4))
(LABEL 9)    (MOVEM O1 -12 Q)
             (MOVE O5 (CONSTANT 2))
             (MOVEM O5 -11 Q)
             (MOVE O2 -7 Q)
(LABEL 12)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 5))
             (JRST 11)
             (JUMPN O2 12)
             (MOVEM NIL -11 Q)
             (MOVE O1 NIL)
(LABEL 11)   (MOVEM O1 -10 Q)
             (MOVE O5 -7 Q)
             (MOVEM O5 -6 Q)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (SKIPN NIL -13 Q)
             (JRST 16)
             (SKIPN NIL -11 Q)
(LABEL 16)   (JRST 14)
             (MOVE O1 (CONSTANT 7))
             (CALL ERROR 1)
(LABEL 14)   (MOVEM NIL -5 Q)
(LABEL 22)   (MOVE O1 -9 Q)
             (CALL ENDP 1)
             (JUMPE O1 23)
             (JRST 18)
(LABEL 23)   (SKIPN NIL -13 Q)
             (JRST 29)
             (SKIPN NIL -11 Q)
(LABEL 29)   (JRST 28)
             (MOVE O1 (CONSTANT 7))
             (CALL ERROR 1)
             (JUMPN O1 27)
             (JRST1 27)
(LABEL 28)   (SKIPN NIL -11 Q)
             (JRST 31)
             (MOVE O5 -14 Q)
             (MOVEM O5 -4 Q)
             (MOVE O1 -9 Q)
             (MOVE O1 0 O1)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVEM O1 -4 Q)
             (MOVE O5 -8 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -2 Q)
             (MOVE O5 -14 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 (CONSTANT 5))
             (MOVEM O5 0 Q)
             (PUSH Q -10 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL MEMBER 6)
             (JUMPN O1 27)
             (JRST1 27)
(LABEL 31)   (SKIPA)
             (JRST 32)
             (MOVE O5 -14 Q)
             (MOVEM O5 -4 Q)
             (MOVE O1 -9 Q)
             (MOVE O1 0 O1)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVEM O1 -4 Q)
             (MOVE O5 -8 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -2 Q)
             (MOVE O5 -14 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 (CONSTANT 3))
             (MOVEM O5 0 Q)
             (PUSH Q -12 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL MEMBER 6)
             (JUMPN O1 27)
             (JRST1 27)
(LABEL 32)
(LABEL 27)   (JRST 25)
             (MOVE O5 -9 Q)
             (MOVEM O5 -3 Q)
             (MOVE O1 O5)
             (MOVE O1 1 O1)
             (MOVEM O1 -9 Q)
             (MOVE O2 -5 Q)
             (MOVE O1 O5)
             (CALL LISP::%RPLACD 2)
             (MOVE O1 -3 Q)
             (MOVEM O1 -5 Q)
             (JRST 26)
(LABEL 25)   (MOVE O1 -9 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -9 Q)
(LABEL 26)   (JRST 22)
(LABEL 18)   (MOVE O1 -5 Q)
             (MOVEI N 1)
             (SUBI Q 15)
             (POPJ P)
)

(%PUT (QUOTE NSET-DIFFERENCE) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (LIST1 LIST2 &KEY (KEY (FUNCTION IDENTITY)) (TEST (FUNCTION EQL) TESTP) (TEST-NOT NIL NOTP)))) 
(%PUT (QUOTE NSET-DIFFERENCE) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE NSET-DIFFERENCE) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE SET-EXCLUSIVE-OR) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns new list of elements appearing exactly once in List1 and List2.")) 

#_(LAP #0_SET-EXCLUSIVE-OR EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_(:KEY IDENTITY T :TEST EQL :TEST-NOT (:TEST-NOT :TEST :KEY) "Test and test-not both supplied.")
       (CODE-START)
(LABEL 2)    (MOVE O3 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 1)
(LABEL 6)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 17)
             (MOVEM O1 -11 Q)
             (MOVEM O2 -10 Q)
             (MOVEM O3 -9 Q)
             (MOVE O2 O3)
(LABEL 8)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 7)
             (JUMPN O2 8)
             (MOVE O1 (CONSTANT 1))
(LABEL 7)    (MOVEM O1 -16 Q)
             (MOVE O5 (CONSTANT 2))
             (MOVEM O5 -15 Q)
             (MOVE O2 -9 Q)
(LABEL 10)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 3))
             (JRST 9)
             (JUMPN O2 10)
             (MOVEM NIL -15 Q)
             (MOVE O1 (CONSTANT 4))
(LABEL 9)    (MOVEM O1 -14 Q)
             (MOVE O5 (CONSTANT 2))
             (MOVEM O5 -13 Q)
             (MOVE O2 -9 Q)
(LABEL 12)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 5))
             (JRST 11)
             (JUMPN O2 12)
             (MOVEM NIL -13 Q)
             (MOVE O1 NIL)
(LABEL 11)   (MOVEM O1 -12 Q)
             (MOVE O5 -9 Q)
             (MOVEM O5 -8 Q)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVEM NIL -7 Q)
             (MOVE O5 -11 Q)
             (MOVEM O5 -6 Q)
             (MOVE O1 O5)
             (MOVE O5 0 O1)
             (MOVEM O5 -5 Q)
(LABEL 18)   (MOVE O1 -6 Q)
             (CALL ATOM 1)
             (JUMPE O1 19)
             (JRST 14)
(LABEL 19)   (SKIPN NIL -15 Q)
             (JRST 25)
             (SKIPN NIL -13 Q)
(LABEL 25)   (JRST 24)
             (MOVE O1 (CONSTANT 7))
             (CALL ERROR 1)
             (JUMPN O1 23)
             (JRST1 23)
(LABEL 24)   (SKIPN NIL -13 Q)
             (JRST 27)
             (MOVE O5 -16 Q)
             (MOVEM O5 -4 Q)
             (MOVE O1 -5 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVEM O1 -4 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -2 Q)
             (MOVE O5 -16 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 (CONSTANT 5))
             (MOVEM O5 0 Q)
             (PUSH Q -12 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL MEMBER 6)
             (JUMPN O1 23)
             (JRST1 23)
(LABEL 27)   (SKIPA)
             (JRST 28)
             (MOVE O5 -16 Q)
             (MOVEM O5 -4 Q)
             (MOVE O1 -5 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVEM O1 -4 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -2 Q)
             (MOVE O5 -16 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 (CONSTANT 3))
             (MOVEM O5 0 Q)
             (PUSH Q -14 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL MEMBER 6)
             (JUMPN O1 23)
             (JRST1 23)
(LABEL 28)
(LABEL 23)   (JRST 22)
             (MOVE O2 -7 Q)
             (MOVE O1 -5 Q)
             (CALL CONS 2)
             (MOVEM O1 -7 Q)
(LABEL 22)   (MOVE O1 -6 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -6 Q)
             (MOVE O1 0 O1)
             (MOVEM O1 -5 Q)
             (JRST 18)
(LABEL 14)   (MOVE O5 -10 Q)
             (MOVEM O5 -6 Q)
             (MOVE O1 O5)
             (MOVE O5 0 O1)
             (MOVEM O5 -5 Q)
(LABEL 35)   (MOVE O1 -6 Q)
             (CALL ATOM 1)
             (JUMPE O1 36)
             (JRST 31)
(LABEL 36)   (SKIPN NIL -15 Q)
             (JRST 42)
             (SKIPN NIL -13 Q)
(LABEL 42)   (JRST 41)
             (MOVE O1 (CONSTANT 7))
             (CALL ERROR 1)
             (JUMPN O1 40)
             (JRST1 40)
(LABEL 41)   (SKIPN NIL -13 Q)
             (JRST 44)
             (MOVE O5 -16 Q)
             (MOVEM O5 -4 Q)
             (MOVE O1 -5 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVEM O1 -4 Q)
             (MOVE O5 -11 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -2 Q)
             (MOVE O5 -16 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 (CONSTANT 5))
             (MOVEM O5 0 Q)
             (PUSH Q -12 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL MEMBER 6)
             (JUMPN O1 40)
             (JRST1 40)
(LABEL 44)   (SKIPA)
             (JRST 45)
             (MOVE O5 -16 Q)
             (MOVEM O5 -4 Q)
             (MOVE O1 -5 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVEM O1 -4 Q)
             (MOVE O5 -11 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -2 Q)
             (MOVE O5 -16 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 (CONSTANT 3))
             (MOVEM O5 0 Q)
             (PUSH Q -14 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL MEMBER 6)
             (JUMPN O1 40)
             (JRST1 40)
(LABEL 45)
(LABEL 40)   (JRST 39)
             (MOVE O2 -7 Q)
             (MOVE O1 -5 Q)
             (CALL CONS 2)
             (MOVEM O1 -7 Q)
(LABEL 39)   (MOVE O1 -6 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -6 Q)
             (MOVE O1 0 O1)
             (MOVEM O1 -5 Q)
             (JRST 35)
(LABEL 31)   (MOVE O1 -7 Q)
             (MOVEI N 1)
             (SUBI Q 17)
             (POPJ P)
)

(%PUT (QUOTE SET-EXCLUSIVE-OR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (LIST1 LIST2 &KEY (KEY (FUNCTION IDENTITY)) (TEST (FUNCTION EQL) TESTP) (TEST-NOT NIL NOTP)))) 
(%PUT (QUOTE SET-EXCLUSIVE-OR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE SET-EXCLUSIVE-OR) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE NSET-EXCLUSIVE-OR) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Return a list with elements which appear but once in List1 and List2.")) 

#_(LAP #0_NSET-EXCLUSIVE-OR EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_(:TEST EQL T :TEST-NOT :KEY IDENTITY (:KEY :TEST-NOT :TEST))
       (CODE-START)
(LABEL 2)    (MOVE O3 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 1)
(LABEL 6)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 15)
             (MOVEM O1 -10 Q)
             (MOVEM O2 -9 Q)
             (MOVEM O3 -8 Q)
             (MOVE O2 O3)
(LABEL 8)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 7)
             (JUMPN O2 8)
             (MOVE O1 (CONSTANT 1))
(LABEL 7)    (MOVEM O1 -14 Q)
             (MOVE O5 (CONSTANT 2))
             (MOVEM O5 -13 Q)
             (MOVE O2 -8 Q)
(LABEL 10)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 3))
             (JRST 9)
             (JUMPN O2 10)
             (MOVEM NIL -13 Q)
             (MOVE O1 NIL)
(LABEL 9)    (MOVEM O1 -12 Q)
             (MOVE O2 -8 Q)
(LABEL 12)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 4))
             (JRST 11)
             (JUMPN O2 12)
             (MOVE O1 (CONSTANT 5))
(LABEL 11)   (MOVEM O1 -11 Q)
             (MOVE O5 -8 Q)
             (MOVEM O5 -7 Q)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O5 -10 Q)
             (MOVEM O5 -6 Q)
             (MOVEM NIL -5 Q)
(LABEL 18)   (MOVE O1 -6 Q)
             (CALL ENDP 1)
             (JUMPE O1 19)
             (SKIPE NIL -5 Q)
             (JRST 21)
             (MOVE O1 -9 Q)
             (MOVEM O1 -10 Q)
             (JRST 22)
(LABEL 21)   (MOVE O2 -9 Q)
             (MOVE O1 -5 Q)
             (CALL RPLACD 2)
(LABEL 22)   (MOVE O1 -10 Q)
             (MOVEI N 1)
             (JRST 14)
(LABEL 19)   (MOVE O5 -9 Q)
             (MOVEM O5 -4 Q)
             (MOVEM NIL -3 Q)
(LABEL 27)   (MOVE O1 -4 Q)
             (CALL ENDP 1)
             (JUMPE O1 28)
             (MOVE O1 -6 Q)
             (MOVEM O1 -5 Q)
             (JRST 23)
(LABEL 28)   (SKIPN NIL -13 Q)
             (JRST 32)
             (MOVE O5 -12 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 -11 Q)
             (MOVEM O5 -1 Q)
             (MOVE O1 -6 Q)
             (MOVE O1 0 O1)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVEM O1 -1 Q)
             (MOVE O5 -11 Q)
             (MOVEM O5 0 Q)
             (MOVE O1 -4 Q)
             (MOVE O1 0 O1)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVE O2 O1)
             (MOVE O1 -1 Q)
             (MOVE O6 -2 Q)
             (FCALL 2)
             (JUMPN O1 33)
             (JRST1 33)
(LABEL 32)   (MOVE O5 -14 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 -11 Q)
             (MOVEM O5 -1 Q)
             (MOVE O1 -6 Q)
             (MOVE O1 0 O1)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVEM O1 -1 Q)
             (MOVE O5 -11 Q)
             (MOVEM O5 0 Q)
             (MOVE O1 -4 Q)
             (MOVE O1 0 O1)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVE O2 O1)
             (MOVE O1 -1 Q)
             (MOVE O6 -2 Q)
             (FCALL 2)
             (SKIPN NIL O1)
(LABEL 33)   (JRST 31)
             (SKIPE NIL -5 Q)
             (JRST 34)
             (MOVE O1 -6 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -10 Q)
             (JRST 35)
(LABEL 34)   (MOVE O1 -6 Q)
             (MOVE O2 1 O1)
             (MOVE O1 -5 Q)
             (CALL RPLACD 2)
(LABEL 35)   (SKIPE NIL -3 Q)
             (JRST 36)
             (MOVE O1 -4 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -9 Q)
             (JRST 37)
(LABEL 36)   (MOVE O1 -4 Q)
             (MOVE O2 1 O1)
             (MOVE O1 -3 Q)
             (CALL RPLACD 2)
(LABEL 37)   (JRST 23)
(LABEL 31)   (SKIPA)
             (JRST 38)
             (MOVE O1 -4 Q)
             (MOVEM O1 -3 Q)
(LABEL 38)   (MOVE O1 -4 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -4 Q)
             (JRST 27)
(LABEL 23)   (MOVE O1 -6 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -6 Q)
             (JRST 18)
(LABEL 14)   (SUBI Q 15)
             (POPJ P)
)

(%PUT (QUOTE NSET-EXCLUSIVE-OR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (LIST1 LIST2 &KEY (TEST (FUNCTION EQL)) (TEST-NOT NIL NOTP) (KEY (FUNCTION IDENTITY))))) 
(%PUT (QUOTE NSET-EXCLUSIVE-OR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE NSET-EXCLUSIVE-OR) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE SUBSETP) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns T if every element of List1 appears in ('matches' some element of)
  List2, else returns NIL.")) 

#_(LAP #0_SUBSETP EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_(:KEY IDENTITY T :TEST EQL :TEST-NOT (:TEST-NOT :TEST :KEY) "Test and test-not both supplied.")
       (CODE-START)
(LABEL 2)    (MOVE O3 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 1)
(LABEL 6)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 16)
             (MOVEM O1 -10 Q)
             (MOVEM O2 -9 Q)
             (MOVEM O3 -8 Q)
             (MOVE O2 O3)
(LABEL 8)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 7)
             (JUMPN O2 8)
             (MOVE O1 (CONSTANT 1))
(LABEL 7)    (MOVEM O1 -15 Q)
             (MOVE O5 (CONSTANT 2))
             (MOVEM O5 -14 Q)
             (MOVE O2 -8 Q)
(LABEL 10)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 3))
             (JRST 9)
             (JUMPN O2 10)
             (MOVEM NIL -14 Q)
             (MOVE O1 (CONSTANT 4))
(LABEL 9)    (MOVEM O1 -13 Q)
             (MOVE O5 (CONSTANT 2))
             (MOVEM O5 -12 Q)
             (MOVE O2 -8 Q)
(LABEL 12)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 5))
             (JRST 11)
             (JUMPN O2 12)
             (MOVEM NIL -12 Q)
             (MOVE O1 NIL)
(LABEL 11)   (MOVEM O1 -11 Q)
             (MOVE O5 -8 Q)
             (MOVEM O5 -7 Q)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O5 -10 Q)
             (MOVEM O5 -6 Q)
             (MOVE O1 O5)
             (MOVE O5 0 O1)
             (MOVEM O5 -5 Q)
(LABEL 18)   (MOVE O1 -6 Q)
             (CALL ATOM 1)
             (JUMPE O1 19)
             (JRST 14)
(LABEL 19)   (SKIPN NIL -14 Q)
             (JRST 25)
             (SKIPN NIL -12 Q)
(LABEL 25)   (JRST 24)
             (MOVE O1 (CONSTANT 7))
             (CALL ERROR 1)
             (JUMPN O1 23)
             (JRST1 23)
(LABEL 24)   (SKIPN NIL -12 Q)
             (JRST 27)
             (MOVE O5 -15 Q)
             (MOVEM O5 -4 Q)
             (MOVE O1 -5 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVEM O1 -4 Q)
             (MOVE O5 -9 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -2 Q)
             (MOVE O5 -15 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 (CONSTANT 5))
             (MOVEM O5 0 Q)
             (PUSH Q -11 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL MEMBER 6)
             (JUMPN O1 23)
             (JRST1 23)
(LABEL 27)   (SKIPA)
             (JRST 28)
             (MOVE O5 -15 Q)
             (MOVEM O5 -4 Q)
             (MOVE O1 -5 Q)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVEM O1 -4 Q)
             (MOVE O5 -9 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -2 Q)
             (MOVE O5 -15 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 (CONSTANT 3))
             (MOVEM O5 0 Q)
             (PUSH Q -13 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL MEMBER 6)
             (JUMPN O1 23)
             (JRST1 23)
(LABEL 28)
(LABEL 23)   (JRST 22)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 13)
(LABEL 22)   (MOVE O1 -6 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -6 Q)
             (MOVE O1 0 O1)
             (MOVEM O1 -5 Q)
             (JRST 18)
(LABEL 14)   (MOVE O1 (CONSTANT 2))
             (MOVEI N 1)
(LABEL 13)   (SUBI Q 16)
             (POPJ P)
)

(%PUT (QUOTE SUBSETP) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (LIST1 LIST2 &KEY (KEY (FUNCTION IDENTITY)) (TEST (FUNCTION EQL) TESTP) (TEST-NOT NIL NOTP)))) 
(%PUT (QUOTE SUBSETP) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE SUBSETP) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE ACONS) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Construct a new a-list by adding the pair (key . datum) to a-list")) 

#_(LAP #0_ACONS EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 4)
             (MOVEM O1 -3 Q)
             (MOVEM O2 -2 Q)
             (MOVEM O3 -1 Q)
             (CALL CONS 2)
             (MOVEM O1 0 Q)
             (MOVE O2 -1 Q)
             (CALL CONS 2)
             (SUBI Q 4)
             (POPJ P)
)

(%PUT (QUOTE ACONS) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (KEY DATUM A-LIST))) 
(%PUT (QUOTE ACONS) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE ACONS) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE PAIRLIS) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Construct an association list from keys and data (adding to a-list)")) 

#_(LAP #0_PAIRLIS EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2 2-MANY 2-MANY 2-MANY))
       #0_("The lists of keys and data are of unequal length.")
       (CODE-START)
(LABEL 1)    (MOVE O3 NIL)
(LABEL 2)    (ADDI Q 7)
             (MOVEM O1 -6 Q)
             (MOVEM O2 -5 Q)
             (MOVEM O3 -4 Q)
             (MOVE O5 O1)
             (MOVEM O5 -3 Q)
             (MOVE O5 O2)
             (MOVEM O5 -2 Q)
(LABEL 8)    (MOVE O1 -3 Q)
             (CALL ATOM 1)
             (JUMPE O1 11)
             (MOVE O1 -2 Q)
             (CALL ATOM 1)
             (SKIPN NIL O1)
(LABEL 11)   (JRST 9)
             (MOVE O1 -4 Q)
             (MOVEI N 1)
             (JRST 4)
(LABEL 9)    (MOVE O1 -3 Q)
             (CALL ATOM 1)
             (JUMPN1 O1 15)
             (MOVE O1 -2 Q)
             (CALL ATOM 1)
             (SKIPN NIL O1)
(LABEL 15)   (JRST 13)
             (MOVE O1 (CONSTANT 0))
             (CALL ERROR 1)
(LABEL 13)   (MOVE O1 -3 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -1 Q)
             (MOVE O1 -2 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O3 -4 Q)
             (MOVE O1 -1 Q)
             (MOVE O2 O5)
             (CALL ACONS 3)
             (MOVEM O1 -4 Q)
             (MOVE O1 -3 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -1 Q)
             (MOVE O1 -2 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 0 Q)
             (MOVE O1 -1 Q)
             (MOVEM O1 -3 Q)
             (MOVE O1 O5)
             (MOVEM O1 -2 Q)
             (JRST 8)
(LABEL 4)    (SUBI Q 7)
             (POPJ P)
)

(%PUT (QUOTE PAIRLIS) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (KEYS DATA &OPTIONAL (A-LIST (QUOTE NIL))))) 
(%PUT (QUOTE PAIRLIS) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE PAIRLIS) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE ASSOC) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns the cons in A-List whose car is equal (by a given test or EQL) to
   the Item.")) 

#_(LAP #0_ASSOC EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_(:TEST :TEST-NOT :KEY (:KEY :TEST-NOT :TEST))
       (CODE-START)
(LABEL 2)    (MOVE O3 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 1)
(LABEL 6)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 11)
             (MOVEM O1 -7 Q)
             (MOVEM O2 -6 Q)
             (MOVEM O3 -5 Q)
             (MOVE O2 O3)
(LABEL 8)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 0))
             (JUMPN O4 8)
             (MOVEM O1 -10 Q)
             (MOVE O2 -5 Q)
(LABEL 10)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 1))
             (JUMPN O4 10)
             (MOVEM O1 -9 Q)
             (MOVE O2 -5 Q)
(LABEL 12)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 2))
             (JUMPN O4 12)
             (MOVEM O1 -8 Q)
             (MOVE O5 -5 Q)
             (MOVEM O5 -4 Q)
             (MOVE O2 (CONSTANT 3))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (SKIPN NIL -8 Q)
             (JRST 14)
             (SKIPN NIL -10 Q)
             (JRST 17)
             (MOVE O5 -6 Q)
             (MOVEM O5 -3 Q)
(LABEL 22)   (MOVE O1 -3 Q)
             (CALL ATOM 1)
             (JUMPE O1 23)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 18)
(LABEL 23)   (MOVE O1 -3 Q)
             (SKIPN NIL 0 O1)
             (JRST 25)
             (MOVE O5 -10 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 -8 Q)
             (MOVEM O5 0 Q)
             (MOVE O1 -3 Q)
             (MOVE O1 0 O1)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVE O2 O1)
             (MOVE O1 -7 Q)
             (MOVE O6 -2 Q)
             (FCALL 2)
             (JUMPE O1 27)
             (MOVE O1 -3 Q)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (JRST 18)
(LABEL 27)
(LABEL 25)   (MOVE O1 -3 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -3 Q)
             (JRST 22)
(LABEL 18)   (JRST 16)
(LABEL 17)   (SKIPN NIL -9 Q)
             (JRST 29)
             (MOVE O5 -6 Q)
             (MOVEM O5 -3 Q)
(LABEL 34)   (MOVE O1 -3 Q)
             (CALL ATOM 1)
             (JUMPE O1 35)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 30)
(LABEL 35)   (MOVE O1 -3 Q)
             (SKIPN NIL 0 O1)
             (JRST 37)
             (MOVE O5 -10 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 -8 Q)
             (MOVEM O5 0 Q)
             (MOVE O1 -3 Q)
             (MOVE O1 0 O1)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVE O2 O1)
             (MOVE O1 -7 Q)
             (MOVE O6 -2 Q)
             (FCALL 2)
             (JUMPN O1 39)
             (MOVE O1 -3 Q)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (JRST 30)
(LABEL 39)
(LABEL 37)   (MOVE O1 -3 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -3 Q)
             (JRST 34)
(LABEL 30)   (JRST 16)
(LABEL 29)   (SKIPA)
             (JRST 41)
             (MOVE O5 -6 Q)
             (MOVEM O5 -3 Q)
(LABEL 46)   (MOVE O1 -3 Q)
             (CALL ATOM 1)
             (JUMPE O1 47)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 42)
(LABEL 47)   (MOVE O1 -3 Q)
             (SKIPN NIL 0 O1)
             (JRST 49)
             (MOVE O5 -8 Q)
             (MOVEM O5 -1 Q)
             (MOVE O1 -3 Q)
             (MOVE O1 0 O1)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVE O2 O1)
             (MOVE O1 -7 Q)
             (CALL EQL 2)
             (JUMPE O1 51)
             (MOVE O1 -3 Q)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (JRST 42)
(LABEL 51)
(LABEL 49)   (MOVE O1 -3 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -3 Q)
             (JRST 46)
(LABEL 42)
(LABEL 41)
(LABEL 16)   (JRST 15)
(LABEL 14)   (SKIPN NIL -10 Q)
             (JRST 55)
             (MOVE O5 -6 Q)
             (MOVEM O5 -3 Q)
(LABEL 60)   (MOVE O1 -3 Q)
             (CALL ATOM 1)
             (JUMPE O1 61)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 56)
(LABEL 61)   (MOVE O1 -3 Q)
             (SKIPN NIL 0 O1)
             (JRST 63)
             (MOVE O5 -10 Q)
             (MOVEM O5 -2 Q)
             (MOVE O1 -3 Q)
             (MOVE O1 0 O1)
             (MOVE O2 0 O1)
             (MOVE O1 -7 Q)
             (MOVE O6 O5)
             (FCALL 2)
             (JUMPE O1 65)
             (MOVE O1 -3 Q)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (JRST 56)
(LABEL 65)
(LABEL 63)   (MOVE O1 -3 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -3 Q)
             (JRST 60)
(LABEL 56)   (JRST 54)
(LABEL 55)   (SKIPN NIL -9 Q)
             (JRST 67)
             (MOVE O5 -6 Q)
             (MOVEM O5 -3 Q)
(LABEL 72)   (MOVE O1 -3 Q)
             (CALL ATOM 1)
             (JUMPE O1 73)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 68)
(LABEL 73)   (MOVE O1 -3 Q)
             (SKIPN NIL 0 O1)
             (JRST 75)
             (MOVE O5 -10 Q)
             (MOVEM O5 -2 Q)
             (MOVE O1 -3 Q)
             (MOVE O1 0 O1)
             (MOVE O2 0 O1)
             (MOVE O1 -7 Q)
             (MOVE O6 O5)
             (FCALL 2)
             (JUMPN O1 77)
             (MOVE O1 -3 Q)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (JRST 68)
(LABEL 77)
(LABEL 75)   (MOVE O1 -3 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -3 Q)
             (JRST 72)
(LABEL 68)   (JRST 54)
(LABEL 67)   (SKIPA)
             (JRST 79)
             (MOVE O5 -6 Q)
             (MOVEM O5 -3 Q)
(LABEL 84)   (MOVE O1 -3 Q)
             (CALL ATOM 1)
             (JUMPE O1 85)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 80)
(LABEL 85)   (MOVE O1 -3 Q)
             (SKIPN NIL 0 O1)
             (JRST 87)
             (MOVE O1 -3 Q)
             (MOVE O1 0 O1)
             (MOVE O2 0 O1)
             (MOVE O1 -7 Q)
             (CALL EQL 2)
             (JUMPE O1 89)
             (MOVE O1 -3 Q)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (JRST 80)
(LABEL 89)
(LABEL 87)   (MOVE O1 -3 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -3 Q)
             (JRST 84)
(LABEL 80)
(LABEL 79)
(LABEL 54)
(LABEL 15)   (SUBI Q 11)
             (POPJ P)
)

(%PUT (QUOTE ASSOC) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ITEM A-LIST &KEY TEST TEST-NOT KEY))) 
(%PUT (QUOTE ASSOC) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE ASSOC) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE ASSOC-IF) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns the first cons in A-List whose car satisfies the Predicate.")) 

#_(LAP #0_ASSOC-IF EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(PREDICATE)
       (CODE-START)
(LABEL 1)    (ADDI Q 3)
             (SPEC-BIND (SPECIAL 0))
             (MOVEM O1 (SPECIAL 0))
             (MOVEM O2 -2 Q)
             (MOVE O5 O2)
             (MOVEM O5 -1 Q)
(LABEL 7)    (MOVE O1 -1 Q)
             (CALL ATOM 1)
             (JUMPE O1 8)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 3)
(LABEL 8)    (MOVE O1 -1 Q)
             (SKIPN NIL 0 O1)
             (JRST 10)
             (MOVE O5 (SPECIAL 0))
             (MOVEM O5 0 Q)
             (MOVE O1 -1 Q)
             (MOVE O1 0 O1)
             (MOVE O1 0 O1)
             (MOVE O6 O5)
             (FCALL 1)
             (JUMPE O1 12)
             (MOVE O1 -1 Q)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (JRST 3)
(LABEL 12)
(LABEL 10)   (MOVE O1 -1 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -1 Q)
             (JRST 7)
(LABEL 3)    (UNBIND 1)
             (SUBI Q 3)
             (POPJ P)
)

(%PUT (QUOTE ASSOC-IF) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (PREDICATE A-LIST))) 
(%PUT (QUOTE ASSOC-IF) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE ASSOC-IF) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE ASSOC-IF-NOT) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns the first cons in A-List whose car does not satisfy the Predicate.")) 

#_(LAP #0_ASSOC-IF-NOT EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(PREDICATE)
       (CODE-START)
(LABEL 1)    (ADDI Q 3)
             (SPEC-BIND (SPECIAL 0))
             (MOVEM O1 (SPECIAL 0))
             (MOVEM O2 -2 Q)
             (MOVE O5 O2)
             (MOVEM O5 -1 Q)
(LABEL 7)    (MOVE O1 -1 Q)
             (CALL ATOM 1)
             (JUMPE O1 8)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 3)
(LABEL 8)    (MOVE O1 -1 Q)
             (SKIPN NIL 0 O1)
             (JRST 10)
             (MOVE O5 (SPECIAL 0))
             (MOVEM O5 0 Q)
             (MOVE O1 -1 Q)
             (MOVE O1 0 O1)
             (MOVE O1 0 O1)
             (MOVE O6 O5)
             (FCALL 1)
             (JUMPN O1 12)
             (MOVE O1 -1 Q)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (JRST 3)
(LABEL 12)
(LABEL 10)   (MOVE O1 -1 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -1 Q)
             (JRST 7)
(LABEL 3)    (UNBIND 1)
             (SUBI Q 3)
             (POPJ P)
)

(%PUT (QUOTE ASSOC-IF-NOT) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (PREDICATE A-LIST))) 
(%PUT (QUOTE ASSOC-IF-NOT) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE ASSOC-IF-NOT) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE RASSOC) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns the cons in A-List whose cdr is equal (by a given test or EQL) to
   the Item.")) 

#_(LAP #0_RASSOC EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_(:TEST :TEST-NOT :KEY (:KEY :TEST-NOT :TEST))
       (CODE-START)
(LABEL 2)    (MOVE O3 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 1)
(LABEL 6)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 11)
             (MOVEM O1 -7 Q)
             (MOVEM O2 -6 Q)
             (MOVEM O3 -5 Q)
             (MOVE O2 O3)
(LABEL 8)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 0))
             (JUMPN O4 8)
             (MOVEM O1 -10 Q)
             (MOVE O2 -5 Q)
(LABEL 10)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 1))
             (JUMPN O4 10)
             (MOVEM O1 -9 Q)
             (MOVE O2 -5 Q)
(LABEL 12)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 2))
             (JUMPN O4 12)
             (MOVEM O1 -8 Q)
             (MOVE O5 -5 Q)
             (MOVEM O5 -4 Q)
             (MOVE O2 (CONSTANT 3))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (SKIPN NIL -8 Q)
             (JRST 14)
             (SKIPN NIL -10 Q)
             (JRST 17)
             (MOVE O5 -6 Q)
             (MOVEM O5 -3 Q)
(LABEL 22)   (MOVE O1 -3 Q)
             (CALL ATOM 1)
             (JUMPE O1 23)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 18)
(LABEL 23)   (MOVE O1 -3 Q)
             (SKIPN NIL 0 O1)
             (JRST 25)
             (MOVE O5 -10 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 -8 Q)
             (MOVEM O5 0 Q)
             (MOVE O1 -3 Q)
             (MOVE O1 0 O1)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVE O2 O1)
             (MOVE O1 -7 Q)
             (MOVE O6 -2 Q)
             (FCALL 2)
             (JUMPE O1 27)
             (MOVE O1 -3 Q)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (JRST 18)
(LABEL 27)
(LABEL 25)   (MOVE O1 -3 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -3 Q)
             (JRST 22)
(LABEL 18)   (JRST 16)
(LABEL 17)   (SKIPN NIL -9 Q)
             (JRST 29)
             (MOVE O5 -6 Q)
             (MOVEM O5 -3 Q)
(LABEL 34)   (MOVE O1 -3 Q)
             (CALL ATOM 1)
             (JUMPE O1 35)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 30)
(LABEL 35)   (MOVE O1 -3 Q)
             (SKIPN NIL 0 O1)
             (JRST 37)
             (MOVE O5 -10 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 -8 Q)
             (MOVEM O5 0 Q)
             (MOVE O1 -3 Q)
             (MOVE O1 0 O1)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVE O2 O1)
             (MOVE O1 -7 Q)
             (MOVE O6 -2 Q)
             (FCALL 2)
             (JUMPN O1 39)
             (MOVE O1 -3 Q)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (JRST 30)
(LABEL 39)
(LABEL 37)   (MOVE O1 -3 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -3 Q)
             (JRST 34)
(LABEL 30)   (JRST 16)
(LABEL 29)   (SKIPA)
             (JRST 41)
             (MOVE O5 -6 Q)
             (MOVEM O5 -3 Q)
(LABEL 46)   (MOVE O1 -3 Q)
             (CALL ATOM 1)
             (JUMPE O1 47)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 42)
(LABEL 47)   (MOVE O1 -3 Q)
             (SKIPN NIL 0 O1)
             (JRST 49)
             (MOVE O5 -8 Q)
             (MOVEM O5 -1 Q)
             (MOVE O1 -3 Q)
             (MOVE O1 0 O1)
             (MOVE O6 O5)
             (FCALL 1)
             (MOVE O2 O1)
             (MOVE O1 -7 Q)
             (CALL EQL 2)
             (JUMPE O1 51)
             (MOVE O1 -3 Q)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (JRST 42)
(LABEL 51)
(LABEL 49)   (MOVE O1 -3 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -3 Q)
             (JRST 46)
(LABEL 42)
(LABEL 41)
(LABEL 16)   (JRST 15)
(LABEL 14)   (SKIPN NIL -10 Q)
             (JRST 55)
             (MOVE O5 -6 Q)
             (MOVEM O5 -3 Q)
(LABEL 60)   (MOVE O1 -3 Q)
             (CALL ATOM 1)
             (JUMPE O1 61)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 56)
(LABEL 61)   (MOVE O1 -3 Q)
             (SKIPN NIL 0 O1)
             (JRST 63)
             (MOVE O5 -10 Q)
             (MOVEM O5 -2 Q)
             (MOVE O1 -3 Q)
             (MOVE O1 0 O1)
             (MOVE O2 1 O1)
             (MOVE O1 -7 Q)
             (MOVE O6 O5)
             (FCALL 2)
             (JUMPE O1 65)
             (MOVE O1 -3 Q)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (JRST 56)
(LABEL 65)
(LABEL 63)   (MOVE O1 -3 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -3 Q)
             (JRST 60)
(LABEL 56)   (JRST 54)
(LABEL 55)   (SKIPN NIL -9 Q)
             (JRST 67)
             (MOVE O5 -6 Q)
             (MOVEM O5 -3 Q)
(LABEL 72)   (MOVE O1 -3 Q)
             (CALL ATOM 1)
             (JUMPE O1 73)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 68)
(LABEL 73)   (MOVE O1 -3 Q)
             (SKIPN NIL 0 O1)
             (JRST 75)
             (MOVE O5 -10 Q)
             (MOVEM O5 -2 Q)
             (MOVE O1 -3 Q)
             (MOVE O1 0 O1)
             (MOVE O2 1 O1)
             (MOVE O1 -7 Q)
             (MOVE O6 O5)
             (FCALL 2)
             (JUMPN O1 77)
             (MOVE O1 -3 Q)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (JRST 68)
(LABEL 77)
(LABEL 75)   (MOVE O1 -3 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -3 Q)
             (JRST 72)
(LABEL 68)   (JRST 54)
(LABEL 67)   (SKIPA)
             (JRST 79)
             (MOVE O5 -6 Q)
             (MOVEM O5 -3 Q)
(LABEL 84)   (MOVE O1 -3 Q)
             (CALL ATOM 1)
             (JUMPE O1 85)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 80)
(LABEL 85)   (MOVE O1 -3 Q)
             (SKIPN NIL 0 O1)
             (JRST 87)
             (MOVE O1 -3 Q)
             (MOVE O1 0 O1)
             (MOVE O2 1 O1)
             (MOVE O1 -7 Q)
             (CALL EQL 2)
             (JUMPE O1 89)
             (MOVE O1 -3 Q)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (JRST 80)
(LABEL 89)
(LABEL 87)   (MOVE O1 -3 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -3 Q)
             (JRST 84)
(LABEL 80)
(LABEL 79)
(LABEL 54)
(LABEL 15)   (SUBI Q 11)
             (POPJ P)
)

(%PUT (QUOTE RASSOC) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ITEM A-LIST &KEY TEST TEST-NOT KEY))) 
(%PUT (QUOTE RASSOC) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE RASSOC) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE RASSOC-IF) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns the first cons in A-List whose cdr satisfies the Predicate.")) 

#_(LAP #0_RASSOC-IF EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(PREDICATE)
       (CODE-START)
(LABEL 1)    (ADDI Q 3)
             (SPEC-BIND (SPECIAL 0))
             (MOVEM O1 (SPECIAL 0))
             (MOVEM O2 -2 Q)
             (MOVE O5 O2)
             (MOVEM O5 -1 Q)
(LABEL 7)    (MOVE O1 -1 Q)
             (CALL ATOM 1)
             (JUMPE O1 8)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 3)
(LABEL 8)    (MOVE O1 -1 Q)
             (SKIPN NIL 0 O1)
             (JRST 10)
             (MOVE O5 (SPECIAL 0))
             (MOVEM O5 0 Q)
             (MOVE O1 -1 Q)
             (MOVE O1 0 O1)
             (MOVE O1 1 O1)
             (MOVE O6 O5)
             (FCALL 1)
             (JUMPE O1 12)
             (MOVE O1 -1 Q)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (JRST 3)
(LABEL 12)
(LABEL 10)   (MOVE O1 -1 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -1 Q)
             (JRST 7)
(LABEL 3)    (UNBIND 1)
             (SUBI Q 3)
             (POPJ P)
)

(%PUT (QUOTE RASSOC-IF) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (PREDICATE A-LIST))) 
(%PUT (QUOTE RASSOC-IF) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE RASSOC-IF) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE RASSOC-IF-NOT) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns the first cons in A-List whose cdr does not satisfy the Predicate.")) 

#_(LAP #0_RASSOC-IF-NOT EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(PREDICATE)
       (CODE-START)
(LABEL 1)    (ADDI Q 3)
             (SPEC-BIND (SPECIAL 0))
             (MOVEM O1 (SPECIAL 0))
             (MOVEM O2 -2 Q)
             (MOVE O5 O2)
             (MOVEM O5 -1 Q)
(LABEL 7)    (MOVE O1 -1 Q)
             (CALL ATOM 1)
             (JUMPE O1 8)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 3)
(LABEL 8)    (MOVE O1 -1 Q)
             (SKIPN NIL 0 O1)
             (JRST 10)
             (MOVE O5 (SPECIAL 0))
             (MOVEM O5 0 Q)
             (MOVE O1 -1 Q)
             (MOVE O1 0 O1)
             (MOVE O1 1 O1)
             (MOVE O6 O5)
             (FCALL 1)
             (JUMPN O1 12)
             (MOVE O1 -1 Q)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (JRST 3)
(LABEL 12)
(LABEL 10)   (MOVE O1 -1 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -1 Q)
             (JRST 7)
(LABEL 3)    (UNBIND 1)
             (SUBI Q 3)
             (POPJ P)
)

(%PUT (QUOTE RASSOC-IF-NOT) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (PREDICATE A-LIST))) 
(%PUT (QUOTE RASSOC-IF-NOT) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE RASSOC-IF-NOT) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE MAP1) (QUOTE %FUN-DOCUMENTATION) (QUOTE "This function is called by mapc, mapcar, mapcan, mapl, maplist, and
  mapcon.  It Maps function over the arglists in the appropriate way.
  It is done when any of the arglists runs out.  Until then, it CDRs
  down the arglists calling the function and accumulating results as
  desired.")) 

#_(LAP #0_MAP1 EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 2-FEW 1 2-MANY 2-MANY))
       #0_(:NCONC :LIST)
       (CODE-START)
(LABEL 1)    (ADDI Q 11)
             (MOVEM O1 -10 Q)
             (MOVEM O2 -9 Q)
             (MOVEM O3 -8 Q)
             (MOVEM O4 -7 Q)
             (MOVE O1 O2)
             (CALL COPY-LIST 1)
             (MOVEM O1 -6 Q)
             (MOVE O1 NIL)
             (CALL LIST 1)
             (MOVEM O1 -5 Q)
             (MOVE O5 O1)
             (MOVEM O5 -4 Q)
             (MOVEM NIL -3 Q)
             (MOVE O5 NIL)
             (MOVEM O5 -2 Q)
(LABEL 7)    (MOVE O5 -6 Q)
             (MOVEM O5 -1 Q)
             (MOVE O1 O5)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
(LABEL 14)   (MOVE O1 -1 Q)
             (CALL ATOM 1)
             (JUMPE O1 15)
             (JRST 10)
             (JRST1 10)
(LABEL 15)   (SKIPE NIL 0 Q)
             (JRST 17)
             (JRST1 10)
(LABEL 17)   (MOVE O1 -1 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -1 Q)
             (MOVE O1 0 O1)
             (MOVEM O1 0 Q)
             (JRST 14)
(LABEL 10)   (JRST 8)
             (SKIPN NIL -8 Q)
             (JRST 19)
             (MOVE O1 -5 Q)
             (MOVE O1 1 O1)
             (MOVEI N 1)
             (JRST 20)
(LABEL 19)   (MOVE O1 -9 Q)
             (MOVE O1 0 O1)
             (MOVEI N 1)
(LABEL 20)   (JRST 3)
(LABEL 8)    (MOVE O5 -6 Q)
             (MOVEM O5 -1 Q)
(LABEL 25)   (SKIPE NIL -1 Q)
             (JRST 26)
             (JRST 21)
(LABEL 26)   (SKIPN NIL -7 Q)
             (JRST 28)
             (MOVE O1 -1 Q)
             (MOVE O1 0 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (JRST 29)
(LABEL 28)   (MOVE O1 -1 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
(LABEL 29)   (MOVE O2 -2 Q)
             (MOVE O1 0 Q)
             (CALL CONS 2)
             (MOVEM O1 -2 Q)
             (MOVE O1 -1 Q)
             (MOVE O1 0 O1)
             (MOVE O2 1 O1)
             (MOVE O1 -1 Q)
             (CALL LISP::%RPLACA 2)
             (MOVE O1 -1 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -1 Q)
             (JRST 25)
(LABEL 21)   (MOVE O1 -2 Q)
             (CALL NREVERSE 1)
             (MOVE O2 O1)
             (MOVE O1 -10 Q)
             (CALL APPLY 2)
             (MOVEM O1 -3 Q)
             (MOVE O5 -8 Q)
             (MOVEM O5 -1 Q)
             (MOVE O2 (CONSTANT 0))
             (CAME O2 -1 Q)
             (JRST 31)
             (MOVE O2 O1)
             (MOVE O1 -4 Q)
             (CALL NCONC 2)
             (CALL LAST 1)
             (MOVEM O1 -4 Q)
             (JRST 30)
(LABEL 31)   (MOVE O2 (CONSTANT 1))
             (CAME O2 -1 Q)
             (JRST 32)
             (MOVE O1 -3 Q)
             (CALL LIST 1)
             (MOVE O2 O1)
             (MOVE O1 -4 Q)
             (CALL RPLACD 2)
             (MOVE O1 -4 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -4 Q)
(LABEL 32)
(LABEL 30)   (MOVE O1 NIL)
             (MOVEM O1 -2 Q)
             (JRST 7)
(LABEL 3)    (SUBI Q 11)
             (POPJ P)
)

(%PUT (QUOTE MAP1) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (FUNCTION ORIGINAL-ARGLISTS ACCUMULATE TAKE-CAR))) 
(%PUT (QUOTE MAP1) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE MAP1) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE MAPC) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Applies fn to successive elements of lists, returns the second argument.")) 

#_(LAP #0_MAPC EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_(T)
       (CODE-START)
(LABEL 2)    (MOVE O3 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 1)
(LABEL 6)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 4)
             (MOVEM O1 -3 Q)
             (MOVEM O2 -2 Q)
             (MOVEM O3 -1 Q)
             (MOVE O2 O3)
             (MOVE O1 -2 Q)
             (CALL CONS 2)
             (MOVEM O1 0 Q)
             (MOVE O4 (CONSTANT 0))
             (MOVE O1 -3 Q)
             (MOVE O2 0 Q)
             (MOVE O3 NIL)
             (CALL LISP::MAP1 4)
             (SUBI Q 4)
             (POPJ P)
)

(%PUT (QUOTE MAPC) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (FUNCTION LIST &REST MORE-LISTS))) 
(%PUT (QUOTE MAPC) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE MAPC) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE MAPCAR) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Applies fn to successive elements of list, returns list of results.")) 

#_(LAP #0_MAPCAR EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_(:LIST T)
       (CODE-START)
(LABEL 2)    (MOVE O3 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 1)
(LABEL 6)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 4)
             (MOVEM O1 -3 Q)
             (MOVEM O2 -2 Q)
             (MOVEM O3 -1 Q)
             (MOVE O2 O3)
             (MOVE O1 -2 Q)
             (CALL CONS 2)
             (MOVEM O1 0 Q)
             (MOVE O4 (CONSTANT 1))
             (MOVE O1 -3 Q)
             (MOVE O2 0 Q)
             (MOVE O3 (CONSTANT 0))
             (CALL LISP::MAP1 4)
             (SUBI Q 4)
             (POPJ P)
)

(%PUT (QUOTE MAPCAR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (FUNCTION LIST &REST MORE-LISTS))) 
(%PUT (QUOTE MAPCAR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE MAPCAR) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE MAPCAN) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Applies fn to successive elements of list, returns NCONC of results.")) 

#_(LAP #0_MAPCAN EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_(:NCONC T)
       (CODE-START)
(LABEL 2)    (MOVE O3 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 1)
(LABEL 6)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 4)
             (MOVEM O1 -3 Q)
             (MOVEM O2 -2 Q)
             (MOVEM O3 -1 Q)
             (MOVE O2 O3)
             (MOVE O1 -2 Q)
             (CALL CONS 2)
             (MOVEM O1 0 Q)
             (MOVE O4 (CONSTANT 1))
             (MOVE O1 -3 Q)
             (MOVE O2 0 Q)
             (MOVE O3 (CONSTANT 0))
             (CALL LISP::MAP1 4)
             (SUBI Q 4)
             (POPJ P)
)

(%PUT (QUOTE MAPCAN) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (FUNCTION LIST &REST MORE-LISTS))) 
(%PUT (QUOTE MAPCAN) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE MAPCAN) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE MAPL) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Applies fn to successive CDRs of list, returns the second argument.")) 

#_(LAP #0_MAPL EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_NIL
       (CODE-START)
(LABEL 2)    (MOVE O3 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 1)
(LABEL 6)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 4)
             (MOVEM O1 -3 Q)
             (MOVEM O2 -2 Q)
             (MOVEM O3 -1 Q)
             (MOVE O2 O3)
             (MOVE O1 -2 Q)
             (CALL CONS 2)
             (MOVEM O1 0 Q)
             (MOVE O4 NIL)
             (MOVE O1 -3 Q)
             (MOVE O2 0 Q)
             (MOVE O3 O4)
             (CALL LISP::MAP1 4)
             (SUBI Q 4)
             (POPJ P)
)

(%PUT (QUOTE MAPL) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (FUNCTION LIST &REST MORE-LISTS))) 
(%PUT (QUOTE MAPL) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE MAPL) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE MAPLIST) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Applies fn to successive CDRs of list, returns list of results.")) 

#_(LAP #0_MAPLIST EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_(:LIST)
       (CODE-START)
(LABEL 2)    (MOVE O3 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 1)
(LABEL 6)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 4)
             (MOVEM O1 -3 Q)
             (MOVEM O2 -2 Q)
             (MOVEM O3 -1 Q)
             (MOVE O2 O3)
             (MOVE O1 -2 Q)
             (CALL CONS 2)
             (MOVEM O1 0 Q)
             (MOVE O4 NIL)
             (MOVE O1 -3 Q)
             (MOVE O2 0 Q)
             (MOVE O3 (CONSTANT 0))
             (CALL LISP::MAP1 4)
             (SUBI Q 4)
             (POPJ P)
)

(%PUT (QUOTE MAPLIST) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (FUNCTION LIST &REST MORE-LISTS))) 
(%PUT (QUOTE MAPLIST) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE MAPLIST) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE MAPCON) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Applies fn to successive CDRs of lists, returns NCONC of results.")) 

#_(LAP #0_MAPCON EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_(:NCONC)
       (CODE-START)
(LABEL 2)    (MOVE O3 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 1)
(LABEL 6)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 4)
             (MOVEM O1 -3 Q)
             (MOVEM O2 -2 Q)
             (MOVEM O3 -1 Q)
             (MOVE O2 O3)
             (MOVE O1 -2 Q)
             (CALL CONS 2)
             (MOVEM O1 0 Q)
             (MOVE O4 NIL)
             (MOVE O1 -3 Q)
             (MOVE O2 0 Q)
             (MOVE O3 (CONSTANT 0))
             (CALL LISP::MAP1 4)
             (SUBI Q 4)
             (POPJ P)
)

(%PUT (QUOTE MAPCON) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (FUNCTION LIST &REST MORE-LISTS))) 
(%PUT (QUOTE MAPCON) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE MAPCON) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE MEMQ) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns tail of list beginning with first element eq to item")) 

#_(LAP #0_MEMQ EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 4)
             (MOVEM O1 -3 Q)
             (MOVEM O2 -2 Q)
             (MOVE O5 O2)
             (MOVEM O5 -1 Q)
(LABEL 7)    (MOVE O1 -1 Q)
             (CALL ATOM 1)
             (JUMPE O1 8)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 3)
(LABEL 8)    (MOVE O1 -1 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O2 -3 Q)
             (CAME O2 0 Q)
             (JRST 10)
             (MOVEI N 1)
             (JRST 3)
(LABEL 10)   (MOVE O1 -1 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -1 Q)
             (JRST 7)
(LABEL 3)    (SUBI Q 4)
             (POPJ P)
)

(%PUT (QUOTE MEMQ) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ITEM LIST))) 
(%PUT (QUOTE MEMQ) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE MEMQ) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE DELQ) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns list with all (up to n) elements with all elements EQ to ITEM
   deleted")) 

#_(LAP #0_DELQ EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 3 2-MANY 2-MANY 2-MANY))
       #0_(0 T)
       (CODE-START)
(LABEL 1)    (ADDI Q 6)
             (MOVEM O1 -4 Q)
             (MOVEM O2 -3 Q)
             (MOVE O3 (CONSTANT 0))
             (MOVEM O3 -2 Q)
             (MOVEM NIL -5 Q)
             (JRST 2)
(LABEL 3)    (ADDI Q 6)
             (MOVEM O1 -4 Q)
             (MOVEM O2 -3 Q)
             (MOVEM O3 -2 Q)
             (MOVE O6 (CONSTANT 1))
             (MOVEM O6 -5 Q)
(LABEL 2)    (MOVE O5 -3 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 NIL)
             (MOVEM O5 0 Q)
(LABEL 9)    (MOVE O1 -1 Q)
             (CALL ATOM 1)
             (JUMPN1 O1 12)
             (SKIPN NIL -5 Q)
             (JRST 13)
             (MOVE O1 -2 Q)
             (CALL ZEROP 1)
             (SKIPN NIL O1)
(LABEL 13)
(LABEL 12)   (JRST 10)
             (MOVE O1 -3 Q)
             (MOVEI N 1)
             (JRST 5)
(LABEL 10)   (MOVE O1 -1 Q)
             (MOVE O2 0 O1)
             (CAME O2 -4 Q)
             (JRST 16)
             (MOVE O1 -2 Q)
             (CALL 1- 1)
             (MOVEM O1 -2 Q)
             (SKIPE NIL 0 Q)
             (JRST 17)
             (MOVE O1 -1 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -3 Q)
             (JRST 18)
(LABEL 17)   (MOVE O1 -1 Q)
             (MOVE O2 1 O1)
             (MOVE O1 0 Q)
             (CALL RPLACD 2)
(LABEL 18)   (JRST 15)
(LABEL 16)   (SKIPA)
             (JRST 19)
             (MOVE O1 -1 Q)
             (MOVEM O1 0 Q)
(LABEL 19)
(LABEL 15)   (MOVE O1 -1 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -1 Q)
             (JRST 9)
(LABEL 5)    (SUBI Q 6)
             (POPJ P)
)

(%PUT (QUOTE DELQ) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ITEM LIST &OPTIONAL (N 0 NP)))) 
(%PUT (QUOTE DELQ) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>LIST.CLISP.18") (GET (QUOTE DELQ) (QUOTE %SOURCE-DOCUMENTATION))))