\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.53242417465238 \cdot 10^{-11}:\\
\;\;\;\;\sqrt{2 \cdot \left(\left(-\left(\left(n \cdot \frac{\ell}{Om}\right) \cdot \left(n \cdot \frac{\ell}{Om}\right)\right) \cdot \left(U - U*\right)\right) \cdot U + U \cdot \left((\left(\frac{\ell}{\frac{Om}{\ell}}\right) \cdot -2 + t)_* \cdot n\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(\left(n \cdot U\right) \cdot \left((\left(\frac{\ell}{\frac{Om}{\ell}}\right) \cdot -2 + t)_* - \frac{\frac{n}{\frac{Om}{\ell}} \cdot \left(U - U*\right)}{\frac{Om}{\ell}}\right)\right) \cdot 2}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r14730395 = 2.0;
double r14730396 = n;
double r14730397 = r14730395 * r14730396;
double r14730398 = U;
double r14730399 = r14730397 * r14730398;
double r14730400 = t;
double r14730401 = l;
double r14730402 = r14730401 * r14730401;
double r14730403 = Om;
double r14730404 = r14730402 / r14730403;
double r14730405 = r14730395 * r14730404;
double r14730406 = r14730400 - r14730405;
double r14730407 = r14730401 / r14730403;
double r14730408 = pow(r14730407, r14730395);
double r14730409 = r14730396 * r14730408;
double r14730410 = U_;
double r14730411 = r14730398 - r14730410;
double r14730412 = r14730409 * r14730411;
double r14730413 = r14730406 - r14730412;
double r14730414 = r14730399 * r14730413;
double r14730415 = sqrt(r14730414);
return r14730415;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r14730416 = U_;
double r14730417 = 2.53242417465238e-11;
bool r14730418 = r14730416 <= r14730417;
double r14730419 = 2.0;
double r14730420 = n;
double r14730421 = l;
double r14730422 = Om;
double r14730423 = r14730421 / r14730422;
double r14730424 = r14730420 * r14730423;
double r14730425 = r14730424 * r14730424;
double r14730426 = U;
double r14730427 = r14730426 - r14730416;
double r14730428 = r14730425 * r14730427;
double r14730429 = -r14730428;
double r14730430 = r14730429 * r14730426;
double r14730431 = r14730422 / r14730421;
double r14730432 = r14730421 / r14730431;
double r14730433 = -2.0;
double r14730434 = t;
double r14730435 = fma(r14730432, r14730433, r14730434);
double r14730436 = r14730435 * r14730420;
double r14730437 = r14730426 * r14730436;
double r14730438 = r14730430 + r14730437;
double r14730439 = r14730419 * r14730438;
double r14730440 = sqrt(r14730439);
double r14730441 = r14730420 * r14730426;
double r14730442 = r14730420 / r14730431;
double r14730443 = r14730442 * r14730427;
double r14730444 = r14730443 / r14730431;
double r14730445 = r14730435 - r14730444;
double r14730446 = r14730441 * r14730445;
double r14730447 = r14730446 * r14730419;
double r14730448 = sqrt(r14730447);
double r14730449 = r14730418 ? r14730440 : r14730448;
return r14730449;
}



Bits error versus n



Bits error versus U



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus U*
if U* < 2.53242417465238e-11Initial program 32.4
Simplified33.7
rmApplied associate-/l*31.0
rmApplied associate-*r*30.0
rmApplied sub-neg30.0
Applied distribute-rgt-in30.0
Applied distribute-rgt-in30.0
Simplified28.9
if 2.53242417465238e-11 < U* Initial program 34.2
Simplified35.6
rmApplied associate-/l*33.6
rmApplied associate-*r*31.9
rmApplied associate-*r*32.1
Simplified31.0
Final simplification29.4
herbie shell --seed 2019119 +o rules:numerics
(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*))))))