\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 r38891 = ky;
double r38892 = sin(r38891);
double r38893 = kx;
double r38894 = sin(r38893);
double r38895 = 2.0;
double r38896 = pow(r38894, r38895);
double r38897 = pow(r38892, r38895);
double r38898 = r38896 + r38897;
double r38899 = sqrt(r38898);
double r38900 = r38892 / r38899;
double r38901 = th;
double r38902 = sin(r38901);
double r38903 = r38900 * r38902;
return r38903;
}
double f(double kx, double ky, double th) {
double r38904 = ky;
double r38905 = sin(r38904);
double r38906 = th;
double r38907 = sin(r38906);
double r38908 = kx;
double r38909 = sin(r38908);
double r38910 = hypot(r38909, r38905);
double r38911 = r38907 / r38910;
double r38912 = r38905 * r38911;
return r38912;
}



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