\left(\left(x \cdot x + y \cdot y\right) + y \cdot y\right) + y \cdot y
3 \cdot \left(y \cdot y\right) + x \cdot x
double f(double x, double y) {
double r25493025 = x;
double r25493026 = r25493025 * r25493025;
double r25493027 = y;
double r25493028 = r25493027 * r25493027;
double r25493029 = r25493026 + r25493028;
double r25493030 = r25493029 + r25493028;
double r25493031 = r25493030 + r25493028;
return r25493031;
}
double f(double x, double y) {
double r25493032 = 3.0;
double r25493033 = y;
double r25493034 = r25493033 * r25493033;
double r25493035 = r25493032 * r25493034;
double r25493036 = x;
double r25493037 = r25493036 * r25493036;
double r25493038 = r25493035 + r25493037;
return r25493038;
}




Bits error versus x




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