\sqrt{a \cdot a + \varepsilon \cdot \varepsilon}\sqrt{a \cdot a + \varepsilon \cdot \varepsilon}double code(double a, double eps) {
return ((double) sqrt(((double) (((double) (a * a)) + ((double) (eps * eps))))));
}
double code(double a, double eps) {
return ((double) sqrt(((double) (((double) (a * a)) + ((double) (eps * eps))))));
}



Bits error versus a



Bits error versus eps
Results
Initial program 31.7
Final simplification31.7
herbie shell --seed 2020153
(FPCore (a eps)
:name "(sqrt (+ (* a a) (* eps eps)))"
:precision binary64
(sqrt (+ (* a a) (* eps eps))))