\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\frac{\sin th}{\sqrt{\sqrt{\sin ky \cdot \sin ky + \sin kx \cdot \sin kx}}} \cdot \frac{\sin ky}{\sqrt{\sqrt{\sin ky \cdot \sin ky + \sin kx \cdot \sin kx}}}double f(double kx, double ky, double th) {
double r3399652 = ky;
double r3399653 = sin(r3399652);
double r3399654 = kx;
double r3399655 = sin(r3399654);
double r3399656 = 2.0;
double r3399657 = pow(r3399655, r3399656);
double r3399658 = pow(r3399653, r3399656);
double r3399659 = r3399657 + r3399658;
double r3399660 = sqrt(r3399659);
double r3399661 = r3399653 / r3399660;
double r3399662 = th;
double r3399663 = sin(r3399662);
double r3399664 = r3399661 * r3399663;
return r3399664;
}
double f(double kx, double ky, double th) {
double r3399665 = th;
double r3399666 = sin(r3399665);
double r3399667 = ky;
double r3399668 = sin(r3399667);
double r3399669 = r3399668 * r3399668;
double r3399670 = kx;
double r3399671 = sin(r3399670);
double r3399672 = r3399671 * r3399671;
double r3399673 = r3399669 + r3399672;
double r3399674 = sqrt(r3399673);
double r3399675 = sqrt(r3399674);
double r3399676 = r3399666 / r3399675;
double r3399677 = r3399668 / r3399675;
double r3399678 = r3399676 * r3399677;
return r3399678;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 12.4
Simplified12.4
rmApplied add-sqr-sqrt12.4
Applied sqrt-prod12.7
Applied *-un-lft-identity12.7
Applied times-frac12.7
Applied associate-*r*12.7
Simplified12.7
Final simplification12.7
herbie shell --seed 2019125
(FPCore (kx ky th)
:name "Toniolo and Linder, Equation (3b), real"
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)))