1 /* PR tree-optimization/90356 */
2 /* { dg-do compile } */
3 /* { dg-options "-O2 -fno-rounding-math -fsignaling-nans -fsigned-zeros -fdump-tree-optimized" } */
4 /* { dg-final { scan-tree-dump-times "x_\[0-9]*.D. \\+ 0.0;" 12 "optimized" } } */
5 /* { dg-final { scan-tree-dump-times "y_\[0-9]*.D. - 0.0;" 4 "optimized" } } */
6 /* { dg-final { scan-tree-dump-times " \[+-] 0.0;" 16 "optimized" } } */
7 
f1(double x)8 double f1 (double x) { return (x + 0.0) + 0.0; }
f2(double y)9 double f2 (double y) { return (y + (-0.0)) + (-0.0); }
f3(double y)10 double f3 (double y) { return (y - 0.0) - 0.0; }
f4(double x)11 double f4 (double x) { return (x - (-0.0)) - (-0.0); }
f5(double x)12 double f5 (double x) { return (x + 0.0) - 0.0; }
f6(double x)13 double f6 (double x) { return (x + (-0.0)) - (-0.0); }
f7(double x)14 double f7 (double x) { return (x - 0.0) + 0.0; }
f8(double x)15 double f8 (double x) { return (x - (-0.0)) + (-0.0); }
f9(double x)16 double f9 (double x) { double t = x + 0.0; return t + 0.0; }
f10(double y)17 double f10 (double y) { double t = y + (-0.0); return t + (-0.0); }
f11(double y)18 double f11 (double y) { double t = y - 0.0; return t - 0.0; }
f12(double x)19 double f12 (double x) { double t = x - (-0.0); return t - (-0.0); }
f13(double x)20 double f13 (double x) { double t = x + 0.0; return t - 0.0; }
f14(double x)21 double f14 (double x) { double t = x + (-0.0); return t - (-0.0); }
f15(double x)22 double f15 (double x) { double t = x - 0.0; return t + 0.0; }
f16(double x)23 double f16 (double x) { double t = x - (-0.0); return t + (-0.0); }
24