\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\sin ky \cdot \frac{\sin th}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}double f(double kx, double ky, double th) {
double r42874 = ky;
double r42875 = sin(r42874);
double r42876 = kx;
double r42877 = sin(r42876);
double r42878 = 2.0;
double r42879 = pow(r42877, r42878);
double r42880 = pow(r42875, r42878);
double r42881 = r42879 + r42880;
double r42882 = sqrt(r42881);
double r42883 = r42875 / r42882;
double r42884 = th;
double r42885 = sin(r42884);
double r42886 = r42883 * r42885;
return r42886;
}
double f(double kx, double ky, double th) {
double r42887 = ky;
double r42888 = sin(r42887);
double r42889 = th;
double r42890 = sin(r42889);
double r42891 = kx;
double r42892 = sin(r42891);
double r42893 = 2.0;
double r42894 = pow(r42892, r42893);
double r42895 = pow(r42888, r42893);
double r42896 = r42894 + r42895;
double r42897 = sqrt(r42896);
double r42898 = r42890 / r42897;
double r42899 = r42888 * r42898;
return r42899;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 12.5
rmApplied div-inv12.6
Applied associate-*l*12.7
Simplified12.6
Final simplification12.6
herbie shell --seed 2020036
(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)))