\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 -311690872571746179874816 \lor \neg \left(U \le 6.172668847283660136156694814890219267888 \cdot 10^{-122}\right):\\
\;\;\;\;\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 \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)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r209750 = 2.0;
double r209751 = n;
double r209752 = r209750 * r209751;
double r209753 = U;
double r209754 = r209752 * r209753;
double r209755 = t;
double r209756 = l;
double r209757 = r209756 * r209756;
double r209758 = Om;
double r209759 = r209757 / r209758;
double r209760 = r209750 * r209759;
double r209761 = r209755 - r209760;
double r209762 = r209756 / r209758;
double r209763 = pow(r209762, r209750);
double r209764 = r209751 * r209763;
double r209765 = U_;
double r209766 = r209753 - r209765;
double r209767 = r209764 * r209766;
double r209768 = r209761 - r209767;
double r209769 = r209754 * r209768;
double r209770 = sqrt(r209769);
return r209770;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r209771 = U;
double r209772 = -3.116908725717462e+23;
bool r209773 = r209771 <= r209772;
double r209774 = 6.17266884728366e-122;
bool r209775 = r209771 <= r209774;
double r209776 = !r209775;
bool r209777 = r209773 || r209776;
double r209778 = 2.0;
double r209779 = n;
double r209780 = r209778 * r209779;
double r209781 = r209780 * r209771;
double r209782 = t;
double r209783 = l;
double r209784 = Om;
double r209785 = r209784 / r209783;
double r209786 = r209783 / r209785;
double r209787 = r209778 * r209786;
double r209788 = r209782 - r209787;
double r209789 = r209783 / r209784;
double r209790 = 2.0;
double r209791 = r209778 / r209790;
double r209792 = pow(r209789, r209791);
double r209793 = r209779 * r209792;
double r209794 = U_;
double r209795 = r209771 - r209794;
double r209796 = r209792 * r209795;
double r209797 = r209793 * r209796;
double r209798 = r209788 - r209797;
double r209799 = r209781 * r209798;
double r209800 = sqrt(r209799);
double r209801 = r209771 * r209798;
double r209802 = r209780 * r209801;
double r209803 = sqrt(r209802);
double r209804 = r209777 ? r209800 : r209803;
return r209804;
}



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 < -3.116908725717462e+23 or 6.17266884728366e-122 < U Initial program 30.2
rmApplied sqr-pow30.2
Applied associate-*r*29.6
rmApplied associate-*l*29.9
rmApplied associate-/l*27.3
if -3.116908725717462e+23 < U < 6.17266884728366e-122Initial program 38.0
rmApplied sqr-pow38.0
Applied associate-*r*37.0
rmApplied associate-*l*36.5
rmApplied associate-/l*33.9
rmApplied associate-*l*29.7
Final simplification28.6
herbie shell --seed 2019362 +o rules:numerics
(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*))))))