double f(double x) {
double r8603220 = x;
double r8603221 = r8603220 * r8603220;
double r8603222 = 1.0;
double r8603223 = r8603221 - r8603222;
double r8603224 = sqrt(r8603223);
double r8603225 = r8603220 + r8603224;
double r8603226 = log(r8603225);
return r8603226;
}
double f(double x) {
double r8603227 = -0.125;
double r8603228 = x;
double r8603229 = r8603227 / r8603228;
double r8603230 = r8603228 * r8603228;
double r8603231 = r8603229 / r8603230;
double r8603232 = 2.0;
double r8603233 = -0.5;
double r8603234 = r8603233 / r8603228;
double r8603235 = fma(r8603232, r8603228, r8603234);
double r8603236 = r8603231 + r8603235;
double r8603237 = log(r8603236);
return r8603237;
}
\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)


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