\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 r84911 = a;
double r84912 = b;
double r84913 = r84911 + r84912;
double r84914 = r84913 * r84913;
return r84914;
}
double f(double a, double b) {
double r84915 = a;
double r84916 = 2.0;
double r84917 = pow(r84915, r84916);
double r84918 = b;
double r84919 = r84915 * r84918;
double r84920 = r84916 * r84919;
double r84921 = pow(r84918, r84916);
double r84922 = r84920 + r84921;
double r84923 = r84917 + r84922;
return r84923;
}




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