\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1\left(4 \cdot \left(b \cdot b\right) + {\left(\sqrt{b \cdot b + a \cdot a}\right)}^{4}\right) - 1double f(double a, double b) {
double r82936197 = a;
double r82936198 = r82936197 * r82936197;
double r82936199 = b;
double r82936200 = r82936199 * r82936199;
double r82936201 = r82936198 + r82936200;
double r82936202 = 2.0;
double r82936203 = pow(r82936201, r82936202);
double r82936204 = 4.0;
double r82936205 = r82936204 * r82936200;
double r82936206 = r82936203 + r82936205;
double r82936207 = 1.0;
double r82936208 = r82936206 - r82936207;
return r82936208;
}
double f(double a, double b) {
double r82936209 = 4.0;
double r82936210 = b;
double r82936211 = r82936210 * r82936210;
double r82936212 = r82936209 * r82936211;
double r82936213 = a;
double r82936214 = r82936213 * r82936213;
double r82936215 = r82936211 + r82936214;
double r82936216 = sqrt(r82936215);
double r82936217 = pow(r82936216, r82936209);
double r82936218 = r82936212 + r82936217;
double r82936219 = 1.0;
double r82936220 = r82936218 - r82936219;
return r82936220;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
Simplified0.2
rmApplied add-sqr-sqrt0.2
Applied associate-*l*0.1
rmApplied add-sqr-sqrt0.1
Applied cube-unmult0.1
Applied pow10.1
Applied pow-prod-up0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019125
(FPCore (a b)
:name "Bouland and Aaronson, Equation (26)"
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (* b b))) 1))