\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 r3024024 = x;
double r3024025 = r3024024 * r3024024;
double r3024026 = 1.0;
double r3024027 = r3024025 - r3024026;
double r3024028 = sqrt(r3024027);
double r3024029 = r3024024 + r3024028;
double r3024030 = log(r3024029);
return r3024030;
}
double f(double x) {
double r3024031 = x;
double r3024032 = 1.0;
double r3024033 = sqrt(r3024032);
double r3024034 = r3024031 - r3024033;
double r3024035 = sqrt(r3024034);
double r3024036 = r3024031 + r3024033;
double r3024037 = sqrt(r3024036);
double r3024038 = r3024035 * r3024037;
double r3024039 = r3024031 + r3024038;
double r3024040 = log(r3024039);
return r3024040;
}



Bits error versus x
Results
Initial program 32.0
rmApplied add-sqr-sqrt32.0
Applied difference-of-squares32.0
Applied sqrt-prod0.1
Final simplification0.1
herbie shell --seed 2019174
(FPCore (x)
:name "Hyperbolic arc-cosine"
(log (+ x (sqrt (- (* x x) 1.0)))))