Average Error: 33.3 → 26.3
Time: 38.0s
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 r1291627 = 2.0;
        double r1291628 = n;
        double r1291629 = r1291627 * r1291628;
        double r1291630 = U;
        double r1291631 = r1291629 * r1291630;
        double r1291632 = t;
        double r1291633 = l;
        double r1291634 = r1291633 * r1291633;
        double r1291635 = Om;
        double r1291636 = r1291634 / r1291635;
        double r1291637 = r1291627 * r1291636;
        double r1291638 = r1291632 - r1291637;
        double r1291639 = r1291633 / r1291635;
        double r1291640 = pow(r1291639, r1291627);
        double r1291641 = r1291628 * r1291640;
        double r1291642 = U_;
        double r1291643 = r1291630 - r1291642;
        double r1291644 = r1291641 * r1291643;
        double r1291645 = r1291638 - r1291644;
        double r1291646 = r1291631 * r1291645;
        double r1291647 = sqrt(r1291646);
        return r1291647;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r1291648 = U;
        double r1291649 = 1.0337592973629363e-288;
        bool r1291650 = r1291648 <= r1291649;
        double r1291651 = 2.0;
        double r1291652 = r1291651 * r1291648;
        double r1291653 = n;
        double r1291654 = t;
        double r1291655 = l;
        double r1291656 = Om;
        double r1291657 = r1291655 / r1291656;
        double r1291658 = r1291651 * r1291657;
        double r1291659 = r1291658 * r1291655;
        double r1291660 = r1291657 * r1291653;
        double r1291661 = U_;
        double r1291662 = r1291648 - r1291661;
        double r1291663 = r1291657 * r1291662;
        double r1291664 = r1291660 * r1291663;
        double r1291665 = r1291659 + r1291664;
        double r1291666 = r1291654 - r1291665;
        double r1291667 = r1291653 * r1291666;
        double r1291668 = r1291652 * r1291667;
        double r1291669 = sqrt(r1291668);
        double r1291670 = sqrt(r1291667);
        double r1291671 = sqrt(r1291652);
        double r1291672 = r1291670 * r1291671;
        double r1291673 = r1291650 ? r1291669 : r1291672;
        return r1291673;
}

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*))))))