\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)a2 \cdot \left(a2 \cdot \frac{\cos th}{\sqrt{2}}\right) + \frac{a1 \cdot \cos th}{\frac{\sqrt{2}}{a1}}double f(double a1, double a2, double th) {
double r7429860 = th;
double r7429861 = cos(r7429860);
double r7429862 = 2.0;
double r7429863 = sqrt(r7429862);
double r7429864 = r7429861 / r7429863;
double r7429865 = a1;
double r7429866 = r7429865 * r7429865;
double r7429867 = r7429864 * r7429866;
double r7429868 = a2;
double r7429869 = r7429868 * r7429868;
double r7429870 = r7429864 * r7429869;
double r7429871 = r7429867 + r7429870;
return r7429871;
}
double f(double a1, double a2, double th) {
double r7429872 = a2;
double r7429873 = th;
double r7429874 = cos(r7429873);
double r7429875 = 2.0;
double r7429876 = sqrt(r7429875);
double r7429877 = r7429874 / r7429876;
double r7429878 = r7429872 * r7429877;
double r7429879 = r7429872 * r7429878;
double r7429880 = a1;
double r7429881 = r7429880 * r7429874;
double r7429882 = r7429876 / r7429880;
double r7429883 = r7429881 / r7429882;
double r7429884 = r7429879 + r7429883;
return r7429884;
}



Bits error versus a1



Bits error versus a2



Bits error versus th
Results
Initial program 0.5
Taylor expanded around inf 0.5
Simplified0.5
rmApplied associate-*r*0.5
Final simplification0.5
herbie shell --seed 2019104
(FPCore (a1 a2 th)
:name "Migdal et al, Equation (64)"
(+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))))