Average Error: 1.8 → 1.9
Time: 34.2s
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{\log \left(e^{\sqrt{\left(\sin ky \cdot \sin ky + \sin kx \cdot \sin kx\right) \cdot \left(\frac{2 \cdot \ell}{Om} \cdot \frac{2 \cdot \ell}{Om}\right) + 1}}\right)} \cdot \sqrt{\sqrt{\left(\sin ky \cdot \sin ky + \sin kx \cdot \sin kx\right) \cdot \left(\frac{2 \cdot \ell}{Om} \cdot \frac{2 \cdot \ell}{Om}\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{\log \left(e^{\sqrt{\left(\sin ky \cdot \sin ky + \sin kx \cdot \sin kx\right) \cdot \left(\frac{2 \cdot \ell}{Om} \cdot \frac{2 \cdot \ell}{Om}\right) + 1}}\right)} \cdot \sqrt{\sqrt{\left(\sin ky \cdot \sin ky + \sin kx \cdot \sin kx\right) \cdot \left(\frac{2 \cdot \ell}{Om} \cdot \frac{2 \cdot \ell}{Om}\right) + 1}}} + \frac{1}{2}}
double f(double l, double Om, double kx, double ky) {
        double r1270717 = 1.0;
        double r1270718 = 2.0;
        double r1270719 = r1270717 / r1270718;
        double r1270720 = l;
        double r1270721 = r1270718 * r1270720;
        double r1270722 = Om;
        double r1270723 = r1270721 / r1270722;
        double r1270724 = pow(r1270723, r1270718);
        double r1270725 = kx;
        double r1270726 = sin(r1270725);
        double r1270727 = pow(r1270726, r1270718);
        double r1270728 = ky;
        double r1270729 = sin(r1270728);
        double r1270730 = pow(r1270729, r1270718);
        double r1270731 = r1270727 + r1270730;
        double r1270732 = r1270724 * r1270731;
        double r1270733 = r1270717 + r1270732;
        double r1270734 = sqrt(r1270733);
        double r1270735 = r1270717 / r1270734;
        double r1270736 = r1270717 + r1270735;
        double r1270737 = r1270719 * r1270736;
        double r1270738 = sqrt(r1270737);
        return r1270738;
}

double f(double l, double Om, double kx, double ky) {
        double r1270739 = 0.5;
        double r1270740 = ky;
        double r1270741 = sin(r1270740);
        double r1270742 = r1270741 * r1270741;
        double r1270743 = kx;
        double r1270744 = sin(r1270743);
        double r1270745 = r1270744 * r1270744;
        double r1270746 = r1270742 + r1270745;
        double r1270747 = 2.0;
        double r1270748 = l;
        double r1270749 = r1270747 * r1270748;
        double r1270750 = Om;
        double r1270751 = r1270749 / r1270750;
        double r1270752 = r1270751 * r1270751;
        double r1270753 = r1270746 * r1270752;
        double r1270754 = 1.0;
        double r1270755 = r1270753 + r1270754;
        double r1270756 = sqrt(r1270755);
        double r1270757 = exp(r1270756);
        double r1270758 = log(r1270757);
        double r1270759 = sqrt(r1270758);
        double r1270760 = sqrt(r1270756);
        double r1270761 = r1270759 * r1270760;
        double r1270762 = r1270739 / r1270761;
        double r1270763 = r1270762 + r1270739;
        double r1270764 = sqrt(r1270763);
        return r1270764;
}

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

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

    \[\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 add-sqr-sqrt1.8

    \[\leadsto \sqrt{\frac{\frac{1}{2}}{\color{blue}{\sqrt{\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}} \cdot \sqrt{\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}}\]
  5. Using strategy rm
  6. Applied add-log-exp1.9

    \[\leadsto \sqrt{\frac{\frac{1}{2}}{\sqrt{\color{blue}{\log \left(e^{\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}}\right)}} \cdot \sqrt{\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}}\]
  7. Final simplification1.9

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

Reproduce

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