\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 r3122853 = x;
double r3122854 = r3122853 * r3122853;
double r3122855 = 1.0;
double r3122856 = r3122854 - r3122855;
double r3122857 = sqrt(r3122856);
double r3122858 = r3122853 + r3122857;
double r3122859 = log(r3122858);
return r3122859;
}
double f(double x) {
double r3122860 = x;
double r3122861 = 1.0;
double r3122862 = sqrt(r3122861);
double r3122863 = r3122860 - r3122862;
double r3122864 = sqrt(r3122863);
double r3122865 = r3122860 + r3122862;
double r3122866 = sqrt(r3122865);
double r3122867 = r3122864 * r3122866;
double r3122868 = r3122860 + r3122867;
double r3122869 = log(r3122868);
return r3122869;
}



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 +o rules:numerics
(FPCore (x)
:name "Hyperbolic arc-cosine"
(log (+ x (sqrt (- (* x x) 1.0)))))