\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\sin ky \cdot \left(\left(\sqrt{\sqrt{\frac{1}{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}} \cdot \sin th\right) \cdot \sqrt{\sqrt{\frac{1}{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}}\right)double f(double kx, double ky, double th) {
double r1316785 = ky;
double r1316786 = sin(r1316785);
double r1316787 = kx;
double r1316788 = sin(r1316787);
double r1316789 = 2.0;
double r1316790 = pow(r1316788, r1316789);
double r1316791 = pow(r1316786, r1316789);
double r1316792 = r1316790 + r1316791;
double r1316793 = sqrt(r1316792);
double r1316794 = r1316786 / r1316793;
double r1316795 = th;
double r1316796 = sin(r1316795);
double r1316797 = r1316794 * r1316796;
return r1316797;
}
double f(double kx, double ky, double th) {
double r1316798 = ky;
double r1316799 = sin(r1316798);
double r1316800 = 1.0;
double r1316801 = kx;
double r1316802 = sin(r1316801);
double r1316803 = r1316802 * r1316802;
double r1316804 = r1316799 * r1316799;
double r1316805 = r1316803 + r1316804;
double r1316806 = r1316800 / r1316805;
double r1316807 = sqrt(r1316806);
double r1316808 = sqrt(r1316807);
double r1316809 = th;
double r1316810 = sin(r1316809);
double r1316811 = r1316808 * r1316810;
double r1316812 = r1316811 * r1316808;
double r1316813 = r1316799 * r1316812;
return r1316813;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 12.5
Taylor expanded around inf 14.0
Simplified13.0
rmApplied add-sqr-sqrt13.0
Applied sqrt-prod13.2
Applied associate-*r*13.1
Final simplification13.1
herbie shell --seed 2019192
(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)))