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 (0.5 * ((x * x) - y));
}
double code(double x, double y) {
return (0.5 * fma(x, x, -y));
}



Bits error versus x



Bits error versus y
Results
Initial program 0.0
rmApplied fma-neg0.0
Final simplification0.0
herbie shell --seed 2020057 +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)))