Average Error: 33.1 → 24.9
Time: 37.4s
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.889660218949 \cdot 10^{-311}:\\ \;\;\;\;\sqrt{2 \cdot \left(\left(n \cdot U\right) \cdot \left(t - \frac{\ell}{Om} \cdot \left(2 \cdot \ell - \left(n \cdot \frac{\ell}{Om}\right) \cdot \left(U* - U\right)\right)\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\left(\sqrt{t \cdot n - \left(2 \cdot \ell - \left(U* - U\right) \cdot \frac{\ell \cdot n}{Om}\right) \cdot \frac{\ell \cdot n}{Om}} \cdot \sqrt{U}\right) \cdot \sqrt{2}\\ \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.889660218949 \cdot 10^{-311}:\\
\;\;\;\;\sqrt{2 \cdot \left(\left(n \cdot U\right) \cdot \left(t - \frac{\ell}{Om} \cdot \left(2 \cdot \ell - \left(n \cdot \frac{\ell}{Om}\right) \cdot \left(U* - U\right)\right)\right)\right)}\\

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

\end{array}
double f(double n, double U, double t, double l, double Om, double U_) {
        double r3440589 = 2.0;
        double r3440590 = n;
        double r3440591 = r3440589 * r3440590;
        double r3440592 = U;
        double r3440593 = r3440591 * r3440592;
        double r3440594 = t;
        double r3440595 = l;
        double r3440596 = r3440595 * r3440595;
        double r3440597 = Om;
        double r3440598 = r3440596 / r3440597;
        double r3440599 = r3440589 * r3440598;
        double r3440600 = r3440594 - r3440599;
        double r3440601 = r3440595 / r3440597;
        double r3440602 = pow(r3440601, r3440589);
        double r3440603 = r3440590 * r3440602;
        double r3440604 = U_;
        double r3440605 = r3440592 - r3440604;
        double r3440606 = r3440603 * r3440605;
        double r3440607 = r3440600 - r3440606;
        double r3440608 = r3440593 * r3440607;
        double r3440609 = sqrt(r3440608);
        return r3440609;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r3440610 = U;
        double r3440611 = -5.889660218949e-311;
        bool r3440612 = r3440610 <= r3440611;
        double r3440613 = 2.0;
        double r3440614 = n;
        double r3440615 = r3440614 * r3440610;
        double r3440616 = t;
        double r3440617 = l;
        double r3440618 = Om;
        double r3440619 = r3440617 / r3440618;
        double r3440620 = r3440613 * r3440617;
        double r3440621 = r3440614 * r3440619;
        double r3440622 = U_;
        double r3440623 = r3440622 - r3440610;
        double r3440624 = r3440621 * r3440623;
        double r3440625 = r3440620 - r3440624;
        double r3440626 = r3440619 * r3440625;
        double r3440627 = r3440616 - r3440626;
        double r3440628 = r3440615 * r3440627;
        double r3440629 = r3440613 * r3440628;
        double r3440630 = sqrt(r3440629);
        double r3440631 = r3440616 * r3440614;
        double r3440632 = r3440617 * r3440614;
        double r3440633 = r3440632 / r3440618;
        double r3440634 = r3440623 * r3440633;
        double r3440635 = r3440620 - r3440634;
        double r3440636 = r3440635 * r3440633;
        double r3440637 = r3440631 - r3440636;
        double r3440638 = sqrt(r3440637);
        double r3440639 = sqrt(r3440610);
        double r3440640 = r3440638 * r3440639;
        double r3440641 = sqrt(r3440613);
        double r3440642 = r3440640 * r3440641;
        double r3440643 = r3440612 ? r3440630 : r3440642;
        return r3440643;
}

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.889660218949e-311

    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. Simplified31.2

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

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

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

    if -5.889660218949e-311 < 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. Simplified30.9

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

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

      \[\leadsto \sqrt{2 \cdot \left(U \cdot \left(n \cdot \color{blue}{\left(t + \left(-\frac{\ell}{Om} \cdot \left(2 \cdot \ell - \left(\frac{\ell}{Om} \cdot n\right) \cdot \left(U* - U\right)\right)\right)\right)}\right)\right)}\]
    7. Applied distribute-lft-in29.0

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

      \[\leadsto \sqrt{2 \cdot \left(U \cdot \left(n \cdot t + \color{blue}{\left(\ell \cdot 2 - \left(\frac{\ell}{Om} \cdot n\right) \cdot \left(U* - U\right)\right) \cdot \left(-\frac{\ell}{Om} \cdot n\right)}\right)\right)}\]
    9. Using strategy rm
    10. Applied sqrt-prod27.1

      \[\leadsto \color{blue}{\sqrt{2} \cdot \sqrt{U \cdot \left(n \cdot t + \left(\ell \cdot 2 - \left(\frac{\ell}{Om} \cdot n\right) \cdot \left(U* - U\right)\right) \cdot \left(-\frac{\ell}{Om} \cdot n\right)\right)}}\]
    11. Using strategy rm
    12. Applied sqrt-prod19.7

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

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

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

Reproduce

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