Average Error: 33.7 → 30.2
Time: 49.1s
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 -8.997037644090019 \cdot 10^{-101}:\\ \;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(\frac{\ell}{Om} \cdot \left(U - U*\right)\right) \cdot \left(n \cdot \frac{\ell}{Om}\right)\right)}\\ \mathbf{elif}\;n \le -2.81317660591196 \cdot 10^{-264}:\\ \;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om} \cdot \ell, 2, \left(n \cdot \left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right)\right) \cdot \left(U - U*\right)\right)\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\sqrt{\left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(U - U*\right) \cdot \left(\left(n \cdot \frac{\ell}{Om}\right) \cdot \frac{\ell}{Om}\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}} \cdot \sqrt{\sqrt{\left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(U - U*\right) \cdot \left(\left(n \cdot \frac{\ell}{Om}\right) \cdot \frac{\ell}{Om}\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\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}\;n \le -8.997037644090019 \cdot 10^{-101}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(\frac{\ell}{Om} \cdot \left(U - U*\right)\right) \cdot \left(n \cdot \frac{\ell}{Om}\right)\right)}\\

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

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

\end{array}
double f(double n, double U, double t, double l, double Om, double U_) {
        double r2156838 = 2.0;
        double r2156839 = n;
        double r2156840 = r2156838 * r2156839;
        double r2156841 = U;
        double r2156842 = r2156840 * r2156841;
        double r2156843 = t;
        double r2156844 = l;
        double r2156845 = r2156844 * r2156844;
        double r2156846 = Om;
        double r2156847 = r2156845 / r2156846;
        double r2156848 = r2156838 * r2156847;
        double r2156849 = r2156843 - r2156848;
        double r2156850 = r2156844 / r2156846;
        double r2156851 = pow(r2156850, r2156838);
        double r2156852 = r2156839 * r2156851;
        double r2156853 = U_;
        double r2156854 = r2156841 - r2156853;
        double r2156855 = r2156852 * r2156854;
        double r2156856 = r2156849 - r2156855;
        double r2156857 = r2156842 * r2156856;
        double r2156858 = sqrt(r2156857);
        return r2156858;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r2156859 = n;
        double r2156860 = -8.997037644090019e-101;
        bool r2156861 = r2156859 <= r2156860;
        double r2156862 = 2.0;
        double r2156863 = r2156862 * r2156859;
        double r2156864 = U;
        double r2156865 = r2156863 * r2156864;
        double r2156866 = t;
        double r2156867 = l;
        double r2156868 = Om;
        double r2156869 = r2156868 / r2156867;
        double r2156870 = r2156867 / r2156869;
        double r2156871 = r2156862 * r2156870;
        double r2156872 = r2156866 - r2156871;
        double r2156873 = r2156867 / r2156868;
        double r2156874 = U_;
        double r2156875 = r2156864 - r2156874;
        double r2156876 = r2156873 * r2156875;
        double r2156877 = r2156859 * r2156873;
        double r2156878 = r2156876 * r2156877;
        double r2156879 = r2156872 - r2156878;
        double r2156880 = r2156865 * r2156879;
        double r2156881 = sqrt(r2156880);
        double r2156882 = -2.81317660591196e-264;
        bool r2156883 = r2156859 <= r2156882;
        double r2156884 = r2156873 * r2156867;
        double r2156885 = r2156873 * r2156873;
        double r2156886 = r2156859 * r2156885;
        double r2156887 = r2156886 * r2156875;
        double r2156888 = fma(r2156884, r2156862, r2156887);
        double r2156889 = r2156866 - r2156888;
        double r2156890 = r2156864 * r2156889;
        double r2156891 = r2156863 * r2156890;
        double r2156892 = sqrt(r2156891);
        double r2156893 = r2156877 * r2156873;
        double r2156894 = r2156875 * r2156893;
        double r2156895 = r2156872 - r2156894;
        double r2156896 = r2156895 * r2156865;
        double r2156897 = sqrt(r2156896);
        double r2156898 = sqrt(r2156897);
        double r2156899 = r2156898 * r2156898;
        double r2156900 = r2156883 ? r2156892 : r2156899;
        double r2156901 = r2156861 ? r2156881 : r2156900;
        return r2156901;
}

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 < -8.997037644090019e-101

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

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

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(n \cdot \color{blue}{\left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right)}\right) \cdot \left(U - U*\right)\right)}\]
    6. Applied associate-*r*27.1

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

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

    if -8.997037644090019e-101 < n < -2.81317660591196e-264

    1. Initial program 37.6

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

      \[\leadsto \sqrt{\color{blue}{\left(2 \cdot n\right) \cdot \left(U \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)\right)}}\]
    4. Simplified34.1

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

    if -2.81317660591196e-264 < n

    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. Using strategy rm
    3. Applied associate-/l*31.9

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

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(n \cdot \color{blue}{\left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right)}\right) \cdot \left(U - U*\right)\right)}\]
    6. Applied associate-*r*30.9

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

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

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

Reproduce

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