\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]{{\left(\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}\right)}^{3}}}\right)}double f(double l, double Om, double kx, double ky) {
double r28156 = 1.0;
double r28157 = 2.0;
double r28158 = r28156 / r28157;
double r28159 = l;
double r28160 = r28157 * r28159;
double r28161 = Om;
double r28162 = r28160 / r28161;
double r28163 = pow(r28162, r28157);
double r28164 = kx;
double r28165 = sin(r28164);
double r28166 = pow(r28165, r28157);
double r28167 = ky;
double r28168 = sin(r28167);
double r28169 = pow(r28168, r28157);
double r28170 = r28166 + r28169;
double r28171 = r28163 * r28170;
double r28172 = r28156 + r28171;
double r28173 = sqrt(r28172);
double r28174 = r28156 / r28173;
double r28175 = r28156 + r28174;
double r28176 = r28158 * r28175;
double r28177 = sqrt(r28176);
return r28177;
}
double f(double l, double Om, double kx, double ky) {
double r28178 = 1.0;
double r28179 = 2.0;
double r28180 = r28178 / r28179;
double r28181 = l;
double r28182 = r28179 * r28181;
double r28183 = Om;
double r28184 = r28182 / r28183;
double r28185 = pow(r28184, r28179);
double r28186 = kx;
double r28187 = sin(r28186);
double r28188 = pow(r28187, r28179);
double r28189 = ky;
double r28190 = sin(r28189);
double r28191 = pow(r28190, r28179);
double r28192 = r28188 + r28191;
double r28193 = r28185 * r28192;
double r28194 = r28178 + r28193;
double r28195 = sqrt(r28194);
double r28196 = 3.0;
double r28197 = pow(r28195, r28196);
double r28198 = cbrt(r28197);
double r28199 = r28178 / r28198;
double r28200 = r28178 + r28199;
double r28201 = r28180 * r28200;
double r28202 = sqrt(r28201);
return r28202;
}



Bits error versus l



Bits error versus Om



Bits error versus kx



Bits error versus ky
Results
Initial program 1.5
rmApplied add-cbrt-cube1.5
Simplified1.5
Final simplification1.5
herbie shell --seed 2019305
(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))))))))))