1 /* Copyright (C) 2003 Free Software Foundation.
2 
3    Check that constant folding of built-in math functions doesn't
4    break anything and produces the expected results.
5 
6    Written by Roger Sayle, 25th May 2003.  */
7 
8 /* { dg-do link } */
9 /* { dg-options "-O2 -ffast-math" } */
10 
11 extern void link_error(void);
12 
13 extern double exp(double);
14 extern double atan(double);
15 
main()16 int main()
17 {
18   if (exp (1.0) < 2.71 || exp (1.0) > 2.72)
19     link_error ();
20   if (exp (2.0) < 7.38 || exp (2.0) > 7.39)
21     link_error ();
22   if (exp (-2.0) < 0.13 || exp (-2.0) > 0.14)
23     link_error ();
24   if (atan (1.0) < 0.78 || atan (1.0) > 0.79)
25     link_error ();
26 
27   return 0;
28 }
29 
30