\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[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)}}} \cdot \frac{\sqrt{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)}}}\right)}double f(double l, double Om, double kx, double ky) {
double r41750 = 1.0;
double r41751 = 2.0;
double r41752 = r41750 / r41751;
double r41753 = l;
double r41754 = r41751 * r41753;
double r41755 = Om;
double r41756 = r41754 / r41755;
double r41757 = pow(r41756, r41751);
double r41758 = kx;
double r41759 = sin(r41758);
double r41760 = pow(r41759, r41751);
double r41761 = ky;
double r41762 = sin(r41761);
double r41763 = pow(r41762, r41751);
double r41764 = r41760 + r41763;
double r41765 = r41757 * r41764;
double r41766 = r41750 + r41765;
double r41767 = sqrt(r41766);
double r41768 = r41750 / r41767;
double r41769 = r41750 + r41768;
double r41770 = r41752 * r41769;
double r41771 = sqrt(r41770);
return r41771;
}
double f(double l, double Om, double kx, double ky) {
double r41772 = 1.0;
double r41773 = 2.0;
double r41774 = r41772 / r41773;
double r41775 = sqrt(r41772);
double r41776 = l;
double r41777 = r41773 * r41776;
double r41778 = Om;
double r41779 = r41777 / r41778;
double r41780 = pow(r41779, r41773);
double r41781 = kx;
double r41782 = sin(r41781);
double r41783 = pow(r41782, r41773);
double r41784 = ky;
double r41785 = sin(r41784);
double r41786 = pow(r41785, r41773);
double r41787 = r41783 + r41786;
double r41788 = r41780 * r41787;
double r41789 = r41772 + r41788;
double r41790 = sqrt(r41789);
double r41791 = cbrt(r41790);
double r41792 = r41791 * r41791;
double r41793 = r41775 / r41792;
double r41794 = r41775 / r41791;
double r41795 = r41793 * r41794;
double r41796 = r41772 + r41795;
double r41797 = r41774 * r41796;
double r41798 = sqrt(r41797);
return r41798;
}



Bits error versus l



Bits error versus Om



Bits error versus kx



Bits error versus ky
Results
Initial program 1.7
rmApplied add-cube-cbrt1.7
Applied add-sqr-sqrt1.7
Applied times-frac1.7
Final simplification1.7
herbie shell --seed 2020001
(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))))))))))