2 \cdot \left(x \cdot x + x \cdot y\right)
x \cdot \left(\left(x + y\right) \cdot 2\right)
double f(double x, double y) {
double r487399 = 2.0;
double r487400 = x;
double r487401 = r487400 * r487400;
double r487402 = y;
double r487403 = r487400 * r487402;
double r487404 = r487401 + r487403;
double r487405 = r487399 * r487404;
return r487405;
}
double f(double x, double y) {
double r487406 = x;
double r487407 = y;
double r487408 = r487406 + r487407;
double r487409 = 2.0;
double r487410 = r487408 * r487409;
double r487411 = r487406 * r487410;
return r487411;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.0
Simplified0.0
rmApplied fma-udef0.0
Simplified0.0
rmApplied unpow20.0
Applied distribute-lft-out0.0
Applied associate-*l*0.0
Final simplification0.0
herbie shell --seed 2020046 +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))))