\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 r820347 = x;
double r820348 = 3.0;
double r820349 = r820347 * r820348;
double r820350 = y;
double r820351 = r820349 * r820350;
double r820352 = z;
double r820353 = r820351 - r820352;
return r820353;
}
double f(double x, double y, double z) {
double r820354 = x;
double r820355 = 3.0;
double r820356 = r820354 * r820355;
double r820357 = y;
double r820358 = z;
double r820359 = -r820358;
double r820360 = fma(r820356, r820357, r820359);
return r820360;
}




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 2019353 +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))