Average Error: 1.6 → 1.6
Time: 32.4s
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 + \left(\log \left(\sqrt{e^{\frac{1}{\sqrt{\mathsf{fma}\left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}, {\left(\frac{2 \cdot \ell}{Om}\right)}^{2}, 1\right)}}}}\right) + \log \left(\sqrt{e^{\frac{1}{\sqrt{\mathsf{fma}\left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}, {\left(\frac{2 \cdot \ell}{Om}\right)}^{2}, 1\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 + \left(\log \left(\sqrt{e^{\frac{1}{\sqrt{\mathsf{fma}\left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}, {\left(\frac{2 \cdot \ell}{Om}\right)}^{2}, 1\right)}}}}\right) + \log \left(\sqrt{e^{\frac{1}{\sqrt{\mathsf{fma}\left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}, {\left(\frac{2 \cdot \ell}{Om}\right)}^{2}, 1\right)}}}}\right)\right)\right)}
double f(double l, double Om, double kx, double ky) {
        double r46693 = 1.0;
        double r46694 = 2.0;
        double r46695 = r46693 / r46694;
        double r46696 = l;
        double r46697 = r46694 * r46696;
        double r46698 = Om;
        double r46699 = r46697 / r46698;
        double r46700 = pow(r46699, r46694);
        double r46701 = kx;
        double r46702 = sin(r46701);
        double r46703 = pow(r46702, r46694);
        double r46704 = ky;
        double r46705 = sin(r46704);
        double r46706 = pow(r46705, r46694);
        double r46707 = r46703 + r46706;
        double r46708 = r46700 * r46707;
        double r46709 = r46693 + r46708;
        double r46710 = sqrt(r46709);
        double r46711 = r46693 / r46710;
        double r46712 = r46693 + r46711;
        double r46713 = r46695 * r46712;
        double r46714 = sqrt(r46713);
        return r46714;
}

double f(double l, double Om, double kx, double ky) {
        double r46715 = 1.0;
        double r46716 = 2.0;
        double r46717 = r46715 / r46716;
        double r46718 = kx;
        double r46719 = sin(r46718);
        double r46720 = pow(r46719, r46716);
        double r46721 = ky;
        double r46722 = sin(r46721);
        double r46723 = pow(r46722, r46716);
        double r46724 = r46720 + r46723;
        double r46725 = l;
        double r46726 = r46716 * r46725;
        double r46727 = Om;
        double r46728 = r46726 / r46727;
        double r46729 = pow(r46728, r46716);
        double r46730 = fma(r46724, r46729, r46715);
        double r46731 = sqrt(r46730);
        double r46732 = r46715 / r46731;
        double r46733 = exp(r46732);
        double r46734 = sqrt(r46733);
        double r46735 = log(r46734);
        double r46736 = r46735 + r46735;
        double r46737 = r46715 + r46736;
        double r46738 = r46717 * r46737;
        double r46739 = sqrt(r46738);
        return r46739;
}

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. Using strategy rm
  3. Applied add-log-exp1.6

    \[\leadsto \sqrt{\frac{1}{2} \cdot \left(1 + \color{blue}{\log \left(e^{\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)}\right)}\]
  4. Simplified1.6

    \[\leadsto \sqrt{\frac{1}{2} \cdot \left(1 + \log \color{blue}{\left(e^{\frac{1}{\sqrt{\mathsf{fma}\left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}, {\left(\frac{2 \cdot \ell}{Om}\right)}^{2}, 1\right)}}}\right)}\right)}\]
  5. Using strategy rm
  6. Applied add-sqr-sqrt1.6

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

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

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

Reproduce

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