\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\sin th \cdot \left(\frac{1}{\mathsf{hypot}\left(\sin ky, \sin kx\right)} \cdot \sin ky\right)double f(double kx, double ky, double th) {
double r777702 = ky;
double r777703 = sin(r777702);
double r777704 = kx;
double r777705 = sin(r777704);
double r777706 = 2.0;
double r777707 = pow(r777705, r777706);
double r777708 = pow(r777703, r777706);
double r777709 = r777707 + r777708;
double r777710 = sqrt(r777709);
double r777711 = r777703 / r777710;
double r777712 = th;
double r777713 = sin(r777712);
double r777714 = r777711 * r777713;
return r777714;
}
double f(double kx, double ky, double th) {
double r777715 = th;
double r777716 = sin(r777715);
double r777717 = 1.0;
double r777718 = ky;
double r777719 = sin(r777718);
double r777720 = kx;
double r777721 = sin(r777720);
double r777722 = hypot(r777719, r777721);
double r777723 = r777717 / r777722;
double r777724 = r777723 * r777719;
double r777725 = r777716 * r777724;
return r777725;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 12.3
Simplified8.5
rmApplied div-inv8.6
Final simplification8.6
herbie shell --seed 2019138 +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)))