double f(double a, double b) {
double r47875733 = a;
double r47875734 = r47875733 * r47875733;
double r47875735 = b;
double r47875736 = r47875735 * r47875735;
double r47875737 = r47875734 + r47875736;
double r47875738 = 2.0;
double r47875739 = pow(r47875737, r47875738);
double r47875740 = 4.0;
double r47875741 = 1.0;
double r47875742 = r47875741 - r47875733;
double r47875743 = r47875734 * r47875742;
double r47875744 = 3.0;
double r47875745 = r47875744 + r47875733;
double r47875746 = r47875736 * r47875745;
double r47875747 = r47875743 + r47875746;
double r47875748 = r47875740 * r47875747;
double r47875749 = r47875739 + r47875748;
double r47875750 = r47875749 - r47875741;
return r47875750;
}
double f(double a, double b) {
double r47875751 = b;
double r47875752 = r47875751 * r47875751;
double r47875753 = 3.0;
double r47875754 = a;
double r47875755 = r47875753 + r47875754;
double r47875756 = r47875752 * r47875755;
double r47875757 = r47875754 * r47875754;
double r47875758 = 1.0;
double r47875759 = r47875758 - r47875754;
double r47875760 = r47875757 * r47875759;
double r47875761 = r47875756 + r47875760;
double r47875762 = 4.0;
double r47875763 = r47875761 * r47875762;
double r47875764 = r47875757 + r47875752;
double r47875765 = sqrt(r47875764);
double r47875766 = pow(r47875765, r47875762);
double r47875767 = r47875758 - r47875766;
double r47875768 = r47875763 - r47875767;
return r47875768;
}
\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(3 + a\right)\right)\right) - 1\left(\left(b \cdot b\right) \cdot \left(3 + a\right) + \left(a \cdot a\right) \cdot \left(1 - 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-*r*0.1
rmApplied pow10.1
Applied add-sqr-sqrt0.1
Applied pow30.1
Applied pow-prod-up0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019102
(FPCore (a b)
:name "Bouland and Aaronson, Equation (24)"
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1))