\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)a2 \cdot \frac{a2 \cdot \cos th}{\sqrt{2}} + \left(a1 \cdot a1\right) \cdot \frac{\cos th}{\sqrt{2}}double f(double a1, double a2, double th) {
double r3079843 = th;
double r3079844 = cos(r3079843);
double r3079845 = 2.0;
double r3079846 = sqrt(r3079845);
double r3079847 = r3079844 / r3079846;
double r3079848 = a1;
double r3079849 = r3079848 * r3079848;
double r3079850 = r3079847 * r3079849;
double r3079851 = a2;
double r3079852 = r3079851 * r3079851;
double r3079853 = r3079847 * r3079852;
double r3079854 = r3079850 + r3079853;
return r3079854;
}
double f(double a1, double a2, double th) {
double r3079855 = a2;
double r3079856 = th;
double r3079857 = cos(r3079856);
double r3079858 = r3079855 * r3079857;
double r3079859 = 2.0;
double r3079860 = sqrt(r3079859);
double r3079861 = r3079858 / r3079860;
double r3079862 = r3079855 * r3079861;
double r3079863 = a1;
double r3079864 = r3079863 * r3079863;
double r3079865 = r3079857 / r3079860;
double r3079866 = r3079864 * r3079865;
double r3079867 = r3079862 + r3079866;
return r3079867;
}



Bits error versus a1



Bits error versus a2



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