/* { dg-do run } */

unsigned char a;
int b = 1, c, d;
int __attribute__((noipa))
f()
{
  char e;
  c = b - c;
  a = ~(c || a);
  e = -(b ^ a);
  d = e && b;
  a = ~(b & a);
  if (a < 2)
    return 1;
  return 0;
}

int main()
{
  if (f())
    __builtin_abort();
}