\mathsf{fma}\left(x - a, y - b, a \cdot b\right)\mathsf{fma}\left(x - a, y - b, a \cdot b\right)double code(double x, double a, double y, double b) {
return ((double) fma(((double) (x - a)), ((double) (y - b)), ((double) (a * b))));
}
double code(double x, double a, double y, double b) {
return ((double) fma(((double) (x - a)), ((double) (y - b)), ((double) (a * b))));
}



Bits error versus x



Bits error versus a



Bits error versus y



Bits error versus b
Results
Initial program 0.0
Final simplification0.0
herbie shell --seed 2020152
(FPCore (x a y b)
:name "(fma (- x a) (- y b) (* a b))"
:precision binary64
(fma (- x a) (- y b) (* a b)))