\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(\left(a \cdot a\right) \cdot \left(1 + a\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right)\right) - 1\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(\left(\left(a \cdot a\right) \cdot 1 + {a}^{3}\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right)\right) - 1double f(double a, double b) {
double r216030 = a;
double r216031 = r216030 * r216030;
double r216032 = b;
double r216033 = r216032 * r216032;
double r216034 = r216031 + r216033;
double r216035 = 2.0;
double r216036 = pow(r216034, r216035);
double r216037 = 4.0;
double r216038 = 1.0;
double r216039 = r216038 + r216030;
double r216040 = r216031 * r216039;
double r216041 = 3.0;
double r216042 = r216041 * r216030;
double r216043 = r216038 - r216042;
double r216044 = r216033 * r216043;
double r216045 = r216040 + r216044;
double r216046 = r216037 * r216045;
double r216047 = r216036 + r216046;
double r216048 = r216047 - r216038;
return r216048;
}
double f(double a, double b) {
double r216049 = a;
double r216050 = r216049 * r216049;
double r216051 = b;
double r216052 = r216051 * r216051;
double r216053 = r216050 + r216052;
double r216054 = 2.0;
double r216055 = pow(r216053, r216054);
double r216056 = 4.0;
double r216057 = 1.0;
double r216058 = r216050 * r216057;
double r216059 = 3.0;
double r216060 = pow(r216049, r216059);
double r216061 = r216058 + r216060;
double r216062 = 3.0;
double r216063 = r216062 * r216049;
double r216064 = r216057 - r216063;
double r216065 = r216052 * r216064;
double r216066 = r216061 + r216065;
double r216067 = r216056 * r216066;
double r216068 = r216055 + r216067;
double r216069 = r216068 - r216057;
return r216069;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
rmApplied distribute-lft-in0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2020056
(FPCore (a b)
:name "Bouland and Aaronson, Equation (25)"
:precision binary64
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (+ 1 a)) (* (* b b) (- 1 (* 3 a)))))) 1))