#include <perms.h>

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

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

  //     2
  //     3  %routine p1(%integer a,b,c)

  void P1(int A, int B, int C) {
    //     4  %end

    return;
  } /* end of P1 */

  // ?C unused
  // ?B unused
  // ?A unused
  //     5
  //     6  %integerfn p2(%real p,q)

  int P2(float P, float Q) {
    //     7    %if p/q < 1 %then %result = 1

    if ((double)(P / Q) >= 1) goto L_0001;
    return 1;
  L_0001:;

  //     8    %result = 0

    return 0;

    //     9  %end

  } /* end of P2 */

  //    10
  //    11  ! Test nested ASSPAR parameter ICodes.
  //    12
  //    13  p1(22,p2(3.0,0.14),44)

  P1(22, P2(3.0, 0.14), 44);

  //    14
  //    15  %endofprogram

  _imp_stop(0);
  return 0;
end_0:;
}