* The check da != ZERO is no longer necessary since there
is a special case ada == ZERO, where ada = |da|.
* Add the missing check c != ZERO before the division.
Note that with these two changes the long double code
follows the float/double version of the code.
Fixes two calls that were using `fabs` on a `long double` argument rather than `fabsl`, which looks like it is doing an unintentional truncation to `double` precision.