Average Error: 33.3 → 26.1
Time: 1.6m
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}\;n \le -1.24217835250082 \cdot 10^{+112}:\\ \;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot n\right) \cdot \left(U - U*\right)\right)}\\ \mathbf{elif}\;n \le 4.93115530008257 \cdot 10^{-310}:\\ \;\;\;\;{\left(\left(\left(t - \mathsf{fma}\left(\left(\ell \cdot 2\right), \left(\frac{\ell}{Om}\right), \left(\left(\left(n \cdot \frac{\ell}{Om}\right) \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)\right)\right)\right) \cdot \left(2 \cdot n\right)\right) \cdot U\right)}^{\frac{1}{2}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{U \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot n\right) \cdot \left(U - U*\right)\right)} \cdot \sqrt{2 \cdot n}\\ \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}\;n \le -1.24217835250082 \cdot 10^{+112}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot n\right) \cdot \left(U - U*\right)\right)}\\

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

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

\end{array}
double f(double n, double U, double t, double l, double Om, double U_) {
        double r15494961 = 2.0;
        double r15494962 = n;
        double r15494963 = r15494961 * r15494962;
        double r15494964 = U;
        double r15494965 = r15494963 * r15494964;
        double r15494966 = t;
        double r15494967 = l;
        double r15494968 = r15494967 * r15494967;
        double r15494969 = Om;
        double r15494970 = r15494968 / r15494969;
        double r15494971 = r15494961 * r15494970;
        double r15494972 = r15494966 - r15494971;
        double r15494973 = r15494967 / r15494969;
        double r15494974 = pow(r15494973, r15494961);
        double r15494975 = r15494962 * r15494974;
        double r15494976 = U_;
        double r15494977 = r15494964 - r15494976;
        double r15494978 = r15494975 * r15494977;
        double r15494979 = r15494972 - r15494978;
        double r15494980 = r15494965 * r15494979;
        double r15494981 = sqrt(r15494980);
        return r15494981;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r15494982 = n;
        double r15494983 = -1.24217835250082e+112;
        bool r15494984 = r15494982 <= r15494983;
        double r15494985 = 2.0;
        double r15494986 = r15494985 * r15494982;
        double r15494987 = U;
        double r15494988 = r15494986 * r15494987;
        double r15494989 = t;
        double r15494990 = l;
        double r15494991 = Om;
        double r15494992 = r15494991 / r15494990;
        double r15494993 = r15494990 / r15494992;
        double r15494994 = r15494985 * r15494993;
        double r15494995 = r15494989 - r15494994;
        double r15494996 = r15494990 / r15494991;
        double r15494997 = pow(r15494996, r15494985);
        double r15494998 = r15494997 * r15494982;
        double r15494999 = U_;
        double r15495000 = r15494987 - r15494999;
        double r15495001 = r15494998 * r15495000;
        double r15495002 = r15494995 - r15495001;
        double r15495003 = r15494988 * r15495002;
        double r15495004 = sqrt(r15495003);
        double r15495005 = 4.93115530008257e-310;
        bool r15495006 = r15494982 <= r15495005;
        double r15495007 = r15494990 * r15494985;
        double r15495008 = r15494982 * r15494996;
        double r15495009 = r15495008 * r15494996;
        double r15495010 = r15495009 * r15495000;
        double r15495011 = fma(r15495007, r15494996, r15495010);
        double r15495012 = r15494989 - r15495011;
        double r15495013 = r15495012 * r15494986;
        double r15495014 = r15495013 * r15494987;
        double r15495015 = 0.5;
        double r15495016 = pow(r15495014, r15495015);
        double r15495017 = r15494987 * r15495002;
        double r15495018 = sqrt(r15495017);
        double r15495019 = sqrt(r15494986);
        double r15495020 = r15495018 * r15495019;
        double r15495021 = r15495006 ? r15495016 : r15495020;
        double r15495022 = r15494984 ? r15495004 : r15495021;
        return r15495022;
}

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 n < -1.24217835250082e+112

    1. Initial program 33.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. Using strategy rm
    3. Applied associate-/l*32.1

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

    if -1.24217835250082e+112 < n < 4.93115530008257e-310

    1. Initial program 32.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 *-un-lft-identity32.7

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

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

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

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

      \[\leadsto \color{blue}{{\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)}^{\left(\frac{1}{2}\right)}}\]
    9. Simplified26.7

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

    if 4.93115530008257e-310 < n

    1. Initial program 33.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. Using strategy rm
    3. Applied associate-/l*30.8

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

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

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

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

Reproduce

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