x \cdot x - \left(y \cdot 4\right) \cdot z
\mathsf{fma}\left(x, x, \left(-z\right) \cdot \left(4 \cdot y\right)\right)double f(double x, double y, double z) {
double r7912912 = x;
double r7912913 = r7912912 * r7912912;
double r7912914 = y;
double r7912915 = 4.0;
double r7912916 = r7912914 * r7912915;
double r7912917 = z;
double r7912918 = r7912916 * r7912917;
double r7912919 = r7912913 - r7912918;
return r7912919;
}
double f(double x, double y, double z) {
double r7912920 = x;
double r7912921 = z;
double r7912922 = -r7912921;
double r7912923 = 4.0;
double r7912924 = y;
double r7912925 = r7912923 * r7912924;
double r7912926 = r7912922 * r7912925;
double r7912927 = fma(r7912920, r7912920, r7912926);
return r7912927;
}



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