\sqrt{\frac{1}{2} \cdot \left(1 + \frac{1}{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}\right)}\sqrt{\left(\frac{\frac{1}{\sqrt[3]{\sqrt{\left({\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}\right) \cdot {\left(\frac{\ell \cdot 2}{Om}\right)}^{2} + 1}} \cdot \sqrt[3]{\sqrt{\left({\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}\right) \cdot {\left(\frac{\ell \cdot 2}{Om}\right)}^{2} + 1}}}}{\sqrt[3]{\sqrt[3]{\sqrt{\left({\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}\right) \cdot {\left(\frac{\ell \cdot 2}{Om}\right)}^{2} + 1}}} \cdot \left(\sqrt[3]{\sqrt[3]{\sqrt{\left({\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}\right) \cdot {\left(\frac{\ell \cdot 2}{Om}\right)}^{2} + 1}}} \cdot \sqrt[3]{\sqrt[3]{\sqrt{\left({\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}\right) \cdot {\left(\frac{\ell \cdot 2}{Om}\right)}^{2} + 1}}}\right)} + 1\right) \cdot \frac{1}{2}}double f(double l, double Om, double kx, double ky) {
double r1695494 = 1.0;
double r1695495 = 2.0;
double r1695496 = r1695494 / r1695495;
double r1695497 = l;
double r1695498 = r1695495 * r1695497;
double r1695499 = Om;
double r1695500 = r1695498 / r1695499;
double r1695501 = pow(r1695500, r1695495);
double r1695502 = kx;
double r1695503 = sin(r1695502);
double r1695504 = pow(r1695503, r1695495);
double r1695505 = ky;
double r1695506 = sin(r1695505);
double r1695507 = pow(r1695506, r1695495);
double r1695508 = r1695504 + r1695507;
double r1695509 = r1695501 * r1695508;
double r1695510 = r1695494 + r1695509;
double r1695511 = sqrt(r1695510);
double r1695512 = r1695494 / r1695511;
double r1695513 = r1695494 + r1695512;
double r1695514 = r1695496 * r1695513;
double r1695515 = sqrt(r1695514);
return r1695515;
}
double f(double l, double Om, double kx, double ky) {
double r1695516 = 1.0;
double r1695517 = ky;
double r1695518 = sin(r1695517);
double r1695519 = 2.0;
double r1695520 = pow(r1695518, r1695519);
double r1695521 = kx;
double r1695522 = sin(r1695521);
double r1695523 = pow(r1695522, r1695519);
double r1695524 = r1695520 + r1695523;
double r1695525 = l;
double r1695526 = r1695525 * r1695519;
double r1695527 = Om;
double r1695528 = r1695526 / r1695527;
double r1695529 = pow(r1695528, r1695519);
double r1695530 = r1695524 * r1695529;
double r1695531 = r1695530 + r1695516;
double r1695532 = sqrt(r1695531);
double r1695533 = cbrt(r1695532);
double r1695534 = r1695533 * r1695533;
double r1695535 = r1695516 / r1695534;
double r1695536 = cbrt(r1695533);
double r1695537 = r1695536 * r1695536;
double r1695538 = r1695536 * r1695537;
double r1695539 = r1695535 / r1695538;
double r1695540 = r1695539 + r1695516;
double r1695541 = r1695516 / r1695519;
double r1695542 = r1695540 * r1695541;
double r1695543 = sqrt(r1695542);
return r1695543;
}



Bits error versus l



Bits error versus Om



Bits error versus kx



Bits error versus ky
Results
Initial program 1.6
rmApplied add-cube-cbrt1.6
Applied associate-/r*1.6
rmApplied add-cube-cbrt1.6
Final simplification1.6
herbie shell --seed 2019174
(FPCore (l Om kx ky)
:name "Toniolo and Linder, Equation (3a)"
(sqrt (* (/ 1.0 2.0) (+ 1.0 (/ 1.0 (sqrt (+ 1.0 (* (pow (/ (* 2.0 l) Om) 2.0) (+ (pow (sin kx) 2.0) (pow (sin ky) 2.0))))))))))