\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\sin th \cdot \frac{1}{\frac{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}{\sin ky}}double f(double kx, double ky, double th) {
double r711504 = ky;
double r711505 = sin(r711504);
double r711506 = kx;
double r711507 = sin(r711506);
double r711508 = 2.0;
double r711509 = pow(r711507, r711508);
double r711510 = pow(r711505, r711508);
double r711511 = r711509 + r711510;
double r711512 = sqrt(r711511);
double r711513 = r711505 / r711512;
double r711514 = th;
double r711515 = sin(r711514);
double r711516 = r711513 * r711515;
return r711516;
}
double f(double kx, double ky, double th) {
double r711517 = th;
double r711518 = sin(r711517);
double r711519 = 1.0;
double r711520 = kx;
double r711521 = sin(r711520);
double r711522 = r711521 * r711521;
double r711523 = ky;
double r711524 = sin(r711523);
double r711525 = r711524 * r711524;
double r711526 = r711522 + r711525;
double r711527 = sqrt(r711526);
double r711528 = r711527 / r711524;
double r711529 = r711519 / r711528;
double r711530 = r711518 * r711529;
return r711530;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 12.1
Simplified12.1
rmApplied *-un-lft-identity12.1
Applied associate-/l*12.2
Final simplification12.2
herbie shell --seed 2019130
(FPCore (kx ky th)
:name "Toniolo and Linder, Equation (3b), real"
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)))