\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\left({\left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}^{\frac{-1}{2}} \cdot \sin ky\right) \cdot \sin thdouble f(double kx, double ky, double th) {
double r41900 = ky;
double r41901 = sin(r41900);
double r41902 = kx;
double r41903 = sin(r41902);
double r41904 = 2.0;
double r41905 = pow(r41903, r41904);
double r41906 = pow(r41901, r41904);
double r41907 = r41905 + r41906;
double r41908 = sqrt(r41907);
double r41909 = r41901 / r41908;
double r41910 = th;
double r41911 = sin(r41910);
double r41912 = r41909 * r41911;
return r41912;
}
double f(double kx, double ky, double th) {
double r41913 = kx;
double r41914 = sin(r41913);
double r41915 = 2.0;
double r41916 = pow(r41914, r41915);
double r41917 = ky;
double r41918 = sin(r41917);
double r41919 = pow(r41918, r41915);
double r41920 = r41916 + r41919;
double r41921 = -0.5;
double r41922 = pow(r41920, r41921);
double r41923 = r41922 * r41918;
double r41924 = th;
double r41925 = sin(r41924);
double r41926 = r41923 * r41925;
return r41926;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 13.0
Taylor expanded around inf 13.0
Taylor expanded around inf 13.3
rmApplied inv-pow13.3
Applied sqrt-pow113.0
Simplified13.0
Final simplification13.0
herbie shell --seed 2020045
(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)))