\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\left(a1 \cdot a1\right) \cdot \frac{\cos th}{\sqrt{2}} + \left(\frac{\cos th}{\sqrt{2}} \cdot a2\right) \cdot a2double f(double a1, double a2, double th) {
double r1819959 = th;
double r1819960 = cos(r1819959);
double r1819961 = 2.0;
double r1819962 = sqrt(r1819961);
double r1819963 = r1819960 / r1819962;
double r1819964 = a1;
double r1819965 = r1819964 * r1819964;
double r1819966 = r1819963 * r1819965;
double r1819967 = a2;
double r1819968 = r1819967 * r1819967;
double r1819969 = r1819963 * r1819968;
double r1819970 = r1819966 + r1819969;
return r1819970;
}
double f(double a1, double a2, double th) {
double r1819971 = a1;
double r1819972 = r1819971 * r1819971;
double r1819973 = th;
double r1819974 = cos(r1819973);
double r1819975 = 2.0;
double r1819976 = sqrt(r1819975);
double r1819977 = r1819974 / r1819976;
double r1819978 = r1819972 * r1819977;
double r1819979 = a2;
double r1819980 = r1819977 * r1819979;
double r1819981 = r1819980 * r1819979;
double r1819982 = r1819978 + r1819981;
return r1819982;
}



Bits error versus a1



Bits error versus a2



Bits error versus th
Results
Initial program 0.5
rmApplied associate-*r*0.5
Final simplification0.5
herbie shell --seed 2019149 +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))))