Average Error: 1.6 → 1.6
Time: 27.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{\frac{1}{2} \cdot \left(\frac{1}{\left(\sqrt[3]{\sqrt[3]{\sqrt{\mathsf{fma}\left({\left(\frac{2}{\frac{Om}{\ell}}\right)}^{2}, {\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}, 1\right)}}} \cdot \left(\sqrt[3]{\sqrt[3]{\sqrt{\mathsf{fma}\left({\left(\frac{2}{\frac{Om}{\ell}}\right)}^{2}, {\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}, 1\right)}}} \cdot \sqrt[3]{\sqrt[3]{\sqrt{\mathsf{fma}\left({\left(\frac{2}{\frac{Om}{\ell}}\right)}^{2}, {\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}, 1\right)}}}\right)\right) \cdot \left(\sqrt[3]{\sqrt{\mathsf{fma}\left({\left(\frac{2}{\frac{Om}{\ell}}\right)}^{2}, {\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}, 1\right)}} \cdot \sqrt[3]{\sqrt{\mathsf{fma}\left({\left(\frac{2}{\frac{Om}{\ell}}\right)}^{2}, {\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}, 1\right)}}\right)} + 1\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(\frac{1}{\left(\sqrt[3]{\sqrt[3]{\sqrt{\mathsf{fma}\left({\left(\frac{2}{\frac{Om}{\ell}}\right)}^{2}, {\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}, 1\right)}}} \cdot \left(\sqrt[3]{\sqrt[3]{\sqrt{\mathsf{fma}\left({\left(\frac{2}{\frac{Om}{\ell}}\right)}^{2}, {\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}, 1\right)}}} \cdot \sqrt[3]{\sqrt[3]{\sqrt{\mathsf{fma}\left({\left(\frac{2}{\frac{Om}{\ell}}\right)}^{2}, {\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}, 1\right)}}}\right)\right) \cdot \left(\sqrt[3]{\sqrt{\mathsf{fma}\left({\left(\frac{2}{\frac{Om}{\ell}}\right)}^{2}, {\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}, 1\right)}} \cdot \sqrt[3]{\sqrt{\mathsf{fma}\left({\left(\frac{2}{\frac{Om}{\ell}}\right)}^{2}, {\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}, 1\right)}}\right)} + 1\right)}
double f(double l, double Om, double kx, double ky) {
        double r1731986 = 1.0;
        double r1731987 = 2.0;
        double r1731988 = r1731986 / r1731987;
        double r1731989 = l;
        double r1731990 = r1731987 * r1731989;
        double r1731991 = Om;
        double r1731992 = r1731990 / r1731991;
        double r1731993 = pow(r1731992, r1731987);
        double r1731994 = kx;
        double r1731995 = sin(r1731994);
        double r1731996 = pow(r1731995, r1731987);
        double r1731997 = ky;
        double r1731998 = sin(r1731997);
        double r1731999 = pow(r1731998, r1731987);
        double r1732000 = r1731996 + r1731999;
        double r1732001 = r1731993 * r1732000;
        double r1732002 = r1731986 + r1732001;
        double r1732003 = sqrt(r1732002);
        double r1732004 = r1731986 / r1732003;
        double r1732005 = r1731986 + r1732004;
        double r1732006 = r1731988 * r1732005;
        double r1732007 = sqrt(r1732006);
        return r1732007;
}

double f(double l, double Om, double kx, double ky) {
        double r1732008 = 1.0;
        double r1732009 = 2.0;
        double r1732010 = r1732008 / r1732009;
        double r1732011 = Om;
        double r1732012 = l;
        double r1732013 = r1732011 / r1732012;
        double r1732014 = r1732009 / r1732013;
        double r1732015 = pow(r1732014, r1732009);
        double r1732016 = kx;
        double r1732017 = sin(r1732016);
        double r1732018 = pow(r1732017, r1732009);
        double r1732019 = ky;
        double r1732020 = sin(r1732019);
        double r1732021 = pow(r1732020, r1732009);
        double r1732022 = r1732018 + r1732021;
        double r1732023 = fma(r1732015, r1732022, r1732008);
        double r1732024 = sqrt(r1732023);
        double r1732025 = cbrt(r1732024);
        double r1732026 = cbrt(r1732025);
        double r1732027 = r1732026 * r1732026;
        double r1732028 = r1732026 * r1732027;
        double r1732029 = r1732025 * r1732025;
        double r1732030 = r1732028 * r1732029;
        double r1732031 = r1732008 / r1732030;
        double r1732032 = r1732031 + r1732008;
        double r1732033 = r1732010 * r1732032;
        double r1732034 = sqrt(r1732033);
        return r1732034;
}

Error

Bits error versus l

Bits error versus Om

Bits error versus kx

Bits error versus ky

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

    \[\leadsto \color{blue}{\sqrt{\left(\frac{1}{\sqrt{\mathsf{fma}\left({\left(\frac{2}{\frac{Om}{\ell}}\right)}^{2}, {\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}, 1\right)}} + 1\right) \cdot \frac{1}{2}}}\]
  3. Using strategy rm
  4. Applied add-cube-cbrt1.6

    \[\leadsto \sqrt{\left(\frac{1}{\color{blue}{\left(\sqrt[3]{\sqrt{\mathsf{fma}\left({\left(\frac{2}{\frac{Om}{\ell}}\right)}^{2}, {\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}, 1\right)}} \cdot \sqrt[3]{\sqrt{\mathsf{fma}\left({\left(\frac{2}{\frac{Om}{\ell}}\right)}^{2}, {\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}, 1\right)}}\right) \cdot \sqrt[3]{\sqrt{\mathsf{fma}\left({\left(\frac{2}{\frac{Om}{\ell}}\right)}^{2}, {\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}, 1\right)}}}} + 1\right) \cdot \frac{1}{2}}\]
  5. Using strategy rm
  6. Applied add-cube-cbrt1.6

    \[\leadsto \sqrt{\left(\frac{1}{\left(\sqrt[3]{\sqrt{\mathsf{fma}\left({\left(\frac{2}{\frac{Om}{\ell}}\right)}^{2}, {\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}, 1\right)}} \cdot \sqrt[3]{\sqrt{\mathsf{fma}\left({\left(\frac{2}{\frac{Om}{\ell}}\right)}^{2}, {\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}, 1\right)}}\right) \cdot \color{blue}{\left(\left(\sqrt[3]{\sqrt[3]{\sqrt{\mathsf{fma}\left({\left(\frac{2}{\frac{Om}{\ell}}\right)}^{2}, {\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}, 1\right)}}} \cdot \sqrt[3]{\sqrt[3]{\sqrt{\mathsf{fma}\left({\left(\frac{2}{\frac{Om}{\ell}}\right)}^{2}, {\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}, 1\right)}}}\right) \cdot \sqrt[3]{\sqrt[3]{\sqrt{\mathsf{fma}\left({\left(\frac{2}{\frac{Om}{\ell}}\right)}^{2}, {\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}, 1\right)}}}\right)}} + 1\right) \cdot \frac{1}{2}}\]
  7. Final simplification1.6

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

Reproduce

herbie shell --seed 2019174 +o rules:numerics
(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))))))))))