\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}\;t \le 1.1508118115456631 \cdot 10^{-280}:\\
\;\;\;\;\left(\sqrt[3]{\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(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(U - U*\right)\right)\right)}} \cdot \sqrt[3]{\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(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(U - U*\right)\right)\right)}}\right) \cdot \sqrt[3]{\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(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(U - U*\right)\right)\right)}}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{\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)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r170535 = 2.0;
double r170536 = n;
double r170537 = r170535 * r170536;
double r170538 = U;
double r170539 = r170537 * r170538;
double r170540 = t;
double r170541 = l;
double r170542 = r170541 * r170541;
double r170543 = Om;
double r170544 = r170542 / r170543;
double r170545 = r170535 * r170544;
double r170546 = r170540 - r170545;
double r170547 = r170541 / r170543;
double r170548 = pow(r170547, r170535);
double r170549 = r170536 * r170548;
double r170550 = U_;
double r170551 = r170538 - r170550;
double r170552 = r170549 * r170551;
double r170553 = r170546 - r170552;
double r170554 = r170539 * r170553;
double r170555 = sqrt(r170554);
return r170555;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r170556 = t;
double r170557 = 1.150811811545663e-280;
bool r170558 = r170556 <= r170557;
double r170559 = 2.0;
double r170560 = n;
double r170561 = r170559 * r170560;
double r170562 = U;
double r170563 = r170561 * r170562;
double r170564 = l;
double r170565 = Om;
double r170566 = r170565 / r170564;
double r170567 = r170564 / r170566;
double r170568 = r170559 * r170567;
double r170569 = r170556 - r170568;
double r170570 = r170564 / r170565;
double r170571 = 2.0;
double r170572 = r170559 / r170571;
double r170573 = pow(r170570, r170572);
double r170574 = r170560 * r170573;
double r170575 = U_;
double r170576 = r170562 - r170575;
double r170577 = r170573 * r170576;
double r170578 = r170574 * r170577;
double r170579 = r170569 - r170578;
double r170580 = r170563 * r170579;
double r170581 = sqrt(r170580);
double r170582 = cbrt(r170581);
double r170583 = r170582 * r170582;
double r170584 = r170583 * r170582;
double r170585 = sqrt(r170563);
double r170586 = sqrt(r170579);
double r170587 = r170585 * r170586;
double r170588 = r170558 ? r170584 : r170587;
return r170588;
}



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 t < 1.150811811545663e-280Initial program 34.9
rmApplied associate-/l*32.1
rmApplied sqr-pow32.1
Applied associate-*r*31.2
rmApplied associate-*l*31.0
rmApplied add-cube-cbrt31.5
if 1.150811811545663e-280 < t Initial program 34.1
rmApplied associate-/l*31.2
rmApplied sqr-pow31.2
Applied associate-*r*30.2
rmApplied associate-*l*30.1
rmApplied sqrt-prod28.7
Final simplification30.2
herbie shell --seed 2020057 +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*))))))