A large commit.
[pdp8.git] / sw / os8 / v3d / sources / fortran / dectapes / dectape2 / acos.ra
CommitLineData
81e70d48
PH
1/
2/
3/ A C O S
4/ - - - -
5/
6/SUBROUTINE ACOS(X)
7/
8/ VERSION 5A 4-27-77 PT
9/
10 SECT ACOS
11 JA #ACOS
12 TEXT +ACOS +
13ACOSXR, SETX XRACOS
14 SETB BPACOS
15BPACOS, FNOP
16 0
17 0
18XRACOS, F 0.0
19ACOS8, F 0.0
20ACOS7, F 0.0
21FPI2AC, 1 /PI OVER 2
22 3110
23 3755
24F1ACOS, F 1.
25FPIACS, 2 /PI
26 3110
27 3755
28 ORG 10*3+BPACOS
29 FNOP
30 JA ACOSXR
31 0
32ACSRTN, JA .
33 BASE 0
34#ACOS, STARTD
35 FLDA 10*3
36 FSTA ACSRTN
37 FLDA 0
38 SETX XRACOS
39 SETB BPACOS
40 BASE BPACOS
41 LDX 1,1
42 FSTA BPACOS
43 FLDA% BPACOS,1 /ADDR OF X
44 FSTA BPACOS
45 STARTF
46 FLDA% BPACOS /GET X
47 FSTA ACOS8 /SAVE IT
48 JEQ ACOSEQ /IF 0 RTN PI OVER 2
49 LDX -1,0 /JUMP TIME
50 JGE .+5
51 LDX 0,0
52 FNEG
53 FSUB F1ACOS /1-!X!
54 JLE ACOSOK /IS IT <1.?
55 EXTERN #ARGER
56 TRAP4 #ARGER
57 JA ACSRTN /AND RETURN
58ACOSOK, FLDA ACOS8 /X
59 FMUL ACOS8 /X^2
60 FNEG /-X^2
61 FADD F1ACOS /1-X^2
62 FSTA ACOS7
63 EXTERN SQRT
64 JSR SQRT /CALL SQRT
65 JA .+4 /SQRT (1-X^2)
66 JA ACOS7
67 FDIV ACOS8 /SQRT (1-X^2)/X
68 FSTA ACOS7
69 EXTERN ATAN
70 JSR ATAN /CALL ATAN
71 JA .+4 /ATAN (SQRT(1-X^2)/X)
72 JA ACOS7
73 JXN ACSRTN,0 /NO SIGN CHG NECESSARY
74 FADD FPIACS /ADD PI IF MINUE
75 JA ACSRTN
76ACOSEQ, FLDA FPI2AC /RTN PI OVER 2 IF 0
77 JA ACSRTN
78\f