Average Error: 1.7 → 1.6
Time: 2.7m
Precision: 64
\[\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{4 \cdot \frac{\sin ky \cdot \sin ky + \sin kx \cdot \sin kx}{\frac{Om}{\ell} \cdot \frac{Om}{\ell}} + 1}} + \frac{1}{2}}\]
\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{4 \cdot \frac{\sin ky \cdot \sin ky + \sin kx \cdot \sin kx}{\frac{Om}{\ell} \cdot \frac{Om}{\ell}} + 1}} + \frac{1}{2}}
double f(double l, double Om, double kx, double ky) {
        double r13199310 = 1.0;
        double r13199311 = 2.0;
        double r13199312 = r13199310 / r13199311;
        double r13199313 = l;
        double r13199314 = r13199311 * r13199313;
        double r13199315 = Om;
        double r13199316 = r13199314 / r13199315;
        double r13199317 = pow(r13199316, r13199311);
        double r13199318 = kx;
        double r13199319 = sin(r13199318);
        double r13199320 = pow(r13199319, r13199311);
        double r13199321 = ky;
        double r13199322 = sin(r13199321);
        double r13199323 = pow(r13199322, r13199311);
        double r13199324 = r13199320 + r13199323;
        double r13199325 = r13199317 * r13199324;
        double r13199326 = r13199310 + r13199325;
        double r13199327 = sqrt(r13199326);
        double r13199328 = r13199310 / r13199327;
        double r13199329 = r13199310 + r13199328;
        double r13199330 = r13199312 * r13199329;
        double r13199331 = sqrt(r13199330);
        return r13199331;
}

double f(double l, double Om, double kx, double ky) {
        double r13199332 = 0.5;
        double r13199333 = 4.0;
        double r13199334 = ky;
        double r13199335 = sin(r13199334);
        double r13199336 = r13199335 * r13199335;
        double r13199337 = kx;
        double r13199338 = sin(r13199337);
        double r13199339 = r13199338 * r13199338;
        double r13199340 = r13199336 + r13199339;
        double r13199341 = Om;
        double r13199342 = l;
        double r13199343 = r13199341 / r13199342;
        double r13199344 = r13199343 * r13199343;
        double r13199345 = r13199340 / r13199344;
        double r13199346 = r13199333 * r13199345;
        double r13199347 = 1.0;
        double r13199348 = r13199346 + r13199347;
        double r13199349 = sqrt(r13199348);
        double r13199350 = r13199332 / r13199349;
        double r13199351 = r13199350 + r13199332;
        double r13199352 = sqrt(r13199351);
        return r13199352;
}

Error

Bits error versus l

Bits error versus Om

Bits error versus kx

Bits error versus ky

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 1.7

    \[\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)}\]
  2. Simplified1.7

    \[\leadsto \color{blue}{\sqrt{\frac{1}{2} + \frac{\frac{1}{2}}{\sqrt{\left(\sin ky \cdot \sin ky + \sin kx \cdot \sin kx\right) \cdot \left(\left(\ell \cdot \frac{2}{Om}\right) \cdot \left(\ell \cdot \frac{2}{Om}\right)\right) + 1}}}}\]
  3. Taylor expanded around inf 9.2

    \[\leadsto \sqrt{\frac{1}{2} + \frac{\frac{1}{2}}{\sqrt{\color{blue}{4 \cdot \frac{\left({\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}\right) \cdot {\ell}^{2}}{{Om}^{2}}} + 1}}}\]
  4. Simplified1.6

    \[\leadsto \sqrt{\frac{1}{2} + \frac{\frac{1}{2}}{\sqrt{\color{blue}{4 \cdot \frac{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}{\frac{Om}{\ell} \cdot \frac{Om}{\ell}}} + 1}}}\]
  5. Final simplification1.6

    \[\leadsto \sqrt{\frac{\frac{1}{2}}{\sqrt{4 \cdot \frac{\sin ky \cdot \sin ky + \sin kx \cdot \sin kx}{\frac{Om}{\ell} \cdot \frac{Om}{\ell}} + 1}} + \frac{1}{2}}\]

Reproduce

herbie shell --seed 2019120 
(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))))))))))