#include <perms.h>
int _imp_mainep(int _imp_argc, char **_imp_argv) {
  _imp_enter();
  auto float GETREAL(int X) {
    _imp_enter();
    return (REAL(ADDR(X)));
    _imp_leave();
  }
  auto void SETREALBYBYTES(int X, float *R) {
    _imp_enter();
    *BYTEINTEGER(ADDR(R) + 0) = X & 255;
    *BYTEINTEGER(ADDR(R) + 1) = (X >> 8) & 255;
    *BYTEINTEGER(ADDR(R) + 2) = (X >> 16) & 255;
    *BYTEINTEGER(ADDR(R) + 3) = (X >> 24) & 255;
    _imp_leave();
  }
  auto void SETREALBYINTEGER(int X, float *R) {
    _imp_enter();
    *INTEGER(ADDR(R)) = X;
    _imp_leave();
  }
  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();
  }
  float REAL = 1851608064.0;
  /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/;
  PRINT(REAL, 16);
  NEWLINE();
  WRHEX(INTEGER(ADDR(REAL)));
  NEWLINES(2);
  *INTEGER(ADDR(REAL)) = 0x4EDCBA98; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  ;
  PRINT(REAL, 16);
  NEWLINE();
  WRHEX(INTEGER(ADDR(REAL)));
  NEWLINES(2);
  SETREALBYBYTES(0x4EDCBA98, REAL); /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  ;
  PRINT(REAL, 16);
  NEWLINE();
  WRHEX(INTEGER(ADDR(REAL)));
  NEWLINES(2);
  SETREALBYINTEGER(0x4EDCBA98, REAL); /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  ;
  PRINT(REAL, 16);
  NEWLINE();
  WRHEX(INTEGER(ADDR(REAL)));
  NEWLINES(2);
  REAL = GETREAL(0x4EDCBA98); /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  ;
  PRINT(REAL, 16);
  NEWLINE();
  WRHEX(INTEGER(ADDR(REAL)));
  NEWLINES(2); /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  ; /*ERROR: name_sym_idx is -1!*/            /*C_NAME*/
  ;
  NEWLINE();
  _imp_leave();
  exit(0);
  return (0);
}
