\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\left(\sin th \cdot \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}}}}\right) \cdot \frac{\sqrt[3]{\sin ky}}{\sqrt[3]{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}double f(double kx, double ky, double th) {
double r38341 = ky;
double r38342 = sin(r38341);
double r38343 = kx;
double r38344 = sin(r38343);
double r38345 = 2.0;
double r38346 = pow(r38344, r38345);
double r38347 = pow(r38342, r38345);
double r38348 = r38346 + r38347;
double r38349 = sqrt(r38348);
double r38350 = r38342 / r38349;
double r38351 = th;
double r38352 = sin(r38351);
double r38353 = r38350 * r38352;
return r38353;
}
double f(double kx, double ky, double th) {
double r38354 = th;
double r38355 = sin(r38354);
double r38356 = ky;
double r38357 = sin(r38356);
double r38358 = cbrt(r38357);
double r38359 = r38358 * r38358;
double r38360 = kx;
double r38361 = sin(r38360);
double r38362 = 2.0;
double r38363 = pow(r38361, r38362);
double r38364 = pow(r38357, r38362);
double r38365 = r38363 + r38364;
double r38366 = sqrt(r38365);
double r38367 = cbrt(r38366);
double r38368 = 2.0;
double r38369 = pow(r38361, r38368);
double r38370 = pow(r38357, r38368);
double r38371 = r38369 + r38370;
double r38372 = sqrt(r38371);
double r38373 = cbrt(r38372);
double r38374 = r38367 * r38373;
double r38375 = r38359 / r38374;
double r38376 = r38355 * r38375;
double r38377 = r38358 / r38367;
double r38378 = r38376 * r38377;
return r38378;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 12.3
rmApplied *-commutative12.3
rmApplied add-cube-cbrt13.1
Applied add-cube-cbrt12.7
Applied times-frac12.7
Applied associate-*r*12.7
Taylor expanded around inf 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)))