\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\begin{array}{l}
\mathbf{if}\;\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \le 1:\\
\;\;\;\;\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 \left(\left(\left(\sqrt[3]{\sqrt[3]{\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}} \cdot \sqrt[3]{\sqrt[3]{\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}}\right) \cdot \sqrt[3]{\sqrt[3]{\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}}\right) \cdot \sin th\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\sin ky}{ky + \left(kx \cdot \left(kx \cdot \frac{1}{12}\right) - \frac{1}{6} \cdot \left(ky \cdot ky\right)\right) \cdot ky} \cdot \sin th\\
\end{array}double f(double kx, double ky, double th) {
double r1497564 = ky;
double r1497565 = sin(r1497564);
double r1497566 = kx;
double r1497567 = sin(r1497566);
double r1497568 = 2.0;
double r1497569 = pow(r1497567, r1497568);
double r1497570 = pow(r1497565, r1497568);
double r1497571 = r1497569 + r1497570;
double r1497572 = sqrt(r1497571);
double r1497573 = r1497565 / r1497572;
double r1497574 = th;
double r1497575 = sin(r1497574);
double r1497576 = r1497573 * r1497575;
return r1497576;
}
double f(double kx, double ky, double th) {
double r1497577 = ky;
double r1497578 = sin(r1497577);
double r1497579 = kx;
double r1497580 = sin(r1497579);
double r1497581 = 2.0;
double r1497582 = pow(r1497580, r1497581);
double r1497583 = pow(r1497578, r1497581);
double r1497584 = r1497582 + r1497583;
double r1497585 = sqrt(r1497584);
double r1497586 = r1497578 / r1497585;
double r1497587 = 1.0;
bool r1497588 = r1497586 <= r1497587;
double r1497589 = cbrt(r1497586);
double r1497590 = r1497589 * r1497589;
double r1497591 = cbrt(r1497589);
double r1497592 = r1497591 * r1497591;
double r1497593 = r1497592 * r1497591;
double r1497594 = th;
double r1497595 = sin(r1497594);
double r1497596 = r1497593 * r1497595;
double r1497597 = r1497590 * r1497596;
double r1497598 = 0.08333333333333333;
double r1497599 = r1497579 * r1497598;
double r1497600 = r1497579 * r1497599;
double r1497601 = 0.16666666666666666;
double r1497602 = r1497577 * r1497577;
double r1497603 = r1497601 * r1497602;
double r1497604 = r1497600 - r1497603;
double r1497605 = r1497604 * r1497577;
double r1497606 = r1497577 + r1497605;
double r1497607 = r1497578 / r1497606;
double r1497608 = r1497607 * r1497595;
double r1497609 = r1497588 ? r1497597 : r1497608;
return r1497609;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
if (/ (sin ky) (sqrt (+ (pow (sin kx) 2.0) (pow (sin ky) 2.0)))) < 1.0Initial program 11.0
rmApplied add-cube-cbrt11.3
Applied associate-*l*11.4
rmApplied add-cube-cbrt11.5
if 1.0 < (/ (sin ky) (sqrt (+ (pow (sin kx) 2.0) (pow (sin ky) 2.0)))) Initial program 62.7
Taylor expanded around 0 29.3
Simplified29.3
Final simplification12.0
herbie shell --seed 2019172
(FPCore (kx ky th)
:name "Toniolo and Linder, Equation (3b), real"
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2.0) (pow (sin ky) 2.0)))) (sin th)))