#include <perms.h>
int _imp_mainep(int _imp_argc, char **_imp_argv) {
  _imp_enter();
  const long int D1L = -1;
  const long int D1U = 8;
  const long int D2L = -1;
  const long int D2U = 1;
  const long int D3L = -1;
  const long int D3U = 1;
  const long int BL = -1;
  const long int BU = 800;
  int DIM;
  int SZ;
  int BASE;
  int LIMIT;
  int RANGE;
  int A;
  int B;
  int C;
  int V;
  int I;
  int *X;
  char *Y;
  int OFFSET;
  int BILBO[D1U - D1L + 1][D2U - D2L + 1][D3U - D3L + 1];
  int BAGGINS[BU - BL + 1];
  auto void ONEDIMARRAY(int *BASE, int *LIMIT, int DIM, int SZ, int LB,
                        int UB) {
    _imp_enter();
    int ROW;
    int I;
    BASE = 0;
    LIMIT = 0;
    ROW = (UB - LB) + 1;
    BASE = BASE * ROW + LB;
    LIMIT = LIMIT * ROW + UB;
    BASE = BASE * SZ;
    LIMIT = (LIMIT + 1) * SZ;
    _imp_leave();
  }
  auto void WRITEHEXINTEGER(int N) {
    _imp_enter();
    int D;
    int I;
    for (I = 28; I != 0 + -4; I += -4) {
      D = 15 & (N >> I);
      if (D > 9) {
        PRINTSYMBOL(D - 10 + 'A');

      } else {
        PRINTSYMBOL(D + '0');
      }
    }

    _imp_leave();
  }
  SELECTOUTPUT(1);
  PRINTSTRING(_imp_str_literal("Start array initialisation"));
  NEWLINE(); /*ERROR: name_sym_idx is -1!*/       /*C_NAME*/
  A = MISSING_RHS; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  B = MISSING_RHS; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  C = MISSING_RHS; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  RANGE = () + C - B;
  BASE = B - A;
  PRINTSTRING(_imp_str_literal("bilbo A: sizeof              ="));
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  PRINTSTRING();
  NEWLINE();
  PRINTSTRING(_imp_str_literal("bilbo B: address(d1l,d2l,d3l)="));
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  WRITEHEXINTEGER();
  NEWLINE();
  PRINTSTRING(_imp_str_literal("bilbo C: address(d1u,d2u,d3u)="));
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  WRITEHEXINTEGER();
  NEWLINE();
  PRINTSTRING(_imp_str_literal("bilbo D: range               ="));
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  PRINTSTRING();
  NEWLINE();
  PRINTSTRING(_imp_str_literal("bilbo E: base                ="));
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  PRINTSTRING();
  NEWLINE();
  PRINTSTRING(_imp_str_literal("bilbo F: limit               ="));
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  PRINTSTRING();
  NEWLINE();
  DIM = 1; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  SZ = MISSING_RHS;
  ONEDIMARRAY(BASE, LIMIT, DIM, SZ, BL, BU);
  RANGE = LIMIT - BASE; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  B = MISSING_RHS; /*ERROR: name_sym_idx is -1!*/      /*C_NAME*/
  C = MISSING_RHS;
  PRINTSTRING(_imp_str_literal("baggins A: sizeof            ="));
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  PRINTSTRING();
  NEWLINE();
  PRINTSTRING(_imp_str_literal("baggins B: address(bl)       ="));
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  WRITEHEXINTEGER();
  NEWLINE();
  PRINTSTRING(_imp_str_literal("baggins C: address(bu )      ="));
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  WRITEHEXINTEGER();
  NEWLINE();
  PRINTSTRING(_imp_str_literal("baggins D: range             ="));
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  PRINTSTRING();
  NEWLINE();
  PRINTSTRING(_imp_str_literal("baggins E: base              ="));
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  PRINTSTRING();
  NEWLINE();
  PRINTSTRING(_imp_str_literal("baggins F: limit             ="));
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  PRINTSTRING();
  NEWLINE();
  V = 0;
  for (A = D1L; A != D1U + 1; A += 1) {
    for (B = D2L; B != D2U + 1; B += 1) {
      for (C = D3L; C != D3U + 1; C += 1) {
        V = V + 1;
        BILBO[A][B][C] = V;
      }
    }
  }
  PRINTSTRING(_imp_str_literal("End bilbo array initialisation"));
  NEWLINE();
  V = 0;
  PRINTSTRING(_imp_str_literal("Start bilbo array readout"));
  NEWLINE();
  for (A = D1L; A != D1U + 1; A += 1) {
    for (B = D2L; B != D2U + 1; B += 1) {
      for (C = D3L; C != D3U + 1; C += 1) {
        PRINTSTRING(_imp_str_literal("bilbo("));
            /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        PRINTSTRING();
        PRINTSTRING(_imp_str_literal(","));
            /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        PRINTSTRING();
        PRINTSTRING(_imp_str_literal(","));
            /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        PRINTSTRING();
        PRINTSTRING(_imp_str_literal(")="));
            /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        PRINTSTRING();
        PRINTSTRING(_imp_str_literal(" entry="));
            /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        PRINTSTRING();
        PRINTSTRING(_imp_str_literal(" address="));
            /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        WRITEHEXINTEGER();
        NEWLINE();
        V = V + 1;
      }
    }
  }
  V = -1;
  OFFSET = 0; /*ERROR: name_sym_idx is -1!*/      /*C_NAME*/
  A = MISSING_RHS; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  B = MISSING_RHS;
  for (C = BL; C != BU + 1; C += 1) {
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ X = &;
    *X = C;
    OFFSET = OFFSET + B;
    V = V + 1;
  }
  PRINTSTRING(_imp_str_literal("End baggins array initialisation"));
  NEWLINE();
  PRINTSTRING(_imp_str_literal("Start array readout"));
  NEWLINE();
  for (A = BL; A != BU + 1; A += 1) {
    B = BAGGINS[A];
    PRINTSTRING(_imp_str_literal("baggins("));
        /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    PRINTSTRING();
    PRINTSTRING(_imp_str_literal(")="));
        /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    PRINTSTRING();
    PRINTSTRING(_imp_str_literal(" or as hex "));
    WRITEHEXINTEGER(BAGGINS[A]);
    PRINTSTRING(_imp_str_literal(" address="));
        /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    WRITEHEXINTEGER();
    NEWLINE();
  }
  PRINTSTRING(_imp_str_literal("End baggins array readout"));
  NEWLINE();
  _imp_leave();
  exit(0);
  return (0);
}
