\log \left(x + \sqrt{x \cdot x - 1}\right)\log \left(x + \sqrt{\sqrt{x + \sqrt{1}}} \cdot \left(\sqrt{\sqrt{x + \sqrt{1}}} \cdot \sqrt{x - \sqrt{1}}\right)\right)double f(double x) {
double r64296 = x;
double r64297 = r64296 * r64296;
double r64298 = 1.0;
double r64299 = r64297 - r64298;
double r64300 = sqrt(r64299);
double r64301 = r64296 + r64300;
double r64302 = log(r64301);
return r64302;
}
double f(double x) {
double r64303 = x;
double r64304 = 1.0;
double r64305 = sqrt(r64304);
double r64306 = r64303 + r64305;
double r64307 = sqrt(r64306);
double r64308 = sqrt(r64307);
double r64309 = r64303 - r64305;
double r64310 = sqrt(r64309);
double r64311 = r64308 * r64310;
double r64312 = r64308 * r64311;
double r64313 = r64303 + r64312;
double r64314 = log(r64313);
return r64314;
}



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