Average Error: 1.7 → 1.3
Time: 23.7s
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}\;\frac{2 \cdot \ell}{Om} \le 1.328905807719447 \cdot 10^{+154}:\\ \;\;\;\;\sqrt{\frac{1}{2} + \frac{\frac{1}{2}}{\sqrt[3]{\sqrt{\left(\sqrt[3]{\mathsf{fma}\left(\frac{2 \cdot \ell}{Om} \cdot \frac{2 \cdot \ell}{Om}, \mathsf{fma}\left(\sin kx, \sin kx, \sin ky \cdot \sin ky\right), 1\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\frac{2 \cdot \ell}{Om} \cdot \frac{2 \cdot \ell}{Om}, \mathsf{fma}\left(\sin kx, \sin kx, \sin ky \cdot \sin ky\right), 1\right)}\right) \cdot \sqrt[3]{\mathsf{fma}\left(\frac{2 \cdot \ell}{Om} \cdot \frac{2 \cdot \ell}{Om}, \mathsf{fma}\left(\sin kx, \sin kx, \sin ky \cdot \sin ky\right), 1\right)}}} \cdot \left(\sqrt[3]{\sqrt{\left(\sqrt[3]{\mathsf{fma}\left(\frac{2 \cdot \ell}{Om} \cdot \frac{2 \cdot \ell}{Om}, \mathsf{fma}\left(\sin kx, \sin kx, \sin ky \cdot \sin ky\right), 1\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\frac{2 \cdot \ell}{Om} \cdot \frac{2 \cdot \ell}{Om}, \mathsf{fma}\left(\sin kx, \sin kx, \sin ky \cdot \sin ky\right), 1\right)}\right) \cdot \sqrt[3]{\mathsf{fma}\left(\frac{2 \cdot \ell}{Om} \cdot \frac{2 \cdot \ell}{Om}, \mathsf{fma}\left(\sin kx, \sin kx, \sin ky \cdot \sin ky\right), 1\right)}}} \cdot \sqrt[3]{\sqrt{\left(\sqrt[3]{\mathsf{fma}\left(\frac{2 \cdot \ell}{Om} \cdot \frac{2 \cdot \ell}{Om}, \mathsf{fma}\left(\sin kx, \sin kx, \sin ky \cdot \sin ky\right), 1\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\frac{2 \cdot \ell}{Om} \cdot \frac{2 \cdot \ell}{Om}, \mathsf{fma}\left(\sin kx, \sin kx, \sin ky \cdot \sin ky\right), 1\right)}\right) \cdot \sqrt[3]{\mathsf{fma}\left(\frac{2 \cdot \ell}{Om} \cdot \frac{2 \cdot \ell}{Om}, \mathsf{fma}\left(\sin kx, \sin kx, \sin ky \cdot \sin ky\right), 1\right)}}}\right)}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\frac{1}{2} + \frac{\frac{1}{2}}{\sqrt{\left(\left(\mathsf{fma}\left(\frac{2 \cdot \ell}{Om} \cdot \frac{2 \cdot \ell}{Om}, \mathsf{fma}\left(\sin kx, \sin kx, \sin ky \cdot \sin ky\right), 1\right)\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}\;\frac{2 \cdot \ell}{Om} \le 1.328905807719447 \cdot 10^{+154}:\\
\;\;\;\;\sqrt{\frac{1}{2} + \frac{\frac{1}{2}}{\sqrt[3]{\sqrt{\left(\sqrt[3]{\mathsf{fma}\left(\frac{2 \cdot \ell}{Om} \cdot \frac{2 \cdot \ell}{Om}, \mathsf{fma}\left(\sin kx, \sin kx, \sin ky \cdot \sin ky\right), 1\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\frac{2 \cdot \ell}{Om} \cdot \frac{2 \cdot \ell}{Om}, \mathsf{fma}\left(\sin kx, \sin kx, \sin ky \cdot \sin ky\right), 1\right)}\right) \cdot \sqrt[3]{\mathsf{fma}\left(\frac{2 \cdot \ell}{Om} \cdot \frac{2 \cdot \ell}{Om}, \mathsf{fma}\left(\sin kx, \sin kx, \sin ky \cdot \sin ky\right), 1\right)}}} \cdot \left(\sqrt[3]{\sqrt{\left(\sqrt[3]{\mathsf{fma}\left(\frac{2 \cdot \ell}{Om} \cdot \frac{2 \cdot \ell}{Om}, \mathsf{fma}\left(\sin kx, \sin kx, \sin ky \cdot \sin ky\right), 1\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\frac{2 \cdot \ell}{Om} \cdot \frac{2 \cdot \ell}{Om}, \mathsf{fma}\left(\sin kx, \sin kx, \sin ky \cdot \sin ky\right), 1\right)}\right) \cdot \sqrt[3]{\mathsf{fma}\left(\frac{2 \cdot \ell}{Om} \cdot \frac{2 \cdot \ell}{Om}, \mathsf{fma}\left(\sin kx, \sin kx, \sin ky \cdot \sin ky\right), 1\right)}}} \cdot \sqrt[3]{\sqrt{\left(\sqrt[3]{\mathsf{fma}\left(\frac{2 \cdot \ell}{Om} \cdot \frac{2 \cdot \ell}{Om}, \mathsf{fma}\left(\sin kx, \sin kx, \sin ky \cdot \sin ky\right), 1\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\frac{2 \cdot \ell}{Om} \cdot \frac{2 \cdot \ell}{Om}, \mathsf{fma}\left(\sin kx, \sin kx, \sin ky \cdot \sin ky\right), 1\right)}\right) \cdot \sqrt[3]{\mathsf{fma}\left(\frac{2 \cdot \ell}{Om} \cdot \frac{2 \cdot \ell}{Om}, \mathsf{fma}\left(\sin kx, \sin kx, \sin ky \cdot \sin ky\right), 1\right)}}}\right)}}\\

\mathbf{else}:\\
\;\;\;\;\sqrt{\frac{1}{2} + \frac{\frac{1}{2}}{\sqrt{\left(\left(\mathsf{fma}\left(\frac{2 \cdot \ell}{Om} \cdot \frac{2 \cdot \ell}{Om}, \mathsf{fma}\left(\sin kx, \sin kx, \sin ky \cdot \sin ky\right), 1\right)\right)\right)}}}\\

\end{array}
double f(double l, double Om, double kx, double ky) {
        double r664727 = 1.0;
        double r664728 = 2.0;
        double r664729 = r664727 / r664728;
        double r664730 = l;
        double r664731 = r664728 * r664730;
        double r664732 = Om;
        double r664733 = r664731 / r664732;
        double r664734 = pow(r664733, r664728);
        double r664735 = kx;
        double r664736 = sin(r664735);
        double r664737 = pow(r664736, r664728);
        double r664738 = ky;
        double r664739 = sin(r664738);
        double r664740 = pow(r664739, r664728);
        double r664741 = r664737 + r664740;
        double r664742 = r664734 * r664741;
        double r664743 = r664727 + r664742;
        double r664744 = sqrt(r664743);
        double r664745 = r664727 / r664744;
        double r664746 = r664727 + r664745;
        double r664747 = r664729 * r664746;
        double r664748 = sqrt(r664747);
        return r664748;
}

double f(double l, double Om, double kx, double ky) {
        double r664749 = 2.0;
        double r664750 = l;
        double r664751 = r664749 * r664750;
        double r664752 = Om;
        double r664753 = r664751 / r664752;
        double r664754 = 1.328905807719447e+154;
        bool r664755 = r664753 <= r664754;
        double r664756 = 0.5;
        double r664757 = r664753 * r664753;
        double r664758 = kx;
        double r664759 = sin(r664758);
        double r664760 = ky;
        double r664761 = sin(r664760);
        double r664762 = r664761 * r664761;
        double r664763 = fma(r664759, r664759, r664762);
        double r664764 = 1.0;
        double r664765 = fma(r664757, r664763, r664764);
        double r664766 = cbrt(r664765);
        double r664767 = r664766 * r664766;
        double r664768 = r664767 * r664766;
        double r664769 = sqrt(r664768);
        double r664770 = cbrt(r664769);
        double r664771 = r664770 * r664770;
        double r664772 = r664770 * r664771;
        double r664773 = r664756 / r664772;
        double r664774 = r664756 + r664773;
        double r664775 = sqrt(r664774);
        double r664776 = /* ERROR: no posit support in C */;
        double r664777 = /* ERROR: no posit support in C */;
        double r664778 = sqrt(r664777);
        double r664779 = r664756 / r664778;
        double r664780 = r664756 + r664779;
        double r664781 = sqrt(r664780);
        double r664782 = r664755 ? r664775 : r664781;
        return r664782;
}

Error

Bits error versus l

Bits error versus Om

Bits error versus kx

Bits error versus ky

Derivation

  1. Split input into 2 regimes
  2. if (/ (* 2 l) Om) < 1.328905807719447e+154

    1. Initial program 1.4

      \[\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.4

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

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

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

    if 1.328905807719447e+154 < (/ (* 2 l) Om)

    1. Initial program 3.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. Simplified3.8

      \[\leadsto \color{blue}{\sqrt{\frac{\frac{1}{2}}{\sqrt{\mathsf{fma}\left(\frac{2 \cdot \ell}{Om} \cdot \frac{2 \cdot \ell}{Om}, \mathsf{fma}\left(\sin kx, \sin kx, \sin ky \cdot \sin ky\right), 1\right)}} + \frac{1}{2}}}\]
    3. Using strategy rm
    4. Applied insert-posit160.7

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

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

Reproduce

herbie shell --seed 2019154 +o rules:numerics
(FPCore (l Om kx ky)
  :name "Toniolo and Linder, Equation (3a)"
  (sqrt (* (/ 1 2) (+ 1 (/ 1 (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))))))))