\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 + \left(\sqrt[3]{\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)}}} \cdot \sqrt[3]{\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) \cdot \left(\left(\sqrt[3]{\sqrt[3]{\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)}}}} \cdot \sqrt[3]{\sqrt[3]{\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) \cdot \sqrt[3]{\sqrt[3]{\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)\right)}double f(double l, double Om, double kx, double ky) {
double r46113 = 1.0;
double r46114 = 2.0;
double r46115 = r46113 / r46114;
double r46116 = l;
double r46117 = r46114 * r46116;
double r46118 = Om;
double r46119 = r46117 / r46118;
double r46120 = pow(r46119, r46114);
double r46121 = kx;
double r46122 = sin(r46121);
double r46123 = pow(r46122, r46114);
double r46124 = ky;
double r46125 = sin(r46124);
double r46126 = pow(r46125, r46114);
double r46127 = r46123 + r46126;
double r46128 = r46120 * r46127;
double r46129 = r46113 + r46128;
double r46130 = sqrt(r46129);
double r46131 = r46113 / r46130;
double r46132 = r46113 + r46131;
double r46133 = r46115 * r46132;
double r46134 = sqrt(r46133);
return r46134;
}
double f(double l, double Om, double kx, double ky) {
double r46135 = 1.0;
double r46136 = 2.0;
double r46137 = r46135 / r46136;
double r46138 = l;
double r46139 = r46136 * r46138;
double r46140 = Om;
double r46141 = r46139 / r46140;
double r46142 = pow(r46141, r46136);
double r46143 = kx;
double r46144 = sin(r46143);
double r46145 = pow(r46144, r46136);
double r46146 = ky;
double r46147 = sin(r46146);
double r46148 = pow(r46147, r46136);
double r46149 = r46145 + r46148;
double r46150 = r46142 * r46149;
double r46151 = r46135 + r46150;
double r46152 = sqrt(r46151);
double r46153 = r46135 / r46152;
double r46154 = cbrt(r46153);
double r46155 = r46154 * r46154;
double r46156 = cbrt(r46154);
double r46157 = r46156 * r46156;
double r46158 = r46157 * r46156;
double r46159 = r46155 * r46158;
double r46160 = r46135 + r46159;
double r46161 = r46137 * r46160;
double r46162 = sqrt(r46161);
return r46162;
}



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
rmApplied add-cube-cbrt1.7
Final simplification1.7
herbie shell --seed 2019325
(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))))))))))