\frac{\left(a \cdot x + b \cdot y\right) + c \cdot z}{e}\frac{\left(a \cdot x + b \cdot y\right) + c \cdot z}{e}double code(double a, double x, double b, double y, double c, double z, double e) {
return ((double) (((double) (((double) (((double) (a * x)) + ((double) (b * y)))) + ((double) (c * z)))) / e));
}
double code(double a, double x, double b, double y, double c, double z, double e) {
return ((double) (((double) (((double) (((double) (a * x)) + ((double) (b * y)))) + ((double) (c * z)))) / e));
}



Bits error versus a



Bits error versus x



Bits error versus b



Bits error versus y



Bits error versus c



Bits error versus z



Bits error versus e
Results
Initial program 10.7
Final simplification10.7
herbie shell --seed 2020152
(FPCore (a x b y c z e)
:name "(/ (+ (+ (* a x) (* b y)) (* c z)) e)"
:precision binary64
(/ (+ (+ (* a x) (* b y)) (* c z)) e))