DCL DD X FLT(8) AUTO INIT(E'+1.0E00') ; DCL DD Y FLT(8) AUTO INIT(E'7') ; DCL DD XS FLT(8) AUTO ; DCL DD A FLT(8) AUTO INIT(E'1') ; DCL DD DENOM FLT(8) AUTO INIT(E'1.0') ; DCL DD SUM FLT(8) AUTO ; DCL DD TEMP FLT(8) ; DCL DD FOUR FLT(8) INIT(E'4.0E0') ; DCL DD PI FLT(8) ; DIV(S) X,3; /* X = 1/3 */ DIV Y,1,Y; /* Y = 1/7 */ MULT XS,X,X; /* XS = X**2 */ NEG(S) XS; ADDN A,X,0; LOOP1: MULT(S) X,XS ; ADDN(S ) DENOM,2 ; DIV TEMP,X,DENOM; ADDN(S) A , TEMP; CMPNV(B) DENOM,25 /LO(LOOP1),EQ(LOOP1) ; MULT XS,Y,Y ; NEG(S) XS; ADDN SUM,Y,0; ADDN DENOM,0,1; LOOP2: /* LOOP TO CALCULATE ATN(1/7) */ MULT(S) Y,XS ; ADDN(S) DENOM,2 ; DIV TEMP,Y,DENOM ; ADDN(S) SUM,TEMP ; CMPNV(B) DENOM,25 /LO(LOOP2),EQ(LOOP2) ; ADDN PI,A,A; ADDN(S) PI,SUM; MULT(S) PI,FOUR; CPYNV ZZ, PI; CPYBLAP MSG-TEXT, ZZ, " "; CALLI SHOW-MESSAGE, *, .SHOW-MESSAGE; RTX *; DCL DD ZZ ZND(31,30); %INCLUDE SHOWMSG