\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 r83799 = a;
double r83800 = b;
double r83801 = r83799 + r83800;
double r83802 = r83801 * r83801;
return r83802;
}
double f(double a, double b) {
double r83803 = a;
double r83804 = 2.0;
double r83805 = pow(r83803, r83804);
double r83806 = b;
double r83807 = r83803 * r83806;
double r83808 = r83804 * r83807;
double r83809 = pow(r83806, r83804);
double r83810 = r83808 + r83809;
double r83811 = r83805 + r83810;
return r83811;
}




Bits error versus a




Bits error versus b
Results
| Original | 0.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.0
rmApplied flip-+0.0
Applied flip3-+0.3
Applied frac-times0.3
Simplified0.3
Simplified0.3
Taylor expanded around 0 0.0
Final simplification0.0
herbie shell --seed 2020036
(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)))