Average Error: 33.3 → 26.1
Time: 2.4m
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 r17079021 = 2.0;
        double r17079022 = n;
        double r17079023 = r17079021 * r17079022;
        double r17079024 = U;
        double r17079025 = r17079023 * r17079024;
        double r17079026 = t;
        double r17079027 = l;
        double r17079028 = r17079027 * r17079027;
        double r17079029 = Om;
        double r17079030 = r17079028 / r17079029;
        double r17079031 = r17079021 * r17079030;
        double r17079032 = r17079026 - r17079031;
        double r17079033 = r17079027 / r17079029;
        double r17079034 = pow(r17079033, r17079021);
        double r17079035 = r17079022 * r17079034;
        double r17079036 = U_;
        double r17079037 = r17079024 - r17079036;
        double r17079038 = r17079035 * r17079037;
        double r17079039 = r17079032 - r17079038;
        double r17079040 = r17079025 * r17079039;
        double r17079041 = sqrt(r17079040);
        return r17079041;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r17079042 = n;
        double r17079043 = -1.24217835250082e+112;
        bool r17079044 = r17079042 <= r17079043;
        double r17079045 = 2.0;
        double r17079046 = r17079045 * r17079042;
        double r17079047 = U;
        double r17079048 = r17079046 * r17079047;
        double r17079049 = t;
        double r17079050 = l;
        double r17079051 = Om;
        double r17079052 = r17079051 / r17079050;
        double r17079053 = r17079050 / r17079052;
        double r17079054 = r17079045 * r17079053;
        double r17079055 = r17079049 - r17079054;
        double r17079056 = r17079050 / r17079051;
        double r17079057 = pow(r17079056, r17079045);
        double r17079058 = r17079057 * r17079042;
        double r17079059 = U_;
        double r17079060 = r17079047 - r17079059;
        double r17079061 = r17079058 * r17079060;
        double r17079062 = r17079055 - r17079061;
        double r17079063 = r17079048 * r17079062;
        double r17079064 = sqrt(r17079063);
        double r17079065 = 4.93115530008257e-310;
        bool r17079066 = r17079042 <= r17079065;
        double r17079067 = r17079050 * r17079045;
        double r17079068 = r17079042 * r17079056;
        double r17079069 = r17079068 * r17079056;
        double r17079070 = r17079069 * r17079060;
        double r17079071 = fma(r17079067, r17079056, r17079070);
        double r17079072 = r17079049 - r17079071;
        double r17079073 = r17079072 * r17079046;
        double r17079074 = r17079073 * r17079047;
        double r17079075 = 0.5;
        double r17079076 = pow(r17079074, r17079075);
        double r17079077 = r17079047 * r17079062;
        double r17079078 = sqrt(r17079077);
        double r17079079 = sqrt(r17079046);
        double r17079080 = r17079078 * r17079079;
        double r17079081 = r17079066 ? r17079076 : r17079080;
        double r17079082 = r17079044 ? r17079064 : r17079081;
        return r17079082;
}

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{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \color{blue}{{\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)}^{1}}}\]
    8. Applied pow129.8

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot \color{blue}{{U}^{1}}\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)}^{1}}\]
    9. Applied pow129.8

      \[\leadsto \sqrt{\left(\left(2 \cdot \color{blue}{{n}^{1}}\right) \cdot {U}^{1}\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)}^{1}}\]
    10. Applied pow129.8

      \[\leadsto \sqrt{\left(\left(\color{blue}{{2}^{1}} \cdot {n}^{1}\right) \cdot {U}^{1}\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)}^{1}}\]
    11. Applied pow-prod-down29.8

      \[\leadsto \sqrt{\left(\color{blue}{{\left(2 \cdot n\right)}^{1}} \cdot {U}^{1}\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)}^{1}}\]
    12. Applied pow-prod-down29.8

      \[\leadsto \sqrt{\color{blue}{{\left(\left(2 \cdot n\right) \cdot U\right)}^{1}} \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)}^{1}}\]
    13. Applied pow-prod-down29.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}}}\]
    14. 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)}}\]
    15. 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*))))))