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