Average Error: 1.1 → 0.8
Time: 7.4s
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(\frac{2 \cdot \ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left({\left(\frac{2 \cdot \ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)\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(\frac{2 \cdot \ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left({\left(\frac{2 \cdot \ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)\right)}}\right)}
double f(double l, double Om, double kx, double ky) {
        double r42105 = 1.0;
        double r42106 = 2.0;
        double r42107 = r42105 / r42106;
        double r42108 = l;
        double r42109 = r42106 * r42108;
        double r42110 = Om;
        double r42111 = r42109 / r42110;
        double r42112 = pow(r42111, r42106);
        double r42113 = kx;
        double r42114 = sin(r42113);
        double r42115 = pow(r42114, r42106);
        double r42116 = ky;
        double r42117 = sin(r42116);
        double r42118 = pow(r42117, r42106);
        double r42119 = r42115 + r42118;
        double r42120 = r42112 * r42119;
        double r42121 = r42105 + r42120;
        double r42122 = sqrt(r42121);
        double r42123 = r42105 / r42122;
        double r42124 = r42105 + r42123;
        double r42125 = r42107 * r42124;
        double r42126 = sqrt(r42125);
        return r42126;
}

double f(double l, double Om, double kx, double ky) {
        double r42127 = 1.0;
        double r42128 = 2.0;
        double r42129 = r42127 / r42128;
        double r42130 = l;
        double r42131 = r42128 * r42130;
        double r42132 = Om;
        double r42133 = r42131 / r42132;
        double r42134 = 2.0;
        double r42135 = r42128 / r42134;
        double r42136 = pow(r42133, r42135);
        double r42137 = kx;
        double r42138 = sin(r42137);
        double r42139 = pow(r42138, r42128);
        double r42140 = ky;
        double r42141 = sin(r42140);
        double r42142 = pow(r42141, r42128);
        double r42143 = r42139 + r42142;
        double r42144 = r42136 * r42143;
        double r42145 = r42136 * r42144;
        double r42146 = r42127 + r42145;
        double r42147 = sqrt(r42146);
        double r42148 = r42127 / r42147;
        double r42149 = r42127 + r42148;
        double r42150 = r42129 * r42149;
        double r42151 = sqrt(r42150);
        return r42151;
}

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

    \[\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 sqr-pow1.1

    \[\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({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}\right)}\]
  4. Applied associate-*l*0.8

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

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

Reproduce

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