\log \left(\frac{1}{x} + \frac{\sqrt{1 - x \cdot x}}{x}\right)\log \left(\sqrt{\frac{1}{\sqrt{x}}} \cdot \left(\sqrt{\frac{1}{\sqrt{x}} + \frac{\sqrt{1 - x \cdot x}}{\sqrt{x}}} \cdot \sqrt{\frac{1}{x} + \frac{\sqrt{1 - x \cdot x}}{x}}\right)\right)double f(double x) {
double r114396 = 1.0;
double r114397 = x;
double r114398 = r114396 / r114397;
double r114399 = r114397 * r114397;
double r114400 = r114396 - r114399;
double r114401 = sqrt(r114400);
double r114402 = r114401 / r114397;
double r114403 = r114398 + r114402;
double r114404 = log(r114403);
return r114404;
}
double f(double x) {
double r114405 = 1.0;
double r114406 = x;
double r114407 = sqrt(r114406);
double r114408 = r114405 / r114407;
double r114409 = sqrt(r114408);
double r114410 = 1.0;
double r114411 = r114410 / r114407;
double r114412 = r114406 * r114406;
double r114413 = r114410 - r114412;
double r114414 = sqrt(r114413);
double r114415 = r114414 / r114407;
double r114416 = r114411 + r114415;
double r114417 = sqrt(r114416);
double r114418 = r114410 / r114406;
double r114419 = r114414 / r114406;
double r114420 = r114418 + r114419;
double r114421 = sqrt(r114420);
double r114422 = r114417 * r114421;
double r114423 = r114409 * r114422;
double r114424 = log(r114423);
return r114424;
}



Bits error versus x
Results
Initial program 0.0
rmApplied add-sqr-sqrt0.0
rmApplied add-sqr-sqrt0.0
Applied *-un-lft-identity0.0
Applied times-frac0.0
Applied add-sqr-sqrt0.0
Applied *-un-lft-identity0.0
Applied times-frac0.0
Applied distribute-lft-out0.0
Applied sqrt-prod0.0
Applied associate-*l*0.0
Final simplification0.0
herbie shell --seed 2020045
(FPCore (x)
:name "Hyperbolic arc-(co)secant"
:precision binary64
(log (+ (/ 1 x) (/ (sqrt (- 1 (* x x))) x))))