\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 r46993 = x;
double r46994 = r46993 * r46993;
double r46995 = 1.0;
double r46996 = r46994 - r46995;
double r46997 = sqrt(r46996);
double r46998 = r46993 + r46997;
double r46999 = log(r46998);
return r46999;
}
double f(double x) {
double r47000 = x;
double r47001 = 1.0;
double r47002 = sqrt(r47001);
double r47003 = r47000 + r47002;
double r47004 = sqrt(r47003);
double r47005 = r47000 - r47002;
double r47006 = sqrt(r47005);
double r47007 = r47004 * r47006;
double r47008 = r47000 + r47007;
double r47009 = log(r47008);
return r47009;
}



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 2019298
(FPCore (x)
:name "Hyperbolic arc-cosine"
:precision binary64
(log (+ x (sqrt (- (* x x) 1)))))