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 r160692 = x;
double r160693 = r160692 * r160692;
double r160694 = y;
double r160695 = 4.0;
double r160696 = r160694 * r160695;
double r160697 = z;
double r160698 = r160696 * r160697;
double r160699 = r160693 - r160698;
return r160699;
}
double f(double x, double y, double z) {
double r160700 = x;
double r160701 = y;
double r160702 = 4.0;
double r160703 = r160701 * r160702;
double r160704 = z;
double r160705 = r160703 * r160704;
double r160706 = -r160705;
double r160707 = fma(r160700, r160700, r160706);
return r160707;
}



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 2020047 +o rules:numerics
(FPCore (x y z)
:name "Graphics.Rasterific.QuadraticFormula:discriminant from Rasterific-0.6.1"
:precision binary64
(- (* x x) (* (* y 4) z)))