\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\left(\frac{\frac{1}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt[3]{\sqrt{2}}}} \cdot \left(a2 \cdot a2\right)\right) \cdot \frac{\cos th}{\sqrt{\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}}} + \frac{a1}{\frac{\sqrt[3]{\sqrt{2}}}{\cos th}} \cdot \frac{a1}{\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}}double f(double a1, double a2, double th) {
double r2154766 = th;
double r2154767 = cos(r2154766);
double r2154768 = 2.0;
double r2154769 = sqrt(r2154768);
double r2154770 = r2154767 / r2154769;
double r2154771 = a1;
double r2154772 = r2154771 * r2154771;
double r2154773 = r2154770 * r2154772;
double r2154774 = a2;
double r2154775 = r2154774 * r2154774;
double r2154776 = r2154770 * r2154775;
double r2154777 = r2154773 + r2154776;
return r2154777;
}
double f(double a1, double a2, double th) {
double r2154778 = 1.0;
double r2154779 = 2.0;
double r2154780 = sqrt(r2154779);
double r2154781 = sqrt(r2154780);
double r2154782 = r2154778 / r2154781;
double r2154783 = cbrt(r2154780);
double r2154784 = sqrt(r2154783);
double r2154785 = r2154782 / r2154784;
double r2154786 = a2;
double r2154787 = r2154786 * r2154786;
double r2154788 = r2154785 * r2154787;
double r2154789 = th;
double r2154790 = cos(r2154789);
double r2154791 = r2154783 * r2154783;
double r2154792 = sqrt(r2154791);
double r2154793 = r2154790 / r2154792;
double r2154794 = r2154788 * r2154793;
double r2154795 = a1;
double r2154796 = r2154783 / r2154790;
double r2154797 = r2154795 / r2154796;
double r2154798 = r2154795 / r2154791;
double r2154799 = r2154797 * r2154798;
double r2154800 = r2154794 + r2154799;
return r2154800;
}



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-sqr-sqrt0.5
Applied sqrt-prod0.5
Applied associate-/r*0.5
rmApplied add-cube-cbrt0.5
Applied sqrt-prod0.5
Applied div-inv0.5
Applied times-frac0.5
Applied associate-*l*0.4
rmApplied *-un-lft-identity0.4
Applied add-cube-cbrt0.4
Applied times-frac0.5
Applied times-frac0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2019158 +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))))