\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\frac{\sin ky}{\mathsf{hypot}\left(\sin ky, \sin kx\right)} \cdot \sin thdouble f(double kx, double ky, double th) {
double r44110 = ky;
double r44111 = sin(r44110);
double r44112 = kx;
double r44113 = sin(r44112);
double r44114 = 2.0;
double r44115 = pow(r44113, r44114);
double r44116 = pow(r44111, r44114);
double r44117 = r44115 + r44116;
double r44118 = sqrt(r44117);
double r44119 = r44111 / r44118;
double r44120 = th;
double r44121 = sin(r44120);
double r44122 = r44119 * r44121;
return r44122;
}
double f(double kx, double ky, double th) {
double r44123 = ky;
double r44124 = sin(r44123);
double r44125 = kx;
double r44126 = sin(r44125);
double r44127 = hypot(r44124, r44126);
double r44128 = r44124 / r44127;
double r44129 = th;
double r44130 = sin(r44129);
double r44131 = r44128 * r44130;
return r44131;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 4.0
Taylor expanded around inf 4.0
Simplified0.2
rmApplied clear-num0.3
rmApplied *-un-lft-identity0.3
Applied associate-*r*0.3
Simplified0.2
Final simplification0.2
herbie shell --seed 2020065 +o rules:numerics
(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)))