\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\frac{\sin ky}{\mathsf{hypot}\left(\sin ky, \sin kx\right)} \cdot \sin thdouble f(double kx, double ky, double th) {
double r43525 = ky;
double r43526 = sin(r43525);
double r43527 = kx;
double r43528 = sin(r43527);
double r43529 = 2.0;
double r43530 = pow(r43528, r43529);
double r43531 = pow(r43526, r43529);
double r43532 = r43530 + r43531;
double r43533 = sqrt(r43532);
double r43534 = r43526 / r43533;
double r43535 = th;
double r43536 = sin(r43535);
double r43537 = r43534 * r43536;
return r43537;
}
double f(double kx, double ky, double th) {
double r43538 = ky;
double r43539 = sin(r43538);
double r43540 = kx;
double r43541 = sin(r43540);
double r43542 = hypot(r43539, r43541);
double r43543 = r43539 / r43542;
double r43544 = th;
double r43545 = sin(r43544);
double r43546 = r43543 * r43545;
return r43546;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 12.7
Taylor expanded around inf 12.7
Simplified9.1
Final simplification9.1
herbie shell --seed 2020018 +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)))