\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}\;n \le -1.79177120952340284 \cdot 10^{-135}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(U - U*\right)\right)\right)\right)}\\
\mathbf{elif}\;n \le 1.53701075221824925 \cdot 10^{-307}:\\
\;\;\;\;\sqrt{{\left(\left(\left(2 \cdot n\right) \cdot \left(t - \left(2 \cdot \frac{\ell}{\frac{Om}{\ell}} - \left(-\left(U - U*\right)\right) \cdot \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}\right)\right)\right)\right) \cdot U\right)}^{1}}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{2 \cdot n} \cdot \sqrt{U \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r162365 = 2.0;
double r162366 = n;
double r162367 = r162365 * r162366;
double r162368 = U;
double r162369 = r162367 * r162368;
double r162370 = t;
double r162371 = l;
double r162372 = r162371 * r162371;
double r162373 = Om;
double r162374 = r162372 / r162373;
double r162375 = r162365 * r162374;
double r162376 = r162370 - r162375;
double r162377 = r162371 / r162373;
double r162378 = pow(r162377, r162365);
double r162379 = r162366 * r162378;
double r162380 = U_;
double r162381 = r162368 - r162380;
double r162382 = r162379 * r162381;
double r162383 = r162376 - r162382;
double r162384 = r162369 * r162383;
double r162385 = sqrt(r162384);
return r162385;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r162386 = n;
double r162387 = -1.7917712095234028e-135;
bool r162388 = r162386 <= r162387;
double r162389 = 2.0;
double r162390 = r162389 * r162386;
double r162391 = U;
double r162392 = t;
double r162393 = l;
double r162394 = Om;
double r162395 = r162394 / r162393;
double r162396 = r162393 / r162395;
double r162397 = r162389 * r162396;
double r162398 = r162392 - r162397;
double r162399 = r162393 / r162394;
double r162400 = 2.0;
double r162401 = r162389 / r162400;
double r162402 = pow(r162399, r162401);
double r162403 = r162386 * r162402;
double r162404 = U_;
double r162405 = r162391 - r162404;
double r162406 = r162402 * r162405;
double r162407 = r162403 * r162406;
double r162408 = r162398 - r162407;
double r162409 = r162391 * r162408;
double r162410 = r162390 * r162409;
double r162411 = sqrt(r162410);
double r162412 = 1.5370107522182492e-307;
bool r162413 = r162386 <= r162412;
double r162414 = -r162405;
double r162415 = r162400 * r162401;
double r162416 = pow(r162399, r162415);
double r162417 = r162386 * r162416;
double r162418 = r162414 * r162417;
double r162419 = r162397 - r162418;
double r162420 = r162392 - r162419;
double r162421 = r162390 * r162420;
double r162422 = r162421 * r162391;
double r162423 = 1.0;
double r162424 = pow(r162422, r162423);
double r162425 = sqrt(r162424);
double r162426 = sqrt(r162390);
double r162427 = r162403 * r162402;
double r162428 = r162427 * r162405;
double r162429 = r162398 - r162428;
double r162430 = r162391 * r162429;
double r162431 = sqrt(r162430);
double r162432 = r162426 * r162431;
double r162433 = r162413 ? r162425 : r162432;
double r162434 = r162388 ? r162411 : r162433;
return r162434;
}



Bits error versus n



Bits error versus U



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus U*
Results
if n < -1.7917712095234028e-135Initial program 33.0
rmApplied associate-*l*33.3
rmApplied associate-/l*30.9
rmApplied sqr-pow30.9
Applied associate-*r*29.7
rmApplied associate-*l*28.7
if -1.7917712095234028e-135 < n < 1.5370107522182492e-307Initial program 38.3
rmApplied associate-*l*37.4
rmApplied associate-/l*35.0
rmApplied sqr-pow35.0
Applied associate-*r*33.6
rmApplied pow133.6
Applied pow133.6
Applied pow-prod-down33.6
Applied pow133.6
Applied pow133.6
Applied pow-prod-down33.6
Applied pow-prod-down33.6
Simplified31.7
if 1.5370107522182492e-307 < n Initial program 35.0
rmApplied associate-*l*35.3
rmApplied associate-/l*32.5
rmApplied sqr-pow32.5
Applied associate-*r*31.5
rmApplied sqrt-prod23.8
Final simplification26.8
herbie shell --seed 2020018 +o rules:numerics
(FPCore (n U t l Om U*)
:name "Toniolo and Linder, Equation (13)"
:precision binary64
(sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))))