Average Error: 1.6 → 1.4
Time: 6.8s
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 r42781 = 1.0;
        double r42782 = 2.0;
        double r42783 = r42781 / r42782;
        double r42784 = l;
        double r42785 = r42782 * r42784;
        double r42786 = Om;
        double r42787 = r42785 / r42786;
        double r42788 = pow(r42787, r42782);
        double r42789 = kx;
        double r42790 = sin(r42789);
        double r42791 = pow(r42790, r42782);
        double r42792 = ky;
        double r42793 = sin(r42792);
        double r42794 = pow(r42793, r42782);
        double r42795 = r42791 + r42794;
        double r42796 = r42788 * r42795;
        double r42797 = r42781 + r42796;
        double r42798 = sqrt(r42797);
        double r42799 = r42781 / r42798;
        double r42800 = r42781 + r42799;
        double r42801 = r42783 * r42800;
        double r42802 = sqrt(r42801);
        return r42802;
}

double f(double l, double Om, double kx, double ky) {
        double r42803 = 1.0;
        double r42804 = 2.0;
        double r42805 = r42803 / r42804;
        double r42806 = l;
        double r42807 = r42804 * r42806;
        double r42808 = Om;
        double r42809 = r42807 / r42808;
        double r42810 = 2.0;
        double r42811 = r42804 / r42810;
        double r42812 = pow(r42809, r42811);
        double r42813 = kx;
        double r42814 = sin(r42813);
        double r42815 = pow(r42814, r42804);
        double r42816 = ky;
        double r42817 = sin(r42816);
        double r42818 = pow(r42817, r42804);
        double r42819 = r42815 + r42818;
        double r42820 = r42812 * r42819;
        double r42821 = r42812 * r42820;
        double r42822 = r42803 + r42821;
        double r42823 = sqrt(r42822);
        double r42824 = r42803 / r42823;
        double r42825 = r42803 + r42824;
        double r42826 = r42805 * r42825;
        double r42827 = sqrt(r42826);
        return r42827;
}

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

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

    \[\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*1.4

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

    \[\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 2019353 +o rules:numerics
(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))))))))))