#include <perms.h>
int _imp_mainep(int _imp_argc, char **_imp_argv) {
  _imp_enter();
  auto void WRN(int X) {
    _imp_enter();
    if (X >= 10)
      PRINTSYMBOL(X - 10 + 'A');
    else
      PRINTSYMBOL(X + '0');
    _imp_leave();
  }
  auto void WRB(int X) {
    _imp_enter();
    WRN((X >> 4) & 15);
    WRN(X & 15);
    _imp_leave();
  }
  auto void WRHEX(int X) {
    _imp_enter();
    WRB(BYTEINTEGER(ADDR(X) + 3));
    WRB(BYTEINTEGER(ADDR(X) + 2));
    WRB(BYTEINTEGER(ADDR(X) + 1));
    WRB(BYTEINTEGER(ADDR(X) + 0));
    _imp_leave();
  }
  double LONGREAL = 1851608064.012345678;
  PRINTSTRING(_imp_str_literal("long real: "));
  PRINT(LONGREAL, 16);
  NEWLINE();
  WRHEX(INTEGER(ADDR(LONGREAL)));
  NEWLINE();
  WRHEX(INTEGER(ADDR(LONGREAL) + 4));
  NEWLINES(2);
  *INTEGER(ADDR(LONGREAL)) = 0x0000CA46;
  *INTEGER(ADDR(LONGREAL) + 4) = 0x41DB9753;
  PRINTSTRING(_imp_str_literal("long real: "));
  PRINT(LONGREAL, 16);
  NEWLINE();
  WRHEX(INTEGER(ADDR(LONGREAL)));
  NEWLINE();
  WRHEX(INTEGER(ADDR(LONGREAL) + 4));
  NEWLINES(2);
  PRINTSTRING(_imp_str_literal("sizeof(longreal) = "));
  WRITE(SIZEOF(LONGREAL), 0);
  NEWLINE();
  _imp_leave();
  exit(0);
  return (0);
}
