Average Error: 33.6 → 28.7
Time: 44.1s
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 -2.7050839287957 \cdot 10^{-310}:\\ \;\;\;\;\sqrt{\sqrt{\left(2 \cdot U\right) \cdot \left(n \cdot \left(t - \frac{\ell}{Om} \cdot \left(2 \cdot \ell - \left(\left(-n\right) \cdot \left(U - U*\right)\right) \cdot \frac{\ell}{Om}\right)\right)\right)}} \cdot \sqrt{\sqrt{\left(2 \cdot U\right) \cdot \left(n \cdot \left(t - \frac{\ell}{Om} \cdot \left(2 \cdot \ell - \left(\left(-n\right) \cdot \left(U - U*\right)\right) \cdot \frac{\ell}{Om}\right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{2 \cdot U} \cdot \sqrt{n \cdot \left(t - \frac{\ell}{Om} \cdot \left(2 \cdot \ell - \left(\left(-n\right) \cdot \left(U - U*\right)\right) \cdot \frac{\ell}{Om}\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 -2.7050839287957 \cdot 10^{-310}:\\
\;\;\;\;\sqrt{\sqrt{\left(2 \cdot U\right) \cdot \left(n \cdot \left(t - \frac{\ell}{Om} \cdot \left(2 \cdot \ell - \left(\left(-n\right) \cdot \left(U - U*\right)\right) \cdot \frac{\ell}{Om}\right)\right)\right)}} \cdot \sqrt{\sqrt{\left(2 \cdot U\right) \cdot \left(n \cdot \left(t - \frac{\ell}{Om} \cdot \left(2 \cdot \ell - \left(\left(-n\right) \cdot \left(U - U*\right)\right) \cdot \frac{\ell}{Om}\right)\right)\right)}}\\

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

\end{array}
double f(double n, double U, double t, double l, double Om, double U_) {
        double r2663505 = 2.0;
        double r2663506 = n;
        double r2663507 = r2663505 * r2663506;
        double r2663508 = U;
        double r2663509 = r2663507 * r2663508;
        double r2663510 = t;
        double r2663511 = l;
        double r2663512 = r2663511 * r2663511;
        double r2663513 = Om;
        double r2663514 = r2663512 / r2663513;
        double r2663515 = r2663505 * r2663514;
        double r2663516 = r2663510 - r2663515;
        double r2663517 = r2663511 / r2663513;
        double r2663518 = pow(r2663517, r2663505);
        double r2663519 = r2663506 * r2663518;
        double r2663520 = U_;
        double r2663521 = r2663508 - r2663520;
        double r2663522 = r2663519 * r2663521;
        double r2663523 = r2663516 - r2663522;
        double r2663524 = r2663509 * r2663523;
        double r2663525 = sqrt(r2663524);
        return r2663525;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r2663526 = U;
        double r2663527 = -2.7050839287957e-310;
        bool r2663528 = r2663526 <= r2663527;
        double r2663529 = 2.0;
        double r2663530 = r2663529 * r2663526;
        double r2663531 = n;
        double r2663532 = t;
        double r2663533 = l;
        double r2663534 = Om;
        double r2663535 = r2663533 / r2663534;
        double r2663536 = r2663529 * r2663533;
        double r2663537 = -r2663531;
        double r2663538 = U_;
        double r2663539 = r2663526 - r2663538;
        double r2663540 = r2663537 * r2663539;
        double r2663541 = r2663540 * r2663535;
        double r2663542 = r2663536 - r2663541;
        double r2663543 = r2663535 * r2663542;
        double r2663544 = r2663532 - r2663543;
        double r2663545 = r2663531 * r2663544;
        double r2663546 = r2663530 * r2663545;
        double r2663547 = sqrt(r2663546);
        double r2663548 = sqrt(r2663547);
        double r2663549 = r2663548 * r2663548;
        double r2663550 = sqrt(r2663530);
        double r2663551 = sqrt(r2663545);
        double r2663552 = r2663550 * r2663551;
        double r2663553 = r2663528 ? r2663549 : r2663552;
        return r2663553;
}

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 < -2.7050839287957e-310

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

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

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

    if -2.7050839287957e-310 < U

    1. Initial program 33.6

      \[\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{\left(U \cdot 2\right) \cdot \left(n \cdot \left(t - \frac{\ell}{Om} \cdot \left(2 \cdot \ell - \left(\left(-n\right) \cdot \left(U - U*\right)\right) \cdot \frac{\ell}{Om}\right)\right)\right)}}\]
    3. Using strategy rm
    4. Applied sqrt-prod25.4

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

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

Reproduce

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