\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\sin ky \cdot \frac{\sin th}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}double f(double kx, double ky, double th) {
double r29539 = ky;
double r29540 = sin(r29539);
double r29541 = kx;
double r29542 = sin(r29541);
double r29543 = 2.0;
double r29544 = pow(r29542, r29543);
double r29545 = pow(r29540, r29543);
double r29546 = r29544 + r29545;
double r29547 = sqrt(r29546);
double r29548 = r29540 / r29547;
double r29549 = th;
double r29550 = sin(r29549);
double r29551 = r29548 * r29550;
return r29551;
}
double f(double kx, double ky, double th) {
double r29552 = ky;
double r29553 = sin(r29552);
double r29554 = th;
double r29555 = sin(r29554);
double r29556 = kx;
double r29557 = sin(r29556);
double r29558 = 2.0;
double r29559 = pow(r29557, r29558);
double r29560 = pow(r29553, r29558);
double r29561 = r29559 + r29560;
double r29562 = sqrt(r29561);
double r29563 = r29555 / r29562;
double r29564 = r29553 * r29563;
return r29564;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 3.8
Taylor expanded around inf 3.8
rmApplied div-inv3.9
Applied associate-*l*4.0
Simplified3.9
Final simplification3.9
herbie shell --seed 2020057
(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)))