\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 r89378 = x;
double r89379 = r89378 * r89378;
double r89380 = 1.0;
double r89381 = r89379 - r89380;
double r89382 = sqrt(r89381);
double r89383 = r89378 + r89382;
double r89384 = log(r89383);
return r89384;
}
double f(double x) {
double r89385 = x;
double r89386 = 1.0;
double r89387 = sqrt(r89386);
double r89388 = r89385 + r89387;
double r89389 = sqrt(r89388);
double r89390 = r89385 - r89387;
double r89391 = sqrt(r89390);
double r89392 = r89389 * r89391;
double r89393 = r89385 + r89392;
double r89394 = log(r89393);
return r89394;
}



Bits error versus x
Results
Initial program 31.8
rmApplied add-sqr-sqrt31.8
Applied difference-of-squares31.8
Applied sqrt-prod0.1
Final simplification0.1
herbie shell --seed 2020001
(FPCore (x)
:name "Hyperbolic arc-cosine"
:precision binary64
(log (+ x (sqrt (- (* x x) 1)))))