\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 \left(\left(\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[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[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)}\right)}double f(double l, double Om, double kx, double ky) {
double r55227 = 1.0;
double r55228 = 2.0;
double r55229 = r55227 / r55228;
double r55230 = l;
double r55231 = r55228 * r55230;
double r55232 = Om;
double r55233 = r55231 / r55232;
double r55234 = pow(r55233, r55228);
double r55235 = kx;
double r55236 = sin(r55235);
double r55237 = pow(r55236, r55228);
double r55238 = ky;
double r55239 = sin(r55238);
double r55240 = pow(r55239, r55228);
double r55241 = r55237 + r55240;
double r55242 = r55234 * r55241;
double r55243 = r55227 + r55242;
double r55244 = sqrt(r55243);
double r55245 = r55227 / r55244;
double r55246 = r55227 + r55245;
double r55247 = r55229 * r55246;
double r55248 = sqrt(r55247);
return r55248;
}
double f(double l, double Om, double kx, double ky) {
double r55249 = 1.0;
double r55250 = 2.0;
double r55251 = r55249 / r55250;
double r55252 = l;
double r55253 = r55250 * r55252;
double r55254 = Om;
double r55255 = r55253 / r55254;
double r55256 = pow(r55255, r55250);
double r55257 = kx;
double r55258 = sin(r55257);
double r55259 = pow(r55258, r55250);
double r55260 = ky;
double r55261 = sin(r55260);
double r55262 = pow(r55261, r55250);
double r55263 = r55259 + r55262;
double r55264 = r55256 * r55263;
double r55265 = r55249 + r55264;
double r55266 = sqrt(r55265);
double r55267 = cbrt(r55266);
double r55268 = r55267 * r55267;
double r55269 = cbrt(r55267);
double r55270 = r55269 * r55269;
double r55271 = r55270 * r55269;
double r55272 = r55268 * r55271;
double r55273 = r55249 / r55272;
double r55274 = r55249 + r55273;
double r55275 = r55251 * r55274;
double r55276 = sqrt(r55275);
return r55276;
}



Bits error versus l



Bits error versus Om



Bits error versus kx



Bits error versus ky
Results
Initial program 1.6
rmApplied add-cube-cbrt1.6
rmApplied add-cube-cbrt1.6
Final simplification1.6
herbie shell --seed 2020060
(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))))))))))