A large commit.
[pdp8.git] / sw / os8 / v3d / sources / fortran / dectapes / dectape2 / asin.ra
diff --git a/sw/os8/v3d/sources/fortran/dectapes/dectape2/asin.ra b/sw/os8/v3d/sources/fortran/dectapes/dectape2/asin.ra
new file mode 100644 (file)
index 0000000..a4c9b4f
--- /dev/null
@@ -0,0 +1,73 @@
+/
+/
+/      A  S  I  N
+/      -  -  -  -
+/
+/SUBROUTINE    ASIN(X)
+/
+/ VERSION 5A 4-27-77  PT
+/
+       SECT    ASIN
+       JA      #ASIN
+ASINEQ,        FLDA    FPI2AS          /RETURN PI OVER TWO.
+       FMUL    ASIN8           /TIMES ARG.
+       JA      ASNRTN
+       TEXT    +ASIN  +
+ASINXR,        SETX    XRASIN
+       SETB    BPASIN
+BPASIN,        FNOP
+       0
+       0
+XRASIN,        F 0.0
+ASIN8, F 0.0
+ASIN7, F 0.0
+F1ASIN,        F 1.
+FPI2AS,        1                       /PI OVER 2
+       3110
+       3755
+       ORG     10*3+BPASIN
+       FNOP
+       JA      ASINXR
+       0
+ASNRTN,        JA      .
+       BASE    0
+#ASIN, STARTD
+       FLDA    10*3
+       FSTA    ASNRTN
+       FLDA    0
+       SETX    XRASIN
+       SETB    BPASIN
+       BASE    BPASIN
+       LDX     1,1
+       FSTA    BPASIN
+       FLDA%   BPASIN,1        /ADDR OF X
+       FSTA    BPASIN
+       STARTF
+       FLDA%   BPASIN          /GET X
+       FSTA    ASIN8           /STORE ARG AWAY.
+       JGE     .+3             /TAKE ABSOLUTE VALUE.
+       FNEG
+       FSUB    F1ASIN          /SEE IF >1
+       JLE     ASINOK          /CONTINUE PROCESS.
+       EXTERN  #ARGER
+       TRAP4   #ARGER          /TRAP OUT.
+       JA      ASNRTN          /RETURN.
+ASINOK,        FLDA    ASIN8           /X   USES STRAIGHT TRIG RELATION.
+       FNEG
+       FMUL    ASIN8           /-X^2
+       FADD    F1ASIN          /1.-X^2
+       JEQ     ASINEQ          /IF 0,FAC=PI OVER 2
+       FSTA    ASIN7
+       EXTERN  SQRT
+       JSR     SQRT
+       JA      .+4
+       JA      ASIN7
+       FSTA    ASIN7           /SQRT(1.-X^2)
+       FLDA    ASIN8
+       FDIV    ASIN7           /X/SQRT(1.X^2)
+       FSTA    ASIN7
+       EXTERN  ATAN
+       JSR     ATAN            /TAKE THE ARCTANGENT.
+       JA      ASNRTN
+       JA      ASIN7
+\f