\left(x + 1\right) \cdot x - \left(y - 1\right) \cdot y
\left(x + y\right) \cdot \left(1 + \left(x - y\right)\right)
double code(double x, double y) {
return ((double) (((double) (((double) (x + 1.0)) * x)) - ((double) (((double) (y - 1.0)) * y))));
}
double code(double x, double y) {
return ((double) (((double) (x + y)) * ((double) (1.0 + ((double) (x - y))))));
}



Bits error versus x



Bits error versus y
Results
Initial program 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020152
(FPCore (x y)
:name "(- (* (+ x 1) x) (* (- y 1) y))"
:precision binary64
(- (* (+ x 1.0) x) (* (- y 1.0) y)))