\left(a + b\right) \cdot \left(a + b\right)
{a}^{2} + \left(2 \cdot \left(a \cdot b\right) + {b}^{2}\right)double f(double a, double b) {
double r79453 = a;
double r79454 = b;
double r79455 = r79453 + r79454;
double r79456 = r79455 * r79455;
return r79456;
}
double f(double a, double b) {
double r79457 = a;
double r79458 = 2.0;
double r79459 = pow(r79457, r79458);
double r79460 = b;
double r79461 = r79457 * r79460;
double r79462 = r79458 * r79461;
double r79463 = pow(r79460, r79458);
double r79464 = r79462 + r79463;
double r79465 = r79459 + r79464;
return r79465;
}




Bits error versus a




Bits error versus b
Results
| Original | 0.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.0
rmApplied flip3-+0.3
Applied flip3-+0.5
Applied frac-times0.8
Simplified0.8
Taylor expanded around 0 0.0
Final simplification0.0
herbie shell --seed 2020021
(FPCore (a b)
:name "Expression 4, p15"
:precision binary64
:pre (and (<= 5 a 10) (<= 0.0 b 0.001))
:herbie-target
(+ (+ (+ (* b a) (* b b)) (* b a)) (* a a))
(* (+ a b) (+ a b)))