\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 r47027 = ky;
double r47028 = sin(r47027);
double r47029 = kx;
double r47030 = sin(r47029);
double r47031 = 2.0;
double r47032 = pow(r47030, r47031);
double r47033 = pow(r47028, r47031);
double r47034 = r47032 + r47033;
double r47035 = sqrt(r47034);
double r47036 = r47028 / r47035;
double r47037 = th;
double r47038 = sin(r47037);
double r47039 = r47036 * r47038;
return r47039;
}
double f(double kx, double ky, double th) {
double r47040 = ky;
double r47041 = sin(r47040);
double r47042 = th;
double r47043 = sin(r47042);
double r47044 = kx;
double r47045 = sin(r47044);
double r47046 = 2.0;
double r47047 = pow(r47045, r47046);
double r47048 = pow(r47041, r47046);
double r47049 = r47047 + r47048;
double r47050 = sqrt(r47049);
double r47051 = r47043 / r47050;
double r47052 = r47041 * r47051;
return r47052;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 12.4
rmApplied div-inv12.5
Applied associate-*l*12.5
Simplified12.5
Final simplification12.5
herbie shell --seed 2019318
(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)))