Average Error: 1.7 → 1.3
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({\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 r43813 = 1.0;
        double r43814 = 2.0;
        double r43815 = r43813 / r43814;
        double r43816 = l;
        double r43817 = r43814 * r43816;
        double r43818 = Om;
        double r43819 = r43817 / r43818;
        double r43820 = pow(r43819, r43814);
        double r43821 = kx;
        double r43822 = sin(r43821);
        double r43823 = pow(r43822, r43814);
        double r43824 = ky;
        double r43825 = sin(r43824);
        double r43826 = pow(r43825, r43814);
        double r43827 = r43823 + r43826;
        double r43828 = r43820 * r43827;
        double r43829 = r43813 + r43828;
        double r43830 = sqrt(r43829);
        double r43831 = r43813 / r43830;
        double r43832 = r43813 + r43831;
        double r43833 = r43815 * r43832;
        double r43834 = sqrt(r43833);
        return r43834;
}

double f(double l, double Om, double kx, double ky) {
        double r43835 = 1.0;
        double r43836 = 2.0;
        double r43837 = r43835 / r43836;
        double r43838 = l;
        double r43839 = r43836 * r43838;
        double r43840 = Om;
        double r43841 = r43839 / r43840;
        double r43842 = 2.0;
        double r43843 = r43836 / r43842;
        double r43844 = pow(r43841, r43843);
        double r43845 = kx;
        double r43846 = sin(r43845);
        double r43847 = pow(r43846, r43836);
        double r43848 = ky;
        double r43849 = sin(r43848);
        double r43850 = pow(r43849, r43836);
        double r43851 = r43847 + r43850;
        double r43852 = sqrt(r43851);
        double r43853 = r43844 * r43852;
        double r43854 = r43853 * r43853;
        double r43855 = r43835 + r43854;
        double r43856 = sqrt(r43855);
        double r43857 = r43835 / r43856;
        double r43858 = r43835 + r43857;
        double r43859 = r43837 * r43858;
        double r43860 = sqrt(r43859);
        return r43860;
}

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

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

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