Average Error: 1.7 → 1.4
Time: 24.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{\left(\frac{1}{\sqrt{1 + \left(\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}} \cdot {\left(\frac{2}{\frac{Om}{\ell}}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}} \cdot {\left(\frac{2}{\frac{Om}{\ell}}\right)}^{\left(\frac{2}{2}\right)}\right)}} + 1\right) \cdot \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{\left(\frac{1}{\sqrt{1 + \left(\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}} \cdot {\left(\frac{2}{\frac{Om}{\ell}}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}} \cdot {\left(\frac{2}{\frac{Om}{\ell}}\right)}^{\left(\frac{2}{2}\right)}\right)}} + 1\right) \cdot \frac{1}{2}}
double f(double l, double Om, double kx, double ky) {
        double r51018 = 1.0;
        double r51019 = 2.0;
        double r51020 = r51018 / r51019;
        double r51021 = l;
        double r51022 = r51019 * r51021;
        double r51023 = Om;
        double r51024 = r51022 / r51023;
        double r51025 = pow(r51024, r51019);
        double r51026 = kx;
        double r51027 = sin(r51026);
        double r51028 = pow(r51027, r51019);
        double r51029 = ky;
        double r51030 = sin(r51029);
        double r51031 = pow(r51030, r51019);
        double r51032 = r51028 + r51031;
        double r51033 = r51025 * r51032;
        double r51034 = r51018 + r51033;
        double r51035 = sqrt(r51034);
        double r51036 = r51018 / r51035;
        double r51037 = r51018 + r51036;
        double r51038 = r51020 * r51037;
        double r51039 = sqrt(r51038);
        return r51039;
}

double f(double l, double Om, double kx, double ky) {
        double r51040 = 1.0;
        double r51041 = kx;
        double r51042 = sin(r51041);
        double r51043 = 2.0;
        double r51044 = pow(r51042, r51043);
        double r51045 = ky;
        double r51046 = sin(r51045);
        double r51047 = pow(r51046, r51043);
        double r51048 = r51044 + r51047;
        double r51049 = sqrt(r51048);
        double r51050 = Om;
        double r51051 = l;
        double r51052 = r51050 / r51051;
        double r51053 = r51043 / r51052;
        double r51054 = 2.0;
        double r51055 = r51043 / r51054;
        double r51056 = pow(r51053, r51055);
        double r51057 = r51049 * r51056;
        double r51058 = r51057 * r51057;
        double r51059 = r51040 + r51058;
        double r51060 = sqrt(r51059);
        double r51061 = r51040 / r51060;
        double r51062 = r51061 + r51040;
        double r51063 = r51040 / r51043;
        double r51064 = r51062 * r51063;
        double r51065 = sqrt(r51064);
        return r51065;
}

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

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

    \[\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-sqr1.4

    \[\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. Simplified1.4

    \[\leadsto \sqrt{\frac{1}{2} \cdot \left(1 + \frac{1}{\sqrt{1 + \color{blue}{\left({\left(\frac{2}{\frac{Om}{\ell}}\right)}^{\left(\frac{2}{2}\right)} \cdot \sqrt{{\left(\sin ky\right)}^{2} + {\left(\sin kx\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)}\]
  7. Simplified1.4

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

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

Reproduce

herbie shell --seed 2019196 
(FPCore (l Om kx ky)
  :name "Toniolo and Linder, Equation (3a)"
  (sqrt (* (/ 1.0 2.0) (+ 1.0 (/ 1.0 (sqrt (+ 1.0 (* (pow (/ (* 2.0 l) Om) 2.0) (+ (pow (sin kx) 2.0) (pow (sin ky) 2.0))))))))))