\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{\frac{1}{2}}{\left(\sqrt[3]{\sqrt[3]{\sqrt{\left(\frac{2 \cdot \ell}{Om} \cdot \left(\sin ky \cdot \sin ky + \sin kx \cdot \sin kx\right)\right) \cdot \frac{2 \cdot \ell}{Om} + 1}}} \cdot \left(\sqrt[3]{\sqrt[3]{\sqrt{\left(\frac{2 \cdot \ell}{Om} \cdot \left(\sin ky \cdot \sin ky + \sin kx \cdot \sin kx\right)\right) \cdot \frac{2 \cdot \ell}{Om} + 1}}} \cdot \sqrt[3]{\sqrt[3]{\sqrt{\left(\frac{2 \cdot \ell}{Om} \cdot \left(\sin ky \cdot \sin ky + \sin kx \cdot \sin kx\right)\right) \cdot \frac{2 \cdot \ell}{Om} + 1}}}\right)\right) \cdot \left(\sqrt[3]{\sqrt{\left(\frac{2 \cdot \ell}{Om} \cdot \left(\sin ky \cdot \sin ky + \sin kx \cdot \sin kx\right)\right) \cdot \frac{2 \cdot \ell}{Om} + 1}} \cdot \left(\sqrt[3]{\sqrt[3]{\sqrt{\left(\frac{2 \cdot \ell}{Om} \cdot \left(\sin ky \cdot \sin ky + \sin kx \cdot \sin kx\right)\right) \cdot \frac{2 \cdot \ell}{Om} + 1}}} \cdot \left(\sqrt[3]{\sqrt[3]{\sqrt{\left(\frac{2 \cdot \ell}{Om} \cdot \left(\sin ky \cdot \sin ky + \sin kx \cdot \sin kx\right)\right) \cdot \frac{2 \cdot \ell}{Om} + 1}}} \cdot \sqrt[3]{\sqrt[3]{\sqrt{\left(\frac{2 \cdot \ell}{Om} \cdot \left(\sin ky \cdot \sin ky + \sin kx \cdot \sin kx\right)\right) \cdot \frac{2 \cdot \ell}{Om} + 1}}}\right)\right)\right)} + \frac{1}{2}}double f(double l, double Om, double kx, double ky) {
double r1250539 = 1.0;
double r1250540 = 2.0;
double r1250541 = r1250539 / r1250540;
double r1250542 = l;
double r1250543 = r1250540 * r1250542;
double r1250544 = Om;
double r1250545 = r1250543 / r1250544;
double r1250546 = pow(r1250545, r1250540);
double r1250547 = kx;
double r1250548 = sin(r1250547);
double r1250549 = pow(r1250548, r1250540);
double r1250550 = ky;
double r1250551 = sin(r1250550);
double r1250552 = pow(r1250551, r1250540);
double r1250553 = r1250549 + r1250552;
double r1250554 = r1250546 * r1250553;
double r1250555 = r1250539 + r1250554;
double r1250556 = sqrt(r1250555);
double r1250557 = r1250539 / r1250556;
double r1250558 = r1250539 + r1250557;
double r1250559 = r1250541 * r1250558;
double r1250560 = sqrt(r1250559);
return r1250560;
}
double f(double l, double Om, double kx, double ky) {
double r1250561 = 0.5;
double r1250562 = 2.0;
double r1250563 = l;
double r1250564 = r1250562 * r1250563;
double r1250565 = Om;
double r1250566 = r1250564 / r1250565;
double r1250567 = ky;
double r1250568 = sin(r1250567);
double r1250569 = r1250568 * r1250568;
double r1250570 = kx;
double r1250571 = sin(r1250570);
double r1250572 = r1250571 * r1250571;
double r1250573 = r1250569 + r1250572;
double r1250574 = r1250566 * r1250573;
double r1250575 = r1250574 * r1250566;
double r1250576 = 1.0;
double r1250577 = r1250575 + r1250576;
double r1250578 = sqrt(r1250577);
double r1250579 = cbrt(r1250578);
double r1250580 = cbrt(r1250579);
double r1250581 = r1250580 * r1250580;
double r1250582 = r1250580 * r1250581;
double r1250583 = r1250579 * r1250582;
double r1250584 = r1250582 * r1250583;
double r1250585 = r1250561 / r1250584;
double r1250586 = r1250585 + r1250561;
double r1250587 = sqrt(r1250586);
return r1250587;
}



Bits error versus l



Bits error versus Om



Bits error versus kx



Bits error versus ky
Results
Initial program 1.8
Simplified1.8
rmApplied associate-*r*1.5
rmApplied add-cube-cbrt1.5
rmApplied add-cube-cbrt1.5
rmApplied add-cube-cbrt1.5
Final simplification1.5
herbie shell --seed 2019142
(FPCore (l Om kx ky)
:name "Toniolo and Linder, Equation (3a)"
(sqrt (* (/ 1 2) (+ 1 (/ 1 (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))))))))