\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\sin th \cdot \frac{\sin ky}{\mathsf{hypot}\left(\left(\sin ky\right), \left(\sin kx\right)\right)}double f(double kx, double ky, double th) {
double r995283 = ky;
double r995284 = sin(r995283);
double r995285 = kx;
double r995286 = sin(r995285);
double r995287 = 2.0;
double r995288 = pow(r995286, r995287);
double r995289 = pow(r995284, r995287);
double r995290 = r995288 + r995289;
double r995291 = sqrt(r995290);
double r995292 = r995284 / r995291;
double r995293 = th;
double r995294 = sin(r995293);
double r995295 = r995292 * r995294;
return r995295;
}
double f(double kx, double ky, double th) {
double r995296 = th;
double r995297 = sin(r995296);
double r995298 = ky;
double r995299 = sin(r995298);
double r995300 = kx;
double r995301 = sin(r995300);
double r995302 = hypot(r995299, r995301);
double r995303 = r995299 / r995302;
double r995304 = r995297 * r995303;
return r995304;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 12.4
Simplified8.7
Taylor expanded around inf 12.4
Simplified8.7
Final simplification8.7
herbie shell --seed 2019120 +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)))