\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\frac{a1}{\frac{\frac{\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}}{\frac{\cos th}{\sqrt[3]{\sqrt{2}}}}}{a1}} + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)double f(double a1, double a2, double th) {
double r1760787 = th;
double r1760788 = cos(r1760787);
double r1760789 = 2.0;
double r1760790 = sqrt(r1760789);
double r1760791 = r1760788 / r1760790;
double r1760792 = a1;
double r1760793 = r1760792 * r1760792;
double r1760794 = r1760791 * r1760793;
double r1760795 = a2;
double r1760796 = r1760795 * r1760795;
double r1760797 = r1760791 * r1760796;
double r1760798 = r1760794 + r1760797;
return r1760798;
}
double f(double a1, double a2, double th) {
double r1760799 = a1;
double r1760800 = 2.0;
double r1760801 = sqrt(r1760800);
double r1760802 = cbrt(r1760801);
double r1760803 = r1760802 * r1760802;
double r1760804 = th;
double r1760805 = cos(r1760804);
double r1760806 = r1760805 / r1760802;
double r1760807 = r1760803 / r1760806;
double r1760808 = r1760807 / r1760799;
double r1760809 = r1760799 / r1760808;
double r1760810 = r1760805 / r1760801;
double r1760811 = a2;
double r1760812 = r1760811 * r1760811;
double r1760813 = r1760810 * r1760812;
double r1760814 = r1760809 + r1760813;
return r1760814;
}



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 add-cube-cbrt0.5
Applied associate-/l*0.5
Final simplification0.5
herbie shell --seed 2019130 +o rules:numerics
(FPCore (a1 a2 th)
:name "Migdal et al, Equation (64)"
(+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))))