\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} + \frac{\frac{\frac{1}{2}}{\sqrt[3]{\sqrt{\left(\frac{2 \cdot \ell}{Om} \cdot \left(\sin ky \cdot \sin ky + \sin kx \cdot \sin kx\right)\right) \cdot \frac{2 \cdot \ell}{Om} + 1}} \cdot \sqrt[3]{\sqrt{\left(\frac{2 \cdot \ell}{Om} \cdot \left(\sin ky \cdot \sin ky + \sin kx \cdot \sin kx\right)\right) \cdot \frac{2 \cdot \ell}{Om} + 1}}}}{\sqrt[3]{\sqrt{\left(\frac{2 \cdot \ell}{Om} \cdot \left(\sin ky \cdot \sin ky + \sin kx \cdot \sin kx\right)\right) \cdot \frac{2 \cdot \ell}{Om} + 1}}}}double f(double l, double Om, double kx, double ky) {
double r766195 = 1.0;
double r766196 = 2.0;
double r766197 = r766195 / r766196;
double r766198 = l;
double r766199 = r766196 * r766198;
double r766200 = Om;
double r766201 = r766199 / r766200;
double r766202 = pow(r766201, r766196);
double r766203 = kx;
double r766204 = sin(r766203);
double r766205 = pow(r766204, r766196);
double r766206 = ky;
double r766207 = sin(r766206);
double r766208 = pow(r766207, r766196);
double r766209 = r766205 + r766208;
double r766210 = r766202 * r766209;
double r766211 = r766195 + r766210;
double r766212 = sqrt(r766211);
double r766213 = r766195 / r766212;
double r766214 = r766195 + r766213;
double r766215 = r766197 * r766214;
double r766216 = sqrt(r766215);
return r766216;
}
double f(double l, double Om, double kx, double ky) {
double r766217 = 0.5;
double r766218 = 2.0;
double r766219 = l;
double r766220 = r766218 * r766219;
double r766221 = Om;
double r766222 = r766220 / r766221;
double r766223 = ky;
double r766224 = sin(r766223);
double r766225 = r766224 * r766224;
double r766226 = kx;
double r766227 = sin(r766226);
double r766228 = r766227 * r766227;
double r766229 = r766225 + r766228;
double r766230 = r766222 * r766229;
double r766231 = r766230 * r766222;
double r766232 = 1.0;
double r766233 = r766231 + r766232;
double r766234 = sqrt(r766233);
double r766235 = cbrt(r766234);
double r766236 = r766235 * r766235;
double r766237 = r766217 / r766236;
double r766238 = r766237 / r766235;
double r766239 = r766217 + r766238;
double r766240 = sqrt(r766239);
return r766240;
}



Bits error versus l



Bits error versus Om



Bits error versus kx



Bits error versus ky
Results
Initial program 1.6
Simplified1.6
rmApplied associate-*r*1.3
rmApplied add-cube-cbrt1.3
Applied associate-/r*1.3
Final simplification1.3
herbie shell --seed 2019153
(FPCore (l Om kx ky)
:name "Toniolo and Linder, Equation (3a)"
(sqrt (* (/ 1 2) (+ 1 (/ 1 (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))))))))