\frac{x \cdot s1 + y \cdot s2}{s1 + s2}\frac{x \cdot s1 + y \cdot s2}{s1 + s2}double code(double x, double s1, double y, double s2) {
return ((double) (((double) (((double) (x * s1)) + ((double) (y * s2)))) / ((double) (s1 + s2))));
}
double code(double x, double s1, double y, double s2) {
return ((double) (((double) (((double) (x * s1)) + ((double) (y * s2)))) / ((double) (s1 + s2))));
}



Bits error versus x



Bits error versus s1



Bits error versus y



Bits error versus s2
Results
Initial program 16.1
Final simplification16.1
herbie shell --seed 2020153
(FPCore (x s1 y s2)
:name "(/ (+ (* x s1) (* y s2)) (+ s1 s2))"
:precision binary64
(/ (+ (* x s1) (* y s2)) (+ s1 s2)))