\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 r46079 = 1.0;
double r46080 = 2.0;
double r46081 = r46079 / r46080;
double r46082 = l;
double r46083 = r46080 * r46082;
double r46084 = Om;
double r46085 = r46083 / r46084;
double r46086 = pow(r46085, r46080);
double r46087 = kx;
double r46088 = sin(r46087);
double r46089 = pow(r46088, r46080);
double r46090 = ky;
double r46091 = sin(r46090);
double r46092 = pow(r46091, r46080);
double r46093 = r46089 + r46092;
double r46094 = r46086 * r46093;
double r46095 = r46079 + r46094;
double r46096 = sqrt(r46095);
double r46097 = r46079 / r46096;
double r46098 = r46079 + r46097;
double r46099 = r46081 * r46098;
double r46100 = sqrt(r46099);
return r46100;
}
double f(double l, double Om, double kx, double ky) {
double r46101 = 1.0;
double r46102 = 2.0;
double r46103 = r46101 / r46102;
double r46104 = 1.0;
double r46105 = l;
double r46106 = r46102 * r46105;
double r46107 = Om;
double r46108 = r46106 / r46107;
double r46109 = pow(r46108, r46102);
double r46110 = kx;
double r46111 = sin(r46110);
double r46112 = pow(r46111, r46102);
double r46113 = ky;
double r46114 = sin(r46113);
double r46115 = pow(r46114, r46102);
double r46116 = r46112 + r46115;
double r46117 = r46109 * r46116;
double r46118 = r46101 + r46117;
double r46119 = sqrt(r46118);
double r46120 = cbrt(r46119);
double r46121 = r46120 * r46120;
double r46122 = r46104 / r46121;
double r46123 = cbrt(r46121);
double r46124 = cbrt(r46120);
double r46125 = r46123 * r46124;
double r46126 = r46101 / r46125;
double r46127 = r46122 * r46126;
double r46128 = r46101 + r46127;
double r46129 = r46103 * r46128;
double r46130 = sqrt(r46129);
return r46130;
}



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