\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 r92585 = a;
double r92586 = b;
double r92587 = r92585 + r92586;
double r92588 = r92587 * r92587;
return r92588;
}
double f(double a, double b) {
double r92589 = a;
double r92590 = 2.0;
double r92591 = pow(r92589, r92590);
double r92592 = b;
double r92593 = r92589 * r92592;
double r92594 = r92590 * r92593;
double r92595 = pow(r92592, r92590);
double r92596 = r92594 + r92595;
double r92597 = r92591 + r92596;
return r92597;
}




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 associate-*r/0.1
Simplified0.1
Taylor expanded around 0 0.0
Final simplification0.0
herbie shell --seed 2019322
(FPCore (a b)
:name "Expression 4, p15"
:precision binary64
:pre (and (<= 5 a 10) (<= 0.0 b 1e-3))
:herbie-target
(+ (+ (+ (* b a) (* b b)) (* b a)) (* a a))
(* (+ a b) (+ a b)))