modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/compile/acc1.c (about)

     1  /* { dg-options "-ffast-math" } */
     2  
     3  /* Fast maths allows tail recursion to be turned into iteration.  */
     4  
     5  double
     6  foo (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
    15  bar (int n, double f)
    16  {
    17    if (n == 0)
    18      return f;
    19    else
    20      return f * bar (n - 1, f);
    21  }