\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1\left(\left(\sqrt[3]{\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1} \cdot \sqrt[3]{\sqrt{{\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)} + \sqrt{1}}\right) \cdot \sqrt[3]{\sqrt{{\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)} - \sqrt{1}}\right) \cdot \sqrt[3]{\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1}double f(double a, double b) {
double r671 = a;
double r672 = r671 * r671;
double r673 = b;
double r674 = r673 * r673;
double r675 = r672 + r674;
double r676 = 2.0;
double r677 = pow(r675, r676);
double r678 = 4.0;
double r679 = r678 * r674;
double r680 = r677 + r679;
double r681 = 1.0;
double r682 = r680 - r681;
return r682;
}
double f(double a, double b) {
double r683 = a;
double r684 = r683 * r683;
double r685 = b;
double r686 = r685 * r685;
double r687 = r684 + r686;
double r688 = 2.0;
double r689 = pow(r687, r688);
double r690 = 4.0;
double r691 = r690 * r686;
double r692 = r689 + r691;
double r693 = 1.0;
double r694 = r692 - r693;
double r695 = cbrt(r694);
double r696 = sqrt(r692);
double r697 = sqrt(r693);
double r698 = r696 + r697;
double r699 = cbrt(r698);
double r700 = r695 * r699;
double r701 = r696 - r697;
double r702 = cbrt(r701);
double r703 = r700 * r702;
double r704 = r703 * r695;
return r704;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
rmApplied add-cube-cbrt0.5
rmApplied add-sqr-sqrt0.5
Applied add-sqr-sqrt0.5
Applied difference-of-squares0.5
Applied cbrt-prod0.5
Applied associate-*r*0.5
Final simplification0.5
herbie shell --seed 2020025
(FPCore (a b)
:name "Bouland and Aaronson, Equation (26)"
:precision binary64
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (* b b))) 1))