double f(double a, double b) {
double r16713000 = a;
double r16713001 = r16713000 * r16713000;
double r16713002 = b;
double r16713003 = r16713002 * r16713002;
double r16713004 = r16713001 + r16713003;
double r16713005 = 2.0;
double r16713006 = pow(r16713004, r16713005);
double r16713007 = 4.0;
double r16713008 = 1.0;
double r16713009 = r16713008 + r16713000;
double r16713010 = r16713001 * r16713009;
double r16713011 = 3.0;
double r16713012 = r16713011 * r16713000;
double r16713013 = r16713008 - r16713012;
double r16713014 = r16713003 * r16713013;
double r16713015 = r16713010 + r16713014;
double r16713016 = r16713007 * r16713015;
double r16713017 = r16713006 + r16713016;
double r16713018 = r16713017 - r16713008;
return r16713018;
}
double f(double a, double b) {
double r16713019 = b;
double r16713020 = 1.0;
double r16713021 = a;
double r16713022 = 3.0;
double r16713023 = r16713021 * r16713022;
double r16713024 = r16713020 - r16713023;
double r16713025 = r16713019 * r16713024;
double r16713026 = r16713019 * r16713025;
double r16713027 = r16713021 * r16713021;
double r16713028 = r16713027 + r16713021;
double r16713029 = r16713021 * r16713028;
double r16713030 = r16713026 + r16713029;
double r16713031 = 4.0;
double r16713032 = r16713030 * r16713031;
double r16713033 = r16713019 * r16713019;
double r16713034 = r16713027 + r16713033;
double r16713035 = sqrt(r16713034);
double r16713036 = pow(r16713035, r16713031);
double r16713037 = r16713020 - r16713036;
double r16713038 = r16713032 - r16713037;
return r16713038;
}
\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(b \cdot \left(b \cdot \left(1 - a \cdot 3\right)\right) + a \cdot \left(a \cdot a + a\right)\right) \cdot 4 - \left(1 - {\left(\sqrt{a \cdot a + b \cdot b}\right)}^{4}\right)


Bits error versus a



Bits error versus b
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 2019102
(FPCore (a b)
:name "Bouland and Aaronson, Equation (25)"
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (+ 1 a)) (* (* b b) (- 1 (* 3 a)))))) 1))