Average Error: 1.5 → 1.3
Time: 23.1s
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{\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}} + \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{\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}} + \frac{1}{2}}
double f(double l, double Om, double kx, double ky) {
        double r796417 = 1.0;
        double r796418 = 2.0;
        double r796419 = r796417 / r796418;
        double r796420 = l;
        double r796421 = r796418 * r796420;
        double r796422 = Om;
        double r796423 = r796421 / r796422;
        double r796424 = pow(r796423, r796418);
        double r796425 = kx;
        double r796426 = sin(r796425);
        double r796427 = pow(r796426, r796418);
        double r796428 = ky;
        double r796429 = sin(r796428);
        double r796430 = pow(r796429, r796418);
        double r796431 = r796427 + r796430;
        double r796432 = r796424 * r796431;
        double r796433 = r796417 + r796432;
        double r796434 = sqrt(r796433);
        double r796435 = r796417 / r796434;
        double r796436 = r796417 + r796435;
        double r796437 = r796419 * r796436;
        double r796438 = sqrt(r796437);
        return r796438;
}

double f(double l, double Om, double kx, double ky) {
        double r796439 = 0.5;
        double r796440 = 2.0;
        double r796441 = l;
        double r796442 = r796440 * r796441;
        double r796443 = Om;
        double r796444 = r796442 / r796443;
        double r796445 = ky;
        double r796446 = sin(r796445);
        double r796447 = r796446 * r796446;
        double r796448 = kx;
        double r796449 = sin(r796448);
        double r796450 = r796449 * r796449;
        double r796451 = r796447 + r796450;
        double r796452 = r796444 * r796451;
        double r796453 = r796452 * r796444;
        double r796454 = 1.0;
        double r796455 = r796453 + r796454;
        double r796456 = sqrt(r796455);
        double r796457 = r796439 / r796456;
        double r796458 = r796457 + r796439;
        double r796459 = sqrt(r796458);
        return r796459;
}

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

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

    \[\leadsto \color{blue}{\sqrt{\frac{\frac{1}{2}}{\sqrt{\left(\sin ky \cdot \sin ky + \sin kx \cdot \sin kx\right) \cdot \left(\frac{\ell \cdot 2}{Om} \cdot \frac{\ell \cdot 2}{Om}\right) + 1}} + \frac{1}{2}}}\]
  3. Using strategy rm
  4. Applied associate-*r*1.3

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

    \[\leadsto \sqrt{\frac{\frac{1}{2}}{\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}} + \frac{1}{2}}\]

Reproduce

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