\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({b}^{4} + \left({a}^{4} + e^{\log \left(\left(\left(a \cdot b\right) \cdot 2\right) \cdot \left(a \cdot b\right)\right)}\right)\right) - \left(1 - \left(\left(\left(3 + a\right) \cdot \left(b \cdot b\right) + a \cdot a\right) - a \cdot \left(a \cdot a\right)\right) \cdot 4\right)double f(double a, double b) {
double r7902168 = a;
double r7902169 = r7902168 * r7902168;
double r7902170 = b;
double r7902171 = r7902170 * r7902170;
double r7902172 = r7902169 + r7902171;
double r7902173 = 2.0;
double r7902174 = pow(r7902172, r7902173);
double r7902175 = 4.0;
double r7902176 = 1.0;
double r7902177 = r7902176 - r7902168;
double r7902178 = r7902169 * r7902177;
double r7902179 = 3.0;
double r7902180 = r7902179 + r7902168;
double r7902181 = r7902171 * r7902180;
double r7902182 = r7902178 + r7902181;
double r7902183 = r7902175 * r7902182;
double r7902184 = r7902174 + r7902183;
double r7902185 = r7902184 - r7902176;
return r7902185;
}
double f(double a, double b) {
double r7902186 = b;
double r7902187 = 4.0;
double r7902188 = pow(r7902186, r7902187);
double r7902189 = a;
double r7902190 = pow(r7902189, r7902187);
double r7902191 = r7902189 * r7902186;
double r7902192 = 2.0;
double r7902193 = r7902191 * r7902192;
double r7902194 = r7902193 * r7902191;
double r7902195 = log(r7902194);
double r7902196 = exp(r7902195);
double r7902197 = r7902190 + r7902196;
double r7902198 = r7902188 + r7902197;
double r7902199 = 1.0;
double r7902200 = 3.0;
double r7902201 = r7902200 + r7902189;
double r7902202 = r7902186 * r7902186;
double r7902203 = r7902201 * r7902202;
double r7902204 = r7902189 * r7902189;
double r7902205 = r7902203 + r7902204;
double r7902206 = r7902189 * r7902204;
double r7902207 = r7902205 - r7902206;
double r7902208 = r7902207 * r7902187;
double r7902209 = r7902199 - r7902208;
double r7902210 = r7902198 - r7902209;
return r7902210;
}



Bits error versus a



Bits error versus b
Results
Initial program 0.2
Simplified0.2
Taylor expanded around inf 0.0
Simplified0.0
rmApplied add-exp-log22.3
Applied add-exp-log42.9
Applied add-exp-log47.1
Applied prod-exp47.1
Applied prod-exp47.1
Simplified0.0
Final simplification0.0
herbie shell --seed 2019134
(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))