Average Error: 1.8 → 1.8
Time: 22.5s
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}{\frac{2}{\frac{1}{\sqrt{\mathsf{fma}\left({\left(\frac{2 \cdot \ell}{Om}\right)}^{2}, {\left(\sin kx\right)}^{2} + {\left(\sqrt[3]{\sin ky} \cdot \sqrt[3]{\sin ky}\right)}^{2} \cdot {\left(\sqrt[3]{\sin ky}\right)}^{2}, 1\right)}} + 1}}}\]
\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}{\frac{2}{\frac{1}{\sqrt{\mathsf{fma}\left({\left(\frac{2 \cdot \ell}{Om}\right)}^{2}, {\left(\sin kx\right)}^{2} + {\left(\sqrt[3]{\sin ky} \cdot \sqrt[3]{\sin ky}\right)}^{2} \cdot {\left(\sqrt[3]{\sin ky}\right)}^{2}, 1\right)}} + 1}}}
double f(double l, double Om, double kx, double ky) {
        double r32382 = 1.0;
        double r32383 = 2.0;
        double r32384 = r32382 / r32383;
        double r32385 = l;
        double r32386 = r32383 * r32385;
        double r32387 = Om;
        double r32388 = r32386 / r32387;
        double r32389 = pow(r32388, r32383);
        double r32390 = kx;
        double r32391 = sin(r32390);
        double r32392 = pow(r32391, r32383);
        double r32393 = ky;
        double r32394 = sin(r32393);
        double r32395 = pow(r32394, r32383);
        double r32396 = r32392 + r32395;
        double r32397 = r32389 * r32396;
        double r32398 = r32382 + r32397;
        double r32399 = sqrt(r32398);
        double r32400 = r32382 / r32399;
        double r32401 = r32382 + r32400;
        double r32402 = r32384 * r32401;
        double r32403 = sqrt(r32402);
        return r32403;
}

double f(double l, double Om, double kx, double ky) {
        double r32404 = 1.0;
        double r32405 = 2.0;
        double r32406 = l;
        double r32407 = r32405 * r32406;
        double r32408 = Om;
        double r32409 = r32407 / r32408;
        double r32410 = pow(r32409, r32405);
        double r32411 = kx;
        double r32412 = sin(r32411);
        double r32413 = pow(r32412, r32405);
        double r32414 = ky;
        double r32415 = sin(r32414);
        double r32416 = cbrt(r32415);
        double r32417 = r32416 * r32416;
        double r32418 = pow(r32417, r32405);
        double r32419 = pow(r32416, r32405);
        double r32420 = r32418 * r32419;
        double r32421 = r32413 + r32420;
        double r32422 = fma(r32410, r32421, r32404);
        double r32423 = sqrt(r32422);
        double r32424 = r32404 / r32423;
        double r32425 = r32424 + r32404;
        double r32426 = r32405 / r32425;
        double r32427 = r32404 / r32426;
        double r32428 = sqrt(r32427);
        return r32428;
}

Error

Bits error versus l

Bits error versus Om

Bits error versus kx

Bits error versus ky

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

    \[\leadsto \color{blue}{\sqrt{\frac{1}{\frac{2}{\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}}}}\]
  3. Using strategy rm
  4. Applied add-cube-cbrt1.8

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

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

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

Reproduce

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