\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\sin th \cdot \frac{\sin ky}{\sqrt{\sqrt{\sin ky \cdot \sin ky + \sin kx \cdot \sin kx}} \cdot \sqrt{\sqrt{\sin ky \cdot \sin ky + \sin kx \cdot \sin kx}}}double f(double kx, double ky, double th) {
double r549897 = ky;
double r549898 = sin(r549897);
double r549899 = kx;
double r549900 = sin(r549899);
double r549901 = 2.0;
double r549902 = pow(r549900, r549901);
double r549903 = pow(r549898, r549901);
double r549904 = r549902 + r549903;
double r549905 = sqrt(r549904);
double r549906 = r549898 / r549905;
double r549907 = th;
double r549908 = sin(r549907);
double r549909 = r549906 * r549908;
return r549909;
}
double f(double kx, double ky, double th) {
double r549910 = th;
double r549911 = sin(r549910);
double r549912 = ky;
double r549913 = sin(r549912);
double r549914 = r549913 * r549913;
double r549915 = kx;
double r549916 = sin(r549915);
double r549917 = r549916 * r549916;
double r549918 = r549914 + r549917;
double r549919 = sqrt(r549918);
double r549920 = sqrt(r549919);
double r549921 = r549920 * r549920;
double r549922 = r549913 / r549921;
double r549923 = r549911 * r549922;
return r549923;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 12.8
Simplified12.8
rmApplied add-sqr-sqrt12.8
Applied sqrt-prod13.1
Final simplification13.1
herbie shell --seed 2019154
(FPCore (kx ky th)
:name "Toniolo and Linder, Equation (3b), real"
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)))