\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 kx\right), \left(\sin ky\right)\right)}double f(double kx, double ky, double th) {
double r623518 = ky;
double r623519 = sin(r623518);
double r623520 = kx;
double r623521 = sin(r623520);
double r623522 = 2.0;
double r623523 = pow(r623521, r623522);
double r623524 = pow(r623519, r623522);
double r623525 = r623523 + r623524;
double r623526 = sqrt(r623525);
double r623527 = r623519 / r623526;
double r623528 = th;
double r623529 = sin(r623528);
double r623530 = r623527 * r623529;
return r623530;
}
double f(double kx, double ky, double th) {
double r623531 = th;
double r623532 = sin(r623531);
double r623533 = ky;
double r623534 = sin(r623533);
double r623535 = kx;
double r623536 = sin(r623535);
double r623537 = hypot(r623536, r623534);
double r623538 = r623534 / r623537;
double r623539 = r623532 * r623538;
return r623539;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 12.1
Simplified8.8
rmApplied add-sqr-sqrt9.1
Applied *-un-lft-identity9.1
Applied times-frac9.1
rmApplied frac-times9.1
Simplified9.1
Simplified8.8
Final simplification8.8
herbie shell --seed 2019129 +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)))