\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\sin ky \cdot \frac{\sin th}{\mathsf{hypot}\left(\sin kx, \sin ky\right)}double f(double kx, double ky, double th) {
double r41898 = ky;
double r41899 = sin(r41898);
double r41900 = kx;
double r41901 = sin(r41900);
double r41902 = 2.0;
double r41903 = pow(r41901, r41902);
double r41904 = pow(r41899, r41902);
double r41905 = r41903 + r41904;
double r41906 = sqrt(r41905);
double r41907 = r41899 / r41906;
double r41908 = th;
double r41909 = sin(r41908);
double r41910 = r41907 * r41909;
return r41910;
}
double f(double kx, double ky, double th) {
double r41911 = ky;
double r41912 = sin(r41911);
double r41913 = th;
double r41914 = sin(r41913);
double r41915 = kx;
double r41916 = sin(r41915);
double r41917 = hypot(r41916, r41912);
double r41918 = r41914 / r41917;
double r41919 = r41912 * r41918;
return r41919;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 13.0
Taylor expanded around inf 13.0
Simplified9.1
rmApplied div-inv9.2
Applied associate-*l*9.3
Simplified9.2
Final simplification9.2
herbie shell --seed 2020047 +o rules:numerics
(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)))