\left(a + b\right) \cdot \left(a + b\right)
a \cdot a + b \cdot \left(b + 2 \cdot a\right)
double f(double a, double b) {
double r3373678 = a;
double r3373679 = b;
double r3373680 = r3373678 + r3373679;
double r3373681 = r3373680 * r3373680;
return r3373681;
}
double f(double a, double b) {
double r3373682 = a;
double r3373683 = r3373682 * r3373682;
double r3373684 = b;
double r3373685 = 2.0;
double r3373686 = r3373685 * r3373682;
double r3373687 = r3373684 + r3373686;
double r3373688 = r3373684 * r3373687;
double r3373689 = r3373683 + r3373688;
return r3373689;
}




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
Taylor expanded around -inf 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019135
(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)))