* Pathological floating point problems 03/05/2016 PATHOFP CSECT USING PATHOFP,R13 SAVEAR B STM-SAVEAR(R15) DC 17F'0' STM STM R14,R12,12(R13) ST R13,4(R15) ST R15,8(R13) LR R13,R15 LE F0,=E'2' STE F0,U u(1)=2 LE F0,=E'-4' STE F0,U+4 u(2)=-4 LA R6,3 n=3 LA R7,U+4 @u(n-1) LA R8,U @u(n-2) LA R9,U+8 @u(n) LOOPN CH R6,=H'100' do n=3 to 100 BH ELOOPN LE F4,0(R7) u(n-1) LE F2,=E'1130' 1130 DER F2,F4 1130/u(n-1) LE F0,=E'111' 111 SER F0,F2 111-1130/u(n-1) LE F2,0(R7) u(n-1) LE F4,0(R8) u(n-2) MER F2,F4 u(n-1)*u(n-2) LE F6,=E'3000' 3000 DER F6,F2 3000/(u(n-1)*u(n-2)) AER F0,F6 111-1130/u(n-1)+3000/(u(n-1)*u(n-2)) STE F0,0(R9) store into u(n) XDECO R6,PG+0 n LE F0,0(R9) u(n) LA R0,3 number of decimals BAL R14,FORMATF format(u(n),'F13.3') MVC PG+12(13),0(R1) put into buffer XPRNT PG,80 print buffer LA R6,1(R6) n=n+1 LA R7,4(R7) @u(n-1) LA R8,4(R8) @u(n-2) LA R9,4(R9) @u(n) B LOOPN ELOOPN L R13,4(0,R13) LM R14,R12,12(R13) XR R15,R15 BR R14 COPY FORMATF LTORG PG DC CL80' ' buffer U DS 100E YREGS YFPREGS END PATHOFP