\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 -4.44068621170469637 \cdot 10^{100}:\\
\;\;\;\;\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{elif}\;U \le 2.37394053447986514 \cdot 10^{-64}:\\
\;\;\;\;\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{else}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \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({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(\sqrt[3]{U - U*} \cdot \sqrt[3]{U - U*}\right)\right) \cdot \sqrt[3]{U - U*}\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r171367 = 2.0;
double r171368 = n;
double r171369 = r171367 * r171368;
double r171370 = U;
double r171371 = r171369 * r171370;
double r171372 = t;
double r171373 = l;
double r171374 = r171373 * r171373;
double r171375 = Om;
double r171376 = r171374 / r171375;
double r171377 = r171367 * r171376;
double r171378 = r171372 - r171377;
double r171379 = r171373 / r171375;
double r171380 = pow(r171379, r171367);
double r171381 = r171368 * r171380;
double r171382 = U_;
double r171383 = r171370 - r171382;
double r171384 = r171381 * r171383;
double r171385 = r171378 - r171384;
double r171386 = r171371 * r171385;
double r171387 = sqrt(r171386);
return r171387;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r171388 = U;
double r171389 = -4.440686211704696e+100;
bool r171390 = r171388 <= r171389;
double r171391 = 2.0;
double r171392 = n;
double r171393 = r171391 * r171392;
double r171394 = t;
double r171395 = l;
double r171396 = Om;
double r171397 = r171396 / r171395;
double r171398 = r171395 / r171397;
double r171399 = r171391 * r171398;
double r171400 = U_;
double r171401 = r171388 - r171400;
double r171402 = -r171401;
double r171403 = r171395 / r171396;
double r171404 = 2.0;
double r171405 = r171391 / r171404;
double r171406 = r171404 * r171405;
double r171407 = pow(r171403, r171406);
double r171408 = r171392 * r171407;
double r171409 = r171402 * r171408;
double r171410 = r171399 - r171409;
double r171411 = r171394 - r171410;
double r171412 = r171393 * r171411;
double r171413 = r171412 * r171388;
double r171414 = 1.0;
double r171415 = pow(r171413, r171414);
double r171416 = sqrt(r171415);
double r171417 = 2.373940534479865e-64;
bool r171418 = r171388 <= r171417;
double r171419 = r171394 - r171399;
double r171420 = pow(r171403, r171405);
double r171421 = r171392 * r171420;
double r171422 = r171420 * r171401;
double r171423 = r171421 * r171422;
double r171424 = r171419 - r171423;
double r171425 = r171388 * r171424;
double r171426 = r171393 * r171425;
double r171427 = sqrt(r171426);
double r171428 = r171393 * r171388;
double r171429 = cbrt(r171401);
double r171430 = r171429 * r171429;
double r171431 = r171420 * r171430;
double r171432 = r171431 * r171429;
double r171433 = r171421 * r171432;
double r171434 = r171419 - r171433;
double r171435 = r171428 * r171434;
double r171436 = sqrt(r171435);
double r171437 = r171418 ? r171427 : r171436;
double r171438 = r171390 ? r171416 : r171437;
return r171438;
}



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 U < -4.440686211704696e+100Initial program 31.0
rmApplied associate-/l*28.5
rmApplied sqr-pow28.5
Applied associate-*r*28.4
rmApplied pow128.4
Applied pow128.4
Applied pow128.4
Applied pow128.4
Applied pow-prod-down28.4
Applied pow-prod-down28.4
Applied pow-prod-down28.4
Simplified29.3
if -4.440686211704696e+100 < U < 2.373940534479865e-64Initial program 37.4
rmApplied associate-/l*34.8
rmApplied sqr-pow34.8
Applied associate-*r*33.8
rmApplied associate-*l*33.3
rmApplied associate-*l*30.0
if 2.373940534479865e-64 < U Initial program 29.7
rmApplied associate-/l*26.8
rmApplied sqr-pow26.8
Applied associate-*r*26.0
rmApplied associate-*l*26.2
rmApplied add-cube-cbrt26.3
Applied associate-*r*26.3
Final simplification29.0
herbie shell --seed 2020003 +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*))))))