\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 r56904 = x;
double r56905 = r56904 * r56904;
double r56906 = 1.0;
double r56907 = r56905 - r56906;
double r56908 = sqrt(r56907);
double r56909 = r56904 + r56908;
double r56910 = log(r56909);
return r56910;
}
double f(double x) {
double r56911 = x;
double r56912 = 1.0;
double r56913 = sqrt(r56912);
double r56914 = r56911 + r56913;
double r56915 = sqrt(r56914);
double r56916 = r56911 - r56913;
double r56917 = sqrt(r56916);
double r56918 = r56915 * r56917;
double r56919 = r56911 + r56918;
double r56920 = log(r56919);
return r56920;
}



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