\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 r98377 = 1.0;
double r98378 = 2.0;
double r98379 = r98377 / r98378;
double r98380 = l;
double r98381 = r98378 * r98380;
double r98382 = Om;
double r98383 = r98381 / r98382;
double r98384 = pow(r98383, r98378);
double r98385 = kx;
double r98386 = sin(r98385);
double r98387 = pow(r98386, r98378);
double r98388 = ky;
double r98389 = sin(r98388);
double r98390 = pow(r98389, r98378);
double r98391 = r98387 + r98390;
double r98392 = r98384 * r98391;
double r98393 = r98377 + r98392;
double r98394 = sqrt(r98393);
double r98395 = r98377 / r98394;
double r98396 = r98377 + r98395;
double r98397 = r98379 * r98396;
double r98398 = sqrt(r98397);
return r98398;
}
double f(double l, double Om, double kx, double ky) {
double r98399 = 1.0;
double r98400 = 2.0;
double r98401 = r98399 / r98400;
double r98402 = l;
double r98403 = r98400 * r98402;
double r98404 = Om;
double r98405 = r98403 / r98404;
double r98406 = pow(r98405, r98400);
double r98407 = kx;
double r98408 = sin(r98407);
double r98409 = pow(r98408, r98400);
double r98410 = ky;
double r98411 = sin(r98410);
double r98412 = pow(r98411, r98400);
double r98413 = r98409 + r98412;
double r98414 = r98406 * r98413;
double r98415 = r98399 + r98414;
double r98416 = sqrt(r98415);
double r98417 = cbrt(r98416);
double r98418 = r98417 * r98417;
double r98419 = r98418 * r98417;
double r98420 = r98399 / r98419;
double r98421 = r98399 + r98420;
double r98422 = r98401 * r98421;
double r98423 = sqrt(r98422);
return r98423;
}



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 2019322
(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))))))))))