\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(\sqrt[3]{{\left(a \cdot a + b \cdot b\right)}^{2}} \cdot \sqrt[3]{{\left(a \cdot a + b \cdot b\right)}^{2}}\right) \cdot \sqrt[3]{{\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) - 1double f(double a, double b) {
double r376125 = a;
double r376126 = r376125 * r376125;
double r376127 = b;
double r376128 = r376127 * r376127;
double r376129 = r376126 + r376128;
double r376130 = 2.0;
double r376131 = pow(r376129, r376130);
double r376132 = 4.0;
double r376133 = 1.0;
double r376134 = r376133 - r376125;
double r376135 = r376126 * r376134;
double r376136 = 3.0;
double r376137 = r376136 + r376125;
double r376138 = r376128 * r376137;
double r376139 = r376135 + r376138;
double r376140 = r376132 * r376139;
double r376141 = r376131 + r376140;
double r376142 = r376141 - r376133;
return r376142;
}
double f(double a, double b) {
double r376143 = a;
double r376144 = r376143 * r376143;
double r376145 = b;
double r376146 = r376145 * r376145;
double r376147 = r376144 + r376146;
double r376148 = 2.0;
double r376149 = pow(r376147, r376148);
double r376150 = cbrt(r376149);
double r376151 = r376150 * r376150;
double r376152 = r376151 * r376150;
double r376153 = 4.0;
double r376154 = 1.0;
double r376155 = r376154 - r376143;
double r376156 = r376144 * r376155;
double r376157 = 3.0;
double r376158 = r376157 + r376143;
double r376159 = r376146 * r376158;
double r376160 = r376156 + r376159;
double r376161 = r376153 * r376160;
double r376162 = r376152 + r376161;
double r376163 = r376162 - r376154;
return r376163;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
rmApplied add-cube-cbrt0.5
Final simplification0.5
herbie shell --seed 2019323
(FPCore (a b)
:name "Bouland and Aaronson, Equation (24)"
:precision binary64
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1))