On 11/8/18 6:33 AM, Wilco Dijkstra wrote: > Hi, > >> But the max. error in sinh/cosh/atanh is less than 2 ULP, with some math >> libraries. It could be < 1 ULP, in theory, so sinh(atanh(x)) less than >> 2 ULP even. > > You can't add ULP errors in general - a tiny difference in the input can > make a huge difference in the result if the derivative is > 1. > > Even with perfect implementations of 0.5000001ULP on easy functions with > no large derivatives you could get a 2ULP total error if the perfectly rounded > and actual result end up rounding in different directions in the 2nd > function... > > So you have to measure ULP error since it is quite counter intuitive. > >> And signed zeroes. Yeah. I think it would have to be >> flag_unsafe_math_optimizations + some more. > > Indeed. So we need to give Giuliano some clear guidance on guarding. This is out of my area of expertise, so looking to y'all to help here.
jeff