\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 8.120471958061494211765127711129383515551 \cdot 10^{92}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\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)\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 r204664 = 2.0;
double r204665 = n;
double r204666 = r204664 * r204665;
double r204667 = U;
double r204668 = r204666 * r204667;
double r204669 = t;
double r204670 = l;
double r204671 = r204670 * r204670;
double r204672 = Om;
double r204673 = r204671 / r204672;
double r204674 = r204664 * r204673;
double r204675 = r204669 - r204674;
double r204676 = r204670 / r204672;
double r204677 = pow(r204676, r204664);
double r204678 = r204665 * r204677;
double r204679 = U_;
double r204680 = r204667 - r204679;
double r204681 = r204678 * r204680;
double r204682 = r204675 - r204681;
double r204683 = r204668 * r204682;
double r204684 = sqrt(r204683);
return r204684;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r204685 = t;
double r204686 = 8.120471958061494e+92;
bool r204687 = r204685 <= r204686;
double r204688 = 2.0;
double r204689 = n;
double r204690 = r204688 * r204689;
double r204691 = U;
double r204692 = r204690 * r204691;
double r204693 = l;
double r204694 = Om;
double r204695 = r204694 / r204693;
double r204696 = r204693 / r204695;
double r204697 = r204688 * r204696;
double r204698 = r204685 - r204697;
double r204699 = r204693 / r204694;
double r204700 = 2.0;
double r204701 = r204688 / r204700;
double r204702 = pow(r204699, r204701);
double r204703 = r204689 * r204702;
double r204704 = r204703 * r204702;
double r204705 = U_;
double r204706 = r204691 - r204705;
double r204707 = r204704 * r204706;
double r204708 = r204698 - r204707;
double r204709 = r204692 * r204708;
double r204710 = sqrt(r204709);
double r204711 = sqrt(r204692);
double r204712 = pow(r204699, r204688);
double r204713 = r204689 * r204712;
double r204714 = r204713 * r204706;
double r204715 = r204698 - r204714;
double r204716 = sqrt(r204715);
double r204717 = r204711 * r204716;
double r204718 = r204687 ? r204710 : r204717;
return r204718;
}



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 < 8.120471958061494e+92Initial program 34.2
rmApplied associate-/l*31.4
rmApplied sqr-pow31.4
Applied associate-*r*30.5
if 8.120471958061494e+92 < t Initial program 37.5
rmApplied associate-/l*35.0
rmApplied sqrt-prod26.4
Final simplification29.8
herbie shell --seed 2019326
(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*))))))