double f(double l, double Om, double kx, double ky) {
double r4567383 = 1.0;
double r4567384 = 2.0;
double r4567385 = r4567383 / r4567384;
double r4567386 = l;
double r4567387 = r4567384 * r4567386;
double r4567388 = Om;
double r4567389 = r4567387 / r4567388;
double r4567390 = pow(r4567389, r4567384);
double r4567391 = kx;
double r4567392 = sin(r4567391);
double r4567393 = pow(r4567392, r4567384);
double r4567394 = ky;
double r4567395 = sin(r4567394);
double r4567396 = pow(r4567395, r4567384);
double r4567397 = r4567393 + r4567396;
double r4567398 = r4567390 * r4567397;
double r4567399 = r4567383 + r4567398;
double r4567400 = sqrt(r4567399);
double r4567401 = r4567383 / r4567400;
double r4567402 = r4567383 + r4567401;
double r4567403 = r4567385 * r4567402;
double r4567404 = sqrt(r4567403);
return r4567404;
}
double f(double l, double Om, double kx, double ky) {
double r4567405 = 0.5;
double r4567406 = sqrt(r4567405);
double r4567407 = 2.0;
double r4567408 = l;
double r4567409 = r4567407 * r4567408;
double r4567410 = Om;
double r4567411 = r4567409 / r4567410;
double r4567412 = r4567411 * r4567411;
double r4567413 = ky;
double r4567414 = sin(r4567413);
double r4567415 = kx;
double r4567416 = sin(r4567415);
double r4567417 = r4567416 * r4567416;
double r4567418 = fma(r4567414, r4567414, r4567417);
double r4567419 = 1.0;
double r4567420 = fma(r4567412, r4567418, r4567419);
double r4567421 = sqrt(r4567420);
double r4567422 = sqrt(r4567421);
double r4567423 = r4567406 / r4567422;
double r4567424 = cbrt(r4567423);
double r4567425 = r4567424 * r4567424;
double r4567426 = r4567405 / r4567421;
double r4567427 = cbrt(r4567426);
double r4567428 = r4567427 * r4567427;
double r4567429 = r4567425 * r4567428;
double r4567430 = r4567429 + r4567405;
double r4567431 = sqrt(r4567430);
return r4567431;
}
\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{\left(\sqrt[3]{\frac{\sqrt{\frac{1}{2}}}{\sqrt{\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)_*}}}} \cdot \sqrt[3]{\frac{\sqrt{\frac{1}{2}}}{\sqrt{\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)_*}}}}\right) \cdot \left(\sqrt[3]{\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)_*}}} \cdot \sqrt[3]{\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)_*}}}\right) + \frac{1}{2}}


Bits error versus l



Bits error versus Om



Bits error versus kx



Bits error versus ky
Initial program 1.7
Simplified1.7
rmApplied add-cube-cbrt1.7
rmApplied add-sqr-sqrt1.7
Applied add-sqr-sqrt1.7
Applied times-frac1.7
Applied cbrt-prod1.7
Final simplification1.7
herbie shell --seed 2019101 +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))))))))))