\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 -7.529896307330418723638334607719281802794 \cdot 10^{-259}:\\
\;\;\;\;\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}\;t \le 6.290205096341293850941454167523250774551 \cdot 10^{63}:\\
\;\;\;\;\sqrt{\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{\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)}^{2}\right) \cdot \left(U - U*\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r222552 = 2.0;
double r222553 = n;
double r222554 = r222552 * r222553;
double r222555 = U;
double r222556 = r222554 * r222555;
double r222557 = t;
double r222558 = l;
double r222559 = r222558 * r222558;
double r222560 = Om;
double r222561 = r222559 / r222560;
double r222562 = r222552 * r222561;
double r222563 = r222557 - r222562;
double r222564 = r222558 / r222560;
double r222565 = pow(r222564, r222552);
double r222566 = r222553 * r222565;
double r222567 = U_;
double r222568 = r222555 - r222567;
double r222569 = r222566 * r222568;
double r222570 = r222563 - r222569;
double r222571 = r222556 * r222570;
double r222572 = sqrt(r222571);
return r222572;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r222573 = t;
double r222574 = -7.529896307330419e-259;
bool r222575 = r222573 <= r222574;
double r222576 = 2.0;
double r222577 = n;
double r222578 = r222576 * r222577;
double r222579 = U;
double r222580 = l;
double r222581 = Om;
double r222582 = r222581 / r222580;
double r222583 = r222580 / r222582;
double r222584 = r222576 * r222583;
double r222585 = r222573 - r222584;
double r222586 = r222580 / r222581;
double r222587 = 2.0;
double r222588 = r222576 / r222587;
double r222589 = pow(r222586, r222588);
double r222590 = r222577 * r222589;
double r222591 = U_;
double r222592 = r222579 - r222591;
double r222593 = r222589 * r222592;
double r222594 = r222590 * r222593;
double r222595 = r222585 - r222594;
double r222596 = r222579 * r222595;
double r222597 = r222578 * r222596;
double r222598 = sqrt(r222597);
double r222599 = 6.290205096341294e+63;
bool r222600 = r222573 <= r222599;
double r222601 = r222578 * r222579;
double r222602 = r222601 * r222595;
double r222603 = sqrt(r222602);
double r222604 = sqrt(r222603);
double r222605 = r222604 * r222604;
double r222606 = sqrt(r222601);
double r222607 = pow(r222586, r222576);
double r222608 = r222577 * r222607;
double r222609 = r222608 * r222592;
double r222610 = r222585 - r222609;
double r222611 = sqrt(r222610);
double r222612 = r222606 * r222611;
double r222613 = r222600 ? r222605 : r222612;
double r222614 = r222575 ? r222598 : r222613;
return r222614;
}



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 < -7.529896307330419e-259Initial program 33.8
rmApplied associate-/l*31.2
rmApplied sqr-pow31.2
Applied associate-*r*30.4
rmApplied associate-*l*30.3
rmApplied associate-*l*30.1
if -7.529896307330419e-259 < t < 6.290205096341294e+63Initial program 35.1
rmApplied associate-/l*31.8
rmApplied sqr-pow31.8
Applied associate-*r*30.6
rmApplied associate-*l*30.2
rmApplied add-sqr-sqrt30.4
if 6.290205096341294e+63 < t Initial program 34.4
rmApplied associate-/l*31.9
rmApplied sqrt-prod24.7
Final simplification29.1
herbie shell --seed 2019346
(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*))))))