double f(double l, double Om, double kx, double ky) {
double r1499270 = 1.0;
double r1499271 = 2.0;
double r1499272 = r1499270 / r1499271;
double r1499273 = l;
double r1499274 = r1499271 * r1499273;
double r1499275 = Om;
double r1499276 = r1499274 / r1499275;
double r1499277 = pow(r1499276, r1499271);
double r1499278 = kx;
double r1499279 = sin(r1499278);
double r1499280 = pow(r1499279, r1499271);
double r1499281 = ky;
double r1499282 = sin(r1499281);
double r1499283 = pow(r1499282, r1499271);
double r1499284 = r1499280 + r1499283;
double r1499285 = r1499277 * r1499284;
double r1499286 = r1499270 + r1499285;
double r1499287 = sqrt(r1499286);
double r1499288 = r1499270 / r1499287;
double r1499289 = r1499270 + r1499288;
double r1499290 = r1499272 * r1499289;
double r1499291 = sqrt(r1499290);
return r1499291;
}
double f(double l, double Om, double kx, double ky) {
double r1499292 = 0.5;
double r1499293 = 2.0;
double r1499294 = l;
double r1499295 = r1499293 * r1499294;
double r1499296 = Om;
double r1499297 = r1499295 / r1499296;
double r1499298 = r1499297 * r1499297;
double r1499299 = ky;
double r1499300 = sin(r1499299);
double r1499301 = kx;
double r1499302 = sin(r1499301);
double r1499303 = r1499302 * r1499302;
double r1499304 = fma(r1499300, r1499300, r1499303);
double r1499305 = 1.0;
double r1499306 = fma(r1499298, r1499304, r1499305);
double r1499307 = sqrt(r1499306);
double r1499308 = r1499292 / r1499307;
double r1499309 = r1499308 + r1499292;
double r1499310 = sqrt(r1499309);
return r1499310;
}
\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{\frac{1}{2}}{\sqrt{(\left(\frac{2 \cdot \ell}{Om} \cdot \frac{2 \cdot \ell}{Om}\right) \cdot \left((\left(\sin ky\right) \cdot \left(\sin ky\right) + \left(\sin kx \cdot \sin kx\right))_*\right) + 1)_*}} + \frac{1}{2}}


Bits error versus l



Bits error versus Om



Bits error versus kx



Bits error versus ky
Initial program 1.6
Simplified1.6
Final simplification1.6
herbie shell --seed 2019102 +o rules:numerics
(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))))))))))