#include <perms.h>
// Edinburgh IMP77 Compiler - Version 8.4
//
// 1 %begin
int main(int argc, char **argv) { /*%begin*/
_imp_initialise(argc, argv);
// 2 %integer i, j, k, l;
int I;
int J;
int K;
int L;
// 3 %integername p, q
int *P;
int *Q;
// 4
// 5 i = 20; j = 25; k = 21; l = 27;
I = 20;
J = 25;
K = 21;
L = 27;
// 6 p == j; q == l;
P = (int *)/*?*/ &J;
Q = (int *)/*?*/ &L;
// 7 %cycle
L_0001:;
// 8 i = j; p = q
I = J;
*P = *Q;
// 9 %repeat %until k=3 %or (i=p %and l=1)
if (K == 3) goto L_0002;
if (I != *P) goto L_0003;
if (L == 1) goto L_0002;
L_0003:;
goto L_0001;
L_0002:;
// 10 %endofprogram
_imp_stop(0);
return 0;
end_0:;
}