\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\mathsf{fma}\left(\sqrt{{\left(a \cdot a + b \cdot b\right)}^{2}}, \left(\sqrt{\sqrt{\sqrt[3]{{\left(a \cdot a + b \cdot b\right)}^{2}} \cdot \sqrt[3]{{\left(a \cdot a + b \cdot b\right)}^{2}}}} \cdot \sqrt{\sqrt{\sqrt[3]{{\left(a \cdot a + b \cdot b\right)}^{2}}}}\right) \cdot \sqrt{\sqrt{{\left(a \cdot a + b \cdot b\right)}^{2}}}, \left(\left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right) + \left(1 + a\right) \cdot \left(a \cdot a\right)\right) \cdot 4\right) - 1double f(double a, double b) {
double r6342174 = a;
double r6342175 = r6342174 * r6342174;
double r6342176 = b;
double r6342177 = r6342176 * r6342176;
double r6342178 = r6342175 + r6342177;
double r6342179 = 2.0;
double r6342180 = pow(r6342178, r6342179);
double r6342181 = 4.0;
double r6342182 = 1.0;
double r6342183 = r6342182 + r6342174;
double r6342184 = r6342175 * r6342183;
double r6342185 = 3.0;
double r6342186 = r6342185 * r6342174;
double r6342187 = r6342182 - r6342186;
double r6342188 = r6342177 * r6342187;
double r6342189 = r6342184 + r6342188;
double r6342190 = r6342181 * r6342189;
double r6342191 = r6342180 + r6342190;
double r6342192 = r6342191 - r6342182;
return r6342192;
}
double f(double a, double b) {
double r6342193 = a;
double r6342194 = r6342193 * r6342193;
double r6342195 = b;
double r6342196 = r6342195 * r6342195;
double r6342197 = r6342194 + r6342196;
double r6342198 = 2.0;
double r6342199 = pow(r6342197, r6342198);
double r6342200 = sqrt(r6342199);
double r6342201 = cbrt(r6342199);
double r6342202 = r6342201 * r6342201;
double r6342203 = sqrt(r6342202);
double r6342204 = sqrt(r6342203);
double r6342205 = sqrt(r6342201);
double r6342206 = sqrt(r6342205);
double r6342207 = r6342204 * r6342206;
double r6342208 = sqrt(r6342200);
double r6342209 = r6342207 * r6342208;
double r6342210 = 1.0;
double r6342211 = 3.0;
double r6342212 = r6342211 * r6342193;
double r6342213 = r6342210 - r6342212;
double r6342214 = r6342196 * r6342213;
double r6342215 = r6342210 + r6342193;
double r6342216 = r6342215 * r6342194;
double r6342217 = r6342214 + r6342216;
double r6342218 = 4.0;
double r6342219 = r6342217 * r6342218;
double r6342220 = fma(r6342200, r6342209, r6342219);
double r6342221 = r6342220 - r6342210;
return r6342221;
}



Bits error versus a



Bits error versus b
Initial program 0.2
rmApplied add-sqr-sqrt0.2
Applied fma-def0.2
rmApplied add-sqr-sqrt0.2
Applied sqrt-prod0.2
rmApplied add-cube-cbrt0.3
Applied sqrt-prod0.3
Applied sqrt-prod0.3
Final simplification0.3
herbie shell --seed 2019170 +o rules:numerics
(FPCore (a b)
:name "Bouland and Aaronson, Equation (25)"
(- (+ (pow (+ (* a a) (* b b)) 2.0) (* 4.0 (+ (* (* a a) (+ 1.0 a)) (* (* b b) (- 1.0 (* 3.0 a)))))) 1.0))