#include <perms.h>
int _imp_mainep(int _imp_argc, char **_imp_argv) {
  _imp_enter();
  const int BITS1 = 0b00000000000000000000000000000000;
  int BITS2 = 0b01010101010101010101010101010101;
  const int BITS3 = 0b00001111000011110000111100001111;
  int BITS4 = 0b11111111111111111111111111111111;
  int BITS5 = 0b10110111100001010011110010101000;
  const int BITS6 = 0b00100110111100101010100111110111;
  int LMASK = 0b10000000000000000000000000000000;
  int RMASK = 0b00000000000000000000000000000001;
  int IBITS = 0b01010101101010100101010101010101;
  short SBITS = 0b0101010101100101;
  char BBITS = 0b01010101;
  int I;
  static int FAILURES = 0;
  auto void PASS(void) {
    _imp_enter();
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/;
    _imp_leave();
  }
  auto void FAIL(void) {
    _imp_enter();
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/;
    FAILURES = FAILURES + 1;
    _imp_leave();
  }
  OPENOUTPUT(2, CLIPARAM());
  SELECTOUTPUT(2);
  NEWLINE(); /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  ;
  NEWLINE();
  if (BITS1 == 0)
    PASS();
  else
    FAIL();
  if (BITS2 == 0b01010101010101010101010101010101)
    PASS();
  else
    FAIL();
  if (BITS3 == 0b00001111000011110000111100001111)
    PASS();
  else
    FAIL();
  if (BITS4 == 0b11111111111111111111111111111111)
    PASS();
  else
    FAIL();
  if ((BITS2 & BITS3) == 0b00000101000001010000010100000101)
    PASS();
  else
    FAIL();
  if ((BITS2 | BITS3) == 0b01011111010111110101111101011111)
    PASS();
  else
    FAIL();
  if ((BITS2 ^ BITS3) == 0b01011010010110100101101001011010)
    PASS();
  else
    FAIL();
  if (~BITS2 == 0b10101010101010101010101010101010)
    PASS();
  else
    FAIL();
  if (BITS3 << 4 == 0b11110000111100001111000011110000)
    PASS();
  else
    FAIL();
  if (BITS2 >> 4 == 0b00000101010101010101010101010101)
    PASS();
  else
    FAIL();
  NEWLINE(); /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  ;
  NEWLINE();
  if ((((~BITS6) & (BITS3 >> 6)) ^ BITS5) == (~BITS6 & BITS3 >> 6 ^ BITS5))
    PASS();
  else
    FAIL();
  if (((~BITS6) & BITS5) == (~BITS6 & BITS5))
    PASS();
  else
    FAIL();
  if ((~BITS5) >> 5 == ~BITS5 >> 5)
    PASS();
  else
    FAIL();
  if (((~BITS6) | BITS5) == (~BITS6 | BITS5))
    PASS();
  else
    FAIL();
  if (((~BITS6) ^ BITS5) == (~BITS6 ^ BITS5))
    PASS();
  else
    FAIL();
  if ((BITS6 & (BITS5 >> 4)) == (BITS6 & BITS5 >> 4))
    PASS();
  else
    FAIL();
  if ((BITS6 | (BITS5 >> 4)) == (BITS6 | BITS5 >> 4))
    PASS();
  else
    FAIL();
  NEWLINE();
  if ((BITS6 ^ (BITS5 >> 4)) == (BITS6 ^ BITS5 >> 4))
    PASS();
  else
    FAIL();
  if ((BITS6 & (BITS5 << 4)) == (BITS6 & BITS5 << 4))
    PASS();
  else
    FAIL();
  if ((BITS6 | (BITS5 << 4)) == (BITS6 | BITS5 << 4))
    PASS();
  else
    FAIL();
  if ((BITS6 ^ (BITS5 << 4)) == (BITS6 ^ BITS5 << 4))
    PASS();
  else
    FAIL();
  if ((BITS6 | (BITS5 & BITS3)) == (BITS6 | BITS5 & BITS3))
    PASS();
  else
    FAIL();
  if ((BITS6 ^ (BITS5 & BITS3)) == (BITS6 ^ BITS5 & BITS3))
    PASS();
  else
    FAIL();
  if (((BITS6 | BITS5) ^ BITS3) == ((BITS6 | BITS5) ^ BITS3))
    PASS();
  else
    FAIL();
  if (((BITS6 ^ BITS5) | BITS3) == (BITS6 ^ BITS5 | BITS3))
    PASS();
  else
    FAIL();
  NEWLINES(2); /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  ;
  NEWLINE();
  if ((BITS6 ^ BITS3 ^ BITS3) == BITS6)
    PASS();
  else
    FAIL(); /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  ;
  NEWLINE();
  if (~(~BITS6) == BITS6)
    PASS();
  else
    FAIL(); /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  ;
  NEWLINE();
  if (~BITS1 == BITS4)
    PASS();
  else
    FAIL(); /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  ;
  NEWLINE();
  if ((RMASK >> 10) << 10 == RMASK)
    FAIL();
  else
    PASS(); /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  ;
  NEWLINE();
  if ((LMASK >> 10) << 10 == LMASK)
    PASS();
  else
    FAIL(); /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  ;
  NEWLINE();
  if (BITS6 >> 0 == BITS6 << 0)
    PASS();
  else
    FAIL(); /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  ;
  NEWLINE(); /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  ;
  NEWLINE();
  if ((IBITS & 1 << 31) == 0)
    PASS();
  else
    FAIL();
  if ((IBITS & 1 << 30) != 0)
    PASS();
  else
    FAIL();
  if ((IBITS & 1 << 24) != 0)
    PASS();
  else
    FAIL();
  if ((IBITS & 1 << 23) != 0)
    PASS();
  else
    FAIL();
  if ((IBITS & 1 << 22) == 0)
    PASS();
  else
    FAIL();
  if ((IBITS & 1 << 15) == 0)
    PASS();
  else
    FAIL();
  if ((IBITS & 1 << 14) != 0)
    PASS();
  else
    FAIL();
  if ((IBITS & 1 << 7) == 0)
    PASS();
  else
    FAIL();
  if ((IBITS & 1 << 6) != 0)
    PASS();
  else
    FAIL();
  if ((IBITS & 1 << 1) == 0)
    PASS();
  else
    FAIL();
  if ((IBITS & 1 << 0) != 0)
    PASS();
  else
    FAIL();
  NEWLINE();
  if ((SBITS & 1 << 15) == 0)
    PASS();
  else
    FAIL();
  if ((SBITS & 1 << 14) != 0)
    PASS();
  else
    FAIL();
  if ((SBITS & 1 << 7) == 0)
    PASS();
  else
    FAIL();
  if ((SBITS & 1 << 6) != 0)
    PASS();
  else
    FAIL();
  if ((SBITS & 1 << 5) != 0)
    PASS();
  else
    FAIL();
  if ((SBITS & 1 << 4) == 0)
    PASS();
  else
    FAIL();
  if ((SBITS & 1 << 1) == 0)
    PASS();
  else
    FAIL();
  if ((SBITS & 1 << 0) != 0)
    PASS();
  else
    FAIL();
  if ((BBITS & 1 << 7) == 0)
    PASS();
  else
    FAIL();
  if ((BBITS & 1 << 6) != 0)
    PASS();
  else
    FAIL();
  if ((BBITS & 1 << 1) == 0)
    PASS();
  else
    FAIL();
  if ((BBITS & 1 << 0) != 0)
    PASS();
  else
    FAIL();
  NEWLINE();  // option...
  for (I = 0; I != 30 + 2; I += 2) {
    if (16 <= I && I <= 23) {
      if (I == 16) NEWLINE();
      if ((IBITS & 1 << I) == 0)
        PASS();
      else
        FAIL();

    } else {
      if ((IBITS & 1 << I) != 0)
        PASS();
      else
        FAIL();
    }
  }
  NEWLINE();
  for (I = 1; I != 31 + 2; I += 2) {
    if (17 <= I && I <= 23) {
      if (I == 17) NEWLINE();
      if ((IBITS & 1 << I) != 0)
        PASS();
      else
        FAIL();

    } else {
      if ((IBITS & 1 << I) == 0)
        PASS();
      else
        FAIL();
    }
  }
  NEWLINE();
  for (I = 0; I != 14 + 2; I += 2) {
    if (I != 4) {
      if ((SBITS & 1 << I) != 0)
        PASS();
      else
        FAIL();

    } else {
      if ((SBITS & 1 << I) == 0)
        PASS();
      else
        FAIL();
    }
  }
  NEWLINE();
  for (I = 1; I != 15 + 2; I += 2) {
    if (I != 5) {
      if ((SBITS & 1 << I) == 0)
        PASS();
      else
        FAIL();

    } else {
      if ((SBITS & 1 << I) != 0)
        PASS();
      else
        FAIL();
    }
  }
  NEWLINE();
  for (I = 0; I != 6 + 2; I += 2) {
    if ((BBITS & 1 << I) != 0)
      PASS();
    else
      FAIL();
  }
  for (I = 1; I != 7 + 2; I += 2) {
    if ((BBITS & 1 << I) == 0)
      PASS();
    else
      FAIL();
  }
  NEWLINE();
  SELECTOUTPUT(0); /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  ; /*ERROR: name_sym_idx is -1!*/                /*C_NAME*/
  ;
  NEWLINE();
  _imp_leave();
  exit(0);
  return (0);
}
