\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\sin ky \cdot \left(\sin th \cdot \sqrt{\frac{1}{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}\right)double f(double kx, double ky, double th) {
double r1906604 = ky;
double r1906605 = sin(r1906604);
double r1906606 = kx;
double r1906607 = sin(r1906606);
double r1906608 = 2.0;
double r1906609 = pow(r1906607, r1906608);
double r1906610 = pow(r1906605, r1906608);
double r1906611 = r1906609 + r1906610;
double r1906612 = sqrt(r1906611);
double r1906613 = r1906605 / r1906612;
double r1906614 = th;
double r1906615 = sin(r1906614);
double r1906616 = r1906613 * r1906615;
return r1906616;
}
double f(double kx, double ky, double th) {
double r1906617 = ky;
double r1906618 = sin(r1906617);
double r1906619 = th;
double r1906620 = sin(r1906619);
double r1906621 = 1.0;
double r1906622 = kx;
double r1906623 = sin(r1906622);
double r1906624 = r1906623 * r1906623;
double r1906625 = r1906618 * r1906618;
double r1906626 = r1906624 + r1906625;
double r1906627 = r1906621 / r1906626;
double r1906628 = sqrt(r1906627);
double r1906629 = r1906620 * r1906628;
double r1906630 = r1906618 * r1906629;
return r1906630;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 12.2
Simplified12.2
Taylor expanded around inf 13.9
Simplified12.6
Final simplification12.6
herbie shell --seed 2019107
(FPCore (kx ky th)
:name "Toniolo and Linder, Equation (3b), real"
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)))