\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 r41347 = 1.0;
double r41348 = 2.0;
double r41349 = r41347 / r41348;
double r41350 = l;
double r41351 = r41348 * r41350;
double r41352 = Om;
double r41353 = r41351 / r41352;
double r41354 = pow(r41353, r41348);
double r41355 = kx;
double r41356 = sin(r41355);
double r41357 = pow(r41356, r41348);
double r41358 = ky;
double r41359 = sin(r41358);
double r41360 = pow(r41359, r41348);
double r41361 = r41357 + r41360;
double r41362 = r41354 * r41361;
double r41363 = r41347 + r41362;
double r41364 = sqrt(r41363);
double r41365 = r41347 / r41364;
double r41366 = r41347 + r41365;
double r41367 = r41349 * r41366;
double r41368 = sqrt(r41367);
return r41368;
}
double f(double l, double Om, double kx, double ky) {
double r41369 = 1.0;
double r41370 = 2.0;
double r41371 = r41369 / r41370;
double r41372 = l;
double r41373 = r41370 * r41372;
double r41374 = Om;
double r41375 = r41373 / r41374;
double r41376 = pow(r41375, r41370);
double r41377 = kx;
double r41378 = sin(r41377);
double r41379 = pow(r41378, r41370);
double r41380 = ky;
double r41381 = sin(r41380);
double r41382 = pow(r41381, r41370);
double r41383 = r41379 + r41382;
double r41384 = r41376 * r41383;
double r41385 = r41369 + r41384;
double r41386 = sqrt(r41385);
double r41387 = cbrt(r41386);
double r41388 = r41387 * r41387;
double r41389 = r41388 * r41387;
double r41390 = r41369 / r41389;
double r41391 = r41369 + r41390;
double r41392 = r41371 * r41391;
double r41393 = sqrt(r41392);
return r41393;
}



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