x \cdot x - \left(y \cdot 4\right) \cdot z
\mathsf{fma}\left(x, x, -\left(y \cdot 4\right) \cdot z\right)double f(double x, double y, double z) {
double r134520 = x;
double r134521 = r134520 * r134520;
double r134522 = y;
double r134523 = 4.0;
double r134524 = r134522 * r134523;
double r134525 = z;
double r134526 = r134524 * r134525;
double r134527 = r134521 - r134526;
return r134527;
}
double f(double x, double y, double z) {
double r134528 = x;
double r134529 = y;
double r134530 = 4.0;
double r134531 = r134529 * r134530;
double r134532 = z;
double r134533 = r134531 * r134532;
double r134534 = -r134533;
double r134535 = fma(r134528, r134528, r134534);
return r134535;
}



Bits error versus x



Bits error versus y



Bits error versus z
Initial program 0.0
rmApplied fma-neg0.0
Final simplification0.0
herbie shell --seed 2019303 +o rules:numerics
(FPCore (x y z)
:name "Graphics.Rasterific.QuadraticFormula:discriminant from Rasterific-0.6.1"
:precision binary64
(- (* x x) (* (* y 4) z)))