\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\sin th \cdot \left(\sin ky \cdot \frac{1}{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}\right)double f(double kx, double ky, double th) {
double r1070439 = ky;
double r1070440 = sin(r1070439);
double r1070441 = kx;
double r1070442 = sin(r1070441);
double r1070443 = 2.0;
double r1070444 = pow(r1070442, r1070443);
double r1070445 = pow(r1070440, r1070443);
double r1070446 = r1070444 + r1070445;
double r1070447 = sqrt(r1070446);
double r1070448 = r1070440 / r1070447;
double r1070449 = th;
double r1070450 = sin(r1070449);
double r1070451 = r1070448 * r1070450;
return r1070451;
}
double f(double kx, double ky, double th) {
double r1070452 = th;
double r1070453 = sin(r1070452);
double r1070454 = ky;
double r1070455 = sin(r1070454);
double r1070456 = 1.0;
double r1070457 = kx;
double r1070458 = sin(r1070457);
double r1070459 = r1070458 * r1070458;
double r1070460 = r1070455 * r1070455;
double r1070461 = r1070459 + r1070460;
double r1070462 = sqrt(r1070461);
double r1070463 = r1070456 / r1070462;
double r1070464 = r1070455 * r1070463;
double r1070465 = r1070453 * r1070464;
return r1070465;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 12.6
Simplified12.6
rmApplied div-inv12.7
Final simplification12.7
herbie shell --seed 2019141
(FPCore (kx ky th)
:name "Toniolo and Linder, Equation (3b), real"
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)))