\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\left(\left(\sqrt[3]{\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}} \cdot \sqrt[3]{\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}\right) \cdot \sqrt[3]{\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}\right) \cdot \sin thdouble f(double kx, double ky, double th) {
double r37254 = ky;
double r37255 = sin(r37254);
double r37256 = kx;
double r37257 = sin(r37256);
double r37258 = 2.0;
double r37259 = pow(r37257, r37258);
double r37260 = pow(r37255, r37258);
double r37261 = r37259 + r37260;
double r37262 = sqrt(r37261);
double r37263 = r37255 / r37262;
double r37264 = th;
double r37265 = sin(r37264);
double r37266 = r37263 * r37265;
return r37266;
}
double f(double kx, double ky, double th) {
double r37267 = ky;
double r37268 = sin(r37267);
double r37269 = kx;
double r37270 = sin(r37269);
double r37271 = 2.0;
double r37272 = pow(r37270, r37271);
double r37273 = pow(r37268, r37271);
double r37274 = r37272 + r37273;
double r37275 = sqrt(r37274);
double r37276 = r37268 / r37275;
double r37277 = cbrt(r37276);
double r37278 = 2.0;
double r37279 = pow(r37270, r37278);
double r37280 = pow(r37268, r37278);
double r37281 = r37279 + r37280;
double r37282 = sqrt(r37281);
double r37283 = r37268 / r37282;
double r37284 = cbrt(r37283);
double r37285 = r37277 * r37284;
double r37286 = r37285 * r37284;
double r37287 = th;
double r37288 = sin(r37287);
double r37289 = r37286 * r37288;
return r37289;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 12.2
rmApplied add-cube-cbrt12.5
Taylor expanded around inf 12.5
Final simplification12.5
herbie shell --seed 2019347
(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)))