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 r707350 = 2.0;
double r707351 = x;
double r707352 = r707351 * r707351;
double r707353 = y;
double r707354 = r707351 * r707353;
double r707355 = r707352 + r707354;
double r707356 = r707350 * r707355;
return r707356;
}
double f(double x, double y) {
double r707357 = x;
double r707358 = y;
double r707359 = r707357 + r707358;
double r707360 = 2.0;
double r707361 = r707359 * r707360;
double r707362 = r707357 * r707361;
return r707362;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.1 |
Initial program 0.0
Simplified0.0
rmApplied associate-*l*0.1
Final simplification0.1
herbie shell --seed 2020035
(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))))