\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 r61401 = x;
double r61402 = r61401 * r61401;
double r61403 = 1.0;
double r61404 = r61402 - r61403;
double r61405 = sqrt(r61404);
double r61406 = r61401 + r61405;
double r61407 = log(r61406);
return r61407;
}
double f(double x) {
double r61408 = x;
double r61409 = 1.0;
double r61410 = sqrt(r61409);
double r61411 = r61408 + r61410;
double r61412 = sqrt(r61411);
double r61413 = r61408 - r61410;
double r61414 = sqrt(r61413);
double r61415 = r61412 * r61414;
double r61416 = r61408 + r61415;
double r61417 = log(r61416);
return r61417;
}



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