void push(int x) {
  Mpush(x);
  return;
}

void analyze_trace() {
  int _;
  int nameatom;
  int proc_instructions;

  printf("execution trace");
  writeln();

  printf("opcode ");
  _ = display_(instruction);
  writeln();

  // define name symbol used to find name of function
  nameatom = intern(list_to_symbol(
    kons(
      MmakeChar('n'),
    kons(
      MmakeChar('a'),
    kons(
      MmakeChar('m'),
    kons(
      MmakeChar('e'),
      0))))));

  proc_instructions = Mcdr(instructions);
  if (Meq(nameatom, Mcar(Mcar(last(proc_instructions))))) {
    printf("in procedure ");
    _ = display_(Mcar(Mcdr(Mcar(last(proc_instructions)))));
    writeln();
  }

  return;
}
