\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\frac{a2 \cdot a2}{\sqrt{2}} \cdot \cos th + \frac{a1 \cdot a1}{\sqrt{2}} \cdot \cos thdouble f(double a1, double a2, double th) {
double r761931 = th;
double r761932 = cos(r761931);
double r761933 = 2.0;
double r761934 = sqrt(r761933);
double r761935 = r761932 / r761934;
double r761936 = a1;
double r761937 = r761936 * r761936;
double r761938 = r761935 * r761937;
double r761939 = a2;
double r761940 = r761939 * r761939;
double r761941 = r761935 * r761940;
double r761942 = r761938 + r761941;
return r761942;
}
double f(double a1, double a2, double th) {
double r761943 = a2;
double r761944 = r761943 * r761943;
double r761945 = 2.0;
double r761946 = sqrt(r761945);
double r761947 = r761944 / r761946;
double r761948 = th;
double r761949 = cos(r761948);
double r761950 = r761947 * r761949;
double r761951 = a1;
double r761952 = r761951 * r761951;
double r761953 = r761952 / r761946;
double r761954 = r761953 * r761949;
double r761955 = r761950 + r761954;
return r761955;
}



Bits error versus a1



Bits error versus a2



Bits error versus th
Results
Initial program 0.5
rmApplied div-inv0.5
Applied associate-*l*0.5
Simplified0.5
rmApplied div-inv0.5
Applied associate-*l*0.5
Simplified0.4
rmApplied associate-*l/0.5
Final simplification0.5
herbie shell --seed 2019155 +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))))