\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 r2914591 = x;
double r2914592 = r2914591 * r2914591;
double r2914593 = 1.0;
double r2914594 = r2914592 - r2914593;
double r2914595 = sqrt(r2914594);
double r2914596 = r2914591 + r2914595;
double r2914597 = log(r2914596);
return r2914597;
}
double f(double x) {
double r2914598 = x;
double r2914599 = 1.0;
double r2914600 = sqrt(r2914599);
double r2914601 = r2914598 - r2914600;
double r2914602 = sqrt(r2914601);
double r2914603 = r2914598 + r2914600;
double r2914604 = sqrt(r2914603);
double r2914605 = r2914602 * r2914604;
double r2914606 = r2914598 + r2914605;
double r2914607 = log(r2914606);
return r2914607;
}



Bits error versus x
Results
Initial program 31.7
rmApplied add-sqr-sqrt31.7
Applied difference-of-squares31.7
Applied sqrt-prod0.1
Final simplification0.1
herbie shell --seed 2019170 +o rules:numerics
(FPCore (x)
:name "Hyperbolic arc-cosine"
(log (+ x (sqrt (- (* x x) 1.0)))))