Average Error: 34.7 → 28.1
Time: 1.1m
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}\;\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - \frac{\ell \cdot \ell}{Om} \cdot 2\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right) \le 0.0:\\ \;\;\;\;\sqrt{U \cdot \left(\left(\left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left(\left(U - U*\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left({\left(\frac{1}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(n \cdot {\ell}^{\left(\frac{2}{2}\right)}\right)\right)\right)\right) \cdot n\right) \cdot 2\right)}\\ \mathbf{elif}\;\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - \frac{\ell \cdot \ell}{Om} \cdot 2\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right) \le 1.183773712422273433088837706435118557278 \cdot 10^{294}:\\ \;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - \frac{\ell \cdot \ell}{Om} \cdot 2\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left(U - U*\right) \cdot \left(\left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right)\right)\right)\right) \cdot 2} \cdot \sqrt{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}\;\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - \frac{\ell \cdot \ell}{Om} \cdot 2\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right) \le 0.0:\\
\;\;\;\;\sqrt{U \cdot \left(\left(\left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left(\left(U - U*\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left({\left(\frac{1}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(n \cdot {\ell}^{\left(\frac{2}{2}\right)}\right)\right)\right)\right) \cdot n\right) \cdot 2\right)}\\

\mathbf{elif}\;\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - \frac{\ell \cdot \ell}{Om} \cdot 2\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right) \le 1.183773712422273433088837706435118557278 \cdot 10^{294}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - \frac{\ell \cdot \ell}{Om} \cdot 2\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\\

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

\end{array}
double f(double n, double U, double t, double l, double Om, double U_) {
        double r2812481 = 2.0;
        double r2812482 = n;
        double r2812483 = r2812481 * r2812482;
        double r2812484 = U;
        double r2812485 = r2812483 * r2812484;
        double r2812486 = t;
        double r2812487 = l;
        double r2812488 = r2812487 * r2812487;
        double r2812489 = Om;
        double r2812490 = r2812488 / r2812489;
        double r2812491 = r2812481 * r2812490;
        double r2812492 = r2812486 - r2812491;
        double r2812493 = r2812487 / r2812489;
        double r2812494 = pow(r2812493, r2812481);
        double r2812495 = r2812482 * r2812494;
        double r2812496 = U_;
        double r2812497 = r2812484 - r2812496;
        double r2812498 = r2812495 * r2812497;
        double r2812499 = r2812492 - r2812498;
        double r2812500 = r2812485 * r2812499;
        double r2812501 = sqrt(r2812500);
        return r2812501;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r2812502 = 2.0;
        double r2812503 = n;
        double r2812504 = r2812502 * r2812503;
        double r2812505 = U;
        double r2812506 = r2812504 * r2812505;
        double r2812507 = t;
        double r2812508 = l;
        double r2812509 = r2812508 * r2812508;
        double r2812510 = Om;
        double r2812511 = r2812509 / r2812510;
        double r2812512 = r2812511 * r2812502;
        double r2812513 = r2812507 - r2812512;
        double r2812514 = r2812508 / r2812510;
        double r2812515 = pow(r2812514, r2812502);
        double r2812516 = r2812503 * r2812515;
        double r2812517 = U_;
        double r2812518 = r2812505 - r2812517;
        double r2812519 = r2812516 * r2812518;
        double r2812520 = r2812513 - r2812519;
        double r2812521 = r2812506 * r2812520;
        double r2812522 = 0.0;
        bool r2812523 = r2812521 <= r2812522;
        double r2812524 = r2812502 * r2812508;
        double r2812525 = 2.0;
        double r2812526 = r2812502 / r2812525;
        double r2812527 = pow(r2812514, r2812526);
        double r2812528 = r2812518 * r2812527;
        double r2812529 = 1.0;
        double r2812530 = r2812529 / r2812510;
        double r2812531 = pow(r2812530, r2812526);
        double r2812532 = pow(r2812508, r2812526);
        double r2812533 = r2812503 * r2812532;
        double r2812534 = r2812531 * r2812533;
        double r2812535 = r2812528 * r2812534;
        double r2812536 = fma(r2812514, r2812524, r2812535);
        double r2812537 = r2812507 - r2812536;
        double r2812538 = r2812537 * r2812503;
        double r2812539 = r2812538 * r2812502;
        double r2812540 = r2812505 * r2812539;
        double r2812541 = sqrt(r2812540);
        double r2812542 = 1.1837737124222734e+294;
        bool r2812543 = r2812521 <= r2812542;
        double r2812544 = sqrt(r2812521);
        double r2812545 = r2812527 * r2812503;
        double r2812546 = r2812545 * r2812527;
        double r2812547 = r2812518 * r2812546;
        double r2812548 = fma(r2812514, r2812524, r2812547);
        double r2812549 = r2812507 - r2812548;
        double r2812550 = r2812503 * r2812549;
        double r2812551 = r2812550 * r2812502;
        double r2812552 = sqrt(r2812551);
        double r2812553 = sqrt(r2812505);
        double r2812554 = r2812552 * r2812553;
        double r2812555 = r2812543 ? r2812544 : r2812554;
        double r2812556 = r2812523 ? r2812541 : r2812555;
        return r2812556;
}

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 (* (* (* 2.0 n) U) (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*)))) < 0.0

    1. Initial program 57.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. Simplified40.4

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

      \[\leadsto \sqrt{U \cdot \left(\left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left(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)}\right) \cdot \left(U - U*\right)\right)\right)\right) \cdot 2\right)}\]
    5. Applied associate-*r*38.1

      \[\leadsto \sqrt{U \cdot \left(\left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \color{blue}{\left(\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)}\right)} \cdot \left(U - U*\right)\right)\right)\right) \cdot 2\right)}\]
    6. Using strategy rm
    7. Applied associate-*l*38.0

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

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

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

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

    if 0.0 < (* (* (* 2.0 n) U) (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*)))) < 1.1837737124222734e+294

    1. Initial program 1.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)}\]

    if 1.1837737124222734e+294 < (* (* (* 2.0 n) U) (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*))))

    1. Initial program 62.8

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

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

      \[\leadsto \sqrt{U \cdot \left(\left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left(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)}\right) \cdot \left(U - U*\right)\right)\right)\right) \cdot 2\right)}\]
    5. Applied associate-*r*53.9

      \[\leadsto \sqrt{U \cdot \left(\left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \color{blue}{\left(\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)}\right)} \cdot \left(U - U*\right)\right)\right)\right) \cdot 2\right)}\]
    6. Using strategy rm
    7. Applied sqrt-prod54.0

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

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

Reproduce

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