
Thanks, Ben, for chiming in. I think calling out to C for these
functions is the way to go if it's now feasible. (Calling out to libm
is the workaround I'm using in the application that led me to discover
the inaccuracy.)
Matt
On Thu, Aug 2, 2018 at 11:33 AM, Ben Gamari
Matt Peddie
writes: Hi George,
Not a stupid question. I don't have a single source at hand, but I think I read in a few places on the wiki that calling out to the system math library is not an option due to the variety of system math libraries on the platforms GHC supports. It'd be great if I got the wrong impression and this could just be a call to C. Can anyone set me straight on this point?
Indeed it's not a stupid question at all. Indeed this is precisely what we do for the simpler transcendentals (e.g. sin, asin, log). We very well could move in this direction in the case of asinh/atanh as well. I believe the reason we don't currently is that atanh was only standardized in C99, which we only started requiring a few releases ago. Perhaps this is ultimately the right direction.
Cheers,
- Ben