\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\sin th \cdot \frac{\frac{\sin ky}{\sqrt{\sqrt{\sin ky \cdot \sin ky + \sin kx \cdot \sin kx}}}}{\sqrt{\sqrt{\sin ky \cdot \sin ky + \sin kx \cdot \sin kx}}}double f(double kx, double ky, double th) {
double r1145436 = ky;
double r1145437 = sin(r1145436);
double r1145438 = kx;
double r1145439 = sin(r1145438);
double r1145440 = 2.0;
double r1145441 = pow(r1145439, r1145440);
double r1145442 = pow(r1145437, r1145440);
double r1145443 = r1145441 + r1145442;
double r1145444 = sqrt(r1145443);
double r1145445 = r1145437 / r1145444;
double r1145446 = th;
double r1145447 = sin(r1145446);
double r1145448 = r1145445 * r1145447;
return r1145448;
}
double f(double kx, double ky, double th) {
double r1145449 = th;
double r1145450 = sin(r1145449);
double r1145451 = ky;
double r1145452 = sin(r1145451);
double r1145453 = r1145452 * r1145452;
double r1145454 = kx;
double r1145455 = sin(r1145454);
double r1145456 = r1145455 * r1145455;
double r1145457 = r1145453 + r1145456;
double r1145458 = sqrt(r1145457);
double r1145459 = sqrt(r1145458);
double r1145460 = r1145452 / r1145459;
double r1145461 = r1145460 / r1145459;
double r1145462 = r1145450 * r1145461;
return r1145462;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 12.0
Simplified12.0
rmApplied add-sqr-sqrt12.0
Applied sqrt-prod12.3
Applied associate-/r*12.3
Final simplification12.3
herbie shell --seed 2019146
(FPCore (kx ky th)
:name "Toniolo and Linder, Equation (3b), real"
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)))