\log \left(x + \sqrt{x \cdot x - 1}\right)\log \left(x + \sqrt{x + \sqrt{1}} \cdot \sqrt{x - \sqrt{1}}\right)double f(double x) {
double r38436 = x;
double r38437 = r38436 * r38436;
double r38438 = 1.0;
double r38439 = r38437 - r38438;
double r38440 = sqrt(r38439);
double r38441 = r38436 + r38440;
double r38442 = log(r38441);
return r38442;
}
double f(double x) {
double r38443 = x;
double r38444 = 1.0;
double r38445 = sqrt(r38444);
double r38446 = r38443 + r38445;
double r38447 = sqrt(r38446);
double r38448 = r38443 - r38445;
double r38449 = sqrt(r38448);
double r38450 = r38447 * r38449;
double r38451 = r38443 + r38450;
double r38452 = log(r38451);
return r38452;
}



Bits error versus x
Results
Initial program 32.0
rmApplied add-sqr-sqrt32.0
Applied difference-of-squares32.0
Applied sqrt-prod0.1
Final simplification0.1
herbie shell --seed 2020062 +o rules:numerics
(FPCore (x)
:name "Hyperbolic arc-cosine"
:precision binary64
(log (+ x (sqrt (- (* x x) 1)))))