Average Error: 5.8 → 5.8
Time: 1.2s
Precision: binary64
\[\frac{ds - \frac{dr \cdot vs}{vr}}{vr}\]
\[\frac{ds - \frac{dr \cdot vs}{vr}}{vr}\]
\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));
}

Error

Bits error versus ds

Bits error versus dr

Bits error versus vs

Bits error versus vr

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 5.8

    \[\frac{ds - \frac{dr \cdot vs}{vr}}{vr}\]
  2. Final simplification5.8

    \[\leadsto \frac{ds - \frac{dr \cdot vs}{vr}}{vr}\]

Reproduce

herbie shell --seed 2020152 
(FPCore (ds dr vs vr)
  :name "(/ (- ds (/ (* dr vs) vr)) vr)"
  :precision binary64
  (/ (- ds (/ (* dr vs) vr)) vr))