\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}\;U \le -68.7240024961995885632859426550567150116 \lor \neg \left(U \le 7.697060986820552766481659717027977722318 \cdot 10^{-102}\right):\\
\;\;\;\;\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 \left(U \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(U - U*\right) \cdot \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}\right)\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r179753 = 2.0;
double r179754 = n;
double r179755 = r179753 * r179754;
double r179756 = U;
double r179757 = r179755 * r179756;
double r179758 = t;
double r179759 = l;
double r179760 = r179759 * r179759;
double r179761 = Om;
double r179762 = r179760 / r179761;
double r179763 = r179753 * r179762;
double r179764 = r179758 - r179763;
double r179765 = r179759 / r179761;
double r179766 = pow(r179765, r179753);
double r179767 = r179754 * r179766;
double r179768 = U_;
double r179769 = r179756 - r179768;
double r179770 = r179767 * r179769;
double r179771 = r179764 - r179770;
double r179772 = r179757 * r179771;
double r179773 = sqrt(r179772);
return r179773;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r179774 = U;
double r179775 = -68.72400249619959;
bool r179776 = r179774 <= r179775;
double r179777 = 7.697060986820553e-102;
bool r179778 = r179774 <= r179777;
double r179779 = !r179778;
bool r179780 = r179776 || r179779;
double r179781 = 2.0;
double r179782 = n;
double r179783 = r179781 * r179782;
double r179784 = r179783 * r179774;
double r179785 = t;
double r179786 = l;
double r179787 = Om;
double r179788 = r179787 / r179786;
double r179789 = r179786 / r179788;
double r179790 = r179781 * r179789;
double r179791 = r179785 - r179790;
double r179792 = r179786 / r179787;
double r179793 = 2.0;
double r179794 = r179781 / r179793;
double r179795 = pow(r179792, r179794);
double r179796 = r179782 * r179795;
double r179797 = r179796 * r179795;
double r179798 = U_;
double r179799 = r179774 - r179798;
double r179800 = r179797 * r179799;
double r179801 = r179791 - r179800;
double r179802 = r179784 * r179801;
double r179803 = sqrt(r179802);
double r179804 = r179793 * r179794;
double r179805 = pow(r179792, r179804);
double r179806 = r179782 * r179805;
double r179807 = r179799 * r179806;
double r179808 = r179791 - r179807;
double r179809 = r179774 * r179808;
double r179810 = r179783 * r179809;
double r179811 = sqrt(r179810);
double r179812 = r179780 ? r179803 : r179811;
return r179812;
}



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 U < -68.72400249619959 or 7.697060986820553e-102 < U Initial program 30.3
rmApplied associate-/l*26.7
rmApplied sqr-pow26.7
Applied associate-*r*25.8
if -68.72400249619959 < U < 7.697060986820553e-102Initial program 38.0
rmApplied associate-/l*35.5
rmApplied sqr-pow35.5
Applied associate-*r*34.8
rmApplied associate-*l*29.7
Simplified30.8
Final simplification28.5
herbie shell --seed 2019322
(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*))))))