\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[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 \sqrt[3]{\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 r46325 = 1.0;
double r46326 = 2.0;
double r46327 = r46325 / r46326;
double r46328 = l;
double r46329 = r46326 * r46328;
double r46330 = Om;
double r46331 = r46329 / r46330;
double r46332 = pow(r46331, r46326);
double r46333 = kx;
double r46334 = sin(r46333);
double r46335 = pow(r46334, r46326);
double r46336 = ky;
double r46337 = sin(r46336);
double r46338 = pow(r46337, r46326);
double r46339 = r46335 + r46338;
double r46340 = r46332 * r46339;
double r46341 = r46325 + r46340;
double r46342 = sqrt(r46341);
double r46343 = r46325 / r46342;
double r46344 = r46325 + r46343;
double r46345 = r46327 * r46344;
double r46346 = sqrt(r46345);
return r46346;
}
double f(double l, double Om, double kx, double ky) {
double r46347 = 1.0;
double r46348 = 2.0;
double r46349 = r46347 / r46348;
double r46350 = sqrt(r46347);
double r46351 = l;
double r46352 = r46348 * r46351;
double r46353 = Om;
double r46354 = r46352 / r46353;
double r46355 = pow(r46354, r46348);
double r46356 = kx;
double r46357 = sin(r46356);
double r46358 = pow(r46357, r46348);
double r46359 = ky;
double r46360 = sin(r46359);
double r46361 = pow(r46360, r46348);
double r46362 = r46358 + r46361;
double r46363 = r46355 * r46362;
double r46364 = r46347 + r46363;
double r46365 = sqrt(r46364);
double r46366 = cbrt(r46365);
double r46367 = r46366 * r46366;
double r46368 = r46350 / r46367;
double r46369 = cbrt(r46367);
double r46370 = cbrt(r46366);
double r46371 = r46369 * r46370;
double r46372 = r46350 / r46371;
double r46373 = r46368 * r46372;
double r46374 = r46347 + r46373;
double r46375 = r46349 * r46374;
double r46376 = sqrt(r46375);
return r46376;
}



Bits error versus l



Bits error versus Om



Bits error versus kx



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