\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{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sqrt{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}}\right) \cdot \sqrt[3]{\frac{\sin ky}{\left(\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 \sqrt[3]{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}}\right) \cdot \sin thdouble f(double kx, double ky, double th) {
double r32437 = ky;
double r32438 = sin(r32437);
double r32439 = kx;
double r32440 = sin(r32439);
double r32441 = 2.0;
double r32442 = pow(r32440, r32441);
double r32443 = pow(r32438, r32441);
double r32444 = r32442 + r32443;
double r32445 = sqrt(r32444);
double r32446 = r32438 / r32445;
double r32447 = th;
double r32448 = sin(r32447);
double r32449 = r32446 * r32448;
return r32449;
}
double f(double kx, double ky, double th) {
double r32450 = ky;
double r32451 = sin(r32450);
double r32452 = kx;
double r32453 = sin(r32452);
double r32454 = 2.0;
double r32455 = pow(r32453, r32454);
double r32456 = pow(r32451, r32454);
double r32457 = r32455 + r32456;
double r32458 = sqrt(r32457);
double r32459 = r32451 / r32458;
double r32460 = cbrt(r32459);
double r32461 = sqrt(r32458);
double r32462 = r32461 * r32461;
double r32463 = r32451 / r32462;
double r32464 = cbrt(r32463);
double r32465 = r32460 * r32464;
double r32466 = cbrt(r32458);
double r32467 = r32466 * r32466;
double r32468 = r32467 * r32466;
double r32469 = r32451 / r32468;
double r32470 = cbrt(r32469);
double r32471 = r32465 * r32470;
double r32472 = th;
double r32473 = sin(r32472);
double r32474 = r32471 * r32473;
return r32474;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 12.9
rmApplied add-cube-cbrt13.2
rmApplied add-sqr-sqrt13.2
Applied sqrt-prod13.2
rmApplied add-cube-cbrt13.3
Final simplification13.3
herbie shell --seed 2020039
(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)))