Average Error: 1.8 → 1.6
Time: 10.0s
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}{\mathsf{log1p}\left(\mathsf{expm1}\left(\sqrt{1 + {\left(\left(\sqrt[3]{\frac{2}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}}} \cdot \sqrt[3]{\frac{\ell}{\sqrt[3]{Om}}}\right) \cdot \sqrt[3]{\frac{2 \cdot \ell}{Om}}\right)}^{2} \cdot \left({\left(\sqrt[3]{\frac{2 \cdot \ell}{Om}}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)\right)}\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}{\mathsf{log1p}\left(\mathsf{expm1}\left(\sqrt{1 + {\left(\left(\sqrt[3]{\frac{2}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}}} \cdot \sqrt[3]{\frac{\ell}{\sqrt[3]{Om}}}\right) \cdot \sqrt[3]{\frac{2 \cdot \ell}{Om}}\right)}^{2} \cdot \left({\left(\sqrt[3]{\frac{2 \cdot \ell}{Om}}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)\right)}\right)\right)}\right)}
double f(double l, double Om, double kx, double ky) {
        double r53202 = 1.0;
        double r53203 = 2.0;
        double r53204 = r53202 / r53203;
        double r53205 = l;
        double r53206 = r53203 * r53205;
        double r53207 = Om;
        double r53208 = r53206 / r53207;
        double r53209 = pow(r53208, r53203);
        double r53210 = kx;
        double r53211 = sin(r53210);
        double r53212 = pow(r53211, r53203);
        double r53213 = ky;
        double r53214 = sin(r53213);
        double r53215 = pow(r53214, r53203);
        double r53216 = r53212 + r53215;
        double r53217 = r53209 * r53216;
        double r53218 = r53202 + r53217;
        double r53219 = sqrt(r53218);
        double r53220 = r53202 / r53219;
        double r53221 = r53202 + r53220;
        double r53222 = r53204 * r53221;
        double r53223 = sqrt(r53222);
        return r53223;
}

double f(double l, double Om, double kx, double ky) {
        double r53224 = 1.0;
        double r53225 = 2.0;
        double r53226 = r53224 / r53225;
        double r53227 = Om;
        double r53228 = cbrt(r53227);
        double r53229 = r53228 * r53228;
        double r53230 = r53225 / r53229;
        double r53231 = cbrt(r53230);
        double r53232 = l;
        double r53233 = r53232 / r53228;
        double r53234 = cbrt(r53233);
        double r53235 = r53231 * r53234;
        double r53236 = r53225 * r53232;
        double r53237 = r53236 / r53227;
        double r53238 = cbrt(r53237);
        double r53239 = r53235 * r53238;
        double r53240 = pow(r53239, r53225);
        double r53241 = pow(r53238, r53225);
        double r53242 = kx;
        double r53243 = sin(r53242);
        double r53244 = pow(r53243, r53225);
        double r53245 = ky;
        double r53246 = sin(r53245);
        double r53247 = pow(r53246, r53225);
        double r53248 = r53244 + r53247;
        double r53249 = r53241 * r53248;
        double r53250 = r53240 * r53249;
        double r53251 = r53224 + r53250;
        double r53252 = sqrt(r53251);
        double r53253 = expm1(r53252);
        double r53254 = log1p(r53253);
        double r53255 = r53224 / r53254;
        double r53256 = r53224 + r53255;
        double r53257 = r53226 * r53256;
        double r53258 = sqrt(r53257);
        return r53258;
}

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

    \[\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-cbrt1.8

    \[\leadsto \sqrt{\frac{1}{2} \cdot \left(1 + \frac{1}{\sqrt{1 + {\color{blue}{\left(\left(\sqrt[3]{\frac{2 \cdot \ell}{Om}} \cdot \sqrt[3]{\frac{2 \cdot \ell}{Om}}\right) \cdot \sqrt[3]{\frac{2 \cdot \ell}{Om}}\right)}}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}\right)}\]
  4. Applied unpow-prod-down1.8

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

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

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

    \[\leadsto \sqrt{\frac{1}{2} \cdot \left(1 + \frac{1}{\mathsf{log1p}\left(\mathsf{expm1}\left(\sqrt{1 + {\left(\sqrt[3]{\frac{2 \cdot \ell}{\color{blue}{\left(\sqrt[3]{Om} \cdot \sqrt[3]{Om}\right) \cdot \sqrt[3]{Om}}}} \cdot \sqrt[3]{\frac{2 \cdot \ell}{Om}}\right)}^{2} \cdot \left({\left(\sqrt[3]{\frac{2 \cdot \ell}{Om}}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)\right)}\right)\right)}\right)}\]
  10. Applied times-frac1.6

    \[\leadsto \sqrt{\frac{1}{2} \cdot \left(1 + \frac{1}{\mathsf{log1p}\left(\mathsf{expm1}\left(\sqrt{1 + {\left(\sqrt[3]{\color{blue}{\frac{2}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}} \cdot \frac{\ell}{\sqrt[3]{Om}}}} \cdot \sqrt[3]{\frac{2 \cdot \ell}{Om}}\right)}^{2} \cdot \left({\left(\sqrt[3]{\frac{2 \cdot \ell}{Om}}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)\right)}\right)\right)}\right)}\]
  11. Applied cbrt-prod1.6

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

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

Reproduce

herbie shell --seed 2020034 +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))))))))))