\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\frac{1}{\frac{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}{\sin ky}} \cdot \sin thdouble f(double kx, double ky, double th) {
double r44038 = ky;
double r44039 = sin(r44038);
double r44040 = kx;
double r44041 = sin(r44040);
double r44042 = 2.0;
double r44043 = pow(r44041, r44042);
double r44044 = pow(r44039, r44042);
double r44045 = r44043 + r44044;
double r44046 = sqrt(r44045);
double r44047 = r44039 / r44046;
double r44048 = th;
double r44049 = sin(r44048);
double r44050 = r44047 * r44049;
return r44050;
}
double f(double kx, double ky, double th) {
double r44051 = 1.0;
double r44052 = kx;
double r44053 = sin(r44052);
double r44054 = 2.0;
double r44055 = pow(r44053, r44054);
double r44056 = ky;
double r44057 = sin(r44056);
double r44058 = pow(r44057, r44054);
double r44059 = r44055 + r44058;
double r44060 = sqrt(r44059);
double r44061 = r44060 / r44057;
double r44062 = r44051 / r44061;
double r44063 = th;
double r44064 = sin(r44063);
double r44065 = r44062 * r44064;
return r44065;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 4.3
rmApplied clear-num4.3
Final simplification4.3
herbie shell --seed 2020064
(FPCore (kx ky th)
:name "Toniolo and Linder, Equation (3b), real"
:precision binary64
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)))