\log \left(x + \sqrt{x \cdot x - 1}\right)\log \left(x + \left(\sqrt{x + \sqrt{1}} \cdot \sqrt{\sqrt{x} + \sqrt{\sqrt{1}}}\right) \cdot \sqrt{\sqrt{x} - \sqrt{\sqrt{1}}}\right)double f(double x) {
double r81505 = x;
double r81506 = r81505 * r81505;
double r81507 = 1.0;
double r81508 = r81506 - r81507;
double r81509 = sqrt(r81508);
double r81510 = r81505 + r81509;
double r81511 = log(r81510);
return r81511;
}
double f(double x) {
double r81512 = x;
double r81513 = 1.0;
double r81514 = sqrt(r81513);
double r81515 = r81512 + r81514;
double r81516 = sqrt(r81515);
double r81517 = sqrt(r81512);
double r81518 = sqrt(r81514);
double r81519 = r81517 + r81518;
double r81520 = sqrt(r81519);
double r81521 = r81516 * r81520;
double r81522 = r81517 - r81518;
double r81523 = sqrt(r81522);
double r81524 = r81521 * r81523;
double r81525 = r81512 + r81524;
double r81526 = log(r81525);
return r81526;
}



Bits error versus x
Results
Initial program 31.7
rmApplied add-sqr-sqrt31.7
Applied difference-of-squares31.7
Applied sqrt-prod0.1
rmApplied add-sqr-sqrt0.1
Applied sqrt-prod0.1
Applied add-sqr-sqrt0.1
Applied difference-of-squares0.1
Applied sqrt-prod0.1
Applied associate-*r*0.1
Final simplification0.1
herbie shell --seed 2020049
(FPCore (x)
:name "Hyperbolic arc-cosine"
:precision binary64
(log (+ x (sqrt (- (* x x) 1)))))