Average Error: 33.0 → 28.6
Time: 1.2m
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 3.4326890653531773 \cdot 10^{-209}:\\ \;\;\;\;\sqrt{\left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(\ell \cdot 2\right), \left(\left(n \cdot \left(\mathsf{fma}\left(\left(\sqrt[3]{U} \cdot \sqrt[3]{U}\right), \left(\sqrt[3]{U}\right), \left(-U*\right)\right) \cdot \frac{\ell}{Om}\right)\right) \cdot \frac{\ell}{Om} + \left(\frac{\ell}{Om} \cdot \mathsf{fma}\left(\left(-U*\right), 1, U*\right)\right) \cdot \left(n \cdot \frac{\ell}{Om}\right)\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\ \mathbf{elif}\;U \le 4.01065547685328 \cdot 10^{-153}:\\ \;\;\;\;\sqrt{U} \cdot \sqrt{\left(2 \cdot n\right) \cdot \left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(\ell \cdot 2\right), \left(\left(\left(U - U*\right) \cdot \left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right)\right) \cdot n\right)\right)\right)}\\ \mathbf{elif}\;U \le 4.409850644311801 \cdot 10^{+95}:\\ \;\;\;\;\sqrt{\left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(\ell \cdot 2\right), \left(\left(n \cdot \left(\mathsf{fma}\left(\left(\sqrt[3]{U} \cdot \sqrt[3]{U}\right), \left(\sqrt[3]{U}\right), \left(-U*\right)\right) \cdot \frac{\ell}{Om}\right)\right) \cdot \frac{\ell}{Om} + \left(\frac{\ell}{Om} \cdot \mathsf{fma}\left(\left(-U*\right), 1, U*\right)\right) \cdot \left(n \cdot \frac{\ell}{Om}\right)\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{U} \cdot \sqrt{\left(2 \cdot n\right) \cdot \left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(\ell \cdot 2\right), \left(\left(\left(U - U*\right) \cdot \left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right)\right) \cdot n\right)\right)\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 3.4326890653531773 \cdot 10^{-209}:\\
\;\;\;\;\sqrt{\left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(\ell \cdot 2\right), \left(\left(n \cdot \left(\mathsf{fma}\left(\left(\sqrt[3]{U} \cdot \sqrt[3]{U}\right), \left(\sqrt[3]{U}\right), \left(-U*\right)\right) \cdot \frac{\ell}{Om}\right)\right) \cdot \frac{\ell}{Om} + \left(\frac{\ell}{Om} \cdot \mathsf{fma}\left(\left(-U*\right), 1, U*\right)\right) \cdot \left(n \cdot \frac{\ell}{Om}\right)\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\

\mathbf{elif}\;U \le 4.01065547685328 \cdot 10^{-153}:\\
\;\;\;\;\sqrt{U} \cdot \sqrt{\left(2 \cdot n\right) \cdot \left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(\ell \cdot 2\right), \left(\left(\left(U - U*\right) \cdot \left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right)\right) \cdot n\right)\right)\right)}\\

\mathbf{elif}\;U \le 4.409850644311801 \cdot 10^{+95}:\\
\;\;\;\;\sqrt{\left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(\ell \cdot 2\right), \left(\left(n \cdot \left(\mathsf{fma}\left(\left(\sqrt[3]{U} \cdot \sqrt[3]{U}\right), \left(\sqrt[3]{U}\right), \left(-U*\right)\right) \cdot \frac{\ell}{Om}\right)\right) \cdot \frac{\ell}{Om} + \left(\frac{\ell}{Om} \cdot \mathsf{fma}\left(\left(-U*\right), 1, U*\right)\right) \cdot \left(n \cdot \frac{\ell}{Om}\right)\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\

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

\end{array}
double f(double n, double U, double t, double l, double Om, double U_) {
        double r1724392 = 2.0;
        double r1724393 = n;
        double r1724394 = r1724392 * r1724393;
        double r1724395 = U;
        double r1724396 = r1724394 * r1724395;
        double r1724397 = t;
        double r1724398 = l;
        double r1724399 = r1724398 * r1724398;
        double r1724400 = Om;
        double r1724401 = r1724399 / r1724400;
        double r1724402 = r1724392 * r1724401;
        double r1724403 = r1724397 - r1724402;
        double r1724404 = r1724398 / r1724400;
        double r1724405 = pow(r1724404, r1724392);
        double r1724406 = r1724393 * r1724405;
        double r1724407 = U_;
        double r1724408 = r1724395 - r1724407;
        double r1724409 = r1724406 * r1724408;
        double r1724410 = r1724403 - r1724409;
        double r1724411 = r1724396 * r1724410;
        double r1724412 = sqrt(r1724411);
        return r1724412;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r1724413 = U;
        double r1724414 = 3.4326890653531773e-209;
        bool r1724415 = r1724413 <= r1724414;
        double r1724416 = t;
        double r1724417 = l;
        double r1724418 = Om;
        double r1724419 = r1724417 / r1724418;
        double r1724420 = 2.0;
        double r1724421 = r1724417 * r1724420;
        double r1724422 = n;
        double r1724423 = cbrt(r1724413);
        double r1724424 = r1724423 * r1724423;
        double r1724425 = U_;
        double r1724426 = -r1724425;
        double r1724427 = fma(r1724424, r1724423, r1724426);
        double r1724428 = r1724427 * r1724419;
        double r1724429 = r1724422 * r1724428;
        double r1724430 = r1724429 * r1724419;
        double r1724431 = 1.0;
        double r1724432 = fma(r1724426, r1724431, r1724425);
        double r1724433 = r1724419 * r1724432;
        double r1724434 = r1724422 * r1724419;
        double r1724435 = r1724433 * r1724434;
        double r1724436 = r1724430 + r1724435;
        double r1724437 = fma(r1724419, r1724421, r1724436);
        double r1724438 = r1724416 - r1724437;
        double r1724439 = r1724420 * r1724422;
        double r1724440 = r1724439 * r1724413;
        double r1724441 = r1724438 * r1724440;
        double r1724442 = sqrt(r1724441);
        double r1724443 = 4.01065547685328e-153;
        bool r1724444 = r1724413 <= r1724443;
        double r1724445 = sqrt(r1724413);
        double r1724446 = r1724413 - r1724425;
        double r1724447 = r1724419 * r1724419;
        double r1724448 = r1724446 * r1724447;
        double r1724449 = r1724448 * r1724422;
        double r1724450 = fma(r1724419, r1724421, r1724449);
        double r1724451 = r1724416 - r1724450;
        double r1724452 = r1724439 * r1724451;
        double r1724453 = sqrt(r1724452);
        double r1724454 = r1724445 * r1724453;
        double r1724455 = 4.409850644311801e+95;
        bool r1724456 = r1724413 <= r1724455;
        double r1724457 = r1724456 ? r1724442 : r1724454;
        double r1724458 = r1724444 ? r1724454 : r1724457;
        double r1724459 = r1724415 ? r1724442 : r1724458;
        return r1724459;
}

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 < 3.4326890653531773e-209 or 4.01065547685328e-153 < U < 4.409850644311801e+95

    1. Initial program 33.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. Simplified32.1

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

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

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

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

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

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

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

      \[\leadsto \sqrt{\left(U \cdot \left(2 \cdot n\right)\right) \cdot \left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(2 \cdot \ell\right), \left(n \cdot \color{blue}{\left(\frac{\ell}{Om} \cdot \left(\frac{\ell}{Om} \cdot \mathsf{fma}\left(\left(\sqrt[3]{U} \cdot \sqrt[3]{U}\right), \left(\sqrt[3]{U}\right), \left(-U* \cdot 1\right)\right)\right) + \frac{\ell}{Om} \cdot \left(\frac{\ell}{Om} \cdot \mathsf{fma}\left(\left(-U*\right), 1, \left(U* \cdot 1\right)\right)\right)\right)}\right)\right)\right)}\]
    13. Applied distribute-rgt-in30.6

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

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

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

    if 3.4326890653531773e-209 < U < 4.01065547685328e-153 or 4.409850644311801e+95 < U

    1. Initial program 31.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. Simplified31.9

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;U \le 3.4326890653531773 \cdot 10^{-209}:\\ \;\;\;\;\sqrt{\left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(\ell \cdot 2\right), \left(\left(n \cdot \left(\mathsf{fma}\left(\left(\sqrt[3]{U} \cdot \sqrt[3]{U}\right), \left(\sqrt[3]{U}\right), \left(-U*\right)\right) \cdot \frac{\ell}{Om}\right)\right) \cdot \frac{\ell}{Om} + \left(\frac{\ell}{Om} \cdot \mathsf{fma}\left(\left(-U*\right), 1, U*\right)\right) \cdot \left(n \cdot \frac{\ell}{Om}\right)\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\ \mathbf{elif}\;U \le 4.01065547685328 \cdot 10^{-153}:\\ \;\;\;\;\sqrt{U} \cdot \sqrt{\left(2 \cdot n\right) \cdot \left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(\ell \cdot 2\right), \left(\left(\left(U - U*\right) \cdot \left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right)\right) \cdot n\right)\right)\right)}\\ \mathbf{elif}\;U \le 4.409850644311801 \cdot 10^{+95}:\\ \;\;\;\;\sqrt{\left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(\ell \cdot 2\right), \left(\left(n \cdot \left(\mathsf{fma}\left(\left(\sqrt[3]{U} \cdot \sqrt[3]{U}\right), \left(\sqrt[3]{U}\right), \left(-U*\right)\right) \cdot \frac{\ell}{Om}\right)\right) \cdot \frac{\ell}{Om} + \left(\frac{\ell}{Om} \cdot \mathsf{fma}\left(\left(-U*\right), 1, U*\right)\right) \cdot \left(n \cdot \frac{\ell}{Om}\right)\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{U} \cdot \sqrt{\left(2 \cdot n\right) \cdot \left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(\ell \cdot 2\right), \left(\left(\left(U - U*\right) \cdot \left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right)\right) \cdot n\right)\right)\right)}\\ \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*))))))