Average Error: 32.9 → 29.4
Time: 1.7m
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 2.53242417465238 \cdot 10^{-11}:\\ \;\;\;\;\sqrt{2 \cdot \left(\left(-\left(\left(n \cdot \frac{\ell}{Om}\right) \cdot \left(n \cdot \frac{\ell}{Om}\right)\right) \cdot \left(U - U*\right)\right) \cdot U + U \cdot \left((\left(\frac{\ell}{\frac{Om}{\ell}}\right) \cdot -2 + t)_* \cdot n\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\left(\left(n \cdot U\right) \cdot \left((\left(\frac{\ell}{\frac{Om}{\ell}}\right) \cdot -2 + t)_* - \frac{\frac{n}{\frac{Om}{\ell}} \cdot \left(U - U*\right)}{\frac{Om}{\ell}}\right)\right) \cdot 2}\\ \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 2.53242417465238 \cdot 10^{-11}:\\
\;\;\;\;\sqrt{2 \cdot \left(\left(-\left(\left(n \cdot \frac{\ell}{Om}\right) \cdot \left(n \cdot \frac{\ell}{Om}\right)\right) \cdot \left(U - U*\right)\right) \cdot U + U \cdot \left((\left(\frac{\ell}{\frac{Om}{\ell}}\right) \cdot -2 + t)_* \cdot n\right)\right)}\\

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

\end{array}
double f(double n, double U, double t, double l, double Om, double U_) {
        double r13154941 = 2.0;
        double r13154942 = n;
        double r13154943 = r13154941 * r13154942;
        double r13154944 = U;
        double r13154945 = r13154943 * r13154944;
        double r13154946 = t;
        double r13154947 = l;
        double r13154948 = r13154947 * r13154947;
        double r13154949 = Om;
        double r13154950 = r13154948 / r13154949;
        double r13154951 = r13154941 * r13154950;
        double r13154952 = r13154946 - r13154951;
        double r13154953 = r13154947 / r13154949;
        double r13154954 = pow(r13154953, r13154941);
        double r13154955 = r13154942 * r13154954;
        double r13154956 = U_;
        double r13154957 = r13154944 - r13154956;
        double r13154958 = r13154955 * r13154957;
        double r13154959 = r13154952 - r13154958;
        double r13154960 = r13154945 * r13154959;
        double r13154961 = sqrt(r13154960);
        return r13154961;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r13154962 = U_;
        double r13154963 = 2.53242417465238e-11;
        bool r13154964 = r13154962 <= r13154963;
        double r13154965 = 2.0;
        double r13154966 = n;
        double r13154967 = l;
        double r13154968 = Om;
        double r13154969 = r13154967 / r13154968;
        double r13154970 = r13154966 * r13154969;
        double r13154971 = r13154970 * r13154970;
        double r13154972 = U;
        double r13154973 = r13154972 - r13154962;
        double r13154974 = r13154971 * r13154973;
        double r13154975 = -r13154974;
        double r13154976 = r13154975 * r13154972;
        double r13154977 = r13154968 / r13154967;
        double r13154978 = r13154967 / r13154977;
        double r13154979 = -2.0;
        double r13154980 = t;
        double r13154981 = fma(r13154978, r13154979, r13154980);
        double r13154982 = r13154981 * r13154966;
        double r13154983 = r13154972 * r13154982;
        double r13154984 = r13154976 + r13154983;
        double r13154985 = r13154965 * r13154984;
        double r13154986 = sqrt(r13154985);
        double r13154987 = r13154966 * r13154972;
        double r13154988 = r13154966 / r13154977;
        double r13154989 = r13154988 * r13154973;
        double r13154990 = r13154989 / r13154977;
        double r13154991 = r13154981 - r13154990;
        double r13154992 = r13154987 * r13154991;
        double r13154993 = r13154992 * r13154965;
        double r13154994 = sqrt(r13154993);
        double r13154995 = r13154964 ? r13154986 : r13154994;
        return r13154995;
}

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* < 2.53242417465238e-11

    1. Initial program 32.4

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

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

      \[\leadsto \sqrt{2 \cdot \left(U \cdot \left(n \cdot \left((\color{blue}{\left(\frac{\ell}{\frac{Om}{\ell}}\right)} \cdot -2 + t)_* - 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-*r*30.0

      \[\leadsto \sqrt{2 \cdot \left(U \cdot \left(n \cdot \left((\left(\frac{\ell}{\frac{Om}{\ell}}\right) \cdot -2 + t)_* - \color{blue}{\left(n \cdot \left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right)\right) \cdot \left(U - U*\right)}\right)\right)\right)}\]
    7. Using strategy rm
    8. Applied sub-neg30.0

      \[\leadsto \sqrt{2 \cdot \left(U \cdot \left(n \cdot \color{blue}{\left((\left(\frac{\ell}{\frac{Om}{\ell}}\right) \cdot -2 + t)_* + \left(-\left(n \cdot \left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right)\right) \cdot \left(U - U*\right)\right)\right)}\right)\right)}\]
    9. Applied distribute-rgt-in30.0

      \[\leadsto \sqrt{2 \cdot \left(U \cdot \color{blue}{\left((\left(\frac{\ell}{\frac{Om}{\ell}}\right) \cdot -2 + t)_* \cdot n + \left(-\left(n \cdot \left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right)\right) \cdot \left(U - U*\right)\right) \cdot n\right)}\right)}\]
    10. Applied distribute-rgt-in30.0

      \[\leadsto \sqrt{2 \cdot \color{blue}{\left(\left((\left(\frac{\ell}{\frac{Om}{\ell}}\right) \cdot -2 + t)_* \cdot n\right) \cdot U + \left(\left(-\left(n \cdot \left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right)\right) \cdot \left(U - U*\right)\right) \cdot n\right) \cdot U\right)}}\]
    11. Simplified28.9

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

    if 2.53242417465238e-11 < U*

    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. Simplified35.6

      \[\leadsto \color{blue}{\sqrt{2 \cdot \left(U \cdot \left(n \cdot \left((\left(\frac{\ell \cdot \ell}{Om}\right) \cdot -2 + t)_* - n \cdot \left(\left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)\right)\right)\right)\right)}}\]
    3. Using strategy rm
    4. Applied associate-/l*33.6

      \[\leadsto \sqrt{2 \cdot \left(U \cdot \left(n \cdot \left((\color{blue}{\left(\frac{\ell}{\frac{Om}{\ell}}\right)} \cdot -2 + t)_* - 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-*r*31.9

      \[\leadsto \sqrt{2 \cdot \left(U \cdot \left(n \cdot \left((\left(\frac{\ell}{\frac{Om}{\ell}}\right) \cdot -2 + t)_* - \color{blue}{\left(n \cdot \left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right)\right) \cdot \left(U - U*\right)}\right)\right)\right)}\]
    7. Using strategy rm
    8. Applied associate-*r*32.1

      \[\leadsto \sqrt{2 \cdot \color{blue}{\left(\left(U \cdot n\right) \cdot \left((\left(\frac{\ell}{\frac{Om}{\ell}}\right) \cdot -2 + t)_* - \left(n \cdot \left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right)\right) \cdot \left(U - U*\right)\right)\right)}}\]
    9. Simplified31.0

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;U* \le 2.53242417465238 \cdot 10^{-11}:\\ \;\;\;\;\sqrt{2 \cdot \left(\left(-\left(\left(n \cdot \frac{\ell}{Om}\right) \cdot \left(n \cdot \frac{\ell}{Om}\right)\right) \cdot \left(U - U*\right)\right) \cdot U + U \cdot \left((\left(\frac{\ell}{\frac{Om}{\ell}}\right) \cdot -2 + t)_* \cdot n\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\left(\left(n \cdot U\right) \cdot \left((\left(\frac{\ell}{\frac{Om}{\ell}}\right) \cdot -2 + t)_* - \frac{\frac{n}{\frac{Om}{\ell}} \cdot \left(U - U*\right)}{\frac{Om}{\ell}}\right)\right) \cdot 2}\\ \end{array}\]

Reproduce

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