\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\frac{\sqrt[3]{\sin ky} \cdot \sqrt[3]{\sin ky}}{\sqrt[3]{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sqrt[3]{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}} \cdot \left(\frac{\sqrt[3]{\sin ky}}{\sqrt[3]{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}} \cdot \sin th\right)double f(double kx, double ky, double th) {
double r43039 = ky;
double r43040 = sin(r43039);
double r43041 = kx;
double r43042 = sin(r43041);
double r43043 = 2.0;
double r43044 = pow(r43042, r43043);
double r43045 = pow(r43040, r43043);
double r43046 = r43044 + r43045;
double r43047 = sqrt(r43046);
double r43048 = r43040 / r43047;
double r43049 = th;
double r43050 = sin(r43049);
double r43051 = r43048 * r43050;
return r43051;
}
double f(double kx, double ky, double th) {
double r43052 = ky;
double r43053 = sin(r43052);
double r43054 = cbrt(r43053);
double r43055 = r43054 * r43054;
double r43056 = kx;
double r43057 = sin(r43056);
double r43058 = 2.0;
double r43059 = pow(r43057, r43058);
double r43060 = pow(r43053, r43058);
double r43061 = r43059 + r43060;
double r43062 = sqrt(r43061);
double r43063 = cbrt(r43062);
double r43064 = r43063 * r43063;
double r43065 = r43055 / r43064;
double r43066 = r43054 / r43063;
double r43067 = th;
double r43068 = sin(r43067);
double r43069 = r43066 * r43068;
double r43070 = r43065 * r43069;
return r43070;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 12.5
rmApplied add-cube-cbrt13.3
Applied add-cube-cbrt12.9
Applied times-frac12.9
Applied associate-*l*12.9
Final simplification12.9
herbie shell --seed 2020049
(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)))