1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-optimized" } */
3 #include <stdio.h>
4
5 int main() {
6 const double negval = -1.0;
7 const double nanval = 0.0 / 0.0;
8 const double val = __builtin_fmax(negval, nanval);
9 const double absval = __builtin_fabs(val);
10 printf("fabs(%.16e) = %.16e\n", val, absval);
11 return absval >= 0 ? 0 : 1;
12 }
13
14 /* We hope not to see: printf ("fabs(%.16e) = %.16e\n", val_4, val_4); */
15 /* { dg-final { scan-tree-dump-not "val_\[0-9\]*, val_\[0-9\]*" "optimized" } } */