a + \log \left(1 + e^{b - a}\right)a + \log \left(1 + e^{b - a}\right)double code(double a, double b) {
return ((double) (a + ((double) log(((double) (1.0 + ((double) exp(((double) (b - a))))))))));
}
double code(double a, double b) {
return ((double) (a + ((double) log(((double) (1.0 + ((double) exp(((double) (b - a))))))))));
}



Bits error versus a



Bits error versus b
Results
Initial program 0.5
Final simplification0.5
herbie shell --seed 2020153
(FPCore (a b)
:name "(+ a (log (+ 1 (exp (- b a)))))"
:precision binary64
(+ a (log (+ 1.0 (exp (- b a))))))