(FILECREATED "10-Jul-86 17:49:19" ("compiled on " {ERIS}LIBRARY>CMLFLOAT.;34) "10-Jul-86 12:19:06" "COMPILE-FILEd" in "Xerox Lisp 10-Jul-86 ..." dated "10-Jul-86 12:31:23") (FILECREATED " 4-Jul-86 01:28:23" {ERIS}LIBRARY>CMLFLOAT.;34 changes to: (VARS CMLFLOATCOMS) previous date: " 2-Jul-86 10:29:42" {ERIS}LIBRARY>CMLFLOAT.;33) (RPAQQ CMLFLOATCOMS ((* * CMLFLOAT -- Covering sections 12.5-12.5.3 irrational, transcendental, exponential, logarithmic, trigonometric, and hyperbolic functions.) (COMS (FNS %%MAKE-ARRAY %%FLOAT)) (DECLARE: EVAL@COMPILE DONTCOPY (VARIABLES %%SINGLE-FLOAT-EXPONENT-LENGTH %%SINGLE-FLOAT-MANTISSA-LENGTH %%FLOAT-ONE %%FLOAT-HALF %%SQRT-HALF %%E SQRT3 2-SQRT3 INV-2-SQRT3 %%ASIN-EPS %%ASIN-P1 %%ASIN-P2 %%ASIN-Q0 %%ASIN-Q1 %%ASIN-Q2 %%FLOAT-HALF %%ZERO) (FILES (LOADCOMP) LLFLOAT)) (VARIABLES PI) (COMS (* Random old spice junk. *) (FUNCTIONS SCALE-FLOAT-BY POLY-EVAL)) ( COMS (* EXP *) (COMS (CONSTANTS (%%LOG-BASE2-E (%%FLOAT 16312 43579))) (* * %%EXP-POLY contains P and Q coefficients of Harris et al EXPB 1103 rational approximation to (EXPT 2 X) in interval (0 .125) %. %%EXP-TABLE contains values of powers (EXPT 2 (/ N 8)) . *) (INITVARS (%%EXP-POLY (%%MAKE-ARRAY (LIST (%%FLOAT 15549 17659) (%%FLOAT 16256 0) (%%FLOAT 16801 38273) (%%FLOAT 17257 7717) (%%FLOAT 17597 11739) (%%FLOAT 17800 30401)))) (%%EXP-TABLE (%%MAKE-ARRAY (LIST (%%FLOAT 16256 0) (%%FLOAT 16267 38338) (%%FLOAT 16280 14320) (%%FLOAT 16293 65239) (%%FLOAT 16309 1267) (%%FLOAT 16325 26410) (%%FLOAT 16343 17661) (%%FLOAT 16362 49351)))))) (FNS EXP %%EXP-FLOAT %%EXP-COMPLEX)) (COMS (* EXPT *) (FNS CL:EXPT %%EXPT-INTEGER %%EXPT-FLOAT %%EXPT-COMPLEX %%EXPT-COMPLEX-POWER)) (COMS (* LOG *) (COMS ( DECLARE: EVAL@COMPILE DONTCOPY (CONSTANTS (%%LOG2 (%%FLOAT 16177 29208)) (%%SQRT2 (%%FLOAT 16309 1267) ))) (* * %%LOG-PPOLY and %%LOG-QPOLY contain P and Q coefficients of Harris et al LOGE 2707 rational approximation to (LOG X) in interval ((SQRT .5) (SQRT 2)) . *) (INITVARS (%%LOG-PPOLY (%%MAKE-ARRAY ( LIST (%%FLOAT 16042 22803) (%%FLOAT 49484 23590) (%%FLOAT 17044 17982) (%%FLOAT 49926 37153) (%%FLOAT 17046 5367)))) (%%LOG-QPOLY (%%MAKE-ARRAY (LIST (%%FLOAT 16256 0) (%%FLOAT 49512 9103) (%%FLOAT 16992 42274) (%%FLOAT 49823 38048) (%%FLOAT 16918 5367)))))) (FNS CL:LOG %%LOG-FLOAT %%LOG-COMPLEX)) (FNS CL:SQRT) (DECLARE: EVAL@COMPILE DONTCOPY (VARIABLES %%2PI %%PI %%PI/2 %%-PI/2 %%PI/4 %%-PI/4 SIXTH-PI %%2/PI)) (COMS (* SIN *) (COMS (* * %%SIN-EPSILON is sufficiently small that (SIN X) = X for X in interval (0 %%SIN-EPSILON) %. It suffices to take %%SIN-EPSILON a little bit smaller than (SQRT (CL:* 6 SINGLE-FLOAT-EPSILON)) which we get by the Taylor series expansion (SIN X) = (+ X (/ (EXPT X 3) 6) ...) (The relative error caused by ommitting (/ (EXPT X 3) 6) isn't observable.) Comparison against %%SIN-EPSILON is used to avoid POLYEVAL microcode underflow when computing SIN. *) (DECLARE: EVAL@COMPILE DONTCOPY (VARIABLES %%SIN-EPSILON)) (* * %%SIN-PPOLY and %%SIN-QPOLY contain P and Q coefficients of Harris et al SIN 3374 rational approximation to (SIN X) in interval (0 (/ PI 2)) . *) (VARIABLES %%SIN-PPOLY %%SIN-QPOLY)) (FNS CL:SIN %%SIN-FLOAT %%SIN-COMPLEX)) (COMS (* COS *) (FNS CL:COS %%COS-COMPLEX)) (COMS (COMS (* * %%TAN-EPSILON is sufficiently small that (TAN X) = X for X in interval (0 %%TAN-EPSILON) %. It suffices to take %%TAN-EPSILON a little bit smaller than (SQRT (CL:* 3 SINGLE-FLOAT-EPSILON)) which we get by the Taylor series expansion (TAN X) = (+ X (/ (EXPT X 3) 3) ...) (The relative error caused by ommitting (/ (EXPT X 3) 3) isn't observable.) Comparison against %%TAN-EPSILON is used to avoid POLYEVAL microcode underflow when computing TAN. *) (DECLARE: EVAL@COMPILE DONTCOPY (VARIABLES %%TAN-EPSILON)) (* * %%TAN-PPOLY and %%TAN-QPOLY contain P and Q coefficients of Harris et al TAN 4288 rational approximation to (TAN X) in interval (-PI/4 PI/4) . *) (INITVARS (%%TAN-PPOLY (%%MAKE-ARRAY (LIST (%%FLOAT 49803 44451) (%%FLOAT 18254 23362) (%%FLOAT 51983 57389) (%%FLOAT 19947 57965) (%%FLOAT 53162 16965)))) (%%TAN-QPOLY (%%MAKE-ARRAY (LIST (%%FLOAT 16256 0) (%%FLOAT 50453 51515) (%%FLOAT 18760 65370) (%%FLOAT 52376 39517) (%%FLOAT 20221 24840) (%%FLOAT 53208 51139)))))) (FNS CL:TAN %%TAN-FLOAT %%TAN-COMPLEX)) (COMS (COMS (* * %%ASIN-EPSILON is sufficiently small that (ASIN X) = X for X in interval (0 %%ASIN-EPSILON) %. It suffices to take %%ASIN-EPSILON a little bit smaller than (CL:* 2 SINGLE-FLOAT-EPSILON) which we get by the Taylor series expansion (ASIN X) = (+ X (/ (EXPT X 3) 6) ...) (The relative error caused by ommitting (/ ( EXPT X 3) 6) isn't observable.) Comparison against %%ASIN-EPSILON is used to avoid POLYEVAL microcode underflow when computing SIN. *) (DECLARE: EVAL@COMPILE DONTCOPY (VARIABLES %%ASIN-EPSILON)) (* * %%ASIN-PPOLY and %%ASIN-QPOLY contain P and Q coefficients of Harris et al ARCSN 4671 rational approximation to (ASIN X) in interval (0 (SQRT .5)) . *) (INITVARS (%%ASIN-PPOLY (%%MAKE-ARRAY (LIST ( %%FLOAT 16007 50045) (%%FLOAT 49549 8020) (%%FLOAT 17236 15848) (%%FLOAT 50285 63464) (%%FLOAT 17650 31235) (%%FLOAT 50403 62852) (%%FLOAT 17440 39471)))) (%%ASIN-QPOLY (%%MAKE-ARRAY (LIST (%%FLOAT 16256 0) (%%FLOAT 49672 25817) (%%FLOAT 17308 55260) (%%FLOAT 50326 38098) (%%FLOAT 17674 22210) (%%FLOAT 50417 22451) (%%FLOAT 17440 39471)))))) (FNS ASIN %%ASIN-FLOAT %%ASIN-COMPLEX)) (COMS (* ACOS *) (FNS ACOS %%ACOS-COMPLEX)) (COMS (* ATAN *) (FNS CL:ATAN %%ATAN1 %%ATAN2 %%ATAN-DOMAIN-CHECK %%ATAN-FLOAT %%ATAN-COMPLEX)) (FNS CIS) (FNS SINH COSH TANH) (FNS ASINH ACOSH ATANH %%ATANH-DOMAIN-CHECK) (PROP FILETYPE CMLFLOAT) (DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS (NLAMA) ( NLAML) (LAMA %%ATANH-DOMAIN-CHECK ATANH ACOSH ASINH TANH COSH SINH CIS %%ATAN-COMPLEX %%ATAN-FLOAT %%ATAN-DOMAIN-CHECK %%ATAN2 %%ATAN1 CL:ATAN %%ACOS-COMPLEX ACOS %%ASIN-COMPLEX ASIN %%TAN-COMPLEX CL:TAN %%COS-COMPLEX CL:COS %%SIN-COMPLEX CL:SIN CL:SQRT %%LOG-COMPLEX CL:LOG %%EXPT-COMPLEX-POWER %%EXPT-COMPLEX %%EXPT-INTEGER CL:EXPT %%EXP-COMPLEX %%EXP-FLOAT EXP))))) %%MAKE-ARRAY D1 (L (0 LIST)) 1@ goj X@jIHHJK IJkԺ(45Q SETA 21Q ARRAY 6 LENGTH) (11Q FLOATP) ( 15Q 0.0) %%FLOAT D1 (L (1 LOWORD 0 HIWORD)) @ANIL NIL () (SETQ %%SINGLE-FLOAT-EXPONENT-LENGTH 8) (PUTHASH (QUOTE %%SINGLE-FLOAT-EXPONENT-LENGTH) (QUOTE (CONSTANT %%SINGLE-FLOAT-EXPONENT-LENGTH)) COMPVARMACROHASH) (SETQ %%SINGLE-FLOAT-MANTISSA-LENGTH 23) (PUTHASH (QUOTE %%SINGLE-FLOAT-MANTISSA-LENGTH) (QUOTE (CONSTANT %%SINGLE-FLOAT-MANTISSA-LENGTH)) COMPVARMACROHASH) (SETQ %%FLOAT-ONE 1.0) (PUTHASH (QUOTE %%FLOAT-ONE) (QUOTE (CONSTANT %%FLOAT-ONE)) COMPVARMACROHASH) (SETQ %%FLOAT-HALF .5) (PUTHASH (QUOTE %%FLOAT-HALF) (QUOTE (CONSTANT %%FLOAT-HALF)) COMPVARMACROHASH) (SETQ %%SQRT-HALF (%%FLOAT 16181 1267)) (PUTHASH (QUOTE %%SQRT-HALF) (QUOTE (CONSTANT %%SQRT-HALF)) COMPVARMACROHASH) (SETQ %%E (%%FLOAT 16429 63530)) (PUTHASH (QUOTE %%E) (QUOTE (CONSTANT %%E)) COMPVARMACROHASH) (SETQ SQRT3 1.730525) (PUTHASH (QUOTE SQRT3) (QUOTE (CONSTANT SQRT3)) COMPVARMACROHASH) (SETQ 2-SQRT3 .2679482) (PUTHASH (QUOTE 2-SQRT3) (QUOTE (CONSTANT 2-SQRT3)) COMPVARMACROHASH) (SETQ INV-2-SQRT3 3.732071) (PUTHASH (QUOTE INV-2-SQRT3) (QUOTE (CONSTANT INV-2-SQRT3)) COMPVARMACROHASH) (SETQ %%ASIN-EPS (**FLOAT** 1 -10)) (PUTHASH (QUOTE %%ASIN-EPS) (QUOTE (CONSTANT %%ASIN-EPS)) COMPVARMACROHASH) (SETQ %%ASIN-P1 .08333311) (PUTHASH (QUOTE %%ASIN-P1) (QUOTE (CONSTANT %%ASIN-P1)) COMPVARMACROHASH) (SETQ %%ASIN-P2 -.04500659) (PUTHASH (QUOTE %%ASIN-P2) (QUOTE (CONSTANT %%ASIN-P2)) COMPVARMACROHASH) (SETQ %%ASIN-Q0 .5) (PUTHASH (QUOTE %%ASIN-Q0) (QUOTE (CONSTANT %%ASIN-Q0)) COMPVARMACROHASH) (SETQ %%ASIN-Q1 -.495078) (PUTHASH (QUOTE %%ASIN-Q1) (QUOTE (CONSTANT %%ASIN-Q1)) COMPVARMACROHASH) (SETQ %%ASIN-Q2 .08922788) (PUTHASH (QUOTE %%ASIN-Q2) (QUOTE (CONSTANT %%ASIN-Q2)) COMPVARMACROHASH) (SETQ %%FLOAT-HALF .5) (PUTHASH (QUOTE %%FLOAT-HALF) (QUOTE (CONSTANT %%FLOAT-HALF)) COMPVARMACROHASH) (SETQ %%ZERO 0.0) (PUTHASH (QUOTE %%ZERO) (QUOTE (CONSTANT %%ZERO)) COMPVARMACROHASH) (SETQ PI (%%FLOAT 16457 4059)) (PUTHASH (QUOTE PI) (QUOTE (CONSTANT PI)) COMPVARMACROHASH) expand-SCALE-FLOAT-BY D1 (L (1 $$MACRO-ENVIRONMENT 0 $$MACRO-FORM)) @!HHgJIhNIL (16Q SCALE-FLOAT) () (SETF-MACRO-FUNCTION (QUOTE SCALE-FLOAT-BY) (QUOTE expand-SCALE-FLOAT-BY)) expand-POLY-EVAL D1 (L (1 $$MACRO-ENVIRONMENT 0 $$MACRO-FORM)) 0@AHHZ J [LgKgILhh(22Q LAST 15Q CL:REVERSE) (42Q CL:* 35Q +) () (SETF-MACRO-FUNCTION (QUOTE POLY-EVAL) (QUOTE expand-POLY-EVAL)) (RPAQ %%LOG-BASE2-E (%%FLOAT 16312 43579)) (CONSTANTS (%%LOG-BASE2-E (%%FLOAT 16312 43579))) (RPAQ? %%EXP-POLY (%%MAKE-ARRAY (LIST (%%FLOAT 15549 17659) (%%FLOAT 16256 0) (%%FLOAT 16801 38273) ( %%FLOAT 17257 7717) (%%FLOAT 17597 11739) (%%FLOAT 17800 30401)))) (RPAQ? %%EXP-TABLE (%%MAKE-ARRAY (LIST (%%FLOAT 16256 0) (%%FLOAT 16267 38338) (%%FLOAT 16280 14320) ( %%FLOAT 16293 65239) (%%FLOAT 16309 1267) (%%FLOAT 16325 26410) (%%FLOAT 16343 17661) (%%FLOAT 16362 49351)))) EXP D1 (L (0 NUMBER)) /@Hd`@ 3@ igHo b(50Q CHECK-TYPE-FAIL 33Q %%EXP-FLOAT 20Q %%EXP-COMPLEX) (40Q NUMBER 30Q FLOATP 11Q COMPLEXTYPE#) ( 45Q (OR COMPLEX NUMBER)) %%EXP-FLOAT D1 (L (0 X)) \P@o [Ko \L`I J`l2hJ`l2 H (131Q SCALE-FLOAT 124Q %%/ 54Q ELT 36Q \MVLIST 33Q CL:FLOOR 16Q \MVLIST 13Q CL:FLOOR) (111Q ARRAYP 106Q %%EXP-POLY 65Q ARRAYP 62Q %%EXP-POLY 50Q %%EXP-TABLE) ( 30Q .125 7 1.442695) %%EXP-COMPLEX D1 (L (0 Z)) @ @ H I (23Q CIS 17Q EXP 12Q IMAGPART 3 REALPART) NIL () CL:EXPT D1 (L (1 N 0 X)) @d A3 %@j A @o@A @ Ad3 @A A @d @ @A o@A @ @A A3 j@o@A @A (176Q %%EXPT-FLOAT 162Q CL:ERROR 140Q %%EXPT-COMPLEX 132Q COMPLEXP 125Q CL:ERROR 113Q %%EXPT-COMPLEX-POWER 105Q PLUSP 77Q COMPLEXP 70Q COMPLEXP 63Q %%EXPT-INTEGER 47Q COMPLEXP 42Q CL:ERROR 26Q PLUSP 20Q %%= 4 RATIONALP) (173Q FLOATP 167Q FLOATP) ( 155Q "Negative number ~A to non-integral power ~A." 120Q "~A negative number to a complex power ~A." 35Q "~A to a non-positive power ~A.") %%EXPT-INTEGER D1 (L (1 POWER 0 BASE)) jAk@jA @d @d3 3 #@l kA  A @ A Am Akj@kHj$H@dbHbm Akj@Iև IIX(170Q \FZEROP 153Q ASH 107Q ASH 100Q %%MAKE-RATIO 75Q %%EXPT-INTEGER 71Q DENOMINATOR 65Q %%EXPT-INTEGER 61Q NUMERATOR 55Q ASH 46Q %%= 24Q RATIONALP 16Q %%/ 13Q %%EXPT-INTEGER) NIL () %%EXPT-FLOAT D1 (L (1 Y 0 X)) @o oA@ (26Q EXP 22Q CL:LOG 7 %%=) NIL ( 14Q 0.0 4 0.0) %%EXPT-COMPLEX D1 (L (1 N 0 Z)) @ A A@ (20Q CIS 14Q PHASE 7 CL:EXPT 3 %%COMPLEX-ABS) NIL () %%EXPT-COMPLEX-POWER D1 (L (1 W 0 Z)) A@ (10Q EXP 4 CL:LOG) NIL () (RPAQ? %%LOG-PPOLY (%%MAKE-ARRAY (LIST (%%FLOAT 16042 22803) (%%FLOAT 49484 23590) (%%FLOAT 17044 17982) (%%FLOAT 49926 37153) (%%FLOAT 17046 5367)))) (RPAQ? %%LOG-QPOLY (%%MAKE-ARRAY (LIST (%%FLOAT 16256 0) (%%FLOAT 49512 9103) (%%FLOAT 16992 42274) ( %%FLOAT 49823 38048) (%%FLOAT 16918 5367)))) CL:LOG D1 (L (0 -args-)) ceka1lHhilaJ=I K 3 jIjI o I igLo I\d` (140Q %%LOG-COMPLEX 122Q CHECK-TYPE-FAIL 105Q %%LOG-FLOAT 75Q COMPLEX 66Q %%LOG-FLOAT 43Q %%/ 40Q CL:LOG 34Q CL:LOG) (132Q COMPLEXTYPE# 112Q NUMBER 102Q FLOATP 63Q FLOATP) ( 117Q (OR COMPLEX NUMBER) 72Q 3.141593) %%LOG-FLOAT D1 (L (0 X)) }@@doo@ @oXdlYHlHdoIkԹHo XkHk Zdd[JK`l2K`l2 Io(162Q %%/ 107Q %%/ 76Q %%/ 23Q ERROR) (147Q ARRAYP 144Q %%LOG-QPOLY 126Q ARRAYP 123Q %%LOG-PPOLY) ( 170Q .6931472 73Q 2.0 57Q 1.414214 31Q 0.0 17Q "LOG OF ZERO:" 10Q 0.0) %%LOG-COMPLEX D1 (L (0 Z)) @ @ (15Q COMPLEX 12Q PHASE 6 CL:LOG 3 %%COMPLEX-ABS) NIL () CL:SQRT D1 (L (0 X)) @ hdddddd'@ Z@ [JJKK X@ o YHI \HI ]lk__OOYLdMdn?jLJLKMN n?jMKLJMN Ok_LM j@jd@ @ (344Q SQRT 334Q COMPLEX 331Q SQRT 315Q COMPLEX 265Q %%/ 223Q %%/ 130Q CL:SIN 114Q CL:COS 102Q %%/ 73Q PHASE 64Q SQRT 61Q SQRT 34Q COMPLEX-IMAGPART 25Q COMPLEX-REALPART 3 COMPLEXP) (341Q FLOATP) ( 77Q 2.0) (SETQ %%2PI (%%FLOAT 16585 4059)) (PUTHASH (QUOTE %%2PI) (QUOTE (CONSTANT %%2PI)) COMPVARMACROHASH) (SETQ %%PI (%%FLOAT 16457 4059)) (PUTHASH (QUOTE %%PI) (QUOTE (CONSTANT %%PI)) COMPVARMACROHASH) (SETQ %%PI/2 (%%FLOAT 16329 4059)) (PUTHASH (QUOTE %%PI/2) (QUOTE (CONSTANT %%PI/2)) COMPVARMACROHASH) (SETQ %%-PI/2 (%%FLOAT 49097 4059)) (PUTHASH (QUOTE %%-PI/2) (QUOTE (CONSTANT %%-PI/2)) COMPVARMACROHASH) (SETQ %%PI/4 (%%FLOAT 16201 4059)) (PUTHASH (QUOTE %%PI/4) (QUOTE (CONSTANT %%PI/4)) COMPVARMACROHASH) (SETQ %%-PI/4 (%%FLOAT 48969 4059)) (PUTHASH (QUOTE %%-PI/4) (QUOTE (CONSTANT %%-PI/4)) COMPVARMACROHASH) (SETQ SIXTH-PI .5236) (PUTHASH (QUOTE SIXTH-PI) (QUOTE (CONSTANT SIXTH-PI)) COMPVARMACROHASH) (SETQ %%2/PI (%%FLOAT 16162 63875)) (PUTHASH (QUOTE %%2/PI) (QUOTE (CONSTANT %%2/PI)) COMPVARMACROHASH) (SETQ %%SIN-EPSILON (%%FLOAT 14720 0)) (PUTHASH (QUOTE %%SIN-EPSILON) (QUOTE (CONSTANT %%SIN-EPSILON)) COMPVARMACROHASH) (OR (BOUNDP (QUOTE %%SIN-PPOLY)) (SETQ %%SIN-PPOLY (%%MAKE-ARRAY (LIST (%%FLOAT 50193 50772) (%%FLOAT 18371 47202) (%%FLOAT 51905 54216) (%%FLOAT 19748 29063) (%%FLOAT 52951 41140) (%%FLOAT 20368 50691))) )) (PROCLAIM (QUOTE (SPECIAL %%SIN-PPOLY))) (OR (BOUNDP (QUOTE %%SIN-QPOLY)) (SETQ %%SIN-QPOLY (%%MAKE-ARRAY (LIST (%%FLOAT 16256 0) (%%FLOAT 17252 49821) (%%FLOAT 18142 34466) (%%FLOAT 18957 45135) (%%FLOAT 19685 22067) (%%FLOAT 20280 21713))) )) (PROCLAIM (QUOTE (SPECIAL %%SIN-QPOLY))) CL:SIN D1 (L (0 X)) ;@HYd`@ l@ I3@ igHo b(64Q CHECK-TYPE-FAIL 47Q %%SIN-FLOAT 33Q %%SIN-FLOAT 21Q %%SIN-COMPLEX) (54Q X 44Q FLOATP 12Q COMPLEXTYPE#) ( 61Q (OR COMPLEX FLOAT NUMBER)) %%SIN-FLOAT D1 (L (1 COS-FLAG 0 X)) hddA@oԀ@do XdonjѹHn@InXn?jѹHon@InHoHHHo XddZIHJ`l2J`l2 d(226Q %%/ 153Q %%/ 33Q CL:MOD) (213Q ARRAYP 210Q %%SIN-QPOLY 174Q ARRAYP 171Q %%SIN-PPOLY) ( 150Q 1.570796 130Q .0002441406 107Q 1.570796 45Q 3.141593 30Q 6.283186 14Q 1.570796) %%SIN-COMPLEX D1 (L (0 Z)) #@ @ H I H I (40Q COMPLEX 34Q SINH 30Q CL:COS 23Q COSH 17Q CL:SIN 12Q IMAGPART 3 REALPART) NIL () CL:COS D1 (L (0 X)) =@HYdl@i `@ I3@i igHo b(66Q CHECK-TYPE-FAIL 51Q %%SIN-FLOAT 34Q %%COS-COMPLEX 21Q %%SIN-FLOAT) (56Q X 45Q FLOATP 26Q COMPLEXTYPE#) ( 63Q (OR FLOAT COMPLEX NUMBER)) %%COS-COMPLEX D1 (L (0 Z)) %@ @ H I jH I (42Q COMPLEX 35Q SINH 31Q CL:SIN 23Q COSH 17Q CL:COS 12Q IMAGPART 3 REALPART) NIL () (SETQ %%TAN-EPSILON (%%FLOAT 14720 0)) (PUTHASH (QUOTE %%TAN-EPSILON) (QUOTE (CONSTANT %%TAN-EPSILON)) COMPVARMACROHASH) (RPAQ? %%TAN-PPOLY (%%MAKE-ARRAY (LIST (%%FLOAT 49803 44451) (%%FLOAT 18254 23362) (%%FLOAT 51983 57389) (%%FLOAT 19947 57965) (%%FLOAT 53162 16965)))) (RPAQ? %%TAN-QPOLY (%%MAKE-ARRAY (LIST (%%FLOAT 16256 0) (%%FLOAT 50453 51515) (%%FLOAT 18760 65370) ( %%FLOAT 52376 39517) (%%FLOAT 20221 24840) (%%FLOAT 53208 51139)))) CL:TAN D1 (L (0 X)) /@Hd`@ 3@ igHo b(50Q CHECK-TYPE-FAIL 33Q %%TAN-FLOAT 20Q %%TAN-COMPLEX) (40Q X 30Q FLOATP 11Q COMPLEXTYPE#) ( 45Q (OR COMPLEX NUMBER)) %%TAN-FLOAT D1 (L (0 X)) hdd@o XddoHn@InoHinɌoin?nHoH KkH HHo XddYHI`l2I`l2 ZKkJ J(252Q %%/ 234Q %%/ 162Q %%/ 141Q %%/ 126Q ABS 15Q CL:MOD) (221Q ARRAYP 216Q %%TAN-QPOLY 202Q ARRAYP 177Q %%TAN-PPOLY) ( 157Q .7853982 120Q .0002441406 75Q .7853982 53Q -.7853982 30Q 1.570796 12Q 3.141593) %%TAN-COMPLEX D1 (L (0 Z)) )@ @ YjIHI  o@ (46Q CL:ERROR 34Q \FZEROP 30Q %%/ 12Q CL:COS 3 CL:SIN) NIL ( 42Q "~S undefined tangent.") (SETQ %%ASIN-EPSILON (%%FLOAT 14720 0)) (PUTHASH (QUOTE %%ASIN-EPSILON) (QUOTE (CONSTANT %%ASIN-EPSILON)) COMPVARMACROHASH) (RPAQ? %%ASIN-PPOLY (%%MAKE-ARRAY (LIST (%%FLOAT 16007 50045) (%%FLOAT 49549 8020) (%%FLOAT 17236 15848) (%%FLOAT 50285 63464) (%%FLOAT 17650 31235) (%%FLOAT 50403 62852) (%%FLOAT 17440 39471)))) (RPAQ? %%ASIN-QPOLY (%%MAKE-ARRAY (LIST (%%FLOAT 16256 0) (%%FLOAT 49672 25817) (%%FLOAT 17308 55260) (%%FLOAT 50326 38098) (%%FLOAT 17674 22210) (%%FLOAT 50417 22451) (%%FLOAT 17440 39471)))) ASIN D1 (L (0 X)) ;@HYdl@ `@ I3@ igHo b(64Q CHECK-TYPE-FAIL 47Q %%ASIN-FLOAT 33Q %%ASIN-COMPLEX 20Q %%ASIN-FLOAT) (54Q X 44Q FLOATP 25Q COMPLEXTYPE#) ( 61Q (OR FLOAT COMPLEX NUMBER)) %%ASIN-FLOAT D1 (L (1 ACOS-FLAG 0 X)) P@ZoJdooJ oJijJZJoioJo oJJ-JdֻJK`l2K`l2 \IoLoռHjLռAoLL(166Q %%/ 101Q CL:SQRT 32Q ERROR) (153Q ARRAYP 150Q %%ASIN-QPOLY 132Q ARRAYP 127Q %%ASIN-PPOLY) ( 222Q 1.570796 203Q 2.0 176Q 1.570796 106Q .0002441406 75Q .5 67Q 1.0 56Q .5 37Q 0.0 26Q "ARCSIN: arg not in range" 20Q 1.0 10Q -1.0) %%ASIN-COMPLEX D1 (L (0 Z)) @ k@d (25Q %%COMPLEX-MINUS 22Q %%COMPLEX-TIMESI 17Q CL:LOG 13Q CL:SQRT 3 %%COMPLEX-TIMESI) NIL () ACOS D1 (L (0 X)) =@HYdl@i `@ I3@i igHo b(66Q CHECK-TYPE-FAIL 51Q %%ASIN-FLOAT 34Q %%ACOS-COMPLEX 21Q %%ASIN-FLOAT) (56Q X 45Q FLOATP 26Q COMPLEXTYPE#) ( 63Q (OR FLOAT COMPLEX NUMBER)) %%ACOS-COMPLEX D1 (L (0 Z)) @k@d (25Q %%COMPLEX-MINUS 22Q %%COMPLEX-TIMESI 17Q CL:LOG 13Q %%COMPLEX-TIMESI 10Q CL:SQRT) NIL () CL:ATAN D1 (L (1 Y 0 X)) "A@A @d @  (37Q %%ATAN-FLOAT 30Q %%ATAN-COMPLEX 22Q COMPLEXP 14Q %%ATAN-FLOAT) (34Q FLOATP 11Q FLOATP 5 FLOATP) () %%ATAN1 D1 (L (0 X)) qj@jd@ o@ok@ k@o@o@ok o@$k@ HoHok o@ (156Q %%ATAN2 144Q %%ATAN2 141Q %%/ 115Q %%/ 76Q %%ATAN2 73Q %%/ 37Q %%ATAN2 34Q %%/ 12Q %%ATAN1) NIL ( 150Q .5236 133Q 1.730525 125Q 1.730525 104Q 3.732071 65Q 1.730525 57Q 1.730525 52Q 2.094396 27Q 1.570796 20Q .2679482) %%ATAN2 D1 (L (0 X)) 9jk@d Akjk@ [JL oLIlԹLKHֻLKI ԰(64Q %%/ 33Q %%= 24Q %%/ 7 %%/) NIL ( 40Q 1.570796) %%ATAN-DOMAIN-CHECK D1 (L (0 Z)) '@ Hj HH  @ k h(42Q %%= 36Q ABS 33Q IMAGPART 24Q \FZEROP 3 REALPART) NIL () %%ATAN-FLOAT D1 (L (1 X 0 Y)) A@j@dZd To@HA Hj o Aj @ o@j A joA @d @A @ oj@A A j@jA @A o(227Q %%ATAN1 224Q %%/ 215Q %%ATAN1 212Q %%/ 201Q PLUSP 173Q %%ATAN1 170Q %%/ 154Q PLUSP 147Q %%ATAN1 144Q %%/ 135Q PLUSP 127Q PLUSP 113Q PLUSP 106Q %%= 73Q %%SIGNUM 66Q %%= 60Q CL:ERROR 47Q %%= 40Q %%= 20Q \FZEROP) NIL ( 233Q 3.141593 161Q 3.141593 122Q 3.141593 77Q 1.570796 55Q "Error in double entry atan both 0." 26Q 0.0) %%ATAN-COMPLEX D1 (L (0 Z)) /@ !@ HkkH o o@ (54Q CL:ERROR 43Q %%COMPLEX-MINUS 40Q %%COMPLEX-TIMESI 30Q CL:LOG 25Q %%/ 11Q %%COMPLEX-TIMESI 3 %%ATAN-DOMAIN-CHECK) NIL ( 50Q "Argument not in domain for atan. ~S" 34Q .5) CIS D1 (L (0 THETA)) @d o@  @ (31Q COMPLEX 26Q CL:SIN 22Q CL:COS 16Q CL:ERROR 4 COMPLEXP) NIL ( 12Q "Argument to CIS is complex: ~S") SINH D1 (L (0 X)) @ HkH l (22Q %%/ 14Q %%/ 3 EXP) NIL () COSH D1 (L (0 X)) @ HkH l (22Q %%/ 14Q %%/ 3 EXP) NIL () TANH D1 (L (0 X)) !@l kH kIk kHk (35Q %%/ 26Q %%/ 16Q %%/ 6 EXP) NIL () ASINH D1 (L (0 X)) @ddk (14Q CL:LOG 10Q CL:SQRT) NIL () ACOSH D1 (L (0 X)) @ddk (14Q CL:LOG 10Q CL:SQRT) NIL () ATANH D1 (L (0 X)) "@ @kk@ oo@ (37Q CL:ERROR 21Q CL:LOG 16Q %%/ 3 %%ATANH-DOMAIN-CHECK) NIL ( 33Q "~S argument out of range." 25Q .5) %%ATANH-DOMAIN-CHECK D1 (L (0 Z)) '@ Hj HH  @ k h(42Q %%= 36Q ABS 33Q REALPART 24Q \FZEROP 3 IMAGPART) NIL () (PUTPROPS CMLFLOAT FILETYPE COMPILE-FILE) (PUTPROPS CMLFLOAT COPYRIGHT ("Xerox Corporation" 1986)) STOP