\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\sqrt{{\left(a \cdot a + b \cdot b\right)}^{2} + \left(\left(a + 3\right) \cdot \left(b \cdot b\right) + \left(a \cdot a\right) \cdot \left(1 - a\right)\right) \cdot 4} \cdot \sqrt{{\left(a \cdot a + b \cdot b\right)}^{2} + \left(\left(a + 3\right) \cdot \left(b \cdot b\right) + \left(a \cdot a\right) \cdot \left(1 - a\right)\right) \cdot 4} - 1double f(double a, double b) {
double r8883709 = a;
double r8883710 = r8883709 * r8883709;
double r8883711 = b;
double r8883712 = r8883711 * r8883711;
double r8883713 = r8883710 + r8883712;
double r8883714 = 2.0;
double r8883715 = pow(r8883713, r8883714);
double r8883716 = 4.0;
double r8883717 = 1.0;
double r8883718 = r8883717 - r8883709;
double r8883719 = r8883710 * r8883718;
double r8883720 = 3.0;
double r8883721 = r8883720 + r8883709;
double r8883722 = r8883712 * r8883721;
double r8883723 = r8883719 + r8883722;
double r8883724 = r8883716 * r8883723;
double r8883725 = r8883715 + r8883724;
double r8883726 = r8883725 - r8883717;
return r8883726;
}
double f(double a, double b) {
double r8883727 = a;
double r8883728 = r8883727 * r8883727;
double r8883729 = b;
double r8883730 = r8883729 * r8883729;
double r8883731 = r8883728 + r8883730;
double r8883732 = 2.0;
double r8883733 = pow(r8883731, r8883732);
double r8883734 = 3.0;
double r8883735 = r8883727 + r8883734;
double r8883736 = r8883735 * r8883730;
double r8883737 = 1.0;
double r8883738 = r8883737 - r8883727;
double r8883739 = r8883728 * r8883738;
double r8883740 = r8883736 + r8883739;
double r8883741 = 4.0;
double r8883742 = r8883740 * r8883741;
double r8883743 = r8883733 + r8883742;
double r8883744 = sqrt(r8883743);
double r8883745 = r8883744 * r8883744;
double r8883746 = r8883745 - r8883737;
return r8883746;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
rmApplied add-sqr-sqrt0.2
Final simplification0.2
herbie shell --seed 2019138
(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))