\log \left(\frac{1}{x} + \frac{\sqrt{1 - x \cdot x}}{x}\right)\log \left(\frac{1}{x} + \left(\frac{\sqrt{\sqrt{1} + x}}{\sqrt{x}} \cdot \sqrt{\sqrt{\sqrt{1}} + \sqrt{x}}\right) \cdot \frac{\sqrt{\sqrt{\sqrt{1}} - \sqrt{x}}}{\sqrt{x}}\right)double f(double x) {
double r98329 = 1.0;
double r98330 = x;
double r98331 = r98329 / r98330;
double r98332 = r98330 * r98330;
double r98333 = r98329 - r98332;
double r98334 = sqrt(r98333);
double r98335 = r98334 / r98330;
double r98336 = r98331 + r98335;
double r98337 = log(r98336);
return r98337;
}
double f(double x) {
double r98338 = 1.0;
double r98339 = x;
double r98340 = r98338 / r98339;
double r98341 = sqrt(r98338);
double r98342 = r98341 + r98339;
double r98343 = sqrt(r98342);
double r98344 = sqrt(r98339);
double r98345 = r98343 / r98344;
double r98346 = sqrt(r98341);
double r98347 = r98346 + r98344;
double r98348 = sqrt(r98347);
double r98349 = r98345 * r98348;
double r98350 = r98346 - r98344;
double r98351 = sqrt(r98350);
double r98352 = r98351 / r98344;
double r98353 = r98349 * r98352;
double r98354 = r98340 + r98353;
double r98355 = log(r98354);
return r98355;
}



Bits error versus x
Results
Initial program 0.1
rmApplied add-sqr-sqrt0.1
Applied add-sqr-sqrt0.1
Applied difference-of-squares0.1
Applied sqrt-prod0.1
Applied times-frac0.1
rmApplied *-un-lft-identity0.1
Applied sqrt-prod0.1
Applied add-sqr-sqrt0.1
Applied add-sqr-sqrt0.1
Applied sqrt-prod0.1
Applied difference-of-squares0.1
Applied sqrt-prod0.1
Applied times-frac0.1
Applied associate-*r*0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2020047
(FPCore (x)
:name "Hyperbolic arc-(co)secant"
:precision binary64
(log (+ (/ 1 x) (/ (sqrt (- 1 (* x x))) x))))