\left\lfloorx \cdot \left(1 - \frac{b}{m}\right)\right\rfloor\left\lfloorx \cdot \left(1 - \frac{b}{m}\right)\right\rfloordouble code(double x, double b, double m) {
return ((double) floor(((double) (x * ((double) (1.0 - ((double) (b / m))))))));
}
double code(double x, double b, double m) {
return ((double) floor(((double) (x * ((double) (1.0 - ((double) (b / m))))))));
}



Bits error versus x



Bits error versus b



Bits error versus m
Results
Initial program 3.1
Final simplification3.1
herbie shell --seed 2020153
(FPCore (x b m)
:name "(floor (* x (- 1 (/ b m))))"
:precision binary64
(floor (* x (- 1.0 (/ b m)))))