incl \cdot 100 - \frac{incl \cdot 100}{100 + rate} \cdot rate100 \cdot \left(incl - rate \cdot \frac{incl}{100 + rate}\right)double code(double incl, double rate) {
return ((double) (((double) (incl * 100.0)) - ((double) (((double) (((double) (incl * 100.0)) / ((double) (100.0 + rate)))) * rate))));
}
double code(double incl, double rate) {
return ((double) (100.0 * ((double) (incl - ((double) (rate * ((double) (incl / ((double) (100.0 + rate))))))))));
}



Bits error versus incl



Bits error versus rate
Results
Initial program 29.4
Simplified29.4
Final simplification29.4
herbie shell --seed 2020152
(FPCore (incl rate)
:name "(- (* incl 100) (* (/ (* incl 100) (+ 100 rate)) rate))"
:precision binary64
(- (* incl 100.0) (* (/ (* incl 100.0) (+ 100.0 rate)) rate)))