\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} + \frac{\frac{1}{2}}{\sqrt[3]{\sqrt{\left(\frac{2 \cdot \ell}{Om} \cdot \left(\sin ky \cdot \sin ky + \sin kx \cdot \sin kx\right)\right) \cdot \frac{2 \cdot \ell}{Om} + 1}} \cdot \left(\sqrt[3]{\sqrt{\left(\frac{2 \cdot \ell}{Om} \cdot \left(\sin ky \cdot \sin ky + \sin kx \cdot \sin kx\right)\right) \cdot \frac{2 \cdot \ell}{Om} + 1}} \cdot \sqrt[3]{\sqrt{\left(\frac{2 \cdot \ell}{Om} \cdot \left(\sin ky \cdot \sin ky + \sin kx \cdot \sin kx\right)\right) \cdot \frac{2 \cdot \ell}{Om} + 1}}\right)}}double f(double l, double Om, double kx, double ky) {
double r785483 = 1.0;
double r785484 = 2.0;
double r785485 = r785483 / r785484;
double r785486 = l;
double r785487 = r785484 * r785486;
double r785488 = Om;
double r785489 = r785487 / r785488;
double r785490 = pow(r785489, r785484);
double r785491 = kx;
double r785492 = sin(r785491);
double r785493 = pow(r785492, r785484);
double r785494 = ky;
double r785495 = sin(r785494);
double r785496 = pow(r785495, r785484);
double r785497 = r785493 + r785496;
double r785498 = r785490 * r785497;
double r785499 = r785483 + r785498;
double r785500 = sqrt(r785499);
double r785501 = r785483 / r785500;
double r785502 = r785483 + r785501;
double r785503 = r785485 * r785502;
double r785504 = sqrt(r785503);
return r785504;
}
double f(double l, double Om, double kx, double ky) {
double r785505 = 0.5;
double r785506 = 2.0;
double r785507 = l;
double r785508 = r785506 * r785507;
double r785509 = Om;
double r785510 = r785508 / r785509;
double r785511 = ky;
double r785512 = sin(r785511);
double r785513 = r785512 * r785512;
double r785514 = kx;
double r785515 = sin(r785514);
double r785516 = r785515 * r785515;
double r785517 = r785513 + r785516;
double r785518 = r785510 * r785517;
double r785519 = r785518 * r785510;
double r785520 = 1.0;
double r785521 = r785519 + r785520;
double r785522 = sqrt(r785521);
double r785523 = cbrt(r785522);
double r785524 = r785523 * r785523;
double r785525 = r785523 * r785524;
double r785526 = r785505 / r785525;
double r785527 = r785505 + r785526;
double r785528 = sqrt(r785527);
return r785528;
}



Bits error versus l



Bits error versus Om



Bits error versus kx



Bits error versus ky
Results
Initial program 1.6
Simplified1.6
rmApplied associate-*r*1.3
rmApplied add-cube-cbrt1.3
Final simplification1.3
herbie shell --seed 2019153
(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))))))))))