\log \left(x + \sqrt{x \cdot x - 1}\right)\log \left(x + \sqrt{x + 1} \cdot \sqrt{x - 1}\right)(FPCore (x) :precision binary64 (log (+ x (sqrt (- (* x x) 1.0)))))
(FPCore (x) :precision binary64 (log (+ x (* (sqrt (+ x 1.0)) (sqrt (- x 1.0))))))
double code(double x) {
return log(x + sqrt((x * x) - 1.0));
}
double code(double x) {
return log(x + (sqrt(x + 1.0) * sqrt(x - 1.0)));
}



Bits error versus x
Results
Initial program 31.5
rmApplied difference-of-sqr-1_binary6431.5
Applied sqrt-prod_binary640.0
Final simplification0.0
herbie shell --seed 2020232
(FPCore (x)
:name "Hyperbolic arc-cosine"
:precision binary64
(log (+ x (sqrt (- (* x x) 1.0)))))