\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 r430966 = x;
double r430967 = r430966 * r430966;
double r430968 = y;
double r430969 = r430968 * r430968;
double r430970 = r430967 + r430969;
double r430971 = r430970 + r430969;
double r430972 = r430971 + r430969;
return r430972;
}
double f(double x, double y) {
double r430973 = x;
double r430974 = r430973 * r430973;
double r430975 = 3.0;
double r430976 = y;
double r430977 = r430975 * r430976;
double r430978 = r430977 * r430976;
double r430979 = r430974 + r430978;
return r430979;
}




Bits error versus x




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