\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 r91514 = x;
double r91515 = r91514 * r91514;
double r91516 = 1.0;
double r91517 = r91515 - r91516;
double r91518 = sqrt(r91517);
double r91519 = r91514 + r91518;
double r91520 = log(r91519);
return r91520;
}
double f(double x) {
double r91521 = x;
double r91522 = 1.0;
double r91523 = sqrt(r91522);
double r91524 = r91521 + r91523;
double r91525 = sqrt(r91524);
double r91526 = r91521 - r91523;
double r91527 = sqrt(r91526);
double r91528 = r91525 * r91527;
double r91529 = r91521 + r91528;
double r91530 = log(r91529);
return r91530;
}



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