Average Error: 1.7 → 1.3
Time: 10.3s
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)}\]
\[\begin{array}{l} \mathbf{if}\;{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2} \le 6.255042022075511028897152922160877393 \cdot 10^{-314}:\\ \;\;\;\;\sqrt{\frac{1}{2} \cdot \left(1 + \frac{1}{\sqrt{1}}\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\frac{1}{2} \cdot \left(1 + \frac{\sqrt{1}}{\sqrt[3]{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}} \cdot \sqrt[3]{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}} \cdot \frac{\sqrt{1}}{\left(\sqrt[3]{\sqrt[3]{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}} \cdot \sqrt[3]{\sqrt[3]{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}}\right) \cdot \sqrt[3]{\sqrt[3]{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}}}\right)}\\ \end{array}\]
\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)}
\begin{array}{l}
\mathbf{if}\;{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2} \le 6.255042022075511028897152922160877393 \cdot 10^{-314}:\\
\;\;\;\;\sqrt{\frac{1}{2} \cdot \left(1 + \frac{1}{\sqrt{1}}\right)}\\

\mathbf{else}:\\
\;\;\;\;\sqrt{\frac{1}{2} \cdot \left(1 + \frac{\sqrt{1}}{\sqrt[3]{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}} \cdot \sqrt[3]{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}} \cdot \frac{\sqrt{1}}{\left(\sqrt[3]{\sqrt[3]{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}} \cdot \sqrt[3]{\sqrt[3]{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}}\right) \cdot \sqrt[3]{\sqrt[3]{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}}}\right)}\\

\end{array}
double f(double l, double Om, double kx, double ky) {
        double r55168 = 1.0;
        double r55169 = 2.0;
        double r55170 = r55168 / r55169;
        double r55171 = l;
        double r55172 = r55169 * r55171;
        double r55173 = Om;
        double r55174 = r55172 / r55173;
        double r55175 = pow(r55174, r55169);
        double r55176 = kx;
        double r55177 = sin(r55176);
        double r55178 = pow(r55177, r55169);
        double r55179 = ky;
        double r55180 = sin(r55179);
        double r55181 = pow(r55180, r55169);
        double r55182 = r55178 + r55181;
        double r55183 = r55175 * r55182;
        double r55184 = r55168 + r55183;
        double r55185 = sqrt(r55184);
        double r55186 = r55168 / r55185;
        double r55187 = r55168 + r55186;
        double r55188 = r55170 * r55187;
        double r55189 = sqrt(r55188);
        return r55189;
}

double f(double l, double Om, double kx, double ky) {
        double r55190 = kx;
        double r55191 = sin(r55190);
        double r55192 = 2.0;
        double r55193 = pow(r55191, r55192);
        double r55194 = ky;
        double r55195 = sin(r55194);
        double r55196 = pow(r55195, r55192);
        double r55197 = r55193 + r55196;
        double r55198 = 6.2550420220755e-314;
        bool r55199 = r55197 <= r55198;
        double r55200 = 1.0;
        double r55201 = r55200 / r55192;
        double r55202 = sqrt(r55200);
        double r55203 = r55200 / r55202;
        double r55204 = r55200 + r55203;
        double r55205 = r55201 * r55204;
        double r55206 = sqrt(r55205);
        double r55207 = l;
        double r55208 = r55192 * r55207;
        double r55209 = Om;
        double r55210 = r55208 / r55209;
        double r55211 = pow(r55210, r55192);
        double r55212 = r55211 * r55197;
        double r55213 = r55200 + r55212;
        double r55214 = sqrt(r55213);
        double r55215 = cbrt(r55214);
        double r55216 = r55215 * r55215;
        double r55217 = r55202 / r55216;
        double r55218 = cbrt(r55215);
        double r55219 = r55218 * r55218;
        double r55220 = r55219 * r55218;
        double r55221 = r55202 / r55220;
        double r55222 = r55217 * r55221;
        double r55223 = r55200 + r55222;
        double r55224 = r55201 * r55223;
        double r55225 = sqrt(r55224);
        double r55226 = r55199 ? r55206 : r55225;
        return r55226;
}

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. Split input into 2 regimes
  2. if (+ (pow (sin kx) 2.0) (pow (sin ky) 2.0)) < 6.2550420220755e-314

    1. Initial program 17.0

      \[\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. Taylor expanded around 0 11.0

      \[\leadsto \sqrt{\frac{1}{2} \cdot \left(1 + \frac{1}{\color{blue}{\sqrt{1}}}\right)}\]

    if 6.2550420220755e-314 < (+ (pow (sin kx) 2.0) (pow (sin ky) 2.0))

    1. Initial program 0.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-cube-cbrt0.7

      \[\leadsto \sqrt{\frac{1}{2} \cdot \left(1 + \frac{1}{\color{blue}{\left(\sqrt[3]{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}} \cdot \sqrt[3]{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}\right) \cdot \sqrt[3]{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}}}\right)}\]
    4. Applied add-sqr-sqrt0.7

      \[\leadsto \sqrt{\frac{1}{2} \cdot \left(1 + \frac{\color{blue}{\sqrt{1} \cdot \sqrt{1}}}{\left(\sqrt[3]{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}} \cdot \sqrt[3]{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}\right) \cdot \sqrt[3]{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}}\right)}\]
    5. Applied times-frac0.7

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

      \[\leadsto \sqrt{\frac{1}{2} \cdot \left(1 + \frac{\sqrt{1}}{\sqrt[3]{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}} \cdot \sqrt[3]{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}} \cdot \frac{\sqrt{1}}{\color{blue}{\left(\sqrt[3]{\sqrt[3]{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}} \cdot \sqrt[3]{\sqrt[3]{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}}\right) \cdot \sqrt[3]{\sqrt[3]{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}}}}\right)}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification1.3

    \[\leadsto \begin{array}{l} \mathbf{if}\;{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2} \le 6.255042022075511028897152922160877393 \cdot 10^{-314}:\\ \;\;\;\;\sqrt{\frac{1}{2} \cdot \left(1 + \frac{1}{\sqrt{1}}\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\frac{1}{2} \cdot \left(1 + \frac{\sqrt{1}}{\sqrt[3]{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}} \cdot \sqrt[3]{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}} \cdot \frac{\sqrt{1}}{\left(\sqrt[3]{\sqrt[3]{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}} \cdot \sqrt[3]{\sqrt[3]{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}}\right) \cdot \sqrt[3]{\sqrt[3]{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}}}\right)}\\ \end{array}\]

Reproduce

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