\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}{\sqrt{1 + \left(\sqrt[3]{{\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)} \cdot \sqrt[3]{{\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]{{\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 r38254 = 1.0;
double r38255 = 2.0;
double r38256 = r38254 / r38255;
double r38257 = l;
double r38258 = r38255 * r38257;
double r38259 = Om;
double r38260 = r38258 / r38259;
double r38261 = pow(r38260, r38255);
double r38262 = kx;
double r38263 = sin(r38262);
double r38264 = pow(r38263, r38255);
double r38265 = ky;
double r38266 = sin(r38265);
double r38267 = pow(r38266, r38255);
double r38268 = r38264 + r38267;
double r38269 = r38261 * r38268;
double r38270 = r38254 + r38269;
double r38271 = sqrt(r38270);
double r38272 = r38254 / r38271;
double r38273 = r38254 + r38272;
double r38274 = r38256 * r38273;
double r38275 = sqrt(r38274);
return r38275;
}
double f(double l, double Om, double kx, double ky) {
double r38276 = 1.0;
double r38277 = 2.0;
double r38278 = r38276 / r38277;
double r38279 = l;
double r38280 = r38277 * r38279;
double r38281 = Om;
double r38282 = r38280 / r38281;
double r38283 = pow(r38282, r38277);
double r38284 = kx;
double r38285 = sin(r38284);
double r38286 = pow(r38285, r38277);
double r38287 = ky;
double r38288 = sin(r38287);
double r38289 = pow(r38288, r38277);
double r38290 = r38286 + r38289;
double r38291 = r38283 * r38290;
double r38292 = cbrt(r38291);
double r38293 = r38292 * r38292;
double r38294 = r38293 * r38292;
double r38295 = r38276 + r38294;
double r38296 = sqrt(r38295);
double r38297 = r38276 / r38296;
double r38298 = r38276 + r38297;
double r38299 = r38278 * r38298;
double r38300 = sqrt(r38299);
return r38300;
}



Bits error versus l



Bits error versus Om



Bits error versus kx



Bits error versus ky
Results
Initial program 0.8
rmApplied add-cube-cbrt0.8
Final simplification0.8
herbie shell --seed 2020065
(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))))))))))