\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\frac{\sin ky}{\mathsf{hypot}\left(\sin kx, \sin ky\right)} \cdot \sin thdouble f(double kx, double ky, double th) {
double r40471 = ky;
double r40472 = sin(r40471);
double r40473 = kx;
double r40474 = sin(r40473);
double r40475 = 2.0;
double r40476 = pow(r40474, r40475);
double r40477 = pow(r40472, r40475);
double r40478 = r40476 + r40477;
double r40479 = sqrt(r40478);
double r40480 = r40472 / r40479;
double r40481 = th;
double r40482 = sin(r40481);
double r40483 = r40480 * r40482;
return r40483;
}
double f(double kx, double ky, double th) {
double r40484 = ky;
double r40485 = sin(r40484);
double r40486 = kx;
double r40487 = sin(r40486);
double r40488 = hypot(r40487, r40485);
double r40489 = r40485 / r40488;
double r40490 = th;
double r40491 = sin(r40490);
double r40492 = r40489 * r40491;
return r40492;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 12.5
Taylor expanded around inf 12.5
Simplified8.6
Final simplification8.6
herbie shell --seed 2019198 +o rules:numerics
(FPCore (kx ky th)
:name "Toniolo and Linder, Equation (3b), real"
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2.0) (pow (sin ky) 2.0)))) (sin th)))