Average Error: 33.1 → 24.9
Time: 41.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 -5.889660218949 \cdot 10^{-311}:\\ \;\;\;\;\sqrt{2 \cdot \left(\left(n \cdot U\right) \cdot \left(t - \frac{\ell}{Om} \cdot \left(2 \cdot \ell - \left(n \cdot \frac{\ell}{Om}\right) \cdot \left(U* - U\right)\right)\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\left(\sqrt{t \cdot n - \left(2 \cdot \ell - \left(U* - U\right) \cdot \frac{\ell \cdot n}{Om}\right) \cdot \frac{\ell \cdot n}{Om}} \cdot \sqrt{U}\right) \cdot \sqrt{2}\\ \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.889660218949 \cdot 10^{-311}:\\
\;\;\;\;\sqrt{2 \cdot \left(\left(n \cdot U\right) \cdot \left(t - \frac{\ell}{Om} \cdot \left(2 \cdot \ell - \left(n \cdot \frac{\ell}{Om}\right) \cdot \left(U* - U\right)\right)\right)\right)}\\

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

\end{array}
double f(double n, double U, double t, double l, double Om, double U_) {
        double r1880791 = 2.0;
        double r1880792 = n;
        double r1880793 = r1880791 * r1880792;
        double r1880794 = U;
        double r1880795 = r1880793 * r1880794;
        double r1880796 = t;
        double r1880797 = l;
        double r1880798 = r1880797 * r1880797;
        double r1880799 = Om;
        double r1880800 = r1880798 / r1880799;
        double r1880801 = r1880791 * r1880800;
        double r1880802 = r1880796 - r1880801;
        double r1880803 = r1880797 / r1880799;
        double r1880804 = pow(r1880803, r1880791);
        double r1880805 = r1880792 * r1880804;
        double r1880806 = U_;
        double r1880807 = r1880794 - r1880806;
        double r1880808 = r1880805 * r1880807;
        double r1880809 = r1880802 - r1880808;
        double r1880810 = r1880795 * r1880809;
        double r1880811 = sqrt(r1880810);
        return r1880811;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r1880812 = U;
        double r1880813 = -5.889660218949e-311;
        bool r1880814 = r1880812 <= r1880813;
        double r1880815 = 2.0;
        double r1880816 = n;
        double r1880817 = r1880816 * r1880812;
        double r1880818 = t;
        double r1880819 = l;
        double r1880820 = Om;
        double r1880821 = r1880819 / r1880820;
        double r1880822 = r1880815 * r1880819;
        double r1880823 = r1880816 * r1880821;
        double r1880824 = U_;
        double r1880825 = r1880824 - r1880812;
        double r1880826 = r1880823 * r1880825;
        double r1880827 = r1880822 - r1880826;
        double r1880828 = r1880821 * r1880827;
        double r1880829 = r1880818 - r1880828;
        double r1880830 = r1880817 * r1880829;
        double r1880831 = r1880815 * r1880830;
        double r1880832 = sqrt(r1880831);
        double r1880833 = r1880818 * r1880816;
        double r1880834 = r1880819 * r1880816;
        double r1880835 = r1880834 / r1880820;
        double r1880836 = r1880825 * r1880835;
        double r1880837 = r1880822 - r1880836;
        double r1880838 = r1880837 * r1880835;
        double r1880839 = r1880833 - r1880838;
        double r1880840 = sqrt(r1880839);
        double r1880841 = sqrt(r1880812);
        double r1880842 = r1880840 * r1880841;
        double r1880843 = sqrt(r1880815);
        double r1880844 = r1880842 * r1880843;
        double r1880845 = r1880814 ? r1880832 : r1880844;
        return r1880845;
}

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

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

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

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

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

    if -5.889660218949e-311 < U

    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. Simplified30.9

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

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

      \[\leadsto \sqrt{2 \cdot \left(U \cdot \left(n \cdot \color{blue}{\left(t + \left(-\frac{\ell}{Om} \cdot \left(2 \cdot \ell - \left(\frac{\ell}{Om} \cdot n\right) \cdot \left(U* - U\right)\right)\right)\right)}\right)\right)}\]
    7. Applied distribute-rgt-in29.0

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

      \[\leadsto \sqrt{2 \cdot \left(U \cdot \left(t \cdot n + \color{blue}{\left(\ell \cdot 2 - \left(\frac{\ell}{Om} \cdot n\right) \cdot \left(U* - U\right)\right) \cdot \left(-\frac{\ell}{Om} \cdot n\right)}\right)\right)}\]
    9. Using strategy rm
    10. Applied sqrt-prod27.1

      \[\leadsto \color{blue}{\sqrt{2} \cdot \sqrt{U \cdot \left(t \cdot n + \left(\ell \cdot 2 - \left(\frac{\ell}{Om} \cdot n\right) \cdot \left(U* - U\right)\right) \cdot \left(-\frac{\ell}{Om} \cdot n\right)\right)}}\]
    11. Using strategy rm
    12. Applied sqrt-prod19.7

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

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

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

Reproduce

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