\left(a + b\right) \cdot \left(a + b\right)
a \cdot \left(b + a\right) + \left(b + a\right) \cdot b
double f(double a, double b) {
double r4449733 = a;
double r4449734 = b;
double r4449735 = r4449733 + r4449734;
double r4449736 = r4449735 * r4449735;
return r4449736;
}
double f(double a, double b) {
double r4449737 = a;
double r4449738 = b;
double r4449739 = r4449738 + r4449737;
double r4449740 = r4449737 * r4449739;
double r4449741 = r4449739 * r4449738;
double r4449742 = r4449740 + r4449741;
return r4449742;
}




Bits error versus a




Bits error versus b
Results
| Original | 0.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.0
rmApplied distribute-lft-in0.0
Final simplification0.0
herbie shell --seed 2019158
(FPCore (a b)
:name "Expression 4, p15"
:pre (and (<= 5 a 10) (<= 0 b 0.001))
:herbie-target
(+ (+ (+ (* b a) (* b b)) (* b a)) (* a a))
(* (+ a b) (+ a b)))