\log \left(\left|x\right| + \sqrt{x \cdot x + 1}\right)\log \left(\left|x\right| + \sqrt{x \cdot x + 1}\right)double code(double x) {
return ((double) log(((double) (((double) fabs(x)) + ((double) sqrt(((double) (((double) (x * x)) + 1.0))))))));
}
double code(double x) {
return ((double) log(((double) (((double) fabs(x)) + ((double) sqrt(((double) (((double) (x * x)) + 1.0))))))));
}



Bits error versus x
Results
Initial program 45.7
Final simplification45.7
herbie shell --seed 2020152
(FPCore (x)
:name "(log (+ (fabs x) (sqrt (+ (* x x) 1))))"
:precision binary64
(log (+ (fabs x) (sqrt (+ (* x x) 1.0)))))