| /* { dg-options "-ffast-math" } */ | |
| /* Fast maths allows tail recursion to be turned into iteration. */ | |
| double | |
| foo (int n, double f) | |
| { | |
| if (n == 0) | |
| return f; | |
| else | |
| return f + foo (n - 1, f); | |
| } | |
| double | |
| bar (int n, double f) | |
| { | |
| if (n == 0) | |
| return f; | |
| else | |
| return f * bar (n - 1, f); | |
| } |