\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\sin th \cdot \frac{1}{\frac{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}{\sin ky}}double f(double kx, double ky, double th) {
double r1169706 = ky;
double r1169707 = sin(r1169706);
double r1169708 = kx;
double r1169709 = sin(r1169708);
double r1169710 = 2.0;
double r1169711 = pow(r1169709, r1169710);
double r1169712 = pow(r1169707, r1169710);
double r1169713 = r1169711 + r1169712;
double r1169714 = sqrt(r1169713);
double r1169715 = r1169707 / r1169714;
double r1169716 = th;
double r1169717 = sin(r1169716);
double r1169718 = r1169715 * r1169717;
return r1169718;
}
double f(double kx, double ky, double th) {
double r1169719 = th;
double r1169720 = sin(r1169719);
double r1169721 = 1.0;
double r1169722 = kx;
double r1169723 = sin(r1169722);
double r1169724 = r1169723 * r1169723;
double r1169725 = ky;
double r1169726 = sin(r1169725);
double r1169727 = r1169726 * r1169726;
double r1169728 = r1169724 + r1169727;
double r1169729 = sqrt(r1169728);
double r1169730 = r1169729 / r1169726;
double r1169731 = r1169721 / r1169730;
double r1169732 = r1169720 * r1169731;
return r1169732;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 11.9
Simplified11.9
rmApplied *-commutative11.9
rmApplied clear-num12.0
Final simplification12.0
herbie shell --seed 2019121
(FPCore (kx ky th)
:name "Toniolo and Linder, Equation (3b), real"
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)))