\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\sqrt{{\left(a \cdot a + b \cdot b\right)}^{2} + \left(\left(a \cdot a\right) \cdot \left(a + 1\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right) \cdot 4} \cdot \sqrt{{\left(a \cdot a + b \cdot b\right)}^{2} + \left(\left(a \cdot a\right) \cdot \left(a + 1\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right) \cdot 4} - 1double f(double a, double b) {
double r10710159 = a;
double r10710160 = r10710159 * r10710159;
double r10710161 = b;
double r10710162 = r10710161 * r10710161;
double r10710163 = r10710160 + r10710162;
double r10710164 = 2.0;
double r10710165 = pow(r10710163, r10710164);
double r10710166 = 4.0;
double r10710167 = 1.0;
double r10710168 = r10710167 + r10710159;
double r10710169 = r10710160 * r10710168;
double r10710170 = 3.0;
double r10710171 = r10710170 * r10710159;
double r10710172 = r10710167 - r10710171;
double r10710173 = r10710162 * r10710172;
double r10710174 = r10710169 + r10710173;
double r10710175 = r10710166 * r10710174;
double r10710176 = r10710165 + r10710175;
double r10710177 = r10710176 - r10710167;
return r10710177;
}
double f(double a, double b) {
double r10710178 = a;
double r10710179 = r10710178 * r10710178;
double r10710180 = b;
double r10710181 = r10710180 * r10710180;
double r10710182 = r10710179 + r10710181;
double r10710183 = 2.0;
double r10710184 = pow(r10710182, r10710183);
double r10710185 = 1.0;
double r10710186 = r10710178 + r10710185;
double r10710187 = r10710179 * r10710186;
double r10710188 = 3.0;
double r10710189 = r10710188 * r10710178;
double r10710190 = r10710185 - r10710189;
double r10710191 = r10710181 * r10710190;
double r10710192 = r10710187 + r10710191;
double r10710193 = 4.0;
double r10710194 = r10710192 * r10710193;
double r10710195 = r10710184 + r10710194;
double r10710196 = sqrt(r10710195);
double r10710197 = r10710196 * r10710196;
double r10710198 = r10710197 - r10710185;
return r10710198;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
rmApplied add-sqr-sqrt0.2
Final simplification0.2
herbie shell --seed 2019192
(FPCore (a b)
:name "Bouland and Aaronson, Equation (25)"
(- (+ (pow (+ (* a a) (* b b)) 2.0) (* 4.0 (+ (* (* a a) (+ 1.0 a)) (* (* b b) (- 1.0 (* 3.0 a)))))) 1.0))