\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(\frac{1}{\left(\left(\sqrt[3]{\sqrt[3]{\sqrt{\left({\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}\right) \cdot {\left(\frac{\ell \cdot 2}{Om}\right)}^{2} + 1}}} \cdot \sqrt[3]{\sqrt[3]{\sqrt{\left({\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}\right) \cdot {\left(\frac{\ell \cdot 2}{Om}\right)}^{2} + 1}}}\right) \cdot \sqrt[3]{\sqrt[3]{\sqrt{\left({\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}\right) \cdot {\left(\frac{\ell \cdot 2}{Om}\right)}^{2} + 1}}}\right) \cdot \left(\sqrt[3]{\sqrt{\left({\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}\right) \cdot {\left(\frac{\ell \cdot 2}{Om}\right)}^{2} + 1}} \cdot \sqrt[3]{\sqrt[3]{\sqrt{\left({\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}\right) \cdot {\left(\frac{\ell \cdot 2}{Om}\right)}^{2} + 1}} \cdot \left(\sqrt[3]{\sqrt{\left({\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}\right) \cdot {\left(\frac{\ell \cdot 2}{Om}\right)}^{2} + 1}} \cdot \sqrt[3]{\sqrt{\left({\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}\right) \cdot {\left(\frac{\ell \cdot 2}{Om}\right)}^{2} + 1}}\right)}\right)} + 1\right)}double f(double l, double Om, double kx, double ky) {
double r1846254 = 1.0;
double r1846255 = 2.0;
double r1846256 = r1846254 / r1846255;
double r1846257 = l;
double r1846258 = r1846255 * r1846257;
double r1846259 = Om;
double r1846260 = r1846258 / r1846259;
double r1846261 = pow(r1846260, r1846255);
double r1846262 = kx;
double r1846263 = sin(r1846262);
double r1846264 = pow(r1846263, r1846255);
double r1846265 = ky;
double r1846266 = sin(r1846265);
double r1846267 = pow(r1846266, r1846255);
double r1846268 = r1846264 + r1846267;
double r1846269 = r1846261 * r1846268;
double r1846270 = r1846254 + r1846269;
double r1846271 = sqrt(r1846270);
double r1846272 = r1846254 / r1846271;
double r1846273 = r1846254 + r1846272;
double r1846274 = r1846256 * r1846273;
double r1846275 = sqrt(r1846274);
return r1846275;
}
double f(double l, double Om, double kx, double ky) {
double r1846276 = 1.0;
double r1846277 = 2.0;
double r1846278 = r1846276 / r1846277;
double r1846279 = ky;
double r1846280 = sin(r1846279);
double r1846281 = pow(r1846280, r1846277);
double r1846282 = kx;
double r1846283 = sin(r1846282);
double r1846284 = pow(r1846283, r1846277);
double r1846285 = r1846281 + r1846284;
double r1846286 = l;
double r1846287 = r1846286 * r1846277;
double r1846288 = Om;
double r1846289 = r1846287 / r1846288;
double r1846290 = pow(r1846289, r1846277);
double r1846291 = r1846285 * r1846290;
double r1846292 = r1846291 + r1846276;
double r1846293 = sqrt(r1846292);
double r1846294 = cbrt(r1846293);
double r1846295 = cbrt(r1846294);
double r1846296 = r1846295 * r1846295;
double r1846297 = r1846296 * r1846295;
double r1846298 = r1846294 * r1846294;
double r1846299 = r1846294 * r1846298;
double r1846300 = cbrt(r1846299);
double r1846301 = r1846294 * r1846300;
double r1846302 = r1846297 * r1846301;
double r1846303 = r1846276 / r1846302;
double r1846304 = r1846303 + r1846276;
double r1846305 = r1846278 * r1846304;
double r1846306 = sqrt(r1846305);
return r1846306;
}



Bits error versus l



Bits error versus Om



Bits error versus kx



Bits error versus ky
Results
Initial program 1.4
rmApplied add-cube-cbrt1.4
rmApplied add-cube-cbrt1.4
rmApplied add-cube-cbrt1.4
Final simplification1.4
herbie shell --seed 2019172
(FPCore (l Om kx ky)
:name "Toniolo and Linder, Equation (3a)"
(sqrt (* (/ 1.0 2.0) (+ 1.0 (/ 1.0 (sqrt (+ 1.0 (* (pow (/ (* 2.0 l) Om) 2.0) (+ (pow (sin kx) 2.0) (pow (sin ky) 2.0))))))))))