\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 r41548 = ky;
double r41549 = sin(r41548);
double r41550 = kx;
double r41551 = sin(r41550);
double r41552 = 2.0;
double r41553 = pow(r41551, r41552);
double r41554 = pow(r41549, r41552);
double r41555 = r41553 + r41554;
double r41556 = sqrt(r41555);
double r41557 = r41549 / r41556;
double r41558 = th;
double r41559 = sin(r41558);
double r41560 = r41557 * r41559;
return r41560;
}
double f(double kx, double ky, double th) {
double r41561 = ky;
double r41562 = sin(r41561);
double r41563 = th;
double r41564 = sin(r41563);
double r41565 = kx;
double r41566 = sin(r41565);
double r41567 = hypot(r41562, r41566);
double r41568 = r41564 / r41567;
double r41569 = r41562 * r41568;
return r41569;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 12.5
Taylor expanded around inf 12.5
Simplified8.7
rmApplied div-inv8.8
Applied associate-*l*8.8
Simplified8.8
Final simplification8.8
herbie shell --seed 2019346 +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)))