\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 9.738770434013710011140002333498817218323 \cdot 10^{183}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(U - U*\right) \cdot \left(\left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2 \cdot \frac{2}{2}}{2}\right)}\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(U - U*\right) \cdot \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r195698 = 2.0;
double r195699 = n;
double r195700 = r195698 * r195699;
double r195701 = U;
double r195702 = r195700 * r195701;
double r195703 = t;
double r195704 = l;
double r195705 = r195704 * r195704;
double r195706 = Om;
double r195707 = r195705 / r195706;
double r195708 = r195698 * r195707;
double r195709 = r195703 - r195708;
double r195710 = r195704 / r195706;
double r195711 = pow(r195710, r195698);
double r195712 = r195699 * r195711;
double r195713 = U_;
double r195714 = r195701 - r195713;
double r195715 = r195712 * r195714;
double r195716 = r195709 - r195715;
double r195717 = r195702 * r195716;
double r195718 = sqrt(r195717);
return r195718;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r195719 = t;
double r195720 = 9.73877043401371e+183;
bool r195721 = r195719 <= r195720;
double r195722 = 2.0;
double r195723 = n;
double r195724 = r195722 * r195723;
double r195725 = U;
double r195726 = l;
double r195727 = Om;
double r195728 = r195726 / r195727;
double r195729 = r195726 * r195728;
double r195730 = r195722 * r195729;
double r195731 = r195719 - r195730;
double r195732 = U_;
double r195733 = r195725 - r195732;
double r195734 = 2.0;
double r195735 = r195722 / r195734;
double r195736 = pow(r195728, r195735);
double r195737 = r195736 * r195723;
double r195738 = r195734 * r195735;
double r195739 = r195738 / r195734;
double r195740 = pow(r195728, r195739);
double r195741 = r195737 * r195740;
double r195742 = r195733 * r195741;
double r195743 = r195731 - r195742;
double r195744 = r195725 * r195743;
double r195745 = r195724 * r195744;
double r195746 = sqrt(r195745);
double r195747 = r195724 * r195725;
double r195748 = sqrt(r195747);
double r195749 = pow(r195728, r195738);
double r195750 = r195723 * r195749;
double r195751 = r195733 * r195750;
double r195752 = r195731 - r195751;
double r195753 = sqrt(r195752);
double r195754 = r195748 * r195753;
double r195755 = r195721 ? r195746 : r195754;
return r195755;
}



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 < 9.73877043401371e+183Initial program 34.6
rmApplied *-un-lft-identity34.6
Applied times-frac31.8
Simplified31.8
rmApplied sqr-pow31.8
Applied associate-*r*30.8
rmApplied associate-*l*30.4
Simplified31.6
rmApplied sqr-pow31.6
Applied associate-*r*30.4
Simplified30.4
if 9.73877043401371e+183 < t Initial program 37.0
rmApplied *-un-lft-identity37.0
Applied times-frac35.2
Simplified35.2
rmApplied sqr-pow35.2
Applied associate-*r*34.7
rmApplied sqrt-prod22.4
Simplified22.8
Final simplification29.6
herbie shell --seed 2019305
(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*))))))