\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\frac{\sin th}{\frac{\sqrt{\left(\sin kx\right)^2 + \left(\sin ky\right)^2}^*}{\sin ky}}double f(double kx, double ky, double th) {
double r1384141 = ky;
double r1384142 = sin(r1384141);
double r1384143 = kx;
double r1384144 = sin(r1384143);
double r1384145 = 2.0;
double r1384146 = pow(r1384144, r1384145);
double r1384147 = pow(r1384142, r1384145);
double r1384148 = r1384146 + r1384147;
double r1384149 = sqrt(r1384148);
double r1384150 = r1384142 / r1384149;
double r1384151 = th;
double r1384152 = sin(r1384151);
double r1384153 = r1384150 * r1384152;
return r1384153;
}
double f(double kx, double ky, double th) {
double r1384154 = th;
double r1384155 = sin(r1384154);
double r1384156 = kx;
double r1384157 = sin(r1384156);
double r1384158 = ky;
double r1384159 = sin(r1384158);
double r1384160 = hypot(r1384157, r1384159);
double r1384161 = r1384160 / r1384159;
double r1384162 = r1384155 / r1384161;
return r1384162;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 12.7
Simplified8.7
rmApplied clear-num8.8
rmApplied un-div-inv8.7
Final simplification8.7
herbie shell --seed 2019112 +o rules:numerics
(FPCore (kx ky th)
:name "Toniolo and Linder, Equation (3b), real"
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)))