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



Bits error versus x



Bits error versus y
Results
Initial program 0.0
rmApplied *-un-lft-identity0.0
Applied associate-*r*0.0
Applied fma-neg0.0
rmApplied fma-udef0.0
Applied distribute-lft-in0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020066 +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)))