\left(\left(x \cdot x + y \cdot y\right) + y \cdot y\right) + y \cdot y
y \cdot \left(3 \cdot y\right) + x \cdot x
double f(double x, double y) {
double r539767 = x;
double r539768 = r539767 * r539767;
double r539769 = y;
double r539770 = r539769 * r539769;
double r539771 = r539768 + r539770;
double r539772 = r539771 + r539770;
double r539773 = r539772 + r539770;
return r539773;
}
double f(double x, double y) {
double r539774 = y;
double r539775 = 3.0;
double r539776 = r539775 * r539774;
double r539777 = r539774 * r539776;
double r539778 = x;
double r539779 = r539778 * r539778;
double r539780 = r539777 + r539779;
return r539780;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.1 |
|---|---|
| Target | 0.1 |
| Herbie | 0.1 |
Initial program 0.1
Simplified0.1
Taylor expanded around 0 0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2020045
(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)))