\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\frac{1}{\sqrt{1}} \cdot \left(\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)\right)double f(double kx, double ky, double th) {
double r39226 = ky;
double r39227 = sin(r39226);
double r39228 = kx;
double r39229 = sin(r39228);
double r39230 = 2.0;
double r39231 = pow(r39229, r39230);
double r39232 = pow(r39227, r39230);
double r39233 = r39231 + r39232;
double r39234 = sqrt(r39233);
double r39235 = r39227 / r39234;
double r39236 = th;
double r39237 = sin(r39236);
double r39238 = r39235 * r39237;
return r39238;
}
double f(double kx, double ky, double th) {
double r39239 = 1.0;
double r39240 = sqrt(r39239);
double r39241 = r39239 / r39240;
double r39242 = ky;
double r39243 = sin(r39242);
double r39244 = cbrt(r39243);
double r39245 = r39244 * r39244;
double r39246 = kx;
double r39247 = sin(r39246);
double r39248 = 2.0;
double r39249 = pow(r39247, r39248);
double r39250 = pow(r39243, r39248);
double r39251 = r39249 + r39250;
double r39252 = sqrt(r39251);
double r39253 = cbrt(r39252);
double r39254 = r39253 * r39253;
double r39255 = r39245 / r39254;
double r39256 = r39244 / r39253;
double r39257 = th;
double r39258 = sin(r39257);
double r39259 = r39256 * r39258;
double r39260 = r39255 * r39259;
double r39261 = r39241 * r39260;
return r39261;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 12.3
rmApplied *-un-lft-identity12.3
Applied sqrt-prod12.3
Applied *-un-lft-identity12.3
Applied times-frac12.3
Applied associate-*l*12.3
rmApplied add-cube-cbrt13.1
Applied add-cube-cbrt12.7
Applied times-frac12.7
Applied associate-*l*12.7
Final simplification12.7
herbie shell --seed 2020001
(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)))