\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{\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}} + \frac{1}{2}}double f(double l, double Om, double kx, double ky) {
double r796417 = 1.0;
double r796418 = 2.0;
double r796419 = r796417 / r796418;
double r796420 = l;
double r796421 = r796418 * r796420;
double r796422 = Om;
double r796423 = r796421 / r796422;
double r796424 = pow(r796423, r796418);
double r796425 = kx;
double r796426 = sin(r796425);
double r796427 = pow(r796426, r796418);
double r796428 = ky;
double r796429 = sin(r796428);
double r796430 = pow(r796429, r796418);
double r796431 = r796427 + r796430;
double r796432 = r796424 * r796431;
double r796433 = r796417 + r796432;
double r796434 = sqrt(r796433);
double r796435 = r796417 / r796434;
double r796436 = r796417 + r796435;
double r796437 = r796419 * r796436;
double r796438 = sqrt(r796437);
return r796438;
}
double f(double l, double Om, double kx, double ky) {
double r796439 = 0.5;
double r796440 = 2.0;
double r796441 = l;
double r796442 = r796440 * r796441;
double r796443 = Om;
double r796444 = r796442 / r796443;
double r796445 = ky;
double r796446 = sin(r796445);
double r796447 = r796446 * r796446;
double r796448 = kx;
double r796449 = sin(r796448);
double r796450 = r796449 * r796449;
double r796451 = r796447 + r796450;
double r796452 = r796444 * r796451;
double r796453 = r796452 * r796444;
double r796454 = 1.0;
double r796455 = r796453 + r796454;
double r796456 = sqrt(r796455);
double r796457 = r796439 / r796456;
double r796458 = r796457 + r796439;
double r796459 = sqrt(r796458);
return r796459;
}



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
Final simplification1.3
herbie shell --seed 2019156
(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))))))))))