Google
 

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

(IN-PACKAGE (QUOTE LISP)) 
(EXPORT (QUOTE (ARRAY-RANK-LIMIT MAKE-ARRAY ARRAY-ELEMENT-TYPE ARRAY-RANK ARRAY-DIMENSION ARRAY-DIMENSIONS ARRAY-TOTAL-SIZE ARRAY-IN-BOUNDS-P ARRAY-ROW-MAJOR-INDEX ADJUSTABLE-ARRAY-P BIT-AND BIT-IOR BIT-XOR BIT-EQV BIT-NAND BIT-NOR BIT-ANDC1 BIT-ANDC2 BIT-ORC1 BIT-ORC2 BIT-NOT ARRAY-HAS-FILL-POINTER-P FILL-POINTER VECTOR-PUSH VECTOR-PUSH-EXTEND VECTOR-POP ADJUST-ARRAY))) 
(DEFCONSTANT ARRAY-RANK-LIMIT 262144 "The maximum number of dimensions an array may have.") 
(%PUT (QUOTE MAKE-ARRAY) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns a newly constructed array with the dimensions and options 
   specified.  See manual for details.")) 

#_(LAP #0_MAKE-ARRAY EXPR
       (ENTRY-POINTS (2-FEW 2 3 4 5 6 7) REST)
       #0_(:ELEMENT-TYPE T :INITIAL-ELEMENT %%DEFAULT :INITIAL-CONTENTS :ADJUSTABLE :FILL-POINTER :DISPLACED-TO :DISPLACED-INDEX-OFFSET 0 (:DISPLACED-INDEX-OFFSET :DISPLACED-TO :FILL-POINTER :ADJUSTABLE :INITIAL-CONTENTS :INITIAL-ELEMENT :ELEMENT-TYPE) 1 BIT (MOD 2) MOD 2 3 4)
       (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 19)
             (MOVEM O1 -11 Q)
             (MOVEM O2 -10 Q)
(LABEL 9)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 8)
             (JUMPN O2 9)
             (MOVE O1 (CONSTANT 1))
(LABEL 8)    (MOVEM O1 -18 Q)
             (MOVE O2 -10 Q)
(LABEL 11)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 2))
             (JRST 10)
             (JUMPN O2 11)
             (MOVE O1 (CONSTANT 3))
(LABEL 10)   (MOVEM O1 -17 Q)
             (MOVE O2 -10 Q)
(LABEL 13)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 4))
             (JUMPN O4 13)
             (MOVEM O1 -16 Q)
             (MOVE O2 -10 Q)
(LABEL 15)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 5))
             (JUMPN O4 15)
             (MOVEM O1 -15 Q)
             (MOVE O2 -10 Q)
(LABEL 17)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 6))
             (JUMPN O4 17)
             (MOVEM O1 -14 Q)
             (MOVE O2 -10 Q)
(LABEL 19)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 7))
             (JUMPN O4 19)
             (MOVEM O1 -13 Q)
             (MOVE O2 -10 Q)
(LABEL 21)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 8))
             (JRST 20)
             (JUMPN O2 21)
             (MOVE O1 (CONSTANT 9))
(LABEL 20)   (MOVEM O1 -12 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -9 Q)
             (MOVE O2 (CONSTANT 10))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O1 -11 Q)
             (CALL LISTP 1)
             (JUMPN O1 23)
             (MOVE O1 -11 Q)
             (CALL LIST 1)
             (MOVEM O1 -11 Q)
(LABEL 23)   (MOVE O2 (CONSTANT 1))
             (CAME O2 -14 Q)
             (JRST 25)
             (MOVE O1 -11 Q)
             (MOVE O1 0 O1)
             (MOVEM O1 -14 Q)
(LABEL 25)   (MOVE O1 -11 Q)
             (CALL LENGTH 1)
             (MOVEM O1 -8 Q)
             (SKIPE NIL -15 Q)
             (JRST 29)
             (MOVE O2 (CONSTANT 11))
             (MOVE O1 -8 Q)
             (CALL = 2)
             (JUMPE O1 29)
             (SKIPE NIL -13 Q)
             (JRST 29)
             (SKIPE NIL -14 Q)
(LABEL 29)   (JRST 27)
             (SKIPN NIL -16 Q)
             (JRST 31)
             (MOVE O1 -11 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -7 Q)
             (MOVE O4 -16 Q)
             (MOVE O1 O5)
             (MOVE O2 -18 Q)
             (MOVE O3 (CONSTANT 11))
             (CALL LISP::COPY-INITIAL-CONTENTS 4)
             (JRST 32)
(LABEL 31)   (MOVE O2 (CONSTANT 12))
             (CAME O2 -18 Q)
             (JRST 34)
             (MOVE O1 -11 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -7 Q)
             (MOVE O3 -17 Q)
             (MOVE O1 O5)
             (MOVE O2 (CONSTANT 13))
             (CALL LISP::U-DATA-VEC 3)
             (JRST 33)
(LABEL 34)   (MOVE O1 -18 Q)
             (CALL LISTP 1)
             (JUMPE O1 36)
             (MOVE O1 -18 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -7 Q)
             (MOVE O2 (CONSTANT 14))
             (CAME O2 -7 Q)
(LABEL 36)   (JRST 35)
             (MOVE O1 -11 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -7 Q)
             (MOVE O3 -17 Q)
             (MOVE O1 O5)
             (MOVE O2 -18 Q)
             (CALL LISP::U-DATA-VEC 3)
             (JRST 33)
(LABEL 35)   (SKIPA)
             (JRST 38)
             (MOVE O1 -11 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -7 Q)
             (MOVE O3 -17 Q)
             (MOVE O1 O5)
             (MOVE O2 -18 Q)
             (CALL LISP::B-DATA-VEC 3)
(LABEL 38)
(LABEL 33)
(LABEL 32)   (JRST 28)
(LABEL 27)   (MOVE O5 -11 Q)
             (MOVEM O5 -4 Q)
             (MOVE O5 (CONSTANT 11))
             (MOVEM O5 -3 Q)
(LABEL 44)   (SKIPE NIL -4 Q)
             (JRST 45)
             (MOVE O5 -3 Q)
             (MOVEM O5 -6 Q)
             (JRST 40)
(LABEL 45)   (MOVE O1 -4 Q)
             (MOVE O2 0 O1)
             (MOVE O1 -3 Q)
             (CALL * 2)
             (MOVEM O1 -3 Q)
             (MOVE O1 -4 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -4 Q)
             (JRST 44)
(LABEL 40)   (MOVE O1 -8 Q)
             (CALL LISP::%SP-ALLOC-ARRAY 1)
             (MOVEM O1 -5 Q)
             (MOVE O1 -13 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 48)
             (MOVE O2 (CONSTANT 9))
             (MOVE O1 -13 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVE O3 O1)
             (JRST 47)
(LABEL 48)   (MOVE O1 -13 Q)
             (CALL ARRAYP 1)
             (JUMPE O1 49)
             (MOVE O3 -13 Q)
             (JRST 47)
(LABEL 49)   (SKIPN NIL -16 Q)
             (JRST 50)
             (MOVE O4 -16 Q)
             (MOVE O1 -6 Q)
             (MOVE O2 -18 Q)
             (MOVE O3 -8 Q)
             (CALL LISP::COPY-INITIAL-CONTENTS 4)
             (MOVE O3 O1)
             (JRST 47)
(LABEL 50)   (MOVE O2 (CONSTANT 12))
             (CAME O2 -18 Q)
             (JRST 51)
             (MOVE O3 -17 Q)
             (MOVE O1 -6 Q)
             (MOVE O2 (CONSTANT 13))
             (CALL LISP::U-DATA-VEC 3)
             (MOVE O3 O1)
             (JRST 47)
(LABEL 51)   (MOVE O1 -18 Q)
             (CALL LISTP 1)
             (JUMPE O1 53)
             (MOVE O1 -18 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -2 Q)
             (MOVE O2 (CONSTANT 14))
             (CAME O2 -2 Q)
(LABEL 53)   (JRST 52)
             (MOVE O3 -17 Q)
             (MOVE O1 -6 Q)
             (MOVE O2 -18 Q)
             (CALL LISP::U-DATA-VEC 3)
             (MOVE O3 O1)
             (JRST 47)
(LABEL 52)   (SKIPA)
             (JRST 55)
             (MOVE O3 -17 Q)
             (MOVE O1 -6 Q)
             (MOVE O2 -18 Q)
             (CALL LISP::B-DATA-VEC 3)
             (MOVE O3 O1)
(LABEL 55)
(LABEL 47)   (MOVE O1 -5 Q)
             (MOVE O2 (CONSTANT 9))
             (CALL LISP::HEADER-SET 3)
             (MOVE O3 -6 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 (CONSTANT 11))
             (CALL LISP::HEADER-SET 3)
             (SKIPN NIL -14 Q)
             (JRST 57)
             (MOVE O3 -14 Q)
             (JRST 58)
(LABEL 57)   (MOVE O3 -6 Q)
(LABEL 58)   (MOVE O1 -5 Q)
             (MOVE O2 (CONSTANT 15))
             (CALL LISP::HEADER-SET 3)
             (MOVE O1 -13 Q)
             (CALL ARRAYP 1)
             (JUMPN O1 60)
             (MOVE O3 (CONSTANT 9))
             (JRST 59)
(LABEL 60)   (MOVE O1 -12 Q)
             (CALL INTEGERP 1)
             (JUMPE O1 61)
             (MOVE O3 -12 Q)
             (JRST 59)
(LABEL 61)   (SKIPA)
             (JRST 62)
             (MOVE O3 (CONSTANT 9))
(LABEL 62)
(LABEL 59)   (MOVE O1 -5 Q)
             (MOVE O2 (CONSTANT 16))
             (CALL LISP::HEADER-SET 3)
             (MOVE O5 -11 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 (CONSTANT 17))
             (MOVEM O5 -2 Q)
(LABEL 68)   (SKIPE NIL -3 Q)
             (JRST 69)
             (JRST 64)
(LABEL 69)   (MOVE O1 -3 Q)
             (MOVE O3 0 O1)
             (MOVE O1 -5 Q)
             (MOVE O2 -2 Q)
             (CALL LISP::HEADER-SET 3)
             (MOVE O1 -3 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -1 Q)
             (MOVE O1 -2 Q)
             (CALL 1+ 1)
             (MOVEM O1 0 Q)
             (MOVE O1 -1 Q)
             (MOVEM O1 -3 Q)
             (MOVE O1 0 Q)
             (MOVEM O1 -2 Q)
             (JRST 68)
(LABEL 64)   (MOVE O1 -5 Q)
             (MOVEI N 1)
(LABEL 28)   (SUBI Q 19)
             (POPJ P)
)

(%PUT (QUOTE MAKE-ARRAY) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (DIMENSIONS &KEY (ELEMENT-TYPE T) (INITIAL-ELEMENT (QUOTE %%DEFAULT)) (INITIAL-CONTENTS) (ADJUSTABLE NIL) (FILL-POINTER NIL) (DISPLACED-TO NIL) (DISPLACED-INDEX-OFFSET 0)))) 
(%PUT (QUOTE MAKE-ARRAY) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE MAKE-ARRAY) (QUOTE %SOURCE-DOCUMENTATION)))) 
(SETF (SYMBOL-FUNCTION (QUOTE MAKE-VECTOR)) (FUNCTION MAKE-ARRAY)) 
(%PUT (QUOTE MAKE-VECTOR) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Make-vector is obsolete.  Use Make-array.")) 

#_(LAP #0_U-DATA-VEC EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY))
       #0_(2 0 4 1 16 256 3 65536 "~S is too big a modulo type." %%DEFAULT)
       (CODE-START)
(LABEL 1)    (ADDI Q 7)
             (MOVEM O1 -6 Q)
             (MOVEM O2 -5 Q)
             (MOVEM O3 -4 Q)
             (MOVE O1 O2)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -1 Q)
             (MOVE O2 (CONSTANT 0))
             (MOVE O1 O5)
             (CALL > 2)
             (JUMPN O1 4)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -3 Q)
             (JRST 3)
(LABEL 4)    (MOVE O2 (CONSTANT 2))
             (MOVE O1 -1 Q)
             (CALL > 2)
             (JUMPN O1 5)
             (MOVE O5 (CONSTANT 3))
             (MOVEM O5 -3 Q)
             (JRST 3)
(LABEL 5)    (MOVE O2 (CONSTANT 4))
             (MOVE O1 -1 Q)
             (CALL > 2)
             (JUMPN O1 6)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -3 Q)
             (JRST 3)
(LABEL 6)    (MOVE O2 (CONSTANT 5))
             (MOVE O1 -1 Q)
             (CALL > 2)
             (JUMPN O1 7)
             (MOVE O5 (CONSTANT 6))
             (MOVEM O5 -3 Q)
             (JRST 3)
(LABEL 7)    (MOVE O2 (CONSTANT 7))
             (MOVE O1 -1 Q)
             (CALL > 2)
             (JUMPN O1 8)
             (MOVE O5 (CONSTANT 2))
             (MOVEM O5 -3 Q)
             (JRST 3)
(LABEL 8)    (SKIPA)
             (JRST 9)
             (MOVE O2 -5 Q)
             (MOVE O1 (CONSTANT 8))
             (CALL ERROR 2)
             (MOVEM O1 -3 Q)
(LABEL 9)
(LABEL 3)    (MOVE O2 -3 Q)
             (MOVE O1 -6 Q)
             (CALL LISP::%SP-ALLOC-U-VECTOR 2)
             (MOVEM O1 -2 Q)
             (MOVE O2 (CONSTANT 9))
             (CAMN O2 -4 Q)
             (JRST 13)
             (MOVE O1 -5 Q)
             (MOVE O1 1 O1)
             (MOVE O2 0 O1)
             (MOVE O1 -4 Q)
             (CALL < 2)
             (SKIPN NIL O1)
(LABEL 13)   (JRST 11)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 0 Q)
(LABEL 19)   (MOVE O2 -6 Q)
             (MOVE O1 0 Q)
             (CALL = 2)
             (JUMPE O1 20)
             (MOVE O1 -2 Q)
             (MOVEI N 1)
             (JRST 15)
(LABEL 20)   (MOVE O3 -4 Q)
             (MOVE O1 -2 Q)
             (MOVE O2 0 Q)
             (CALL LISP::%SP-SASET1 3)
             (MOVE O1 0 Q)
             (CALL 1+ 1)
             (MOVEM O1 0 Q)
             (JRST 19)
(LABEL 15)   (JRST 12)
(LABEL 11)   (MOVE O1 -2 Q)
             (MOVEI N 1)
(LABEL 12)   (SUBI Q 7)
             (POPJ P)
)

(%PUT (QUOTE U-DATA-VEC) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (SIZE TYPE IVAL))) 
(%PUT (QUOTE U-DATA-VEC) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE U-DATA-VEC) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_B-DATA-VEC EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY))
       #0_(STRING-CHAR %%DEFAULT :INITIAL-ELEMENT (T) :TEST EQL (RANDOM LIST CONS FUNCTION CLOSURE) (FIXNUM BIGNUM INTEGER RATIONAL SCALAR) "The initial-element, ~s, is not of type ~s" (FLOAT SHORT-FLOAT LONG-FLOAT SINGLE-FLOAT DOUBLE-FLOAT) 0 CHARACTER #\SPACE STRING "" SYMBOL VECTOR #() ARRAY #() COMPLEX "Complex numbers aren't implemented yet.")
       (CODE-START)
(LABEL 1)    (ADDI Q 4)
             (MOVEM O1 -3 Q)
             (MOVEM O2 -2 Q)
             (MOVEM O3 -1 Q)
             (MOVE O2 (CONSTANT 0))
             (CAME O2 -2 Q)
             (JRST 3)
             (MOVE O2 (CONSTANT 1))
             (CAME O2 -1 Q)
             (JRST 5)
             (CALL LISP::%SP-ALLOC-STRING 1)
             (JRST 6)
(LABEL 5)    (MOVE O3 -1 Q)
             (MOVE O1 -3 Q)
             (MOVE O2 (CONSTANT 2))
             (CALL MAKE-STRING 3)
(LABEL 6)    (JRST 4)
(LABEL 3)    (MOVE O5 -2 Q)
             (MOVEM O5 0 Q)
             (MOVE O4 (CONSTANT 5))
             (MOVE O1 O5)
             (MOVE O2 (CONSTANT 3))
             (MOVE O3 (CONSTANT 4))
             (CALL MEMBER 4)
             (JUMPE O1 8)
             (MOVE O2 (CONSTANT 1))
             (CAME O2 -1 Q)
             (JRST 9)
             (MOVE O2 NIL)
             (JRST 10)
(LABEL 9)    (MOVE O2 -1 Q)
(LABEL 10)   (JRST 7)
(LABEL 8)    (MOVE O4 (CONSTANT 5))
             (MOVE O1 0 Q)
             (MOVE O2 (CONSTANT 6))
             (MOVE O3 (CONSTANT 4))
             (CALL MEMBER 4)
             (JUMPE O1 11)
             (MOVE O2 -2 Q)
             (MOVE O1 -1 Q)
             (CALL TYPEP 2)
             (JUMPE O1 12)
             (MOVE O2 -1 Q)
             (JRST 13)
(LABEL 12)   (MOVE O2 NIL)
(LABEL 13)   (JRST 7)
(LABEL 11)   (MOVE O4 (CONSTANT 5))
             (MOVE O1 0 Q)
             (MOVE O2 (CONSTANT 7))
             (MOVE O3 (CONSTANT 4))
             (CALL MEMBER 4)
             (JUMPE O1 14)
             (MOVE O2 -2 Q)
             (MOVE O1 -1 Q)
             (CALL TYPEP 2)
             (JUMPE O1 15)
             (MOVE O2 -1 Q)
             (JRST 16)
(LABEL 15)   (MOVE O3 -2 Q)
             (MOVE O1 (CONSTANT 8))
             (MOVE O2 -1 Q)
             (CALL ERROR 3)
             (MOVE O2 O1)
(LABEL 16)   (JRST 7)
(LABEL 14)   (MOVE O4 (CONSTANT 5))
             (MOVE O1 0 Q)
             (MOVE O2 (CONSTANT 9))
             (MOVE O3 (CONSTANT 4))
             (CALL MEMBER 4)
             (JUMPE O1 17)
             (MOVE O2 -2 Q)
             (MOVE O1 -1 Q)
             (CALL TYPEP 2)
             (JUMPE O1 18)
             (MOVE O2 -1 Q)
             (JRST 19)
(LABEL 18)   (MOVE O2 -2 Q)
             (MOVE O1 (CONSTANT 10))
             (CALL COERCE 2)
             (MOVE O2 O1)
(LABEL 19)   (JRST 7)
(LABEL 17)   (MOVE O2 (CONSTANT 11))
             (CAME O2 0 Q)
             (JRST 20)
             (MOVE O1 -1 Q)
             (CALL CHARACTERP 1)
             (JUMPE O1 21)
             (MOVE O2 -1 Q)
             (JRST 22)
(LABEL 21)   (MOVE O2 (CONSTANT 12))
(LABEL 22)   (JRST 7)
(LABEL 20)   (MOVE O2 (CONSTANT 13))
             (CAME O2 0 Q)
             (JRST 23)
             (MOVE O1 -1 Q)
             (CALL STRINGP 1)
             (JUMPE O1 24)
             (MOVE O2 -1 Q)
             (JRST 25)
(LABEL 24)   (MOVE O2 (CONSTANT 14))
(LABEL 25)   (JRST 7)
(LABEL 23)   (MOVE O2 (CONSTANT 15))
             (CAME O2 0 Q)
             (JRST 26)
             (MOVE O1 -1 Q)
             (CALL SYMBOLP 1)
             (JUMPE O1 29)
             (MOVE O2 (CONSTANT 1))
             (CAMN O2 -1 Q)
(LABEL 29)   (JRST 27)
             (MOVE O2 -1 Q)
             (JRST 28)
(LABEL 27)   (MOVE O2 NIL)
(LABEL 28)   (JRST 7)
(LABEL 26)   (MOVE O2 (CONSTANT 16))
             (CAME O2 0 Q)
             (JRST 31)
             (MOVE O1 -1 Q)
             (CALL VECTORP 1)
             (JUMPE O1 32)
             (MOVE O2 -1 Q)
             (JRST 33)
(LABEL 32)   (MOVE O2 (CONSTANT 17))
(LABEL 33)   (JRST 7)
(LABEL 31)   (MOVE O2 (CONSTANT 18))
             (CAME O2 0 Q)
             (JRST 34)
             (MOVE O1 -1 Q)
             (CALL ARRAYP 1)
             (JUMPE O1 35)
             (MOVE O2 -1 Q)
             (JRST 36)
(LABEL 35)   (MOVE O2 (CONSTANT 19))
(LABEL 36)   (JRST 7)
(LABEL 34)   (MOVE O2 (CONSTANT 20))
             (CAME O2 0 Q)
             (JRST 37)
             (MOVE O1 (CONSTANT 21))
             (CALL ERROR 1)
             (MOVE O2 O1)
             (JRST 7)
(LABEL 37)   (SKIPA)
             (JRST 38)
             (MOVE O2 -2 Q)
             (MOVE O1 -1 Q)
             (CALL TYPEP 2)
             (JUMPE O1 39)
             (MOVE O2 -1 Q)
             (JRST 40)
(LABEL 39)   (MOVE O2 NIL)
(LABEL 40)
(LABEL 38)
(LABEL 7)    (MOVE O1 -3 Q)
             (CALL LISP::%SP-ALLOC-B-VECTOR 2)
(LABEL 4)    (SUBI Q 4)
             (POPJ P)
)

(%PUT (QUOTE B-DATA-VEC) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (SIZE TYPE IVAL))) 
(%PUT (QUOTE B-DATA-VEC) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE B-DATA-VEC) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_COPY-INITIAL-CONTENTS EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 2-FEW 1 2-MANY 2-MANY))
       #0_(BIT (MOD 2) %%DEFAULT MOD 0)
       (CODE-START)
(LABEL 1)    (ADDI Q 6)
             (MOVEM O1 -5 Q)
             (MOVEM O2 -4 Q)
             (MOVEM O3 -3 Q)
             (MOVEM O4 -2 Q)
             (MOVE O2 (CONSTANT 0))
             (CAME O2 -4 Q)
             (JRST 4)
             (MOVE O3 (CONSTANT 2))
             (MOVE O2 (CONSTANT 1))
             (CALL LISP::U-DATA-VEC 3)
             (MOVEM O1 -1 Q)
             (JRST 3)
(LABEL 4)    (MOVE O1 -4 Q)
             (CALL LISTP 1)
             (JUMPE O1 6)
             (MOVE O1 -4 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O2 (CONSTANT 3))
             (CAME O2 0 Q)
(LABEL 6)    (JRST 5)
             (MOVE O3 (CONSTANT 2))
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (CALL LISP::U-DATA-VEC 3)
             (MOVEM O1 -1 Q)
             (JRST 3)
(LABEL 5)    (SKIPA)
             (JRST 8)
             (MOVE O3 NIL)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (CALL LISP::B-DATA-VEC 3)
             (MOVEM O1 -1 Q)
(LABEL 8)
(LABEL 3)    (MOVE O5 -1 Q)
             (MOVE O1 -2 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 (CONSTANT 4))
             (CALL LISP::COPY-CONTENTS-AUX 5)
             (MOVE O1 -1 Q)
             (MOVEI N 1)
             (SUBI Q 6)
             (POPJ P)
)

(%PUT (QUOTE COPY-INITIAL-CONTENTS) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (SIZE TYPE RANK ICONTENTS))) 
(%PUT (QUOTE COPY-INITIAL-CONTENTS) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE COPY-INITIAL-CONTENTS) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_COPY-CONTENTS-AUX EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 2-FEW 2-FEW 1 2-MANY))
       #0_("~S is not if type ~S, and can't be used as contents." 0 "~S is a bad thing to initialize array contents with.")
       (CODE-START)
(LABEL 1)    (ADDI Q 10)
             (MOVEM O1 -9 Q)
             (MOVEM O2 -8 Q)
             (MOVEM O3 -7 Q)
             (MOVEM O4 -6 Q)
             (MOVEM O5 -5 Q)
             (MOVE O1 O3)
             (CALL ZEROP 1)
             (JUMPE O1 4)
             (MOVE O2 -8 Q)
             (MOVE O1 -9 Q)
             (CALL TYPEP 2)
             (JUMPE O1 5)
             (MOVE O3 -9 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -6 Q)
             (CALL LISP::%SP-SASET1 3)
             (JRST 6)
(LABEL 5)    (MOVE O3 -8 Q)
             (MOVE O1 (CONSTANT 0))
             (MOVE O2 -9 Q)
             (CALL ERROR 3)
(LABEL 6)    (MOVE O1 -6 Q)
             (CALL 1+ 1)
             (JRST 3)
(LABEL 4)    (MOVE O1 -9 Q)
             (CALL LISTP 1)
             (JUMPE O1 7)
             (MOVE O5 -9 Q)
             (MOVEM O5 -4 Q)
(LABEL 12)   (SKIPE NIL -4 Q)
             (JRST 13)
             (MOVE O1 -6 Q)
             (MOVEI N 1)
             (JRST 8)
(LABEL 13)   (MOVE O1 -4 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -3 Q)
             (MOVE O1 -7 Q)
             (CALL 1- 1)
             (MOVEM O1 -1 Q)
             (MOVE O5 -5 Q)
             (MOVE O1 -3 Q)
             (MOVE O2 -8 Q)
             (MOVE O3 -1 Q)
             (MOVE O4 -6 Q)
             (CALL LISP::COPY-CONTENTS-AUX 5)
             (MOVEM O1 -6 Q)
             (MOVE O1 -4 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -4 Q)
             (JRST 12)
(LABEL 8)    (JRST 3)
(LABEL 7)    (MOVE O1 -9 Q)
             (CALL VECTORP 1)
             (JUMPE O1 15)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -4 Q)
             (MOVE O1 -9 Q)
             (CALL LENGTH 1)
             (MOVEM O1 -3 Q)
(LABEL 20)   (MOVE O2 -3 Q)
             (MOVE O1 -4 Q)
             (CALL = 2)
             (JUMPE O1 21)
             (MOVE O1 -6 Q)
             (MOVEI N 1)
             (JRST 16)
(LABEL 21)   (MOVE O2 -6 Q)
             (MOVE O1 -9 Q)
             (CALL AREF 2)
             (MOVEM O1 -2 Q)
             (MOVE O1 -7 Q)
             (CALL 1- 1)
             (MOVEM O1 0 Q)
             (MOVE O5 -5 Q)
             (MOVE O1 -2 Q)
             (MOVE O2 -8 Q)
             (MOVE O3 0 Q)
             (MOVE O4 -6 Q)
             (CALL LISP::COPY-CONTENTS-AUX 5)
             (MOVEM O1 -6 Q)
             (MOVE O1 -4 Q)
             (CALL 1+ 1)
             (MOVEM O1 -4 Q)
             (JRST 20)
(LABEL 16)   (JRST 3)
(LABEL 15)   (SKIPA)
             (JRST 23)
             (MOVE O2 -9 Q)
             (MOVE O1 (CONSTANT 2))
             (CALL ERROR 2)
(LABEL 23)
(LABEL 3)    (SUBI Q 10)
             (POPJ P)
)

(%PUT (QUOTE COPY-CONTENTS-AUX) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ICONTENTS TYPE DEPTH INDEX DATA))) 
(%PUT (QUOTE COPY-CONTENTS-AUX) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE COPY-CONTENTS-AUX) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE %SP-AREF) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns the element of the Array specified by the Subscripts.")) 

#_(LAP #0_%SP-AREF EXPR
       (ENTRY-POINTS (2-FEW 2 3 4 5 6 7) REST)
       #0_(0 1 3 "Too many subscripts for array reference." "Too few subscripts for array reference." -1 "Subscript (~S) is out of bounds.")
       (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 10)
             (MOVEM O1 -9 Q)
             (MOVEM O2 -8 Q)
             (MOVE O2 (CONSTANT 0))
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -7 Q)
             (MOVE O1 -8 Q)
             (CALL NREVERSE 1)
             (MOVEM O1 -6 Q)
             (MOVE O1 -9 Q)
             (CALL LISP::HEADER-LENGTH 1)
             (CALL 1- 1)
             (MOVEM O1 -5 Q)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -4 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -3 Q)
             (MOVEM NIL -2 Q)
(LABEL 13)   (MOVE O2 (CONSTANT 2))
             (MOVE O1 -5 Q)
             (CALL = 2)
             (JUMPE O1 14)
             (MOVE O1 -6 Q)
             (CALL ATOM 1)
             (JUMPE O1 16)
             (MOVE O2 (CONSTANT 2))
             (MOVE O1 -9 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -1 Q)
             (MOVE O2 -3 Q)
             (CALL + 2)
             (MOVE O2 O1)
             (JRST 17)
(LABEL 16)   (MOVE O1 (CONSTANT 3))
             (CALL ERROR 1)
             (MOVE O2 O1)
(LABEL 17)   (JRST 9)
(LABEL 14)   (MOVE O2 -5 Q)
             (MOVE O1 -9 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -2 Q)
             (MOVE O1 -6 Q)
             (CALL ATOM 1)
             (JUMPE O1 19)
             (MOVE O1 (CONSTANT 4))
             (CALL ERROR 1)
             (JRST 18)
(LABEL 19)   (MOVE O1 -6 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O3 -2 Q)
             (MOVE O1 (CONSTANT 5))
             (MOVE O2 O5)
             (CALL < 3)
             (JUMPN O1 20)
             (MOVE O1 -6 Q)
             (MOVE O2 0 O1)
             (MOVE O1 (CONSTANT 6))
             (CALL ERROR 2)
             (JRST 18)
(LABEL 20)   (SKIPA)
             (JRST 21)
             (MOVE O1 -6 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O2 -4 Q)
             (MOVE O1 O5)
             (CALL * 2)
             (MOVE O2 O1)
             (MOVE O1 -3 Q)
             (CALL + 2)
             (MOVEM O1 -3 Q)
             (MOVE O2 -2 Q)
             (MOVE O1 -4 Q)
             (CALL * 2)
             (MOVEM O1 -4 Q)
(LABEL 21)
(LABEL 18)   (MOVE O1 -6 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -1 Q)
             (MOVE O1 -5 Q)
             (CALL 1- 1)
             (MOVEM O1 0 Q)
             (MOVE O1 -1 Q)
             (MOVEM O1 -6 Q)
             (MOVE O1 0 Q)
             (MOVEM O1 -5 Q)
             (JRST 13)
(LABEL 9)    (MOVE O1 -7 Q)
             (CALL LISP::%SP-SAREF1 2)
             (SUBI Q 10)
             (POPJ P)
)

(%PUT (QUOTE %SP-AREF) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ARRAY &REST SUBSCRIPTS))) 
(%PUT (QUOTE %SP-AREF) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE %SP-AREF) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_%SP-ASET EXPR
       (ENTRY-POINTS (2-FEW 2 3 4 5 6 7) REST)
       #0_(1 0 3 "Too many subscripts for array reference." "Too few subscripts for array reference." -1 "Subscript (~S) is out of bounds.")
       (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 10)
             (MOVEM O1 -9 Q)
             (MOVEM O2 -8 Q)
             (MOVE O1 O2)
             (CALL NREVERSE 1)
             (MOVEM O1 -7 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -6 Q)
             (MOVE O1 -9 Q)
             (CALL LISP::HEADER-LENGTH 1)
             (CALL 1- 1)
             (MOVEM O1 -5 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -4 Q)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -3 Q)
             (MOVEM NIL -2 Q)
(LABEL 13)   (MOVE O2 (CONSTANT 2))
             (MOVE O1 -5 Q)
             (CALL = 2)
             (JUMPE O1 14)
             (MOVE O1 -6 Q)
             (CALL ATOM 1)
             (JUMPE O1 16)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -9 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -1 Q)
             (MOVE O2 (CONSTANT 2))
             (MOVE O1 -9 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 0 Q)
             (MOVE O2 -3 Q)
             (CALL + 2)
             (MOVEM O1 0 Q)
             (MOVE O1 -7 Q)
             (MOVE O3 0 O1)
             (MOVE O1 -1 Q)
             (MOVE O2 0 Q)
             (CALL LISP::ASET1 3)
             (JRST 17)
(LABEL 16)   (MOVE O1 (CONSTANT 3))
             (CALL ERROR 1)
(LABEL 17)   (JRST 9)
(LABEL 14)   (MOVE O2 -5 Q)
             (MOVE O1 -9 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -2 Q)
             (MOVE O1 -6 Q)
             (CALL ATOM 1)
             (JUMPE O1 19)
             (MOVE O1 (CONSTANT 4))
             (CALL ERROR 1)
             (JRST 18)
(LABEL 19)   (MOVE O1 -6 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O3 -2 Q)
             (MOVE O1 (CONSTANT 5))
             (MOVE O2 O5)
             (CALL < 3)
             (JUMPN O1 20)
             (MOVE O1 -6 Q)
             (MOVE O2 0 O1)
             (MOVE O1 (CONSTANT 6))
             (CALL ERROR 2)
             (JRST 18)
(LABEL 20)   (SKIPA)
             (JRST 21)
             (MOVE O1 -6 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O2 -4 Q)
             (MOVE O1 O5)
             (CALL * 2)
             (MOVE O2 O1)
             (MOVE O1 -3 Q)
             (CALL + 2)
             (MOVEM O1 -3 Q)
             (MOVE O2 -2 Q)
             (MOVE O1 -4 Q)
             (CALL * 2)
             (MOVEM O1 -4 Q)
(LABEL 21)
(LABEL 18)   (MOVE O1 -6 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -1 Q)
             (MOVE O1 -5 Q)
             (CALL 1- 1)
             (MOVEM O1 0 Q)
             (MOVE O1 -1 Q)
             (MOVEM O1 -6 Q)
             (MOVE O1 0 Q)
             (MOVEM O1 -5 Q)
             (JRST 13)
(LABEL 9)    (SUBI Q 10)
             (POPJ P)
)

(%PUT (QUOTE %SP-ASET) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ARRAY &REST STUFF))) 
(%PUT (QUOTE %SP-ASET) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE %SP-ASET) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE ARRAY-ELEMENT-TYPE) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns the type of the elements of the array")) 

#_(LAP #0_ARRAY-ELEMENT-TYPE EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_((MOD 2) STRING-CHAR T 0 1 (MOD 4) 2 (MOD 16) 3 (MOD 256) 4 (MOD 65536) "~S is not an array.")
       (CODE-START)
(LABEL 1)    (ADDI Q 2)
             (MOVEM O1 -1 Q)
             (CALL BIT-VECTOR-P 1)
             (JUMPE O1 4)
             (MOVE O1 (CONSTANT 0))
             (MOVEI N 1)
             (JRST 3)
(LABEL 4)    (MOVE O1 -1 Q)
             (CALL STRINGP 1)
             (JUMPE O1 5)
             (MOVE O1 (CONSTANT 1))
             (MOVEI N 1)
             (JRST 3)
(LABEL 5)    (MOVE O1 -1 Q)
             (CALL SIMPLE-VECTOR-P 1)
             (JUMPE O1 6)
             (MOVE O1 (CONSTANT 2))
             (MOVEI N 1)
             (JRST 3)
(LABEL 6)    (MOVE O1 -1 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 7)
             (MOVE O2 (CONSTANT 3))
             (MOVE O1 -1 Q)
             (CALL LISP::HEADER-REF 2)
             (CALL ARRAY-ELEMENT-TYPE 1)
             (JRST 3)
(LABEL 7)    (MOVE O1 -1 Q)
             (CALL VECTORP 1)
             (JUMPE O1 8)
             (MOVE O1 -1 Q)
             (CALL LISP::%SP-GET-VECTOR-ACCESS-TYPE 1)
             (MOVEM O1 0 Q)
             (MOVE O2 (CONSTANT 3))
             (CAME O2 0 Q)
             (JRST 10)
             (MOVE O1 (CONSTANT 0))
             (MOVEI N 1)
             (JRST 9)
(LABEL 10)   (MOVE O2 (CONSTANT 4))
             (CAME O2 0 Q)
             (JRST 11)
             (MOVE O1 (CONSTANT 5))
             (MOVEI N 1)
             (JRST 9)
(LABEL 11)   (MOVE O2 (CONSTANT 6))
             (CAME O2 0 Q)
             (JRST 12)
             (MOVE O1 (CONSTANT 7))
             (MOVEI N 1)
             (JRST 9)
(LABEL 12)   (MOVE O2 (CONSTANT 8))
             (CAME O2 0 Q)
             (JRST 13)
             (MOVE O1 (CONSTANT 9))
             (MOVEI N 1)
             (JRST 9)
(LABEL 13)   (MOVE O2 (CONSTANT 10))
             (CAME O2 0 Q)
             (JRST 14)
             (MOVE O1 (CONSTANT 11))
             (MOVEI N 1)
             (JRST 9)
(LABEL 14)   (MOVE O1 NIL)
             (MOVEI N 1)
(LABEL 9)    (JRST 3)
(LABEL 8)    (SKIPA)
             (JRST 16)
             (MOVE O2 -1 Q)
             (MOVE O1 (CONSTANT 12))
             (CALL ERROR 2)
(LABEL 16)
(LABEL 3)    (SUBI Q 2)
             (POPJ P)
)

(%PUT (QUOTE ARRAY-ELEMENT-TYPE) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ARRAY))) 
(%PUT (QUOTE ARRAY-ELEMENT-TYPE) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE ARRAY-ELEMENT-TYPE) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE ARRAY-RANK) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns the number of dimensions of the Array.")) 

#_(LAP #0_ARRAY-RANK EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(4 1)
       (CODE-START)
(LABEL 1)    (ADDI Q 2)
             (MOVEM O1 -1 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 3)
             (MOVE O1 -1 Q)
             (CALL LISP::HEADER-LENGTH 1)
             (MOVEM O1 0 Q)
             (MOVE O2 (CONSTANT 0))
             (CALL - 2)
             (JRST 4)
(LABEL 3)    (MOVE O1 (CONSTANT 1))
             (MOVEI N 1)
(LABEL 4)    (SUBI Q 2)
             (POPJ P)
)

(%PUT (QUOTE ARRAY-RANK) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ARRAY))) 
(%PUT (QUOTE ARRAY-RANK) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE ARRAY-RANK) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE ARRAY-DIMENSION) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns length of dimension Axis-Number of the Array.")) 

#_(LAP #0_ARRAY-DIMENSION EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(0 4 "~S: Illegal axis number.")
       (CODE-START)
(LABEL 1)    (ADDI Q 2)
             (MOVEM O1 -1 Q)
             (MOVEM O2 0 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 3)
             (MOVE O2 (CONSTANT 0))
             (MOVE O1 0 Q)
             (CALL < 2)
             (JUMPN O1 7)
             (MOVE O1 -1 Q)
             (CALL ARRAY-RANK 1)
             (MOVE O2 O1)
             (MOVE O1 0 Q)
             (CALL < 2)
             (SKIPN NIL O1)
(LABEL 7)    (JRST 5)
             (MOVE O2 0 Q)
             (MOVE O1 (CONSTANT 1))
             (CALL + 2)
             (MOVE O2 O1)
             (MOVE O1 -1 Q)
             (CALL LISP::HEADER-REF 2)
             (JRST 6)
(LABEL 5)    (MOVE O2 0 Q)
             (MOVE O1 (CONSTANT 2))
             (CALL ERROR 2)
(LABEL 6)    (JRST 4)
(LABEL 3)    (MOVE O1 0 Q)
             (CALL ZEROP 1)
             (JUMPE O1 9)
             (MOVE O1 -1 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (JRST 10)
(LABEL 9)    (MOVE O2 0 Q)
             (MOVE O1 (CONSTANT 2))
             (CALL ERROR 2)
(LABEL 10)
(LABEL 4)    (SUBI Q 2)
             (POPJ P)
)

(%PUT (QUOTE ARRAY-DIMENSION) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ARRAY AXIS-NUMBER))) 
(%PUT (QUOTE ARRAY-DIMENSION) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE ARRAY-DIMENSION) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE ARRAY-DIMENSIONS) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns a list whose elements are the dimensions of the array")) 

#_(LAP #0_ARRAY-DIMENSIONS EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(4)
       (CODE-START)
(LABEL 1)    (ADDI Q 5)
             (MOVEM O1 -4 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 3)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -3 Q)
             (MOVE O1 -4 Q)
             (CALL LISP::HEADER-LENGTH 1)
             (MOVEM O1 -2 Q)
             (MOVEM NIL -1 Q)
(LABEL 9)    (MOVE O2 -2 Q)
             (MOVE O1 -3 Q)
             (CALL = 2)
             (JUMPE O1 10)
             (MOVE O1 -1 Q)
             (CALL NREVERSE 1)
             (JRST 5)
(LABEL 10)   (MOVE O2 -3 Q)
             (MOVE O1 -4 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 0 Q)
             (MOVE O2 -1 Q)
             (CALL CONS 2)
             (MOVEM O1 -1 Q)
             (MOVE O1 -3 Q)
             (CALL 1+ 1)
             (MOVEM O1 -3 Q)
             (JRST 9)
(LABEL 5)    (JRST 4)
(LABEL 3)    (MOVE O1 -4 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (CALL LIST 1)
(LABEL 4)    (SUBI Q 5)
             (POPJ P)
)

(%PUT (QUOTE ARRAY-DIMENSIONS) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ARRAY))) 
(%PUT (QUOTE ARRAY-DIMENSIONS) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE ARRAY-DIMENSIONS) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE ARRAY-TOTAL-SIZE) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns the total number of elements in the Array.")) 

#_(LAP #0_ARRAY-TOTAL-SIZE EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(1)
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 3)
             (MOVE O2 (CONSTANT 0))
             (MOVE O1 0 Q)
             (CALL LISP::HEADER-REF 2)
             (JRST 4)
(LABEL 3)    (MOVE O1 0 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
(LABEL 4)    (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE ARRAY-TOTAL-SIZE) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ARRAY))) 
(%PUT (QUOTE ARRAY-TOTAL-SIZE) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE ARRAY-TOTAL-SIZE) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE ARRAY-IN-BOUNDS-P) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns T if the Subscipts are in bounds for the Array, Nil otherwise.")) 

#_(LAP #0_ARRAY-IN-BOUNDS-P EXPR
       (ENTRY-POINTS (2-FEW 2 3 4 5 6 7) REST)
       #0_(4 T -1)
       (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 -7 Q)
             (MOVEM O2 -6 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 9)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -5 Q)
             (MOVE O1 -7 Q)
             (CALL ARRAY-RANK 1)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 0))
             (CALL + 2)
             (MOVEM O1 -4 Q)
             (MOVE O5 -6 Q)
             (MOVEM O5 -3 Q)
(LABEL 15)   (MOVE O2 -4 Q)
             (MOVE O1 -5 Q)
             (CALL = 2)
             (JUMPE O1 16)
             (MOVE O1 -3 Q)
             (CALL ATOM 1)
             (JUMPE O1 18)
             (MOVE O1 (CONSTANT 1))
             (MOVEI N 1)
             (JRST 19)
(LABEL 18)   (MOVE O1 NIL)
             (MOVEI N 1)
(LABEL 19)   (JRST 11)
(LABEL 16)   (MOVE O1 -3 Q)
             (CALL ATOM 1)
             (JUMPE O1 20)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 11)
(LABEL 20)   (MOVE O1 -3 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -1 Q)
             (MOVE O2 -5 Q)
             (MOVE O1 -7 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 0 Q)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 2))
             (MOVE O2 -1 Q)
             (CALL < 3)
             (JUMPN O1 22)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 11)
(LABEL 22)   (MOVE O1 -5 Q)
             (CALL 1+ 1)
             (MOVEM O1 -2 Q)
             (MOVE O1 -3 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -1 Q)
             (MOVE O1 -2 Q)
             (MOVEM O1 -5 Q)
             (MOVE O1 O5)
             (MOVEM O1 -3 Q)
             (JRST 15)
(LABEL 11)   (JRST 10)
(LABEL 9)    (MOVE O1 -6 Q)
             (SKIPE NIL 1 O1)
             (JRST 24)
             (MOVE O1 -6 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -5 Q)
             (MOVE O1 -7 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 2))
             (MOVE O2 -5 Q)
             (CALL < 3)
             (JRST 25)
(LABEL 24)   (MOVE O1 NIL)
             (MOVEI N 1)
(LABEL 25)
(LABEL 10)   (SUBI Q 8)
             (POPJ P)
)

(%PUT (QUOTE ARRAY-IN-BOUNDS-P) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ARRAY &REST SUBSCRIPTS))) 
(%PUT (QUOTE ARRAY-IN-BOUNDS-P) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE ARRAY-IN-BOUNDS-P) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE ARRAY-ROW-MAJOR-INDEX) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns the index into the Array's data vector for the given subscripts.")) 

#_(LAP #0_ARRAY-ROW-MAJOR-INDEX EXPR
       (ENTRY-POINTS (2-FEW 2 3 4 5 6 7) REST)
       #0_(1 0 3 "Too many subscripts for array reference." "Too few subscripts for array reference." -1 "Subscript ~S is out of bounds.")
       (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 10)
             (MOVEM O1 -9 Q)
             (MOVEM O2 -8 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 9)
             (MOVE O1 -8 Q)
             (CALL NREVERSE 1)
             (MOVEM O1 -6 Q)
             (MOVE O1 -9 Q)
             (CALL LISP::HEADER-LENGTH 1)
             (CALL 1- 1)
             (MOVEM O1 -5 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -4 Q)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -3 Q)
             (MOVEM NIL -2 Q)
(LABEL 15)   (MOVE O2 (CONSTANT 2))
             (MOVE O1 -5 Q)
             (CALL = 2)
             (JUMPE O1 16)
             (MOVE O1 -6 Q)
             (CALL ATOM 1)
             (JUMPE O1 18)
             (MOVE O1 -3 Q)
             (MOVEI N 1)
             (JRST 19)
(LABEL 18)   (MOVE O1 (CONSTANT 3))
             (CALL ERROR 1)
(LABEL 19)   (JRST 11)
(LABEL 16)   (MOVE O2 -5 Q)
             (MOVE O1 -9 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -2 Q)
             (MOVE O1 -6 Q)
             (CALL ATOM 1)
             (JUMPE O1 21)
             (MOVE O1 (CONSTANT 4))
             (CALL ERROR 1)
             (JRST 20)
(LABEL 21)   (MOVE O1 -6 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O3 -2 Q)
             (MOVE O1 (CONSTANT 5))
             (MOVE O2 O5)
             (CALL < 3)
             (JUMPN O1 22)
             (MOVE O1 -6 Q)
             (MOVE O2 0 O1)
             (MOVE O1 (CONSTANT 6))
             (CALL ERROR 2)
             (JRST 20)
(LABEL 22)   (SKIPA)
             (JRST 23)
             (MOVE O1 -6 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O2 -4 Q)
             (MOVE O1 O5)
             (CALL * 2)
             (MOVE O2 O1)
             (MOVE O1 -3 Q)
             (CALL + 2)
             (MOVEM O1 -3 Q)
             (MOVE O2 -2 Q)
             (MOVE O1 -4 Q)
             (CALL * 2)
             (MOVEM O1 -4 Q)
(LABEL 23)
(LABEL 20)   (MOVE O1 -6 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -1 Q)
             (MOVE O1 -5 Q)
             (CALL 1- 1)
             (MOVEM O1 0 Q)
             (MOVE O1 -1 Q)
             (MOVEM O1 -6 Q)
             (MOVE O1 0 Q)
             (MOVEM O1 -5 Q)
             (JRST 15)
(LABEL 11)   (JRST 10)
(LABEL 9)    (MOVE O1 -8 Q)
             (CALL LENGTH 1)
             (MOVEM O1 -7 Q)
             (MOVE O2 (CONSTANT 0))
             (CALL > 2)
             (JUMPE O1 26)
             (MOVE O1 (CONSTANT 3))
             (CALL ERROR 1)
             (JRST 25)
(LABEL 26)   (SKIPE NIL -8 Q)
             (JRST 27)
             (MOVE O1 (CONSTANT 4))
             (CALL ERROR 1)
             (JRST 25)
(LABEL 27)   (MOVE O1 -8 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -7 Q)
             (MOVE O1 -9 Q)
             (CALL LENGTH 1)
             (CALL 1- 1)
             (MOVE O2 O1)
             (MOVE O1 -7 Q)
             (CALL > 2)
             (JUMPN1 O1 29)
             (MOVE O1 -8 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -7 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 O5)
             (CALL < 2)
             (SKIPN NIL O1)
(LABEL 29)   (JRST 28)
             (MOVE O1 -8 Q)
             (MOVE O2 0 O1)
             (MOVE O1 (CONSTANT 6))
             (CALL ERROR 2)
             (JRST 25)
(LABEL 28)   (SKIPA)
             (JRST 30)
             (MOVE O1 -8 Q)
             (MOVE O1 0 O1)
             (MOVEI N 1)
(LABEL 30)
(LABEL 25)
(LABEL 10)   (SUBI Q 10)
             (POPJ P)
)

(%PUT (QUOTE ARRAY-ROW-MAJOR-INDEX) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ARRAY &REST SUBSCRIPTS))) 
(%PUT (QUOTE ARRAY-ROW-MAJOR-INDEX) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE ARRAY-ROW-MAJOR-INDEX) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE ADJUSTABLE-ARRAY-P) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns T if the given Array is adjustable, or Nil otherwise.")) 

#_(LAP #0_ADJUSTABLE-ARRAY-P 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)
             (CALL LISP::SLISP-ARRAY-P 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE ADJUSTABLE-ARRAY-P) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ARRAY))) 
(%PUT (QUOTE ADJUSTABLE-ARRAY-P) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE ADJUSTABLE-ARRAY-P) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE ARRAY-HAS-FILL-POINTER-P) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns T if the given Array has a fill pointer, or Nil otherwise.")) 

#_(LAP #0_ARRAY-HAS-FILL-POINTER-P 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)
             (CALL VECTORP 1)
             (JUMPE O1 3)
             (MOVE O1 0 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JRST 4)
(LABEL 3)    (MOVE O1 NIL)
             (MOVEI N 1)
(LABEL 4)    (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE ARRAY-HAS-FILL-POINTER-P) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ARRAY))) 
(%PUT (QUOTE ARRAY-HAS-FILL-POINTER-P) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE ARRAY-HAS-FILL-POINTER-P) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE FILL-POINTER) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns the fill pointer of the Vector.")) 

#_(LAP #0_FILL-POINTER EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(2 "~S is not an array with a fill pointer.")
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (CALL VECTORP 1)
             (JUMPE O1 5)
             (MOVE O1 0 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (SKIPN NIL O1)
(LABEL 5)    (JRST 3)
             (MOVE O2 (CONSTANT 0))
             (MOVE O1 0 Q)
             (CALL LISP::HEADER-REF 2)
             (JRST 4)
(LABEL 3)    (MOVE O2 0 Q)
             (MOVE O1 (CONSTANT 1))
             (CALL ERROR 2)
(LABEL 4)    (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE FILL-POINTER) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (VECTOR))) 
(%PUT (QUOTE FILL-POINTER) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE FILL-POINTER) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE %SET-FILL-POINTER) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Sets the fill pointer of the given Vector to Index.")) 

#_(LAP #0_%SET-FILL-POINTER EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(1 "New fill pointer, ~S, is larger than the length of array." 2 "~S is not an array with a fill pointer.")
       (CODE-START)
(LABEL 1)    (ADDI Q 2)
             (MOVEM O1 -1 Q)
             (MOVEM O2 0 Q)
             (CALL VECTORP 1)
             (JUMPE O1 5)
             (MOVE O1 -1 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (SKIPN NIL O1)
(LABEL 5)    (JRST 3)
             (MOVE O2 (CONSTANT 0))
             (MOVE O1 -1 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVE O2 O1)
             (MOVE O1 0 Q)
             (CALL > 2)
             (JUMPE O1 7)
             (MOVE O2 0 Q)
             (MOVE O1 (CONSTANT 1))
             (CALL ERROR 2)
             (JRST 8)
(LABEL 7)    (MOVE O3 0 Q)
             (MOVE O1 -1 Q)
             (MOVE O2 (CONSTANT 2))
             (CALL LISP::HEADER-SET 3)
(LABEL 8)    (JRST 4)
(LABEL 3)    (MOVE O2 -1 Q)
             (MOVE O1 (CONSTANT 3))
             (CALL ERROR 2)
(LABEL 4)    (SUBI Q 2)
             (POPJ P)
)

(%PUT (QUOTE %SET-FILL-POINTER) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (VECTOR INDEX))) 
(%PUT (QUOTE %SET-FILL-POINTER) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE %SET-FILL-POINTER) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE VECTOR-PUSH) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Attempts to set the element of Array designated by the fill pointer
   to New-El and increment fill pointer by one.  If the fill pointer is
   too large, () is returned, otherwise the new fill pointer value is 
   returned.")) 

#_(LAP #0_VECTOR-PUSH EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(2 1 0 3 "~S: Object has no fill pointer.")
       (CODE-START)
(LABEL 1)    (ADDI Q 5)
             (MOVEM O1 -4 Q)
             (MOVEM O2 -3 Q)
             (MOVE O1 O2)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 3)
             (MOVE O2 (CONSTANT 0))
             (MOVE O1 -3 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -2 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -3 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVE O2 O1)
             (MOVE O1 -2 Q)
             (CALL = 2)
             (JUMPE O1 6)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 5)
(LABEL 6)    (SKIPA)
             (JRST 7)
             (MOVE O1 -2 Q)
             (CALL 1+ 1)
             (MOVE O3 O1)
             (MOVE O1 -3 Q)
             (MOVE O2 (CONSTANT 0))
             (CALL LISP::HEADER-SET 3)
             (MOVE O2 (CONSTANT 2))
             (MOVE O1 -3 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -1 Q)
             (MOVE O2 (CONSTANT 3))
             (MOVE O1 -3 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVE O2 O1)
             (MOVE O1 -2 Q)
             (CALL + 2)
             (MOVEM O1 0 Q)
             (MOVE O3 -4 Q)
             (MOVE O1 -1 Q)
             (MOVE O2 0 Q)
             (CALL LISP::%SP-SASET1 3)
             (MOVE O1 -2 Q)
             (CALL 1+ 1)
(LABEL 7)
(LABEL 5)    (JRST 4)
(LABEL 3)    (MOVE O2 -3 Q)
             (MOVE O1 (CONSTANT 4))
             (CALL ERROR 2)
(LABEL 4)    (SUBI Q 5)
             (POPJ P)
)

(%PUT (QUOTE VECTOR-PUSH) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (NEW-EL ARRAY))) 
(%PUT (QUOTE VECTOR-PUSH) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE VECTOR-PUSH) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE VECTOR-PUSH-EXTEND) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Like Vector-Push except that if the fill pointer gets too large, the
   Array is extended rather than () being returned.")) 

#_(LAP #0_VECTOR-PUSH-EXTEND EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 7 2-MANY 2-MANY 2-MANY))
       #0_(1000 10 1 2 0 3 :ELEMENT-TYPE 4 "~S has no fill pointer.")
       (CODE-START)
(LABEL 1)    (ADDI Q 10)
             (MOVEM O1 -9 Q)
             (MOVEM O2 -8 Q)
             (MOVE O1 O2)
             (CALL LENGTH 1)
             (MOVEM O1 -4 Q)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 0))
             (CALL < 2)
             (JUMPE O1 2)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -6 Q)
             (JRST 3)
(LABEL 2)    (MOVE O5 -4 Q)
             (MOVEM O5 -6 Q)
(LABEL 3)    (MOVE O2 -6 Q)
             (MOVE O1 (CONSTANT 1))
             (CALL > 2)
             (JUMPE O1 4)
             (MOVE O3 (CONSTANT 1))
             (JRST 5)
(LABEL 4)    (MOVE O3 -6 Q)
(LABEL 5)    (MOVEM O3 -7 Q)
             (JRST 6)
(LABEL 7)    (ADDI Q 10)
             (MOVEM O1 -9 Q)
             (MOVEM O2 -8 Q)
             (MOVEM O3 -7 Q)
(LABEL 6)    (MOVE O1 -8 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 9)
             (MOVE O2 (CONSTANT 2))
             (MOVE O1 -8 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -6 Q)
             (MOVE O2 (CONSTANT 3))
             (MOVE O1 -8 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (CONSTANT 4))
             (MOVE O1 -8 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -6 Q)
             (MOVE O1 -5 Q)
             (CALL = 2)
             (JUMPE O1 11)
             (MOVE O5 (CONSTANT 4))
             (MOVEM O5 -3 Q)
             (MOVE O2 -7 Q)
             (MOVE O1 -6 Q)
             (CALL + 2)
             (MOVEM O1 -2 Q)
             (MOVE O2 (CONSTANT 5))
             (MOVE O1 -8 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -1 Q)
             (MOVE O1 -8 Q)
             (CALL ARRAY-ELEMENT-TYPE 1)
             (MOVE O3 O1)
             (MOVE O1 -2 Q)
             (MOVE O2 (CONSTANT 6))
             (CALL MAKE-ARRAY 3)
             (MOVEM O1 0 Q)
(LABEL 17)   (MOVE O2 -6 Q)
             (MOVE O1 -3 Q)
             (CALL = 2)
             (JUMPE O1 18)
             (MOVE O3 0 Q)
             (MOVE O1 -8 Q)
             (MOVE O2 (CONSTANT 4))
             (CALL LISP::HEADER-SET 3)
             (MOVE O1 0 Q)
             (MOVEM O1 -4 Q)
             (MOVE O3 -2 Q)
             (MOVE O1 -8 Q)
             (MOVE O2 (CONSTANT 2))
             (CALL LISP::HEADER-SET 3)
             (MOVE O3 -2 Q)
             (MOVE O1 -8 Q)
             (MOVE O2 (CONSTANT 7))
             (CALL LISP::HEADER-SET 3)
             (JRST 13)
(LABEL 18)   (MOVE O2 -1 Q)
             (MOVE O1 -4 Q)
             (CALL LISP::%SP-SAREF1 2)
             (MOVE O3 O1)
             (MOVE O1 0 Q)
             (MOVE O2 -3 Q)
             (CALL LISP::%SP-SASET1 3)
             (MOVE O1 -3 Q)
             (CALL 1+ 1)
             (MOVEM O1 -3 Q)
             (MOVE O1 -1 Q)
             (CALL 1+ 1)
             (MOVEM O1 -1 Q)
             (JRST 17)
(LABEL 13)
(LABEL 11)   (MOVE O1 -5 Q)
             (CALL 1+ 1)
             (MOVE O3 O1)
             (MOVE O1 -8 Q)
             (MOVE O2 (CONSTANT 3))
             (CALL LISP::HEADER-SET 3)
             (MOVE O2 (CONSTANT 5))
             (MOVE O1 -8 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVE O2 O1)
             (MOVE O1 -5 Q)
             (CALL + 2)
             (MOVEM O1 -3 Q)
             (MOVE O3 -9 Q)
             (MOVE O1 -4 Q)
             (MOVE O2 -3 Q)
             (CALL LISP::%SP-SASET1 3)
             (MOVE O1 -5 Q)
             (CALL 1+ 1)
             (JRST 10)
(LABEL 9)    (MOVE O2 -8 Q)
             (MOVE O1 (CONSTANT 8))
             (CALL ERROR 2)
(LABEL 10)   (SUBI Q 10)
             (POPJ P)
)

(%PUT (QUOTE VECTOR-PUSH-EXTEND) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (NEW-EL ARRAY &OPTIONAL (EXTENSION (MAX 10 (MIN 1000 (LENGTH ARRAY))))))) 
(%PUT (QUOTE VECTOR-PUSH-EXTEND) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE VECTOR-PUSH-EXTEND) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE VECTOR-POP) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Attempts to decrease the fill-pointer by 1 and return the element
   pointer to by the new fill pointer.  If the new value of the fill
   pointer is 0, an error occurs.")) 

#_(LAP #0_VECTOR-POP EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(2 1 "Fill-pointer reached 0." 0 3 "~S: Object has no fill pointer.")
       (CODE-START)
(LABEL 1)    (ADDI Q 4)
             (MOVEM O1 -3 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 3)
             (MOVE O2 (CONSTANT 0))
             (MOVE O1 -3 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -2 Q)
             (MOVE O2 (CONSTANT 1))
             (CALL < 2)
             (JUMPE O1 6)
             (MOVE O1 (CONSTANT 2))
             (CALL ERROR 1)
             (JRST 5)
(LABEL 6)    (SKIPA)
             (JRST 7)
             (MOVE O1 -2 Q)
             (CALL 1- 1)
             (MOVE O3 O1)
             (MOVE O1 -3 Q)
             (MOVE O2 (CONSTANT 0))
             (CALL LISP::HEADER-SET 3)
             (MOVE O2 (CONSTANT 3))
             (MOVE O1 -3 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -1 Q)
             (MOVE O1 -2 Q)
             (CALL 1- 1)
             (MOVEM O1 0 Q)
             (MOVE O2 (CONSTANT 4))
             (MOVE O1 -3 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVE O2 O1)
             (MOVE O1 0 Q)
             (CALL + 2)
             (MOVE O2 O1)
             (MOVE O1 -1 Q)
             (CALL LISP::%SP-SAREF1 2)
(LABEL 7)
(LABEL 5)    (JRST 4)
(LABEL 3)    (MOVE O2 -3 Q)
             (MOVE O1 (CONSTANT 5))
             (CALL ERROR 2)
(LABEL 4)    (SUBI Q 4)
             (POPJ P)
)

(%PUT (QUOTE VECTOR-POP) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ARRAY))) 
(%PUT (QUOTE VECTOR-POP) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE VECTOR-POP) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE SHRINK-VECTOR) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Destructively alters the Vector, changing its length to New-Size, which
   must be less than or equal to its current size.")) 

#_(LAP #0_SHRINK-VECTOR EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(0 1)
       (CODE-START)
(LABEL 1)    (ADDI Q 3)
             (MOVEM O1 -2 Q)
             (MOVEM O2 -1 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 4)
             (MOVE O2 (CONSTANT 0))
             (MOVE O1 -2 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 0 Q)
             (MOVE O2 -1 Q)
             (CALL LISP::%SP-SHRINK-VECTOR 2)
             (MOVE O3 -1 Q)
             (MOVE O1 -2 Q)
             (MOVE O2 (CONSTANT 1))
             (CALL LISP::HEADER-SET 3)
             (JRST 3)
(LABEL 4)    (SKIPA)
             (JRST 5)
             (MOVE O2 -1 Q)
             (MOVE O1 -2 Q)
             (CALL LISP::%SP-SHRINK-VECTOR 2)
(LABEL 5)
(LABEL 3)    (SUBI Q 3)
             (POPJ P)
)

(%PUT (QUOTE SHRINK-VECTOR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (VECTOR NEW-SIZE))) 
(%PUT (QUOTE SHRINK-VECTOR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE SHRINK-VECTOR) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE ADJUST-ARRAY) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Adjusts the Array's dimensions to the given Dimensions.  See manual
  for details.")) 

#_(LAP #0_ADJUST-ARRAY EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_(:ELEMENT-TYPE T :INITIAL-ELEMENT %%DEFAULT :INITIAL-CONTENTS :FILL-POINTER :DISPLACED-TO :DISPLACED-INDEX-OFFSET 0 (:DISPLACED-INDEX-OFFSET :DISPLACED-TO :FILL-POINTER :INITIAL-CONTENTS :INITIAL-ELEMENT :ELEMENT-TYPE) 10 "~S is not an adjustable array." "Number of dimensions not equal to rank of array." "New element type, ~S, is incompatible with old." MAKE-ARRAY 2 1 BIT (MOD 2) MOD 4 "Multidimensional arrays can't have fill pointers.")
       (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 19)
             (MOVEM O1 -12 Q)
             (MOVEM O2 -11 Q)
             (MOVEM O3 -10 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 -18 Q)
             (MOVE O2 -10 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 -17 Q)
             (MOVE O2 -10 Q)
(LABEL 12)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 4))
             (JUMPN O4 12)
             (MOVEM O1 -16 Q)
             (MOVE O2 -10 Q)
(LABEL 14)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 5))
             (JUMPN O4 14)
             (MOVEM O1 -15 Q)
             (MOVE O2 -10 Q)
(LABEL 16)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 6))
             (JUMPN O4 16)
             (MOVEM O1 -14 Q)
             (MOVE O2 -10 Q)
(LABEL 18)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 7))
             (JRST 17)
             (JUMPN O2 18)
             (MOVE O1 (CONSTANT 8))
(LABEL 17)   (MOVEM O1 -13 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -9 Q)
             (MOVE O2 (CONSTANT 9))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O1 -11 Q)
             (CALL ATOM 1)
             (JUMPE O1 20)
             (MOVE O1 -11 Q)
             (CALL LIST 1)
             (MOVEM O1 -11 Q)
(LABEL 20)   (MOVE O1 -12 Q)
             (CALL LISP::%SP-TYPE 1)
             (MOVEM O1 -9 Q)
             (MOVE O2 (CONSTANT 10))
             (CALL = 2)
             (JUMPN O1 22)
             (MOVE O2 -12 Q)
             (MOVE O1 (CONSTANT 11))
             (CALL ERROR 2)
(LABEL 22)   (MOVE O1 -11 Q)
             (CALL LENGTH 1)
             (MOVEM O1 -9 Q)
             (MOVE O1 -12 Q)
             (CALL ARRAY-RANK 1)
             (MOVE O2 O1)
             (MOVE O1 -9 Q)
             (CALL = 2)
             (JUMPN O1 24)
             (MOVE O1 (CONSTANT 12))
             (CALL ERROR 1)
(LABEL 24)   (SKIPN NIL -18 Q)
             (JRST 28)
             (MOVE O1 -12 Q)
             (CALL ARRAY-ELEMENT-TYPE 1)
             (MOVE O2 O1)
             (MOVE O1 -18 Q)
             (CALL SUBTYPEP 2)
             (SKIPE NIL O1)
(LABEL 28)   (JRST 26)
             (MOVE O2 -18 Q)
             (MOVE O1 (CONSTANT 13))
             (CALL ERROR 2)
(LABEL 26)   (SKIPE NIL -16 Q)
             (JRST1 32)
             (SKIPN NIL -14 Q)
(LABEL 32)   (JRST 31)
             (MOVE O3 -10 Q)
             (MOVE O1 (CONSTANT 14))
             (MOVE O2 -11 Q)
             (CALL APPLY 3)
             (JRST 30)
(LABEL 31)   (MOVE O1 -11 Q)
             (SKIPE NIL 1 O1)
             (JRST 33)
             (MOVE O2 (CONSTANT 1))
             (CAME O2 -15 Q)
             (JRST 34)
             (MOVE O1 -11 Q)
             (MOVE O1 0 O1)
             (MOVEM O1 -15 Q)
(LABEL 34)   (SKIPN NIL -15 Q)
             (JRST 36)
             (MOVE O3 -15 Q)
             (MOVE O1 -12 Q)
             (MOVE O2 (CONSTANT 15))
             (CALL LISP::HEADER-SET 3)
(LABEL 36)   (MOVE O2 (CONSTANT 16))
             (MOVE O1 -12 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -8 Q)
             (MOVE O1 -11 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -7 Q)
             (MOVE O2 (CONSTANT 8))
             (MOVE O1 -12 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -6 Q)
             (MOVE O3 -7 Q)
             (MOVE O1 -12 Q)
             (MOVE O2 (CONSTANT 16))
             (CALL LISP::HEADER-SET 3)
             (MOVE O2 -7 Q)
             (MOVE O1 -8 Q)
             (CALL > 2)
             (JUMPE O1 39)
             (MOVE O2 -7 Q)
             (MOVE O1 -6 Q)
             (CALL LISP::%SP-SHRINK-VECTOR 2)
             (JRST 38)
(LABEL 39)   (MOVE O2 -7 Q)
             (MOVE O1 -8 Q)
             (CALL < 2)
             (JUMPE O1 40)
             (MOVE O1 -18 Q)
             (SKIPE NIL O1)
             (MOVEM O1 -4 Q)
             (JUMPN O1 41)
             (MOVE O1 -12 Q)
             (CALL ARRAY-ELEMENT-TYPE 1)
             (MOVEM O1 -4 Q)
(LABEL 41)   (MOVE O2 (CONSTANT 17))
             (CAME O2 -4 Q)
             (JRST 43)
             (MOVE O3 -17 Q)
             (MOVE O1 -7 Q)
             (MOVE O2 (CONSTANT 18))
             (CALL LISP::U-DATA-VEC 3)
             (MOVEM O1 -3 Q)
             (JRST 42)
(LABEL 43)   (MOVE O1 -4 Q)
             (CALL LISTP 1)
             (JUMPE O1 45)
             (MOVE O1 -4 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -2 Q)
             (MOVE O2 (CONSTANT 19))
             (CAME O2 -2 Q)
(LABEL 45)   (JRST 44)
             (MOVE O3 -17 Q)
             (MOVE O1 -7 Q)
             (MOVE O2 -4 Q)
             (CALL LISP::U-DATA-VEC 3)
             (MOVEM O1 -3 Q)
             (JRST 42)
(LABEL 44)   (SKIPA)
             (JRST 47)
             (MOVE O3 -17 Q)
             (MOVE O1 -7 Q)
             (MOVE O2 -4 Q)
             (CALL LISP::B-DATA-VEC 3)
             (MOVEM O1 -3 Q)
(LABEL 47)
(LABEL 42)   (MOVE O2 -6 Q)
             (MOVE O1 -3 Q)
             (CALL REPLACE 2)
             (MOVE O3 -3 Q)
             (MOVE O1 -12 Q)
             (MOVE O2 (CONSTANT 8))
             (CALL LISP::HEADER-SET 3)
(LABEL 40)
(LABEL 38)   (MOVE O3 -7 Q)
             (MOVE O1 -12 Q)
             (MOVE O2 (CONSTANT 20))
             (CALL LISP::HEADER-SET 3)
             (JRST 30)
(LABEL 33)   (SKIPA)
             (JRST 50)
             (SKIPN NIL -15 Q)
             (JRST 51)
             (MOVE O1 (CONSTANT 21))
             (CALL ERROR 1)
(LABEL 51)   (MOVE O2 (CONSTANT 16))
             (MOVE O1 -12 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -8 Q)
             (MOVE O5 -11 Q)
             (MOVEM O5 -5 Q)
             (MOVE O5 (CONSTANT 16))
             (MOVEM O5 -4 Q)
(LABEL 57)   (SKIPE NIL -5 Q)
             (JRST 58)
             (MOVE O5 -4 Q)
             (MOVEM O5 -7 Q)
             (JRST 53)
(LABEL 58)   (MOVE O1 -5 Q)
             (MOVE O2 0 O1)
             (MOVE O1 -4 Q)
             (CALL * 2)
             (MOVEM O1 -4 Q)
             (MOVE O1 -5 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -5 Q)
             (JRST 57)
(LABEL 53)   (MOVE O2 (CONSTANT 8))
             (MOVE O1 -12 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -6 Q)
             (MOVE O2 -8 Q)
             (MOVE O1 -7 Q)
             (CALL > 2)
             (JUMPE O1 60)
             (MOVE O2 (CONSTANT 17))
             (CAME O2 -18 Q)
             (JRST 63)
             (MOVE O3 -17 Q)
             (MOVE O1 -7 Q)
             (MOVE O2 (CONSTANT 18))
             (CALL LISP::U-DATA-VEC 3)
             (MOVEM O1 -5 Q)
             (JRST 62)
(LABEL 63)   (MOVE O1 -18 Q)
             (CALL LISTP 1)
             (JUMPE O1 65)
             (MOVE O1 -18 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -4 Q)
             (MOVE O2 (CONSTANT 19))
             (CAME O2 -4 Q)
(LABEL 65)   (JRST 64)
             (MOVE O3 -17 Q)
             (MOVE O1 -7 Q)
             (MOVE O2 -18 Q)
             (CALL LISP::U-DATA-VEC 3)
             (MOVEM O1 -5 Q)
             (JRST 62)
(LABEL 64)   (SKIPA)
             (JRST 67)
             (MOVE O3 -17 Q)
             (MOVE O1 -7 Q)
             (MOVE O2 -18 Q)
             (CALL LISP::B-DATA-VEC 3)
             (MOVEM O1 -5 Q)
(LABEL 67)
(LABEL 62)   (JRST 61)
(LABEL 60)   (MOVE O5 -6 Q)
             (MOVEM O5 -5 Q)
(LABEL 61)   (MOVE O3 -7 Q)
             (MOVE O1 -12 Q)
             (MOVE O2 (CONSTANT 16))
             (CALL LISP::HEADER-SET 3)
             (MOVE O3 -5 Q)
             (MOVE O1 -12 Q)
             (MOVE O2 (CONSTANT 8))
             (CALL LISP::HEADER-SET 3)
             (MOVE O1 -12 Q)
             (CALL ARRAY-DIMENSIONS 1)
             (MOVEM O1 -3 Q)
             (MOVE O4 -11 Q)
             (MOVE O1 -6 Q)
             (MOVE O2 -3 Q)
             (MOVE O3 -5 Q)
             (CALL LISP::ZAP-ARRAY-DATA 4)
             (MOVE O5 -11 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 (CONSTANT 20))
             (MOVEM O5 -2 Q)
(LABEL 73)   (SKIPE NIL -3 Q)
             (JRST 74)
             (JRST 69)
(LABEL 74)   (MOVE O1 -3 Q)
             (MOVE O3 0 O1)
             (MOVE O1 -12 Q)
             (MOVE O2 -2 Q)
             (CALL LISP::HEADER-SET 3)
             (MOVE O1 -3 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -1 Q)
             (MOVE O1 -2 Q)
             (CALL 1+ 1)
             (MOVEM O1 0 Q)
             (MOVE O1 -1 Q)
             (MOVEM O1 -3 Q)
             (MOVE O1 0 Q)
             (MOVEM O1 -2 Q)
             (JRST 73)
(LABEL 69)
(LABEL 50)
(LABEL 30)   (MOVE O1 -12 Q)
             (MOVEI N 1)
             (SUBI Q 19)
             (POPJ P)
)

(%PUT (QUOTE ADJUST-ARRAY) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ARRAY DIMENSIONS &REST OPTIONS &KEY (ELEMENT-TYPE T) (INITIAL-ELEMENT (QUOTE %%DEFAULT)) (INITIAL-CONTENTS) (FILL-POINTER NIL) (DISPLACED-TO NIL) (DISPLACED-INDEX-OFFSET 0)))) 
(%PUT (QUOTE ADJUST-ARRAY) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE ADJUST-ARRAY) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_ZAP-ARRAY-DATA-INTERNAL-48 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 < 2)
             (JUMPE O1 3)
             (MOVE O1 -1 Q)
             (JRST 4)
(LABEL 3)    (MOVE O1 0 Q)
(LABEL 4)    (CALL 1- 1)
             (SUBI Q 2)
             (POPJ P)
)


#_(LAP #0_ZAP-ARRAY-DATA EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 2-FEW 1 2-MANY 2-MANY))
       #0_(ZAP-ARRAY-DATA-INTERNAL-48 :INITIAL-ELEMENT 0 1)
       (CODE-START)
(LABEL 1)    (ADDI Q 16)
             (MOVEM O1 -15 Q)
             (MOVEM O2 -14 Q)
             (MOVEM O3 -13 Q)
             (MOVEM O4 -12 Q)
             (MOVE O1 O2)
             (CALL NREVERSE 1)
             (MOVEM O1 -14 Q)
             (MOVE O1 -12 Q)
             (CALL REVERSE 1)
             (MOVEM O1 -12 Q)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 0))
             (MOVE O2 -14 Q)
             (CALL MAPCAR 3)
             (MOVEM O1 -11 Q)
             (MOVE O1 -14 Q)
             (CALL LENGTH 1)
             (MOVEM O1 -9 Q)
             (MOVE O3 (CONSTANT 2))
             (MOVE O2 (CONSTANT 1))
             (CALL MAKE-LIST 3)
             (MOVEM O1 -10 Q)
(LABEL 7)    (SKIPE NIL -10 Q)
             (JRST 8)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 3)
(LABEL 8)    (MOVE O5 -10 Q)
             (MOVEM O5 -7 Q)
             (MOVE O5 -12 Q)
             (MOVEM O5 -6 Q)
             (MOVE O5 (CONSTANT 3))
             (MOVEM O5 -5 Q)
             (MOVE O5 (CONSTANT 2))
             (MOVEM O5 -4 Q)
(LABEL 14)   (SKIPE NIL -6 Q)
             (JRST 15)
             (MOVE O5 -4 Q)
             (MOVEM O5 -8 Q)
             (JRST 10)
(LABEL 15)   (MOVE O1 -7 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -2 Q)
             (MOVE O2 -5 Q)
             (MOVE O1 O5)
             (CALL * 2)
             (MOVE O2 O1)
             (MOVE O1 -4 Q)
             (CALL + 2)
             (MOVEM O1 -4 Q)
             (MOVE O1 -6 Q)
             (MOVE O2 0 O1)
             (MOVE O1 -5 Q)
             (CALL * 2)
             (MOVEM O1 -5 Q)
             (MOVE O1 -7 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -3 Q)
             (MOVE O1 -6 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -2 Q)
             (MOVE O1 -3 Q)
             (MOVEM O1 -7 Q)
             (MOVE O1 O5)
             (MOVEM O1 -6 Q)
             (JRST 14)
(LABEL 10)   (MOVE O5 -10 Q)
             (MOVEM O5 -5 Q)
             (MOVE O5 -14 Q)
             (MOVEM O5 -4 Q)
             (MOVE O5 (CONSTANT 3))
             (MOVEM O5 -3 Q)
             (MOVE O5 (CONSTANT 2))
             (MOVEM O5 -2 Q)
(LABEL 21)   (SKIPE NIL -4 Q)
             (JRST 22)
             (MOVE O2 -2 Q)
             (JRST 17)
(LABEL 22)   (MOVE O1 -5 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O2 -3 Q)
             (MOVE O1 O5)
             (CALL * 2)
             (MOVE O2 O1)
             (MOVE O1 -2 Q)
             (CALL + 2)
             (MOVEM O1 -2 Q)
             (MOVE O1 -4 Q)
             (MOVE O2 0 O1)
             (MOVE O1 -3 Q)
             (CALL * 2)
             (MOVEM O1 -3 Q)
             (MOVE O1 -5 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -1 Q)
             (MOVE O1 -4 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 0 Q)
             (MOVE O1 -1 Q)
             (MOVEM O1 -5 Q)
             (MOVE O1 O5)
             (MOVEM O1 -4 Q)
             (JRST 21)
(LABEL 17)   (MOVE O1 -15 Q)
             (CALL LISP::%SP-SAREF1 2)
             (MOVE O3 O1)
             (MOVE O1 -13 Q)
             (MOVE O2 -8 Q)
             (CALL LISP::%SP-SASET1 3)
             (MOVE O5 -10 Q)
             (MOVEM O5 -8 Q)
             (MOVE O5 -11 Q)
             (MOVEM O5 -7 Q)
(LABEL 28)   (SKIPE NIL -8 Q)
             (JRST 29)
             (MOVE O1 NIL)
             (JRST 24)
(LABEL 29)   (MOVE O1 -8 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -6 Q)
             (MOVE O1 -7 Q)
             (MOVE O2 0 O1)
             (MOVE O1 O5)
             (CALL < 2)
             (JUMPE O1 32)
             (MOVE O1 -8 Q)
             (MOVE O1 0 O1)
             (CALL 1+ 1)
             (MOVE O2 O1)
             (MOVE O1 -8 Q)
             (CALL RPLACA 2)
             (MOVE O1 -10 Q)
             (JRST 24)
(LABEL 32)   (SKIPA)
             (JRST 33)
             (MOVE O2 (CONSTANT 2))
             (MOVE O1 -8 Q)
             (CALL RPLACA 2)
(LABEL 33)   (MOVE O1 -8 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -6 Q)
             (MOVE O1 -7 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -5 Q)
             (MOVE O1 -6 Q)
             (MOVEM O1 -8 Q)
             (MOVE O1 O5)
             (MOVEM O1 -7 Q)
             (JRST 28)
(LABEL 24)   (MOVEM O1 -10 Q)
             (JRST 7)
(LABEL 3)    (SUBI Q 16)
             (POPJ P)
)

(%PUT (QUOTE ZAP-ARRAY-DATA) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OLD-DATA OLD-DIMS NEW-DATA NEW-DIMS))) 
(%PUT (QUOTE ZAP-ARRAY-DATA) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE ZAP-ARRAY-DATA) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_BIT-ARRAY-SAME-DIMENSIONS-P EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(4 3 T)
       (CODE-START)
(LABEL 1)    (ADDI Q 6)
             (MOVEM O1 -5 Q)
             (MOVEM O2 -4 Q)
             (CALL LISP::HEADER-LENGTH 1)
             (MOVEM O1 -3 Q)
             (MOVE O1 -4 Q)
             (CALL LISP::HEADER-LENGTH 1)
             (MOVE O2 O1)
             (MOVE O1 -3 Q)
             (CALL = 2)
             (JUMPE O1 3)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -2 Q)
             (MOVE O1 -5 Q)
             (CALL LISP::HEADER-LENGTH 1)
             (MOVEM O1 0 Q)
             (MOVE O2 (CONSTANT 1))
             (CALL - 2)
             (MOVEM O1 -1 Q)
(LABEL 9)    (MOVE O2 -1 Q)
             (MOVE O1 -2 Q)
             (CALL = 2)
             (JUMPE O1 10)
             (MOVE O1 (CONSTANT 2))
             (MOVEI N 1)
             (JRST 5)
(LABEL 10)   (MOVE O2 -2 Q)
             (MOVE O1 -5 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 0 Q)
             (MOVE O2 -2 Q)
             (MOVE O1 -4 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVE O2 O1)
             (MOVE O1 0 Q)
             (CALL = 2)
             (JUMPN O1 12)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 5)
(LABEL 12)   (MOVE O1 -2 Q)
             (CALL 1+ 1)
             (MOVEM O1 -2 Q)
             (JRST 9)
(LABEL 5)    (JRST 4)
(LABEL 3)    (MOVE O1 NIL)
             (MOVEI N 1)
(LABEL 4)    (SUBI Q 6)
             (POPJ P)
)

(%PUT (QUOTE BIT-ARRAY-SAME-DIMENSIONS-P) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ARRAY1 ARRAY2))) 
(%PUT (QUOTE BIT-ARRAY-SAME-DIMENSIONS-P) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE BIT-ARRAY-SAME-DIMENSIONS-P) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_BIT-BASH MACRO
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(6 "Macro ~S cannot be called with ~S args." BIT-BASH DO ((INDEX 0 (1+ INDEX))) = INDEX %SP-SBITSET BOOLE %SP-SBIT (INDEX))
       (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 O1 -8 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -4 Q)
             (MOVE O1 -8 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -3 Q)
             (MOVE O1 -8 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -2 Q)
             (MOVE O3 O5)
             (MOVE O1 (CONSTANT 5))
             (MOVE O2 (CONSTANT 6))
             (CALL LIST 3)
             (MOVEM O1 -1 Q)
             (MOVE O2 -4 Q)
             (CALL LIST 2)
             (MOVEM O1 -1 Q)
             (MOVE O3 (CONSTANT 10))
             (MOVE O1 (CONSTANT 9))
             (MOVE O2 -6 Q)
             (CALL LIST* 3)
             (MOVEM O1 0 Q)
             (MOVE O3 (CONSTANT 10))
             (MOVE O1 (CONSTANT 9))
             (MOVE O2 -5 Q)
             (CALL LIST* 3)
             (MOVE O4 O1)
             (MOVE O1 (CONSTANT 8))
             (MOVE O2 -3 Q)
             (MOVE O3 0 Q)
             (CALL LIST 4)
             (MOVE O4 O1)
             (MOVE O1 (CONSTANT 7))
             (MOVE O2 -4 Q)
             (MOVE O3 (CONSTANT 6))
             (CALL LIST 4)
             (MOVE O4 O1)
             (MOVE O1 (CONSTANT 3))
             (MOVE O2 (CONSTANT 4))
             (MOVE O3 -1 Q)
             (CALL LIST 4)
(LABEL 5)
(LABEL 3)    (SUBI Q 9)
             (POPJ P)
)

(%PUT (QUOTE BIT-BASH) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ARRAY1 ARRAY2 RESULT-ARRAY OP LENGTH))) 
(%PUT (QUOTE BIT-BASH) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE BIT-BASH) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_BIT-ARRAY-BOOLE EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 2-FEW 1 2-MANY 2-MANY))
       #0_(T "~S and ~S do not have the same dimensions." :ELEMENT-TYPE (MOD 2) 0 3 1)
       (CODE-START)
(LABEL 1)    (ADDI Q 20)
             (MOVEM O1 -19 Q)
             (MOVEM O2 -18 Q)
             (MOVEM O3 -17 Q)
             (MOVEM O4 -16 Q)
             (MOVE O2 (CONSTANT 0))
             (CAME O2 -16 Q)
             (JRST 3)
             (MOVEM O1 -16 Q)
(LABEL 3)    (MOVE O1 -19 Q)
             (CALL SIMPLE-BIT-VECTOR-P 1)
             (JUMPE O1 6)
             (MOVE O1 -19 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -14 Q)
             (MOVE O1 -18 Q)
             (CALL SIMPLE-BIT-VECTOR-P 1)
             (JUMPE1 O1 9)
             (MOVE O1 -18 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -13 Q)
             (MOVE O2 -14 Q)
             (CALL = 2)
             (SKIPE NIL O1)
(LABEL 9)    (JRST 8)
             (MOVE O3 -18 Q)
             (MOVE O1 (CONSTANT 1))
             (MOVE O2 -19 Q)
             (CALL ERROR 3)
(LABEL 8)    (SKIPN NIL -16 Q)
             (JRST 12)
             (MOVE O1 -16 Q)
             (CALL SIMPLE-BIT-VECTOR-P 1)
             (JUMPE1 O1 16)
             (MOVE O1 -16 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -13 Q)
             (MOVE O2 -14 Q)
             (CALL = 2)
             (SKIPE NIL O1)
(LABEL 16)   (JRST 15)
             (MOVE O3 -16 Q)
             (MOVE O1 (CONSTANT 1))
             (MOVE O2 -19 Q)
             (CALL ERROR 3)
(LABEL 15)   (JRST 13)
(LABEL 12)   (MOVE O3 (CONSTANT 3))
             (MOVE O1 -14 Q)
             (MOVE O2 (CONSTANT 2))
             (CALL MAKE-ARRAY 3)
             (MOVEM O1 -16 Q)
(LABEL 13)   (MOVE O5 (CONSTANT 4))
             (MOVEM O5 -12 Q)
(LABEL 23)   (MOVE O2 -14 Q)
             (MOVE O1 -12 Q)
             (CALL = 2)
             (JUMPE O1 24)
             (MOVE O1 -16 Q)
             (MOVEI N 1)
             (JRST 19)
(LABEL 24)   (MOVE O2 -12 Q)
             (MOVE O1 -19 Q)
             (CALL LISP::%SP-SBIT 2)
             (MOVEM O1 -8 Q)
             (MOVE O2 -12 Q)
             (MOVE O1 -18 Q)
             (CALL LISP::%SP-SBIT 2)
             (MOVE O3 O1)
             (MOVE O1 -17 Q)
             (MOVE O2 -8 Q)
             (CALL BOOLE 3)
             (MOVE O3 O1)
             (MOVE O1 -16 Q)
             (MOVE O2 -12 Q)
             (CALL LISP::%SP-SBITSET 3)
             (MOVE O1 -12 Q)
             (CALL 1+ 1)
             (MOVEM O1 -12 Q)
             (JRST 23)
(LABEL 19)   (JRST 5)
(LABEL 6)    (SKIPA)
             (JRST 26)
             (MOVE O2 -18 Q)
             (MOVE O1 -19 Q)
             (CALL LISP::BIT-ARRAY-SAME-DIMENSIONS-P 2)
             (JUMPN O1 28)
             (MOVE O3 -18 Q)
             (MOVE O1 (CONSTANT 1))
             (MOVE O2 -19 Q)
             (CALL ERROR 3)
(LABEL 28)   (SKIPN NIL -16 Q)
             (JRST 30)
             (MOVE O2 -16 Q)
             (MOVE O1 -19 Q)
             (CALL LISP::BIT-ARRAY-SAME-DIMENSIONS-P 2)
             (JUMPN O1 33)
             (MOVE O3 -16 Q)
             (MOVE O1 (CONSTANT 1))
             (MOVE O2 -19 Q)
             (CALL ERROR 3)
(LABEL 33)   (JRST 31)
(LABEL 30)   (MOVE O1 -19 Q)
             (CALL ARRAY-DIMENSIONS 1)
             (MOVEM O1 -15 Q)
             (MOVE O3 (CONSTANT 3))
             (MOVE O2 (CONSTANT 2))
             (CALL MAKE-ARRAY 3)
             (MOVEM O1 -16 Q)
(LABEL 31)   (MOVE O2 (CONSTANT 4))
             (MOVE O1 -19 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -14 Q)
             (MOVE O2 (CONSTANT 4))
             (MOVE O1 -18 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -13 Q)
             (MOVE O2 (CONSTANT 4))
             (MOVE O1 -16 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -12 Q)
             (MOVE O2 (CONSTANT 5))
             (MOVE O1 -19 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -11 Q)
             (MOVE O2 (CONSTANT 5))
             (MOVE O1 -18 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -10 Q)
             (MOVE O2 (CONSTANT 5))
             (MOVE O1 -16 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -9 Q)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 -19 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -8 Q)
             (MOVE O5 (CONSTANT 4))
             (MOVEM O5 -7 Q)
             (MOVE O5 -11 Q)
             (MOVEM O5 -6 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -5 Q)
             (MOVE O5 -9 Q)
             (MOVEM O5 -4 Q)
(LABEL 39)   (MOVE O2 -8 Q)
             (MOVE O1 -7 Q)
             (CALL = 2)
             (JUMPE O1 40)
             (MOVE O1 -16 Q)
             (MOVEI N 1)
             (JRST 35)
(LABEL 40)   (MOVE O2 -6 Q)
             (MOVE O1 -14 Q)
             (CALL LISP::%SP-SBIT 2)
             (MOVEM O1 0 Q)
             (MOVE O2 -5 Q)
             (MOVE O1 -13 Q)
             (CALL LISP::%SP-SBIT 2)
             (MOVE O3 O1)
             (MOVE O1 -17 Q)
             (MOVE O2 0 Q)
             (CALL BOOLE 3)
             (MOVE O3 O1)
             (MOVE O1 -12 Q)
             (MOVE O2 -4 Q)
             (CALL LISP::%SP-SBITSET 3)
             (MOVE O1 -7 Q)
             (CALL 1+ 1)
             (MOVEM O1 -3 Q)
             (MOVE O1 -6 Q)
             (CALL 1+ 1)
             (MOVEM O1 -2 Q)
             (MOVE O1 -5 Q)
             (CALL 1+ 1)
             (MOVEM O1 -1 Q)
             (MOVE O1 -4 Q)
             (CALL 1+ 1)
             (MOVEM O1 0 Q)
             (MOVE O1 -3 Q)
             (MOVEM O1 -7 Q)
             (MOVE O1 -2 Q)
             (MOVEM O1 -6 Q)
             (MOVE O1 -1 Q)
             (MOVEM O1 -5 Q)
             (MOVE O1 0 Q)
             (MOVEM O1 -4 Q)
             (JRST 39)
(LABEL 35)
(LABEL 26)
(LABEL 5)    (SUBI Q 20)
             (POPJ P)
)

(%PUT (QUOTE BIT-ARRAY-BOOLE) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ARRAY1 ARRAY2 OP RESULT-ARRAY))) 
(%PUT (QUOTE BIT-ARRAY-BOOLE) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE BIT-ARRAY-BOOLE) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE BIT-AND) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Performs a bit-wise logical AND on the elements of Bit-Array1 and Bit-Array2
  putting the results in the Result-Bit-Array.")) 

#_(LAP #0_BIT-AND EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2 2-MANY 2-MANY 2-MANY))
       #0_(1)
       (CODE-START)
(LABEL 1)    (MOVE O3 NIL)
(LABEL 2)    (ADDI Q 3)
             (MOVEM O1 -2 Q)
             (MOVEM O2 -1 Q)
             (MOVEM O3 0 Q)
             (MOVE O4 O3)
             (MOVE O3 (CONSTANT 0))
             (CALL LISP::BIT-ARRAY-BOOLE 4)
             (SUBI Q 3)
             (POPJ P)
)

(%PUT (QUOTE BIT-AND) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (BIT-ARRAY1 BIT-ARRAY2 &OPTIONAL RESULT-BIT-ARRAY))) 
(%PUT (QUOTE BIT-AND) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE BIT-AND) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE BIT-IOR) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Performs a bit-wise logical IOR on the elements of Bit-Array1 and Bit-Array2
  putting the results in the Result-Bit-Array.")) 

#_(LAP #0_BIT-IOR EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2 2-MANY 2-MANY 2-MANY))
       #0_(7)
       (CODE-START)
(LABEL 1)    (MOVE O3 NIL)
(LABEL 2)    (ADDI Q 3)
             (MOVEM O1 -2 Q)
             (MOVEM O2 -1 Q)
             (MOVEM O3 0 Q)
             (MOVE O4 O3)
             (MOVE O3 (CONSTANT 0))
             (CALL LISP::BIT-ARRAY-BOOLE 4)
             (SUBI Q 3)
             (POPJ P)
)

(%PUT (QUOTE BIT-IOR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (BIT-ARRAY1 BIT-ARRAY2 &OPTIONAL RESULT-BIT-ARRAY))) 
(%PUT (QUOTE BIT-IOR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE BIT-IOR) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE BIT-XOR) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Performs a bit-wise logical XOR on the elements of Bit-Array1 and Bit-Array2
  putting the results in the Result-Bit-Array.")) 

#_(LAP #0_BIT-XOR EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2 2-MANY 2-MANY 2-MANY))
       #0_(6)
       (CODE-START)
(LABEL 1)    (MOVE O3 NIL)
(LABEL 2)    (ADDI Q 3)
             (MOVEM O1 -2 Q)
             (MOVEM O2 -1 Q)
             (MOVEM O3 0 Q)
             (MOVE O4 O3)
             (MOVE O3 (CONSTANT 0))
             (CALL LISP::BIT-ARRAY-BOOLE 4)
             (SUBI Q 3)
             (POPJ P)
)

(%PUT (QUOTE BIT-XOR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (BIT-ARRAY1 BIT-ARRAY2 &OPTIONAL RESULT-BIT-ARRAY))) 
(%PUT (QUOTE BIT-XOR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE BIT-XOR) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE BIT-EQV) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Performs a bit-wise logical EQV  on the elements of Bit-Array1 and
  Bit-Array2 putting the results in the Result-Bit-Array.")) 

#_(LAP #0_BIT-EQV EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2 2-MANY 2-MANY 2-MANY))
       #0_(9)
       (CODE-START)
(LABEL 1)    (MOVE O3 NIL)
(LABEL 2)    (ADDI Q 3)
             (MOVEM O1 -2 Q)
             (MOVEM O2 -1 Q)
             (MOVEM O3 0 Q)
             (MOVE O4 O3)
             (MOVE O3 (CONSTANT 0))
             (CALL LISP::BIT-ARRAY-BOOLE 4)
             (SUBI Q 3)
             (POPJ P)
)

(%PUT (QUOTE BIT-EQV) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (BIT-ARRAY1 BIT-ARRAY2 &OPTIONAL RESULT-BIT-ARRAY))) 
(%PUT (QUOTE BIT-EQV) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE BIT-EQV) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE BIT-NAND) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Performs a bit-wise logical NAND  on the elements of Bit-Array1 and
  Bit-Array2 putting the results in the Result-Bit-Array.")) 

#_(LAP #0_BIT-NAND EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2 2-MANY 2-MANY 2-MANY))
       #0_(14)
       (CODE-START)
(LABEL 1)    (MOVE O3 NIL)
(LABEL 2)    (ADDI Q 3)
             (MOVEM O1 -2 Q)
             (MOVEM O2 -1 Q)
             (MOVEM O3 0 Q)
             (MOVE O4 O3)
             (MOVE O3 (CONSTANT 0))
             (CALL LISP::BIT-ARRAY-BOOLE 4)
             (SUBI Q 3)
             (POPJ P)
)

(%PUT (QUOTE BIT-NAND) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (BIT-ARRAY1 BIT-ARRAY2 &OPTIONAL RESULT-BIT-ARRAY))) 
(%PUT (QUOTE BIT-NAND) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE BIT-NAND) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE BIT-NOR) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Performs a bit-wise logical NOR  on the elements of Bit-Array1 and
  Bit-Array2 putting the results in the Result-Bit-Array.")) 

#_(LAP #0_BIT-NOR EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2 2-MANY 2-MANY 2-MANY))
       #0_(8)
       (CODE-START)
(LABEL 1)    (MOVE O3 NIL)
(LABEL 2)    (ADDI Q 3)
             (MOVEM O1 -2 Q)
             (MOVEM O2 -1 Q)
             (MOVEM O3 0 Q)
             (MOVE O4 O3)
             (MOVE O3 (CONSTANT 0))
             (CALL LISP::BIT-ARRAY-BOOLE 4)
             (SUBI Q 3)
             (POPJ P)
)

(%PUT (QUOTE BIT-NOR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (BIT-ARRAY1 BIT-ARRAY2 &OPTIONAL RESULT-BIT-ARRAY))) 
(%PUT (QUOTE BIT-NOR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE BIT-NOR) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE BIT-ANDC1) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Performs a bit-wise logical ANDC1 on the elements of Bit-Array1 and
  Bit-Array2 putting the results in the Result-Bit-Array.")) 

#_(LAP #0_BIT-ANDC1 EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2 2-MANY 2-MANY 2-MANY))
       #0_(2)
       (CODE-START)
(LABEL 1)    (MOVE O3 NIL)
(LABEL 2)    (ADDI Q 3)
             (MOVEM O1 -2 Q)
             (MOVEM O2 -1 Q)
             (MOVEM O3 0 Q)
             (MOVE O4 O3)
             (MOVE O3 (CONSTANT 0))
             (CALL LISP::BIT-ARRAY-BOOLE 4)
             (SUBI Q 3)
             (POPJ P)
)

(%PUT (QUOTE BIT-ANDC1) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (BIT-ARRAY1 BIT-ARRAY2 &OPTIONAL RESULT-BIT-ARRAY))) 
(%PUT (QUOTE BIT-ANDC1) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE BIT-ANDC1) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE BIT-ANDC2) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Performs a bit-wise logical ANDC2 on the elements of Bit-Array1 and
  Bit-Array2 putting the results in the Result-Bit-Array.")) 

#_(LAP #0_BIT-ANDC2 EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2 2-MANY 2-MANY 2-MANY))
       #0_(4)
       (CODE-START)
(LABEL 1)    (MOVE O3 NIL)
(LABEL 2)    (ADDI Q 3)
             (MOVEM O1 -2 Q)
             (MOVEM O2 -1 Q)
             (MOVEM O3 0 Q)
             (MOVE O4 O3)
             (MOVE O3 (CONSTANT 0))
             (CALL LISP::BIT-ARRAY-BOOLE 4)
             (SUBI Q 3)
             (POPJ P)
)

(%PUT (QUOTE BIT-ANDC2) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (BIT-ARRAY1 BIT-ARRAY2 &OPTIONAL RESULT-BIT-ARRAY))) 
(%PUT (QUOTE BIT-ANDC2) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE BIT-ANDC2) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE BIT-ORC1) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Performs a bit-wise logical ORC1 on the elements of Bit-Array1 and
  Bit-Array2 putting the results in the Result-Bit-Array.")) 

#_(LAP #0_BIT-ORC1 EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2 2-MANY 2-MANY 2-MANY))
       #0_(11)
       (CODE-START)
(LABEL 1)    (MOVE O3 NIL)
(LABEL 2)    (ADDI Q 3)
             (MOVEM O1 -2 Q)
             (MOVEM O2 -1 Q)
             (MOVEM O3 0 Q)
             (MOVE O4 O3)
             (MOVE O3 (CONSTANT 0))
             (CALL LISP::BIT-ARRAY-BOOLE 4)
             (SUBI Q 3)
             (POPJ P)
)

(%PUT (QUOTE BIT-ORC1) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (BIT-ARRAY1 BIT-ARRAY2 &OPTIONAL RESULT-BIT-ARRAY))) 
(%PUT (QUOTE BIT-ORC1) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE BIT-ORC1) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE BIT-ORC2) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Performs a bit-wise logical ORC2 on the elements of Bit-Array1 and
  Bit-Array2 putting the results in the Result-Bit-Array.")) 

#_(LAP #0_BIT-ORC2 EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2 2-MANY 2-MANY 2-MANY))
       #0_(13)
       (CODE-START)
(LABEL 1)    (MOVE O3 NIL)
(LABEL 2)    (ADDI Q 3)
             (MOVEM O1 -2 Q)
             (MOVEM O2 -1 Q)
             (MOVEM O3 0 Q)
             (MOVE O4 O3)
             (MOVE O3 (CONSTANT 0))
             (CALL LISP::BIT-ARRAY-BOOLE 4)
             (SUBI Q 3)
             (POPJ P)
)

(%PUT (QUOTE BIT-ORC2) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (BIT-ARRAY1 BIT-ARRAY2 &OPTIONAL RESULT-BIT-ARRAY))) 
(%PUT (QUOTE BIT-ORC2) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE BIT-ORC2) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE BIT-NOT) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Performs a bit-wise logical NOT in the elements of the Bit-Array putting
  the results into the Result-Bit-Array.")) 

#_(LAP #0_BIT-NOT EXPR
       (ENTRY-POINTS (2-FEW 1 2 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(8)
       (CODE-START)
(LABEL 1)    (MOVE O2 NIL)
(LABEL 2)    (ADDI Q 2)
             (MOVEM O1 -1 Q)
             (MOVEM O2 0 Q)
             (MOVE O4 O2)
             (MOVE O2 O1)
             (MOVE O3 (CONSTANT 0))
             (CALL LISP::BIT-ARRAY-BOOLE 4)
             (SUBI Q 2)
             (POPJ P)
)

(%PUT (QUOTE BIT-NOT) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (BIT-ARRAY &OPTIONAL RESULT-BIT-ARRAY))) 
(%PUT (QUOTE BIT-NOT) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>ARRAY.CLISP.19") (GET (QUOTE BIT-NOT) (QUOTE %SOURCE-DOCUMENTATION))))