#include <perms.h>
int _imp_mainep(int _imp_argc, char **_imp_argv) {
  _imp_string Param;
  unsigned char J;
  unsigned char K;
  unsigned char M;
  unsigned char N;
  static const unsigned char Cint3 = 10;
  static const unsigned char Cint4 = 3;
  static int Failures = 0;
  void Pass(void) {
    Printstring(_imp_str_literal("Pass"));
    Newline();
  }
  void Fail(void) {
    Printstring(_imp_str_literal("FAIL"));
    Newline();
    Failures++;
  }
  int F(void) { return (3); }
  Param = Cliparam();
  if (Param == _imp_str_literal(""))
    Selectoutput(2);
  else if (Param == _imp_str_literal("s") || Param == _imp_str_literal("S"))
    Selectoutput(0);
  else if (Param == _imp_str_literal("j") || Param == _imp_str_literal("J")) {
    Openoutput(2, _imp_str_literal("journal"));
    Selectoutput(2);
  } else {
    Openoutput(2, Param);
    Selectoutput(2);
  }
  Newlines(2);
  Printstring(_imp_str_literal("BYTE INTEGER Arithmetic Validation"));
  Newline();
  Printstring(_imp_str_literal("=================================="));
  Newlines(3);
  Printstring(_imp_str_literal("Test BYTE INTEGER ADDITION."));
  Newline();
  Printstring(_imp_str_literal("---------------------------"));
  Newline();
  J = 50;
  K = 10;
  J += 10;
  if (J == 60)
    Pass();
  else
    Fail();
  J += 10;
  if (J == 70)
    Pass();
  else
    Fail();
  J += Cint3;
  if (J == 80)
    Pass();
  else
    Fail();
  J += Cint3;
  if (J == 90)
    Pass();
  else
    Fail();
  J += K;
  if (J == 100)
    Pass();
  else
    Fail();
  J += K;
  if (J == 110)
    Pass();
  else
    Fail();
  M = J + K;
  if (M == 120)
    Pass();
  else
    Fail();
  if (J == 110 && K == 10)
    Pass();
  else
    Fail();
  Newlines(2);
  Printstring(_imp_str_literal("Test BYTE INTEGER SUBTRACTION."));
  Newline();
  Printstring(_imp_str_literal("------------------------------"));
  Newline();
  J = 110;
  K = 10;
  J -= 10;
  if (J == 100)
    Pass();
  else
    Fail();
  J -= 100;
  if (!J)
    Pass();
  else
    Fail();
  J = 260 - Cint3;
  if (J == 250)
    Pass();
  else
    Fail();
  J -= K;
  if (J == 240)
    Pass();
  else
    Fail();
  M = J - K;
  if (M == 230)
    Pass();
  else
    Fail();
  if (J == 240 && K == 10)
    Pass();
  else
    Fail();
  Newlines(2);
  Printstring(_imp_str_literal("Test the UNARY MINUS"));
  Newline();
  Printstring(_imp_str_literal("--------------------"));
  Newlines(1);
  J = 50;
  K = 10;
  J = -(-J);
  if (J == 50)
    Pass();
  else
    Fail();
  J += -50;
  if (!J)
    Pass();
  else
    Fail();
  J = -K + K;
  if (!J)
    Pass();
  else
    Fail();
  J = 30 + (-K);
  if (J == 20)
    Pass();
  else
    Fail();
  Selectoutput(0);
  Write(Failures, 1);
  Printstring(_imp_str_literal(" failure(s)"));
  Newline();
  exit(0);
  return (1);
}
