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