\frac{ds - \frac{dr \cdot vs}{vr}}{vr}\frac{ds - \frac{dr \cdot vs}{vr}}{vr}double code(double ds, double dr, double vs, double vr) {
return ((double) (((double) (ds - ((double) (((double) (dr * vs)) / vr)))) / vr));
}
double code(double ds, double dr, double vs, double vr) {
return ((double) (((double) (ds - ((double) (((double) (dr * vs)) / vr)))) / vr));
}



Bits error versus ds



Bits error versus dr



Bits error versus vs



Bits error versus vr
Results
Initial program 5.8
Final simplification5.8
herbie shell --seed 2020152
(FPCore (ds dr vs vr)
:name "(/ (- ds (/ (* dr vs) vr)) vr)"
:precision binary64
(/ (- ds (/ (* dr vs) vr)) vr))