\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 761464961700.1480712890625:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(\left(\sqrt[3]{n \cdot {\left(\frac{\ell}{Om}\right)}^{2}} \cdot \sqrt[3]{n \cdot {\left(\frac{\ell}{Om}\right)}^{2}}\right) \cdot \sqrt[3]{n \cdot {\left(\frac{\ell}{Om}\right)}^{2}}\right) \cdot \left(U - U*\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(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 r191841 = 2.0;
double r191842 = n;
double r191843 = r191841 * r191842;
double r191844 = U;
double r191845 = r191843 * r191844;
double r191846 = t;
double r191847 = l;
double r191848 = r191847 * r191847;
double r191849 = Om;
double r191850 = r191848 / r191849;
double r191851 = r191841 * r191850;
double r191852 = r191846 - r191851;
double r191853 = r191847 / r191849;
double r191854 = pow(r191853, r191841);
double r191855 = r191842 * r191854;
double r191856 = U_;
double r191857 = r191844 - r191856;
double r191858 = r191855 * r191857;
double r191859 = r191852 - r191858;
double r191860 = r191845 * r191859;
double r191861 = sqrt(r191860);
return r191861;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r191862 = t;
double r191863 = 761464961700.1481;
bool r191864 = r191862 <= r191863;
double r191865 = 2.0;
double r191866 = n;
double r191867 = r191865 * r191866;
double r191868 = U;
double r191869 = r191867 * r191868;
double r191870 = l;
double r191871 = Om;
double r191872 = r191871 / r191870;
double r191873 = r191870 / r191872;
double r191874 = r191865 * r191873;
double r191875 = r191862 - r191874;
double r191876 = r191870 / r191871;
double r191877 = pow(r191876, r191865);
double r191878 = r191866 * r191877;
double r191879 = cbrt(r191878);
double r191880 = r191879 * r191879;
double r191881 = r191880 * r191879;
double r191882 = U_;
double r191883 = r191868 - r191882;
double r191884 = r191881 * r191883;
double r191885 = r191875 - r191884;
double r191886 = r191869 * r191885;
double r191887 = sqrt(r191886);
double r191888 = sqrt(r191869);
double r191889 = r191870 * r191876;
double r191890 = r191865 * r191889;
double r191891 = r191862 - r191890;
double r191892 = r191878 * r191883;
double r191893 = r191891 - r191892;
double r191894 = sqrt(r191893);
double r191895 = r191888 * r191894;
double r191896 = r191864 ? r191887 : r191895;
return r191896;
}



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 < 761464961700.1481Initial program 34.3
rmApplied associate-/l*31.5
rmApplied add-cube-cbrt31.5
if 761464961700.1481 < t Initial program 32.8
rmApplied *-un-lft-identity32.8
Applied times-frac30.5
Simplified30.5
rmApplied sqrt-prod24.6
Final simplification29.8
herbie shell --seed 2019344 +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*))))))