\left(\left(x \cdot x + y \cdot y\right) + y \cdot y\right) + y \cdot y
x \cdot x + \left(3 \cdot y\right) \cdot y
double f(double x, double y) {
double r615330 = x;
double r615331 = r615330 * r615330;
double r615332 = y;
double r615333 = r615332 * r615332;
double r615334 = r615331 + r615333;
double r615335 = r615334 + r615333;
double r615336 = r615335 + r615333;
return r615336;
}
double f(double x, double y) {
double r615337 = x;
double r615338 = r615337 * r615337;
double r615339 = 3.0;
double r615340 = y;
double r615341 = r615339 * r615340;
double r615342 = r615341 * r615340;
double r615343 = r615338 + r615342;
return r615343;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.1 |
|---|---|
| Target | 0.1 |
| Herbie | 0.1 |
Initial program 0.1
Simplified0.1
rmApplied associate-*r*0.1
Final simplification0.1
herbie shell --seed 2019209
(FPCore (x y)
:name "Linear.Quaternion:$c/ from linear-1.19.1.3, E"
:precision binary64
:herbie-target
(+ (* x x) (* y (+ y (+ y y))))
(+ (+ (+ (* x x) (* y y)) (* y y)) (* y y)))