\left(x + y\right) \cdot \left(x + y\right)
x \cdot x + y \cdot \left(x + \left(x + y\right)\right)
double f(double x, double y) {
double r674241 = x;
double r674242 = y;
double r674243 = r674241 + r674242;
double r674244 = r674243 * r674243;
return r674244;
}
double f(double x, double y) {
double r674245 = x;
double r674246 = r674245 * r674245;
double r674247 = y;
double r674248 = r674245 + r674247;
double r674249 = r674245 + r674248;
double r674250 = r674247 * r674249;
double r674251 = r674246 + r674250;
return r674251;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.0
rmApplied distribute-lft-in0.0
Simplified0.0
rmApplied distribute-lft-in0.0
Applied associate-+l+0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020046 +o rules:numerics
(FPCore (x y)
:name "Examples.Basics.BasicTests:f3 from sbv-4.4"
:precision binary64
:herbie-target
(+ (* x x) (+ (* y y) (* 2 (* y x))))
(* (+ x y) (+ x y)))