\log \left(x + \sqrt{x \cdot x - 1}\right)\log \left(\frac{\frac{\frac{-1}{8}}{x}}{x \cdot x} + (2 \cdot x + \left(\frac{\frac{-1}{2}}{x}\right))_*\right)double f(double x) {
double r5491332 = x;
double r5491333 = r5491332 * r5491332;
double r5491334 = 1.0;
double r5491335 = r5491333 - r5491334;
double r5491336 = sqrt(r5491335);
double r5491337 = r5491332 + r5491336;
double r5491338 = log(r5491337);
return r5491338;
}
double f(double x) {
double r5491339 = -0.125;
double r5491340 = x;
double r5491341 = r5491339 / r5491340;
double r5491342 = r5491340 * r5491340;
double r5491343 = r5491341 / r5491342;
double r5491344 = 2.0;
double r5491345 = -0.5;
double r5491346 = r5491345 / r5491340;
double r5491347 = fma(r5491344, r5491340, r5491346);
double r5491348 = r5491343 + r5491347;
double r5491349 = log(r5491348);
return r5491349;
}



Bits error versus x
Initial program 30.9
Simplified30.9
Taylor expanded around inf 0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2019112 +o rules:numerics
(FPCore (x)
:name "Hyperbolic arc-cosine"
(log (+ x (sqrt (- (* x x) 1)))))