\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
| Alternative 1 | |
|---|---|
| Error | 0.3 |
| Cost | 6848 |
| Alternative 2 | |
|---|---|
| Error | 0.6 |
| Cost | 6592 |
| Alternative 3 | |
|---|---|
| Error | 55.0 |
| Cost | 64 |

Initial program 32.1
rmApplied difference-of-sqr-1_binary64_175332.1
Applied sqrt-prod_binary64_17990.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2021044
(FPCore (x)
:name "Hyperbolic arc-cosine"
:precision binary64
(log (+ x (sqrt (- (* x x) 1.0)))))