\log \left(\frac{1}{x} + \frac{\sqrt{1 - x \cdot x}}{x}\right)\left(-\log x\right) + \log \left(1 + \sqrt{1 - x \cdot x}\right)double f(double x) {
double r35544 = 1.0;
double r35545 = x;
double r35546 = r35544 / r35545;
double r35547 = r35545 * r35545;
double r35548 = r35544 - r35547;
double r35549 = sqrt(r35548);
double r35550 = r35549 / r35545;
double r35551 = r35546 + r35550;
double r35552 = log(r35551);
return r35552;
}
double f(double x) {
double r35553 = x;
double r35554 = log(r35553);
double r35555 = -r35554;
double r35556 = 1.0;
double r35557 = r35553 * r35553;
double r35558 = r35556 - r35557;
double r35559 = sqrt(r35558);
double r35560 = r35556 + r35559;
double r35561 = log(r35560);
double r35562 = r35555 + r35561;
return r35562;
}



Bits error versus x
Results
Initial program 0.1
rmApplied div-inv0.1
Applied div-inv0.1
Applied distribute-rgt-out0.1
Applied log-prod0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019323
(FPCore (x)
:name "Hyperbolic arc-(co)secant"
:precision binary64
(log (+ (/ 1 x) (/ (sqrt (- 1 (* x x))) x))))