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 r542368 = 2.0;
double r542369 = x;
double r542370 = r542369 * r542369;
double r542371 = y;
double r542372 = r542369 * r542371;
double r542373 = r542370 + r542372;
double r542374 = r542368 * r542373;
return r542374;
}
double f(double x, double y) {
double r542375 = x;
double r542376 = y;
double r542377 = r542375 + r542376;
double r542378 = 2.0;
double r542379 = r542377 * r542378;
double r542380 = r542375 * r542379;
return r542380;
}




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