\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 r51989 = x;
double r51990 = r51989 * r51989;
double r51991 = 1.0;
double r51992 = r51990 - r51991;
double r51993 = sqrt(r51992);
double r51994 = r51989 + r51993;
double r51995 = log(r51994);
return r51995;
}
double f(double x) {
double r51996 = x;
double r51997 = 1.0;
double r51998 = sqrt(r51997);
double r51999 = r51996 - r51998;
double r52000 = sqrt(r51999);
double r52001 = r51996 + r51998;
double r52002 = sqrt(r52001);
double r52003 = r52000 * r52002;
double r52004 = r51996 + r52003;
double r52005 = log(r52004);
return r52005;
}



Bits error versus x
Results
Initial program 32.3
rmApplied add-sqr-sqrt32.3
Applied difference-of-squares32.3
Applied sqrt-prod0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019196 +o rules:numerics
(FPCore (x)
:name "Hyperbolic arc-cosine"
(log (+ x (sqrt (- (* x x) 1.0)))))