Average Error: 35.1 → 30.3
Time: 53.6s
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}\;t \le -7.561406082815871403820188178211965794307 \cdot 10^{205}:\\ \;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \mathsf{fma}\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}, U* - U, \mathsf{fma}\left(\ell, -2 \cdot \frac{\ell}{Om}, t\right)\right)\right)}\\ \mathbf{elif}\;t \le 7.566412420091833209956009758971708625276 \cdot 10^{105}:\\ \;\;\;\;\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(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right), \mathsf{fma}\left(\frac{\ell}{Om} \cdot \ell, -2, t\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{2 \cdot \left(U \cdot n\right)} \cdot \sqrt{\mathsf{fma}\left({\left(\frac{\ell}{Om}\right)}^{2} \cdot \left(U* - U\right), n, \mathsf{fma}\left(-2, \frac{\ell}{\frac{Om}{\ell}}, t\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}\;t \le -7.561406082815871403820188178211965794307 \cdot 10^{205}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \mathsf{fma}\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}, U* - U, \mathsf{fma}\left(\ell, -2 \cdot \frac{\ell}{Om}, t\right)\right)\right)}\\

\mathbf{elif}\;t \le 7.566412420091833209956009758971708625276 \cdot 10^{105}:\\
\;\;\;\;\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(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right), \mathsf{fma}\left(\frac{\ell}{Om} \cdot \ell, -2, t\right)\right)}\\

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

\end{array}
double f(double n, double U, double t, double l, double Om, double U_) {
        double r136437 = 2.0;
        double r136438 = n;
        double r136439 = r136437 * r136438;
        double r136440 = U;
        double r136441 = r136439 * r136440;
        double r136442 = t;
        double r136443 = l;
        double r136444 = r136443 * r136443;
        double r136445 = Om;
        double r136446 = r136444 / r136445;
        double r136447 = r136437 * r136446;
        double r136448 = r136442 - r136447;
        double r136449 = r136443 / r136445;
        double r136450 = pow(r136449, r136437);
        double r136451 = r136438 * r136450;
        double r136452 = U_;
        double r136453 = r136440 - r136452;
        double r136454 = r136451 * r136453;
        double r136455 = r136448 - r136454;
        double r136456 = r136441 * r136455;
        double r136457 = sqrt(r136456);
        return r136457;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r136458 = t;
        double r136459 = -7.561406082815871e+205;
        bool r136460 = r136458 <= r136459;
        double r136461 = 2.0;
        double r136462 = n;
        double r136463 = r136461 * r136462;
        double r136464 = U;
        double r136465 = l;
        double r136466 = Om;
        double r136467 = r136465 / r136466;
        double r136468 = 2.0;
        double r136469 = r136461 / r136468;
        double r136470 = r136468 * r136469;
        double r136471 = pow(r136467, r136470);
        double r136472 = r136462 * r136471;
        double r136473 = U_;
        double r136474 = r136473 - r136464;
        double r136475 = r136461 * r136467;
        double r136476 = -r136475;
        double r136477 = fma(r136465, r136476, r136458);
        double r136478 = fma(r136472, r136474, r136477);
        double r136479 = r136464 * r136478;
        double r136480 = r136463 * r136479;
        double r136481 = sqrt(r136480);
        double r136482 = 7.566412420091833e+105;
        bool r136483 = r136458 <= r136482;
        double r136484 = r136463 * r136464;
        double r136485 = pow(r136467, r136469);
        double r136486 = r136485 * r136462;
        double r136487 = r136485 * r136486;
        double r136488 = r136467 * r136465;
        double r136489 = -r136461;
        double r136490 = fma(r136488, r136489, r136458);
        double r136491 = fma(r136474, r136487, r136490);
        double r136492 = r136484 * r136491;
        double r136493 = sqrt(r136492);
        double r136494 = r136464 * r136462;
        double r136495 = r136461 * r136494;
        double r136496 = sqrt(r136495);
        double r136497 = pow(r136467, r136461);
        double r136498 = r136497 * r136474;
        double r136499 = r136466 / r136465;
        double r136500 = r136465 / r136499;
        double r136501 = fma(r136489, r136500, r136458);
        double r136502 = fma(r136498, r136462, r136501);
        double r136503 = sqrt(r136502);
        double r136504 = r136496 * r136503;
        double r136505 = r136483 ? r136493 : r136504;
        double r136506 = r136460 ? r136481 : r136505;
        return r136506;
}

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 3 regimes
  2. if t < -7.561406082815871e+205

    1. Initial program 41.0

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

      \[\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-pow39.0

      \[\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*38.9

      \[\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 associate-*l*39.4

      \[\leadsto \sqrt{\color{blue}{\left(2 \cdot n\right) \cdot \left(U \cdot \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)}}\]
    8. Simplified39.7

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

    if -7.561406082815871e+205 < t < 7.566412420091833e+105

    1. Initial program 34.2

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

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

      \[\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*30.4

      \[\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)}\]

    if 7.566412420091833e+105 < t

    1. Initial program 36.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. Simplified33.6

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

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{\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)}}\]
    5. Simplified24.4

      \[\leadsto \color{blue}{\sqrt{2 \cdot \left(n \cdot U\right)}} \cdot \sqrt{\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)}\]
    6. Simplified25.1

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \le -7.561406082815871403820188178211965794307 \cdot 10^{205}:\\ \;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \mathsf{fma}\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}, U* - U, \mathsf{fma}\left(\ell, -2 \cdot \frac{\ell}{Om}, t\right)\right)\right)}\\ \mathbf{elif}\;t \le 7.566412420091833209956009758971708625276 \cdot 10^{105}:\\ \;\;\;\;\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(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right), \mathsf{fma}\left(\frac{\ell}{Om} \cdot \ell, -2, t\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{2 \cdot \left(U \cdot n\right)} \cdot \sqrt{\mathsf{fma}\left({\left(\frac{\ell}{Om}\right)}^{2} \cdot \left(U* - U\right), n, \mathsf{fma}\left(-2, \frac{\ell}{\frac{Om}{\ell}}, t\right)\right)}\\ \end{array}\]

Reproduce

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