Google
 

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

(IN-PACKAGE (QUOTE LISP)) 
(EXPORT (QUOTE (*PRINT-ESCAPE* *PRINT-PRETTY* *PRINT-CIRCLE* *PRINT-BASE* *PRINT-RADIX* *PRINT-CASE* *PRINT-LEVEL* *PRINT-LENGTH* *PRINT-ARRAY* WRITE PRIN1 PRINC PRINT WRITE-TO-STRING WRITE-STRING WRITE-LINE))) 
(DEFVAR *PRINT-ESCAPE* T "Flag which indicates that slashification is on.  See the manual.") 
(DEFVAR *PRINT-PRETTY* NIL "Flag which indicates that pretty printing is to be used.") 
(DEFVAR *PRINT-BASE* 10 "The output base for integers and rationals.") 
(DEFVAR *PRINT-RADIX* NIL "This flag requests to verify base when printing rationals.") 
(DEFVAR *PRINT-LEVEL* NIL "How many levels deep to print.  Unlimited if null.") 
(DEFVAR *PRINT-LENGTH* NIL "How many elements to print on each level.  Unlimited if null.") 
(DEFVAR *PRINT-CIRCLE* NIL "Whether to worry about circular list structures. See the manual.") 
(DEFVAR *PRINT-CASE* (QUOTE :UPCASE) "What kind of case the printer should use by default.") 
(DEFVAR PREVIOUS-CASE NIL "What the previous case selection the printer was set to.") 
(DEFVAR *PRINT-ARRAY* NIL "Whether the array should print it's guts out.") 
(%PUT (QUOTE *READ-DEFAULT-FLOAT-FORMAT*) (QUOTE GLOBALLY-SPECIAL) T) 
(%PUT (QUOTE *PACKAGE*) (QUOTE GLOBALLY-SPECIAL) T) 
(%PUT (QUOTE *KEYWORD-PACKAGE*) (QUOTE GLOBALLY-SPECIAL) T) 

#_(LAP #0_DOSTRING MACRO
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(2 "Macro ~S cannot be called with ~S args." DOSTRING DO (INDEX 0 (1+ INDEX)) TERMINATE-INDEX LENGTH THE STRING (= INDEX TERMINATE-INDEX) SETQ CHAR (INDEX))
       (CODE-START)
(LABEL 1)    (ADDI Q 10)
             (MOVEM O1 -9 Q)
             (CALL LENGTH 1)
             (MOVEM O1 -8 Q)
             (MOVE O2 (CONSTANT 0))
             (CALL < 2)
             (JUMPE O1 4)
             (MOVE O1 -9 Q)
             (CALL LENGTH 1)
             (CALL 1- 1)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 1))
             (MOVE O2 (CONSTANT 2))
             (CALL ERROR 3)
             (JRST 3)
(LABEL 4)    (SKIPA)
             (JRST 5)
             (MOVE O1 -9 Q)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -7 Q)
             (MOVE O1 -9 Q)
             (MOVE O1 1 O1)
             (MOVE O5 1 O1)
             (MOVEM O5 -6 Q)
             (MOVE O1 -7 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -5 Q)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -4 Q)
             (MOVE O1 -7 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -3 Q)
             (MOVE O1 -5 Q)
             (CALL LIST 1)
             (MOVEM O1 -2 Q)
             (MOVE O3 -4 Q)
             (MOVE O1 (CONSTANT 7))
             (MOVE O2 (CONSTANT 8))
             (CALL LIST 3)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 6))
             (CALL LIST 2)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 5))
             (CALL LIST 2)
             (MOVE O3 O1)
             (MOVE O1 -2 Q)
             (MOVE O2 (CONSTANT 4))
             (CALL LIST 3)
             (MOVEM O1 -2 Q)
             (MOVE O2 -3 Q)
             (MOVE O1 (CONSTANT 9))
             (CALL LIST 2)
             (MOVEM O1 -1 Q)
             (MOVE O3 (CONSTANT 12))
             (MOVE O1 (CONSTANT 11))
             (MOVE O2 -4 Q)
             (CALL LIST* 3)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 10))
             (MOVE O2 -5 Q)
             (CALL LIST 3)
             (MOVEM O1 0 Q)
             (MOVE O5 -6 Q)
             (MOVE O1 (CONSTANT 3))
             (MOVE O2 -2 Q)
             (MOVE O3 -1 Q)
             (MOVE O4 0 Q)
             (CALL LIST* 5)
(LABEL 5)
(LABEL 3)    (SUBI Q 10)
             (POPJ P)
)

(%PUT (QUOTE DOSTRING) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (VARFORM &REST BODY))) 
(%PUT (QUOTE DOSTRING) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PRINT.CLISP.14") (GET (QUOTE DOSTRING) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE WRITE) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Outputs OBJECT to the specified stream, defaulting to *standard-output*")) 

#_(LAP #0_WRITE EXPR
       (ENTRY-POINTS (2-FEW 2 3 4 5 6 7) REST)
       #0_(:STREAM *STANDARD-OUTPUT* :ESCAPE *PRINT-ESCAPE* :RADIX *PRINT-RADIX* :BASE *PRINT-BASE* :CIRCLE *PRINT-CIRCLE* :PRETTY *PRINT-PRETTY* :LEVEL *PRINT-LEVEL* :LENGTH *PRINT-LENGTH* :CASE *PRINT-CASE* :GENSYM *PRINT-GENSYM* :ARRAY *PRINT-ARRAY* (:ARRAY :GENSYM :CASE :LENGTH :LEVEL :PRETTY :CIRCLE :BASE :RADIX :ESCAPE :STREAM) (T) :TEST EQL *TERMINAL-IO* (NIL))
       (CODE-START)
(LABEL 2)    (MOVE O2 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST2)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST3)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST4)
             (JRST 1)
(LABEL 6)    (MOVEI W2 4)
             (ICALL REST5)
             (JRST 1)
(LABEL 7)    (MOVEI W2 1)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 6)
             (MOVEM O1 -4 Q)
             (MOVEM O2 -3 Q)
(LABEL 9)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 8)
             (JUMPN O2 9)
             (MOVE O1 (SPECIAL 1))
(LABEL 8)    (MOVEM O1 -5 Q)
             (MOVE O2 -3 Q)
(LABEL 11)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 2))
             (JRST 10)
             (JUMPN O2 11)
             (MOVE O1 (SPECIAL 3))
(LABEL 10)   (SPEC-BIND (SPECIAL 3))
             (MOVEM O1 (SPECIAL 3))
             (MOVE O2 -3 Q)
(LABEL 13)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 4))
             (JRST 12)
             (JUMPN O2 13)
             (MOVE O1 (SPECIAL 5))
(LABEL 12)   (SPEC-BIND (SPECIAL 5))
             (MOVEM O1 (SPECIAL 5))
             (MOVE O2 -3 Q)
(LABEL 15)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 6))
             (JRST 14)
             (JUMPN O2 15)
             (MOVE O1 (SPECIAL 7))
(LABEL 14)   (SPEC-BIND (SPECIAL 7))
             (MOVEM O1 (SPECIAL 7))
             (MOVE O2 -3 Q)
(LABEL 17)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 8))
             (JRST 16)
             (JUMPN O2 17)
             (MOVE O1 (SPECIAL 9))
(LABEL 16)   (SPEC-BIND (SPECIAL 9))
             (MOVEM O1 (SPECIAL 9))
             (MOVE O2 -3 Q)
(LABEL 19)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 10))
             (JRST 18)
             (JUMPN O2 19)
             (MOVE O1 (SPECIAL 11))
(LABEL 18)   (SPEC-BIND (SPECIAL 11))
             (MOVEM O1 (SPECIAL 11))
             (MOVE O2 -3 Q)
(LABEL 21)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 12))
             (JRST 20)
             (JUMPN O2 21)
             (MOVE O1 (SPECIAL 13))
(LABEL 20)   (SPEC-BIND (SPECIAL 13))
             (MOVEM O1 (SPECIAL 13))
             (MOVE O2 -3 Q)
(LABEL 23)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 14))
             (JRST 22)
             (JUMPN O2 23)
             (MOVE O1 (SPECIAL 15))
(LABEL 22)   (SPEC-BIND (SPECIAL 15))
             (MOVEM O1 (SPECIAL 15))
             (MOVE O2 -3 Q)
(LABEL 25)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 16))
             (JRST 24)
             (JUMPN O2 25)
             (MOVE O1 (SPECIAL 17))
(LABEL 24)   (SPEC-BIND (SPECIAL 17))
             (MOVEM O1 (SPECIAL 17))
             (MOVE O2 -3 Q)
(LABEL 27)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 18))
             (JRST 26)
             (JUMPN O2 27)
             (MOVE O1 (SPECIAL 19))
(LABEL 26)   (SPEC-BIND (SPECIAL 19))
             (MOVEM O1 (SPECIAL 19))
             (MOVE O2 -3 Q)
(LABEL 29)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 20))
             (JRST 28)
             (JUMPN O2 29)
             (MOVE O1 (SPECIAL 21))
(LABEL 28)   (SPEC-BIND (SPECIAL 21))
             (MOVEM O1 (SPECIAL 21))
             (MOVE O5 -3 Q)
             (MOVEM O5 -2 Q)
             (MOVE O2 (CONSTANT 22))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O5 -5 Q)
             (MOVEM O5 0 Q)
             (MOVE O4 (CONSTANT 25))
             (MOVE O1 O5)
             (MOVE O2 (CONSTANT 23))
             (MOVE O3 (CONSTANT 24))
             (CALL MEMBER 4)
             (JUMPE O1 32)
             (MOVE O5 (SPECIAL 26))
             (MOVEM O5 -1 Q)
             (JRST 31)
(LABEL 32)   (MOVE O4 (CONSTANT 25))
             (MOVE O1 0 Q)
             (MOVE O2 (CONSTANT 27))
             (MOVE O3 (CONSTANT 24))
             (CALL MEMBER 4)
             (JUMPE O1 33)
             (MOVE O5 (SPECIAL 1))
             (MOVEM O5 -1 Q)
             (JRST 31)
(LABEL 33)   (SKIPA)
             (JRST 34)
             (MOVE O5 -5 Q)
             (MOVEM O5 -1 Q)
(LABEL 34)
(LABEL 31)   (MOVE O1 -1 Q)
             (SPEC-BIND (SPECIAL 1))
             (MOVEM O1 (SPECIAL 1))
             (SKIPE NIL (SPECIAL 11))
             (JRST1 38)
             (SKIPN NIL (SPECIAL 9))
(LABEL 38)   (JRST 36)
             (MOVE O1 -4 Q)
             (CALL LISP::OUTPUT-PRETTY-OBJECT 1)
             (JRST 37)
(LABEL 36)   (MOVE O1 -4 Q)
             (CALL LISP::OUTPUT-OBJECT 1)
(LABEL 37)   (UNBIND 1)
             (MOVE O1 -4 Q)
             (MOVEI N 1)
             (UNBIND 10)
             (SUBI Q 6)
             (POPJ P)
)

(%PUT (QUOTE WRITE) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OBJECT &KEY ((:STREAM STREAM) *STANDARD-OUTPUT*) ((:ESCAPE *PRINT-ESCAPE*) *PRINT-ESCAPE*) ((:RADIX *PRINT-RADIX*) *PRINT-RADIX*) ((:BASE *PRINT-BASE*) *PRINT-BASE*) ((:CIRCLE *PRINT-CIRCLE*) *PRINT-CIRCLE*) ((:PRETTY *PRINT-PRETTY*) *PRINT-PRETTY*) ((:LEVEL *PRINT-LEVEL*) *PRINT-LEVEL*) ((:LENGTH *PRINT-LENGTH*) *PRINT-LENGTH*) ((:CASE *PRINT-CASE*) *PRINT-CASE*) ((:GENSYM *PRINT-GENSYM*) *PRINT-GENSYM*) ((:ARRAY *PRINT-ARRAY*) *PRINT-ARRAY*)))) 
(%PUT (QUOTE WRITE) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PRINT.CLISP.14") (GET (QUOTE WRITE) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE PRIN1) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Outputs a mostly READable printed representation of OBJECT on the specified
   stream.")) 

#_(LAP #0_PRIN1 EXPR
       (ENTRY-POINTS (2-FEW 1 2 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(*STANDARD-OUTPUT* T (T) :TEST EQL *TERMINAL-IO* (NIL) *PRINT-ESCAPE* *PRINT-PRETTY* *PRINT-CIRCLE*)
       (CODE-START)
(LABEL 1)    (MOVE O2 (SPECIAL 0))
(LABEL 2)    (ADDI Q 5)
             (MOVEM O1 -4 Q)
             (MOVEM O2 -3 Q)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -2 Q)
             (MOVE O5 O2)
             (MOVEM O5 0 Q)
             (MOVE O4 (CONSTANT 4))
             (MOVE O1 O5)
             (MOVE O2 (CONSTANT 2))
             (MOVE O3 (CONSTANT 3))
             (CALL MEMBER 4)
             (JUMPE O1 5)
             (MOVE O5 (SPECIAL 5))
             (MOVEM O5 -1 Q)
             (JRST 4)
(LABEL 5)    (MOVE O4 (CONSTANT 4))
             (MOVE O1 0 Q)
             (MOVE O2 (CONSTANT 6))
             (MOVE O3 (CONSTANT 3))
             (CALL MEMBER 4)
             (JUMPE O1 6)
             (MOVE O5 (SPECIAL 0))
             (MOVEM O5 -1 Q)
             (JRST 4)
(LABEL 6)    (SKIPA)
             (JRST 7)
             (MOVE O5 -3 Q)
             (MOVEM O5 -1 Q)
(LABEL 7)
(LABEL 4)    (MOVE O1 -2 Q)
             (SPEC-BIND (SPECIAL 7))
             (MOVEM O1 (SPECIAL 7))
             (MOVE O1 -1 Q)
             (SPEC-BIND (SPECIAL 0))
             (MOVEM O1 (SPECIAL 0))
             (SKIPE NIL (SPECIAL 8))
             (JRST1 11)
             (SKIPN NIL (SPECIAL 9))
(LABEL 11)   (JRST 9)
             (MOVE O1 -4 Q)
             (CALL LISP::OUTPUT-PRETTY-OBJECT 1)
             (JRST 10)
(LABEL 9)    (MOVE O1 -4 Q)
             (CALL LISP::OUTPUT-OBJECT 1)
(LABEL 10)   (UNBIND 2)
             (MOVE O1 -4 Q)
             (MOVEI N 1)
             (SUBI Q 5)
             (POPJ P)
)

(%PUT (QUOTE PRIN1) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OBJECT &OPTIONAL (STREAM *STANDARD-OUTPUT*)))) 
(%PUT (QUOTE PRIN1) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PRINT.CLISP.14") (GET (QUOTE PRIN1) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE PRINC) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Outputs an asthetic but not READable printed representation of OBJECT on the
   specified stream.")) 

#_(LAP #0_PRINC EXPR
       (ENTRY-POINTS (2-FEW 1 2 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(*STANDARD-OUTPUT* (T) :TEST EQL *TERMINAL-IO* (NIL) *PRINT-ESCAPE* *PRINT-PRETTY* *PRINT-CIRCLE*)
       (CODE-START)
(LABEL 1)    (MOVE O2 (SPECIAL 0))
(LABEL 2)    (ADDI Q 5)
             (MOVEM O1 -4 Q)
             (MOVEM O2 -3 Q)
             (MOVEM NIL -2 Q)
             (MOVE O5 O2)
             (MOVEM O5 0 Q)
             (MOVE O4 (CONSTANT 3))
             (MOVE O1 O5)
             (MOVE O2 (CONSTANT 1))
             (MOVE O3 (CONSTANT 2))
             (CALL MEMBER 4)
             (JUMPE O1 5)
             (MOVE O5 (SPECIAL 4))
             (MOVEM O5 -1 Q)
             (JRST 4)
(LABEL 5)    (MOVE O4 (CONSTANT 3))
             (MOVE O1 0 Q)
             (MOVE O2 (CONSTANT 5))
             (MOVE O3 (CONSTANT 2))
             (CALL MEMBER 4)
             (JUMPE O1 6)
             (MOVE O5 (SPECIAL 0))
             (MOVEM O5 -1 Q)
             (JRST 4)
(LABEL 6)    (SKIPA)
             (JRST 7)
             (MOVE O5 -3 Q)
             (MOVEM O5 -1 Q)
(LABEL 7)
(LABEL 4)    (MOVE O1 -2 Q)
             (SPEC-BIND (SPECIAL 6))
             (MOVEM O1 (SPECIAL 6))
             (MOVE O1 -1 Q)
             (SPEC-BIND (SPECIAL 0))
             (MOVEM O1 (SPECIAL 0))
             (SKIPE NIL (SPECIAL 7))
             (JRST1 11)
             (SKIPN NIL (SPECIAL 8))
(LABEL 11)   (JRST 9)
             (MOVE O1 -4 Q)
             (CALL LISP::OUTPUT-PRETTY-OBJECT 1)
             (JRST 10)
(LABEL 9)    (MOVE O1 -4 Q)
             (CALL LISP::OUTPUT-OBJECT 1)
(LABEL 10)   (UNBIND 2)
             (MOVE O1 -4 Q)
             (MOVEI N 1)
             (SUBI Q 5)
             (POPJ P)
)

(%PUT (QUOTE PRINC) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OBJECT &OPTIONAL (STREAM *STANDARD-OUTPUT*)))) 
(%PUT (QUOTE PRINC) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PRINT.CLISP.14") (GET (QUOTE PRINC) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE PRINT) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Outputs a terpri, the mostly READable printed represenation of OBJECT, and 
   space to the stream.")) 

#_(LAP #0_PRINT EXPR
       (ENTRY-POINTS (2-FEW 1 2 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(*STANDARD-OUTPUT* (T) :TEST EQL *TERMINAL-IO* (NIL) #\SPACE)
       (CODE-START)
(LABEL 1)    (MOVE O2 (SPECIAL 0))
(LABEL 2)    (ADDI Q 4)
             (MOVEM O1 -3 Q)
             (MOVEM O2 -2 Q)
             (MOVE O5 O2)
             (MOVEM O5 0 Q)
             (MOVE O4 (CONSTANT 3))
             (MOVE O1 O5)
             (MOVE O2 (CONSTANT 1))
             (MOVE O3 (CONSTANT 2))
             (CALL MEMBER 4)
             (JUMPE O1 5)
             (MOVE O5 (SPECIAL 4))
             (MOVEM O5 -1 Q)
             (JRST 4)
(LABEL 5)    (MOVE O4 (CONSTANT 3))
             (MOVE O1 0 Q)
             (MOVE O2 (CONSTANT 5))
             (MOVE O3 (CONSTANT 2))
             (CALL MEMBER 4)
             (JUMPE O1 6)
             (MOVE O5 (SPECIAL 0))
             (MOVEM O5 -1 Q)
             (JRST 4)
(LABEL 6)    (SKIPA)
             (JRST 7)
             (MOVE O5 -2 Q)
             (MOVEM O5 -1 Q)
(LABEL 7)
(LABEL 4)    (MOVE O1 -1 Q)
             (SPEC-BIND (SPECIAL 0))
             (MOVEM O1 (SPECIAL 0))
             (CALL TERPRI 0)
             (MOVE O1 -3 Q)
             (CALL PRIN1 1)
             (MOVE O2 (SPECIAL 0))
             (MOVE O1 (CONSTANT 6))
             (CALL WRITE-CHAR 2)
             (UNBIND 1)
             (MOVE O1 -3 Q)
             (MOVEI N 1)
             (SUBI Q 4)
             (POPJ P)
)

(%PUT (QUOTE PRINT) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OBJECT &OPTIONAL (STREAM *STANDARD-OUTPUT*)))) 
(%PUT (QUOTE PRINT) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PRINT.CLISP.14") (GET (QUOTE PRINT) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE WRITE-TO-STRING) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns the printed representation of OBJECT as a string.")) 

#_(LAP #0_WRITE-TO-STRING EXPR
       (ENTRY-POINTS (2-FEW 2 3 4 5 6 7) REST)
       #0_(:ESCAPE *PRINT-ESCAPE* :RADIX *PRINT-RADIX* :BASE *PRINT-BASE* :CIRCLE *PRINT-CIRCLE* :PRETTY *PRINT-PRETTY* :LEVEL *PRINT-LEVEL* :LENGTH *PRINT-LENGTH* :CASE *PRINT-CASE* :GENSYM *PRINT-GENSYM* :ARRAY *PRINT-ARRAY* (:ARRAY :GENSYM :CASE :LENGTH :LEVEL :PRETTY :CIRCLE :BASE :RADIX :ESCAPE))
       (CODE-START)
(LABEL 2)    (MOVE O2 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST2)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST3)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST4)
             (JRST 1)
(LABEL 6)    (MOVEI W2 4)
             (ICALL REST5)
             (JRST 1)
(LABEL 7)    (MOVEI W2 1)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 3)
             (MOVEM O1 -2 Q)
             (MOVEM O2 -1 Q)
(LABEL 9)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 8)
             (JUMPN O2 9)
             (MOVE O1 (SPECIAL 1))
(LABEL 8)    (SPEC-BIND (SPECIAL 1))
             (MOVEM O1 (SPECIAL 1))
             (MOVE O2 -1 Q)
(LABEL 11)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 2))
             (JRST 10)
             (JUMPN O2 11)
             (MOVE O1 (SPECIAL 3))
(LABEL 10)   (SPEC-BIND (SPECIAL 3))
             (MOVEM O1 (SPECIAL 3))
             (MOVE O2 -1 Q)
(LABEL 13)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 4))
             (JRST 12)
             (JUMPN O2 13)
             (MOVE O1 (SPECIAL 5))
(LABEL 12)   (SPEC-BIND (SPECIAL 5))
             (MOVEM O1 (SPECIAL 5))
             (MOVE O2 -1 Q)
(LABEL 15)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 6))
             (JRST 14)
             (JUMPN O2 15)
             (MOVE O1 (SPECIAL 7))
(LABEL 14)   (SPEC-BIND (SPECIAL 7))
             (MOVEM O1 (SPECIAL 7))
             (MOVE O2 -1 Q)
(LABEL 17)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 8))
             (JRST 16)
             (JUMPN O2 17)
             (MOVE O1 (SPECIAL 9))
(LABEL 16)   (SPEC-BIND (SPECIAL 9))
             (MOVEM O1 (SPECIAL 9))
             (MOVE O2 -1 Q)
(LABEL 19)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 10))
             (JRST 18)
             (JUMPN O2 19)
             (MOVE O1 (SPECIAL 11))
(LABEL 18)   (SPEC-BIND (SPECIAL 11))
             (MOVEM O1 (SPECIAL 11))
             (MOVE O2 -1 Q)
(LABEL 21)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 12))
             (JRST 20)
             (JUMPN O2 21)
             (MOVE O1 (SPECIAL 13))
(LABEL 20)   (SPEC-BIND (SPECIAL 13))
             (MOVEM O1 (SPECIAL 13))
             (MOVE O2 -1 Q)
(LABEL 23)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 14))
             (JRST 22)
             (JUMPN O2 23)
             (MOVE O1 (SPECIAL 15))
(LABEL 22)   (SPEC-BIND (SPECIAL 15))
             (MOVEM O1 (SPECIAL 15))
             (MOVE O2 -1 Q)
(LABEL 25)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 16))
             (JRST 24)
             (JUMPN O2 25)
             (MOVE O1 (SPECIAL 17))
(LABEL 24)   (SPEC-BIND (SPECIAL 17))
             (MOVEM O1 (SPECIAL 17))
             (MOVE O2 -1 Q)
(LABEL 27)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 18))
             (JRST 26)
             (JUMPN O2 27)
             (MOVE O1 (SPECIAL 19))
(LABEL 26)   (SPEC-BIND (SPECIAL 19))
             (MOVEM O1 (SPECIAL 19))
             (MOVE O5 -1 Q)
             (MOVEM O5 0 Q)
             (MOVE O2 (CONSTANT 20))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O2 (SPECIAL 1))
             (MOVE O1 -2 Q)
             (CALL LISP::STRINGIFY-OBJECT 2)
             (UNBIND 10)
             (SUBI Q 3)
             (POPJ P)
)

(%PUT (QUOTE WRITE-TO-STRING) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OBJECT &KEY ((:ESCAPE *PRINT-ESCAPE*) *PRINT-ESCAPE*) ((:RADIX *PRINT-RADIX*) *PRINT-RADIX*) ((:BASE *PRINT-BASE*) *PRINT-BASE*) ((:CIRCLE *PRINT-CIRCLE*) *PRINT-CIRCLE*) ((:PRETTY *PRINT-PRETTY*) *PRINT-PRETTY*) ((:LEVEL *PRINT-LEVEL*) *PRINT-LEVEL*) ((:LENGTH *PRINT-LENGTH*) *PRINT-LENGTH*) ((:CASE *PRINT-CASE*) *PRINT-CASE*) ((:GENSYM *PRINT-GENSYM*) *PRINT-GENSYM*) ((:ARRAY *PRINT-ARRAY*) *PRINT-ARRAY*)))) 
(%PUT (QUOTE WRITE-TO-STRING) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PRINT.CLISP.14") (GET (QUOTE WRITE-TO-STRING) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE WRITE-STRING) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Outputs the String to the given Stream.")) 

#_(LAP #0_WRITE-STRING EXPR
       (ENTRY-POINTS (2-FEW 1 3 4 5 6 7) REST)
       #0_(*STANDARD-OUTPUT* :START :END (:END :START) (T) :TEST EQL *TERMINAL-IO* (NIL))
       (CODE-START)
(LABEL 1)    (MOVE O2 (SPECIAL 0))
(LABEL 3)    (MOVE O3 NIL)
             (JRST 2)
(LABEL 4)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 2)
(LABEL 5)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 2)
(LABEL 6)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 2)
(LABEL 7)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 2)    (ADDI Q 7)
             (MOVEM O1 -4 Q)
             (MOVEM O2 -3 Q)
             (MOVEM O3 -2 Q)
             (MOVE O2 O3)
(LABEL 9)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 1))
             (JUMPN O4 9)
             (MOVEM O1 -6 Q)
             (MOVE O2 -2 Q)
(LABEL 11)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 2))
             (JUMPN O4 11)
             (MOVEM O1 -5 Q)
             (MOVE O5 -2 Q)
             (MOVEM O5 -1 Q)
             (MOVE O2 (CONSTANT 3))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O5 -3 Q)
             (MOVEM O5 0 Q)
             (MOVE O4 (CONSTANT 6))
             (MOVE O1 O5)
             (MOVE O2 (CONSTANT 4))
             (MOVE O3 (CONSTANT 5))
             (CALL MEMBER 4)
             (JUMPE O1 14)
             (MOVE O1 (SPECIAL 7))
             (JRST 13)
(LABEL 14)   (MOVE O4 (CONSTANT 6))
             (MOVE O1 0 Q)
             (MOVE O2 (CONSTANT 8))
             (MOVE O3 (CONSTANT 5))
             (CALL MEMBER 4)
             (JUMPE O1 15)
             (MOVE O1 (SPECIAL 0))
             (JRST 13)
(LABEL 15)   (SKIPA)
             (JRST 16)
             (MOVE O1 -3 Q)
(LABEL 16)
(LABEL 13)   (MOVEM O1 -3 Q)
             (MOVE O4 -5 Q)
             (MOVE O1 -4 Q)
             (MOVE O2 -3 Q)
             (MOVE O3 -6 Q)
             (CALL LISP::%SP-WRITE-STRING 4)
             (MOVE O1 -4 Q)
             (MOVEI N 1)
             (SUBI Q 7)
             (POPJ P)
)

(%PUT (QUOTE WRITE-STRING) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (STRING &OPTIONAL (STREAM *STANDARD-OUTPUT*) &KEY START END))) 
(%PUT (QUOTE WRITE-STRING) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PRINT.CLISP.14") (GET (QUOTE WRITE-STRING) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE WRITE-LINE) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Outputs the String to the given Stream, followed by a newline character.")) 

#_(LAP #0_WRITE-LINE EXPR
       (ENTRY-POINTS (2-FEW 1 3 4 5 6 7) REST)
       #0_(*STANDARD-OUTPUT* :START :END (:END :START) (T) :TEST EQL *TERMINAL-IO* (NIL))
       (CODE-START)
(LABEL 1)    (MOVE O2 (SPECIAL 0))
(LABEL 3)    (MOVE O3 NIL)
             (JRST 2)
(LABEL 4)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 2)
(LABEL 5)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 2)
(LABEL 6)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 2)
(LABEL 7)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 2)    (ADDI Q 7)
             (MOVEM O1 -4 Q)
             (MOVEM O2 -3 Q)
             (MOVEM O3 -2 Q)
             (MOVE O2 O3)
(LABEL 9)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 1))
             (JUMPN O4 9)
             (MOVEM O1 -6 Q)
             (MOVE O2 -2 Q)
(LABEL 11)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 2))
             (JUMPN O4 11)
             (MOVEM O1 -5 Q)
             (MOVE O5 -2 Q)
             (MOVEM O5 -1 Q)
             (MOVE O2 (CONSTANT 3))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O5 -3 Q)
             (MOVEM O5 0 Q)
             (MOVE O4 (CONSTANT 6))
             (MOVE O1 O5)
             (MOVE O2 (CONSTANT 4))
             (MOVE O3 (CONSTANT 5))
             (CALL MEMBER 4)
             (JUMPE O1 14)
             (MOVE O1 (SPECIAL 7))
             (JRST 13)
(LABEL 14)   (MOVE O4 (CONSTANT 6))
             (MOVE O1 0 Q)
             (MOVE O2 (CONSTANT 8))
             (MOVE O3 (CONSTANT 5))
             (CALL MEMBER 4)
             (JUMPE O1 15)
             (MOVE O1 (SPECIAL 0))
             (JRST 13)
(LABEL 15)   (SKIPA)
             (JRST 16)
             (MOVE O1 -3 Q)
(LABEL 16)
(LABEL 13)   (MOVEM O1 -3 Q)
             (MOVE O4 -5 Q)
             (MOVE O1 -4 Q)
             (MOVE O2 -3 Q)
             (MOVE O3 -6 Q)
             (CALL LISP::%SP-WRITE-STRING 4)
             (MOVE O1 -3 Q)
             (CALL TERPRI 1)
             (MOVE O1 -4 Q)
             (MOVEI N 1)
             (SUBI Q 7)
             (POPJ P)
)

(%PUT (QUOTE WRITE-LINE) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (STRING &OPTIONAL (STREAM *STANDARD-OUTPUT*) &KEY START END))) 
(%PUT (QUOTE WRITE-LINE) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PRINT.CLISP.14") (GET (QUOTE WRITE-LINE) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE OUTPUT-VECTOR) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Outputs the printed representation of a 1-D array.")) 

#_(LAP #0_OUTPUT-VECTOR EXPR
       (ENTRY-POINTS (2-FEW 1 2 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(0 "#*" *STANDARD-OUTPUT* "#(" T *PRINT-LENGTH* "..." #\) #\SPACE)
       (CODE-START)
(LABEL 1)    (MOVE O2 (CONSTANT 0))
(LABEL 2)    (ADDI Q 7)
             (MOVEM O1 -6 Q)
             (MOVEM O2 -5 Q)
             (CALL BIT-VECTOR-P 1)
             (JUMPE O1 6)
             (MOVE O5 (SPECIAL 2))
             (MOVEM O5 -4 Q)
             (MOVE O4 NIL)
             (MOVE O1 (CONSTANT 1))
             (MOVE O2 O5)
             (MOVE O3 (CONSTANT 0))
             (CALL LISP::%SP-WRITE-STRING 4)
             (JRST 7)
(LABEL 6)    (MOVE O5 (SPECIAL 2))
             (MOVEM O5 -4 Q)
             (MOVE O4 NIL)
             (MOVE O1 (CONSTANT 3))
             (MOVE O2 O5)
             (MOVE O3 (CONSTANT 0))
             (CALL LISP::%SP-WRITE-STRING 4)
(LABEL 7)    (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -4 Q)
             (MOVE O1 -6 Q)
             (CALL LENGTH 1)
             (MOVEM O1 -3 Q)
             (MOVE O1 -6 Q)
             (CALL BIT-VECTOR-P 1)
             (TDCN O1 O1)
             (MOVE O1 (CONSTANT 4))
             (MOVEM O1 -2 Q)
(LABEL 12)   (SKIPN NIL (SPECIAL 5))
             (JRST1 16)
             (MOVE O2 (SPECIAL 5))
             (MOVE O1 -4 Q)
             (CALL < 2)
             (SKIPN NIL O1)
(LABEL 16)   (JRST1 15)
             (MOVE O2 -3 Q)
             (MOVE O1 -4 Q)
             (CALL = 2)
             (SKIPN NIL O1)
(LABEL 15)   (JRST 13)
             (MOVE O2 -3 Q)
             (MOVE O1 -4 Q)
             (CALL = 2)
             (JUMPN O1 18)
             (MOVE O5 (SPECIAL 2))
             (MOVEM O5 0 Q)
             (MOVE O4 NIL)
             (MOVE O1 (CONSTANT 6))
             (MOVE O2 O5)
             (MOVE O3 (CONSTANT 0))
             (CALL LISP::%SP-WRITE-STRING 4)
(LABEL 18)   (SKIPN NIL -2 Q)
             (JRST 20)
             (MOVE O1 (CONSTANT 7))
             (CALL WRITE-CHAR 1)
             (JRST 21)
(LABEL 20)   (MOVE O1 NIL)
             (MOVEI N 1)
(LABEL 21)   (JRST 8)
(LABEL 13)   (MOVE O2 (CONSTANT 0))
             (MOVE O1 -4 Q)
             (CALL > 2)
             (JUMPE O1 24)
             (SKIPN NIL -2 Q)
(LABEL 24)   (JRST 22)
             (MOVE O1 (CONSTANT 8))
             (CALL WRITE-CHAR 1)
(LABEL 22)   (MOVE O2 -4 Q)
             (MOVE O1 -6 Q)
             (CALL AREF 2)
             (MOVEM O1 -1 Q)
             (MOVE O2 -5 Q)
             (CALL LISP::OUTPUT-OBJECT 2)
             (MOVE O1 -4 Q)
             (CALL 1+ 1)
             (MOVEM O1 -4 Q)
             (JRST 12)
(LABEL 8)    (SUBI Q 7)
             (POPJ P)
)

(%PUT (QUOTE OUTPUT-VECTOR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (VECTOR &OPTIONAL (CURRLEVEL 0)))) 
(%PUT (QUOTE OUTPUT-VECTOR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PRINT.CLISP.14") (GET (QUOTE OUTPUT-VECTOR) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE OUTPUT-ARRAY) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Outputs the printed representation of any array in either the #< or #A
  form.")) 

#_(LAP #0_OUTPUT-ARRAY EXPR
       (ENTRY-POINTS (2-FEW 1 2 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(0)
       (CODE-START)
(LABEL 1)    (MOVE O2 (CONSTANT 0))
(LABEL 2)    (ADDI Q 3)
             (MOVEM O1 -2 Q)
             (MOVEM O2 -1 Q)
             (CALL ARRAY-RANK 1)
             (MOVEM O1 0 Q)
             (MOVE O3 -1 Q)
             (MOVE O1 -2 Q)
             (MOVE O2 0 Q)
             (CALL LISP::OUTPUT-ARRAY-GUTS 3)
             (SUBI Q 3)
             (POPJ P)
)

(%PUT (QUOTE OUTPUT-ARRAY) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ARRAY &OPTIONAL (CURRLEVEL 0)))) 
(%PUT (QUOTE OUTPUT-ARRAY) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PRINT.CLISP.14") (GET (QUOTE OUTPUT-ARRAY) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_OUTPUT-ARRAY-GUTS EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY))
       #0_(#\# :BASE 10 #\A 0 3)
       (CODE-START)
(LABEL 1)    (ADDI Q 5)
             (MOVEM O1 -4 Q)
             (MOVEM O2 -3 Q)
             (MOVEM O3 -2 Q)
             (MOVE O1 (CONSTANT 0))
             (CALL WRITE-CHAR 1)
             (MOVE O3 (CONSTANT 2))
             (MOVE O1 -3 Q)
             (MOVE O2 (CONSTANT 1))
             (CALL WRITE 3)
             (MOVE O1 (CONSTANT 3))
             (CALL WRITE-CHAR 1)
             (MOVE O2 (CONSTANT 4))
             (MOVE O1 -4 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -1 Q)
             (MOVE O1 -4 Q)
             (CALL ARRAY-DIMENSIONS 1)
             (MOVEM O1 0 Q)
             (MOVE O2 (CONSTANT 5))
             (MOVE O1 -4 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVE O4 O1)
             (MOVE O1 -1 Q)
             (MOVE O2 0 Q)
             (MOVE O3 -2 Q)
             (CALL LISP::SUB-OUTPUT-ARRAY-GUTS 4)
             (SUBI Q 5)
             (POPJ P)
)

(%PUT (QUOTE OUTPUT-ARRAY-GUTS) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ARRAY RANK CURRLEVEL))) 
(%PUT (QUOTE OUTPUT-ARRAY-GUTS) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PRINT.CLISP.14") (GET (QUOTE OUTPUT-ARRAY-GUTS) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_SUB-OUTPUT-ARRAY-GUTS EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 2-FEW 1 2-MANY 2-MANY))
       #0_(*PRINT-LEVEL* #\# #\( 0 *PRINT-LENGTH* "...)" *STANDARD-OUTPUT* #\) #\SPACE)
       (CODE-START)
(LABEL 1)    (ADDI Q 11)
             (MOVEM O1 -10 Q)
             (MOVEM O2 -9 Q)
             (MOVEM O3 -8 Q)
             (MOVEM O4 -7 Q)
             (SKIPE NIL -9 Q)
             (JRST 4)
             (MOVE O2 -7 Q)
             (MOVE O1 -10 Q)
             (CALL AREF 2)
             (MOVEM O1 -6 Q)
             (MOVE O2 -8 Q)
             (CALL LISP::OUTPUT-OBJECT 2)
             (MOVE O1 -7 Q)
             (CALL 1+ 1)
             (JRST 3)
(LABEL 4)    (SKIPN NIL (SPECIAL 0))
             (JRST 6)
             (MOVE O2 (SPECIAL 0))
             (MOVE O1 -8 Q)
             (CALL < 2)
             (SKIPE NIL O1)
(LABEL 6)    (JRST 5)
             (MOVE O1 (CONSTANT 1))
             (CALL WRITE-CHAR 1)
             (MOVE O1 -7 Q)
             (MOVEI N 1)
             (JRST 3)
(LABEL 5)    (SKIPA)
             (JRST 8)
             (MOVE O1 (CONSTANT 2))
             (CALL WRITE-CHAR 1)
             (MOVE O5 -7 Q)
             (MOVEM O5 -5 Q)
             (MOVE O5 (CONSTANT 3))
             (MOVEM O5 -4 Q)
             (MOVE O1 -9 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -2 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -9 Q)
             (MOVEM O5 -3 Q)
(LABEL 13)   (MOVE O2 -3 Q)
             (MOVE O1 -4 Q)
             (CALL = 2)
             (JUMPN1 O1 16)
             (SKIPN NIL (SPECIAL 4))
             (JRST 17)
             (MOVE O2 (SPECIAL 4))
             (MOVE O1 -4 Q)
             (CALL = 2)
             (SKIPN NIL O1)
(LABEL 17)
(LABEL 16)   (JRST 14)
             (MOVE O2 -3 Q)
             (MOVE O1 -4 Q)
             (CALL = 2)
             (JUMPN O1 19)
             (MOVE O5 (SPECIAL 6))
             (MOVEM O5 -1 Q)
             (MOVE O4 NIL)
             (MOVE O1 (CONSTANT 5))
             (MOVE O2 O5)
             (MOVE O3 (CONSTANT 3))
             (CALL LISP::%SP-WRITE-STRING 4)
             (JRST 20)
(LABEL 19)   (MOVE O1 (CONSTANT 7))
             (CALL WRITE-CHAR 1)
(LABEL 20)   (MOVE O1 -5 Q)
             (MOVEI N 1)
             (JRST 9)
(LABEL 14)   (MOVE O1 -4 Q)
             (CALL ZEROP 1)
             (JUMPN O1 21)
             (MOVE O1 (CONSTANT 8))
             (CALL WRITE-CHAR 1)
(LABEL 21)   (MOVE O1 -8 Q)
             (CALL 1+ 1)
             (MOVEM O1 0 Q)
             (MOVE O4 -5 Q)
             (MOVE O1 -10 Q)
             (MOVE O2 -9 Q)
             (MOVE O3 0 Q)
             (CALL LISP::SUB-OUTPUT-ARRAY-GUTS 4)
             (MOVEM O1 -5 Q)
             (MOVE O1 -4 Q)
             (CALL 1+ 1)
             (MOVEM O1 -4 Q)
             (JRST 13)
(LABEL 9)
(LABEL 8)
(LABEL 3)    (SUBI Q 11)
             (POPJ P)
)

(%PUT (QUOTE SUB-OUTPUT-ARRAY-GUTS) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ARRAY DIMENSIONS CURRLEVEL INDEX))) 
(%PUT (QUOTE SUB-OUTPUT-ARRAY-GUTS) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PRINT.CLISP.14") (GET (QUOTE SUB-OUTPUT-ARRAY-GUTS) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_ACCESS-STRUCTURE-NAME MACRO
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(2 "Macro ~S cannot be called with ~S args." ACCESS-STRUCTURE-NAME %SP-SVREF (0))
       (CODE-START)
(LABEL 1)    (ADDI Q 3)
             (MOVEM O1 -2 Q)
             (CALL LENGTH 1)
             (MOVEM O1 -1 Q)
             (MOVE O2 (CONSTANT 0))
             (CALL = 2)
             (JUMPN O1 4)
             (MOVE O1 -2 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 -2 Q)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O3 (CONSTANT 4))
             (MOVE O1 (CONSTANT 3))
             (MOVE O2 O5)
             (CALL LIST* 3)
(LABEL 5)
(LABEL 3)    (SUBI Q 3)
             (POPJ P)
)

(%PUT (QUOTE ACCESS-STRUCTURE-NAME) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (STRUCTURE))) 
(%PUT (QUOTE ACCESS-STRUCTURE-NAME) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PRINT.CLISP.14") (GET (QUOTE ACCESS-STRUCTURE-NAME) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_OUTPUT-STRUCTURE EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(PRINT-FUNCTION STRUCTURE-PRINT SLOT-NAMES DEFSTRUCT-DESCRIPTION *STANDARD-OUTPUT* "#S(" 0 *PRINT-PRETTY* *PRINT-CIRCLE* 1 *PRINT-LENGTH* " ...)" ")" #\SPACE)
       (CODE-START)
(LABEL 1)    (ADDI Q 8)
             (MOVEM O1 -7 Q)
             (MOVEM O2 -6 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -5 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 O5)
             (CALL GET 2)
             (SPEC-BIND (SPECIAL 0))
             (MOVEM O1 (SPECIAL 0))
             (MOVE O2 (CONSTANT 3))
             (MOVE O1 -5 Q)
             (CALL GET 2)
             (MOVE O1 10 O1)
             (SPEC-BIND (SPECIAL 2))
             (MOVEM O1 (SPECIAL 2))
             (SKIPN NIL (SPECIAL 0))
             (JRST 4)
             (MOVE O5 (SPECIAL 0))
             (MOVEM O5 -4 Q)
             (MOVE O5 (SPECIAL 4))
             (MOVEM O5 -2 Q)
             (MOVE O3 -6 Q)
             (MOVE O1 -7 Q)
             (MOVE O2 O5)
             (MOVE O6 -4 Q)
             (FCALL 3)
             (JRST 3)
(LABEL 4)    (MOVE O1 -7 Q)
             (CALL VECTORP 1)
             (JUMPE O1 5)
             (MOVE O5 (SPECIAL 4))
             (MOVEM O5 -3 Q)
             (MOVE O4 NIL)
             (MOVE O1 (CONSTANT 5))
             (MOVE O2 O5)
             (MOVE O3 (CONSTANT 6))
             (CALL LISP::%SP-WRITE-STRING 4)
             (SKIPE NIL (SPECIAL 7))
             (JRST1 8)
             (SKIPN NIL (SPECIAL 8))
(LABEL 8)    (JRST 6)
             (MOVE O2 -6 Q)
             (MOVE O1 -5 Q)
             (CALL LISP::OUTPUT-PRETTY-OBJECT 2)
             (JRST 7)
(LABEL 6)    (MOVE O2 -6 Q)
             (MOVE O1 -5 Q)
             (CALL LISP::OUTPUT-OBJECT 2)
(LABEL 7)    (MOVE O1 -7 Q)
             (CALL SIMPLE-VECTOR-P 1)
             (JUMPE O1 10)
             (MOVE O5 (CONSTANT 9))
             (MOVEM O5 -3 Q)
             (JRST 11)
(LABEL 10)   (MOVE O5 (CONSTANT 6))
             (MOVEM O5 -3 Q)
(LABEL 11)   (MOVE O1 -7 Q)
             (CALL LENGTH 1)
             (MOVEM O1 -2 Q)
(LABEL 15)   (MOVE O2 -2 Q)
             (MOVE O1 -3 Q)
             (CALL = 2)
             (JUMPN1 O1 18)
             (SKIPN NIL (SPECIAL 10))
             (JRST 19)
             (MOVE O2 (SPECIAL 10))
             (MOVE O1 -3 Q)
             (CALL = 2)
             (JUMPE O1 20)
             (JRST1 20)
(LABEL 19)
(LABEL 20)
(LABEL 18)   (JRST 16)
             (MOVE O2 -2 Q)
             (MOVE O1 -3 Q)
             (CALL = 2)
             (JUMPN O1 21)
             (MOVE O5 (SPECIAL 4))
             (MOVEM O5 0 Q)
             (MOVE O4 NIL)
             (MOVE O1 (CONSTANT 11))
             (MOVE O2 O5)
             (MOVE O3 (CONSTANT 6))
             (CALL LISP::%SP-WRITE-STRING 4)
             (JRST 22)
(LABEL 21)   (MOVE O5 (SPECIAL 4))
             (MOVEM O5 0 Q)
             (MOVE O4 NIL)
             (MOVE O1 (CONSTANT 12))
             (MOVE O2 O5)
             (MOVE O3 (CONSTANT 6))
             (CALL LISP::%SP-WRITE-STRING 4)
(LABEL 22)   (JRST 9)
(LABEL 16)   (MOVE O1 (CONSTANT 13))
             (CALL WRITE-CHAR 1)
             (SKIPE NIL (SPECIAL 7))
             (JRST1 25)
             (SKIPN NIL (SPECIAL 8))
(LABEL 25)   (JRST 23)
             (MOVE O2 (SPECIAL 2))
             (MOVE O1 -3 Q)
             (CALL RASSOC 2)
             (MOVE O5 0 O1)
             (MOVEM O5 -1 Q)
             (MOVE O2 -6 Q)
             (MOVE O1 O5)
             (CALL LISP::OUTPUT-PRETTY-OBJECT 2)
             (JRST 24)
(LABEL 23)   (MOVE O2 (SPECIAL 2))
             (MOVE O1 -3 Q)
             (CALL RASSOC 2)
             (MOVE O5 0 O1)
             (MOVEM O5 -1 Q)
             (MOVE O2 -6 Q)
             (MOVE O1 O5)
             (CALL LISP::OUTPUT-OBJECT 2)
(LABEL 24)   (MOVE O1 (CONSTANT 13))
             (CALL WRITE-CHAR 1)
             (SKIPE NIL (SPECIAL 7))
             (JRST1 28)
             (SKIPN NIL (SPECIAL 8))
(LABEL 28)   (JRST 26)
             (MOVE O2 -3 Q)
             (MOVE O1 -7 Q)
             (CALL AREF 2)
             (MOVEM O1 -1 Q)
             (MOVE O2 -6 Q)
             (CALL LISP::OUTPUT-PRETTY-OBJECT 2)
             (JRST 27)
(LABEL 26)   (MOVE O2 -3 Q)
             (MOVE O1 -7 Q)
             (CALL AREF 2)
             (MOVEM O1 -1 Q)
             (MOVE O2 -6 Q)
             (CALL LISP::OUTPUT-OBJECT 2)
(LABEL 27)   (MOVE O1 -3 Q)
             (CALL 1+ 1)
             (MOVEM O1 -3 Q)
             (JRST 15)
(LABEL 9)    (JRST 3)
(LABEL 5)    (MOVE O1 NIL)
             (MOVEI N 1)
(LABEL 3)    (UNBIND 2)
             (SUBI Q 8)
             (POPJ P)
)

(%PUT (QUOTE OUTPUT-STRUCTURE) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (STRUCTURE CURRLEVEL))) 
(%PUT (QUOTE OUTPUT-STRUCTURE) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PRINT.CLISP.14") (GET (QUOTE OUTPUT-STRUCTURE) (QUOTE %SOURCE-DOCUMENTATION)))) 
(DEFVAR *DIGITS* "0123456789") 
(DEFVAR *DIGIT-STRING* (MAKE-ARRAY 50 :ELEMENT-TYPE (QUOTE STRING-CHAR) :FILL-POINTER 0 :ADJUSTABLE T) "Array of digits generated by FLONUM-TO-STRING.") 

#_(LAP #0_FLONUM-TO-STRING EXPR
       (ENTRY-POINTS (2-FEW 1 2 3 4 5 2-MANY))
       #0_("." 1 T 0 *DIGIT-STRING* SHORT-FLOAT 20 53)
       (CODE-START)
(LABEL 1)    (MOVE O2 NIL)
(LABEL 2)    (MOVE O3 NIL)
(LABEL 3)    (MOVE O4 NIL)
(LABEL 4)    (MOVE O5 NIL)
(LABEL 5)    (ADDI Q 13)
             (MOVEM O1 -12 Q)
             (MOVEM O2 -11 Q)
             (MOVEM O3 -10 Q)
             (MOVEM O4 -9 Q)
             (MOVEM O5 -8 Q)
             (CALL ZEROP 1)
             (JUMPE O1 8)
             (MOVE O5 (CONSTANT 3))
             (MOVE O1 (CONSTANT 0))
             (MOVE O2 (CONSTANT 1))
             (MOVE O3 (CONSTANT 2))
             (MOVE O4 (CONSTANT 2))
             (MOVEI N 5)
             (JRST 7)
(LABEL 8)    (SKIPA)
             (JRST 9)
             (MOVE O5 (SPECIAL 4))
             (MOVEM O5 -7 Q)
             (MOVE O2 (CONSTANT 3))
             (MOVE O1 O5)
             (CALL LISP::%SET-FILL-POINTER 2)
             (MOVE O1 -12 Q)
             (CALL INTEGER-DECODE-FLOAT 1)
             (ADJUST-VALUES 2)
             (MOVEM O1 -6 Q)
             (MOVEM O2 -5 Q)
             (MOVE O2 (CONSTANT 5))
             (MOVE O1 -12 Q)
             (CALL TYPEP 2)
             (JUMPE O1 10)
             (MOVE O5 -6 Q)
             (MOVEM O5 -4 Q)
             (MOVE O5 -5 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 (CONSTANT 6))
             (MOVEM O5 -2 Q)
             (MOVE O5 -11 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 0 Q)
             (PUSH Q -9 Q)
             (PUSH Q -9 Q)
             (MOVE O1 -6 Q)
             (MOVE O2 -5 Q)
             (MOVE O3 -4 Q)
             (MOVE O4 -3 Q)
             (MOVE O5 -2 Q)
             (CALL LISP::FLOAT-STRING 7)
             (JRST 11)
(LABEL 10)   (MOVE O5 -6 Q)
             (MOVEM O5 -4 Q)
             (MOVE O5 -5 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 (CONSTANT 7))
             (MOVEM O5 -2 Q)
             (MOVE O5 -11 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 0 Q)
             (PUSH Q -9 Q)
             (PUSH Q -9 Q)
             (MOVE O1 -6 Q)
             (MOVE O2 -5 Q)
             (MOVE O3 -4 Q)
             (MOVE O4 -3 Q)
             (MOVE O5 -2 Q)
             (CALL LISP::FLOAT-STRING 7)
(LABEL 11)
(LABEL 9)
(LABEL 7)    (SUBI Q 13)
             (POPJ P)
)

(%PUT (QUOTE FLONUM-TO-STRING) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X &OPTIONAL WIDTH FDIGITS SCALE FMIN))) 
(%PUT (QUOTE FLONUM-TO-STRING) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PRINT.CLISP.14") (GET (QUOTE FLONUM-TO-STRING) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_FLOAT-STRING EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 2-FEW 2-FEW 2-FEW 2-FEW 1 2-MANY))
       #0_(1 0 10 T #\. *DIGIT-STRING* #\0 -1 *DIGITS*)
       (CODE-START)
(LABEL 1)    (ADDI Q 24)
             (MOVEM O1 -23 Q)
             (MOVEM O2 -22 Q)
             (MOVEM O3 -21 Q)
             (MOVEM O4 -20 Q)
             (MOVEM O5 -19 Q)
             (MOVE O5 O1)
             (MOVEM O5 -18 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -17 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -16 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -15 Q)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -14 Q)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -13 Q)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -12 Q)
             (MOVEM NIL -11 Q)
             (MOVEM NIL -10 Q)
             (MOVEM NIL -9 Q)
             (MOVEM NIL -8 Q)
             (MOVEM NIL -7 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -22 Q)
             (CALL > 2)
             (JUMPE O1 4)
             (MOVE O2 -22 Q)
             (MOVE O1 -23 Q)
             (CALL ASH 2)
             (MOVEM O1 -18 Q)
             (MOVE O2 -22 Q)
             (MOVE O1 (CONSTANT 0))
             (CALL ASH 2)
             (MOVEM O1 -16 Q)
             (MOVEM O1 -15 Q)
             (JRST 3)
(LABEL 4)    (MOVE O2 (CONSTANT 1))
             (MOVE O1 -22 Q)
             (CALL < 2)
             (JUMPE O1 5)
             (MOVE O1 -22 Q)
             (CALL - 1)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 0))
             (CALL ASH 2)
             (MOVEM O1 -17 Q)
(LABEL 5)
(LABEL 3)    (MOVE O2 -21 Q)
             (MOVE O1 (CONSTANT 0))
             (CALL ASH 2)
             (MOVE O2 O1)
             (MOVE O1 -23 Q)
             (CALL = 2)
             (JUMPE O1 8)
             (MOVE O2 (CONSTANT 0))
             (MOVE O1 -15 Q)
             (CALL ASH 2)
             (MOVEM O1 -15 Q)
             (MOVE O2 (CONSTANT 0))
             (MOVE O1 -18 Q)
             (CALL ASH 2)
             (MOVEM O1 -18 Q)
             (MOVE O2 (CONSTANT 0))
             (MOVE O1 -17 Q)
             (CALL ASH 2)
             (MOVEM O1 -17 Q)
(LABEL 8)    (SKIPN NIL -25 Q)
             (JRST 11)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -25 Q)
             (CALL < 2)
             (JUMPE O1 12)
             (MOVE O1 -25 Q)
             (CALL - 1)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 2))
             (CALL EXPT 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 O1)
             (MOVE O1 -17 Q)
             (CALL * 2)
             (MOVEM O1 -17 Q)
             (JRST 13)
(LABEL 12)   (MOVE O2 -25 Q)
             (MOVE O1 (CONSTANT 2))
             (CALL EXPT 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 O1)
             (MOVE O1 -18 Q)
             (CALL * 2)
             (MOVEM O1 -18 Q)
             (MOVE O2 -5 Q)
             (MOVE O1 -15 Q)
             (CALL * 2)
             (MOVEM O1 -15 Q)
             (MOVE O2 -5 Q)
             (MOVE O1 -16 Q)
             (CALL * 2)
             (MOVEM O1 -16 Q)
(LABEL 13)
(LABEL 11)
(LABEL 19)   (MOVE O2 (CONSTANT 2))
             (MOVE O1 -17 Q)
             (CALL CEILING 2)
             (MOVE O2 O1)
             (MOVE O1 -18 Q)
             (CALL < 2)
             (JUMPN O1 20)
             (JRST 15)
(LABEL 20)   (MOVE O1 -14 Q)
             (CALL 1- 1)
             (MOVEM O1 -4 Q)
             (MOVEM O1 -14 Q)
             (MOVE O2 (CONSTANT 2))
             (MOVE O1 -18 Q)
             (CALL * 2)
             (MOVEM O1 -18 Q)
             (MOVE O2 (CONSTANT 2))
             (MOVE O1 -16 Q)
             (CALL * 2)
             (MOVEM O1 -16 Q)
             (MOVE O2 (CONSTANT 2))
             (MOVE O1 -15 Q)
             (CALL * 2)
             (MOVEM O1 -15 Q)
             (JRST 19)
(LABEL 15)
(LABEL 26)   (JRST 27)
             (JRST 22)
(LABEL 27)
(LABEL 33)   (MOVE O2 (CONSTANT 0))
             (MOVE O1 -18 Q)
             (CALL ASH 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -15 Q)
             (CALL + 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 (CONSTANT 0))
             (MOVE O1 -17 Q)
             (CALL ASH 2)
             (MOVE O2 O1)
             (MOVE O1 -4 Q)
             (CALL < 2)
             (JUMPE O1 34)
             (JRST 29)
(LABEL 34)   (MOVE O2 (CONSTANT 2))
             (MOVE O1 -17 Q)
             (CALL * 2)
             (MOVEM O1 -17 Q)
             (MOVE O1 -14 Q)
             (CALL 1+ 1)
             (MOVEM O1 -3 Q)
             (MOVEM O1 -14 Q)
             (JRST 33)
(LABEL 29)   (SKIPN NIL -19 Q)
             (JRST 37)
             (MOVE O1 -19 Q)
             (CALL - 1)
             (MOVEM O1 -11 Q)
             (SKIPN NIL -24 Q)
             (JRST 40)
             (MOVE O1 -24 Q)
             (CALL - 1)
             (MOVE O2 O1)
             (MOVE O1 -11 Q)
             (CALL > 2)
             (SKIPN NIL O1)
(LABEL 40)   (JRST 38)
             (MOVE O1 -24 Q)
             (CALL - 1)
             (MOVEM O1 -11 Q)
(LABEL 38)   (JRST 36)
(LABEL 37)   (SKIPN NIL -20 Q)
             (JRST 42)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -14 Q)
             (CALL < 2)
             (JUMPE O1 43)
             (MOVE O2 -20 Q)
             (MOVE O1 (CONSTANT 0))
             (CALL - 2)
             (MOVEM O1 -11 Q)
             (JRST 44)
(LABEL 43)   (MOVE O2 -20 Q)
             (MOVE O1 -14 Q)
             (CALL - 2)
             (CALL 1+ 1)
             (MOVEM O1 -11 Q)
(LABEL 44)   (SKIPN NIL -24 Q)
             (JRST 47)
             (MOVE O1 -24 Q)
             (CALL - 1)
             (MOVE O2 O1)
             (MOVE O1 -11 Q)
             (CALL > 2)
             (SKIPN NIL O1)
(LABEL 47)   (JRST 45)
             (MOVE O1 -24 Q)
             (CALL - 1)
             (MOVEM O1 -11 Q)
(LABEL 45)
(LABEL 42)
(LABEL 36)   (SKIPE NIL -19 Q)
             (JRST1 52)
             (SKIPN NIL -20 Q)
(LABEL 52)   (JRST 51)
             (MOVE O2 -14 Q)
             (MOVE O1 -11 Q)
             (CALL - 2)
             (MOVEM O1 -4 Q)
             (MOVE O5 -17 Q)
             (MOVEM O5 -3 Q)
             (MOVE O2 (CONSTANT 1))
             (CALL < 2)
             (JUMPN O1 53)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -1 Q)
             (MOVE O5 -4 Q)
             (MOVEM O5 0 Q)
(LABEL 59)   (MOVE O2 0 Q)
             (MOVE O1 -1 Q)
             (CALL < 2)
             (JUMPN O1 60)
             (JRST 55)
(LABEL 60)   (MOVE O2 (CONSTANT 2))
             (MOVE O1 -3 Q)
             (CALL * 2)
             (MOVEM O1 -3 Q)
             (MOVE O1 -1 Q)
             (CALL 1+ 1)
             (MOVEM O1 -1 Q)
             (JRST 59)
(LABEL 55)   (JRST 54)
(LABEL 53)   (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -1 Q)
             (MOVE O1 -4 Q)
             (CALL - 1)
             (MOVEM O1 0 Q)
(LABEL 66)   (MOVE O2 0 Q)
             (MOVE O1 -1 Q)
             (CALL < 2)
             (JUMPN O1 67)
             (JRST 62)
(LABEL 67)   (MOVE O2 (CONSTANT 2))
             (MOVE O1 -3 Q)
             (CALL CEILING 2)
             (MOVEM O1 -3 Q)
             (MOVE O1 -1 Q)
             (CALL 1+ 1)
             (MOVEM O1 -1 Q)
             (JRST 66)
(LABEL 62)
(LABEL 54)   (MOVE O2 -16 Q)
             (MOVE O1 -3 Q)
             (CALL > 2)
             (JUMPE O1 69)
             (MOVE O1 -3 Q)
             (JRST 70)
(LABEL 69)   (MOVE O1 -16 Q)
(LABEL 70)   (MOVEM O1 -16 Q)
             (MOVE O2 -15 Q)
             (MOVE O1 -3 Q)
             (CALL > 2)
             (JUMPE O1 71)
             (MOVE O1 -3 Q)
             (JRST 72)
(LABEL 71)   (MOVE O1 -15 Q)
(LABEL 72)   (MOVEM O1 -15 Q)
             (MOVE O2 -3 Q)
             (CALL = 2)
             (JUMPE O1 74)
             (MOVE O1 (CONSTANT 3))
             (MOVEM O1 -10 Q)
(LABEL 74)
(LABEL 51)   (MOVE O2 (CONSTANT 0))
             (MOVE O1 -18 Q)
             (CALL ASH 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 -15 Q)
             (CALL + 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (CONSTANT 0))
             (MOVE O1 -17 Q)
             (CALL ASH 2)
             (MOVE O2 O1)
             (MOVE O1 -5 Q)
             (CALL < 2)
             (JUMPE O1 78)
             (JRST 22)
(LABEL 78)   (JRST 26)
(LABEL 22)   (MOVE O2 (CONSTANT 1))
             (MOVE O1 -14 Q)
             (CALL < 2)
             (JUMPE O1 81)
             (MOVE O1 -13 Q)
             (MOVEM O1 -12 Q)
             (MOVE O2 (SPECIAL 5))
             (MOVE O1 (CONSTANT 4))
             (CALL VECTOR-PUSH-EXTEND 2)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -5 Q)
             (MOVE O1 -14 Q)
             (CALL - 1)
             (MOVEM O1 -4 Q)
(LABEL 86)   (MOVE O2 -4 Q)
             (MOVE O1 -5 Q)
             (CALL < 2)
             (JUMPN O1 87)
             (JRST 82)
(LABEL 87)   (MOVE O1 -13 Q)
             (CALL 1+ 1)
             (MOVEM O1 -2 Q)
             (MOVEM O1 -13 Q)
             (MOVE O2 (SPECIAL 5))
             (MOVE O1 (CONSTANT 6))
             (CALL VECTOR-PUSH-EXTEND 2)
             (MOVE O1 -5 Q)
             (CALL 1+ 1)
             (MOVEM O1 -5 Q)
             (JRST 86)
(LABEL 82)
(LABEL 81)
(LABEL 94)   (JRST 95)
             (JRST 90)
(LABEL 95)   (MOVE O1 -14 Q)
             (CALL 1- 1)
             (MOVEM O1 -4 Q)
             (MOVEM O1 -14 Q)
             (MOVE O2 (CONSTANT 7))
             (CALL = 2)
             (JUMPE O1 98)
             (MOVE O2 (SPECIAL 5))
             (MOVE O1 (CONSTANT 4))
             (CALL VECTOR-PUSH-EXTEND 2)
             (MOVE O1 -13 Q)
             (MOVEM O1 -12 Q)
(LABEL 98)   (MOVE O2 (CONSTANT 2))
             (MOVE O1 -18 Q)
             (CALL * 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 -17 Q)
             (CALL TRUNCATE 2)
             (ADJUST-VALUES 2)
             (MOVEM O1 -9 Q)
             (MOVEM O2 -18 Q)
             (MOVE O2 (CONSTANT 2))
             (MOVE O1 -16 Q)
             (CALL * 2)
             (MOVEM O1 -16 Q)
             (MOVE O2 (CONSTANT 2))
             (MOVE O1 -15 Q)
             (CALL * 2)
             (MOVEM O1 -15 Q)
             (MOVE O2 (CONSTANT 0))
             (MOVE O1 -18 Q)
             (CALL ASH 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 -16 Q)
             (CALL < 2)
             (MOVEM O1 -8 Q)
             (SKIPN NIL -10 Q)
             (JRST 100)
             (MOVE O2 (CONSTANT 0))
             (MOVE O1 -18 Q)
             (CALL ASH 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (CONSTANT 0))
             (MOVE O1 -17 Q)
             (CALL ASH 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -15 Q)
             (CALL - 2)
             (MOVE O2 O1)
             (MOVE O1 -5 Q)
             (CALL < 2)
             (TDCN O1 O1)
             (MOVE O1 (CONSTANT 3))
             (MOVEM O1 -7 Q)
             (JRST 101)
(LABEL 100)  (MOVE O2 (CONSTANT 0))
             (MOVE O1 -18 Q)
             (CALL ASH 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (CONSTANT 0))
             (MOVE O1 -17 Q)
             (CALL ASH 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -15 Q)
             (CALL - 2)
             (MOVE O2 O1)
             (MOVE O1 -5 Q)
             (CALL > 2)
             (MOVEM O1 -7 Q)
(LABEL 101)  (SKIPE NIL -8 Q)
             (JRST1 104)
             (SKIPE NIL -7 Q)
             (JRST1 104)
             (SKIPN NIL -11 Q)
             (JRST 105)
             (MOVE O2 -11 Q)
             (MOVE O1 -14 Q)
             (CALL > 2)
             (SKIPE NIL O1)
(LABEL 105)
(LABEL 104)  (JRST 103)
             (JRST 90)
(LABEL 103)  (MOVE O5 (SPECIAL 8))
             (MOVEM O5 -5 Q)
             (MOVE O2 -9 Q)
             (MOVE O1 O5)
             (CALL AREF 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (SPECIAL 5))
             (CALL VECTOR-PUSH-EXTEND 2)
             (MOVE O1 -13 Q)
             (CALL 1+ 1)
             (MOVEM O1 -4 Q)
             (MOVEM O1 -13 Q)
             (JRST 94)
(LABEL 90)   (SKIPN NIL -11 Q)
             (JRST1 110)
             (MOVE O2 -11 Q)
             (MOVE O1 -14 Q)
             (CALL < 2)
             (SKIPE NIL O1)
(LABEL 110)  (JRST 109)
             (MOVE O5 (SPECIAL 8))
             (MOVEM O5 -6 Q)
             (SKIPN NIL -8 Q)
             (JRST 113)
             (SKIPE NIL -7 Q)
(LABEL 113)  (JRST 112)
             (MOVE O2 -9 Q)
             (JRST 111)
(LABEL 112)  (SKIPN NIL -7 Q)
             (JRST 116)
             (SKIPE NIL -8 Q)
(LABEL 116)  (JRST 115)
             (MOVE O1 -9 Q)
             (CALL 1+ 1)
             (MOVE O2 O1)
             (JRST 111)
(LABEL 115)  (SKIPA)
             (JRST 118)
             (MOVE O2 (CONSTANT 0))
             (MOVE O1 -18 Q)
             (CALL ASH 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 -17 Q)
             (CALL > 2)
             (JUMPN O1 119)
             (MOVE O2 -9 Q)
             (JRST 120)
(LABEL 119)  (MOVE O1 -9 Q)
             (CALL 1+ 1)
             (MOVE O2 O1)
(LABEL 120)
(LABEL 118)
(LABEL 111)  (MOVE O1 -6 Q)
             (CALL AREF 2)
             (MOVEM O1 -6 Q)
             (MOVE O2 (SPECIAL 5))
             (CALL VECTOR-PUSH-EXTEND 2)
             (MOVE O1 -13 Q)
             (CALL 1+ 1)
             (MOVEM O1 -5 Q)
             (MOVEM O1 -13 Q)
(LABEL 109)  (MOVE O2 (CONSTANT 1))
             (MOVE O1 -14 Q)
             (CALL < 2)
             (JUMPN O1 124)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -5 Q)
             (MOVE O5 -14 Q)
             (MOVEM O5 -4 Q)
(LABEL 129)  (MOVE O2 -4 Q)
             (MOVE O1 -5 Q)
             (CALL < 2)
             (JUMPN O1 130)
             (JRST 125)
(LABEL 130)  (MOVE O1 -13 Q)
             (CALL 1+ 1)
             (MOVEM O1 -2 Q)
             (MOVEM O1 -13 Q)
             (MOVE O2 (SPECIAL 5))
             (MOVE O1 (CONSTANT 6))
             (CALL VECTOR-PUSH-EXTEND 2)
             (MOVE O1 -5 Q)
             (CALL 1+ 1)
             (MOVEM O1 -5 Q)
             (JRST 129)
(LABEL 125)  (MOVE O2 (SPECIAL 5))
             (MOVE O1 (CONSTANT 4))
             (CALL VECTOR-PUSH-EXTEND 2)
             (MOVE O1 -13 Q)
             (MOVEM O1 -12 Q)
(LABEL 124)  (SKIPN NIL -19 Q)
             (JRST 134)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -5 Q)
             (MOVE O2 -12 Q)
             (MOVE O1 -13 Q)
             (CALL - 2)
             (MOVE O2 O1)
             (MOVE O1 -19 Q)
             (CALL - 2)
             (MOVEM O1 -4 Q)
(LABEL 139)  (MOVE O2 -4 Q)
             (MOVE O1 -5 Q)
             (CALL < 2)
             (JUMPN O1 140)
             (JRST 135)
(LABEL 140)  (MOVE O1 -13 Q)
             (CALL 1+ 1)
             (MOVEM O1 -2 Q)
             (MOVEM O1 -13 Q)
             (MOVE O2 (SPECIAL 5))
             (MOVE O1 (CONSTANT 6))
             (CALL VECTOR-PUSH-EXTEND 2)
             (MOVE O1 -5 Q)
             (CALL 1+ 1)
             (MOVEM O1 -5 Q)
             (JRST 139)
(LABEL 135)
(LABEL 134)  (MOVE O5 (SPECIAL 5))
             (MOVEM O5 -6 Q)
             (MOVE O1 -13 Q)
             (CALL 1+ 1)
             (MOVEM O1 -5 Q)
             (MOVE O1 -12 Q)
             (CALL ZEROP 1)
             (MOVEM O1 -4 Q)
             (MOVE O2 -13 Q)
             (MOVE O1 -12 Q)
             (CALL = 2)
             (MOVEM O1 -3 Q)
             (MOVE O5 -12 Q)
             (MOVE O1 -6 Q)
             (MOVE O2 -5 Q)
             (MOVE O3 -4 Q)
             (MOVE O4 -3 Q)
             (MOVEI N 5)
             (SUBI Q 26)
             (POPJ P)
)

(%PUT (QUOTE FLOAT-STRING) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (FRACTION EXPONENT PRECISION WIDTH FDIGITS SCALE FMIN))) 
(%PUT (QUOTE FLOAT-STRING) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PRINT.CLISP.14") (GET (QUOTE FLOAT-STRING) (QUOTE %SOURCE-DOCUMENTATION)))) 
(DEFCONSTANT SHORT-LOG10-OF-2 0.30102998) 

#_(LAP #0_SCALE-EXPONENT EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(SHORT-FLOAT 0.0 1.0 10.0 0.099999994 0.30102998 0.0D0 1.0D0 10.0D0 0.0999999996507540345137D0 0.301029995083808898925D0)
       (CODE-START)
(LABEL 1)    (ADDI Q 6)
             (MOVEM O1 -5 Q)
             (MOVE O2 (CONSTANT 0))
             (CALL TYPEP 2)
             (JUMPE O1 3)
             (MOVE O5 -5 Q)
             (MOVEM O5 -4 Q)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -3 Q)
             (MOVE O5 (CONSTANT 2))
             (MOVEM O5 -2 Q)
             (MOVE O5 (CONSTANT 3))
             (MOVEM O5 -1 Q)
             (MOVE O5 (CONSTANT 4))
             (MOVEM O5 0 Q)
             (PUSH Q (CONSTANT 5))
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL LISP::SCALE-EXPT-AUX 6)
             (JRST 4)
(LABEL 3)    (MOVE O5 -5 Q)
             (MOVEM O5 -4 Q)
             (MOVE O5 (CONSTANT 6))
             (MOVEM O5 -3 Q)
             (MOVE O5 (CONSTANT 7))
             (MOVEM O5 -2 Q)
             (MOVE O5 (CONSTANT 8))
             (MOVEM O5 -1 Q)
             (MOVE O5 (CONSTANT 9))
             (MOVEM O5 0 Q)
             (PUSH Q (CONSTANT 10))
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL LISP::SCALE-EXPT-AUX 6)
(LABEL 4)    (SUBI Q 6)
             (POPJ P)
)

(%PUT (QUOTE SCALE-EXPONENT) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X))) 
(%PUT (QUOTE SCALE-EXPONENT) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PRINT.CLISP.14") (GET (QUOTE SCALE-EXPONENT) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_SCALE-EXPT-AUX EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 2-FEW 2-FEW 2-FEW 1 2-MANY))
       #0_(1 0 -1)
       (CODE-START)
(LABEL 1)    (ADDI Q 20)
             (MOVEM O1 -19 Q)
             (MOVEM O2 -18 Q)
             (MOVEM O3 -17 Q)
             (MOVEM O4 -16 Q)
             (MOVEM O5 -15 Q)
             (CALL DECODE-FLOAT 1)
             (ADJUST-VALUES 2)
             (MOVEM O1 -14 Q)
             (MOVEM O2 -13 Q)
             (MOVE O2 -18 Q)
             (MOVE O1 -19 Q)
             (CALL = 2)
             (JUMPE O1 3)
             (MOVE O2 (CONSTANT 0))
             (MOVE O1 -18 Q)
             (MOVEI N 2)
             (JRST 4)
(LABEL 3)    (MOVE O2 -20 Q)
             (MOVE O1 -13 Q)
             (CALL * 2)
             (MOVEM O1 -11 Q)
             (MOVE O2 (CONSTANT 0))
             (CALL ROUND 2)
             (MOVEM O1 -12 Q)
             (MOVE O2 (CONSTANT 1))
             (CALL < 2)
             (JUMPE O1 5)
             (MOVE O2 -16 Q)
             (MOVE O1 -19 Q)
             (CALL * 2)
             (MOVEM O1 -10 Q)
             (MOVE O2 -12 Q)
             (MOVE O1 (CONSTANT 2))
             (CALL - 2)
             (MOVE O2 O1)
             (MOVE O1 -16 Q)
             (CALL EXPT 2)
             (MOVE O2 O1)
             (MOVE O1 -10 Q)
             (CALL * 2)
             (MOVEM O1 -11 Q)
             (JRST 6)
(LABEL 5)    (MOVE O2 -16 Q)
             (MOVE O1 -19 Q)
             (CALL / 2)
             (MOVEM O1 -10 Q)
             (MOVE O1 -12 Q)
             (CALL 1- 1)
             (MOVE O2 O1)
             (MOVE O1 -16 Q)
             (CALL EXPT 2)
             (MOVE O2 O1)
             (MOVE O1 -10 Q)
             (CALL / 2)
             (MOVEM O1 -11 Q)
(LABEL 6)    (MOVE O5 -16 Q)
             (MOVEM O5 -9 Q)
             (MOVE O5 -11 Q)
             (MOVEM O5 -8 Q)
             (MOVE O5 -12 Q)
             (MOVEM O5 -7 Q)
(LABEL 11)   (MOVE O2 -17 Q)
             (MOVE O1 -8 Q)
             (CALL < 2)
             (JUMPE O1 12)
             (MOVE O5 -16 Q)
             (MOVEM O5 -5 Q)
             (MOVE O5 -8 Q)
             (MOVEM O5 -4 Q)
             (MOVE O5 -7 Q)
             (MOVEM O5 -3 Q)
(LABEL 18)   (MOVE O2 -15 Q)
             (MOVE O1 -4 Q)
             (CALL < 2)
             (JUMPN O1 19)
             (MOVE O2 -3 Q)
             (MOVE O1 -4 Q)
             (MOVEI N 2)
             (JRST 14)
(LABEL 19)   (MOVE O2 -16 Q)
             (MOVE O1 -5 Q)
             (CALL * 2)
             (MOVEM O1 -2 Q)
             (MOVE O2 -5 Q)
             (MOVE O1 -4 Q)
             (CALL * 2)
             (MOVEM O1 -1 Q)
             (MOVE O1 -3 Q)
             (CALL 1- 1)
             (MOVEM O1 0 Q)
             (MOVE O1 -2 Q)
             (MOVEM O1 -5 Q)
             (MOVE O1 -1 Q)
             (MOVEM O1 -4 Q)
             (MOVE O1 0 Q)
             (MOVEM O1 -3 Q)
             (JRST 18)
(LABEL 14)   (JRST 7)
(LABEL 12)   (MOVE O2 -16 Q)
             (MOVE O1 -9 Q)
             (CALL * 2)
             (MOVEM O1 -6 Q)
             (MOVE O2 -9 Q)
             (MOVE O1 -11 Q)
             (CALL / 2)
             (MOVEM O1 -5 Q)
             (MOVE O1 -7 Q)
             (CALL 1+ 1)
             (MOVEM O1 -4 Q)
             (MOVE O1 -6 Q)
             (MOVEM O1 -9 Q)
             (MOVE O1 -5 Q)
             (MOVEM O1 -8 Q)
             (MOVE O1 -4 Q)
             (MOVEM O1 -7 Q)
             (JRST 11)
(LABEL 7)
(LABEL 4)    (SUBI Q 21)
             (POPJ P)
)

(%PUT (QUOTE SCALE-EXPT-AUX) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X ZERO ONE TEN ONE-TENTH LOG10-OF-2))) 
(%PUT (QUOTE SCALE-EXPT-AUX) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PRINT.CLISP.14") (GET (QUOTE SCALE-EXPT-AUX) (QUOTE %SOURCE-DOCUMENTATION))))