1 /* { dg-options "-ffast-math" } */ 2 3 /* Fast maths allows tail recursion to be turned into iteration. */ 4 5 double foo(int n,double f)6foo (int n, double f) 7 { 8 if (n == 0) 9 return f; 10 else 11 return f + foo (n - 1, f); 12 } 13 14 double bar(int n,double f)15bar (int n, double f) 16 { 17 if (n == 0) 18 return f; 19 else 20 return f * bar (n - 1, f); 21 } 22