\left(x \cdot x + \left(x \cdot 2\right) \cdot y\right) + y \cdot y
\mathsf{fma}\left(\mathsf{fma}\left(y, 2, x\right), x, y \cdot y\right)double f(double x, double y) {
double r783710 = x;
double r783711 = r783710 * r783710;
double r783712 = 2.0;
double r783713 = r783710 * r783712;
double r783714 = y;
double r783715 = r783713 * r783714;
double r783716 = r783711 + r783715;
double r783717 = r783714 * r783714;
double r783718 = r783716 + r783717;
return r783718;
}
double f(double x, double y) {
double r783719 = y;
double r783720 = 2.0;
double r783721 = x;
double r783722 = fma(r783719, r783720, r783721);
double r783723 = r783719 * r783719;
double r783724 = fma(r783722, r783721, r783723);
return r783724;
}




Bits error versus x




Bits error versus y
| Original | 0.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019354 +o rules:numerics
(FPCore (x y)
:name "Examples.Basics.ProofTests:f4 from sbv-4.4"
:precision binary64
:herbie-target
(+ (* x x) (+ (* y y) (* (* x y) 2)))
(+ (+ (* x x) (* (* x 2) y)) (* y y)))