\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(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(\left(\left(a \cdot a\right) \cdot \left(\sqrt[3]{1 + a} \cdot \sqrt[3]{1 + a}\right)\right) \cdot \sqrt[3]{1 + a} + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right)\right) - 1double f(double a, double b) {
double r465158 = a;
double r465159 = r465158 * r465158;
double r465160 = b;
double r465161 = r465160 * r465160;
double r465162 = r465159 + r465161;
double r465163 = 2.0;
double r465164 = pow(r465162, r465163);
double r465165 = 4.0;
double r465166 = 1.0;
double r465167 = r465166 + r465158;
double r465168 = r465159 * r465167;
double r465169 = 3.0;
double r465170 = r465169 * r465158;
double r465171 = r465166 - r465170;
double r465172 = r465161 * r465171;
double r465173 = r465168 + r465172;
double r465174 = r465165 * r465173;
double r465175 = r465164 + r465174;
double r465176 = r465175 - r465166;
return r465176;
}
double f(double a, double b) {
double r465177 = a;
double r465178 = r465177 * r465177;
double r465179 = b;
double r465180 = r465179 * r465179;
double r465181 = r465178 + r465180;
double r465182 = 2.0;
double r465183 = pow(r465181, r465182);
double r465184 = 4.0;
double r465185 = 1.0;
double r465186 = r465185 + r465177;
double r465187 = cbrt(r465186);
double r465188 = r465187 * r465187;
double r465189 = r465178 * r465188;
double r465190 = r465189 * r465187;
double r465191 = 3.0;
double r465192 = r465191 * r465177;
double r465193 = r465185 - r465192;
double r465194 = r465180 * r465193;
double r465195 = r465190 + r465194;
double r465196 = r465184 * r465195;
double r465197 = r465183 + r465196;
double r465198 = r465197 - r465185;
return r465198;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
rmApplied add-cube-cbrt0.2
Applied associate-*r*0.2
Final simplification0.2
herbie shell --seed 2020036 +o rules:numerics
(FPCore (a b)
:name "Bouland and Aaronson, Equation (25)"
:precision binary64
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (+ 1 a)) (* (* b b) (- 1 (* 3 a)))))) 1))