\log \left(\frac{1}{x} + \frac{\sqrt{1 - x \cdot x}}{x}\right)\log \left(\frac{1}{x} + \sqrt{1 - x \cdot x} \cdot \frac{1}{x}\right)double f(double x) {
double r51693 = 1.0;
double r51694 = x;
double r51695 = r51693 / r51694;
double r51696 = r51694 * r51694;
double r51697 = r51693 - r51696;
double r51698 = sqrt(r51697);
double r51699 = r51698 / r51694;
double r51700 = r51695 + r51699;
double r51701 = log(r51700);
return r51701;
}
double f(double x) {
double r51702 = 1.0;
double r51703 = x;
double r51704 = r51702 / r51703;
double r51705 = r51703 * r51703;
double r51706 = r51702 - r51705;
double r51707 = sqrt(r51706);
double r51708 = 1.0;
double r51709 = r51708 / r51703;
double r51710 = r51707 * r51709;
double r51711 = r51704 + r51710;
double r51712 = log(r51711);
return r51712;
}



Bits error versus x
Results
Initial program 0.1
rmApplied div-inv0.1
Final simplification0.1
herbie shell --seed 2019303 +o rules:numerics
(FPCore (x)
:name "Hyperbolic arc-(co)secant"
:precision binary64
(log (+ (/ 1 x) (/ (sqrt (- 1 (* x x))) x))))