SUBROUTINE ELI1(RES,TH,EM) CK=SQRT(ABS(1.-EM**2)) IF(ABS(EM).GT.1.0) CK=-CK IF(ABS(COS(TH)).LT..1E-5) GO TO 116 X=SIN(TH)/COS(TH) GO TO 17 116 X=.1E10*SIN(TH)/ABS(SIN(TH)) 17 IF(X) 2,1,2 1 RES=0. RETURN 2 IF(CK) 4,3,4 3 RES=ALOG(ABS(X)+SQRT(ABS(1.+X*X))) GO TO 13 4 ANGLE=ABS(1.0/X) GEC=ABS(CK) ARI=1. PIM=0. 5 SQGEC=ARI*GEC AARI=ARI ARI=GEC+ARI ANGLE= -SQGEC/ANGLE+ANGLE SQGEC=SQRT(ABS(SQGEC)) IF(ANGLE) 7,6,7 C---- REPLACE 0. BY A SMALL VALUE 6 ANGLE=SQGEC*1.E-8 7 TEST=AARI*1.E-4 IF(ABS(AARI-GEC)-TEST) 10,10,8 8 GEC=SQGEC+SQGEC PIM=PIM+PIM IF(ANGLE) 9,5,5 9 PIM=PIM+3.1415927 GO TO 5 10 IF(ANGLE) 11,12,12 11 PIM=PIM+3.1415927 12 RES=(ATAN(ARI/ANGLE)+PIM)/ARI 13 IF(X) 14,15,15 14 RES=-RES 15 RETURN END