#include <perms.h>

//          Edinburgh IMP77 Compiler - Version 8.4
//
//     1  %begin

int main(int argc, char **argv) { /*%begin*/
  _imp_initialise(argc, argv);

  //     2    %routine fred(%integer n)

  void FRED(int N) {
    //     3      %if n&7 = 7 %start

    if (N & 7 != 7) goto L_0001;

      //     4        %monitor   ;! print diags

      /*_imp_monitor(__LINE__, __FILE__, PRETTY_FUNCTION);*/

      //     5  !     %monitor 3
      //     6      %finish

  L_0001:;

  //     7    %end

    return;
  } /* end of FRED */

  //     8    %integer i = 0

  int I;
  I = 0;

  //     9    %cycle

L_0002:;

//    10      fred(i)

  FRED(I);

  //    11      i = i+1

  I = I + 1;

  //    12    %repeat %until i = 10

  if (I == 10) goto L_0003;
  goto L_0002;
L_0003:;

//    13    print string("Done.");

  _imp_PRINTSTRING(_imp_str_literal("Done."));

  //    14    newline

  _imp_NEWLINE();

  //    15    %stop

  _imp_stop(0);

  //    16  %endofprogram

end_0:;
}