\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(\sqrt{a \cdot a + b \cdot b}\right)}^{4} + \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\right) - 1double f(double a, double b) {
double r13307597 = a;
double r13307598 = r13307597 * r13307597;
double r13307599 = b;
double r13307600 = r13307599 * r13307599;
double r13307601 = r13307598 + r13307600;
double r13307602 = 2.0;
double r13307603 = pow(r13307601, r13307602);
double r13307604 = 4.0;
double r13307605 = 1.0;
double r13307606 = r13307605 + r13307597;
double r13307607 = r13307598 * r13307606;
double r13307608 = 3.0;
double r13307609 = r13307608 * r13307597;
double r13307610 = r13307605 - r13307609;
double r13307611 = r13307600 * r13307610;
double r13307612 = r13307607 + r13307611;
double r13307613 = r13307604 * r13307612;
double r13307614 = r13307603 + r13307613;
double r13307615 = r13307614 - r13307605;
return r13307615;
}
double f(double a, double b) {
double r13307616 = a;
double r13307617 = r13307616 * r13307616;
double r13307618 = b;
double r13307619 = r13307618 * r13307618;
double r13307620 = r13307617 + r13307619;
double r13307621 = sqrt(r13307620);
double r13307622 = 4.0;
double r13307623 = pow(r13307621, r13307622);
double r13307624 = 1.0;
double r13307625 = r13307616 + r13307624;
double r13307626 = r13307617 * r13307625;
double r13307627 = 3.0;
double r13307628 = r13307627 * r13307616;
double r13307629 = r13307624 - r13307628;
double r13307630 = r13307619 * r13307629;
double r13307631 = r13307626 + r13307630;
double r13307632 = r13307631 * r13307622;
double r13307633 = r13307623 + r13307632;
double r13307634 = r13307633 - r13307624;
return r13307634;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
rmApplied add-sqr-sqrt0.2
Applied unpow-prod-down0.2
rmApplied pow-prod-up0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019112
(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))