\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[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)}}} \cdot \frac{1}{\sqrt[3]{\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)}}} \cdot \sqrt[3]{\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 r45622 = 1.0;
double r45623 = 2.0;
double r45624 = r45622 / r45623;
double r45625 = l;
double r45626 = r45623 * r45625;
double r45627 = Om;
double r45628 = r45626 / r45627;
double r45629 = pow(r45628, r45623);
double r45630 = kx;
double r45631 = sin(r45630);
double r45632 = pow(r45631, r45623);
double r45633 = ky;
double r45634 = sin(r45633);
double r45635 = pow(r45634, r45623);
double r45636 = r45632 + r45635;
double r45637 = r45629 * r45636;
double r45638 = r45622 + r45637;
double r45639 = sqrt(r45638);
double r45640 = r45622 / r45639;
double r45641 = r45622 + r45640;
double r45642 = r45624 * r45641;
double r45643 = sqrt(r45642);
return r45643;
}
double f(double l, double Om, double kx, double ky) {
double r45644 = 1.0;
double r45645 = 2.0;
double r45646 = r45644 / r45645;
double r45647 = 1.0;
double r45648 = l;
double r45649 = r45645 * r45648;
double r45650 = Om;
double r45651 = r45649 / r45650;
double r45652 = pow(r45651, r45645);
double r45653 = kx;
double r45654 = sin(r45653);
double r45655 = pow(r45654, r45645);
double r45656 = ky;
double r45657 = sin(r45656);
double r45658 = pow(r45657, r45645);
double r45659 = r45655 + r45658;
double r45660 = r45652 * r45659;
double r45661 = r45644 + r45660;
double r45662 = sqrt(r45661);
double r45663 = cbrt(r45662);
double r45664 = r45663 * r45663;
double r45665 = r45647 / r45664;
double r45666 = cbrt(r45664);
double r45667 = cbrt(r45663);
double r45668 = r45666 * r45667;
double r45669 = r45644 / r45668;
double r45670 = r45665 * r45669;
double r45671 = r45644 + r45670;
double r45672 = r45646 * r45671;
double r45673 = sqrt(r45672);
return r45673;
}



Bits error versus l



Bits error versus Om



Bits error versus kx



Bits error versus ky
Results
Initial program 1.8
rmApplied add-cube-cbrt1.8
Applied *-un-lft-identity1.8
Applied times-frac1.8
rmApplied add-cube-cbrt1.8
Applied cbrt-prod1.8
Final simplification1.8
herbie shell --seed 2019323
(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))))))))))