\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{1}{\left(\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)}}\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)}}}\right)}double f(double l, double Om, double kx, double ky) {
double r45916 = 1.0;
double r45917 = 2.0;
double r45918 = r45916 / r45917;
double r45919 = l;
double r45920 = r45917 * r45919;
double r45921 = Om;
double r45922 = r45920 / r45921;
double r45923 = pow(r45922, r45917);
double r45924 = kx;
double r45925 = sin(r45924);
double r45926 = pow(r45925, r45917);
double r45927 = ky;
double r45928 = sin(r45927);
double r45929 = pow(r45928, r45917);
double r45930 = r45926 + r45929;
double r45931 = r45923 * r45930;
double r45932 = r45916 + r45931;
double r45933 = sqrt(r45932);
double r45934 = r45916 / r45933;
double r45935 = r45916 + r45934;
double r45936 = r45918 * r45935;
double r45937 = sqrt(r45936);
return r45937;
}
double f(double l, double Om, double kx, double ky) {
double r45938 = 1.0;
double r45939 = 2.0;
double r45940 = r45938 / r45939;
double r45941 = l;
double r45942 = r45939 * r45941;
double r45943 = Om;
double r45944 = r45942 / r45943;
double r45945 = pow(r45944, r45939);
double r45946 = kx;
double r45947 = sin(r45946);
double r45948 = pow(r45947, r45939);
double r45949 = ky;
double r45950 = sin(r45949);
double r45951 = pow(r45950, r45939);
double r45952 = r45948 + r45951;
double r45953 = r45945 * r45952;
double r45954 = r45938 + r45953;
double r45955 = sqrt(r45954);
double r45956 = cbrt(r45955);
double r45957 = r45956 * r45956;
double r45958 = r45957 * r45956;
double r45959 = r45938 / r45958;
double r45960 = r45938 + r45959;
double r45961 = r45940 * r45960;
double r45962 = sqrt(r45961);
return r45962;
}



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
Final simplification1.7
herbie shell --seed 2020049
(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))))))))))