(FILECREATED "12-Mar-85 15:05:09" {ERIS}<LISPCORE>LIBRARY>COMPTEST.;2 60094  

      changes to:  (VARS TESTAT COMPTESTCOMS TESTNUM)
		   (FNS .NT1 .NT2 .NT3)

      previous date: "12-Mar-85 07:06:39" {ERIS}<LISPCORE>LIBRARY>COMPTEST.;1)


(* Copyright (c) 1984, 1985 by Xerox Corporation. All rights reserved.)

(PRETTYCOMPRINT COMPTESTCOMS)

(RPAQQ COMPTESTCOMS [(FNS MAKEFORM TESTER TEST1 FAILTEST TESTVALS TESTIFSAME TESTPAIRS EVALVARS 
			  TRYTEST)
	(ADDVARS (TESTS TESTVAR TESTTYPE TESTRET TESTOP TESTNUM TESTMORE TESTMISC TESTMAP TESTLINK 
			TESTJUMP TESTFNX TESTFN TESTEDIT TESTCONS TESTCAR TESTCALL TESTC2 TESTC 
			TESTBIND TESTAT TEST3))
	(COMS (FNS IVAR PVAR VARSWAP VARSWAP2 VARSWAP3 VARSWAP4 IVAR3 IVARX FVAR)
	      (VARS TESTVAR)
	      (FNS .GETPROPLST)
	      (FNS .LISTP .NLISTP .LITATOM .FLOATP .FIXP .NUMBERP .SMALLP .STACKP .ARRAYP .NLITATOM 
		   .NFLOATP .NNUMBERP .NFIXP .NSMALLP .NARRAYP .NSTACKP .NZEROP .ZEROP .STRINGP 
		   .NSTRINGP .IGREATERP .NIGREATERP .ILESSP .NILESSP .ATOM .NATOM .EQ .NEQ .NULL 
		   .NNULL .IEQP .NIEQP .ORLISTP .ANDLISTP .ORATOM .ANDATOM .ORZEROP .ORNULL .ORARRAYP 
		   .ANDARRAYP .ANDNLISTP .ANDNATOM .ORFLOATP .ANDFLOATP)
	      (VARS TESTTYPE)
	      (FNS .CONDRET .CONDRET2 TESTRESUME GETLEAVES)
	      (VARS TESTRET)
	      (FNS .TESTARG .SET .EVALV1 .EVALV2 .SUM .FIX .LIST .NLSETQ .EQUAL .SETX)
	      (VARS TESTOP)
	      (FNS .ITIMES .IPLUS .IQUOTIENT .IREMAINDER .ADD1 .SUB1 .LLSH .LRSH .LSH .RSH .LOGAND 
		   .LOGOR .LOGXOR .IDIFFERENCE .NT1 .NT2 .NT3)
	      (VARS TESTNUM)
	      (FNS .NCONC ..NCONC .AND .FRPLNODE .OR .FRPLNODE2 ..NCONC3 .NCONC3 SELECTTEST .MKLIST 
		   .EQMEMB .NCONC1 .GETPROPLIST .SETPROPLIST .FGETD ..FRPLNODE2 !AND !OR)
	      (VARS TESTMORE)
	      (FNS !ADD1VAR !ADDTOVAR !APPEND APPEND2 !ASSOC !ATTACH !CHANGEPROP !COPY !DEFLIST 
		   !DREMOVE !DREVERSE DREV !DSUBST !EVERY !GETP !INTERSECTION !LAST !LASTN !LDIFF 
		   !LENGTH !LISTGET !LSUBST !MAP !GET !GETLIS !MEMB !NTH .COLLCT .ENDCOLLCT MYAPPEND1 
		   MYAPPEND2 COLLCT ENDCOLLCT .ATTACH .APPEND0 .APPEND1 .APPEND2 .APPEND3 .APPEND4 
		   .MAPCGETP)
	      (VARS TESTMISC)
	      (FNS .MAP .MAPC .MAPCEFF)
	      (VARS TESTMAP)
	      (FNS .FPLUS .FTIMES .FDIFFERENCE .FQUOTIENT)
	      (VARS TESTLINK)
	      (FNS NONLOCALGO CNTDWN JUMPAROUND)
	      (VARS TESTJUMP)
	      (FNS FN2 FN3 FN1 .IVAR)
	      (VARS TESTFNX)
	      (FNS .GETP .GETPROP .RPLACA .RPLACD .FRPLACA .GET .FRPLACD .ASSOC .LENGTH .LAST 
		   .GETHASH .FMEMB)
	      (VARS TESTFN)
	      (VARS TESTEDIT)
	      (FNS .CONS LIST0 LIST1 LIST2 LIST3 LIST4 LIST5 LIST6 LIST7 LIST8 LIST9 LIST10 LIST11 
		   LIST12 LIST13)
	      (VARS TESTCONS)
	      (FNS .CAR .CDR .CAAR .CDAR .CADR .CDDR .CAAAAR)
	      (VARS TESTCAR)
	      (FNS .LAM0 ..LAM0 .LAM1 ..LAM1 .NLAML LAM1LOC)
	      (VARS TESTCALL)
	      (FNS .PROGS .SPEC .COND .DELBIND)
	      (VARS TESTC2)
	      (FNS T1 T0 TT TNIL T-1 T2 T12 T377 T400Q T-400 TSTR .NILARGS)
	      (VARS TESTC)
	      (FNS .BIND0 .BIND1 .BIND2 .BIND3 .BIND4 .BINDASSOC .BIND5 .BINDPOP)
	      (VARS TESTBIND)
	      (VARS TESTAT)
	      (FNS LAM0 LAM1 LAMA NLAML NLAMA)
	      (FNS .SELECTQ .SUBFNS .MISC .FORTEST .BIGCOND .RECORDTEST .PROGRETURN .ALWAYSFALSE 
		   .ALWAYSTRUE .EQ1 .EQ2 .EQ3)
	      (VARS TEST3))
	(DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS
		  (ADDVARS (NLAMA NLAMA !ADDTOVAR TESTIFSAME TESTVALS)
			   (NLAML NLAML !ADD1VAR .NLSETQ TESTPAIRS)
			   (LAMA LAMA !APPEND .LIST .SUM .TESTARG])
(DEFINEQ

(MAKEFORM
  [LAMBDA (FORM)                   (* lmm: " 3-OCT-76 05:29:26")
    (SUBST FORM (QUOTE FORM)
	   (QUOTE (LIST 1 FORM (COND
			  (FORM 2)
			  ((NOT FORM)
			    3)
			  (T 4))
			(OR FORM 5)
			(AND FORM 6)
			(PROGN FORM 7])

(TESTER
  [LAMBDA (TESTLST)                (* lmm: 21-JUN-76 17 2)
    (RESETLST (PUTD (QUOTE TRY)
		    (GETD (QUOTE EVAL)))
	      [RESETSAVE [PUTD (QUOTE ERRORX)
			       (QUOTE (LAMBDA (ERXM)
					      (RETFROM (OR (STKPOS (QUOTE TRY))
							   (HELP "Errorx not below TRY"))
						       (CONS (QUOTE ERRORX)
							     (OR ERXM (ERRORN)))
						       T]
			 (LIST (QUOTE PUTD)
			       (QUOTE ERRORX)
			       (GETD (QUOTE ERRORX]
	      (TEST1 TESTLST])

(TEST1
  [LAMBDA (TESTLST)                (* lmm: " 3-OCT-76 05:18:10")
    (COND
      ((NULL TESTLST)
	(MAPC TESTS (QUOTE TEST1)))
      ((LITATOM TESTLST)
	(PRINT TESTLST T)
	(TEST1 (EVALV TESTLST)))
      (T (MAPC TESTLST (QUOTE EVAL])

(FAILTEST
  [LAMBDA NIL
    (PRIN2 TEST T T)
    (PRIN1 " failed.
" T])

(TESTVALS
  [NLAMBDA L                       (* lmm " 6-FEB-82 20:33")
    (PROG ((A (QUOTE A.TOP))
	   (B (QUOTE B.TOP))
	   (C (QUOTE C.TOP))
	   (D (QUOTE D.TOP))
	   (E (QUOTE E.TOP))
	   (F (QUOTE F.TOP))
	   (G (QUOTE G.TOP))
	   (H (QUOTE H.TOP))
	   (I (QUOTE I.TOP)))
          (MAP L [FUNCTION (LAMBDA (X)
		   (OR (AND [EQUAL [SETQ V1 (TRY (SETQ TEST (CAR X]
				   (SETQ V2 (TRY (CADR X]
			    (EQ (TYPENAME V1)
				(TYPENAME V2)))
		       (FAILTEST]
	       (FUNCTION CDDR])

(TESTIFSAME
  [NLAMBDA FNVALS                  (* lmm " 6-FEB-82 20:33")
    (MAPC FNVALS (FUNCTION (LAMBDA (L V1 V2)
	      (OR (AND [EQUAL [SETQ V1 (TRY (SETQ TEST (CONS (CAR L)
							     (CDDR L]
			      (SETQ V2 (TRY (CDR L]
		       (EQ (TYPENAME V1)
			   (TYPENAME V2)))
		  (FAILTEST])

(TESTPAIRS
  [NLAMBDA (FNL VALLST)            (* lmm " 6-FEB-82 20:33")
    (MAPC FNL (FUNCTION (LAMBDA (FNPR)
	      (MAP VALLST (FUNCTION (LAMBDA (VLST)
		       (MAPC VLST (FUNCTION (LAMBDA (VLST2)
				 (OR (AND [EQUAL [SETQ V1 (TRY (SETQ TEST (LIST (CAR FNPR)
										(CAR VLST)
										VLST2]
						 (SETQ V2 (TRY (CONS (CDR FNPR)
								     (CDR TEST]
					  (EQ (TYPENAME V1)
					      (TYPENAME V2)))
				     (FAILTEST])

(EVALVARS
  [LAMBDA NIL                      (* lmm: 22-JUN-76 0 56)
    (MAPCAR (QUOTE (A B C D E F G H))
	    (FUNCTION EVALV])

(TRYTEST
  [LAMBDA (FORM1 FORM2)            (* lmm: 24-JUN-76 4 41)
    (OR (EQUAL (TRY (SETQ TEST FORM1))
	       (TRY FORM2))
	(FAILTEST])
)

(ADDTOVAR TESTS TESTVAR TESTTYPE TESTRET TESTOP TESTNUM TESTMORE TESTMISC TESTMAP TESTLINK TESTJUMP 
			TESTFNX TESTFN TESTEDIT TESTCONS TESTCAR TESTCALL TESTC2 TESTC TESTBIND 
			TESTAT TEST3)
(DEFINEQ

(IVAR
  [LAMBDA (A B C D E F G H I J K L M N O)
    (DECLARE (SPECVARS))
    (DECLARE (LOCALVARS . T))
    (LIST A B C D E F G H I J K L M N O])

(PVAR
  [LAMBDA (A B C D E F G H I J K L M N O)
                                   (* lmm: 19-JUN-76 0 14)
    (PROG (X Y Z)
          (DECLARE (LOCALVARS . T))
          (RETURN (LIST A B C D E F G H I J K L M N O])

(VARSWAP
  [LAMBDA (X Y Z W)                (* lmm: 19-JUN-76 1 18)
    (DECLARE (LOCALVARS . T))
    (SETQ X Y)
    (SETQ Y Z)
    (SETQ Z W)
    (SETQ W 0)
    (LIST X Y Z W])

(VARSWAP2
  [LAMBDA (X Y Z W)                (* lmm: 19-JUN-76 1 31)
    (PROG NIL
          (DECLARE (LOCALVARS . T))
          (SETQ X Y)
          (SETQ Y Z)
          (SETQ Z W)
          (SETQ W 0)
          (RETURN (LIST X Y Z W])

(VARSWAP3
  [LAMBDA NIL                      (* lmm: 19-JUN-76 1 34)
    (PROG NIL
          (SETQ X Y)
          (SETQ Y Z)
          (SETQ Z W)
          (SETQ W 0)
          (RETURN (LIST X Y Z W])

(VARSWAP4
  [LAMBDA NIL                      (* lmm: 19-JUN-76 1 45)
    (SETQ X Y)
    (SETQ Y Z)
    (SETQ Z W)
    (SETQ W 0)
    (LIST X Y Z W])

(IVAR3
  [LAMBDA (A B C D E F G H I J K L M N O)
                                   (* lmm: 19-JUN-76 3 24)
    (DECLARE (SPECVARS))
    (DECLARE (LOCALVARS . T))
    (PROG (Z W)
          (RETURN (PROG (X Y)
		        (RETURN (LIST A B C D E F G H I J K L M N O])

(IVARX
  [LAMBDA (A B C)                  (* lmm: 24-JUN-76 9 1)
    (DECLARE (LOCALVARS . T))
    (PROG ((D (CONS 1 A))
	   (E (CONS 2 B))
	   (F (CONS 3 C)))
          (RETURN (PROG ((H (CONS 4 D))
			 (I (CONS 5 E))
			 (J (CONS 6 F)))
		        (RETURN (LIST A B C D E F H I J])

(FVAR
  [LAMBDA NIL                      (* lmm: 24-JUN-76 13 28)
    (CONS F1 F2])
)

(RPAQQ TESTVAR [(TESTVALS (IVAR 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)
			  (QUOTE (1 2 3 4 5 6 7 8 9 10 11 12 13 14 15))
			  (PVAR 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)
			  (QUOTE (1 2 3 4 5 6 7 8 9 10 11 12 13 14 15))
			  (IVAR3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)
			  (QUOTE (1 2 3 4 5 6 7 8 9 10 11 12 13 14 15))
			  (VARSWAP 1 2 3 4)
			  (QUOTE (2 3 4 0))
			  (VARSWAP2 1 2 3 4)
			  (QUOTE (2 3 4 0))
			  (PROG ((X 1)
				 (Y 2)
				 (Z 3)
				 (W 4))
				(RETURN (VARSWAP3)))
			  (QUOTE (2 3 4 0))
			  (PROG ((X 1)
				 (Y 2)
				 (Z 3)
				 (W 4))
				(RETURN (VARSWAP4)))
			  (QUOTE (2 3 4 0))
			  (IVARX -3 -2 -1)
			  (QUOTE (-3 -2 -1 (1 . -3)
				     (2 . -2)
				     (3 . -1)
				     (4 1 . -3)
				     (5 2 . -2)
				     (6 3 . -1])
(DEFINEQ

(.GETPROPLST
  [LAMBDA (X Y Z)
    (LIST 1 (GETPROPLIST X)
	  (PROG1 3 (GETPROPLIST X])
)
(DEFINEQ

(.LISTP
  [LAMBDA (X)
    (LISTP X])

(.NLISTP
  [LAMBDA (X)
    (NLISTP X])

(.LITATOM
  [LAMBDA (X)                      (* lmm: 18-JUN-76 14 59)
    (LITATOM X])

(.FLOATP
  [LAMBDA (X)                      (* lmm: 18-JUN-76 14 59)
    (FLOATP X])

(.FIXP
  [LAMBDA (X)                      (* lmm: 18-JUN-76 14 59)
    (FIXP X])

(.NUMBERP
  [LAMBDA (X)                      (* lmm: 18-JUN-76 15 1)
    (NUMBERP X])

(.SMALLP
  [LAMBDA (X)                      (* lmm: 18-JUN-76 15 7)
    (SMALLP X])

(.STACKP
  [LAMBDA (X)                      (* lmm: 18-JUN-76 15 11)
    (STACKP X])

(.ARRAYP
  [LAMBDA (X)                      (* lmm: 18-JUN-76 15 11)
    (ARRAYP X])

(.NLITATOM
  [LAMBDA (X)                      (* lmm: 18-JUN-76 15 25)
    (NOT (LITATOM X])

(.NFLOATP
  [LAMBDA (X)
    (NOT (FLOATP X])

(.NNUMBERP
  [LAMBDA (X)
    (NOT (NUMBERP X])

(.NFIXP
  [LAMBDA (X)
    (NOT (FIXP X])

(.NSMALLP
  [LAMBDA (X)
    (NOT (SMALLP X])

(.NARRAYP
  [LAMBDA (X)
    (NOT (ARRAYP X])

(.NSTACKP
  [LAMBDA (X)
    (NOT (STACKP X])

(.NZEROP
  [LAMBDA (X)
    (NOT (ZEROP X])

(.ZEROP
  [LAMBDA (X)                      (* lmm: 18-JUN-76 15 28)
    (ZEROP X])

(.STRINGP
  [LAMBDA (X)
    (STRINGP X])

(.NSTRINGP
  [LAMBDA (X)
    (NOT (STRINGP X])

(.IGREATERP
  [LAMBDA (X Y)
    (IGREATERP X Y])

(.NIGREATERP
  [LAMBDA (X Y)
    (NOT (IGREATERP X Y])

(.ILESSP
  [LAMBDA (X Y)
    (ILESSP X Y])

(.NILESSP
  [LAMBDA (X Y)
    (NOT (ILESSP X Y])

(.ATOM
  [LAMBDA (X)
    (ATOM X])

(.NATOM
  [LAMBDA (X)
    (NOT (ATOM X])

(.EQ
  [LAMBDA (X Y)
    (EQ X Y])

(.NEQ
  [LAMBDA (X Y)
    (NEQ X Y])

(.NULL
  [LAMBDA (X)
    (NULL X])

(.NNULL
  [LAMBDA (X)
    (COND
      ((NULL X)
	NIL)
      (T T])

(.IEQP
  [LAMBDA (X Y)
    (IEQP X Y])

(.NIEQP
  [LAMBDA (X Y)                    (* lmm: 19-JUN-76 3 14)
    (NOT (IEQP X Y])

(.ORLISTP
  [LAMBDA (Y X)                    (* lmm: 24-JUN-76 4 45)
    (OR (LISTP X)
	Y])

(.ANDLISTP
  [LAMBDA (Y X)                    (* lmm: 24-JUN-76 4 45)
    (AND (LISTP X)
	 Y])

(.ORATOM
  [LAMBDA (Y X)                    (* lmm: 30-JUN-76 13 27)
    (OR (ATOM X)
	Y])

(.ANDATOM
  [LAMBDA (Y X)                    (* lmm: 30-JUN-76 13 27)
    (AND (ATOM X)
	 Y])

(.ORZEROP
  [LAMBDA (Y X)                    (* lmm: 24-JUN-76 4 47)
    (OR (EQ X 0)
	Y])

(.ORNULL
  [LAMBDA (Y X)                    (* lmm: 24-JUN-76 4 47)
    (OR (NULL X)
	Y])

(.ORARRAYP
  [LAMBDA (Y X)                    (* lmm: 24-JUN-76 4 47)
    (OR (ARRAYP X)
	Y])

(.ANDARRAYP
  [LAMBDA (Y X)                    (* lmm: 24-JUN-76 13 9)
    (AND (ARRAYP X)
	 Y])

(.ANDNLISTP
  [LAMBDA (Y X)                    (* lmm: 30-JUN-76 13 26)
    (AND (NOT (LISTP X))
	 Y])

(.ANDNATOM
  [LAMBDA (Y X)                    (* lmm: 30-JUN-76 13 28)
    (AND (NOT (ATOM X))
	 Y])

(.ORFLOATP
  [LAMBDA (Y X)                    (* lmm: 30-JUN-76 13 28)
    (OR (FLOATP X)
	Y])

(.ANDFLOATP
  [LAMBDA (Y X)                    (* lmm: 30-JUN-76 13 28)
    (AND (FLOATP X)
	 Y])
)

(RPAQQ TESTTYPE [[MAPC (QUOTE ((.NLISTP .LISTP LISTP .ORLISTP .ANDLISTP)
			       (.NATOM .ATOM ATOM .ORATOM .ANDATOM .ANDNATOM)
			       (.NLITATOM .LITATOM LITATOM)
			       (.NFLOATP .FLOATP FLOATP .ORFLOATP .ANDFLOATP)
			       (.NNUMBERP .NUMBERP NUMBERP)
			       (.NFIXP .FIXP FIXP)
			       (.NSMALLP .SMALLP SMALLP)
			       (.NARRAYP .ARRAYP ARRAYP .ORARRAYP .ANDARRAYP)
			       (.NSTACKP .STACKP STACKP)
			       (.NZEROP .ZEROP ZEROP .ORZEROP)
			       (.NSTRINGP .STRINGP STRINGP)
			       (.NNULL .NULL NULL .ORNULL)))
		       (FUNCTION (LAMBDA (L)
					 (MAPC [CONS (LIST)
						     (CONS (LIST (ARRAY 2))
							   (CONS (LIST (STKNTH 0 T))
								 (QUOTE ((-1)
									 (0)
									 (1)
									 (1.0)
									 (100000)
									 ((QUOTE A))
									 ((QUOTE (A)))
									 ("foo")
									 (NIL)
									 (T]
					       (FUNCTION (LAMBDA
							   (ARGL TX)
							   (TRYTEST (CONS (CADR L)
									  ARGL)
								    (SETQ TX (CONS (CADDR L)
										   ARGL)))
							   (TRYTEST (CONS (CAR L)
									  ARGL)
								    (LIST (QUOTE NOT)
									  TX))
							   (AND (CADDDR L)
								(TRYTEST (CONS (CADDDR L)
									       (CONS 74 ARGL))
									 (LIST (QUOTE OR)
									       TX 74)))
							   (AND (CAR (CDDDDR L))
								(TRYTEST (CONS (CAR (CDDDDR L))
									       (CONS 74 ARGL))
									 (LIST (QUOTE AND)
									       TX 74)))
							   (AND (CADR (CDDDDR L))
								(TRYTEST (CONS (CADR (CDDDDR L))
									       (CONS 74 ARGL))
									 (LIST (QUOTE AND)
									       (LIST (QUOTE NOT)
										     TX)
									       74]
		 (MAPC (QUOTE ((.NIGREATERP .IGREATERP IGREATERP)
			       (.NILESSP .ILESSP ILESSP)
			       (.NIEQP .IEQP IEQP)
			       (.NEQ .EQ EQ)))
		       (FUNCTION (LAMBDA (L)
					 (MAPC (QUOTE ((1 -1)
						       (-1 1)
						       (100000 1)
						       (100.0 1)
						       (1 100.0)
						       (100.0 200.0)
						       (1 100000)
						       (300000 -300000)
						       (-300000 300000)
						       (100000 100000)))
					       (FUNCTION (LAMBDA (ARGS)
								 (TRYTEST (CONS (CADR L)
										ARGS)
									  (CONS (CADDR L)
										ARGS))
								 (TRYTEST (CONS (CAR L)
										ARGS)
									  (LIST (QUOTE NOT)
										(CONS (CADDR L)
										      ARGS])
(DEFINEQ

(.CONDRET
  [LAMBDA (X)                      (* lmm: "15-AUG-76 00:09:27")
    (PROG NIL
          (COND
	    (X (RETURN (CONS)))
	    (T (RETURN 3])

(.CONDRET2
  [LAMBDA NIL                      (* lmm: "15-AUG-76 00:12:23")
    (PROG (X)
          (COND
	    ((RETURN X)
	      T)
	    (T 3])

(TESTRESUME
  [LAMBDA (STRUCTURE)
    (PROG (LEAF RESULT TESTPTR GETPTR)
          (COROUTINE TESTPTR GETPTR (GETLEAVES STRUCTURE GETPTR TESTPTR))
      LP  (COND
	    ((SETQ LEAF (RESUME TESTPTR GETPTR))
	      (SETQ RESULT (NCONC1 RESULT LEAF))
	      (GO LP))
	    (T (RETURN RESULT])

(GETLEAVES
  [LAMBDA (STRUC GETPTR TESTPTR)
    (COND
      ((LISTP STRUC)
	(GETLEAVES (CAR STRUC)
		   GETPTR TESTPTR)
	(GETLEAVES (CDR STRUC)
		   GETPTR TESTPTR))
      (STRUC (RESUME GETPTR TESTPTR STRUC])
)

(RPAQQ TESTRET [(TESTVALS (.CONDRET T)
			  (QUOTE (NIL))
			  (.CONDRET)
			  3
			  (.CONDRET2 17)
			  NIL
			  [TESTRESUME (QUOTE (1 (2 . 3)
						(4 . 5) . 6]
			  (QUOTE (1 2 3 4 5 6])
(DEFINEQ

(.TESTARG
  [LAMBDA N                        (* lmm: 22-JUN-76 22 59)
    (LIST N (ARG N 1)
	  (ARG N 2])

(.SET
  [LAMBDA (VAR VAL)                (* lmm: "19-OCT-76 19:41:48")
    (LIST 1 (SET VAR VAL)
	  3])

(.EVALV1
  [LAMBDA (X)                      (* lmm: 22-JUN-76 23 4)
    (EVALV X])

(.EVALV2
  [LAMBDA (X Y)                    (* lmm: 22-JUN-76 23 5)
    (EVALV X Y])

(.SUM
  [LAMBDA N                        (* lmm: 24-JUN-76 14 59)
    (PROG ((I N)
	   (V 0))
      LP  (COND
	    ((ZEROP I)
	      (RETURN V))
	    (T (SETQ V (IPLUS V (ARG N I)))
	       (SETQ I (SUB1 I))
	       (GO LP])

(.FIX
  [LAMBDA (X)                      (* lmm: 25-JUN-76 6 20)
    (FIX X])

(.LIST
  [LAMBDA L                        (* lmm: 30-JUN-76 14 50)
    (AND (NOT (ZEROP L))
	 (PROG ((I L)
		V)
	   LP  (COND
		 ((EQ I 1)
		   (RETURN (CONS (ARG L 1)
				 V)))
		 (T (SETQ V (CONS (ARG L I)
				  V))
		    (SETQ I (SUB1 I))
		    (GO LP])

(.NLSETQ
  [NLAMBDA (FORM)                  (* lmm: 1-JUL-76 10 44)
    (NLSETQ (EVAL FORM])

(.EQUAL
  [LAMBDA (X Y)                    (* lmm: "14-OCT-76 21:46:54")
    (LIST 1 (EQUAL X Y)
	  3])

(.SETX
  [LAMBDA (X Y Z)
    (DECLARE (LOCALVARS . T))      (* lmm: "19-OCT-76 16:50:07")
    (PROG (K L M)
          (COND
	    (X (SETQ K -1))
	    (T (SETQ K 3)))
          (COND
	    (Y (SETQ L -4))
	    (T (SETQ L 4)))
          (COND
	    (Z (SETQ M -2))
	    (T (SETQ M 2)))
          (RETURN (LIST K L M])
)

(RPAQQ TESTOP [(SETTOPVAL (QUOTE A)
			  (QUOTE A.TOPLEVEL))
	       (TESTVALS (.TESTARG 10 4 12 (QUOTE A)
				   (QUOTE B))
			 (QUOTE (5 10 4))
			 (PROG (FOO)
			       (RETURN (LIST (.SET (QUOTE FOO)
						   300)
					     FOO)))
			 (QUOTE ((1 300 3)
				 300))
			 (.EVALV1 (QUOTE A))
			 (QUOTE A.TOP)
			 (.EVALV2 (QUOTE A))
			 (QUOTE A.TOP)
			 (.EVALV2 (QUOTE A)
				  T)
			 (QUOTE A.TOPLEVEL)
			 (.SUM 34 -34)
			 0
			 (.SUM 10 9 8 -8 -9 -10)
			 0
			 (.FIX (SETQ TESTATOM 100000))
			 TESTATOM
			 (.FIX 1.3)
			 1
			 (.NLSETQ (ERROR!))
			 NIL
			 (.NLSETQ (QUOTE FOO))
			 (QUOTE (FOO))
			 (.LIST)
			 NIL
			 (.LIST 1)
			 (QUOTE (1))
			 (.LIST 1 2 3 4 5)
			 (QUOTE (1 2 3 4 5))
			 (.EQUAL (QUOTE ((A)
					 "B" 4.0 "CDEFG"))
				 (QUOTE ((A)
					 "B" 4 "CDEFG")))
			 (QUOTE (1 T 3))
			 [.EQUAL (QUOTE (("ABCDEFG" "IJ")))
				 (QUOTE (("ABCDEGF" "IJ"]
			 (QUOTE (1 NIL 3))
			 (.SETX T T T)
			 (QUOTE (-1 -4 -2))
			 (.SETX)
			 (QUOTE (3 4 2])
(DEFINEQ

(.ITIMES
  [LAMBDA (X Y)
    (ITIMES X Y])

(.IPLUS
  [LAMBDA (X Y)
    (IPLUS X Y])

(.IQUOTIENT
  [LAMBDA (X Y)
    (IQUOTIENT X Y])

(.IREMAINDER
  [LAMBDA (X Y)
    (IREMAINDER X Y])

(.ADD1
  [LAMBDA (X)
    (ADD1 X])

(.SUB1
  [LAMBDA (X)
    (SUB1 X])

(.LLSH
  [LAMBDA (X Y)
    (LLSH X Y])

(.LRSH
  [LAMBDA (X Y)
    (LRSH X Y])

(.LSH
  [LAMBDA (X Y)
    (LSH X Y])

(.RSH
  [LAMBDA (X Y)
    (RSH X Y])

(.LOGAND
  [LAMBDA (X Y)
    (LOGAND X Y])

(.LOGOR
  [LAMBDA (X Y)
    (LOGOR X Y])

(.LOGXOR
  [LAMBDA (X Y)
    (LOGXOR X Y])

(.IDIFFERENCE
  [LAMBDA (X Y)
    (IDIFFERENCE X Y])

(.NT1
  [LAMBDA (X Y Z)
    (FTIMES (DIFFERENCE X Y)
	    Z])

(.NT2
  [LAMBDA (X Y Z)
    (FTIMES (QUOTIENT X Y)
	    Z])

(.NT3
  [LAMBDA (X Y Z)
    (FGREATERP (COND
		 (X Y)
		 (Z))
	       0])
)

(RPAQQ TESTNUM ((TESTVALS (.NT1 1 2 3)
			  -3.0
			  (.NT2 1 2 3)
			  0.0
			  (.NT2 1.0 2 3)
			  1.5
			  (.NT3 T 3 4)
			  T
			  (.NT3 NIL 3 -4)
			  NIL)
		(TESTPAIRS ((.ITIMES . ITIMES)
			    (.IPLUS . IPLUS)
			    (.IQUOTIENT . IQUOTIENT)
			    (.IREMAINDER . IREMAINDER)
			    (.ADD1 . ADD1)
			    (.SUB1 . SUB1)
			    (.LLSH . LLSH)
			    (.LRSH . LRSH)
			    (.LSH . LSH)
			    (.RSH . RSH)
			    (.LOGAND . LOGAND)
			    (.LOGOR . LOGOR)
			    (.LOGXOR . LOGXOR))
			   (0 3 -3 2047 2048 -1 0 -1431655766 NIL))))
(DEFINEQ

(.NCONC
  [LAMBDA (X Y)                    (* lmm: 19-JUN-76 20 21)
    (NCONC X Y])

(..NCONC
  [LAMBDA (X Y)                    (* lmm: 19-JUN-76 20 46)
    (PROG NIL
          (NCONC X Y)
          (RETURN X])

(.AND
  [LAMBDA (X Y Z W)                (* lmm: 19-JUN-76 20 54)
    (AND (EVAL X)
	 (EVAL Y)
	 (EVAL Z)
	 (EVAL W])

(.FRPLNODE
  [LAMBDA (X A D)                  (* lmm: 19-JUN-76 21 23)
    (FRPLNODE X A D])

(.OR
  [LAMBDA (X Y Z W)                (* lmm: 19-JUN-76 21 28)
    (OR (EVAL X)
	(EVAL Y)
	(EVAL Z)
	(EVAL W])

(.FRPLNODE2
  [LAMBDA (X Y)                    (* lmm: 19-JUN-76 21 47)
    (FRPLNODE2 X Y])

(..NCONC3
  [LAMBDA (X Y Z)                  (* lmm: 19-JUN-76 23 9)
    (PROG NIL
          (NCONC X Y Z)
          (RETURN X])

(.NCONC3
  [LAMBDA (X Y Z W)                (* lmm: 19-JUN-76 22 54)
    (NCONC X Y Z W])

(SELECTTEST
  [LAMBDA (X)                      (* lmm: 19-JUN-76 22 16)
    (SELECTQ X
	     (0 0)
	     (1 1)
	     (A (QUOTE A))
	     ((B C D)
	       (QUOTE C))
	     NIL])

(.MKLIST
  [LAMBDA (X)                      (* lmm: 21-JUN-76 0 56)
    (MKLIST X])

(.EQMEMB
  [LAMBDA (X Y)                    (* lmm: 21-JUN-76 1 16)
    (EQMEMB X Y])

(.NCONC1
  [LAMBDA (X Y)                    (* lmm: 21-JUN-76 1 33)
    (NCONC1 X Y])

(.GETPROPLIST
  [LAMBDA (X)                      (* lmm: 21-JUN-76 2 48)
    (GETPROPLIST X])

(.SETPROPLIST
  [LAMBDA (X Y)                    (* lmm: 21-JUN-76 2 53)
    (SETPROPLIST X Y])

(.FGETD
  [LAMBDA (X)
    (FGETD X])

(..FRPLNODE2
  [LAMBDA (L M)                    (* lmm " 7-FEB-82 09:33")
    (FRPLNODE2 L M])

(!AND
  [LAMBDA (A B C)                  (* lmm: "22-NOV-76 23:53:50")
    (LIST (AND A B)
	  (COND
	    ((AND A B)
	      1)
	    (T 2))
	  (COND
	    ((NOT (AND A B))
	      3)
	    (T 4))
	  (AND (AND A B)
	       5)
	  (OR (AND A B)
	      6)
	  (PROG1 7 (AND A B (SETQ C 9)))
	  C])

(!OR
  [LAMBDA (A B C)                  (* lmm: "23-NOV-76 00:14:05")
    (LIST (OR A B)
	  (COND
	    ((OR A B)
	      1)
	    (T 2))
	  (COND
	    ((NOT (OR A B))
	      3)
	    (T 4))
	  (OR (OR A B)
	      5)
	  (OR (OR A B)
	      6)
	  (PROG1 7 (OR A B (SETQ C 9)))
	  C])
)

(RPAQQ TESTMORE [(SETPROPLIST (QUOTE TESTATOM)
			      (QUOTE (A D)))
		 [TESTVALS (.NCONC (LIST 1 2 3)
				   (LIST 4 5 6))
			   (QUOTE (1 2 3 4 5 6))
			   (.NCONC NIL (QUOTE A))
			   (QUOTE A)
			   (CDR NIL)
			   NIL
			   (..NCONC (LIST 1 2 3)
				    (LIST 4 5 6))
			   (QUOTE (1 2 3 4 5 6))
			   (.AND T T T 3)
			   3
			   [.AND NIL (QUOTE (PRINT (QUOTE (.AND failed]
			   NIL
			   (.FRPLNODE (CONS)
				      2 3)
			   (QUOTE (2 . 3))
			   (.OR 1 2 3)
			   1
			   (.FRPLNODE2 (CONS (QUOTE A)
					     (QUOTE B))
				       (CONS (QUOTE C)
					     (QUOTE D)))
			   (QUOTE (C . D))
			   (..FRPLNODE2 (CONS (QUOTE A)
					      (QUOTE B))
					(QUOTE (NIL)))
			   (QUOTE (NIL))
			   (.NCONC3 (LIST 1)
				    (LIST 2)
				    (LIST 3)
				    (LIST 4))
			   (QUOTE (1 2 3 4))
			   (..NCONC3 (LIST 1)
				     (LIST 2)
				     (LIST 3)
				     (LIST 4))
			   (QUOTE (1 2 3))
			   (LIST (SELECTTEST NIL)
				 (SELECTTEST 1)
				 (SELECTTEST 0)
				 (SELECTTEST (QUOTE A))
				 (SELECTTEST (QUOTE C)))
			   (QUOTE (NIL 1 0 A C))
			   (.MKLIST)
			   NIL
			   (.MKLIST 3)
			   (QUOTE (3))
			   (.MKLIST (QUOTE (3)))
			   (QUOTE (3))
			   (.EQMEMB 1 1)
			   T
			   (.EQMEMB 1 (QUOTE (1)))
			   T
			   (.EQMEMB (QUOTE A)
				    (QUOTE TESTATOM))
			   NIL
			   (.EQMEMB (QUOTE A)
				    (QUOTE (D E F)))
			   NIL
			   (.NCONC1 (LIST 1 2 3)
				    4)
			   (QUOTE (1 2 3 4))
			   (LIST (!AND 1 2)
				 (!AND NIL 2)
				 (!AND 1 NIL)
				 (!AND NIL NIL))
			   (QUOTE ((2 1 4 5 2 7 9)
				   (NIL 2 3 NIL 6 7 NIL)
				   (NIL 2 3 NIL 6 7 NIL)
				   (NIL 2 3 NIL 6 7 NIL)))
			   (LIST (!OR 1 2)
				 (!OR NIL 2)
				 (!OR 1 NIL)
				 (!OR NIL NIL))
			   (QUOTE ((1 1 4 1 1 7 NIL)
				   (2 1 4 2 2 7 NIL)
				   (1 1 4 1 1 7 NIL)
				   (NIL 2 3 5 6 7 9]
		 (SETPROPLIST (QUOTE TESTATOM)
			      (QUOTE (A B C D E F)))
		 (TESTIFSAME (.SETPROPLIST SETPROPLIST (QUOTE TESTATOM)
					   (QUOTE (D E F G)))
			     (.GETPROPLIST GETPROPLIST (QUOTE TESTATOM))
			     (.FGETD FGETD (QUOTE CONS])
(DEFINEQ

(!ADD1VAR
  [NLAMBDA (ADD1X)                 (* COMPILES OPEN)
    (DECLARE (LOCALVARS . T))
    (SET ADD1X (ADD1 (EVALV ADD1X])

(!ADDTOVAR
  [NLAMBDA X                       (* used by file package)
    (DECLARE (LOCALVARS . T)
	     (SPECVARS DFNFLG))
    (PROG [VAR (DFNFLG (COND
			 ((EQ DFNFLG (QUOTE ALLPROP))
			   (QUOTE PROP))
			 (T DFNFLG]
          (SAVESET (SETQ VAR (CAR X))
		   (UNION (CDR X)
			  (LISTP (GETATOMVAL VAR)))
		   (CONSTANT (NULL SHALLOWFLG)))
                                   (* in shallow system, addtovar works on current binding.)
          (RETURN VAR])

(!APPEND
  [LAMBDA L                        (* lmm: 2-JUL-76 4 3)
    (SELECTQ L
	     (0 NIL)
	     (1 (APPEND2 (ARG L 1)
			 NIL))
	     (2 (APPEND2 (ARG L 1)
			 (ARG L 2)))
	     (PROG ((V (ARG L L))
		    (I L))
	       LP  (COND
		     ((ZEROP (SETQ I (SUB1 I)))
		       (RETURN V))
		     (T (SETQ V (APPEND2 (ARG L I)
					 V))
			(GO LP])

(APPEND2
  [LAMBDA (X Y)                    (* lmm: 2-JUL-76 4 1)
    (COND
      ((NLISTP X)
	Y)
      (T (CONS (CAR X)
	       (APPEND2 (CDR X)
			Y])

(!ASSOC
  [LAMBDA (KEY LST)                (* lmm: 6-JUL-76 20 11)
                                   (* BYTECODE)
    (COND
      ((NLISTP LST)
	NIL)
      ((EQ KEY (CAAR LST))
	(CAR LST))
      (T (!ASSOC KEY (CDR LST])

(!ATTACH
  [LAMBDA (X LST)                  (* MSOPVAL COPY CAR COPY1 CDR CONS RPLACD SWAP FRPLACA)
    (RPLNODE LST X (CONS (CAR LST)
			 (CDR LST])

(!CHANGEPROP
  [LAMBDA (X PROP1 PROP2)          (* FMEMB !!! UGH)
    (COND
      ((SETQ PROP1 (FMEMB PROP1 (GETPROPLIST X)))
	(FRPLACA PROP1 PROP2)
	X])

(!COPY
  [LAMBDA (X)                      (* lmm: 6-JUL-76 20 12)
                                   (* COLLECT?)
    (COND
      ((NLISTP X)
	X)
      (T (CONS (!COPY (CAR X))
	       (!COPY (CDR X])

(!DEFLIST
  [LAMBDA (L PROP)                 (* lmm: 6-JUL-76 20 12)
    (COND
      ((NLISTP L)
	NIL)
      (T (PUTPROP (CAAR L)
		  PROP
		  (CADAR L))
	 (!DEFLIST (CDR L)
		   PROP])

(!DREMOVE
  [LAMBDA (X L)                    (* lmm: 6-JUL-76 20 12)
    (COND
      ((NLISTP L)
	NIL)
      [(EQ X (CAR L))
	(COND
	  ((CDR L)
	    (!DREMOVE X (FRPLNODE L (CADR L)
				  (CDDR L]
      (T                           (* GET RID OF PROG AND RECURSE?)
	 (PROG (Z)
	       (DECLARE (LOCALVARS Z))
	       (SETQ Z L)
	   LP  [COND
		 ((NLISTP (CDR L))
		   (RETURN Z))
		 ((EQ X (CADR L))
		   (FRPLACD L (CDDR L)))
		 (T (SETQ L (CDR L]
	       (GO LP])

(!DREVERSE
  [LAMBDA (L)
    (DREV L NIL])

(DREV
  [LAMBDA (L Z)                    (* lmm: "10-AUG-76 02:42:29")
    (PROG (Y)
      R1  (COND
	    ((NLISTP (SETQ Y L))
	      (RETURN Z)))
          (SETQ L (CDR L))
          (SETQ Z (FRPLACD Y Z))
          (GO R1])

(!DSUBST
  [LAMBDA (X Y Z)                  (* lmm: 2-JUL-76 17 20)
    (COND
      ((EQ Y Z)
	(COPY X))
      ((NLISTP Z)
	Z)
      (T [COND
	   ((EQUAL Y (CAR Z))
	     (FRPLACA Z (COPY X)))
	   (T (!DSUBST X Y (CAR Z]
	 (COND
	   ((AND Y (EQUAL Y (CDR Z)))
	     (FRPLACD Z (COPY X)))
	   (T (!DSUBST X Y (CDR Z))
	      Z])

(!EVERY
  [LAMBDA (EVERYX EVERYFN1 EVERYFN2)
    (COND
      ((NLISTP EVERYX)
	T)
      ((NULL (APPLY* EVERYFN1 (CAR EVERYX)
		     EVERYX))
	NIL)
      (T (!EVERY (APPLY* (OR EVERYFN2 (QUOTE CDR))
			 EVERYX)
		 EVERYFN1 EVERYFN2])

(!GETP
  [LAMBDA (ATM PROP)               (* HAS BYTE CODE)
    (AND (LITATOM ATM)
	 (PROG NIL
	       (SETQ ATM (GETPROPLIST ATM))
	   LOOP[COND
		 ((OR (NLISTP ATM)
		      (NLISTP (CDR ATM)))
		   (RETURN NIL))
		 ((EQ (CAR ATM)
		      PROP)
		   (RETURN (CADR ATM]
	       (SETQ ATM (CDDR ATM))
	       (GO LOOP])

(!INTERSECTION
  [LAMBDA (X Y)                    (* lmm: 6-JUL-76 20 8)
    (AND (LISTP X)
	 (COND
	   ([AND (MEMBER (CAR X)
			 Y)
		 (NOT (MEMBER (CAR X)
			      (CDR X]
	     (CONS (CAR X)
		   (!INTERSECTION (CDR X)
				  Y)))
	   (T (!INTERSECTION (CDR X)
			     Y])

(!LAST
  [LAMBDA (X)                      (* BYTE CODE)
    (COND
      ((NLISTP X)
	X)
      ((NLISTP (CDR X))
	X)
      (T (!LAST (CDR X])

(!LASTN
  [LAMBDA (L N)
    (AND (LISTP L)                 (* UGH! NCONC1 SHOULD BE COLLECT)
	 (PROG ((X (FNTH L N))
		Y)
	       (COND
		 ((NULL X)
		   (RETURN)))
	   LP  [COND
		 ((NULL (SETQ X (CDR X)))
		   (RETURN (CONS Y L]
	       (SETQ Y (NCONC1 Y (CAR L)))
	       (SETQ L (CDR L))
	       (GO LP])

(!LDIFF
  [LAMBDA (X Y Z)                  (* lmm: 6-JUL-76 20 10)
    (COND
      ((EQ X Y)
	Z)
      (Z (NCONC Z (!LDIFF X Y)))
      ((NULL Y)
	X)
      ((NLISTP X)
	(ERROR (QUOTE "LDIFF: not a tail")
	       Y))
      (T (CONS (CAR X)
	       (!LDIFF (CDR X)
		       Y])

(!LENGTH
  [LAMBDA (L)                      (* BYTE CODE)
    (COND
      ((NLISTP L)
	0)
      (T (ADD1 (LENGTH (CDR L])

(!LISTGET
  [LAMBDA (LST PROP)               (* lmm: 6-JUL-76 20 13)
                                   (* BYTE CODE)
                                   (* like getp but works on lists, searching them two cdrs at a time.)
    (AND (LISTP LST)
	 (COND
	   ((EQ PROP (CAR LST))
	     (CADR LST))
	   (T (!LISTGET (CDDR LST)
			PROP])

(!LSUBST
  [LAMBDA (X Y Z)                  (* lmm: 2-JUL-76 16 25)

          (* Substitutes X as a segment for Y in Z. E.g. !LSUBST ((A B) Y (X Y Z)) is (X A B Z) not meaningful for Y an atom 
	  and CDR of a list. if X is NIL, operation effectively deletes Y, i.e. produces a copy without Y in it.)


    (COND
      ((NULL Z)
	NIL)
      ((NLISTP Z)
	(COND
	  ((EQ Y Z)
	    X)
	  (T Z)))
      [(EQUAL Y (CAR Z))
	(NCONC (COPY X)
	       (!LSUBST X Y (CDR Z]
      (T (CONS (!LSUBST X Y (CAR Z))
	       (!LSUBST X Y (CDR Z])

(!MAP
  [LAMBDA (MAPX MAPFN1 MAPFN2)     (* lmm: 6-JUL-76 20 5)
    (COND
      ((NLISTP MAPX)
	NIL)
      (T (APPLY* MAPFN1 MAPX)
	 (!MAP (COND
		 (MAPFN2 (APPLY* MAPFN2 MAPX))
		 (T (CDR MAPX)))
	       MAPFN1 MAPFN2])

(!GET
  [LAMBDA (LST PROP)               (* GIVE IT A MACRO)
    (CADR (MEMB PROP LST])

(!GETLIS
  [LAMBDA (X PROPS)
    (PROG [(Z (COND
		((LITATOM X)
		  (GETPROPLIST X))
		(T X]
      LP  (COND
	    ((OR (NLISTP Z)
		 (FMEMB (CAR Z)
			PROPS))
	      (RETURN Z)))
          (SETQ Z (CDR Z))
          (GO LP])

(!MEMB
  [LAMBDA (X Y)                    (* lmm: 6-JUL-76 20 15)
    (COND
      ((NLISTP Y)
	NIL)
      ((EQ X (CAR Y))
	Y)
      (T (!MEMB X (CDR Y])

(!NTH
  [LAMBDA (X N)
    (COND
      ((IGREATERP 1 N)
	(CONS NIL X))
      (T (PROG NIL
	   LP  (COND
		 ((NOT (IGREATERP N 1))
		   (RETURN X))
		 ((NLISTP X)
		   (RETURN NIL)))
	       (SETQ X (CDR X))
	       (SETQ N (SUB1 N))
	       (GO LP])

(.COLLCT
  [LAMBDA (X Y)                    (* lmm: 28-JUN-76 12 45)
    (COLLCT X Y])

(.ENDCOLLCT
  [LAMBDA (Y)                      (* lmm: 28-JUN-76 12 44)
    (ENDCOLLCT Y])

(MYAPPEND1
  [LAMBDA (X Y)                    (* lmm: "14-AUG-76 22:32:20")
    (COND
      ((NLISTP X)
	Y)
      (T (CONS (CAR X)
	       (MYAPPEND1 (CDR X)
			  Y])

(MYAPPEND2
  [LAMBDA (X Y)                    (* lmm: 30-JUN-76 16 57)
    (PROG (V)
      LP  (COND
	    ((NLISTP X)
	      (RETURN (ENDCOLLCT V Y)))
	    (T (SETQ V (COLLCT V (CAR X)))
	       (SETQ X (CDR X))
	       (GO LP])

(COLLCT
  [LAMBDA (LST NEWITEM)            (* lmm: 28-JUN-76 10 47)
    (COND
      ((NULL LST)
	(RPLACD (SETQ LST (LIST NEWITEM))
		LST))
      (T (CDR (RPLACD LST (CONS NEWITEM (CDR LST])

(ENDCOLLCT
  [LAMBDA (X Y)                    (* lmm: 30-JUN-76 16 19)
    (PROG1 (CDR X)
	   (FRPLACD X Y])

(.ATTACH
  [LAMBDA (X Y)                    (* lmm: 28-JUN-76 13 10)
    (ATTACH X Y])

(.APPEND0
  [LAMBDA NIL                      (* lmm: 2-JUL-76 14 22)
    (APPEND])

(.APPEND1
  [LAMBDA (X)                      (* lmm: 2-JUL-76 14 23)
    (APPEND X])

(.APPEND2
  [LAMBDA (X Y)                    (* lmm: 2-JUL-76 14 23)
    (APPEND X Y])

(.APPEND3
  [LAMBDA (X Y Z)                  (* lmm: 2-JUL-76 14 23)
    (APPEND X Y Z])

(.APPEND4
  [LAMBDA (X Y Z W)                (* lmm: 2-JUL-76 14 23)
    (APPEND X Y Z W])

(.MAPCGETP
  [LAMBDA (AT PROP FN)             (* lmm: 7-JUL-76 1 22)
    (MAPC (GETP AT PROP)
	  (FUNCTION (LAMBDA (X)
	      (APPLY* FN X])
)

(RPAQQ TESTMISC ((TESTVALS (PROGN (SETQ TESTATOM 3)
				  (!ADD1VAR TESTATOM)
				  TESTATOM)
			   4
			   (PROGN (SETQ GLOBAL.A)
				  (!ADDTOVAR GLOBAL.A B C D E)
				  GLOBAL.A)
			   (QUOTE (B C D E))
			   (PROGN (SETQ GLOBAL.A (QUOTE (X Y Z)))
				  (!ADDTOVAR GLOBAL.A X Z Y B)
				  GLOBAL.A)
			   (QUOTE (B X Y Z))
			   (!APPEND (QUOTE (A B C))
				    (QUOTE (D E F))
				    (QUOTE (G H I)))
			   (QUOTE (A B C D E F G H I))
			   (!APPEND (QUOTE (A B C)))
			   (QUOTE (A B C))
			   [!ASSOC 0 (QUOTE ((3 . 2)
					     (0 . 1]
			   (QUOTE (0 . 1))
			   [!ASSOC 3 (QUOTE ((1 . 2)
					     (2 . 3]
			   NIL
			   (!ATTACH NIL T)
			   (QUOTE (ERRORX 4 T))
			   (!ATTACH (QUOTE A)
				    (LIST 1 2 3))
			   (QUOTE (A 1 2 3))
			   [PROGN (SETPROPLIST (QUOTE TESTATOM)
					       (LIST 1 2 3 4))
				  (!CHANGEPROP (QUOTE TESTATOM)
					       (QUOTE 3)
					       (QUOTE 10))
				  (LIST (!GETP (QUOTE TESTATOM)
					       3)
					(!GETP (QUOTE TESTATOM)
					       10)
					(!GETP (QUOTE TESTATOM)
					       1)
					(GETPROPLIST (QUOTE TESTATOM]
			   (QUOTE (NIL 4 2 (1 2 10 4)))
			   (!COPY (QUOTE (A 1 1.3 "FOO" . XX)))
			   (QUOTE (A 1 1.3 "FOO" . XX))
			   [!COPY (QUOTE ((A . 3)
					  (B C 10 3 . 10]
			   (QUOTE ((A . 3)
				   (B C 10 3 . 10)))
			   (!DREMOVE 3 (LIST 3 1 3 5 7))
			   (QUOTE (1 5 7))
			   [!DSUBST 3 10 (!COPY (QUOTE ((A . 3)
							(B C 10 3 . 10)
							(10 . A) . A]
			   (QUOTE ((A . 3)
				   (B C 3 3 . 3)
				   (3 . A) . A))
			   (!EVERY (QUOTE (1 NIL 2 NIL 4 NIL))
				   (QUOTE SMALLP)
				   (QUOTE CDDR))
			   T
			   (!EVERY (QUOTE (A B C . 3))
				   (QUOTE LITATOM))
			   T
			   (!EVERY (QUOTE (1 2 3 A))
				   (QUOTE SMALLP))
			   NIL
			   (!GET (QUOTE (A B C D E))
				 (QUOTE A))
			   (QUOTE B)
			   (!GET (QUOTE (A B C D E))
				 (QUOTE B))
			   (QUOTE C)
			   (!GETLIS (QUOTE (A B C D E))
				    (QUOTE (1 3 B)))
			   (QUOTE (B C D E))
			   [PROGN (!DEFLIST (QUOTE ((FOO FIE)
						    (FUM FEE)))
					    (QUOTE PROPNAME))
				  (LIST (GETP (QUOTE FOO)
					      (QUOTE PROPNAME))
					(GETP (QUOTE FUM)
					      (QUOTE PROPNAME]
			   (QUOTE (FIE FEE))
			   (LIST (!DREVERSE (SETQ A (LIST 1 2 3 4 5)))
				 A)
			   (QUOTE ((5 4 3 2 1)
				   (1)))
			   (!GET (QUOTE (A B C . D))
				 (QUOTE A))
			   (QUOTE B)
			   (!INTERSECTION (QUOTE (1 3 2 4))
					  (QUOTE (4 2 1)))
			   (QUOTE (1 2 4))
			   [LIST (!LAST 3)
				 (!LAST (QUOTE (A . B)))
				 (!LAST (QUOTE (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 1 
						  2 3 4 5 6 7 8 9 0 ! @ # $ %% ~ & * %( %) - = + \ %| 
						  %[ %] { } ← ↑ : ; ' %" , < > %. ? / END]
			   (QUOTE (3 (A . B)
				     (END)))
			   (!LASTN (LIST 1 2 3 4 5)
				   1)
			   (QUOTE ((1 2 3 4)
				   5))
			   (!LASTN (LIST 1 2 3)
				   0)
			   (QUOTE ((1 2 3)))
			   (!LDIFF (SETQ A (QUOTE (A B C D E F G H)))
				   (!NTH A 4))
			   (QUOTE (A B C))
			   (!LENGTH T)
			   0
			   (!LENGTH (QUOTE (A B C D E F)))
			   6
			   (!LISTGET (QUOTE (A B C D))
				     (QUOTE B))
			   NIL
			   (!LISTGET (QUOTE (A B C D E))
				     (QUOTE A))
			   (QUOTE B)
			   [!LSUBST (QUOTE (A B C))
				    (QUOTE D)
				    (!COPY (QUOTE ((3 . D)
						   (D . 3)
						   (X D Y]
			   (QUOTE ((3 A B C)
				   (A B C . 3)
				   (X A B C Y)))
			   (PROG ((V 0))
				 (RETURN (LIST [!MAP (QUOTE (1 2 3 4))
						     (FUNCTION (LAMBDA (X)
								       (SETQ V (IPLUS V (CAR X]
					       V)))
			   (QUOTE (NIL 10)))
	(TESTVALS (ENDCOLLCT (COLLCT (COLLCT (COLLCT NIL (QUOTE A))
					     10)
				     14))
		  (QUOTE (A 10 14))
		  (ENDCOLLCT (.COLLCT (.COLLCT (.COLLCT NIL (QUOTE A))
					       10)
				      14))
		  (QUOTE (A 10 14))
		  (.ENDCOLLCT (.COLLCT (.COLLCT (.COLLCT NIL (QUOTE A))
						10)
				       14))
		  (QUOTE (A 10 14))
		  (MYAPPEND1 (QUOTE (A B C))
			     (QUOTE (D E F)))
		  (QUOTE (A B C D E F))
		  (MYAPPEND2 (LIST 1 2 3)
			     (LIST 4 5 6))
		  (QUOTE (1 2 3 4 5 6))
		  (.ATTACH 1 (LIST 2 3 4 5))
		  (QUOTE (1 2 3 4 5))
		  (.APPEND1 (QUOTE (A B C)))
		  (QUOTE (A B C))
		  (.APPEND2 (QUOTE (A B C))
			    (QUOTE (D E F)))
		  (QUOTE (A B C D E F))
		  (.APPEND3 (QUOTE (A B))
			    (QUOTE (C D))
			    (QUOTE (E F)))
		  (QUOTE (A B C D E F))
		  (.APPEND4 (QUOTE (A B))
			    NIL
			    (QUOTE (C D))
			    NIL)
		  (QUOTE (A B C D))
		  (PROG ((S 0))
			(PUT (QUOTE A)
			     (QUOTE B)
			     (QUOTE (1 2 3 4 5)))
			[.MAPCGETP (QUOTE A)
				   (QUOTE B)
				   (FUNCTION (LAMBDA (X)
						     (SETQ S (IPLUS X S]
			(RETURN S))
		  15)))
(DEFINEQ

(.MAP
  [LAMBDA (X Y Z)                  (* lmm: " 6-OCT-76 12:04:14")
    (LIST 1 (PROG ((C 0))
	          [MAP X (FUNCTION (LAMBDA (Y)
			   (SETQ C (IPLUS (LENGTH Y)
					  C]
	          (RETURN C))
	  7])

(.MAPC
  [LAMBDA (X Y Z)
    (LIST 1 (PROG ((C 0))
	          [MAPC X (FUNCTION (LAMBDA (Y)
			    (SETQ C (IPLUS Y C]
	          (RETURN C))
	  (COND
	    ((PROG ((C 0))
	           [MAPC X (FUNCTION (LAMBDA (Y)
			     (SETQ C (IPLUS Y C]
	           (RETURN C))
	      2)
	    ((NOT (PROG ((C 0))
		        [MAPC X (FUNCTION (LAMBDA (Y)
				  (SETQ C (IPLUS Y C]
		        (RETURN C)))
	      3)
	    (T 4))
	  (OR (PROG ((C 0))
		    [MAPC X (FUNCTION (LAMBDA (Y)
			      (SETQ C (IPLUS Y C]
		    (RETURN C))
	      5)
	  (AND (PROG ((C 0))
		     [MAPC X (FUNCTION (LAMBDA (Y)
			       (SETQ C (IPLUS Y C]
		     (RETURN C))
	       6)
	  (PROGN (PROG ((C 0))
		       [MAPC X (FUNCTION (LAMBDA (Y)
				 (SETQ C (IPLUS Y C]
		       (RETURN C))
		 7])

(.MAPCEFF
  [LAMBDA (X Y Z)                  (* lmm: " 6-OCT-76 14:54:07")
    (LIST 1 (PROGN (PROG ((C 0))
		         [MAPC X (FUNCTION (LAMBDA (Y)
				   (SETQ C (IPLUS Y C]
		         (RETURN C))
		   7])
)

(RPAQQ TESTMAP [(TESTVALS (.MAP)
			  (QUOTE (1 0 7))
			  (.MAP (QUOTE (1 2 3 4 5)))
			  (QUOTE (1 15 7)))
		(TESTVALS (.MAPC (QUOTE (1 2 3 4)))
			  (QUOTE (1 10 2 10 6 7))
			  (.MAPCEFF)
			  (QUOTE (1 7])
(DEFINEQ

(.FPLUS
  [LAMBDA (X Y)                    (* lmm: 22-JUN-76 0 39)
                                   (* subr)
    (FPLUS X Y])

(.FTIMES
  [LAMBDA (X Y)                    (* lmm: 22-JUN-76 0 40)
                                   (* SUBR*)
                                   (* lmm: 22-JUN-76 0 36)
    (FTIMES X Y])

(.FDIFFERENCE
  [LAMBDA (X Y)                    (* lmm: 22-JUN-76 0 40)
                                   (* CEXPR)
    (FDIFFERENCE X Y])

(.FQUOTIENT
  [LAMBDA (X Y)                    (* lmm: 22-JUN-76 0 40)
    (FQUOTIENT X Y])
)

(RPAQQ TESTLINK ((TESTIFSAME (.FPLUS FPLUS 2 10)
			     (.FTIMES FTIMES 3 5)
			     (.FDIFFERENCE FDIFFERENCE 4.5 7.9)
			     (.FQUOTIENT FQUOTIENT 4.5 10.3))))
(DEFINEQ

(NONLOCALGO
  [LAMBDA (A B C)                  (* lmm: 28-JUN-76 14 9)
    (LIST -2 -1 (PROG ((C 1)
		       (D 2)
		       (E 3)
		       F)
		      (SETQ F (LIST C D E))
		      [RETURN (PROG ((G 13)
				     (H 14)
				     (I 15))
				    (RETURN (LIST G H I (PROG ((I H)
							       (H I))
							      (COND
								(F (GO POPOUT)))
							      (RETURN (LIST I H]
		  POPOUT
		      (RETURN (LIST D E F])

(CNTDWN
  [LAMBDA (X)                                                (* lmm: 21-JUN-76 3 54)
    (PROG NIL
      LP  (SELECTQ X
		   (0 (RETURN))
		   (PROGN (SETQ X (SUB1 X))
			  (GO LP])

(JUMPAROUND
  [LAMBDA NIL                      (* lmm: 22-JUN-76 1 23)
    (COND
      (NIL T)
      (T NIL])
)

(RPAQQ TESTJUMP ([TESTVALS (NONLOCALGO)
			   (QUOTE (-2 -1 (2 3 (1 2 3]
		 (TESTVALS (CNTDWN 0)
			   NIL)
		 (TESTVALS (CNTDWN 20)
			   NIL)))
(DEFINEQ

(FN2
  [LAMBDA (X Y)                    (* lmm: 19-JUN-76 2 6)
    (LIST3 X Y])

(FN3
  [LAMBDA (X Y Z)                  (* lmm: 19-JUN-76 1 53)
    (LIST3 X Y Z])

(FN1
  [LAMBDA (X)                      (* lmm: 19-JUN-76 2 8)
    (LIST3 X])

(.IVAR
  [LAMBDA (A B C D E F G H I J K L M N O)
                                   (* lmm: 19-JUN-76 2 12)
    (IVAR A B C D E F G H I J K L M N O])
)

(RPAQQ TESTFNX [(TESTVALS (FN3 1 2 3)
			  (QUOTE (1 2 3))
			  (FN2 1 2)
			  (QUOTE (1 2 NIL))
			  (FN1 1)
			  (QUOTE (1 NIL NIL))
			  (.IVAR 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)
			  (QUOTE (1 2 3 4 5 6 7 8 9 10 11 12 13 14 15])
(DEFINEQ

(.GETP
  [LAMBDA (X Y)
    (GETP X Y])

(.GETPROP
  [LAMBDA (X Y)
    (GETPROP X Y])

(.RPLACA
  [LAMBDA (X Y)                    (* lmm: 18-JUN-76 14 22)
    (RPLACA X Y])

(.RPLACD
  [LAMBDA (X Y)                    (* lmm: 18-JUN-76 14 22)
    (RPLACD X Y])

(.FRPLACA
  [LAMBDA (X Y)                    (* lmm: 18-JUN-76 14 46)
    (FRPLACA X Y])

(.GET
  [LAMBDA (X Y)                    (* lmm " 7-FEB-82 09:31")
    (LISTGET X Y])

(.FRPLACD
  [LAMBDA (X Y)                    (* lmm: 18-JUN-76 14 47)
    (FRPLACD X Y])

(.ASSOC
  [LAMBDA (X Y)
    (ASSOC X Y])

(.LENGTH
  [LAMBDA (X)
    (LENGTH X])

(.LAST
  [LAMBDA (X)
    (LAST X])

(.GETHASH
  [LAMBDA (X Y)
    (GETHASH X Y])

(.FMEMB
  [LAMBDA (X Y)
    (FMEMB X Y])
)

(RPAQQ TESTFN [[SETPROPLIST (PUTHASH 1 (QUOTE TESTATOM)
				     (SETQ TARRAY (HARRAY 10)))
			    (PUTHASH 3 (QUOTE (A (B)
						 C D E F G (H]
	       (SETQQ LONGLIST TESTATOM)
	       (RPTQ 2048 (SETQ LONGLIST (CONS T LONGLIST)))
	       (TESTIFSAME (.GETP GETP (QUOTE TESTATOM)
				  (QUOTE A))
			   (.GETPROP GETP (QUOTE TESTATOM)
				     (QUOTE B))
			   (.GETP GETP 3 NIL)
			   (.RPLACA RPLACA (CONS (QUOTE A)
						 (QUOTE B))
				    (QUOTE C))
			   (.RPLACA RPLACA NIL T)
			   (.RPLACA RPLACA NIL NIL)
			   (.RPLACA RPLACA "foo" "fum")
			   (.RPLACD RPLACD (CONS (QUOTE A)
						 (QUOTE B))
				    (QUOTE C))
			   (.FRPLACA FRPLACA (CONS (QUOTE A)
						   (QUOTE B))
				     (QUOTE C))
			   (.FRPLACD FRPLACD (CONS (QUOTE A)
						   (QUOTE B))
				     (QUOTE C))
			   (.GET LISTGET (QUOTE (A B C . 3))
				 (QUOTE C))
			   (.GET LISTGET (QUOTE (A B C . TESTATOM))
				 (QUOTE A))
			   (.GET LISTGET (QUOTE (A B C . TESTATOM))
				 (QUOTE D))
			   (.GET LISTGET (QUOTE TESTATOM)
				 (QUOTE D))
			   (.LENGTH LENGTH (QUOTE (1 3 . 4)))
			   (.LENGTH LENGTH LONGLIST)
			   (.ASSOC ASSOC (QUOTE ((A . B)
						 (C . D)))
				   (QUOTE A))
			   (.ASSOC ASSOC (QUOTE TESTATOM)
				   (QUOTE H))
			   (.LAST LAST LONGLIST)
			   (.GETHASH GETHASH 3)
			   (.GETHASH GETHASH 1 TARRAY)
			   (.FGETD FGETD (QUOTE RECLAIM))
			   (.FGETD FGETD (QUOTE .FGETD))
			   (.FMEMB FMEMB (QUOTE A)
				   (QUOTE (D B C A)))
			   (.FMEMB FMEMB (QUOTE A)
				   (QUOTE (D B C])

(RPAQQ TESTEDIT [(TESTVALS [EDITE (LIST 1 2 3 4)
				  (QUOTE ((1)
					  (N 5)
					  (2 (F (G H)))
					  F F (SW 1 2)
					  ↑ F H !0 (1 P]
			   (QUOTE (2 ((P H)
				      F)
				     4 5])
(DEFINEQ

(.CONS
  [LAMBDA (A B)
    (CONS A B])

(LIST0
  [LAMBDA NIL                      (* lmm: 21-JUN-76 15 57)
    (LIST])

(LIST1
  [LAMBDA (X)
    (LIST X])

(LIST2
  [LAMBDA (A B)
    (LIST A B])

(LIST3
  [LAMBDA (X Y Z)
    (LIST X Y Z])

(LIST4
  [LAMBDA (A B C D)                (* lmm: 21-JUN-76 15 56)
    (LIST A B C D])

(LIST5
  [LAMBDA (A B C D E)              (* lmm: 21-JUN-76 15 56)
    (LIST A B C D E])

(LIST6
  [LAMBDA (A B C D E F)            (* lmm: 21-JUN-76 15 57)
    (LIST A B C D E F])

(LIST7
  [LAMBDA (A B C D E F G)          (* lmm: 21-JUN-76 15 57)
    (LIST A B C D E F G])

(LIST8
  [LAMBDA (A B C D E F G H)        (* lmm: 21-JUN-76 15 57)
    (LIST A B C D E F G H])

(LIST9
  [LAMBDA (A B C D E F G H I)      (* lmm: 21-JUN-76 15 57)
    (LIST A B C D E F G H I])

(LIST10
  [LAMBDA (A B C D E F G H I J)    (* lmm: 25-JUN-76 5 18)
    (LIST A B C D E F G H I J])

(LIST11
  [LAMBDA (A B C D E F G H I J K)
                                   (* lmm: 25-JUN-76 5 19)
    (LIST A B C D E F G H I J K])

(LIST12
  [LAMBDA (A B C D E F G H I J K L)
                                   (* lmm: 28-JUN-76 8 3)
    (LIST A B C D E F G H I J K L])

(LIST13
  [LAMBDA (A B C D E F G H I J K L M)
                                   (* lmm: 28-JUN-76 8 3)
    (LIST A B C D E F G H I J K L M])
)

(RPAQQ TESTCONS [(TESTVALS (.CONS 10 12)
			   (QUOTE (10 . 12))
			   (LIST0)
			   NIL
			   (LIST1 1)
			   (QUOTE (1))
			   (LIST2 1 2)
			   (QUOTE (1 2))
			   (LIST3 1 2 3)
			   (QUOTE (1 2 3))
			   (LIST4 1 2 3 4)
			   (QUOTE (1 2 3 4))
			   (LIST5 1 2 3 4 5)
			   (QUOTE (1 2 3 4 5))
			   (LIST6 1 2 3 4 5 6)
			   (QUOTE (1 2 3 4 5 6))
			   (LIST7 1 2 3 4 5 6 7)
			   (QUOTE (1 2 3 4 5 6 7))
			   (LIST8 1 2 3 4 5 6 7 8)
			   (QUOTE (1 2 3 4 5 6 7 8))
			   (LIST9 1 2 3 4 5 6 7 8 9)
			   (QUOTE (1 2 3 4 5 6 7 8 9))
			   (LIST10 10 9 8 7 6 5 4 3 2 1)
			   (QUOTE (10 9 8 7 6 5 4 3 2 1))
			   (LIST11 1 2 6 3 7 4 8 5 9 10 11)
			   (QUOTE (1 2 6 3 7 4 8 5 9 10 11])
(DEFINEQ

(.CAR
  [LAMBDA (X)
    (CAR X])

(.CDR
  [LAMBDA (X)
    (CDR X])

(.CAAR
  [LAMBDA (X)
    (CAAR X])

(.CDAR
  [LAMBDA (X)
    (CDAR X])

(.CADR
  [LAMBDA (X)
    (CADR X])

(.CDDR
  [LAMBDA (X)
    (CDDR X])

(.CAAAAR
  [LAMBDA (X)                      (* lmm: 19-JUN-76 20 57)
    (CAR (CAAR (CAR X])
)

(RPAQQ TESTCAR ((TESTVALS (.CAR (QUOTE (A)))
			  (QUOTE A)
			  (.CDR (QUOTE (A . B)))
			  (QUOTE B)
			  [.CAAR (QUOTE ((A]
			  (QUOTE A)
			  [.CDAR (QUOTE ((A . B]
			  (QUOTE B)
			  (.CADR (QUOTE (A B)))
			  (QUOTE B)
			  (.CDDR (QUOTE (A B . C)))
			  (QUOTE C)
			  [.CAAAAR (QUOTE ((((A]
			  (QUOTE A))))
(DEFINEQ

(.LAM0
  [LAMBDA NIL
    (LAM0])

(..LAM0
  [LAMBDA NIL
    (LAM0 T T T T T T])

(.LAM1
  [LAMBDA NIL
    (LAM1])

(..LAM1
  [LAMBDA NIL
    (LAM1 -372 "extra args" "should be ignored"])

(.NLAML
  [LAMBDA NIL
    (NLAML the NLAMBDA bit should make no difference])

(LAM1LOC
  [LAMBDA (X)
    (DECLARE (LOCALVARS X))
    X])
)

(RPAQQ TESTCALL ((TESTVALS (LAM0)
			   NIL
			   (.LAM0)
			   NIL
			   (LAM0 T T T T T)
			   NIL
			   (..LAM0)
			   NIL
			   (LAM1)
			   NIL
			   (.LAM1)
			   NIL
			   (LAM1 -372 "extra args" "should be ignored")
			   -372
			   (..LAM1)
			   -372
			   (NLAML the NLAMBDA bit should make no difference)
			   (QUOTE the)
			   (.NLAML)
			   (QUOTE the)
			   (LAM1LOC)
			   NIL
			   (LAM1LOC 341)
			   341
			   (LAM1LOC 27 28 29)
			   27)))
(DEFINEQ

(.PROGS
  [LAMBDA (X Y Z)                  (* lmm: " 3-OCT-76 06:44:35")
    (LIST 1 [PROG (X (Y (CDR Y)))
	      LPX (RETURN (LIST 3 (COND
				  (X (SETQ Z X)
				     (SETQ X)
				     (GO LPX))
				  (Y (SETQ Y NIL)
				     (RETURN 17))
				  (T (LIST Z]
	  (COND
	    ([PROG (X (Y (CDR Y)))
	       LPX (RETURN (LIST 3 (COND
				   (X (SETQ Z X)
				      (SETQ X)
				      (GO LPX))
				   (Y (SETQ Y NIL)
				      (RETURN 17))
				   (T (LIST Z]
	      2)
	    ([NOT (PROG (X (Y (CDR Y)))
		    LPX (RETURN (LIST 3 (COND
					(X (SETQ Z X)
					   (SETQ X)
					   (GO LPX))
					(Y (SETQ Y NIL)
					   (RETURN 17))
					(T (LIST Z]
	      3)
	    (T 4))
	  (OR [PROG (X (Y (CDR Y)))
		LPX (RETURN (LIST 3 (COND
				    (X (SETQ Z X)
				       (SETQ X)
				       (GO LPX))
				    (Y (SETQ Y NIL)
				       (RETURN 17))
				    (T (LIST Z]
	      5)
	  (AND [PROG (X (Y (CDR Y)))
		 LPX (RETURN (LIST 3 (COND
				     (X (SETQ Z X)
					(SETQ X)
					(GO LPX))
				     (Y (SETQ Y NIL)
					(RETURN 17))
				     (T (LIST Z]
	       6)
	  (PROGN [PROG (X (Y (CDR Y)))
		   LPX (RETURN (LIST 3 (COND
				       (X (SETQ Z X)
					  (SETQ X)
					  (GO LPX))
				       (Y (SETQ Y NIL)
					  (RETURN 17))
				       (T (LIST Z]
		 7])

(.SPEC
  [LAMBDA (X Y Z)
    (LIST 1 [IDIFFERENCE (CONSCOUNT)
			 (PROG (LISPXHIST)
			       (DECLARE (LOCALVARS . T))
			       (/RPLACA X NIL)
			       (RETURN (CONSCOUNT]
	  (COND
	    ([IDIFFERENCE (CONSCOUNT)
			  (PROG (LISPXHIST)
			        (DECLARE (LOCALVARS . T))
			        (/RPLACA X NIL)
			        (RETURN (CONSCOUNT]
	      2)
	    ([NOT (IDIFFERENCE (CONSCOUNT)
			       (PROG (LISPXHIST)
				     (DECLARE (LOCALVARS . T))
				     (/RPLACA X NIL)
				     (RETURN (CONSCOUNT]
	      3)
	    (T 4))
	  (OR [IDIFFERENCE (CONSCOUNT)
			   (PROG (LISPXHIST)
			         (DECLARE (LOCALVARS . T))
			         (/RPLACA X NIL)
			         (RETURN (CONSCOUNT]
	      5)
	  (AND [IDIFFERENCE (CONSCOUNT)
			    (PROG (LISPXHIST)
			          (DECLARE (LOCALVARS . T))
			          (/RPLACA X NIL)
			          (RETURN (CONSCOUNT]
	       6)
	  (PROGN [IDIFFERENCE (CONSCOUNT)
			      (PROG (LISPXHIST)
				    (DECLARE (LOCALVARS . T))
				    (/RPLACA X NIL)
				    (RETURN (CONSCOUNT]
		 7])

(.COND
  [LAMBDA (X Y Z)
    (LIST 1 (COND
	    (X 1)
	    ((NULL X)
	      2)
	    (T 3))
	  (COND
	    ((COND
		(X 1)
		((NULL X)
		  2)
		(T 3))
	      2)
	    ((NOT (COND
		    (X 1)
		    ((NULL X)
		      2)
		    (T 3)))
	      3)
	    (T 4))
	  (OR (COND
		(X 1)
		((NULL X)
		  2)
		(T 3))
	      5)
	  (AND (COND
		 (X 1)
		 ((NULL X)
		   2)
		 (T 3))
	       6)
	  (PROGN (COND
		   (X 1)
		   ((NULL X)
		     2)
		   (T 3))
		 7])

(.DELBIND
  [LAMBDA (X Y Z)
    (LIST 1 [PROG NIL
	          (RETURN (LIST 10 (COND
				  (X (RETURN 11]
	  (COND
	    ([PROG NIL
	           (RETURN (LIST 10 (COND
				   (X (RETURN 11]
	      2)
	    ([NOT (PROG NIL
		        (RETURN (LIST 10 (COND
					(X (RETURN 11]
	      3)
	    (T 4))
	  (OR [PROG NIL
		    (RETURN (LIST 10 (COND
				    (X (RETURN 11]
	      5)
	  (AND [PROG NIL
		     (RETURN (LIST 10 (COND
				     (X (RETURN 11]
	       6)
	  (PROGN [PROG NIL
		       (RETURN (LIST 10 (COND
				       (X (RETURN 11]
		 7])
)

(RPAQQ TESTC2 [(TESTVALS (.SPEC (QUOTE (NIL)))
			 (QUOTE (1 0 2 0 6 7)))
	       (TESTVALS (.COND 3)
			 (QUOTE (1 1 2 1 6 7))
			 (.COND)
			 (QUOTE (1 2 2 2 6 7)))
	       (TESTVALS (.DELBIND)
			 (QUOTE (1 (10 NIL)
				   2
				   (10 NIL)
				   6 7))
			 (.DELBIND 10)
			 (QUOTE (1 11 2 11 6 7])
(DEFINEQ

(T1
  [LAMBDA (X)
    1])

(T0
  [LAMBDA (X)
    0])

(TT
  [LAMBDA (X)
    T])

(TNIL
  [LAMBDA (X)
    NIL])

(T-1
  [LAMBDA (X)
    -1])

(T2
  [LAMBDA (X)
    2])

(T12
  [LAMBDA (X)
    12])

(T377
  [LAMBDA (X)
    255])

(T400Q
  [LAMBDA (X)                                                (* lmm "17-FEB-82 14:06")
    400Q])

(T-400
  [LAMBDA (X)
    -256])

(TSTR
  [LAMBDA (X)                      (* lmm: " 3-OCT-76 09:21:21")
    "FOO"])

(.NILARGS
  [LAMBDA (A B C D E F G H I J K L M N O)
    (DECLARE (LOCALVARS . T))
    (AND (OR A B C D E F G H I J K L M N O)
	 (FAILTEST])
)

(RPAQQ TESTC [(TESTVALS (T1)
			1
			(T0)
			0
			(TT)
			T
			(TNIL)
			NIL
			(T-1)
			-1
			(T2)
			2
			(T12)
			12
			(T377)
			255
			(T400Q)
			256
			(T-400)
			-256
			(TSTR)
			"FOO")
	      (PROG [(TEST (QUOTE (.NILARGS]
		    (RPTQ 1000 (.NILARGS])
(DEFINEQ

(.BIND0
  [LAMBDA (X)                      (* lmm: "14-AUG-76 03:43:52")
    (PROG (Y Z W)
          (RETURN X])

(.BIND1
  [LAMBDA (A B)                    (* lmm: 22-JUN-76 1 0)
    (DECLARE (SPECVARS . T))
    (PROG ((C 1)
	   (D 2))
          (RETURN (PROG (E F (G 3)
			   (H 4))
		        (RETURN (EVALVARS])

(.BIND2
  [LAMBDA (A B)                    (* lmm: 22-JUN-76 1 0)
    (DECLARE (LOCALVARS . T))
    (PROG ((C 1)
	   (D 2))
          (RETURN (PROG (E F (G 3)
			   (H 4))
		        (RETURN (EVALVARS])

(.BIND3
  [LAMBDA (A B)                    (* lmm: 24-JUN-76 4 57)
    (DECLARE (SPECVARS . T))
    (LIST [PROG ((C 1)
		 (D 2))
	        (RETURN (PROG (E F (G 3)
				 (H 4))
			      (RETURN (EVALVARS]
	  A B])

(.BIND4
  [LAMBDA (A B)                    (* lmm: 24-JUN-76 4 57)
    (DECLARE (SPECVARS . T))
    (LIST [PROG ((C 1)
		 (D 2))
	        (RETURN (PROG (E F (G 3)
				 (H 4))
			      (RETURN (EVALVARS]
	  A B])

(.BINDASSOC
  [LAMBDA (V ALST VAR)             (* lmm: 24-JUN-76 8 42)
    (PROG ((D (ASSOC V ALST)))
          (RETURN (EVAL VAR])

(.BIND5
  [LAMBDA (X)                      (* lmm: 24-JUN-76 8 51)
    (PROG ((D (CDR X)))
          (PROG ((LC (CDR D)))
	        (DECLARE (LOCALVARS LC))
	        ([LAMBDA (X)
		    (RETFROM (QUOTE .BIND5)
			     (EVAL (QUOTE X]
		  LC])

(.BINDPOP
  [LAMBDA (X Y)                    (* lmm: 24-JUN-76 9 40)
    (PROG1 Y (PROG ((K X))
	           (CONS K K)
	           (SETQ Y X])
)

(RPAQQ TESTBIND [(TESTVALS (.BIND0 173)
			   173
			   (.BIND1 1 2 3)
			   (QUOTE (1 2 1 2 NIL NIL 3 4))
			   (.BIND2 1 2 3)
			   (QUOTE (A.TOP B.TOP C.TOP D.TOP E.TOP F.TOP G.TOP H.TOP))
			   (.BIND3 1 2)
			   (QUOTE ((1 2 1 2 NIL NIL 3 4)
				   1 2))
			   (.BIND4 1 2 3 4)
			   (QUOTE ((1 2 1 2 NIL NIL 3 4)
				   1 2))
			   (.BINDASSOC (QUOTE A)
				       (QUOTE ((A . B)))
				       (QUOTE D))
			   (QUOTE (A . B))
			   (.BINDPOP 23 73)
			   73
			   (.BIND5 (QUOTE (A B C D E)))
			   (QUOTE (C D E])

(RPAQQ TESTAT ((TESTVALS (ARGTYPE (QUOTE LAM0))
			 0
			 (NARGS (QUOTE LAM0))
			 0
			 (ARGLIST (QUOTE LAM0))
			 NIL
			 (CALLS (QUOTE LAM0))
			 (QUOTE (NIL NIL NIL NIL))
			 (FNTYP (QUOTE LAM0))
			 (QUOTE CEXPR)
			 (CCODEP (QUOTE LAM0))
			 T
			 (ARGTYPE (QUOTE LAM1))
			 0
			 (NARGS (QUOTE LAM1))
			 1
			 (ARGLIST (QUOTE LAM1))
			 (QUOTE (X))
			 (CALLS (QUOTE LAM1))
			 (QUOTE (NIL NIL NIL NIL))
			 (FNTYP (QUOTE LAM1))
			 (QUOTE CEXPR)
			 (CCODEP (QUOTE LAM1))
			 T
			 (ARGTYPE (QUOTE LAMA))
			 2
			 (NARGS (QUOTE LAMA))
			 1
			 (ARGLIST (QUOTE LAMA))
			 (QUOTE L)
			 (CALLS (QUOTE LAMA))
			 (QUOTE (NIL NIL NIL NIL))
			 (FNTYP (QUOTE LAMA))
			 (QUOTE CEXPR*)
			 (CCODEP (QUOTE LAMA))
			 T
			 (ARGTYPE (QUOTE NLAML))
			 1
			 (NARGS (QUOTE NLAML))
			 1
			 (ARGLIST (QUOTE NLAML))
			 (QUOTE (L))
			 (CALLS (QUOTE NLAML))
			 (QUOTE (NIL NIL NIL NIL))
			 (FNTYP (QUOTE NLAML))
			 (QUOTE CFEXPR)
			 (CCODEP (QUOTE NLAML))
			 T
			 (ARGTYPE (QUOTE NLAMA))
			 3
			 (NARGS (QUOTE NLAMA))
			 1
			 (ARGLIST (QUOTE NLAMA))
			 (QUOTE L)
			 (CALLS (QUOTE NLAMA))
			 (QUOTE (NIL NIL NIL NIL))
			 (FNTYP (QUOTE NLAMA))
			 (QUOTE CFEXPR*)
			 (CCODEP (QUOTE NLAMA))
			 T)))
(DEFINEQ

(LAM0
  [LAMBDA NIL NIL])

(LAM1
  [LAMBDA (X)
    (DECLARE (LOCALVARS X))        (* lmm " 7-FEB-82 11:53")
    X])

(LAMA
  [LAMBDA L
    (DECLARE (SPECVARS L))                                   (* lmm " 7-FEB-82 11:53")
    L])

(NLAML
  [NLAMBDA (L)
    (DECLARE (LOCALVARS L))        (* lmm " 7-FEB-82 11:54")
    L])

(NLAMA
  [NLAMBDA L
    (DECLARE (LOCALVARS L))        (* lmm " 7-FEB-82 11:55")
    L])
)
(DEFINEQ

(.SELECTQ
  [LAMBDA (A B C)                  (* lmm: "20-AUG-76 15:11:27")
    (LIST 3 (PROGN (SELECTQ A
			    (1 (ADD1VAR C))
			    ((2 3 4)
			      (SUB1VAR C))
			    (5 (SETQ C (CDR C)))
			    NIL)
		   (SELECTQ B
			    (1 (ADD1VAR C))
			    ((2 3 4)
			      (SUB1VAR C))
			    (5 (SETQ C (CDR C)))
			    NIL))
	  (COND
	    ((SELECTQ C
		      (NIL T)
		      (0 NIL)
		      (3 (SMALLP B))
		      A)
	      22])

(.SUBFNS
  [LAMBDA NIL                      (* lmm: " 5-OCT-76 20:10:08")
    (LIST [PROG1 (QUOTE GOOD)
		 [SETQ FREE1 (FUNCTION (LAMBDA (X)
		       (CAR X]
		 (SETQ FREE2 (FUNCTION [LAMBDA N N]))
		 (SETQ FREE3 (FUNCTION (NLAMBDA L L]
	  (APPLY* FREE1 (QUOTE (A))
		  (QUOTE (B)))
	  (APPLY* FREE2 1 2 3 4 5)
	  (APPLY* FREE3 1 2 3 4 5)
	  (SUBSET (QUOTE ((NIL)
			   (3)))
		  FREE1])

(.MISC
  [LAMBDA (B C A)                  (* lmm: "20-AUG-76 15:26:33")
    (LIST 1 (PROG ((A NIL))
	          (RETURN (PROGN B C A))
	          (FOO BAZ WHAMMY)
	          (PROG (X)
		        (HELP)))
	  3])

(.FORTEST
  [LAMBDA (X)                      (* lmm: "20-AUG-76 16:52:53")
    (for X on (to X collect (to X collect X)) when (SOME X (FUNCTION CDDR))
       collect (CONS X (LENGTH X])

(.BIGCOND
  [LAMBDA (X)                      (* lmm: "20-AUG-76 17:13:28")
    (COND
      ((LISTP X)
	(LIST X))
      ((ARRAYP X)
	(ELT X 1))
      ((FIXP X)
	(ITIMES (ITIMES 60 24 365)
		X])

(.RECORDTEST
  [LAMBDA (ARG) (* DECLARATIONS: 
                   (RECORD A (B . C)))
                                   (* lmm: " 5-OCT-76 20:06:43")
    (PROG [(ZZ (create A
		       C ←(RPLACA (CONS)
				  1)
		       B ←(RPLACA (CONS)
				  2]
          (COND
	    (ARG (replace B of ZZ with 17)))
          [RPLACD (fetch C of ZZ)
		  (create A
			  C ←(LIST 4)
			  B ←(COND
			    ((ZEROP ARG)
			      (GO HOME))
			    ((EQ ARG 3)
			      (RETURN ZZ))
			    (T -2]
      HOME(RETURN ZZ])

(.PROGRETURN
  [LAMBDA (X)                      (* lmm: "20-AUG-76 17:05:22")
                                   (* lmm: "20-AUG-76 17:04:42")
    (PROG NIL
          (SETQ X (LIST (LIST 1)
			(LIST 2)))
          (RPLACD (ASSOC 1 X)
		  T)
          (RETURN (SOME X (FUNCTION LISTP])

(.ALWAYSFALSE
  [LAMBDA (A B)                    (* lmm: "20-AUG-76 17:21:28")
    (LIST 1 (COND
	    ((COND
		(A NIL)
		(B NIL))
	      T)
	    (T NIL))
	  3])

(.ALWAYSTRUE
  [LAMBDA (A B)                    (* lmm: "20-AUG-76 17:24:11")
    (COND
      ((COND
	  (A T)
	  (B T)
	  (T T))
	T)
      (T NIL])

(.EQ1
  [LAMBDA (X Y)
    (DECLARE (LOCALVARS X Y))      (* lmm: "20-AUG-76 18:11:58")
    (COND
      ((EQ X Y)
	T)
      [(NLISTP X)
	(COND
	  ((OR (NUMBERP X)
	       (STACKP X))
	    (EQP X Y))
	  ((STRINGP X)
	    (STREQUAL X Y]
      ((LISTP Y)
	(AND (.EQ1 (CAR X)
		   (CAR Y))
	     (.EQ1 (CDR X)
		   (CDR Y])

(.EQ2
  [LAMBDA (X Y)
    (DECLARE (LOCALVARS X Y))      (* lmm: "20-AUG-76 18:17:51")
    (COND
      [(NEQ X Y)
	(COND
	  [(LISTP X)
	    (AND (LISTP Y)
		 (.EQ2 (CAR X)
		       (CAR Y))
		 (.EQ2 (CDR X)
		       (CDR Y]
	  [(NOT (OR (NUMBERP X)
		    (STACKP X)))
	    (COND
	      ((STRINGP X)
		(STREQUAL X Y]
	  (T (EQP X Y]
      (T T])

(.EQ3
  [LAMBDA (X Y)
    (DECLARE (LOCALVARS X Y))      (* lmm: "21-AUG-76 18:13:18")
    (COND
      ((EQ X Y)
	T)
      ((LISTP X)
	(COND
	  [(LISTP Y)
	    (AND (.EQ3 (CAR Y)
		       (CAR X))
		 (.EQ3 (CDR X)
		       (CDR Y]
	  (T NIL)))
      ((OR (NUMBERP X)
	   (STACKP X))
	(EQP X Y))
      ((STRINGP X)
	(STREQUAL X Y))
      (T NIL])
)

(RPAQQ TEST3 ((TESTVALS (.SELECTQ 1 1 2)
			(QUOTE (3 4 22))
			(.SELECTQ 1 3 3)
			(QUOTE (3 3 22))
			(.SELECTQ 1 3 0)
			(QUOTE (3 0 NIL))
			(.SELECTQ 2 2 2)
			(QUOTE (3 0 NIL))
			(.SELECTQ 5 5 (QUOTE (NIL NIL . 3)))
			(QUOTE (3 3 22))
			(.SELECTQ)
			(QUOTE (3 NIL 22))
			(.SUBFNS)
			[QUOTE (GOOD A 5 (1 2 3 4 5)
				     ((3]
			(.MISC)
			(QUOTE (1 NIL 3))
			(.FORTEST 3)
			[QUOTE ((((3 3 3)
				  (3 3 3)
				  (3 3 3)) . 3)
				(((3 3 3)
				  (3 3 3)) . 2)
				(((3 3 3)) . 1]
			(.FORTEST 2)
			NIL)))
(DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS 

(ADDTOVAR NLAMA NLAMA !ADDTOVAR TESTIFSAME TESTVALS)

(ADDTOVAR NLAML NLAML !ADD1VAR .NLSETQ TESTPAIRS)

(ADDTOVAR LAMA LAMA !APPEND .LIST .SUM .TESTARG)
)
(PUTPROPS COMPTEST COPYRIGHT ("Xerox Corporation" 1984 1985))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (3498 6121 (MAKEFORM 3508 . 3752) (TESTER 3754 . 4233) (TEST1 4235 . 4486) (FAILTEST 
4488 . 4563) (TESTVALS 4565 . 5066) (TESTIFSAME 5068 . 5376) (TESTPAIRS 5378 . 5826) (EVALVARS 5828 . 
5965) (TRYTEST 5967 . 6119)) (6321 8199 (IVAR 6331 . 6487) (PVAR 6489 . 6717) (VARSWAP 6719 . 6908) (
VARSWAP2 6910 . 7158) (VARSWAP3 7160 . 7368) (VARSWAP4 7370 . 7526) (IVAR3 7528 . 7808) (IVARX 7810 . 
8104) (FVAR 8106 . 8197)) (8967 9070 (.GETPROPLST 8977 . 9068)) (9071 12347 (.LISTP 9081 . 9121) (
.NLISTP 9123 . 9165) (.LITATOM 9167 . 9261) (.FLOATP 9263 . 9355) (.FIXP 9357 . 9445) (.NUMBERP 9447
 . 9540) (.SMALLP 9542 . 9633) (.STACKP 9635 . 9727) (.ARRAYP 9729 . 9821) (.NLITATOM 9823 . 9923) (
.NFLOATP 9925 . 9973) (.NNUMBERP 9975 . 10025) (.NFIXP 10027 . 10071) (.NSMALLP 10073 . 10121) (
.NARRAYP 10123 . 10171) (.NSTACKP 10173 . 10221) (.NZEROP 10223 . 10269) (.ZEROP 10271 . 10361) (
.STRINGP 10363 . 10407) (.NSTRINGP 10409 . 10459) (.IGREATERP 10461 . 10513) (.NIGREATERP 10515 . 
10573) (.ILESSP 10575 . 10621) (.NILESSP 10623 . 10675) (.ATOM 10677 . 10715) (.NATOM 10717 . 10761) (
.EQ 10763 . 10801) (.NEQ 10803 . 10843) (.NULL 10845 . 10883) (.NNULL 10885 . 10955) (.IEQP 10957 . 
10999) (.NIEQP 11001 . 11096) (.ORLISTP 11098 . 11197) (.ANDLISTP 11199 . 11301) (.ORATOM 11303 . 
11401) (.ANDATOM 11403 . 11504) (.ORZEROP 11506 . 11604) (.ORNULL 11606 . 11703) (.ORARRAYP 11705 . 
11806) (.ANDARRAYP 11808 . 11912) (.ANDNLISTP 11914 . 12024) (.ANDNATOM 12026 . 12134) (.ORFLOATP 
12136 . 12238) (.ANDFLOATP 12240 . 12345)) (14656 15499 (.CONDRET 14666 . 14823) (.CONDRET2 14825 . 
14977) (TESTRESUME 14979 . 15274) (GETLEAVES 15276 . 15497)) (15696 17249 (.TESTARG 15706 . 15819) (
.SET 15821 . 15932) (.EVALV1 15934 . 16024) (.EVALV2 16026 . 16118) (.SUM 16120 . 16352) (.FIX 16354
 . 16439) (.LIST 16441 . 16705) (.NLSETQ 16707 . 16807) (.EQUAL 16809 . 16920) (.SETX 16922 . 17247)) 
(18231 19132 (.ITIMES 18241 . 18287) (.IPLUS 18289 . 18333) (.IQUOTIENT 18335 . 18387) (.IREMAINDER 
18389 . 18443) (.ADD1 18445 . 18483) (.SUB1 18485 . 18523) (.LLSH 18525 . 18567) (.LRSH 18569 . 18611)
 (.LSH 18613 . 18653) (.RSH 18655 . 18695) (.LOGAND 18697 . 18743) (.LOGOR 18745 . 18789) (.LOGXOR 
18791 . 18837) (.IDIFFERENCE 18839 . 18895) (.NT1 18897 . 18970) (.NT2 18972 . 19043) (.NT3 19045 . 
19130)) (19676 22014 (.NCONC 19686 . 19778) (..NCONC 19780 . 19914) (.AND 19916 . 20041) (.FRPLNODE 
20043 . 20143) (.OR 20145 . 20265) (.FRPLNODE2 20267 . 20367) (..NCONC3 20369 . 20505) (.NCONC3 20507
 . 20604) (SELECTTEST 20606 . 20790) (.MKLIST 20792 . 20883) (.EQMEMB 20885 . 20978) (.NCONC1 20980 . 
21073) (.GETPROPLIST 21075 . 21176) (.SETPROPLIST 21178 . 21281) (.FGETD 21283 . 21323) (..FRPLNODE2 
21325 . 21427) (!AND 21429 . 21724) (!OR 21726 . 22012)) (24057 32651 (!ADD1VAR 24067 . 24207) (
!ADDTOVAR 24209 . 24687) (!APPEND 24689 . 25057) (APPEND2 25059 . 25223) (!ASSOC 25225 . 25462) (
!ATTACH 25464 . 25621) (!CHANGEPROP 25623 . 25784) (!COPY 25786 . 26006) (!DEFLIST 26008 . 26205) (
!DREMOVE 26207 . 26692) (!DREVERSE 26694 . 26744) (DREV 26746 . 26979) (!DSUBST 26981 . 27324) (!EVERY
 27326 . 27566) (!GETP 27568 . 27894) (!INTERSECTION 27896 . 28186) (!LAST 28188 . 28340) (!LASTN 
28342 . 28658) (!LDIFF 28660 . 28951) (!LENGTH 28953 . 29082) (!LISTGET 29084 . 29435) (!LSUBST 29437
 . 29995) (!MAP 29997 . 30229) (!GET 30231 . 30326) (!GETLIS 30328 . 30556) (!MEMB 30558 . 30722) (
!NTH 30724 . 30976) (.COLLCT 30978 . 31076) (.ENDCOLLCT 31078 . 31180) (MYAPPEND1 31182 . 31360) (
MYAPPEND2 31362 . 31606) (COLLCT 31608 . 31805) (ENDCOLLCT 31807 . 31923) (.ATTACH 31925 . 32019) (
.APPEND0 32021 . 32111) (.APPEND1 32113 . 32205) (.APPEND2 32207 . 32301) (.APPEND3 32303 . 32399) (
.APPEND4 32401 . 32499) (.MAPCGETP 32501 . 32649)) (37196 38406 (.MAP 37206 . 37422) (.MAPC 37424 . 
38187) (.MAPCEFF 38189 . 38404)) (38623 39236 (.FPLUS 38633 . 38772) (.FTIMES 38774 . 38979) (
.FDIFFERENCE 38981 . 39133) (.FQUOTIENT 39135 . 39234)) (39406 40185 (NONLOCALGO 39416 . 39837) (
CNTDWN 39839 . 40064) (JUMPAROUND 40066 . 40183)) (40337 40790 (FN2 40347 . 40438) (FN3 40440 . 40534)
 (FN1 40536 . 40625) (.IVAR 40627 . 40788)) (41031 41844 (.GETP 41041 . 41083) (.GETPROP 41085 . 41133
) (.RPLACA 41135 . 41229) (.RPLACD 41231 . 41325) (.FRPLACA 41327 . 41423) (.GET 41425 . 41518) (
.FRPLACD 41520 . 41616) (.ASSOC 41618 . 41662) (.LENGTH 41664 . 41706) (.LAST 41708 . 41746) (.GETHASH
 41748 . 41796) (.FMEMB 41798 . 41842)) (43541 44971 (.CONS 43551 . 43593) (LIST0 43595 . 43681) (
LIST1 43683 . 43721) (LIST2 43723 . 43765) (LIST3 43767 . 43813) (LIST4 43815 . 43909) (LIST5 43911 . 
44007) (LIST6 44009 . 44107) (LIST7 44109 . 44209) (LIST8 44211 . 44313) (LIST9 44315 . 44419) (LIST10
 44421 . 44527) (LIST11 44529 . 44671) (LIST12 44673 . 44818) (LIST13 44820 . 44969)) (45668 46016 (
.CAR 45678 . 45714) (.CDR 45716 . 45752) (.CAAR 45754 . 45792) (.CDAR 45794 . 45832) (.CADR 45834 . 
45872) (.CDDR 45874 . 45912) (.CAAAAR 45914 . 46014)) (46341 46725 (.LAM0 46351 . 46391) (..LAM0 46393
 . 46446) (.LAM1 46448 . 46488) (..LAM1 46490 . 46569) (.NLAML 46571 . 46655) (LAM1LOC 46657 . 46723))
 (47192 50490 (.PROGS 47202 . 48456) (.SPEC 48458 . 49493) (.COND 49495 . 49943) (.DELBIND 49945 . 
50488)) (50799 51465 (T1 50809 . 50838) (T0 50840 . 50869) (TT 50871 . 50900) (TNIL 50902 . 50935) (
T-1 50937 . 50968) (T2 50970 . 50999) (T12 51001 . 51032) (T377 51034 . 51067) (T400Q 51069 . 51181) (
T-400 51183 . 51218) (TSTR 51220 . 51310) (.NILARGS 51312 . 51463)) (51732 53306 (.BIND0 51742 . 51862
) (.BIND1 51864 . 52080) (.BIND2 52082 . 52299) (.BIND3 52301 . 52528) (.BIND4 52530 . 52757) (
.BINDASSOC 52759 . 52898) (.BIND5 52900 . 53152) (.BINDPOP 53154 . 53304)) (55052 55527 (LAM0 55062 . 
55091) (LAM1 55093 . 55193) (LAMA 55195 . 55319) (NLAML 55321 . 55423) (NLAMA 55425 . 55525)) (55528 
59253 (.SELECTQ 55538 . 55973) (.SUBFNS 55975 . 56370) (.MISC 56372 . 56588) (.FORTEST 56590 . 56815) 
(.BIGCOND 56817 . 57017) (.RECORDTEST 57019 . 57553) (.PROGRETURN 57555 . 57851) (.ALWAYSFALSE 57853
 . 58021) (.ALWAYSTRUE 58023 . 58178) (.EQ1 58180 . 58518) (.EQ2 58520 . 58884) (.EQ3 58886 . 59251)))
))
STOP