Average Error: 32.9 → 26.8
Time: 1.1m
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.0522215767467281 \cdot 10^{-274}:\\ \;\;\;\;\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{\left(t - \left(\left(U - U*\right) \cdot \left(\frac{\ell}{Om} \cdot \left(\frac{\ell}{Om} \cdot n\right)\right) + \left(2 \cdot \frac{\ell}{Om}\right) \cdot \ell\right)\right) \cdot n} \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.0522215767467281 \cdot 10^{-274}:\\
\;\;\;\;\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{\left(t - \left(\left(U - U*\right) \cdot \left(\frac{\ell}{Om} \cdot \left(\frac{\ell}{Om} \cdot n\right)\right) + \left(2 \cdot \frac{\ell}{Om}\right) \cdot \ell\right)\right) \cdot n} \cdot \sqrt{2 \cdot U}\\

\end{array}
double f(double n, double U, double t, double l, double Om, double U_) {
        double r1312330 = 2.0;
        double r1312331 = n;
        double r1312332 = r1312330 * r1312331;
        double r1312333 = U;
        double r1312334 = r1312332 * r1312333;
        double r1312335 = t;
        double r1312336 = l;
        double r1312337 = r1312336 * r1312336;
        double r1312338 = Om;
        double r1312339 = r1312337 / r1312338;
        double r1312340 = r1312330 * r1312339;
        double r1312341 = r1312335 - r1312340;
        double r1312342 = r1312336 / r1312338;
        double r1312343 = pow(r1312342, r1312330);
        double r1312344 = r1312331 * r1312343;
        double r1312345 = U_;
        double r1312346 = r1312333 - r1312345;
        double r1312347 = r1312344 * r1312346;
        double r1312348 = r1312341 - r1312347;
        double r1312349 = r1312334 * r1312348;
        double r1312350 = sqrt(r1312349);
        return r1312350;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r1312351 = U;
        double r1312352 = 1.0522215767467281e-274;
        bool r1312353 = r1312351 <= r1312352;
        double r1312354 = 2.0;
        double r1312355 = r1312354 * r1312351;
        double r1312356 = n;
        double r1312357 = t;
        double r1312358 = l;
        double r1312359 = Om;
        double r1312360 = r1312358 / r1312359;
        double r1312361 = r1312354 * r1312360;
        double r1312362 = r1312361 * r1312358;
        double r1312363 = r1312360 * r1312356;
        double r1312364 = U_;
        double r1312365 = r1312351 - r1312364;
        double r1312366 = r1312360 * r1312365;
        double r1312367 = r1312363 * r1312366;
        double r1312368 = r1312362 + r1312367;
        double r1312369 = r1312357 - r1312368;
        double r1312370 = r1312356 * r1312369;
        double r1312371 = r1312355 * r1312370;
        double r1312372 = sqrt(r1312371);
        double r1312373 = r1312360 * r1312363;
        double r1312374 = r1312365 * r1312373;
        double r1312375 = r1312374 + r1312362;
        double r1312376 = r1312357 - r1312375;
        double r1312377 = r1312376 * r1312356;
        double r1312378 = sqrt(r1312377);
        double r1312379 = sqrt(r1312355);
        double r1312380 = r1312378 * r1312379;
        double r1312381 = r1312353 ? r1312372 : r1312380;
        return r1312381;
}

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.0522215767467281e-274

    1. Initial program 34.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. Simplified30.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 associate-*l*30.6

      \[\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.0522215767467281e-274 < U

    1. Initial program 31.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. Simplified28.6

      \[\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-prod22.3

      \[\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 simplification26.8

    \[\leadsto \begin{array}{l} \mathbf{if}\;U \le 1.0522215767467281 \cdot 10^{-274}:\\ \;\;\;\;\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{\left(t - \left(\left(U - U*\right) \cdot \left(\frac{\ell}{Om} \cdot \left(\frac{\ell}{Om} \cdot n\right)\right) + \left(2 \cdot \frac{\ell}{Om}\right) \cdot \ell\right)\right) \cdot n} \cdot \sqrt{2 \cdot U}\\ \end{array}\]

Reproduce

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