\log \left(x + \sqrt{x \cdot x - 1}\right)\log \left(x + \sqrt{\sqrt{x + \sqrt{1}}} \cdot \left(\sqrt{\sqrt{x + \sqrt{1}}} \cdot \sqrt{x - \sqrt{1}}\right)\right)double f(double x) {
double r84058 = x;
double r84059 = r84058 * r84058;
double r84060 = 1.0;
double r84061 = r84059 - r84060;
double r84062 = sqrt(r84061);
double r84063 = r84058 + r84062;
double r84064 = log(r84063);
return r84064;
}
double f(double x) {
double r84065 = x;
double r84066 = 1.0;
double r84067 = sqrt(r84066);
double r84068 = r84065 + r84067;
double r84069 = sqrt(r84068);
double r84070 = sqrt(r84069);
double r84071 = r84065 - r84067;
double r84072 = sqrt(r84071);
double r84073 = r84070 * r84072;
double r84074 = r84070 * r84073;
double r84075 = r84065 + r84074;
double r84076 = log(r84075);
return r84076;
}



Bits error versus x
Results
Initial program 32.5
rmApplied add-sqr-sqrt32.5
Applied difference-of-squares32.5
Applied sqrt-prod0.1
rmApplied add-sqr-sqrt0.1
Applied sqrt-prod0.1
Applied associate-*l*0.1
Final simplification0.1
herbie shell --seed 2019304
(FPCore (x)
:name "Hyperbolic arc-cosine"
:precision binary64
(log (+ x (sqrt (- (* x x) 1)))))