\log \left(x + \sqrt{x \cdot x - 1}\right)\log \left(x + \left(\left(x + \frac{\frac{-1}{2}}{x}\right) - \frac{\frac{\frac{1}{8}}{x}}{x \cdot x}\right)\right)double f(double x) {
double r4019940 = x;
double r4019941 = r4019940 * r4019940;
double r4019942 = 1.0;
double r4019943 = r4019941 - r4019942;
double r4019944 = sqrt(r4019943);
double r4019945 = r4019940 + r4019944;
double r4019946 = log(r4019945);
return r4019946;
}
double f(double x) {
double r4019947 = x;
double r4019948 = -0.5;
double r4019949 = r4019948 / r4019947;
double r4019950 = r4019947 + r4019949;
double r4019951 = 0.125;
double r4019952 = r4019951 / r4019947;
double r4019953 = r4019947 * r4019947;
double r4019954 = r4019952 / r4019953;
double r4019955 = r4019950 - r4019954;
double r4019956 = r4019947 + r4019955;
double r4019957 = log(r4019956);
return r4019957;
}



Bits error versus x
Results
Initial program 31.4
Simplified31.4
Taylor expanded around inf 0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019163 +o rules:numerics
(FPCore (x)
:name "Hyperbolic arc-cosine"
(log (+ x (sqrt (- (* x x) 1)))))