\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\left(\frac{1}{\left|\sqrt[3]{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}\right|} \cdot \frac{\sin ky}{\sqrt{\sqrt[3]{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}\right) \cdot \sin thdouble f(double kx, double ky, double th) {
double r39535 = ky;
double r39536 = sin(r39535);
double r39537 = kx;
double r39538 = sin(r39537);
double r39539 = 2.0;
double r39540 = pow(r39538, r39539);
double r39541 = pow(r39536, r39539);
double r39542 = r39540 + r39541;
double r39543 = sqrt(r39542);
double r39544 = r39536 / r39543;
double r39545 = th;
double r39546 = sin(r39545);
double r39547 = r39544 * r39546;
return r39547;
}
double f(double kx, double ky, double th) {
double r39548 = 1.0;
double r39549 = kx;
double r39550 = sin(r39549);
double r39551 = 2.0;
double r39552 = pow(r39550, r39551);
double r39553 = ky;
double r39554 = sin(r39553);
double r39555 = pow(r39554, r39551);
double r39556 = r39552 + r39555;
double r39557 = cbrt(r39556);
double r39558 = fabs(r39557);
double r39559 = r39548 / r39558;
double r39560 = sqrt(r39557);
double r39561 = r39554 / r39560;
double r39562 = r39559 * r39561;
double r39563 = th;
double r39564 = sin(r39563);
double r39565 = r39562 * r39564;
return r39565;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 12.3
rmApplied add-cube-cbrt12.7
Applied sqrt-prod12.7
Applied *-un-lft-identity12.7
Applied times-frac12.7
Simplified12.7
Final simplification12.7
herbie shell --seed 2019352
(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)))