Average Error: 33.6 → 28.7
Time: 37.9s
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.7050839287957 \cdot 10^{-310}:\\ \;\;\;\;\sqrt{\sqrt{\left(2 \cdot U\right) \cdot \left(n \cdot \left(t - \frac{\ell}{Om} \cdot \left(2 \cdot \ell - \left(\left(-n\right) \cdot \left(U - U*\right)\right) \cdot \frac{\ell}{Om}\right)\right)\right)}} \cdot \sqrt{\sqrt{\left(2 \cdot U\right) \cdot \left(n \cdot \left(t - \frac{\ell}{Om} \cdot \left(2 \cdot \ell - \left(\left(-n\right) \cdot \left(U - U*\right)\right) \cdot \frac{\ell}{Om}\right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{2 \cdot U} \cdot \sqrt{n \cdot \left(t - \frac{\ell}{Om} \cdot \left(2 \cdot \ell - \left(\left(-n\right) \cdot \left(U - U*\right)\right) \cdot \frac{\ell}{Om}\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 -2.7050839287957 \cdot 10^{-310}:\\
\;\;\;\;\sqrt{\sqrt{\left(2 \cdot U\right) \cdot \left(n \cdot \left(t - \frac{\ell}{Om} \cdot \left(2 \cdot \ell - \left(\left(-n\right) \cdot \left(U - U*\right)\right) \cdot \frac{\ell}{Om}\right)\right)\right)}} \cdot \sqrt{\sqrt{\left(2 \cdot U\right) \cdot \left(n \cdot \left(t - \frac{\ell}{Om} \cdot \left(2 \cdot \ell - \left(\left(-n\right) \cdot \left(U - U*\right)\right) \cdot \frac{\ell}{Om}\right)\right)\right)}}\\

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

\end{array}
double f(double n, double U, double t, double l, double Om, double U_) {
        double r1357766 = 2.0;
        double r1357767 = n;
        double r1357768 = r1357766 * r1357767;
        double r1357769 = U;
        double r1357770 = r1357768 * r1357769;
        double r1357771 = t;
        double r1357772 = l;
        double r1357773 = r1357772 * r1357772;
        double r1357774 = Om;
        double r1357775 = r1357773 / r1357774;
        double r1357776 = r1357766 * r1357775;
        double r1357777 = r1357771 - r1357776;
        double r1357778 = r1357772 / r1357774;
        double r1357779 = pow(r1357778, r1357766);
        double r1357780 = r1357767 * r1357779;
        double r1357781 = U_;
        double r1357782 = r1357769 - r1357781;
        double r1357783 = r1357780 * r1357782;
        double r1357784 = r1357777 - r1357783;
        double r1357785 = r1357770 * r1357784;
        double r1357786 = sqrt(r1357785);
        return r1357786;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r1357787 = U;
        double r1357788 = -2.7050839287957e-310;
        bool r1357789 = r1357787 <= r1357788;
        double r1357790 = 2.0;
        double r1357791 = r1357790 * r1357787;
        double r1357792 = n;
        double r1357793 = t;
        double r1357794 = l;
        double r1357795 = Om;
        double r1357796 = r1357794 / r1357795;
        double r1357797 = r1357790 * r1357794;
        double r1357798 = -r1357792;
        double r1357799 = U_;
        double r1357800 = r1357787 - r1357799;
        double r1357801 = r1357798 * r1357800;
        double r1357802 = r1357801 * r1357796;
        double r1357803 = r1357797 - r1357802;
        double r1357804 = r1357796 * r1357803;
        double r1357805 = r1357793 - r1357804;
        double r1357806 = r1357792 * r1357805;
        double r1357807 = r1357791 * r1357806;
        double r1357808 = sqrt(r1357807);
        double r1357809 = sqrt(r1357808);
        double r1357810 = r1357809 * r1357809;
        double r1357811 = sqrt(r1357791);
        double r1357812 = sqrt(r1357806);
        double r1357813 = r1357811 * r1357812;
        double r1357814 = r1357789 ? r1357810 : r1357813;
        return r1357814;
}

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 < -2.7050839287957e-310

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

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

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

    if -2.7050839287957e-310 < U

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

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

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

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

Reproduce

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