BEGIN
INTEGER I,J
OWNSTRING(15)FAILED="TEST OK"
RECORDFORMAT F(INTEGER I,J)
ROUTINESPEC INTERCHANGE(RECORD(F)ARRAYNAME A,INTEGER I,J)
RECORD(F)ARRAY A(0:3)
RECORD(F)ARRAY B(1:4)
CYCLE I=0,1,3
A(I)_I=I
B(I+1)_I=I+1
REPEAT
INTERCHANGE(A,1,3)
Failed="***BUG FOUND" UNLESS A(1)_I=3 AND A(3)_I=1
INTERCHANGE(B,1,3)
Failed="***BUG FOUND" UNLESS B(1)_I=3 AND B(3)_I=1
printstring(failed)
ROUTINE INTERCHANGE(RECORD(F)ARRAYNAME R,INTEGER P,Q)
RECORD(F) TEMP
TEMP=R(P)
R(P)=R(Q)
R(Q)=TEMP
END
ENDOFPROGRAM