Average Error: 33.2 → 26.0
Time: 33.8s
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.03684981755012 \cdot 10^{-299}:\\ \;\;\;\;\sqrt{\sqrt{\left(n \cdot U\right) \cdot \left(2 \cdot \left(t - \frac{\ell}{Om} \cdot \left(\ell \cdot 2 - \frac{n}{\frac{Om}{\ell}} \cdot \left(U* - U\right)\right)\right)\right)}} \cdot \sqrt{\sqrt{\left(n \cdot U\right) \cdot \left(2 \cdot \left(t - \frac{\ell}{Om} \cdot \left(\ell \cdot 2 - \frac{n}{\frac{Om}{\ell}} \cdot \left(U* - U\right)\right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{U} \cdot \sqrt{n \cdot \left(2 \cdot \left(t - \frac{\ell}{Om} \cdot \left(\ell \cdot 2 - \frac{n}{\frac{Om}{\ell}} \cdot \left(U* - U\right)\right)\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 5.03684981755012 \cdot 10^{-299}:\\
\;\;\;\;\sqrt{\sqrt{\left(n \cdot U\right) \cdot \left(2 \cdot \left(t - \frac{\ell}{Om} \cdot \left(\ell \cdot 2 - \frac{n}{\frac{Om}{\ell}} \cdot \left(U* - U\right)\right)\right)\right)}} \cdot \sqrt{\sqrt{\left(n \cdot U\right) \cdot \left(2 \cdot \left(t - \frac{\ell}{Om} \cdot \left(\ell \cdot 2 - \frac{n}{\frac{Om}{\ell}} \cdot \left(U* - U\right)\right)\right)\right)}}\\

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

\end{array}
double f(double n, double U, double t, double l, double Om, double U_) {
        double r1593622 = 2.0;
        double r1593623 = n;
        double r1593624 = r1593622 * r1593623;
        double r1593625 = U;
        double r1593626 = r1593624 * r1593625;
        double r1593627 = t;
        double r1593628 = l;
        double r1593629 = r1593628 * r1593628;
        double r1593630 = Om;
        double r1593631 = r1593629 / r1593630;
        double r1593632 = r1593622 * r1593631;
        double r1593633 = r1593627 - r1593632;
        double r1593634 = r1593628 / r1593630;
        double r1593635 = pow(r1593634, r1593622);
        double r1593636 = r1593623 * r1593635;
        double r1593637 = U_;
        double r1593638 = r1593625 - r1593637;
        double r1593639 = r1593636 * r1593638;
        double r1593640 = r1593633 - r1593639;
        double r1593641 = r1593626 * r1593640;
        double r1593642 = sqrt(r1593641);
        return r1593642;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r1593643 = U;
        double r1593644 = 5.03684981755012e-299;
        bool r1593645 = r1593643 <= r1593644;
        double r1593646 = n;
        double r1593647 = r1593646 * r1593643;
        double r1593648 = 2.0;
        double r1593649 = t;
        double r1593650 = l;
        double r1593651 = Om;
        double r1593652 = r1593650 / r1593651;
        double r1593653 = r1593650 * r1593648;
        double r1593654 = r1593651 / r1593650;
        double r1593655 = r1593646 / r1593654;
        double r1593656 = U_;
        double r1593657 = r1593656 - r1593643;
        double r1593658 = r1593655 * r1593657;
        double r1593659 = r1593653 - r1593658;
        double r1593660 = r1593652 * r1593659;
        double r1593661 = r1593649 - r1593660;
        double r1593662 = r1593648 * r1593661;
        double r1593663 = r1593647 * r1593662;
        double r1593664 = sqrt(r1593663);
        double r1593665 = sqrt(r1593664);
        double r1593666 = r1593665 * r1593665;
        double r1593667 = sqrt(r1593643);
        double r1593668 = r1593646 * r1593662;
        double r1593669 = sqrt(r1593668);
        double r1593670 = r1593667 * r1593669;
        double r1593671 = r1593645 ? r1593666 : r1593670;
        return r1593671;
}

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.03684981755012e-299

    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. Simplified29.4

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

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

    if 5.03684981755012e-299 < U

    1. Initial program 32.9

      \[\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.3

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

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

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

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

Reproduce

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