#include <perms.h>
// cc -o test179 tests/new/test179.c -I. perms.c -lm
int handler_at_this_level = 0; // hack until imps fixed.

int _imp_mainep(int _imp_argc, char **_imp_argv) {
  typedef struct Fredfm {
    int A;
    float B;
    int C;
  } Fredfm;
  Fredfm Fred = (Fredfm){0};
  Fredfm *Fredp = RECORD(0);
  if (_imp_on_event(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)) {
    WRITE(EVENT(), 0);
    NEWLINE();
    exit(0);
  }
  Fred.A = 1;
  Fred.B = 1.1;
  Fred.C = 1;
  WRITE(Fred.A, 0);
  WRITE(Fred.C, 3);
  NEWLINE();
  Fred = (Fredfm){0};
  WRITE(Fred.A, 0);
  WRITE(Fred.C, 3);
  NEWLINE();
  Fredp = &Fred;
  Fred.A = 1;
  Fred.B = 1.1;
  Fred.C = 1;
  WRITE(Fredp->A, 0);
  WRITE(Fredp->C, 3);
  NEWLINE();
  *Fredp = (Fredfm){0};
  WRITE(Fred.A, 0);
  WRITE(Fred.C, 3);
  NEWLINE();
  Fredp = RECORD(0);
  exit(0);
  return (1);
}
