\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{\frac{1}{2}}{\sqrt[3]{\sqrt{\left(\sin ky \cdot \sin ky + \sin kx \cdot \sin kx\right) \cdot \left(\frac{2 \cdot \ell}{Om} \cdot \frac{2 \cdot \ell}{Om}\right) + 1}} \cdot \sqrt[3]{\sqrt{\left(\sin ky \cdot \sin ky + \sin kx \cdot \sin kx\right) \cdot \left(\frac{2 \cdot \ell}{Om} \cdot \frac{2 \cdot \ell}{Om}\right) + 1}}}}{\sqrt[3]{\sqrt[3]{\sqrt{\left(\sin ky \cdot \sin ky + \sin kx \cdot \sin kx\right) \cdot \left(\frac{2 \cdot \ell}{Om} \cdot \frac{2 \cdot \ell}{Om}\right) + 1}}} \cdot \left(\sqrt[3]{\sqrt[3]{\sqrt{\left(\sin ky \cdot \sin ky + \sin kx \cdot \sin kx\right) \cdot \left(\frac{2 \cdot \ell}{Om} \cdot \frac{2 \cdot \ell}{Om}\right) + 1}}} \cdot \sqrt[3]{\sqrt[3]{\sqrt{\left(\sin ky \cdot \sin ky + \sin kx \cdot \sin kx\right) \cdot \left(\frac{2 \cdot \ell}{Om} \cdot \frac{2 \cdot \ell}{Om}\right) + 1}}}\right)} + \frac{1}{2}}double f(double l, double Om, double kx, double ky) {
double r1168936 = 1.0;
double r1168937 = 2.0;
double r1168938 = r1168936 / r1168937;
double r1168939 = l;
double r1168940 = r1168937 * r1168939;
double r1168941 = Om;
double r1168942 = r1168940 / r1168941;
double r1168943 = pow(r1168942, r1168937);
double r1168944 = kx;
double r1168945 = sin(r1168944);
double r1168946 = pow(r1168945, r1168937);
double r1168947 = ky;
double r1168948 = sin(r1168947);
double r1168949 = pow(r1168948, r1168937);
double r1168950 = r1168946 + r1168949;
double r1168951 = r1168943 * r1168950;
double r1168952 = r1168936 + r1168951;
double r1168953 = sqrt(r1168952);
double r1168954 = r1168936 / r1168953;
double r1168955 = r1168936 + r1168954;
double r1168956 = r1168938 * r1168955;
double r1168957 = sqrt(r1168956);
return r1168957;
}
double f(double l, double Om, double kx, double ky) {
double r1168958 = 0.5;
double r1168959 = ky;
double r1168960 = sin(r1168959);
double r1168961 = r1168960 * r1168960;
double r1168962 = kx;
double r1168963 = sin(r1168962);
double r1168964 = r1168963 * r1168963;
double r1168965 = r1168961 + r1168964;
double r1168966 = 2.0;
double r1168967 = l;
double r1168968 = r1168966 * r1168967;
double r1168969 = Om;
double r1168970 = r1168968 / r1168969;
double r1168971 = r1168970 * r1168970;
double r1168972 = r1168965 * r1168971;
double r1168973 = 1.0;
double r1168974 = r1168972 + r1168973;
double r1168975 = sqrt(r1168974);
double r1168976 = cbrt(r1168975);
double r1168977 = r1168976 * r1168976;
double r1168978 = r1168958 / r1168977;
double r1168979 = cbrt(r1168976);
double r1168980 = r1168979 * r1168979;
double r1168981 = r1168979 * r1168980;
double r1168982 = r1168978 / r1168981;
double r1168983 = r1168982 + r1168958;
double r1168984 = sqrt(r1168983);
return r1168984;
}



Bits error versus l



Bits error versus Om



Bits error versus kx



Bits error versus ky
Results
Initial program 1.7
Simplified1.7
rmApplied *-un-lft-identity1.7
Applied associate-/r*1.7
Simplified1.7
rmApplied add-cube-cbrt1.7
Applied associate-/r*1.7
rmApplied add-cube-cbrt1.7
Final simplification1.7
herbie shell --seed 2019141
(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))))))))))