\left(x \cdot 3\right) \cdot y - z
\mathsf{fma}\left(x \cdot 3, y, -z\right)double f(double x, double y, double z) {
double r497112 = x;
double r497113 = 3.0;
double r497114 = r497112 * r497113;
double r497115 = y;
double r497116 = r497114 * r497115;
double r497117 = z;
double r497118 = r497116 - r497117;
return r497118;
}
double f(double x, double y, double z) {
double r497119 = x;
double r497120 = 3.0;
double r497121 = r497119 * r497120;
double r497122 = y;
double r497123 = z;
double r497124 = -r497123;
double r497125 = fma(r497121, r497122, r497124);
return r497125;
}




Bits error versus x




Bits error versus y




Bits error versus z
| Original | 0.1 |
|---|---|
| Target | 0.1 |
| Herbie | 0.1 |
Initial program 0.1
rmApplied fma-neg0.1
Final simplification0.1
herbie shell --seed 2019208 +o rules:numerics
(FPCore (x y z)
:name "Diagrams.Solve.Polynomial:cubForm from diagrams-solve-0.1, B"
:precision binary64
:herbie-target
(- (* x (* 3 y)) z)
(- (* (* x 3) y) z))