\log \left(x + \sqrt{x \cdot x - 1}\right)\log \left(x + \left(\sqrt{\sqrt{x + \sqrt{1}}} \cdot \sqrt{\sqrt{x - \sqrt{1}}}\right) \cdot \left(\sqrt{\sqrt{x + \sqrt{1}}} \cdot \sqrt{\sqrt{x - \sqrt{1}}}\right)\right)double f(double x) {
double r78396 = x;
double r78397 = r78396 * r78396;
double r78398 = 1.0;
double r78399 = r78397 - r78398;
double r78400 = sqrt(r78399);
double r78401 = r78396 + r78400;
double r78402 = log(r78401);
return r78402;
}
double f(double x) {
double r78403 = x;
double r78404 = 1.0;
double r78405 = sqrt(r78404);
double r78406 = r78403 + r78405;
double r78407 = sqrt(r78406);
double r78408 = sqrt(r78407);
double r78409 = r78403 - r78405;
double r78410 = sqrt(r78409);
double r78411 = sqrt(r78410);
double r78412 = r78408 * r78411;
double r78413 = r78412 * r78412;
double r78414 = r78403 + r78413;
double r78415 = log(r78414);
return r78415;
}



Bits error versus x
Results
Initial program 32.5
rmApplied add-sqr-sqrt32.5
Applied difference-of-squares32.5
Applied sqrt-prod0.1
rmApplied add-sqr-sqrt0.1
Applied sqrt-prod0.1
Applied add-sqr-sqrt0.1
Applied sqrt-prod0.1
Applied unswap-sqr0.1
Final simplification0.1
herbie shell --seed 2019304
(FPCore (x)
:name "Hyperbolic arc-cosine"
:precision binary64
(log (+ x (sqrt (- (* x x) 1)))))