\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{\frac{1}{\sqrt[3]{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}} \cdot \sqrt[3]{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}}}{\left(\sqrt[3]{\sqrt[3]{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}} \cdot \sqrt[3]{\sqrt[3]{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}}\right) \cdot \sqrt[3]{\sqrt[3]{\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 r46803 = 1.0;
double r46804 = 2.0;
double r46805 = r46803 / r46804;
double r46806 = l;
double r46807 = r46804 * r46806;
double r46808 = Om;
double r46809 = r46807 / r46808;
double r46810 = pow(r46809, r46804);
double r46811 = kx;
double r46812 = sin(r46811);
double r46813 = pow(r46812, r46804);
double r46814 = ky;
double r46815 = sin(r46814);
double r46816 = pow(r46815, r46804);
double r46817 = r46813 + r46816;
double r46818 = r46810 * r46817;
double r46819 = r46803 + r46818;
double r46820 = sqrt(r46819);
double r46821 = r46803 / r46820;
double r46822 = r46803 + r46821;
double r46823 = r46805 * r46822;
double r46824 = sqrt(r46823);
return r46824;
}
double f(double l, double Om, double kx, double ky) {
double r46825 = 1.0;
double r46826 = 2.0;
double r46827 = r46825 / r46826;
double r46828 = l;
double r46829 = r46826 * r46828;
double r46830 = Om;
double r46831 = r46829 / r46830;
double r46832 = pow(r46831, r46826);
double r46833 = kx;
double r46834 = sin(r46833);
double r46835 = pow(r46834, r46826);
double r46836 = ky;
double r46837 = sin(r46836);
double r46838 = pow(r46837, r46826);
double r46839 = r46835 + r46838;
double r46840 = r46832 * r46839;
double r46841 = r46825 + r46840;
double r46842 = sqrt(r46841);
double r46843 = cbrt(r46842);
double r46844 = r46843 * r46843;
double r46845 = r46825 / r46844;
double r46846 = cbrt(r46843);
double r46847 = r46846 * r46846;
double r46848 = r46847 * r46846;
double r46849 = r46845 / r46848;
double r46850 = r46825 + r46849;
double r46851 = r46827 * r46850;
double r46852 = sqrt(r46851);
return r46852;
}



Bits error versus l



Bits error versus Om



Bits error versus kx



Bits error versus ky
Results
Initial program 1.5
rmApplied add-cube-cbrt1.5
Applied associate-/r*1.5
rmApplied add-cube-cbrt1.5
Final simplification1.5
herbie shell --seed 2019208
(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))))))))))