%BEGIN %INTEGER I,J %CONSTSTRING(15)FAILED="***BUG FOUND" %ROUTINESPEC INTERCHANGE(%RECORDARRAYNAME A,%INTEGER I,J) %RECORDFORMAT F(%INTEGER I,J) %RECORDARRAY A(0:3)(F) %RECORDARRAY B(1:4)(F) %CYCLE I=0,1,3 A(I)_I=I B(I+1)_I=I+1 %REPEAT INTERCHANGE(A,1,3) PRINTSTRING(FAILED) %UNLESS A(1)_I=3 %AND A(3)_I=1 INTERCHANGE(B,1,3) PRINTSTRING(FAILED) %UNLESS B(1)_I=3 %AND B(3)_I=1 %ROUTINE INTERCHANGE(%RECORDARRAYNAME R,%INTEGER P,Q) %RECORDSPEC R(F) %RECORD TEMP(F) TEMP=R(P) R(P)=R(Q) R(Q)=TEMP %END %ENDOFPROGRAM