Average Error: 33.3 → 26.3
Time: 47.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 1.0337592973629363 \cdot 10^{-288}:\\ \;\;\;\;\sqrt{\left(2 \cdot U\right) \cdot \left(n \cdot \left(t - \left(\left(2 \cdot \frac{\ell}{Om}\right) \cdot \ell + \left(\frac{\ell}{Om} \cdot n\right) \cdot \left(\frac{\ell}{Om} \cdot \left(U - U*\right)\right)\right)\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{n \cdot \left(t - \left(\left(2 \cdot \frac{\ell}{Om}\right) \cdot \ell + \left(\frac{\ell}{Om} \cdot n\right) \cdot \left(\frac{\ell}{Om} \cdot \left(U - U*\right)\right)\right)\right)} \cdot \sqrt{2 \cdot U}\\ \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 1.0337592973629363 \cdot 10^{-288}:\\
\;\;\;\;\sqrt{\left(2 \cdot U\right) \cdot \left(n \cdot \left(t - \left(\left(2 \cdot \frac{\ell}{Om}\right) \cdot \ell + \left(\frac{\ell}{Om} \cdot n\right) \cdot \left(\frac{\ell}{Om} \cdot \left(U - U*\right)\right)\right)\right)\right)}\\

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

\end{array}
double f(double n, double U, double t, double l, double Om, double U_) {
        double r918778 = 2.0;
        double r918779 = n;
        double r918780 = r918778 * r918779;
        double r918781 = U;
        double r918782 = r918780 * r918781;
        double r918783 = t;
        double r918784 = l;
        double r918785 = r918784 * r918784;
        double r918786 = Om;
        double r918787 = r918785 / r918786;
        double r918788 = r918778 * r918787;
        double r918789 = r918783 - r918788;
        double r918790 = r918784 / r918786;
        double r918791 = pow(r918790, r918778);
        double r918792 = r918779 * r918791;
        double r918793 = U_;
        double r918794 = r918781 - r918793;
        double r918795 = r918792 * r918794;
        double r918796 = r918789 - r918795;
        double r918797 = r918782 * r918796;
        double r918798 = sqrt(r918797);
        return r918798;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r918799 = U;
        double r918800 = 1.0337592973629363e-288;
        bool r918801 = r918799 <= r918800;
        double r918802 = 2.0;
        double r918803 = r918802 * r918799;
        double r918804 = n;
        double r918805 = t;
        double r918806 = l;
        double r918807 = Om;
        double r918808 = r918806 / r918807;
        double r918809 = r918802 * r918808;
        double r918810 = r918809 * r918806;
        double r918811 = r918808 * r918804;
        double r918812 = U_;
        double r918813 = r918799 - r918812;
        double r918814 = r918808 * r918813;
        double r918815 = r918811 * r918814;
        double r918816 = r918810 + r918815;
        double r918817 = r918805 - r918816;
        double r918818 = r918804 * r918817;
        double r918819 = r918803 * r918818;
        double r918820 = sqrt(r918819);
        double r918821 = sqrt(r918818);
        double r918822 = sqrt(r918803);
        double r918823 = r918821 * r918822;
        double r918824 = r918801 ? r918820 : r918823;
        return r918824;
}

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*

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if U < 1.0337592973629363e-288

    1. Initial program 33.5

      \[\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 - \left(\left(\left(n \cdot \frac{\ell}{Om}\right) \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right) + \left(\frac{\ell}{Om} \cdot 2\right) \cdot \ell\right)\right)\right)}}\]
    3. Using strategy rm
    4. Applied associate-*l*30.3

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

    if 1.0337592973629363e-288 < U

    1. Initial program 33.1

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

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

      \[\leadsto \sqrt{\left(U \cdot 2\right) \cdot \left(n \cdot \left(t - \left(\color{blue}{\left(n \cdot \frac{\ell}{Om}\right) \cdot \left(\frac{\ell}{Om} \cdot \left(U - U*\right)\right)} + \left(\frac{\ell}{Om} \cdot 2\right) \cdot \ell\right)\right)\right)}\]
    5. Using strategy rm
    6. Applied sqrt-prod22.0

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

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

Reproduce

herbie shell --seed 2019153 
(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*))))))