\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\frac{1}{1} \cdot \left(\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\right)double f(double kx, double ky, double th) {
double r36801 = ky;
double r36802 = sin(r36801);
double r36803 = kx;
double r36804 = sin(r36803);
double r36805 = 2.0;
double r36806 = pow(r36804, r36805);
double r36807 = pow(r36802, r36805);
double r36808 = r36806 + r36807;
double r36809 = sqrt(r36808);
double r36810 = r36802 / r36809;
double r36811 = th;
double r36812 = sin(r36811);
double r36813 = r36810 * r36812;
return r36813;
}
double f(double kx, double ky, double th) {
double r36814 = 1.0;
double r36815 = r36814 / r36814;
double r36816 = ky;
double r36817 = sin(r36816);
double r36818 = kx;
double r36819 = sin(r36818);
double r36820 = 2.0;
double r36821 = pow(r36819, r36820);
double r36822 = pow(r36817, r36820);
double r36823 = r36821 + r36822;
double r36824 = sqrt(r36823);
double r36825 = r36817 / r36824;
double r36826 = th;
double r36827 = sin(r36826);
double r36828 = r36825 * r36827;
double r36829 = r36815 * r36828;
return r36829;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 12.4
rmApplied *-un-lft-identity12.4
Applied unpow-prod-down12.4
Applied *-un-lft-identity12.4
Applied unpow-prod-down12.4
Applied distribute-lft-out12.4
Applied sqrt-prod12.4
Applied *-un-lft-identity12.4
Applied times-frac12.4
Applied associate-*l*12.4
Final simplification12.4
herbie shell --seed 2019199
(FPCore (kx ky th)
:name "Toniolo and Linder, Equation (3b), real"
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2.0) (pow (sin ky) 2.0)))) (sin th)))