\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1double f(double a, double b) {
double r283114 = a;
double r283115 = r283114 * r283114;
double r283116 = b;
double r283117 = r283116 * r283116;
double r283118 = r283115 + r283117;
double r283119 = 2.0;
double r283120 = pow(r283118, r283119);
double r283121 = 4.0;
double r283122 = r283121 * r283117;
double r283123 = r283120 + r283122;
double r283124 = 1.0;
double r283125 = r283123 - r283124;
return r283125;
}
double f(double a, double b) {
double r283126 = a;
double r283127 = r283126 * r283126;
double r283128 = b;
double r283129 = r283128 * r283128;
double r283130 = r283127 + r283129;
double r283131 = 2.0;
double r283132 = pow(r283130, r283131);
double r283133 = 4.0;
double r283134 = r283133 * r283129;
double r283135 = r283132 + r283134;
double r283136 = 1.0;
double r283137 = r283135 - r283136;
return r283137;
}



Bits error versus a



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