exit (failures);
return failures;
main (void){  int failures = 0;  int i;  auto void try (int value, int expected);    void try (int value, int expected)    {      if (ffs (value) != expected)	{	  fprintf (stderr, "%#x expected %d got %d\n",		   value, expected, ffs (value));	  ++failures;	}    }  try (0, 0);  for (i=0 ; i<32 ; i++)    try (1<<i, i+1);  for (i=0 ; i<32 ; i++)    try ((~0 >> i) << i, i+1);  try (0x80008000, 16);  if (failures)    printf ("Test FAILED!  %d failure%s.\n", failures, &"s"[failures == 1]);  else    puts ("Test succeeded.");  exit (failures);}