\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 r65587 = x;
double r65588 = r65587 * r65587;
double r65589 = 1.0;
double r65590 = r65588 - r65589;
double r65591 = sqrt(r65590);
double r65592 = r65587 + r65591;
double r65593 = log(r65592);
return r65593;
}
double f(double x) {
double r65594 = x;
double r65595 = 1.0;
double r65596 = sqrt(r65595);
double r65597 = r65594 + r65596;
double r65598 = sqrt(r65597);
double r65599 = r65594 - r65596;
double r65600 = sqrt(r65599);
double r65601 = r65598 * r65600;
double r65602 = r65594 + r65601;
double r65603 = log(r65602);
return r65603;
}



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