\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\sin ky \cdot \frac{\sin th}{\mathsf{hypot}\left(\sin ky, \sin kx\right)}double f(double kx, double ky, double th) {
double r36276 = ky;
double r36277 = sin(r36276);
double r36278 = kx;
double r36279 = sin(r36278);
double r36280 = 2.0;
double r36281 = pow(r36279, r36280);
double r36282 = pow(r36277, r36280);
double r36283 = r36281 + r36282;
double r36284 = sqrt(r36283);
double r36285 = r36277 / r36284;
double r36286 = th;
double r36287 = sin(r36286);
double r36288 = r36285 * r36287;
return r36288;
}
double f(double kx, double ky, double th) {
double r36289 = ky;
double r36290 = sin(r36289);
double r36291 = th;
double r36292 = sin(r36291);
double r36293 = kx;
double r36294 = sin(r36293);
double r36295 = hypot(r36290, r36294);
double r36296 = r36292 / r36295;
double r36297 = r36290 * r36296;
return r36297;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 12.6
Taylor expanded around inf 12.6
Simplified8.8
rmApplied div-inv8.9
Applied associate-*l*9.0
Simplified8.9
Final simplification8.9
herbie shell --seed 2019326 +o rules:numerics
(FPCore (kx ky th)
:name "Toniolo and Linder, Equation (3b), real"
:precision binary64
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)))