/ / / SUBROUTINE DATAN(X) / / VERSION 5A 4-26-77 (MH) / /X,THE ARGUMENT, IS REDUCED TO /01.0 THEN ATAN(X)=PI/2 - ATAN(1/X) /IF .51? FLDA DATFP1 /YES FDIV X /X=1/X LDX 0,1 /SET FLAG FSTA X DATB, FLDA X FSUB DATP5 />= .5 JLT DATC FLDA X /X=(2X-1)/(X+2) FADD DATFP2 FSTA DT1 /TEMP FLDA X FMUL DATFP2 FSUB DATFP1 FDIV DT1 FSTA X FLDA ATN1S2 /C0=ATAN(1/2) FSTA C0 /COMPUTE ATAN USING ALGORITHM DATC, FLDA X FMUL X FSTA Z /Z=X*X FLDA Z FADD DATB3 /Z+B3 FSTA DT1 FLDA DATA3 FDIV DT1 /A3/(Z+B3) FADD DATB2 FADD Z /ADD Z+B2 FSTA DT1 /TEMP FLDA DATA2 /A2/TEMP FDIV DT1 FADD DATB1 FADD Z /ADD Z +B1 FSTA DT1 /TEMP FLDA DATA1 /A1/TEMP FDIV DT1 FADD DATB0 /ADD Z+B0 FADD Z FSTA DT1 FLDA LAMBDA /LAMBDA*X FMUL X FDIV DT1 /DIV BY THE REST FADD C0 FSTA X JXN DATD,1 /WAS X>1 ORIGINALLY? FLDA PIS2 /Y ATAN(X)=PI/2-ATAN(X) FSUB X DATD, JXN DATRTN,0 /WAS X<0? FNEG /Y JA DATRTN DATGO, FLDA X JA DATD