\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{\cos th}{\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}}}{\sqrt[3]{\sqrt{2}}} \cdot a2\right) \cdot a2 + \frac{a1 \cdot a1}{\frac{\sqrt{2}}{\cos th}}double f(double a1, double a2, double th) {
double r1830084 = th;
double r1830085 = cos(r1830084);
double r1830086 = 2.0;
double r1830087 = sqrt(r1830086);
double r1830088 = r1830085 / r1830087;
double r1830089 = a1;
double r1830090 = r1830089 * r1830089;
double r1830091 = r1830088 * r1830090;
double r1830092 = a2;
double r1830093 = r1830092 * r1830092;
double r1830094 = r1830088 * r1830093;
double r1830095 = r1830091 + r1830094;
return r1830095;
}
double f(double a1, double a2, double th) {
double r1830096 = th;
double r1830097 = cos(r1830096);
double r1830098 = 2.0;
double r1830099 = sqrt(r1830098);
double r1830100 = cbrt(r1830099);
double r1830101 = r1830100 * r1830100;
double r1830102 = r1830097 / r1830101;
double r1830103 = r1830102 / r1830100;
double r1830104 = a2;
double r1830105 = r1830103 * r1830104;
double r1830106 = r1830105 * r1830104;
double r1830107 = a1;
double r1830108 = r1830107 * r1830107;
double r1830109 = r1830099 / r1830097;
double r1830110 = r1830108 / r1830109;
double r1830111 = r1830106 + r1830110;
return r1830111;
}



Bits error versus a1



Bits error versus a2



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