\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{\frac{1}{2} \cdot \left(1 + \frac{\sqrt{1}}{\sqrt{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}} \cdot \frac{\sqrt{1}}{\sqrt{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}}\right)}double f(double l, double Om, double kx, double ky) {
double r55520 = 1.0;
double r55521 = 2.0;
double r55522 = r55520 / r55521;
double r55523 = l;
double r55524 = r55521 * r55523;
double r55525 = Om;
double r55526 = r55524 / r55525;
double r55527 = pow(r55526, r55521);
double r55528 = kx;
double r55529 = sin(r55528);
double r55530 = pow(r55529, r55521);
double r55531 = ky;
double r55532 = sin(r55531);
double r55533 = pow(r55532, r55521);
double r55534 = r55530 + r55533;
double r55535 = r55527 * r55534;
double r55536 = r55520 + r55535;
double r55537 = sqrt(r55536);
double r55538 = r55520 / r55537;
double r55539 = r55520 + r55538;
double r55540 = r55522 * r55539;
double r55541 = sqrt(r55540);
return r55541;
}
double f(double l, double Om, double kx, double ky) {
double r55542 = 1.0;
double r55543 = 2.0;
double r55544 = r55542 / r55543;
double r55545 = sqrt(r55542);
double r55546 = l;
double r55547 = r55543 * r55546;
double r55548 = Om;
double r55549 = r55547 / r55548;
double r55550 = pow(r55549, r55543);
double r55551 = kx;
double r55552 = sin(r55551);
double r55553 = pow(r55552, r55543);
double r55554 = ky;
double r55555 = sin(r55554);
double r55556 = pow(r55555, r55543);
double r55557 = r55553 + r55556;
double r55558 = r55550 * r55557;
double r55559 = r55542 + r55558;
double r55560 = sqrt(r55559);
double r55561 = sqrt(r55560);
double r55562 = r55545 / r55561;
double r55563 = r55562 * r55562;
double r55564 = r55542 + r55563;
double r55565 = r55544 * r55564;
double r55566 = sqrt(r55565);
return r55566;
}



Bits error versus l



Bits error versus Om



Bits error versus kx



Bits error versus ky
Results
Initial program 1.7
rmApplied add-sqr-sqrt1.7
Applied sqrt-prod1.7
Applied add-sqr-sqrt1.7
Applied times-frac1.7
Final simplification1.7
herbie shell --seed 2020035
(FPCore (l Om kx ky)
:name "Toniolo and Linder, Equation (3a)"
:precision binary64
(sqrt (* (/ 1 2) (+ 1 (/ 1 (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))))))))