Average Error: 1.8 → 1.8
Time: 26.8s
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}{\left|\left(\sqrt[3]{\sqrt[3]{\mathsf{fma}\left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}, {\left(\frac{2 \cdot \ell}{Om}\right)}^{2}, 1\right)}} \cdot \sqrt[3]{\sqrt[3]{\mathsf{fma}\left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}, {\left(\frac{2 \cdot \ell}{Om}\right)}^{2}, 1\right)}}\right) \cdot \sqrt[3]{\sqrt[3]{\mathsf{fma}\left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}, {\left(\frac{2 \cdot \ell}{Om}\right)}^{2}, 1\right)}}\right| \cdot \sqrt{\sqrt[3]{\mathsf{fma}\left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}, {\left(\frac{2 \cdot \ell}{Om}\right)}^{2}, 1\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}{\left|\left(\sqrt[3]{\sqrt[3]{\mathsf{fma}\left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}, {\left(\frac{2 \cdot \ell}{Om}\right)}^{2}, 1\right)}} \cdot \sqrt[3]{\sqrt[3]{\mathsf{fma}\left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}, {\left(\frac{2 \cdot \ell}{Om}\right)}^{2}, 1\right)}}\right) \cdot \sqrt[3]{\sqrt[3]{\mathsf{fma}\left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}, {\left(\frac{2 \cdot \ell}{Om}\right)}^{2}, 1\right)}}\right| \cdot \sqrt{\sqrt[3]{\mathsf{fma}\left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}, {\left(\frac{2 \cdot \ell}{Om}\right)}^{2}, 1\right)}}}\right)}
double f(double l, double Om, double kx, double ky) {
        double r37523 = 1.0;
        double r37524 = 2.0;
        double r37525 = r37523 / r37524;
        double r37526 = l;
        double r37527 = r37524 * r37526;
        double r37528 = Om;
        double r37529 = r37527 / r37528;
        double r37530 = pow(r37529, r37524);
        double r37531 = kx;
        double r37532 = sin(r37531);
        double r37533 = pow(r37532, r37524);
        double r37534 = ky;
        double r37535 = sin(r37534);
        double r37536 = pow(r37535, r37524);
        double r37537 = r37533 + r37536;
        double r37538 = r37530 * r37537;
        double r37539 = r37523 + r37538;
        double r37540 = sqrt(r37539);
        double r37541 = r37523 / r37540;
        double r37542 = r37523 + r37541;
        double r37543 = r37525 * r37542;
        double r37544 = sqrt(r37543);
        return r37544;
}

double f(double l, double Om, double kx, double ky) {
        double r37545 = 1.0;
        double r37546 = 2.0;
        double r37547 = r37545 / r37546;
        double r37548 = kx;
        double r37549 = sin(r37548);
        double r37550 = pow(r37549, r37546);
        double r37551 = ky;
        double r37552 = sin(r37551);
        double r37553 = pow(r37552, r37546);
        double r37554 = r37550 + r37553;
        double r37555 = l;
        double r37556 = r37546 * r37555;
        double r37557 = Om;
        double r37558 = r37556 / r37557;
        double r37559 = pow(r37558, r37546);
        double r37560 = fma(r37554, r37559, r37545);
        double r37561 = cbrt(r37560);
        double r37562 = cbrt(r37561);
        double r37563 = r37562 * r37562;
        double r37564 = r37563 * r37562;
        double r37565 = fabs(r37564);
        double r37566 = sqrt(r37561);
        double r37567 = r37565 * r37566;
        double r37568 = r37545 / r37567;
        double r37569 = r37545 + r37568;
        double r37570 = r37547 * r37569;
        double r37571 = sqrt(r37570);
        return r37571;
}

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. Using strategy rm
  3. Applied add-cube-cbrt1.8

    \[\leadsto \sqrt{\frac{1}{2} \cdot \left(1 + \frac{1}{\sqrt{\color{blue}{\left(\sqrt[3]{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]{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]{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 sqrt-prod1.8

    \[\leadsto \sqrt{\frac{1}{2} \cdot \left(1 + \frac{1}{\color{blue}{\sqrt{\sqrt[3]{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]{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}} \cdot \sqrt{\sqrt[3]{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}}}\right)}\]
  5. Simplified1.8

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

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

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

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

Reproduce

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