\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 4.84783032232548084 \cdot 10^{-283}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(\left(n \cdot {\left(\sqrt[3]{\frac{\ell}{Om}} \cdot \sqrt[3]{\frac{\ell}{Om}}\right)}^{2}\right) \cdot {\left(\sqrt[3]{\frac{\ell}{Om}}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{2 \cdot n} \cdot \sqrt{U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r225532 = 2.0;
double r225533 = n;
double r225534 = r225532 * r225533;
double r225535 = U;
double r225536 = r225534 * r225535;
double r225537 = t;
double r225538 = l;
double r225539 = r225538 * r225538;
double r225540 = Om;
double r225541 = r225539 / r225540;
double r225542 = r225532 * r225541;
double r225543 = r225537 - r225542;
double r225544 = r225538 / r225540;
double r225545 = pow(r225544, r225532);
double r225546 = r225533 * r225545;
double r225547 = U_;
double r225548 = r225535 - r225547;
double r225549 = r225546 * r225548;
double r225550 = r225543 - r225549;
double r225551 = r225536 * r225550;
double r225552 = sqrt(r225551);
return r225552;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r225553 = n;
double r225554 = 4.847830322325481e-283;
bool r225555 = r225553 <= r225554;
double r225556 = 2.0;
double r225557 = r225556 * r225553;
double r225558 = U;
double r225559 = r225557 * r225558;
double r225560 = t;
double r225561 = l;
double r225562 = Om;
double r225563 = r225561 / r225562;
double r225564 = r225561 * r225563;
double r225565 = r225556 * r225564;
double r225566 = r225560 - r225565;
double r225567 = cbrt(r225563);
double r225568 = r225567 * r225567;
double r225569 = pow(r225568, r225556);
double r225570 = r225553 * r225569;
double r225571 = pow(r225567, r225556);
double r225572 = r225570 * r225571;
double r225573 = U_;
double r225574 = r225558 - r225573;
double r225575 = r225572 * r225574;
double r225576 = r225566 - r225575;
double r225577 = r225559 * r225576;
double r225578 = sqrt(r225577);
double r225579 = sqrt(r225557);
double r225580 = pow(r225563, r225556);
double r225581 = r225553 * r225580;
double r225582 = r225581 * r225574;
double r225583 = r225566 - r225582;
double r225584 = r225558 * r225583;
double r225585 = sqrt(r225584);
double r225586 = r225579 * r225585;
double r225587 = r225555 ? r225578 : r225586;
return r225587;
}



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 < 4.847830322325481e-283Initial program 34.5
rmApplied *-un-lft-identity34.5
Applied times-frac32.0
Simplified32.0
rmApplied add-cube-cbrt32.1
Applied unpow-prod-down32.1
Applied associate-*r*31.3
if 4.847830322325481e-283 < n Initial program 33.7
rmApplied *-un-lft-identity33.7
Applied times-frac30.8
Simplified30.8
rmApplied associate-*l*31.2
rmApplied sqrt-prod24.3
Final simplification28.0
herbie shell --seed 2020065
(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*))))))