\left(a + b\right) \cdot \left(a + b\right)
\left(a + b\right) \cdot a + \left(a + b\right) \cdot b
double f(double a, double b) {
double r58174 = a;
double r58175 = b;
double r58176 = r58174 + r58175;
double r58177 = r58176 * r58176;
return r58177;
}
double f(double a, double b) {
double r58178 = a;
double r58179 = b;
double r58180 = r58178 + r58179;
double r58181 = r58180 * r58178;
double r58182 = r58180 * r58179;
double r58183 = r58181 + r58182;
return r58183;
}




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 2019303
(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)))