(FILECREATED " 5-JAN-83 20:48:00" <BLISP>AARITH.;3 18482 changes to: (FNS ARCCOS) (VARS AARITHCOMS) previous date: " 1-DEC-81 17:10:06" <BLISP>AARITH.;1) (* Copyright (c) 1981, 1983 by Xerox Corporation) (PRETTYCOMPRINT AARITHCOMS) (RPAQQ AARITHCOMS [(FNS SIN TAN ARCSIN ARCCOS ARCCOS1 COS LOG ANTILOG FEXPT LINEAR/INTERPOLATE ARCTAN ARCTAN2 ATAN) (ARRAY SINE.VALUE.ARRAY ARCSINE.VALUE.ARRAY LOG.VALUE.ARRAY ANTILOG.VALUE.ARRAY) (VARS DEGREESPERRADIAN) (FNS CREATEFUNCTIONVALUEARRAY) (DECLARE: EVAL@COMPILE DONTCOPY (RECORDS FunctionValueTable) (ADDVARS (DONTCOMPILEFNS CREATEFUNCTIONVALUEARRAY)) (PROP MACRO ArgumentIndex ValueIndex) (GLOBALVARS SINE.VALUE.ARRAY ARCSINE.VALUE.ARRAY DEGREESPERRADIAN LOG.VALUE.ARRAY ANTILOG.VALUE.ARRAY) (LOCALVARS . T) (CONSTANTS (PI 3.141593]) (DEFINEQ (SIN [LAMBDA (X RADIANFLG) (* lmm "23-JUN-80 21:46") (LINEAR/INTERPOLATE (COND ((MINUSP X) (* iremainder works differently for negative numbers.) (FPLUS 360.0 (FREMAINDER (COND (RADIANFLG (FTIMES X DEGREESPERRADIAN)) (T X)) 360.0))) (T (FREMAINDER (COND (RADIANFLG (FTIMES X DEGREESPERRADIAN)) (T X)) 360.0))) SINE.VALUE.ARRAY]) (TAN [LAMBDA (X RADIANSFLG) (* lmm "23-JUN-80 21:46") (FQUOTIENT (SIN X RADIANSFLG) (COS X RADIANSFLG]) (ARCSIN [LAMBDA (X RADIANSFLG) (* rrb " 1-DEC-81 17:09") (COND ((OR (FLESSP X -1.0) (FGREATERP X 1.0)) (ERROR "ARCSIN: arg not in range" X)) (RADIANSFLG (FQUOTIENT (LINEAR/INTERPOLATE X ARCSINE.VALUE.ARRAY) DEGREESPERRADIAN)) (T (LINEAR/INTERPOLATE X ARCSINE.VALUE.ARRAY]) (ARCCOS [LAMBDA (X RADIANSFLG) (* ejs: " 5-OCT-82 19:34") (COND ((OR (FLESSP X -1.0) (FGREATERP X 1.0)) (ERROR "ARCCOS: arg not in range" X)) (T (COND ((FGREATERP (ABS X) .98) (* For X .gt. .98, the routine below is terribly inaccurate. ARCCOS1 is 7 times slower (currently), but produces the correct result) (ARCCOS1 X RADIANSFLG)) (T (FPLUS (COND (RADIANSFLG (CONSTANT (FQUOTIENT PI 2.0))) (T 90.0)) (ARCSIN (FMINUS X) RADIANSFLG]) (ARCCOS1 [LAMBDA (X RADIANSFLG) (* ejs: " 5-OCT-82 19:34") (* Generate ARCCOS the hard way. Have to do this for X .ge. .98, else we get bad results from (90-arcsin (x))) (FDIFFERENCE (COND (RADIANSFLG (CONSTANT (FQUOTIENT PI 2.0))) (T 90.0)) (ARCTAN [FQUOTIENT X (SQRT (FDIFFERENCE 1.0 (FTIMES X X] RADIANSFLG]) (COS [LAMBDA (X RADIANFLG) (* lmm "23-JUN-80 21:47") (SIN (FDIFFERENCE 90.0 (COND (RADIANFLG (FTIMES X DEGREESPERRADIAN)) (T X]) (LOG [LAMBDA (X) (* lmm "18-AUG-80 14:29") (PROG ((FACTOR 0) (E 2.718282) (1OVERE .3678794)) (COND ((NOT (FGREATERP X 0.0)) (ERROR "LOG OF NON-POSITIVE NUMBER:" X))) (while (FGREATERP X E) do (add FACTOR 1) (SETQ X (FTIMES X 1OVERE))) (while (FGREATERP 1.0 X) do (add FACTOR -1) (SETQ X (FTIMES X E))) (RETURN (FPLUS FACTOR (LINEAR/INTERPOLATE X LOG.VALUE.ARRAY]) (ANTILOG [LAMBDA (X) (* lmm "18-AUG-80 14:29") (PROG ((FACTOR 1.0) (E 2.718282) (1OVERE .3678794)) (while (FGREATERP X 1.0) do (SETQ FACTOR (FTIMES FACTOR E)) (SETQ X (FDIFFERENCE X 1.0))) (while (FGREATERP 0.0 X) do (SETQ FACTOR (FTIMES FACTOR 1OVERE)) (SETQ X (FPLUS X 1.0))) (RETURN (FTIMES FACTOR (LINEAR/INTERPOLATE X ANTILOG.VALUE.ARRAY]) (FEXPT [LAMBDA (X Y) (* lmm "18-AUG-80 14:06") (ANTILOG (FTIMES Y (LOG X]) (LINEAR/INTERPOLATE [LAMBDA (X VALUEARRAY) (* rrb " 2-MAY-80 17:19") (* find the value of a function by linear interpolation on the set of value in VALUEARRAY. Entries in value array are pairs of the argument in X cell and fn{x} in N+1.) (COND ((FLESSP X (fetch FirstArgument of VALUEARRAY)) (HELP "function argument is less than interpolation range." X))) (PROG ((NENTRIES (fetch NumberOfEntries of VALUEARRAY)) SMALLER) (* calculate the table index of the table entry just less than the input value) [COND ((IGREATERP [SETQ SMALLER (ADD1 (FIX (FTIMES (fetch NumberOfEntries of VALUEARRAY) (FQUOTIENT (FDIFFERENCE X (fetch FirstArgument of VALUEARRAY)) (fetch ArgumentRange of VALUEARRAY] (fetch NumberOfEntries of VALUEARRAY)) (* should only happen when number passed in is the last value in table.) (RETURN (ELT VALUEARRAY (ValueIndex (ADD1 (fetch NumberOfEntries of VALUEARRAY] (RETURN (COND ((IGEQ SMALLER (fetch LastArgumentIndex of VALUEARRAY)) (HELP "X is greaterp than range of interpolation." X)) (T (FPLUS (ELT VALUEARRAY (ValueIndex SMALLER)) (FTIMES (FDIFFERENCE (ELT VALUEARRAY (ValueIndex (ADD1 SMALLER))) (ELT VALUEARRAY (ValueIndex SMALLER))) (FQUOTIENT (FDIFFERENCE X (ELT VALUEARRAY (ArgumentIndex SMALLER))) (FDIFFERENCE (ELT VALUEARRAY (ArgumentIndex (ADD1 SMALLER))) (ELT VALUEARRAY (ArgumentIndex SMALLER]) (ARCTAN [LAMBDA (X RADIANSFLG) (* rrb "14-SEP-81 17:12") (COND [(FGREATERP 0.0 X) (FDIFFERENCE (ATAN 1.0 X RADIANSFLG) (COND (RADIANSFLG PI) (T 180.0] (T (ATAN 1.0 X RADIANSFLG]) (ARCTAN2 [LAMBDA (X Y RADIANSFLG) (* rrb "14-SEP-81 17:56") (* don't understand it but it agrees to several decimal places with interlisp-10 - rrb) (PROG ((MAG (ARCTAN (FQUOTIENT X Y) RADIANSFLG))) (RETURN (COND [(FGREATERP 0.0 X) (FDIFFERENCE MAG (COND (RADIANSFLG PI) (T 180.0] ((EQUAL X 0.0) (* Agree with interlisp-10) (COND ((FGREATERP 0.0 Y) (COND (RADIANSFLG (CONSTANT (FDIFFERENCE 0.0 PI))) (T -180.0))) (T MAG))) (T MAG]) (ATAN [LAMBDA (X Y RADIANSFLG) (* rrb "14-SEP-81 18:09") (* version of arctan which returns value in radians between 0 and 2 PI.) (PROG ((Y (FLOAT Y)) (X (FLOAT X)) ABSX ABSY TEMP TEMP2 (ANS -.004054058)) (SETQ ABSY (ABS Y)) (SETQ ABSX (ABS X)) (SETQ TEMP (FQUOTIENT (FDIFFERENCE ABSY ABSX) (FPLUS ABSY ABSX))) (SETQ TEMP2 (FTIMES TEMP TEMP)) (for MAGICVALUE in (QUOTE (.02186123 -.05590989 .09642004 -.1390853 .1994654 -.3332986 .9999994)) do (SETQ ANS (FPLUS (FTIMES ANS TEMP2) MAGICVALUE))) (SETQ ANS (FTIMES ANS TEMP)) (SETQ TEMP (ABS ANS)) [COND ((OR (FLESSP .7855 TEMP) (FLESSP TEMP .7853)) (SETQ ANS (FPLUS ANS .7853982))) ((FLESSP ANS 0.0) (SETQ ANS (FQUOTIENT ABSY ABSX))) (T (SETQ ANS (FPLUS (FQUOTIENT ABSX ABSY) 1.570796] (SETQ TEMP ANS) (SETQ ANS (FDIFFERENCE 3.141593 ANS)) [COND ((FLESSP 0.0 X) (SETQ TEMP (PROG1 ANS (SETQ ANS TEMP] (SETQ TEMP (FTIMES TEMP 2)) [COND ((FLESSP Y 0.0) (SETQ ANS (FPLUS ANS TEMP] (RETURN (COND (RADIANSFLG ANS) (T (FTIMES ANS (CONSTANT (FQUOTIENT 180 PI]) ) (SETQ SINE.VALUE.ARRAY (READARRAY 204 0)) (100 360.0 0.0 0.0 3.6 .06279052 7.2 .1253332 10.8 .1873813 14.4 .2486899 18.0 .309017 21.6 .3681246 25.2 .4257793 28.8 .4817537 32.4 .5358268 36.0 .5877853 39.6 .637424 43.2 .6845471 46.8 .7289686 50.4 .7705132 54.0 .809017 57.6 .8443279 61.2 .8763067 64.8 .9048271 68.4 .9297765 72.0 .9510565 75.6 .9685832 79.2 .9822872 82.8 .9921147 86.4 .9980267 90.0 1.0 93.6 .9980267 97.2 .9921147 100.8 .9822872 104.4 .9685832 108.0 .9510565 111.6 .9297765 115.2 .904827 118.8 .8763066 122.4 .8443279 126.0 .8090169 129.6 .7705132 133.2 .7289686 136.8 .684547 140.4 .6374239 144.0 .5877851 147.6 .5358267 151.2 .4817535 154.8 .4257791 158.4 .3681244 162.0 .3090168 165.6 .2486897 169.2 .1873811 172.8 .125333 176.4 .06279032 180.0 -1.872535E-7 183.6 -.06279074 187.2 -.1253334 190.8 -.1873815 194.4 -.2486901 198.0 -.3090172 201.6 -.3681248 205.2 -.4257795 208.8 -.4817539 212.4 -.535827 216.0 -.5877855 219.6 -.6374242 223.2 -.6845473 226.8 -.7289688 230.4 -.7705134 234.0 -.8090171 237.6 -.8443281 241.2 -.8763068 244.8 -.9048272 248.4 -.9297766 252.0 -.9510566 255.6 -.9685833 259.2 -.9822873 262.8 -.9921147 266.4 -.9980267 270.0 -1.0 273.6 -.9980267 277.2 -.9921147 280.8 -.9822872 284.4 -.9685831 288.0 -.9510565 291.6 -.9297764 295.2 -.904827 298.8 -.8763066 302.4 -.8443279 306.0 -.809017 309.6 -.7705132 313.2 -.7289687 316.8 -.6845472 320.4 -.6374241 324.0 -.5877853 327.6 -.5358269 331.2 -.4817538 334.8 -.4257795 338.4 -.3681248 342.0 -.3090172 345.6 -.2486902 349.2 -.1873816 352.8 -.1253335 356.4 -.06279088 360.0 0.0 NIL )(SETQ ARCSINE.VALUE.ARRAY (READARRAY 204 0)) (100 2.0 -1.0 -90.0 -.98 -78.52166 -.96 -73.73979 -.94 -70.05156 -.92 -66.92608 -.9 -64.15807 -.88 -61.64236 -.86 -59.31658 -.84 -57.14012 -.82 -55.08479 -.8 -53.1301 -.78 -51.26057 -.76 -49.4642 -.74 -47.73141 -.72 -46.05448 -.7 -44.427 -.6799999 -42.84364 -.6599999 -41.29987 -.6399999 -39.79181 -.6199999 -38.31613 -.5999999 -36.86989 -.5799999 -35.45054 -.5599999 -34.05579 -.5399999 -32.68363 -.5199999 -31.33225 -.4999999 -29.99999 -.4799999 -28.6854 -.4599999 -27.3871 -.4399999 -26.10388 -.4199999 -24.83458 -.3999999 -23.57817 -.3799999 -22.33368 -.3599999 -21.10019 -.3399999 -19.87687 -.3199999 -18.66292 -.2999999 -17.4576 -.2799999 -16.2602 -.2599999 -15.07006 -.2399999 -13.88654 -.2199999 -12.70903 -.1999999 -11.53695 -.1799999 -10.36976 -.1599999 -9.206892 -.1399999 -8.047842 -.1199999 -6.892099 -.09999993 -5.739166 -.07999993 -4.588562 -.05999993 -3.439809 -.03999993 -2.292439 -.01999993 -1.145988 6.891787E-8 3.948703E-6 .02000007 1.145996 .04000007 2.292447 .06000007 3.439817 .08000007 4.58857 .1000001 5.739174 .1200001 6.892107 .1400001 8.04785 .1600001 9.2069 .1800001 10.36976 .2000001 11.53696 .2200001 12.70904 .2400001 13.88654 .2600001 15.07007 .2800001 16.26021 .3000001 17.45761 .3200001 18.66293 .3400001 19.87688 .3600001 21.1002 .3800001 22.33369 .4000001 23.57818 .4200001 24.83459 .4400001 26.10388 .4600001 27.38711 .4800001 28.68541 .5000001 30.0 .5200001 31.33226 .5400001 32.68364 .5600001 34.0558 .5800001 35.45055 .6000001 36.8699 .6200001 38.31614 .6400001 39.79183 .6600001 41.29988 .6800001 42.84365 .7000001 44.42701 .7200001 46.05449 .7400001 47.73143 .7600001 49.46421 .7800001 51.26059 .8000001 53.13011 .8200001 55.08481 .8400001 57.14013 .8600001 59.3166 .8800001 61.64238 .9000001 64.15808 .9200001 66.9261 .9400001 70.05158 .9600001 73.73983 .9800001 78.5217 1.0 90.0 NIL )(SETQ LOG.VALUE.ARRAY (READARRAY 404 0)) (200 1.718282 1.0 0.0 1.008591 .008554718 1.017183 .01703686 1.025774 .02544766 1.034366 .03378832 1.042957 .04205999 1.051548 .0502638 1.06014 .05840086 1.068731 .06647224 1.077323 .074479 1.085914 .08242215 1.094506 .09030271 1.103097 .09812165 1.111688 .1058799 1.12028 .1135785 1.128871 .1212182 1.137463 .1288 1.146054 .1363248 1.154645 .1437933 1.163237 .1512065 1.171828 .1585652 1.18042 .1658701 1.189011 .173122 1.197603 .1803217 1.206194 .1874699 1.214785 .1945674 1.223377 .2016149 1.231968 .208613 1.24056 .2155625 1.249151 .2224641 1.257742 .2293184 1.266334 .2361259 1.274925 .2428875 1.283517 .2496037 1.292108 .256275 1.300699 .2629022 1.309291 .2694857 1.317882 .2760261 1.326474 .2825241 1.335065 .28898 1.343657 .2953946 1.352248 .3017683 1.360839 .3081017 1.369431 .3143951 1.378022 .3206493 1.386614 .3268645 1.395205 .3330414 1.403796 .3391803 1.412388 .3452818 1.420979 .3513462 1.429571 .3573742 1.438162 .363366 1.446754 .3693221 1.455345 .3752429 1.463936 .3811289 1.472528 .3869805 1.481119 .392798 1.489711 .3985819 1.498302 .4043325 1.506893 .4100502 1.515485 .4157354 1.524076 .4213885 1.532668 .4270098 1.541259 .4325997 1.54985 .4381585 1.558442 .4436865 1.567033 .4491842 1.575625 .4546518 1.584216 .4600897 1.592808 .4654982 1.601399 .4708776 1.60999 .4762282 1.618582 .4815503 1.627173 .4868443 1.635765 .4921103 1.644356 .4973488 1.652947 .50256 1.661539 .5077442 1.67013 .5129016 1.678722 .5180326 1.687313 .5231373 1.695904 .5282162 1.704496 .5332694 1.713087 .5382972 1.721679 .5432998 1.73027 .5482775 1.738862 .5532306 1.747453 .5581593 1.756044 .5630637 1.764636 .5679443 1.773227 .5728011 1.781819 .5776345 1.79041 .5824446 1.799001 .5872317 1.807593 .591996 1.816184 .5967377 1.824776 .6014571 1.833367 .6061542 1.841959 .6108294 1.85055 .6154828 1.859141 .6201147 1.867733 .6247253 1.876324 .6293146 1.884916 .633883 1.893507 .6384307 1.902098 .6429577 1.91069 .6474644 1.919281 .6519508 1.927873 .6564172 1.936464 .6608637 1.945055 .6652905 1.953647 .6696978 1.962238 .6740858 1.97083 .6784546 1.979421 .6828044 1.988013 .6871354 1.996604 .6914477 2.005195 .6957415 2.013787 .7000169 2.022378 .7042741 2.03097 .7085133 2.039561 .7127346 2.048152 .7169381 2.056744 .721124 2.065335 .7252925 2.073927 .7294437 2.082518 .7335778 2.09111 .7376948 2.099701 .7417949 2.108292 .7458783 2.116884 .7499451 2.125475 .7539954 2.134067 .7580293 2.142658 .7620471 2.151249 .7660488 2.159841 .7700345 2.168432 .7740044 2.177024 .7779586 2.185615 .7818973 2.194206 .7858205 2.202798 .7897283 2.211389 .793621 2.219981 .7974985 2.228572 .8013611 2.237164 .8052088 2.245755 .8090418 2.254346 .8128601 2.262938 .8166639 2.271529 .8204533 2.280121 .8242284 2.288712 .8279892 2.297303 .831736 2.305895 .8354688 2.314486 .8391878 2.323078 .8428929 2.331669 .8465844 2.340261 .8502623 2.348852 .8539267 2.357443 .8575777 2.366035 .8612154 2.374626 .86484 2.383218 .8684515 2.391809 .87205 2.4004 .8756355 2.408992 .8792083 2.417583 .8827684 2.426175 .8863158 2.434766 .8898507 2.443357 .8933731 2.451949 .8968832 2.46054 .9003809 2.469132 .9038665 2.477723 .90734 2.486315 .9108015 2.494906 .914251 2.503497 .9176887 2.512089 .9211146 2.52068 .9245288 2.529272 .9279313 2.537863 .9313224 2.546454 .9347019 2.555046 .9380701 2.563637 .941427 2.572229 .9447727 2.58082 .9481072 2.589411 .9514306 2.598003 .954743 2.606594 .9580445 2.615186 .9613351 2.623777 .9646149 2.632369 .967884 2.64096 .9711424 2.649551 .9743903 2.658143 .9776277 2.666734 .9808546 2.675326 .9840711 2.683917 .9872773 2.692508 .9904732 2.7011 .993659 2.709691 .9968347 2.718282 1.0 NIL )(SETQ ANTILOG.VALUE.ARRAY (READARRAY 204 0)) (100 1.0 0 1.0 .01 1.01005 .02 1.020201 .03 1.030455 .04 1.040811 .05 1.051271 .06 1.061837 .07 1.072508 .08 1.083287 .09 1.094174 .1 1.105171 .11 1.116278 .12 1.127497 .13 1.138828 .14 1.150274 .15 1.161834 .16 1.173511 .17 1.185305 .18 1.197217 .19 1.20925 .2 1.221403 .21 1.233678 .22 1.246077 .23 1.2586 .24 1.271249 .25 1.284025 .26 1.29693 .27 1.309964 .28 1.32313 .29 1.336427 .3 1.349859 .31 1.363425 .32 1.377128 .33 1.390968 .34 1.404948 .35 1.419068 .36 1.433329 .37 1.447735 .38 1.462285 .39 1.476981 .4 1.491825 .41 1.506818 .42 1.521962 .43 1.537258 .44 1.552707 .45 1.568312 .46 1.584074 .47 1.599994 .48 1.616074 .49 1.632316 .5 1.648721 .51 1.665291 .52 1.682028 .53 1.698932 .54 1.716007 .55 1.733253 .56 1.750673 .57 1.768267 .58 1.786038 .59 1.803988 .6 1.822119 .61 1.840431 .62 1.858928 .63 1.877611 .64 1.896481 .65 1.915541 .66 1.934792 .67 1.954237 .68 1.973878 .69 1.993716 .7 2.013753 .71 2.033991 .72 2.054433 .73 2.075081 .74 2.095935 .75 2.117 .76 2.138276 .77 2.159766 .78 2.181472 .79 2.203396 .8 2.225541 .81 2.247908 .82 2.2705 .83 2.293319 .84 2.316367 .85 2.339647 .86 2.363161 .87 2.386911 .88 2.4109 .89 2.435129 .9 2.459603 .91 2.484322 .9199999 2.50929 .9299999 2.534509 .9399999 2.559981 .9499999 2.585709 .9599999 2.611696 .9699999 2.637944 .9799999 2.664456 .9899999 2.691234 1 2.718282 NIL ) (RPAQQ DEGREESPERRADIAN 57.29578) (DEFINEQ (CREATEFUNCTIONVALUEARRAY [LAMBDA (FN LOW HIGH NUMBER) (* lmm "23-JUN-80 21:38") (* create an array of values of a function. This is designed to run on MAXC2 to create a functionvalue array that will be shipped to the Dorado.) (* NUMBER is the number of intervals.) (PROG [(FVARRAY (ARRAY (IPLUS (ITIMES (ADD1 NUMBER) 2) 2] (replace NumberOfEntries of FVARRAY with NUMBER) (replace ArgumentRange of FVARRAY with (FDIFFERENCE HIGH LOW)) (for ARG←LOW until (FGREATERP ARG HIGH) bind (INCREMENT ←(FQUOTIENT (fetch ArgumentRange of FVARRAY) NUMBER)) as INDEX from 1 to NUMBER do (SETA FVARRAY (ArgumentIndex INDEX) ARG) (SETA FVARRAY (ValueIndex INDEX) (APPLY* FN ARG)) (SETQ ARG (FPLUS ARG INCREMENT)) finally (SETA FVARRAY (ArgumentIndex (ADD1 NUMBER)) HIGH) (SETA FVARRAY (ValueIndex (ADD1 NUMBER)) (APPLY* FN HIGH))) (RETURN FVARRAY]) ) (DECLARE: EVAL@COMPILE DONTCOPY [DECLARE: EVAL@COMPILE (ARRAYRECORD FunctionValueTable (NumberOfEntries ArgumentRange FirstArgument) [ACCESSFNS FunctionValueTable ((LastArgumentIndex (ADD1 (ITIMES (fetch NumberOfEntries of DATUM) 2]) ] (ADDTOVAR DONTCOMPILEFNS CREATEFUNCTIONVALUEARRAY) (PUTPROPS ArgumentIndex MACRO ((N) (ADD1 (ITIMES N 2)))) (PUTPROPS ValueIndex MACRO ((N) (ITIMES (ADD1 N) 2))) (DECLARE: DOEVAL@COMPILE DONTCOPY (ADDTOVAR GLOBALVARS SINE.VALUE.ARRAY ARCSINE.VALUE.ARRAY DEGREESPERRADIAN LOG.VALUE.ARRAY ANTILOG.VALUE.ARRAY) ) (DECLARE: DOEVAL@COMPILE DONTCOPY (LOCALVARS . T) ) (DECLARE: EVAL@COMPILE (RPAQQ PI 3.141593) (CONSTANTS (PI 3.141593)) ) ) (PUTPROPS AARITH COPYRIGHT ("Xerox Corporation" 1981 1983)) (DECLARE: DONTCOPY (FILEMAP (NIL (885 8006 (SIN 895 . 1370) (TAN 1372 . 1515) (ARCSIN 1517 . 1852) (ARCCOS 1854 . 2414) ( ARCCOS1 2416 . 2834) (COS 2836 . 2999) (LOG 3001 . 3503) (ANTILOG 3505 . 3958) (FEXPT 3960 . 4075) ( LINEAR/INTERPOLATE 4077 . 5782) (ARCTAN 5784 . 6032) (ARCTAN2 6034 . 6681) (ATAN 6683 . 8004)) (16493 17620 (CREATEFUNCTIONVALUEARRAY 16503 . 17618))))) STOP