\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\sin th \cdot \frac{\frac{1}{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}}{\frac{1}{\sin ky}}double f(double kx, double ky, double th) {
double r3787071 = ky;
double r3787072 = sin(r3787071);
double r3787073 = kx;
double r3787074 = sin(r3787073);
double r3787075 = 2.0;
double r3787076 = pow(r3787074, r3787075);
double r3787077 = pow(r3787072, r3787075);
double r3787078 = r3787076 + r3787077;
double r3787079 = sqrt(r3787078);
double r3787080 = r3787072 / r3787079;
double r3787081 = th;
double r3787082 = sin(r3787081);
double r3787083 = r3787080 * r3787082;
return r3787083;
}
double f(double kx, double ky, double th) {
double r3787084 = th;
double r3787085 = sin(r3787084);
double r3787086 = 1.0;
double r3787087 = kx;
double r3787088 = sin(r3787087);
double r3787089 = r3787088 * r3787088;
double r3787090 = ky;
double r3787091 = sin(r3787090);
double r3787092 = r3787091 * r3787091;
double r3787093 = r3787089 + r3787092;
double r3787094 = sqrt(r3787093);
double r3787095 = r3787086 / r3787094;
double r3787096 = r3787086 / r3787091;
double r3787097 = r3787095 / r3787096;
double r3787098 = r3787085 * r3787097;
return r3787098;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 12.4
Simplified12.4
rmApplied *-un-lft-identity12.4
Applied associate-/l*12.5
rmApplied div-inv12.6
Applied associate-/r*12.5
Final simplification12.5
herbie shell --seed 2019120
(FPCore (kx ky th)
:name "Toniolo and Linder, Equation (3b), real"
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)))