Average Error: 1.6 → 1.6
Time: 27.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{\left(\frac{1}{\left(\sqrt[3]{\sqrt{\mathsf{fma}\left({\left(\frac{2 \cdot \ell}{Om}\right)}^{2}, {\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}, 1\right)}} \cdot \sqrt[3]{\sqrt{\mathsf{fma}\left({\left(\frac{2 \cdot \ell}{Om}\right)}^{2}, {\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}, 1\right)}}\right) \cdot \left(\left(\sqrt[3]{\sqrt[3]{\sqrt{\mathsf{fma}\left({\left(\frac{2 \cdot \ell}{Om}\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 \cdot \ell}{Om}\right)}^{2}, {\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}, 1\right)}}}\right) \cdot \sqrt[3]{\sqrt[3]{\sqrt{\mathsf{fma}\left({\left(\frac{2 \cdot \ell}{Om}\right)}^{2}, {\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}, 1\right)}}}\right)} + 1\right) \cdot \frac{1}{2}}\]
\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{\left(\frac{1}{\left(\sqrt[3]{\sqrt{\mathsf{fma}\left({\left(\frac{2 \cdot \ell}{Om}\right)}^{2}, {\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}, 1\right)}} \cdot \sqrt[3]{\sqrt{\mathsf{fma}\left({\left(\frac{2 \cdot \ell}{Om}\right)}^{2}, {\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}, 1\right)}}\right) \cdot \left(\left(\sqrt[3]{\sqrt[3]{\sqrt{\mathsf{fma}\left({\left(\frac{2 \cdot \ell}{Om}\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 \cdot \ell}{Om}\right)}^{2}, {\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}, 1\right)}}}\right) \cdot \sqrt[3]{\sqrt[3]{\sqrt{\mathsf{fma}\left({\left(\frac{2 \cdot \ell}{Om}\right)}^{2}, {\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}, 1\right)}}}\right)} + 1\right) \cdot \frac{1}{2}}
double f(double l, double Om, double kx, double ky) {
        double r2492052 = 1.0;
        double r2492053 = 2.0;
        double r2492054 = r2492052 / r2492053;
        double r2492055 = l;
        double r2492056 = r2492053 * r2492055;
        double r2492057 = Om;
        double r2492058 = r2492056 / r2492057;
        double r2492059 = pow(r2492058, r2492053);
        double r2492060 = kx;
        double r2492061 = sin(r2492060);
        double r2492062 = pow(r2492061, r2492053);
        double r2492063 = ky;
        double r2492064 = sin(r2492063);
        double r2492065 = pow(r2492064, r2492053);
        double r2492066 = r2492062 + r2492065;
        double r2492067 = r2492059 * r2492066;
        double r2492068 = r2492052 + r2492067;
        double r2492069 = sqrt(r2492068);
        double r2492070 = r2492052 / r2492069;
        double r2492071 = r2492052 + r2492070;
        double r2492072 = r2492054 * r2492071;
        double r2492073 = sqrt(r2492072);
        return r2492073;
}

double f(double l, double Om, double kx, double ky) {
        double r2492074 = 1.0;
        double r2492075 = 2.0;
        double r2492076 = l;
        double r2492077 = r2492075 * r2492076;
        double r2492078 = Om;
        double r2492079 = r2492077 / r2492078;
        double r2492080 = pow(r2492079, r2492075);
        double r2492081 = kx;
        double r2492082 = sin(r2492081);
        double r2492083 = pow(r2492082, r2492075);
        double r2492084 = ky;
        double r2492085 = sin(r2492084);
        double r2492086 = pow(r2492085, r2492075);
        double r2492087 = r2492083 + r2492086;
        double r2492088 = fma(r2492080, r2492087, r2492074);
        double r2492089 = sqrt(r2492088);
        double r2492090 = cbrt(r2492089);
        double r2492091 = r2492090 * r2492090;
        double r2492092 = cbrt(r2492090);
        double r2492093 = r2492092 * r2492092;
        double r2492094 = r2492093 * r2492092;
        double r2492095 = r2492091 * r2492094;
        double r2492096 = r2492074 / r2492095;
        double r2492097 = r2492096 + r2492074;
        double r2492098 = r2492074 / r2492075;
        double r2492099 = r2492097 * r2492098;
        double r2492100 = sqrt(r2492099);
        return r2492100;
}

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

    \[\leadsto \sqrt{\left(\frac{1}{\left(\sqrt[3]{\sqrt{\mathsf{fma}\left({\left(\frac{2 \cdot \ell}{Om}\right)}^{2}, {\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}, 1\right)}} \cdot \sqrt[3]{\sqrt{\mathsf{fma}\left({\left(\frac{2 \cdot \ell}{Om}\right)}^{2}, {\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}, 1\right)}}\right) \cdot \left(\left(\sqrt[3]{\sqrt[3]{\sqrt{\mathsf{fma}\left({\left(\frac{2 \cdot \ell}{Om}\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 \cdot \ell}{Om}\right)}^{2}, {\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}, 1\right)}}}\right) \cdot \sqrt[3]{\sqrt[3]{\sqrt{\mathsf{fma}\left({\left(\frac{2 \cdot \ell}{Om}\right)}^{2}, {\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}, 1\right)}}}\right)} + 1\right) \cdot \frac{1}{2}}\]

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))))))))))