1 /* Tail call optimizations would convert func() into the moral equivalent of:
4 for (int i = 0; i <= n; i++)
8 which mishandles the case where 'd' is -0. They also initialised 'acc'
9 to a zero int rather than a zero double. */
11 double func (double d
, int n
)
16 return d
+ func (d
, n
- 1);
21 if (__builtin_copysign (1.0, func (0.0 / -5.0, 10)) != -1.0)