z + \alpha \cdot \left(\left(R + \gamma \cdot z\right) - z\right)
z + \alpha \cdot \left(\left(R + \gamma \cdot z\right) - z\right)
double code(double z, double alpha, double R, double gamma) {
return ((double) (z + ((double) (alpha * ((double) (((double) (R + ((double) (gamma * z)))) - z))))));
}
double code(double z, double alpha, double R, double gamma) {
return ((double) (z + ((double) (alpha * ((double) (((double) (R + ((double) (gamma * z)))) - z))))));
}



Bits error versus z



Bits error versus alpha



Bits error versus R



Bits error versus gamma
Results
Initial program 3.8
Final simplification3.8
herbie shell --seed 2020153
(FPCore (z alpha R gamma)
:name "(+ z (* alpha (- (+ R (* gamma z)) z)))"
:precision binary64
(+ z (* alpha (- (+ R (* gamma z)) z))))