Average Error: 34.3 → 27.5
Time: 1.5m
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}\;\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)} \le 0.0:\\ \;\;\;\;\sqrt{U} \cdot \sqrt{2 \cdot \left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right)\right) \cdot \left(U - U*\right)\right)\right)\right)}\\ \mathbf{elif}\;\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)} \le 2.011064883377632084247727248295239346175 \cdot 10^{140}:\\ \;\;\;\;\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{\sqrt{2 \cdot \left(\left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(\left(U - U*\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right)\right)\right)\right) \cdot U\right)}} \cdot \sqrt{\sqrt{U \cdot \left(2 \cdot \left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(\left(U - U*\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right)\right)\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}\;\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)} \le 0.0:\\
\;\;\;\;\sqrt{U} \cdot \sqrt{2 \cdot \left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right)\right) \cdot \left(U - U*\right)\right)\right)\right)}\\

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

\end{array}
double f(double n, double U, double t, double l, double Om, double U_) {
        double r4269977 = 2.0;
        double r4269978 = n;
        double r4269979 = r4269977 * r4269978;
        double r4269980 = U;
        double r4269981 = r4269979 * r4269980;
        double r4269982 = t;
        double r4269983 = l;
        double r4269984 = r4269983 * r4269983;
        double r4269985 = Om;
        double r4269986 = r4269984 / r4269985;
        double r4269987 = r4269977 * r4269986;
        double r4269988 = r4269982 - r4269987;
        double r4269989 = r4269983 / r4269985;
        double r4269990 = pow(r4269989, r4269977);
        double r4269991 = r4269978 * r4269990;
        double r4269992 = U_;
        double r4269993 = r4269980 - r4269992;
        double r4269994 = r4269991 * r4269993;
        double r4269995 = r4269988 - r4269994;
        double r4269996 = r4269981 * r4269995;
        double r4269997 = sqrt(r4269996);
        return r4269997;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r4269998 = 2.0;
        double r4269999 = n;
        double r4270000 = r4269998 * r4269999;
        double r4270001 = U;
        double r4270002 = r4270000 * r4270001;
        double r4270003 = t;
        double r4270004 = l;
        double r4270005 = r4270004 * r4270004;
        double r4270006 = Om;
        double r4270007 = r4270005 / r4270006;
        double r4270008 = r4270007 * r4269998;
        double r4270009 = r4270003 - r4270008;
        double r4270010 = r4270004 / r4270006;
        double r4270011 = pow(r4270010, r4269998);
        double r4270012 = r4269999 * r4270011;
        double r4270013 = U_;
        double r4270014 = r4270001 - r4270013;
        double r4270015 = r4270012 * r4270014;
        double r4270016 = r4270009 - r4270015;
        double r4270017 = r4270002 * r4270016;
        double r4270018 = sqrt(r4270017);
        double r4270019 = 0.0;
        bool r4270020 = r4270018 <= r4270019;
        double r4270021 = sqrt(r4270001);
        double r4270022 = r4269998 * r4270004;
        double r4270023 = 2.0;
        double r4270024 = r4269998 / r4270023;
        double r4270025 = pow(r4270010, r4270024);
        double r4270026 = r4269999 * r4270025;
        double r4270027 = r4270025 * r4270026;
        double r4270028 = r4270027 * r4270014;
        double r4270029 = fma(r4270010, r4270022, r4270028);
        double r4270030 = r4270003 - r4270029;
        double r4270031 = r4269999 * r4270030;
        double r4270032 = r4269998 * r4270031;
        double r4270033 = sqrt(r4270032);
        double r4270034 = r4270021 * r4270033;
        double r4270035 = 2.011064883377632e+140;
        bool r4270036 = r4270018 <= r4270035;
        double r4270037 = r4270014 * r4270025;
        double r4270038 = r4270026 * r4270037;
        double r4270039 = fma(r4270010, r4270022, r4270038);
        double r4270040 = r4270003 - r4270039;
        double r4270041 = r4269999 * r4270040;
        double r4270042 = r4270041 * r4270001;
        double r4270043 = r4269998 * r4270042;
        double r4270044 = sqrt(r4270043);
        double r4270045 = sqrt(r4270044);
        double r4270046 = r4269998 * r4270041;
        double r4270047 = r4270001 * r4270046;
        double r4270048 = sqrt(r4270047);
        double r4270049 = sqrt(r4270048);
        double r4270050 = r4270045 * r4270049;
        double r4270051 = r4270036 ? r4270018 : r4270050;
        double r4270052 = r4270020 ? r4270034 : r4270051;
        return r4270052;
}

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

    1. Initial program 56.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. Simplified39.1

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

      \[\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*39.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 sqrt-prod38.9

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

    if 0.0 < (sqrt (* (* (* 2.0 n) U) (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*))))) < 2.011064883377632e+140

    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 2.011064883377632e+140 < (sqrt (* (* (* 2.0 n) U) (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*)))))

    1. Initial program 62.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. Simplified53.7

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

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

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

      \[\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 add-sqr-sqrt51.5

      \[\leadsto \color{blue}{\sqrt{\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)}^{\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)}} \cdot \sqrt{\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)}^{\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. Using strategy rm
    11. Applied associate-*r*51.5

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

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

Reproduce

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