\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\frac{\sin ky \cdot \sin th}{\sqrt{\left(\sqrt[3]{{\left(\sin kx\right)}^{2}} \cdot \sqrt[3]{{\left(\sin kx\right)}^{2}}\right) \cdot \sqrt[3]{{\left(\sin kx\right)}^{2}} + {\left(\sin ky\right)}^{2}}}double f(double kx, double ky, double th) {
double r39988 = ky;
double r39989 = sin(r39988);
double r39990 = kx;
double r39991 = sin(r39990);
double r39992 = 2.0;
double r39993 = pow(r39991, r39992);
double r39994 = pow(r39989, r39992);
double r39995 = r39993 + r39994;
double r39996 = sqrt(r39995);
double r39997 = r39989 / r39996;
double r39998 = th;
double r39999 = sin(r39998);
double r40000 = r39997 * r39999;
return r40000;
}
double f(double kx, double ky, double th) {
double r40001 = ky;
double r40002 = sin(r40001);
double r40003 = th;
double r40004 = sin(r40003);
double r40005 = r40002 * r40004;
double r40006 = kx;
double r40007 = sin(r40006);
double r40008 = 2.0;
double r40009 = pow(r40007, r40008);
double r40010 = cbrt(r40009);
double r40011 = r40010 * r40010;
double r40012 = r40011 * r40010;
double r40013 = pow(r40002, r40008);
double r40014 = r40012 + r40013;
double r40015 = sqrt(r40014);
double r40016 = r40005 / r40015;
return r40016;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 12.5
rmApplied *-un-lft-identity12.5
Applied sqrt-prod12.5
Applied associate-/r*12.5
Simplified12.5
rmApplied add-cube-cbrt12.6
Final simplification13.6
herbie shell --seed 2019291
(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)))