\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)}^{\left(\frac{2}{2}\right)} \cdot \left({\left(\frac{2 \cdot \ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \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)}^{\left(\frac{2}{2}\right)} \cdot \left({\left(\frac{2 \cdot \ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)\right)}}} \cdot \frac{\sqrt{1}}{\sqrt[3]{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left({\left(\frac{2 \cdot \ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)\right)}}}\right)}double f(double l, double Om, double kx, double ky) {
double r60226 = 1.0;
double r60227 = 2.0;
double r60228 = r60226 / r60227;
double r60229 = l;
double r60230 = r60227 * r60229;
double r60231 = Om;
double r60232 = r60230 / r60231;
double r60233 = pow(r60232, r60227);
double r60234 = kx;
double r60235 = sin(r60234);
double r60236 = pow(r60235, r60227);
double r60237 = ky;
double r60238 = sin(r60237);
double r60239 = pow(r60238, r60227);
double r60240 = r60236 + r60239;
double r60241 = r60233 * r60240;
double r60242 = r60226 + r60241;
double r60243 = sqrt(r60242);
double r60244 = r60226 / r60243;
double r60245 = r60226 + r60244;
double r60246 = r60228 * r60245;
double r60247 = sqrt(r60246);
return r60247;
}
double f(double l, double Om, double kx, double ky) {
double r60248 = 1.0;
double r60249 = 2.0;
double r60250 = r60248 / r60249;
double r60251 = sqrt(r60248);
double r60252 = l;
double r60253 = r60249 * r60252;
double r60254 = Om;
double r60255 = r60253 / r60254;
double r60256 = 2.0;
double r60257 = r60249 / r60256;
double r60258 = pow(r60255, r60257);
double r60259 = kx;
double r60260 = sin(r60259);
double r60261 = pow(r60260, r60249);
double r60262 = ky;
double r60263 = sin(r60262);
double r60264 = pow(r60263, r60249);
double r60265 = r60261 + r60264;
double r60266 = r60258 * r60265;
double r60267 = r60258 * r60266;
double r60268 = r60248 + r60267;
double r60269 = sqrt(r60268);
double r60270 = cbrt(r60269);
double r60271 = r60270 * r60270;
double r60272 = r60251 / r60271;
double r60273 = r60251 / r60270;
double r60274 = r60272 * r60273;
double r60275 = r60248 + r60274;
double r60276 = r60250 * r60275;
double r60277 = sqrt(r60276);
return r60277;
}



Bits error versus l



Bits error versus Om



Bits error versus kx



Bits error versus ky
Results
Initial program 1.8
rmApplied sqr-pow1.8
Applied associate-*l*1.5
rmApplied add-cube-cbrt1.5
Applied add-sqr-sqrt1.5
Applied times-frac1.5
Final simplification1.5
herbie shell --seed 2020083
(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))))))))))