\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\frac{\sin th}{\frac{\mathsf{hypot}\left(\sin ky, \sin kx\right)}{\sin ky}}double f(double kx, double ky, double th) {
double r669206 = ky;
double r669207 = sin(r669206);
double r669208 = kx;
double r669209 = sin(r669208);
double r669210 = 2.0;
double r669211 = pow(r669209, r669210);
double r669212 = pow(r669207, r669210);
double r669213 = r669211 + r669212;
double r669214 = sqrt(r669213);
double r669215 = r669207 / r669214;
double r669216 = th;
double r669217 = sin(r669216);
double r669218 = r669215 * r669217;
return r669218;
}
double f(double kx, double ky, double th) {
double r669219 = th;
double r669220 = sin(r669219);
double r669221 = ky;
double r669222 = sin(r669221);
double r669223 = kx;
double r669224 = sin(r669223);
double r669225 = hypot(r669222, r669224);
double r669226 = r669225 / r669222;
double r669227 = r669220 / r669226;
return r669227;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 12.6
Simplified8.8
rmApplied clear-num8.8
rmApplied un-div-inv8.8
Final simplification8.8
herbie shell --seed 2019141 +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)))