\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\frac{\sqrt[3]{\sin ky} \cdot \sqrt[3]{\sin ky}}{\sqrt[3]{\mathsf{hypot}\left(\sin ky, \sin kx\right)} \cdot \sqrt[3]{\mathsf{hypot}\left(\sin ky, \sin kx\right)}} \cdot \left(\frac{\sqrt[3]{\sqrt[3]{\sin ky} \cdot \sqrt[3]{\sin ky}} \cdot \sqrt[3]{\sqrt[3]{\sin ky}}}{\sqrt[3]{\mathsf{hypot}\left(\sin ky, \sin kx\right)}} \cdot \sin th\right)double f(double kx, double ky, double th) {
double r1025453 = ky;
double r1025454 = sin(r1025453);
double r1025455 = kx;
double r1025456 = sin(r1025455);
double r1025457 = 2.0;
double r1025458 = pow(r1025456, r1025457);
double r1025459 = pow(r1025454, r1025457);
double r1025460 = r1025458 + r1025459;
double r1025461 = sqrt(r1025460);
double r1025462 = r1025454 / r1025461;
double r1025463 = th;
double r1025464 = sin(r1025463);
double r1025465 = r1025462 * r1025464;
return r1025465;
}
double f(double kx, double ky, double th) {
double r1025466 = ky;
double r1025467 = sin(r1025466);
double r1025468 = cbrt(r1025467);
double r1025469 = r1025468 * r1025468;
double r1025470 = kx;
double r1025471 = sin(r1025470);
double r1025472 = hypot(r1025467, r1025471);
double r1025473 = cbrt(r1025472);
double r1025474 = r1025473 * r1025473;
double r1025475 = r1025469 / r1025474;
double r1025476 = cbrt(r1025469);
double r1025477 = cbrt(r1025468);
double r1025478 = r1025476 * r1025477;
double r1025479 = r1025478 / r1025473;
double r1025480 = th;
double r1025481 = sin(r1025480);
double r1025482 = r1025479 * r1025481;
double r1025483 = r1025475 * r1025482;
return r1025483;
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 12.3
Taylor expanded around inf 12.3
Simplified8.6
rmApplied add-cube-cbrt9.5
Applied add-cube-cbrt9.1
Applied times-frac9.1
Applied associate-*l*9.1
rmApplied add-cube-cbrt9.3
Applied cbrt-prod9.5
Final simplification9.5
herbie shell --seed 2019170 +o rules:numerics
(FPCore (kx ky th)
:name "Toniolo and Linder, Equation (3b), real"
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2.0) (pow (sin ky) 2.0)))) (sin th)))