Average Error: 33.2 → 26.0
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 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 r2847527 = 2.0;
        double r2847528 = n;
        double r2847529 = r2847527 * r2847528;
        double r2847530 = U;
        double r2847531 = r2847529 * r2847530;
        double r2847532 = t;
        double r2847533 = l;
        double r2847534 = r2847533 * r2847533;
        double r2847535 = Om;
        double r2847536 = r2847534 / r2847535;
        double r2847537 = r2847527 * r2847536;
        double r2847538 = r2847532 - r2847537;
        double r2847539 = r2847533 / r2847535;
        double r2847540 = pow(r2847539, r2847527);
        double r2847541 = r2847528 * r2847540;
        double r2847542 = U_;
        double r2847543 = r2847530 - r2847542;
        double r2847544 = r2847541 * r2847543;
        double r2847545 = r2847538 - r2847544;
        double r2847546 = r2847531 * r2847545;
        double r2847547 = sqrt(r2847546);
        return r2847547;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r2847548 = U;
        double r2847549 = 5.03684981755012e-299;
        bool r2847550 = r2847548 <= r2847549;
        double r2847551 = n;
        double r2847552 = r2847551 * r2847548;
        double r2847553 = 2.0;
        double r2847554 = t;
        double r2847555 = l;
        double r2847556 = Om;
        double r2847557 = r2847555 / r2847556;
        double r2847558 = r2847555 * r2847553;
        double r2847559 = r2847556 / r2847555;
        double r2847560 = r2847551 / r2847559;
        double r2847561 = U_;
        double r2847562 = r2847561 - r2847548;
        double r2847563 = r2847560 * r2847562;
        double r2847564 = r2847558 - r2847563;
        double r2847565 = r2847557 * r2847564;
        double r2847566 = r2847554 - r2847565;
        double r2847567 = r2847553 * r2847566;
        double r2847568 = r2847552 * r2847567;
        double r2847569 = sqrt(r2847568);
        double r2847570 = sqrt(r2847569);
        double r2847571 = r2847570 * r2847570;
        double r2847572 = sqrt(r2847548);
        double r2847573 = r2847551 * r2847567;
        double r2847574 = sqrt(r2847573);
        double r2847575 = r2847572 * r2847574;
        double r2847576 = r2847550 ? r2847571 : r2847575;
        return r2847576;
}

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