\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{1}{2}}{\sqrt{1 + \left(\left(\left(\frac{\sqrt[3]{\ell + \ell}}{\sqrt[3]{Om}} \cdot \sin kx\right) \cdot \left(\frac{\sqrt[3]{\ell + \ell}}{\sqrt[3]{Om}} \cdot \sin kx\right) + \left(\sin ky \cdot \frac{\sqrt[3]{\ell + \ell}}{\sqrt[3]{Om}}\right) \cdot \left(\sin ky \cdot \frac{\sqrt[3]{\ell + \ell}}{\sqrt[3]{Om}}\right)\right) \cdot \frac{\sqrt[3]{\ell + \ell}}{\sqrt[3]{Om}}\right) \cdot \frac{\ell + \ell}{Om}}} + \frac{1}{2}}double f(double l, double Om, double kx, double ky) {
double r2036323 = 1.0;
double r2036324 = 2.0;
double r2036325 = r2036323 / r2036324;
double r2036326 = l;
double r2036327 = r2036324 * r2036326;
double r2036328 = Om;
double r2036329 = r2036327 / r2036328;
double r2036330 = pow(r2036329, r2036324);
double r2036331 = kx;
double r2036332 = sin(r2036331);
double r2036333 = pow(r2036332, r2036324);
double r2036334 = ky;
double r2036335 = sin(r2036334);
double r2036336 = pow(r2036335, r2036324);
double r2036337 = r2036333 + r2036336;
double r2036338 = r2036330 * r2036337;
double r2036339 = r2036323 + r2036338;
double r2036340 = sqrt(r2036339);
double r2036341 = r2036323 / r2036340;
double r2036342 = r2036323 + r2036341;
double r2036343 = r2036325 * r2036342;
double r2036344 = sqrt(r2036343);
return r2036344;
}
double f(double l, double Om, double kx, double ky) {
double r2036345 = 0.5;
double r2036346 = 1.0;
double r2036347 = l;
double r2036348 = r2036347 + r2036347;
double r2036349 = cbrt(r2036348);
double r2036350 = Om;
double r2036351 = cbrt(r2036350);
double r2036352 = r2036349 / r2036351;
double r2036353 = kx;
double r2036354 = sin(r2036353);
double r2036355 = r2036352 * r2036354;
double r2036356 = r2036355 * r2036355;
double r2036357 = ky;
double r2036358 = sin(r2036357);
double r2036359 = r2036358 * r2036352;
double r2036360 = r2036359 * r2036359;
double r2036361 = r2036356 + r2036360;
double r2036362 = r2036361 * r2036352;
double r2036363 = r2036348 / r2036350;
double r2036364 = r2036362 * r2036363;
double r2036365 = r2036346 + r2036364;
double r2036366 = sqrt(r2036365);
double r2036367 = r2036345 / r2036366;
double r2036368 = r2036367 + r2036345;
double r2036369 = sqrt(r2036368);
return r2036369;
}



Bits error versus l



Bits error versus Om



Bits error versus kx



Bits error versus ky
Results
Initial program 1.5
Simplified1.5
rmApplied associate-*r*1.3
rmApplied add-cube-cbrt1.3
Applied add-cube-cbrt1.3
Applied times-frac1.3
Applied associate-*r*1.3
Simplified0.6
Final simplification0.6
herbie shell --seed 2019164
(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))))))))))