\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 r1497562 = ky;
double r1497563 = sin(r1497562);
double r1497564 = kx;
double r1497565 = sin(r1497564);
double r1497566 = 2.0;
double r1497567 = pow(r1497565, r1497566);
double r1497568 = pow(r1497563, r1497566);
double r1497569 = r1497567 + r1497568;
double r1497570 = sqrt(r1497569);
double r1497571 = r1497563 / r1497570;
double r1497572 = th;
double r1497573 = sin(r1497572);
double r1497574 = r1497571 * r1497573;
return r1497574;
}
double f(double kx, double ky, double th) {
double r1497575 = ky;
double r1497576 = sin(r1497575);
double r1497577 = kx;
double r1497578 = sin(r1497577);
double r1497579 = 2.0;
double r1497580 = pow(r1497578, r1497579);
double r1497581 = pow(r1497576, r1497579);
double r1497582 = r1497580 + r1497581;
double r1497583 = sqrt(r1497582);
double r1497584 = r1497576 / r1497583;
double r1497585 = 1.0;
bool r1497586 = r1497584 <= r1497585;
double r1497587 = cbrt(r1497584);
double r1497588 = r1497587 * r1497587;
double r1497589 = cbrt(r1497587);
double r1497590 = r1497589 * r1497589;
double r1497591 = r1497590 * r1497589;
double r1497592 = th;
double r1497593 = sin(r1497592);
double r1497594 = r1497591 * r1497593;
double r1497595 = r1497588 * r1497594;
double r1497596 = 0.08333333333333333;
double r1497597 = r1497577 * r1497596;
double r1497598 = r1497577 * r1497597;
double r1497599 = 0.16666666666666666;
double r1497600 = r1497575 * r1497575;
double r1497601 = r1497599 * r1497600;
double r1497602 = r1497598 - r1497601;
double r1497603 = r1497602 * r1497575;
double r1497604 = r1497575 + r1497603;
double r1497605 = r1497576 / r1497604;
double r1497606 = r1497605 * r1497593;
double r1497607 = r1497586 ? r1497595 : r1497606;
return r1497607;
}



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)))