Average Error: 33.0 → 29.2
Time: 2.3m
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 7.461198993856924 \cdot 10^{-210}:\\ \;\;\;\;\sqrt{\left(\left(t - \left(\frac{\ell}{\sqrt[3]{Om}} \cdot \frac{\ell}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}}\right) \cdot 2\right) - \left(U - U*\right) \cdot \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\mathsf{fma}\left(\left(\frac{\frac{\ell}{\sqrt[3]{Om}} \cdot \frac{\ell}{\sqrt[3]{Om}}}{\sqrt[3]{Om}}\right), -2, \left(t - \left(U - U*\right) \cdot \left(\left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right) \cdot n\right)\right)\right) \cdot n} \cdot \sqrt{2 \cdot U}\\ \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 7.461198993856924 \cdot 10^{-210}:\\
\;\;\;\;\sqrt{\left(\left(t - \left(\frac{\ell}{\sqrt[3]{Om}} \cdot \frac{\ell}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}}\right) \cdot 2\right) - \left(U - U*\right) \cdot \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\

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

\end{array}
double f(double n, double U, double t, double l, double Om, double U_) {
        double r23194207 = 2.0;
        double r23194208 = n;
        double r23194209 = r23194207 * r23194208;
        double r23194210 = U;
        double r23194211 = r23194209 * r23194210;
        double r23194212 = t;
        double r23194213 = l;
        double r23194214 = r23194213 * r23194213;
        double r23194215 = Om;
        double r23194216 = r23194214 / r23194215;
        double r23194217 = r23194207 * r23194216;
        double r23194218 = r23194212 - r23194217;
        double r23194219 = r23194213 / r23194215;
        double r23194220 = pow(r23194219, r23194207);
        double r23194221 = r23194208 * r23194220;
        double r23194222 = U_;
        double r23194223 = r23194210 - r23194222;
        double r23194224 = r23194221 * r23194223;
        double r23194225 = r23194218 - r23194224;
        double r23194226 = r23194211 * r23194225;
        double r23194227 = sqrt(r23194226);
        return r23194227;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r23194228 = U;
        double r23194229 = 7.461198993856924e-210;
        bool r23194230 = r23194228 <= r23194229;
        double r23194231 = t;
        double r23194232 = l;
        double r23194233 = Om;
        double r23194234 = cbrt(r23194233);
        double r23194235 = r23194232 / r23194234;
        double r23194236 = r23194234 * r23194234;
        double r23194237 = r23194232 / r23194236;
        double r23194238 = r23194235 * r23194237;
        double r23194239 = 2.0;
        double r23194240 = r23194238 * r23194239;
        double r23194241 = r23194231 - r23194240;
        double r23194242 = U_;
        double r23194243 = r23194228 - r23194242;
        double r23194244 = n;
        double r23194245 = r23194232 / r23194233;
        double r23194246 = pow(r23194245, r23194239);
        double r23194247 = r23194244 * r23194246;
        double r23194248 = r23194243 * r23194247;
        double r23194249 = r23194241 - r23194248;
        double r23194250 = r23194239 * r23194244;
        double r23194251 = r23194250 * r23194228;
        double r23194252 = r23194249 * r23194251;
        double r23194253 = sqrt(r23194252);
        double r23194254 = r23194235 * r23194235;
        double r23194255 = r23194254 / r23194234;
        double r23194256 = -2.0;
        double r23194257 = r23194245 * r23194245;
        double r23194258 = r23194257 * r23194244;
        double r23194259 = r23194243 * r23194258;
        double r23194260 = r23194231 - r23194259;
        double r23194261 = fma(r23194255, r23194256, r23194260);
        double r23194262 = r23194261 * r23194244;
        double r23194263 = sqrt(r23194262);
        double r23194264 = r23194239 * r23194228;
        double r23194265 = sqrt(r23194264);
        double r23194266 = r23194263 * r23194265;
        double r23194267 = r23194230 ? r23194253 : r23194266;
        return r23194267;
}

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 < 7.461198993856924e-210

    1. Initial program 34.7

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

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{\color{blue}{\left(\sqrt[3]{Om} \cdot \sqrt[3]{Om}\right) \cdot \sqrt[3]{Om}}}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\]
    4. Applied times-frac32.5

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

    if 7.461198993856924e-210 < U

    1. Initial program 30.3

      \[\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. Using strategy rm
    3. Applied add-cube-cbrt30.4

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{\color{blue}{\left(\sqrt[3]{Om} \cdot \sqrt[3]{Om}\right) \cdot \sqrt[3]{Om}}}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\]
    4. Applied times-frac27.6

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

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \color{blue}{{\left(\left(t - 2 \cdot \left(\frac{\ell}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}} \cdot \frac{\ell}{\sqrt[3]{Om}}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}^{1}}}\]
    7. Applied pow127.6

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot \color{blue}{{U}^{1}}\right) \cdot {\left(\left(t - 2 \cdot \left(\frac{\ell}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}} \cdot \frac{\ell}{\sqrt[3]{Om}}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}^{1}}\]
    8. Applied pow127.6

      \[\leadsto \sqrt{\left(\left(2 \cdot \color{blue}{{n}^{1}}\right) \cdot {U}^{1}\right) \cdot {\left(\left(t - 2 \cdot \left(\frac{\ell}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}} \cdot \frac{\ell}{\sqrt[3]{Om}}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}^{1}}\]
    9. Applied pow127.6

      \[\leadsto \sqrt{\left(\left(\color{blue}{{2}^{1}} \cdot {n}^{1}\right) \cdot {U}^{1}\right) \cdot {\left(\left(t - 2 \cdot \left(\frac{\ell}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}} \cdot \frac{\ell}{\sqrt[3]{Om}}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}^{1}}\]
    10. Applied pow-prod-down27.6

      \[\leadsto \sqrt{\left(\color{blue}{{\left(2 \cdot n\right)}^{1}} \cdot {U}^{1}\right) \cdot {\left(\left(t - 2 \cdot \left(\frac{\ell}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}} \cdot \frac{\ell}{\sqrt[3]{Om}}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}^{1}}\]
    11. Applied pow-prod-down27.6

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

      \[\leadsto \sqrt{\color{blue}{{\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \left(\frac{\ell}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}} \cdot \frac{\ell}{\sqrt[3]{Om}}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)}^{1}}}\]
    13. Simplified29.4

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

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

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

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

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

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

Reproduce

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