Average Error: 33.7 → 27.6
Time: 45.7s
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 -5.2001883542953 \cdot 10^{-311}:\\ \;\;\;\;\sqrt{\left(2 \cdot U\right) \cdot \left(n \cdot \left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(2 \cdot \ell\right), \left(\left(n \cdot \left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right)\right) \cdot \left(U - U*\right)\right)\right)\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{2 \cdot U} \cdot \sqrt{n \cdot \left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(2 \cdot \ell\right), \left(\left(n \cdot \left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right)\right) \cdot \left(U - U*\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}\;U \le -5.2001883542953 \cdot 10^{-311}:\\
\;\;\;\;\sqrt{\left(2 \cdot U\right) \cdot \left(n \cdot \left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(2 \cdot \ell\right), \left(\left(n \cdot \left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right)\right) \cdot \left(U - U*\right)\right)\right)\right)\right)}\\

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

\end{array}
double f(double n, double U, double t, double l, double Om, double U_) {
        double r2583885 = 2.0;
        double r2583886 = n;
        double r2583887 = r2583885 * r2583886;
        double r2583888 = U;
        double r2583889 = r2583887 * r2583888;
        double r2583890 = t;
        double r2583891 = l;
        double r2583892 = r2583891 * r2583891;
        double r2583893 = Om;
        double r2583894 = r2583892 / r2583893;
        double r2583895 = r2583885 * r2583894;
        double r2583896 = r2583890 - r2583895;
        double r2583897 = r2583891 / r2583893;
        double r2583898 = pow(r2583897, r2583885);
        double r2583899 = r2583886 * r2583898;
        double r2583900 = U_;
        double r2583901 = r2583888 - r2583900;
        double r2583902 = r2583899 * r2583901;
        double r2583903 = r2583896 - r2583902;
        double r2583904 = r2583889 * r2583903;
        double r2583905 = sqrt(r2583904);
        return r2583905;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r2583906 = U;
        double r2583907 = -5.2001883542953e-311;
        bool r2583908 = r2583906 <= r2583907;
        double r2583909 = 2.0;
        double r2583910 = r2583909 * r2583906;
        double r2583911 = n;
        double r2583912 = t;
        double r2583913 = l;
        double r2583914 = Om;
        double r2583915 = r2583913 / r2583914;
        double r2583916 = r2583909 * r2583913;
        double r2583917 = r2583915 * r2583915;
        double r2583918 = r2583911 * r2583917;
        double r2583919 = U_;
        double r2583920 = r2583906 - r2583919;
        double r2583921 = r2583918 * r2583920;
        double r2583922 = fma(r2583915, r2583916, r2583921);
        double r2583923 = r2583912 - r2583922;
        double r2583924 = r2583911 * r2583923;
        double r2583925 = r2583910 * r2583924;
        double r2583926 = sqrt(r2583925);
        double r2583927 = sqrt(r2583910);
        double r2583928 = sqrt(r2583924);
        double r2583929 = r2583927 * r2583928;
        double r2583930 = r2583908 ? r2583926 : r2583929;
        return r2583930;
}

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 < -5.2001883542953e-311

    1. Initial program 34.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. Simplified31.7

      \[\leadsto \color{blue}{\sqrt{\left(U \cdot 2\right) \cdot \left(n \cdot \left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(2 \cdot \ell\right), \left(\left(n \cdot \left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right)\right) \cdot \left(U - U*\right)\right)\right)\right)\right)}}\]
    3. Taylor expanded around -inf 37.2

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

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

    if -5.2001883542953e-311 < U

    1. Initial program 33.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. Simplified30.0

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

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

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

Reproduce

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