\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.133576989157685693038301810770112153763 \cdot 10^{195} \lor t \le 1.42033782314705655033673994958043351744 \cdot 10^{-5}:\\
\;\;\;\;\sqrt{{\left(\left(\left(2 \cdot n\right) \cdot \left(t - \left(2 \cdot \frac{\ell}{\frac{Om}{\ell}} - \left(-n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)\right)\right) \cdot U\right)}^{1}}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(U - U*\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r195704 = 2.0;
double r195705 = n;
double r195706 = r195704 * r195705;
double r195707 = U;
double r195708 = r195706 * r195707;
double r195709 = t;
double r195710 = l;
double r195711 = r195710 * r195710;
double r195712 = Om;
double r195713 = r195711 / r195712;
double r195714 = r195704 * r195713;
double r195715 = r195709 - r195714;
double r195716 = r195710 / r195712;
double r195717 = pow(r195716, r195704);
double r195718 = r195705 * r195717;
double r195719 = U_;
double r195720 = r195707 - r195719;
double r195721 = r195718 * r195720;
double r195722 = r195715 - r195721;
double r195723 = r195708 * r195722;
double r195724 = sqrt(r195723);
return r195724;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r195725 = t;
double r195726 = -1.1335769891576857e+195;
bool r195727 = r195725 <= r195726;
double r195728 = 1.4203378231470566e-05;
bool r195729 = r195725 <= r195728;
bool r195730 = r195727 || r195729;
double r195731 = 2.0;
double r195732 = n;
double r195733 = r195731 * r195732;
double r195734 = l;
double r195735 = Om;
double r195736 = r195735 / r195734;
double r195737 = r195734 / r195736;
double r195738 = r195731 * r195737;
double r195739 = r195734 / r195735;
double r195740 = 2.0;
double r195741 = r195731 / r195740;
double r195742 = r195740 * r195741;
double r195743 = pow(r195739, r195742);
double r195744 = r195732 * r195743;
double r195745 = -r195744;
double r195746 = U;
double r195747 = U_;
double r195748 = r195746 - r195747;
double r195749 = r195745 * r195748;
double r195750 = r195738 - r195749;
double r195751 = r195725 - r195750;
double r195752 = r195733 * r195751;
double r195753 = r195752 * r195746;
double r195754 = 1.0;
double r195755 = pow(r195753, r195754);
double r195756 = sqrt(r195755);
double r195757 = r195733 * r195746;
double r195758 = sqrt(r195757);
double r195759 = r195725 - r195738;
double r195760 = pow(r195739, r195741);
double r195761 = r195732 * r195760;
double r195762 = r195761 * r195760;
double r195763 = r195762 * r195748;
double r195764 = r195759 - r195763;
double r195765 = sqrt(r195764);
double r195766 = r195758 * r195765;
double r195767 = r195730 ? r195756 : r195766;
return r195767;
}



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.1335769891576857e+195Initial program 39.3
rmApplied associate-/l*37.6
rmApplied sqr-pow37.6
Applied associate-*r*37.1
rmApplied pow137.1
Applied pow137.1
Applied pow137.1
Applied pow137.1
Applied pow-prod-down37.1
Applied pow-prod-down37.1
Applied pow-prod-down37.1
Simplified35.6
if -1.1335769891576857e+195 < t < 1.4203378231470566e-05Initial program 35.3
rmApplied associate-/l*32.2
rmApplied sqr-pow32.2
Applied associate-*r*31.0
rmApplied associate-*l*30.7
if 1.4203378231470566e-05 < t Initial program 35.6
rmApplied associate-/l*33.1
rmApplied sqr-pow33.1
Applied associate-*r*32.8
rmApplied sqrt-prod26.4
Final simplification31.3
herbie shell --seed 2019298
(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*))))))