\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\sin th \cdot \frac{1}{\frac{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}{\sin ky}}double f(double kx, double ky, double th) {
double r4293891 = ky;
double r4293892 = sin(r4293891);
double r4293893 = kx;
double r4293894 = sin(r4293893);
double r4293895 = 2.0;
double r4293896 = pow(r4293894, r4293895);
double r4293897 = pow(r4293892, r4293895);
double r4293898 = r4293896 + r4293897;
double r4293899 = sqrt(r4293898);
double r4293900 = r4293892 / r4293899;
double r4293901 = th;
double r4293902 = sin(r4293901);
double r4293903 = r4293900 * r4293902;
return r4293903;
}
double f(double kx, double ky, double th) {
double r4293904 = th;
double r4293905 = sin(r4293904);
double r4293906 = 1.0;
double r4293907 = kx;
double r4293908 = sin(r4293907);
double r4293909 = r4293908 * r4293908;
double r4293910 = ky;
double r4293911 = sin(r4293910);
double r4293912 = r4293911 * r4293911;
double r4293913 = r4293909 + r4293912;
double r4293914 = sqrt(r4293913);
double r4293915 = r4293914 / r4293911;
double r4293916 = r4293906 / r4293915;
double r4293917 = r4293905 * r4293916;
return r4293917;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 12.7
Simplified12.7
rmApplied *-un-lft-identity12.7
Applied associate-/l*12.7
Taylor expanded around inf 12.7
Simplified12.7
Final simplification12.7
herbie shell --seed 2019124
(FPCore (kx ky th)
:name "Toniolo and Linder, Equation (3b), real"
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)))