Average Error: 1.6 → 1.3
Time: 1.9m
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{\sqrt{\left(\left(\frac{2}{Om} \cdot \ell\right) \cdot \left(\sin ky \cdot \sin ky + \sin kx \cdot \sin kx\right)\right) \cdot \left(\frac{2}{Om} \cdot \ell\right) + 1}} \cdot \sqrt{\sqrt{\left(\left(\frac{2}{Om} \cdot \ell\right) \cdot \left(\sin ky \cdot \sin ky + \sin kx \cdot \sin kx\right)\right) \cdot \left(\frac{2}{Om} \cdot \ell\right) + 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{\sqrt{\left(\left(\frac{2}{Om} \cdot \ell\right) \cdot \left(\sin ky \cdot \sin ky + \sin kx \cdot \sin kx\right)\right) \cdot \left(\frac{2}{Om} \cdot \ell\right) + 1}} \cdot \sqrt{\sqrt{\left(\left(\frac{2}{Om} \cdot \ell\right) \cdot \left(\sin ky \cdot \sin ky + \sin kx \cdot \sin kx\right)\right) \cdot \left(\frac{2}{Om} \cdot \ell\right) + 1}}} + \frac{1}{2}}
double f(double l, double Om, double kx, double ky) {
        double r10275356 = 1.0;
        double r10275357 = 2.0;
        double r10275358 = r10275356 / r10275357;
        double r10275359 = l;
        double r10275360 = r10275357 * r10275359;
        double r10275361 = Om;
        double r10275362 = r10275360 / r10275361;
        double r10275363 = pow(r10275362, r10275357);
        double r10275364 = kx;
        double r10275365 = sin(r10275364);
        double r10275366 = pow(r10275365, r10275357);
        double r10275367 = ky;
        double r10275368 = sin(r10275367);
        double r10275369 = pow(r10275368, r10275357);
        double r10275370 = r10275366 + r10275369;
        double r10275371 = r10275363 * r10275370;
        double r10275372 = r10275356 + r10275371;
        double r10275373 = sqrt(r10275372);
        double r10275374 = r10275356 / r10275373;
        double r10275375 = r10275356 + r10275374;
        double r10275376 = r10275358 * r10275375;
        double r10275377 = sqrt(r10275376);
        return r10275377;
}

double f(double l, double Om, double kx, double ky) {
        double r10275378 = 0.5;
        double r10275379 = 2.0;
        double r10275380 = Om;
        double r10275381 = r10275379 / r10275380;
        double r10275382 = l;
        double r10275383 = r10275381 * r10275382;
        double r10275384 = ky;
        double r10275385 = sin(r10275384);
        double r10275386 = r10275385 * r10275385;
        double r10275387 = kx;
        double r10275388 = sin(r10275387);
        double r10275389 = r10275388 * r10275388;
        double r10275390 = r10275386 + r10275389;
        double r10275391 = r10275383 * r10275390;
        double r10275392 = r10275391 * r10275383;
        double r10275393 = 1.0;
        double r10275394 = r10275392 + r10275393;
        double r10275395 = sqrt(r10275394);
        double r10275396 = sqrt(r10275395);
        double r10275397 = r10275396 * r10275396;
        double r10275398 = r10275378 / r10275397;
        double r10275399 = r10275398 + r10275378;
        double r10275400 = sqrt(r10275399);
        return r10275400;
}

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.6

    \[\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.6

    \[\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. Using strategy rm
  4. Applied associate-*r*1.3

    \[\leadsto \sqrt{\frac{1}{2} + \frac{\frac{1}{2}}{\sqrt{\color{blue}{\left(\left(\sin ky \cdot \sin ky + \sin kx \cdot \sin kx\right) \cdot \left(\ell \cdot \frac{2}{Om}\right)\right) \cdot \left(\ell \cdot \frac{2}{Om}\right)} + 1}}}\]
  5. Using strategy rm
  6. Applied add-sqr-sqrt1.3

    \[\leadsto \sqrt{\frac{1}{2} + \frac{\frac{1}{2}}{\color{blue}{\sqrt{\sqrt{\left(\left(\sin ky \cdot \sin ky + \sin kx \cdot \sin kx\right) \cdot \left(\ell \cdot \frac{2}{Om}\right)\right) \cdot \left(\ell \cdot \frac{2}{Om}\right) + 1}} \cdot \sqrt{\sqrt{\left(\left(\sin ky \cdot \sin ky + \sin kx \cdot \sin kx\right) \cdot \left(\ell \cdot \frac{2}{Om}\right)\right) \cdot \left(\ell \cdot \frac{2}{Om}\right) + 1}}}}}\]
  7. Final simplification1.3

    \[\leadsto \sqrt{\frac{\frac{1}{2}}{\sqrt{\sqrt{\left(\left(\frac{2}{Om} \cdot \ell\right) \cdot \left(\sin ky \cdot \sin ky + \sin kx \cdot \sin kx\right)\right) \cdot \left(\frac{2}{Om} \cdot \ell\right) + 1}} \cdot \sqrt{\sqrt{\left(\left(\frac{2}{Om} \cdot \ell\right) \cdot \left(\sin ky \cdot \sin ky + \sin kx \cdot \sin kx\right)\right) \cdot \left(\frac{2}{Om} \cdot \ell\right) + 1}}} + \frac{1}{2}}\]

Reproduce

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