File: SINH.LS of Disk: V50/Source/Source-Listing-RALF-1
(Source file text)
RALF V50A 8-APR-92 PAGE 1 /R=SINH(R) SINGLE PREC. HYPERBOLIC SINE / / / VERSION 50A 26-MAY-80 WVDM / / SECT SINH 00000 1030 JA #SINH 00001 0063 00002 2311 TEXT +SINH + 00003 1610 00004 4040 00005 1100 SINHXR, SETX XRSINH 00006 0014 00007 1110 SETB BPSINH 00010 0011 00011 0040 BPSINH, FNOP 00012 0000 0 00013 0000 0 00014 0000 XRSINH, F 0.0 00015 0000 00016 0000 00017 0000 SINH6, F 0.0 00020 0000 00021 0000 00022 0000 SINH7, F 0.0 00023 0000 00024 0000 00025 0000 SINH8, F 0.0 00026 0000 00027 0000 00030 0001 F1SINH, F 1. 00031 2000 00032 0000 00033 0002 F2SINH, F 2. 00034 2000 00035 0000 00036 0005 F3SINH, F 20. 00037 2400 00040 0000 ORG 10*3+BPSINH 00041 0040 FNOP 00042 1030 JA SINHXR 00043 0005 00044 0000 0 00045 1030 SNHRTN, JA . 00046 0045 / 00047 0000 SINHLG, 0 /LN(2) 00050 2613 2613 00051 4412 4412 / 00052 7775 SINH1, F .1 00053 3146 00054 3146 / RALF V50A 8-APR-92 PAGE 1-1 00055 0007 SINH2, F 88.02969 /LN(2^127) 00056 2600 00057 3631 / 00060 0003 SINH3, F 6. 00061 3000 00062 0000 BASE 0 00063 0006 #SINH, STARTD 00064 0210 FLDA 10*3 00065 6400 FSTA SNHRTN 00066 0045 00067 0200 FLDA 0 00070 1100 SETX XRSINH 00071 0014 00072 1110 SETB BPSINH 00073 0011 BASE BPSINH 00074 0101 LDX 1,1 00075 0001 00076 6200 FSTA BPSINH 00077 0610 FLDA% BPSINH,1 /ADDR OF X 00100 6200 FSTA BPSINH 00101 0005 STARTF 00102 0600 FLDA% BPSINH /GET X 00103 6204 FSTA SINH8 /SAVE THE ARGUMENT. 00104 1010 JGE .+3 /MAKE IT POSITIVE. 00105 0107 00106 0003 FNEG 00107 6203 FSTA SINH7 /AND SAVE ABS VALUE IN CASE WE NEED IT. 00110 2213 FSUB SINH1 /IS IT LESS THEN .1? 00111 1020 JLE SINHSR /YES. USE SERIES APPROXIMATION. 00112 0160 00113 2214 FSUB SINH2 /IS IT GREATER THEN 88.029? 00114 1010 JGE SINHAP /YES. USE LOG(2) APPROXIMATION. 00115 0134 EXTERN EXP 00116 1130 JSR EXP /EXP(X) 00117 0000 00120 1030 JA .+4 00121 0124 00122 1030 JA SINH8 00123 0025 00124 6203 FSTA SINH7 00125 0205 FLDA F1SINH 00126 3203 FDIV SINH7 /1/EXP(X) 00127 0003 FNEG /-1/EXP(X) 00130 1203 FADD SINH7 /EXP(X)-1/EXP(X) 00131 3206 FDIV F2SINH / 1/2(EXP(X)-1/EXP(X)) 00132 1030 JA SNHRTN /AND RETURN NOW. 00133 0045 / / 00134 0203 SINHAP, FLDA SINH7 /RECALL ABSOLUTE VALUE. 00135 2212 FSUB SINHLG /ABS(X)-LN(2) RALF V50A 8-APR-92 PAGE 1-2 00136 6203 FSTA SINH7 /EXP(ABS(X)-LN(2)) EXTERN EXP 00137 1130 JSR EXP 00140 0000 00141 1030 JA .+4 00142 0145 00143 1030 JA SINH7 00144 0022 00145 6203 FSTA SINH7 00146 0204 FLDA SINH8 /GET SIGN OF ARGUMENT. 00147 1010 JGE SPLR /LOAD POSITIVE IF ARG WAS POSITIVE. 00150 0155 00151 0203 FLDA SINH7 00152 0003 FNEG /ELSE NEGATE IT. 00153 1030 JA SNHRTN /AND RETURN. 00154 0045 00155 0203 SPLR, FLDA SINH7 00156 1030 JA SNHRTN 00157 0045 / / 00160 0204 SINHSR, FLDA SINH8 /X SERIES IF X<.1 00161 4204 FMUL SINH8 /X^2 00162 6203 FSTA SINH7 /X^2 00163 4204 FMUL SINH8 /X^3 00164 3215 FDIV SINH3 /X^3/6 00165 6202 FSTA SINH6 /X^3/6 00166 4203 FMUL SINH7 /X^5/6 00167 3207 FDIV F3SINH / /20=X^5/120 00170 1202 FADD SINH6 /X^5/120+X^3/6 00171 1204 FADD SINH8 /X+X^3/6+X^5/120 00172 1030 JA SNHRTN /VOILA. WE ARE DONE. 00173 0045 RALF V50A 8-APR-92 PAGE 2 RALF V50A 8-APR-92 PAGE 2-1 NO ERRORS 20 SYMBOLS, NO ABS REFS # C 00000 #MAIN S 00000 #SINH 00063 BPSINH 00011 EXP X 00000 F1SINH 00030 F2SINH 00033 F3SINH 00036 SINH S 00174 SINHAP 00134 SINHLG 00047 SINHSR 00160 SINHXR 00005 SINH1 00052 SINH2 00055 SINH3 00060 SINH6 00017 SINH7 00022 SINH8 00025 SNHRTN 00045 SPLR 00155 XRSINH 00014