(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.c-torture/
execute/
ieee/
inf-4.c
       1  __attribute__((noipa)) int
       2  foo (double a, double b)
       3  {
       4    double c = a - b;
       5    if (!__builtin_isfinite (c))
       6      {
       7        if (__builtin_isnan (c))
       8  	{
       9  	  if (!__builtin_isnan (a) && !__builtin_isnan (b))
      10  	    return 1;
      11  	}
      12        else if (__builtin_isfinite (a) && __builtin_isfinite (b))
      13  	return 2;
      14      }
      15    else if (c == 0 && a != b)
      16      return 3;
      17    return 4;
      18  }
      19  
      20  int
      21  main ()
      22  {
      23    double a = __builtin_inf ();
      24    if (foo (a, a) != 1)
      25      __builtin_abort ();
      26  }