\left(x \cdot x + \left(x \cdot 2\right) \cdot y\right) + y \cdot y
\mathsf{fma}\left(y, \mathsf{fma}\left(2, x, y\right), {x}^{2}\right)double f(double x, double y) {
double r673983 = x;
double r673984 = r673983 * r673983;
double r673985 = 2.0;
double r673986 = r673983 * r673985;
double r673987 = y;
double r673988 = r673986 * r673987;
double r673989 = r673984 + r673988;
double r673990 = r673987 * r673987;
double r673991 = r673989 + r673990;
return r673991;
}
double f(double x, double y) {
double r673992 = y;
double r673993 = 2.0;
double r673994 = x;
double r673995 = fma(r673993, r673994, r673992);
double r673996 = 2.0;
double r673997 = pow(r673994, r673996);
double r673998 = fma(r673992, r673995, r673997);
return r673998;
}




Bits error versus x




Bits error versus y
| Original | 0.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.0
Taylor expanded around 0 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020018 +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)))