\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\left(\frac{a2}{\frac{\sqrt{2}}{a2}} + \frac{a1 \cdot a1}{\sqrt{2}}\right) \cdot \cos thdouble f(double a1, double a2, double th) {
double r2081806 = th;
double r2081807 = cos(r2081806);
double r2081808 = 2.0;
double r2081809 = sqrt(r2081808);
double r2081810 = r2081807 / r2081809;
double r2081811 = a1;
double r2081812 = r2081811 * r2081811;
double r2081813 = r2081810 * r2081812;
double r2081814 = a2;
double r2081815 = r2081814 * r2081814;
double r2081816 = r2081810 * r2081815;
double r2081817 = r2081813 + r2081816;
return r2081817;
}
double f(double a1, double a2, double th) {
double r2081818 = a2;
double r2081819 = 2.0;
double r2081820 = sqrt(r2081819);
double r2081821 = r2081820 / r2081818;
double r2081822 = r2081818 / r2081821;
double r2081823 = a1;
double r2081824 = r2081823 * r2081823;
double r2081825 = r2081824 / r2081820;
double r2081826 = r2081822 + r2081825;
double r2081827 = th;
double r2081828 = cos(r2081827);
double r2081829 = r2081826 * r2081828;
return r2081829;
}



Bits error versus a1



Bits error versus a2



Bits error versus th
Results
Initial program 0.5
Simplified0.5
Taylor expanded around 0 0.5
Simplified0.5
rmApplied associate-/l*0.5
Final simplification0.5
herbie shell --seed 2019172 +o rules:numerics
(FPCore (a1 a2 th)
:name "Migdal et al, Equation (64)"
(+ (* (/ (cos th) (sqrt 2.0)) (* a1 a1)) (* (/ (cos th) (sqrt 2.0)) (* a2 a2))))