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



Bits error versus x



Bits error versus y
Results
Initial program 0.0
rmApplied fma-neg0.0
Final simplification0.0
herbie shell --seed 2020113 +o rules:numerics
(FPCore (x y)
:name "System.Random.MWC.Distributions:standard from mwc-random-0.13.3.2"
:precision binary64
(* 0.5 (- (* x x) y)))