Average Error: 34.6 → 29.3
Time: 54.4s
Precision: 64
\[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\]
\[\begin{array}{l} \mathbf{if}\;U \le -2.843930263266248218480928012874574997046 \cdot 10^{-89} \lor \neg \left(U \le 2.477702905161125727731379106858922283385 \cdot 10^{-169}\right):\\ \;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \mathsf{fma}\left(U* - U, {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(\left(n \cdot {\left(\frac{\sqrt[3]{\ell}}{\sqrt[3]{Om}} \cdot \frac{\sqrt[3]{\ell}}{\sqrt[3]{Om}}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\sqrt[3]{\ell}}{\sqrt[3]{Om}}\right)}^{\left(\frac{2}{2}\right)}\right), \mathsf{fma}\left(\frac{\ell}{Om} \cdot \ell, -2, t\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\left(U \cdot \mathsf{fma}\left(-2, \frac{\ell}{\frac{Om}{\ell}}, t\right)\right) \cdot \left(2 \cdot n\right) + \left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(U* - U\right)\right) \cdot \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot n\right)}\\ \end{array}\]
\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}
\begin{array}{l}
\mathbf{if}\;U \le -2.843930263266248218480928012874574997046 \cdot 10^{-89} \lor \neg \left(U \le 2.477702905161125727731379106858922283385 \cdot 10^{-169}\right):\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \mathsf{fma}\left(U* - U, {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(\left(n \cdot {\left(\frac{\sqrt[3]{\ell}}{\sqrt[3]{Om}} \cdot \frac{\sqrt[3]{\ell}}{\sqrt[3]{Om}}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\sqrt[3]{\ell}}{\sqrt[3]{Om}}\right)}^{\left(\frac{2}{2}\right)}\right), \mathsf{fma}\left(\frac{\ell}{Om} \cdot \ell, -2, t\right)\right)}\\

\mathbf{else}:\\
\;\;\;\;\sqrt{\left(U \cdot \mathsf{fma}\left(-2, \frac{\ell}{\frac{Om}{\ell}}, t\right)\right) \cdot \left(2 \cdot n\right) + \left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(U* - U\right)\right) \cdot \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot n\right)}\\

\end{array}
double f(double n, double U, double t, double l, double Om, double U_) {
        double r149116 = 2.0;
        double r149117 = n;
        double r149118 = r149116 * r149117;
        double r149119 = U;
        double r149120 = r149118 * r149119;
        double r149121 = t;
        double r149122 = l;
        double r149123 = r149122 * r149122;
        double r149124 = Om;
        double r149125 = r149123 / r149124;
        double r149126 = r149116 * r149125;
        double r149127 = r149121 - r149126;
        double r149128 = r149122 / r149124;
        double r149129 = pow(r149128, r149116);
        double r149130 = r149117 * r149129;
        double r149131 = U_;
        double r149132 = r149119 - r149131;
        double r149133 = r149130 * r149132;
        double r149134 = r149127 - r149133;
        double r149135 = r149120 * r149134;
        double r149136 = sqrt(r149135);
        return r149136;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r149137 = U;
        double r149138 = -2.8439302632662482e-89;
        bool r149139 = r149137 <= r149138;
        double r149140 = 2.4777029051611257e-169;
        bool r149141 = r149137 <= r149140;
        double r149142 = !r149141;
        bool r149143 = r149139 || r149142;
        double r149144 = 2.0;
        double r149145 = n;
        double r149146 = r149144 * r149145;
        double r149147 = r149146 * r149137;
        double r149148 = U_;
        double r149149 = r149148 - r149137;
        double r149150 = l;
        double r149151 = Om;
        double r149152 = r149150 / r149151;
        double r149153 = 2.0;
        double r149154 = r149144 / r149153;
        double r149155 = pow(r149152, r149154);
        double r149156 = cbrt(r149150);
        double r149157 = cbrt(r149151);
        double r149158 = r149156 / r149157;
        double r149159 = r149158 * r149158;
        double r149160 = pow(r149159, r149154);
        double r149161 = r149145 * r149160;
        double r149162 = pow(r149158, r149154);
        double r149163 = r149161 * r149162;
        double r149164 = r149155 * r149163;
        double r149165 = r149152 * r149150;
        double r149166 = -r149144;
        double r149167 = t;
        double r149168 = fma(r149165, r149166, r149167);
        double r149169 = fma(r149149, r149164, r149168);
        double r149170 = r149147 * r149169;
        double r149171 = sqrt(r149170);
        double r149172 = r149151 / r149150;
        double r149173 = r149150 / r149172;
        double r149174 = fma(r149166, r149173, r149167);
        double r149175 = r149137 * r149174;
        double r149176 = r149175 * r149146;
        double r149177 = r149145 * r149137;
        double r149178 = r149144 * r149177;
        double r149179 = r149178 * r149149;
        double r149180 = pow(r149152, r149144);
        double r149181 = r149180 * r149145;
        double r149182 = r149179 * r149181;
        double r149183 = r149176 + r149182;
        double r149184 = sqrt(r149183);
        double r149185 = r149143 ? r149171 : r149184;
        return r149185;
}

Error

Bits error versus n

Bits error versus U

Bits error versus t

Bits error versus l

Bits error versus Om

Bits error versus U*

Derivation

  1. Split input into 2 regimes
  2. if U < -2.8439302632662482e-89 or 2.4777029051611257e-169 < U

    1. Initial program 30.6

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\]
    2. Simplified27.5

      \[\leadsto \color{blue}{\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \mathsf{fma}\left(U* - U, n \cdot {\left(\frac{\ell}{Om}\right)}^{2}, \mathsf{fma}\left(\frac{\ell}{Om} \cdot \ell, -2, t\right)\right)}}\]
    3. Using strategy rm
    4. Applied sqr-pow27.5

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \mathsf{fma}\left(U* - U, n \cdot \color{blue}{\left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right)}, \mathsf{fma}\left(\frac{\ell}{Om} \cdot \ell, -2, t\right)\right)}\]
    5. Applied associate-*r*26.5

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \mathsf{fma}\left(U* - U, \color{blue}{\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}}, \mathsf{fma}\left(\frac{\ell}{Om} \cdot \ell, -2, t\right)\right)}\]
    6. Using strategy rm
    7. Applied pow126.5

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \color{blue}{{\left(\mathsf{fma}\left(U* - U, \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}, \mathsf{fma}\left(\frac{\ell}{Om} \cdot \ell, -2, t\right)\right)\right)}^{1}}}\]
    8. Using strategy rm
    9. Applied add-cube-cbrt26.5

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot {\left(\mathsf{fma}\left(U* - U, \left(n \cdot {\left(\frac{\ell}{\color{blue}{\left(\sqrt[3]{Om} \cdot \sqrt[3]{Om}\right) \cdot \sqrt[3]{Om}}}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}, \mathsf{fma}\left(\frac{\ell}{Om} \cdot \ell, -2, t\right)\right)\right)}^{1}}\]
    10. Applied add-cube-cbrt26.6

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot {\left(\mathsf{fma}\left(U* - U, \left(n \cdot {\left(\frac{\color{blue}{\left(\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}\right) \cdot \sqrt[3]{\ell}}}{\left(\sqrt[3]{Om} \cdot \sqrt[3]{Om}\right) \cdot \sqrt[3]{Om}}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}, \mathsf{fma}\left(\frac{\ell}{Om} \cdot \ell, -2, t\right)\right)\right)}^{1}}\]
    11. Applied times-frac26.6

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot {\left(\mathsf{fma}\left(U* - U, \left(n \cdot {\color{blue}{\left(\frac{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}} \cdot \frac{\sqrt[3]{\ell}}{\sqrt[3]{Om}}\right)}}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}, \mathsf{fma}\left(\frac{\ell}{Om} \cdot \ell, -2, t\right)\right)\right)}^{1}}\]
    12. Applied unpow-prod-down26.6

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot {\left(\mathsf{fma}\left(U* - U, \left(n \cdot \color{blue}{\left({\left(\frac{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}}\right)}^{\left(\frac{2}{2}\right)} \cdot {\left(\frac{\sqrt[3]{\ell}}{\sqrt[3]{Om}}\right)}^{\left(\frac{2}{2}\right)}\right)}\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}, \mathsf{fma}\left(\frac{\ell}{Om} \cdot \ell, -2, t\right)\right)\right)}^{1}}\]
    13. Applied associate-*r*26.6

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot {\left(\mathsf{fma}\left(U* - U, \color{blue}{\left(\left(n \cdot {\left(\frac{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\sqrt[3]{\ell}}{\sqrt[3]{Om}}\right)}^{\left(\frac{2}{2}\right)}\right)} \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}, \mathsf{fma}\left(\frac{\ell}{Om} \cdot \ell, -2, t\right)\right)\right)}^{1}}\]
    14. Simplified26.6

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot {\left(\mathsf{fma}\left(U* - U, \left(\color{blue}{\left({\left(\frac{\sqrt[3]{\ell}}{\sqrt[3]{Om}} \cdot \frac{\sqrt[3]{\ell}}{\sqrt[3]{Om}}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right)} \cdot {\left(\frac{\sqrt[3]{\ell}}{\sqrt[3]{Om}}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}, \mathsf{fma}\left(\frac{\ell}{Om} \cdot \ell, -2, t\right)\right)\right)}^{1}}\]

    if -2.8439302632662482e-89 < U < 2.4777029051611257e-169

    1. Initial program 41.1

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\]
    2. Simplified39.1

      \[\leadsto \color{blue}{\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \mathsf{fma}\left(U* - U, n \cdot {\left(\frac{\ell}{Om}\right)}^{2}, \mathsf{fma}\left(\frac{\ell}{Om} \cdot \ell, -2, t\right)\right)}}\]
    3. Using strategy rm
    4. Applied fma-udef39.1

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \color{blue}{\left(\left(U* - U\right) \cdot \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) + \mathsf{fma}\left(\frac{\ell}{Om} \cdot \ell, -2, t\right)\right)}}\]
    5. Applied distribute-lft-in39.1

      \[\leadsto \sqrt{\color{blue}{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(U* - U\right) \cdot \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right)\right) + \left(\left(2 \cdot n\right) \cdot U\right) \cdot \mathsf{fma}\left(\frac{\ell}{Om} \cdot \ell, -2, t\right)}}\]
    6. Simplified38.3

      \[\leadsto \sqrt{\color{blue}{\left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(U* - U\right)\right) \cdot \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot n\right)} + \left(\left(2 \cdot n\right) \cdot U\right) \cdot \mathsf{fma}\left(\frac{\ell}{Om} \cdot \ell, -2, t\right)}\]
    7. Simplified33.7

      \[\leadsto \sqrt{\left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(U* - U\right)\right) \cdot \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot n\right) + \color{blue}{\left(\mathsf{fma}\left(-2, \frac{\ell}{\frac{Om}{\ell}}, t\right) \cdot U\right) \cdot \left(n \cdot 2\right)}}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification29.3

    \[\leadsto \begin{array}{l} \mathbf{if}\;U \le -2.843930263266248218480928012874574997046 \cdot 10^{-89} \lor \neg \left(U \le 2.477702905161125727731379106858922283385 \cdot 10^{-169}\right):\\ \;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \mathsf{fma}\left(U* - U, {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(\left(n \cdot {\left(\frac{\sqrt[3]{\ell}}{\sqrt[3]{Om}} \cdot \frac{\sqrt[3]{\ell}}{\sqrt[3]{Om}}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\sqrt[3]{\ell}}{\sqrt[3]{Om}}\right)}^{\left(\frac{2}{2}\right)}\right), \mathsf{fma}\left(\frac{\ell}{Om} \cdot \ell, -2, t\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\left(U \cdot \mathsf{fma}\left(-2, \frac{\ell}{\frac{Om}{\ell}}, t\right)\right) \cdot \left(2 \cdot n\right) + \left(\left(2 \cdot \left(n \cdot U\right)\right) \cdot \left(U* - U\right)\right) \cdot \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot n\right)}\\ \end{array}\]

Reproduce

herbie shell --seed 2019179 +o rules:numerics
(FPCore (n U t l Om U*)
  :name "Toniolo and Linder, Equation (13)"
  (sqrt (* (* (* 2.0 n) U) (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*))))))