\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\sin th \cdot \frac{\sin ky}{\sqrt{e^{\log \left(\sin kx \cdot \sin kx\right)} + \sin ky \cdot \sin ky}}double f(double kx, double ky, double th) {
double r507899 = ky;
double r507900 = sin(r507899);
double r507901 = kx;
double r507902 = sin(r507901);
double r507903 = 2.0;
double r507904 = pow(r507902, r507903);
double r507905 = pow(r507900, r507903);
double r507906 = r507904 + r507905;
double r507907 = sqrt(r507906);
double r507908 = r507900 / r507907;
double r507909 = th;
double r507910 = sin(r507909);
double r507911 = r507908 * r507910;
return r507911;
}
double f(double kx, double ky, double th) {
double r507912 = th;
double r507913 = sin(r507912);
double r507914 = ky;
double r507915 = sin(r507914);
double r507916 = kx;
double r507917 = sin(r507916);
double r507918 = r507917 * r507917;
double r507919 = log(r507918);
double r507920 = exp(r507919);
double r507921 = r507915 * r507915;
double r507922 = r507920 + r507921;
double r507923 = sqrt(r507922);
double r507924 = r507915 / r507923;
double r507925 = r507913 * r507924;
return r507925;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 12.6
Simplified12.6
rmApplied add-exp-log13.0
Final simplification13.0
herbie shell --seed 2019153
(FPCore (kx ky th)
:name "Toniolo and Linder, Equation (3b), real"
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)))