\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 r131803 = a;
double r131804 = b;
double r131805 = r131803 + r131804;
double r131806 = r131805 * r131805;
return r131806;
}
double f(double a, double b) {
double r131807 = a;
double r131808 = 2.0;
double r131809 = pow(r131807, r131808);
double r131810 = b;
double r131811 = r131807 * r131810;
double r131812 = r131808 * r131811;
double r131813 = pow(r131810, r131808);
double r131814 = r131812 + r131813;
double r131815 = r131809 + r131814;
return r131815;
}




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 flip3-+0.3
Applied frac-times0.3
Simplified0.3
Simplified0.3
Taylor expanded around 0 0.0
Final simplification0.0
herbie shell --seed 2020033
(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)))