\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 r86338 = x;
double r86339 = r86338 * r86338;
double r86340 = 1.0;
double r86341 = r86339 - r86340;
double r86342 = sqrt(r86341);
double r86343 = r86338 + r86342;
double r86344 = log(r86343);
return r86344;
}
double f(double x) {
double r86345 = x;
double r86346 = 1.0;
double r86347 = sqrt(r86346);
double r86348 = r86345 + r86347;
double r86349 = sqrt(r86348);
double r86350 = r86345 - r86347;
double r86351 = sqrt(r86350);
double r86352 = r86349 * r86351;
double r86353 = r86345 + r86352;
double r86354 = log(r86353);
return r86354;
}



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