\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 r43122 = x;
double r43123 = r43122 * r43122;
double r43124 = 1.0;
double r43125 = r43123 - r43124;
double r43126 = sqrt(r43125);
double r43127 = r43122 + r43126;
double r43128 = log(r43127);
return r43128;
}
double f(double x) {
double r43129 = x;
double r43130 = 1.0;
double r43131 = sqrt(r43130);
double r43132 = r43129 + r43131;
double r43133 = sqrt(r43132);
double r43134 = r43129 - r43131;
double r43135 = sqrt(r43134);
double r43136 = r43133 * r43135;
double r43137 = r43129 + r43136;
double r43138 = log(r43137);
return r43138;
}



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