Average Error: 32.8 → 25.7
Time: 50.5s
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.4828608859501 \cdot 10^{-310}:\\ \;\;\;\;\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{\left(t - \left(\left(U - U*\right) \cdot \left(\frac{\ell}{Om} \cdot \left(\frac{\ell}{Om} \cdot n\right)\right) + \left(2 \cdot \frac{\ell}{Om}\right) \cdot \ell\right)\right) \cdot n} \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.4828608859501 \cdot 10^{-310}:\\
\;\;\;\;\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{\left(t - \left(\left(U - U*\right) \cdot \left(\frac{\ell}{Om} \cdot \left(\frac{\ell}{Om} \cdot n\right)\right) + \left(2 \cdot \frac{\ell}{Om}\right) \cdot \ell\right)\right) \cdot n} \cdot \sqrt{2 \cdot U}\\

\end{array}
double f(double n, double U, double t, double l, double Om, double U_) {
        double r1285951 = 2.0;
        double r1285952 = n;
        double r1285953 = r1285951 * r1285952;
        double r1285954 = U;
        double r1285955 = r1285953 * r1285954;
        double r1285956 = t;
        double r1285957 = l;
        double r1285958 = r1285957 * r1285957;
        double r1285959 = Om;
        double r1285960 = r1285958 / r1285959;
        double r1285961 = r1285951 * r1285960;
        double r1285962 = r1285956 - r1285961;
        double r1285963 = r1285957 / r1285959;
        double r1285964 = pow(r1285963, r1285951);
        double r1285965 = r1285952 * r1285964;
        double r1285966 = U_;
        double r1285967 = r1285954 - r1285966;
        double r1285968 = r1285965 * r1285967;
        double r1285969 = r1285962 - r1285968;
        double r1285970 = r1285955 * r1285969;
        double r1285971 = sqrt(r1285970);
        return r1285971;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r1285972 = U;
        double r1285973 = 1.4828608859501e-310;
        bool r1285974 = r1285972 <= r1285973;
        double r1285975 = 2.0;
        double r1285976 = r1285975 * r1285972;
        double r1285977 = n;
        double r1285978 = t;
        double r1285979 = l;
        double r1285980 = Om;
        double r1285981 = r1285979 / r1285980;
        double r1285982 = r1285975 * r1285981;
        double r1285983 = r1285982 * r1285979;
        double r1285984 = r1285981 * r1285977;
        double r1285985 = U_;
        double r1285986 = r1285972 - r1285985;
        double r1285987 = r1285981 * r1285986;
        double r1285988 = r1285984 * r1285987;
        double r1285989 = r1285983 + r1285988;
        double r1285990 = r1285978 - r1285989;
        double r1285991 = r1285977 * r1285990;
        double r1285992 = r1285976 * r1285991;
        double r1285993 = sqrt(r1285992);
        double r1285994 = r1285981 * r1285984;
        double r1285995 = r1285986 * r1285994;
        double r1285996 = r1285995 + r1285983;
        double r1285997 = r1285978 - r1285996;
        double r1285998 = r1285997 * r1285977;
        double r1285999 = sqrt(r1285998);
        double r1286000 = sqrt(r1285976);
        double r1286001 = r1285999 * r1286000;
        double r1286002 = r1285974 ? r1285993 : r1286001;
        return r1286002;
}

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.4828608859501e-310

    1. Initial program 32.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. 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.4

      \[\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.4828608859501e-310 < 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. Simplified29.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 sqrt-prod21.8

      \[\leadsto \color{blue}{\sqrt{U \cdot 2} \cdot \sqrt{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)}}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification25.7

    \[\leadsto \begin{array}{l} \mathbf{if}\;U \le 1.4828608859501 \cdot 10^{-310}:\\ \;\;\;\;\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{\left(t - \left(\left(U - U*\right) \cdot \left(\frac{\ell}{Om} \cdot \left(\frac{\ell}{Om} \cdot n\right)\right) + \left(2 \cdot \frac{\ell}{Om}\right) \cdot \ell\right)\right) \cdot n} \cdot \sqrt{2 \cdot U}\\ \end{array}\]

Reproduce

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