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