\frac{\left(\frac{k \cdot \left(l0 \cdot ndir - dir\right)}{n + 1} \cdot dt\right) \cdot dt}{n + 2}\frac{\left(\frac{k \cdot \left(l0 \cdot ndir - dir\right)}{n + 1} \cdot dt\right) \cdot dt}{n + 2}double code(double k, double l0, double ndir, double dir, double n, double dt) {
return ((double) (((double) (((double) (((double) (((double) (k * ((double) (((double) (l0 * ndir)) - dir)))) / ((double) (n + 1.0)))) * dt)) * dt)) / ((double) (n + 2.0))));
}
double code(double k, double l0, double ndir, double dir, double n, double dt) {
return ((double) (((double) (((double) (((double) (((double) (k * ((double) (((double) (l0 * ndir)) - dir)))) / ((double) (n + 1.0)))) * dt)) * dt)) / ((double) (n + 2.0))));
}



Bits error versus k



Bits error versus l0



Bits error versus ndir



Bits error versus dir



Bits error versus n



Bits error versus dt
Results
Initial program 17.3
Final simplification17.3
herbie shell --seed 2020153
(FPCore (k l0 ndir dir n dt)
:name "(/ (* (* (/ (* k (- (* l0 ndir) dir)) (+ n 1)) dt) dt) (+ n 2))"
:precision binary64
(/ (* (* (/ (* k (- (* l0 ndir) dir)) (+ n 1.0)) dt) dt) (+ n 2.0)))