2 \cdot \left(x \cdot x + x \cdot y\right)
\left(x \cdot \left(x + y\right)\right) \cdot 2
double f(double x, double y) {
double r683838 = 2.0;
double r683839 = x;
double r683840 = r683839 * r683839;
double r683841 = y;
double r683842 = r683839 * r683841;
double r683843 = r683840 + r683842;
double r683844 = r683838 * r683843;
return r683844;
}
double f(double x, double y) {
double r683845 = x;
double r683846 = y;
double r683847 = r683845 + r683846;
double r683848 = r683845 * r683847;
double r683849 = 2.0;
double r683850 = r683848 * r683849;
return r683850;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020042 +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))))