\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.4828608859501 \cdot 10^{-310}:\\
\;\;\;\;\sqrt{\sqrt{\left(2 \cdot U\right) \cdot \left(n \cdot \mathsf{fma}\left(U* - U, \frac{\left(\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}\right) \cdot \frac{n}{\frac{Om}{\sqrt[3]{\ell}}}}{\frac{Om}{\ell}}, \mathsf{fma}\left(\frac{\ell}{\frac{Om}{\ell}}, -2, t\right)\right)\right)}} \cdot \sqrt{\sqrt{\left(n \cdot \mathsf{fma}\left(U* - U, \frac{\frac{n}{\frac{Om}{\ell}}}{\frac{Om}{\ell}}, \mathsf{fma}\left(\frac{\ell}{\frac{Om}{\ell}}, -2, t\right)\right)\right) \cdot \left(2 \cdot U\right)}}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{n \cdot \mathsf{fma}\left(U* - U, \frac{\frac{n}{\frac{Om}{\ell}}}{\frac{Om}{\ell}}, \mathsf{fma}\left(\frac{\ell}{\frac{Om}{\ell}}, -2, t\right)\right)} \cdot \sqrt{2 \cdot U}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r1925474 = 2.0;
double r1925475 = n;
double r1925476 = r1925474 * r1925475;
double r1925477 = U;
double r1925478 = r1925476 * r1925477;
double r1925479 = t;
double r1925480 = l;
double r1925481 = r1925480 * r1925480;
double r1925482 = Om;
double r1925483 = r1925481 / r1925482;
double r1925484 = r1925474 * r1925483;
double r1925485 = r1925479 - r1925484;
double r1925486 = r1925480 / r1925482;
double r1925487 = pow(r1925486, r1925474);
double r1925488 = r1925475 * r1925487;
double r1925489 = U_;
double r1925490 = r1925477 - r1925489;
double r1925491 = r1925488 * r1925490;
double r1925492 = r1925485 - r1925491;
double r1925493 = r1925478 * r1925492;
double r1925494 = sqrt(r1925493);
return r1925494;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r1925495 = U;
double r1925496 = 1.4828608859501e-310;
bool r1925497 = r1925495 <= r1925496;
double r1925498 = 2.0;
double r1925499 = r1925498 * r1925495;
double r1925500 = n;
double r1925501 = U_;
double r1925502 = r1925501 - r1925495;
double r1925503 = l;
double r1925504 = cbrt(r1925503);
double r1925505 = r1925504 * r1925504;
double r1925506 = Om;
double r1925507 = r1925506 / r1925504;
double r1925508 = r1925500 / r1925507;
double r1925509 = r1925505 * r1925508;
double r1925510 = r1925506 / r1925503;
double r1925511 = r1925509 / r1925510;
double r1925512 = r1925503 / r1925510;
double r1925513 = -2.0;
double r1925514 = t;
double r1925515 = fma(r1925512, r1925513, r1925514);
double r1925516 = fma(r1925502, r1925511, r1925515);
double r1925517 = r1925500 * r1925516;
double r1925518 = r1925499 * r1925517;
double r1925519 = sqrt(r1925518);
double r1925520 = sqrt(r1925519);
double r1925521 = r1925500 / r1925510;
double r1925522 = r1925521 / r1925510;
double r1925523 = fma(r1925502, r1925522, r1925515);
double r1925524 = r1925500 * r1925523;
double r1925525 = r1925524 * r1925499;
double r1925526 = sqrt(r1925525);
double r1925527 = sqrt(r1925526);
double r1925528 = r1925520 * r1925527;
double r1925529 = sqrt(r1925524);
double r1925530 = sqrt(r1925499);
double r1925531 = r1925529 * r1925530;
double r1925532 = r1925497 ? r1925528 : r1925531;
return r1925532;
}



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 < 1.4828608859501e-310Initial program 32.8
Simplified29.2
rmApplied add-sqr-sqrt29.4
rmApplied add-cube-cbrt29.4
Applied *-un-lft-identity29.4
Applied times-frac29.4
Applied *-un-lft-identity29.4
Applied times-frac29.5
Simplified29.5
if 1.4828608859501e-310 < U Initial program 32.7
Simplified29.0
rmApplied sqrt-prod21.8
Final simplification25.7
herbie shell --seed 2019152 +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*))))))