\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\sin th \cdot \left(\sin ky \cdot \sqrt{\frac{1}{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}\right)double f(double kx, double ky, double th) {
double r2186793 = ky;
double r2186794 = sin(r2186793);
double r2186795 = kx;
double r2186796 = sin(r2186795);
double r2186797 = 2.0;
double r2186798 = pow(r2186796, r2186797);
double r2186799 = pow(r2186794, r2186797);
double r2186800 = r2186798 + r2186799;
double r2186801 = sqrt(r2186800);
double r2186802 = r2186794 / r2186801;
double r2186803 = th;
double r2186804 = sin(r2186803);
double r2186805 = r2186802 * r2186804;
return r2186805;
}
double f(double kx, double ky, double th) {
double r2186806 = th;
double r2186807 = sin(r2186806);
double r2186808 = ky;
double r2186809 = sin(r2186808);
double r2186810 = 1.0;
double r2186811 = kx;
double r2186812 = sin(r2186811);
double r2186813 = r2186812 * r2186812;
double r2186814 = r2186809 * r2186809;
double r2186815 = r2186813 + r2186814;
double r2186816 = r2186810 / r2186815;
double r2186817 = sqrt(r2186816);
double r2186818 = r2186809 * r2186817;
double r2186819 = r2186807 * r2186818;
return r2186819;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 12.3
Simplified12.3
Taylor expanded around inf 14.0
Simplified12.7
Final simplification12.7
herbie shell --seed 2019128
(FPCore (kx ky th)
:name "Toniolo and Linder, Equation (3b), real"
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)))