Average Error: 1.0 → 0.8
Time: 5.6s
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{1}{2} \cdot \left(1 + \frac{1}{\sqrt{1 + \left({\left(\frac{2 \cdot \ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}\right) \cdot \left({\left(\frac{2 \cdot \ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}\right)}}\right)}\]
\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{1}{2} \cdot \left(1 + \frac{1}{\sqrt{1 + \left({\left(\frac{2 \cdot \ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}\right) \cdot \left({\left(\frac{2 \cdot \ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}\right)}}\right)}
double f(double l, double Om, double kx, double ky) {
        double r37515 = 1.0;
        double r37516 = 2.0;
        double r37517 = r37515 / r37516;
        double r37518 = l;
        double r37519 = r37516 * r37518;
        double r37520 = Om;
        double r37521 = r37519 / r37520;
        double r37522 = pow(r37521, r37516);
        double r37523 = kx;
        double r37524 = sin(r37523);
        double r37525 = pow(r37524, r37516);
        double r37526 = ky;
        double r37527 = sin(r37526);
        double r37528 = pow(r37527, r37516);
        double r37529 = r37525 + r37528;
        double r37530 = r37522 * r37529;
        double r37531 = r37515 + r37530;
        double r37532 = sqrt(r37531);
        double r37533 = r37515 / r37532;
        double r37534 = r37515 + r37533;
        double r37535 = r37517 * r37534;
        double r37536 = sqrt(r37535);
        return r37536;
}

double f(double l, double Om, double kx, double ky) {
        double r37537 = 1.0;
        double r37538 = 2.0;
        double r37539 = r37537 / r37538;
        double r37540 = l;
        double r37541 = r37538 * r37540;
        double r37542 = Om;
        double r37543 = r37541 / r37542;
        double r37544 = 2.0;
        double r37545 = r37538 / r37544;
        double r37546 = pow(r37543, r37545);
        double r37547 = kx;
        double r37548 = sin(r37547);
        double r37549 = pow(r37548, r37538);
        double r37550 = ky;
        double r37551 = sin(r37550);
        double r37552 = pow(r37551, r37538);
        double r37553 = r37549 + r37552;
        double r37554 = sqrt(r37553);
        double r37555 = r37546 * r37554;
        double r37556 = r37555 * r37555;
        double r37557 = r37537 + r37556;
        double r37558 = sqrt(r37557);
        double r37559 = r37537 / r37558;
        double r37560 = r37537 + r37559;
        double r37561 = r37539 * r37560;
        double r37562 = sqrt(r37561);
        return r37562;
}

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

    \[\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. Using strategy rm
  3. Applied add-sqr-sqrt1.0

    \[\leadsto \sqrt{\frac{1}{2} \cdot \left(1 + \frac{1}{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \color{blue}{\left(\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}} \cdot \sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}\right)}}}\right)}\]
  4. Applied sqr-pow1.0

    \[\leadsto \sqrt{\frac{1}{2} \cdot \left(1 + \frac{1}{\sqrt{1 + \color{blue}{\left({\left(\frac{2 \cdot \ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot {\left(\frac{2 \cdot \ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right)} \cdot \left(\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}} \cdot \sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}\right)}}\right)}\]
  5. Applied unswap-sqr0.8

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

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

Reproduce

herbie shell --seed 2020060 
(FPCore (l Om kx ky)
  :name "Toniolo and Linder, Equation (3a)"
  :precision binary64
  (sqrt (* (/ 1 2) (+ 1 (/ 1 (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))))))))