\left(a + b\right) + \frac{\left(\left(\left(d - c\right) \cdot \left(d - c\right)\right) \cdot e\right) \cdot f}{e + f}\left(a + b\right) + \frac{\left(\left(\left(d - c\right) \cdot \left(d - c\right)\right) \cdot e\right) \cdot f}{e + f}double code(double a, double b, double d, double c, double f) {
return ((double) (((double) (a + b)) + ((double) (((double) (((double) (((double) (((double) (d - c)) * ((double) (d - c)))) * ((double) M_E))) * f)) / ((double) (((double) M_E) + f))))));
}
double code(double a, double b, double d, double c, double f) {
return ((double) (((double) (a + b)) + ((double) (((double) (((double) (((double) (((double) (d - c)) * ((double) (d - c)))) * ((double) M_E))) * f)) / ((double) (((double) M_E) + f))))));
}



Bits error versus a



Bits error versus b



Bits error versus d



Bits error versus c



Bits error versus f
Results
Initial program 18.1
Final simplification18.1
herbie shell --seed 2020153
(FPCore (a b d c f)
:name "(+ (+ a b) (/ (* (* (* (- d c) (- d c)) E) f) (+ E f)))"
:precision binary64
(+ (+ a b) (/ (* (* (* (- d c) (- d c)) E) f) (+ E f))))