COMMENT PROCEDURE - DOUBLE PRECISION TAN, 00000100 CUBE LIBRARY NUMBER IS B100003. 00000200 THIS VERSION DATED 2/1/67; 00000300 PROCEDURE DTAN(XH,XL,TAN1,TAN2);VALUE XH,XL ;REAL XH,XL,TAN1,TAN2 ;BEGI00000400 N REAL PIH,PIL,HPI,LPI,PI1,PI2,Z,TH,TL,PH,PL,QH,QL,X1,X2 ;INTEGER TANB ;00000500 LABEL L1 ;IF ABS(XH)<1@-6 THEN BEGIN TAN1 ~XH ;TAN2 ~XL ;GO TO L1 END ;D00000600 OUBLE(,3.1415926535897932384627,~,PIH,PIL);DOUBLE(,1.570796326794896619200000700 313,~,HPI,LPI);DOUBLE(,0.78539816339744830961566,~,PI1,PI2);X1 ~XH ;X2 ~00000800 XL ;IF X1 <0 THEN BEGIN Z ~-1.0 ;X1 ~-X1 END ELSE Z ~1.0 ;DOUBLE(X1,X2,P00000900 IH,PIL,-,~,TH,TL);IF TH >0 THEN BEGIN DOUBLE(X1,X2,PIH,PIL,/,~,TH,TL);DO00001000 UBLE(X1,X2,PIH,PIL,ENTIER(TH),0,|,-,~,X1,X2)END ;DOUBLE(X1,X2,HPI,LPI,-,00001100 ~,TH,TL);IF TH >0 THEN BEGIN DOUBLE(X1,X2,PIH,PIL,-,~,X1,X2 );IF X1 <0 T00001200 HEN BEGIN Z ~-Z ;X1 ~-X1 END END ;DOUBLE(X1,X2,PI1,PI2,-,~,TH,TL);IF TH 00001300 >0 THEN BEGIN TANB ~1 ;X1 ~TH ;X2 ~TL END ELSE TANB ~0 ;DOUBLE(X1,X2,X1,00001400 X2,|,~,TH,TL);DOUBLE(,0.000000029275455584636609011615,TH,TL,|,,0.00002800001500 825716567697401815447,-,TH,TL,|,,0.0039259753270289523023271,+,TH,TL,|,,00001600 0.13728926288316326720672,-,TH,TL,|,,1.0,+,X1,X2,|,~,PH,PL);DOUBLE(,0.0000001700 00013130263736120108270194,TH,TL,|,,0.00040301376679805766095783,-,TH,TL00001800 ,|,,0.027466840732527819088008,+,TH,TL,|,,0.47062259621649660053858,-,TH00001900 ,TL,|,,1.0,+,~,QH,QL);IF TANB =0 THEN DOUBLE(PH,PL,QH,QL,/,~,TAN1,TAN2)E00002000 LSE DOUBLE(PH,PL,QH,QL,+,QH,QL,PH,PL,-,/,~,TAN1,TAN2);TAN1 ~Z |TAN1 ;L1:00002100 END ; 00002200