double f(double a, double b) {
double r44540876 = a;
double r44540877 = r44540876 * r44540876;
double r44540878 = b;
double r44540879 = r44540878 * r44540878;
double r44540880 = r44540877 + r44540879;
double r44540881 = 2.0;
double r44540882 = pow(r44540880, r44540881);
double r44540883 = 4.0;
double r44540884 = 1.0;
double r44540885 = r44540884 + r44540876;
double r44540886 = r44540877 * r44540885;
double r44540887 = 3.0;
double r44540888 = r44540887 * r44540876;
double r44540889 = r44540884 - r44540888;
double r44540890 = r44540879 * r44540889;
double r44540891 = r44540886 + r44540890;
double r44540892 = r44540883 * r44540891;
double r44540893 = r44540882 + r44540892;
double r44540894 = r44540893 - r44540884;
return r44540894;
}
double f(double a, double b) {
double r44540895 = b;
double r44540896 = 1.0;
double r44540897 = a;
double r44540898 = 3.0;
double r44540899 = r44540897 * r44540898;
double r44540900 = r44540896 - r44540899;
double r44540901 = r44540895 * r44540900;
double r44540902 = r44540895 * r44540901;
double r44540903 = r44540897 * r44540897;
double r44540904 = r44540903 + r44540897;
double r44540905 = r44540897 * r44540904;
double r44540906 = r44540902 + r44540905;
double r44540907 = 4.0;
double r44540908 = r44540906 * r44540907;
double r44540909 = r44540895 * r44540895;
double r44540910 = r44540903 + r44540909;
double r44540911 = sqrt(r44540910);
double r44540912 = pow(r44540911, r44540907);
double r44540913 = r44540896 - r44540912;
double r44540914 = r44540908 - r44540913;
return r44540914;
}
\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(b \cdot \left(b \cdot \left(1 - a \cdot 3\right)\right) + a \cdot \left(a \cdot a + a\right)\right) \cdot 4 - \left(1 - {\left(\sqrt{a \cdot a + b \cdot b}\right)}^{4}\right)


Bits error versus a



Bits error versus b
Initial program 0.2
Simplified0.2
rmApplied add-sqr-sqrt0.2
Applied associate-*r*0.1
rmApplied pow10.1
Applied add-sqr-sqrt0.1
Applied pow30.1
Applied pow-prod-up0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019102
(FPCore (a b)
:name "Bouland and Aaronson, Equation (25)"
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (+ 1 a)) (* (* b b) (- 1 (* 3 a)))))) 1))