\left(x \cdot 3\right) \cdot y - z
\mathsf{fma}\left(3 \cdot x, y, -z\right)double f(double x, double y, double z) {
double r16871194 = x;
double r16871195 = 3.0;
double r16871196 = r16871194 * r16871195;
double r16871197 = y;
double r16871198 = r16871196 * r16871197;
double r16871199 = z;
double r16871200 = r16871198 - r16871199;
return r16871200;
}
double f(double x, double y, double z) {
double r16871201 = 3.0;
double r16871202 = x;
double r16871203 = r16871201 * r16871202;
double r16871204 = y;
double r16871205 = z;
double r16871206 = -r16871205;
double r16871207 = fma(r16871203, r16871204, r16871206);
return r16871207;
}




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 2019200 +o rules:numerics
(FPCore (x y z)
:name "Diagrams.Solve.Polynomial:cubForm from diagrams-solve-0.1, B"
:herbie-target
(- (* x (* 3.0 y)) z)
(- (* (* x 3.0) y) z))