\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2.0} + {\left(\sin ky\right)}^{2.0}}} \cdot \sin th\frac{1}{\frac{\sqrt{{\left(\sin ky\right)}^{2.0} + {\left(\sin kx\right)}^{2.0}}}{\sin ky}} \cdot \sin thdouble f(double kx, double ky, double th) {
double r1276821 = ky;
double r1276822 = sin(r1276821);
double r1276823 = kx;
double r1276824 = sin(r1276823);
double r1276825 = 2.0;
double r1276826 = pow(r1276824, r1276825);
double r1276827 = pow(r1276822, r1276825);
double r1276828 = r1276826 + r1276827;
double r1276829 = sqrt(r1276828);
double r1276830 = r1276822 / r1276829;
double r1276831 = th;
double r1276832 = sin(r1276831);
double r1276833 = r1276830 * r1276832;
return r1276833;
}
double f(double kx, double ky, double th) {
double r1276834 = 1.0;
double r1276835 = ky;
double r1276836 = sin(r1276835);
double r1276837 = 2.0;
double r1276838 = pow(r1276836, r1276837);
double r1276839 = kx;
double r1276840 = sin(r1276839);
double r1276841 = pow(r1276840, r1276837);
double r1276842 = r1276838 + r1276841;
double r1276843 = sqrt(r1276842);
double r1276844 = r1276843 / r1276836;
double r1276845 = r1276834 / r1276844;
double r1276846 = th;
double r1276847 = sin(r1276846);
double r1276848 = r1276845 * r1276847;
return r1276848;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 12.3
rmApplied clear-num12.4
Final simplification12.4
herbie shell --seed 2019165
(FPCore (kx ky th)
:name "Toniolo and Linder, Equation (3b), real"
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2.0) (pow (sin ky) 2.0)))) (sin th)))