2 \cdot \left(x \cdot x + x \cdot y\right)
2 \cdot \mathsf{fma}\left(x, x, x \cdot y\right)double f(double x, double y) {
double r412198 = 2.0;
double r412199 = x;
double r412200 = r412199 * r412199;
double r412201 = y;
double r412202 = r412199 * r412201;
double r412203 = r412200 + r412202;
double r412204 = r412198 * r412203;
return r412204;
}
double f(double x, double y) {
double r412205 = 2.0;
double r412206 = x;
double r412207 = y;
double r412208 = r412206 * r412207;
double r412209 = fma(r412206, r412206, r412208);
double r412210 = r412205 * r412209;
return r412210;
}




Bits error versus x




Bits error versus y
| Original | 0.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.0
rmApplied fma-def0.0
Final simplification0.0
herbie shell --seed 2019212 +o rules:numerics
(FPCore (x y)
:name "Linear.Matrix:fromQuaternion from linear-1.19.1.3, B"
:precision binary64
:herbie-target
(* (* x 2) (+ x y))
(* 2 (+ (* x x) (* x y))))