> Hmm, do we have problems as we get close to -1 or 1 where the outputs of > the two forms might diverge?
Well, I did some minor testing with that with input x around nextafter(1, -1); There are a minor imprecision when comparing directly with sinh(atanh(x)) and cosh(atanh(x)). * On 32-bits floats, for such x the error is about 10^-4 * On 64-bits floats, for such x the error is about 10^-7 * On 80-bits floats, for such x the error is about 10^-9 here are the code that I used for the test: https://pastebin.com/JzYZyigQ I can create a testcase based on this if needed :-)