\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 r41826 = ky;
double r41827 = sin(r41826);
double r41828 = kx;
double r41829 = sin(r41828);
double r41830 = 2.0;
double r41831 = pow(r41829, r41830);
double r41832 = pow(r41827, r41830);
double r41833 = r41831 + r41832;
double r41834 = sqrt(r41833);
double r41835 = r41827 / r41834;
double r41836 = th;
double r41837 = sin(r41836);
double r41838 = r41835 * r41837;
return r41838;
}
double f(double kx, double ky, double th) {
double r41839 = kx;
double r41840 = sin(r41839);
double r41841 = 2.0;
double r41842 = pow(r41840, r41841);
double r41843 = ky;
double r41844 = sin(r41843);
double r41845 = pow(r41844, r41841);
double r41846 = r41842 + r41845;
double r41847 = -0.5;
double r41848 = pow(r41846, r41847);
double r41849 = r41848 * r41844;
double r41850 = th;
double r41851 = sin(r41850);
double r41852 = r41849 * r41851;
return r41852;
}



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)))