\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 r72038 = x;
double r72039 = r72038 * r72038;
double r72040 = 1.0;
double r72041 = r72039 - r72040;
double r72042 = sqrt(r72041);
double r72043 = r72038 + r72042;
double r72044 = log(r72043);
return r72044;
}
double f(double x) {
double r72045 = x;
double r72046 = 1.0;
double r72047 = sqrt(r72046);
double r72048 = r72045 + r72047;
double r72049 = sqrt(r72048);
double r72050 = r72045 - r72047;
double r72051 = sqrt(r72050);
double r72052 = r72049 * r72051;
double r72053 = r72045 + r72052;
double r72054 = log(r72053);
return r72054;
}



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