Average Error: 1.5 → 1.2
Time: 18.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{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 r57031 = 1.0;
        double r57032 = 2.0;
        double r57033 = r57031 / r57032;
        double r57034 = l;
        double r57035 = r57032 * r57034;
        double r57036 = Om;
        double r57037 = r57035 / r57036;
        double r57038 = pow(r57037, r57032);
        double r57039 = kx;
        double r57040 = sin(r57039);
        double r57041 = pow(r57040, r57032);
        double r57042 = ky;
        double r57043 = sin(r57042);
        double r57044 = pow(r57043, r57032);
        double r57045 = r57041 + r57044;
        double r57046 = r57038 * r57045;
        double r57047 = r57031 + r57046;
        double r57048 = sqrt(r57047);
        double r57049 = r57031 / r57048;
        double r57050 = r57031 + r57049;
        double r57051 = r57033 * r57050;
        double r57052 = sqrt(r57051);
        return r57052;
}

double f(double l, double Om, double kx, double ky) {
        double r57053 = 1.0;
        double r57054 = 2.0;
        double r57055 = r57053 / r57054;
        double r57056 = l;
        double r57057 = r57054 * r57056;
        double r57058 = Om;
        double r57059 = r57057 / r57058;
        double r57060 = 2.0;
        double r57061 = r57054 / r57060;
        double r57062 = pow(r57059, r57061);
        double r57063 = kx;
        double r57064 = sin(r57063);
        double r57065 = pow(r57064, r57054);
        double r57066 = ky;
        double r57067 = sin(r57066);
        double r57068 = pow(r57067, r57054);
        double r57069 = r57065 + r57068;
        double r57070 = sqrt(r57069);
        double r57071 = r57062 * r57070;
        double r57072 = r57071 * r57071;
        double r57073 = r57053 + r57072;
        double r57074 = sqrt(r57073);
        double r57075 = r57053 / r57074;
        double r57076 = r57053 + r57075;
        double r57077 = r57055 * r57076;
        double r57078 = sqrt(r57077);
        return r57078;
}

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

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

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

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

    \[\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 2020043 
(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))))))))))