\log \left(x + \sqrt{x \cdot x - 1}\right)\log \left(x + \left(\sqrt{x + \sqrt{1}} \cdot \sqrt{\sqrt{x} + \sqrt{\sqrt{1}}}\right) \cdot \sqrt{\sqrt{x} - \sqrt{\sqrt{1}}}\right)double f(double x) {
double r90079 = x;
double r90080 = r90079 * r90079;
double r90081 = 1.0;
double r90082 = r90080 - r90081;
double r90083 = sqrt(r90082);
double r90084 = r90079 + r90083;
double r90085 = log(r90084);
return r90085;
}
double f(double x) {
double r90086 = x;
double r90087 = 1.0;
double r90088 = sqrt(r90087);
double r90089 = r90086 + r90088;
double r90090 = sqrt(r90089);
double r90091 = sqrt(r90086);
double r90092 = sqrt(r90088);
double r90093 = r90091 + r90092;
double r90094 = sqrt(r90093);
double r90095 = r90090 * r90094;
double r90096 = r90091 - r90092;
double r90097 = sqrt(r90096);
double r90098 = r90095 * r90097;
double r90099 = r90086 + r90098;
double r90100 = log(r90099);
return r90100;
}



Bits error versus x
Results
Initial program 32.5
rmApplied add-sqr-sqrt32.5
Applied difference-of-squares32.5
Applied sqrt-prod0.1
rmApplied add-sqr-sqrt0.1
Applied sqrt-prod0.1
Applied add-sqr-sqrt0.1
Applied difference-of-squares0.1
Applied sqrt-prod0.1
Applied associate-*r*0.1
Final simplification0.1
herbie shell --seed 2019235
(FPCore (x)
:name "Hyperbolic arc-cosine"
:precision binary64
(log (+ x (sqrt (- (* x x) 1)))))