Average Error: 33.1 → 25.4
Time: 42.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 -1.1626446501105 \cdot 10^{-310}:\\ \;\;\;\;\sqrt{\left(2 \cdot U\right) \cdot \left(n \cdot \left(t - \left(\ell \cdot \left(2 \cdot \frac{\ell}{Om}\right) + \left(\frac{\ell}{Om} \cdot \left(n \cdot \frac{\ell}{Om}\right)\right) \cdot \left(U - U*\right)\right)\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{n \cdot \left(t - \left(\ell \cdot \left(2 \cdot \frac{\ell}{Om}\right) + \left(\frac{\ell}{Om} \cdot \left(n \cdot \frac{\ell}{Om}\right)\right) \cdot \left(U - U*\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.1626446501105 \cdot 10^{-310}:\\
\;\;\;\;\sqrt{\left(2 \cdot U\right) \cdot \left(n \cdot \left(t - \left(\ell \cdot \left(2 \cdot \frac{\ell}{Om}\right) + \left(\frac{\ell}{Om} \cdot \left(n \cdot \frac{\ell}{Om}\right)\right) \cdot \left(U - U*\right)\right)\right)\right)}\\

\mathbf{else}:\\
\;\;\;\;\sqrt{n \cdot \left(t - \left(\ell \cdot \left(2 \cdot \frac{\ell}{Om}\right) + \left(\frac{\ell}{Om} \cdot \left(n \cdot \frac{\ell}{Om}\right)\right) \cdot \left(U - U*\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 r1359534 = 2.0;
        double r1359535 = n;
        double r1359536 = r1359534 * r1359535;
        double r1359537 = U;
        double r1359538 = r1359536 * r1359537;
        double r1359539 = t;
        double r1359540 = l;
        double r1359541 = r1359540 * r1359540;
        double r1359542 = Om;
        double r1359543 = r1359541 / r1359542;
        double r1359544 = r1359534 * r1359543;
        double r1359545 = r1359539 - r1359544;
        double r1359546 = r1359540 / r1359542;
        double r1359547 = pow(r1359546, r1359534);
        double r1359548 = r1359535 * r1359547;
        double r1359549 = U_;
        double r1359550 = r1359537 - r1359549;
        double r1359551 = r1359548 * r1359550;
        double r1359552 = r1359545 - r1359551;
        double r1359553 = r1359538 * r1359552;
        double r1359554 = sqrt(r1359553);
        return r1359554;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r1359555 = U;
        double r1359556 = -1.1626446501105e-310;
        bool r1359557 = r1359555 <= r1359556;
        double r1359558 = 2.0;
        double r1359559 = r1359558 * r1359555;
        double r1359560 = n;
        double r1359561 = t;
        double r1359562 = l;
        double r1359563 = Om;
        double r1359564 = r1359562 / r1359563;
        double r1359565 = r1359558 * r1359564;
        double r1359566 = r1359562 * r1359565;
        double r1359567 = r1359560 * r1359564;
        double r1359568 = r1359564 * r1359567;
        double r1359569 = U_;
        double r1359570 = r1359555 - r1359569;
        double r1359571 = r1359568 * r1359570;
        double r1359572 = r1359566 + r1359571;
        double r1359573 = r1359561 - r1359572;
        double r1359574 = r1359560 * r1359573;
        double r1359575 = r1359559 * r1359574;
        double r1359576 = sqrt(r1359575);
        double r1359577 = sqrt(r1359574);
        double r1359578 = sqrt(r1359559);
        double r1359579 = r1359577 * r1359578;
        double r1359580 = r1359557 ? r1359576 : r1359579;
        return r1359580;
}

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

    1. Initial program 33.2

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

      \[\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 *-commutative29.5

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

    if -1.1626446501105e-310 < U

    1. Initial program 33.0

      \[\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. Simplified28.9

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

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

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

Reproduce

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