\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}\;n \le -1.00466796771781086 \cdot 10^{-230}:\\
\;\;\;\;\sqrt{\left(\sqrt[3]{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)} \cdot \sqrt[3]{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)}\right) \cdot \sqrt[3]{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)}}\\
\mathbf{elif}\;n \le -9.2277267034582191 \cdot 10^{-280}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \left(\sqrt[3]{\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)} \cdot \sqrt[3]{\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)}\right) \cdot \sqrt[3]{\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)}\right)\right)\right)}\\
\mathbf{elif}\;n \le -4.44897802822854103 \cdot 10^{-305}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \left(\left(\left(n \cdot \ell\right) \cdot {\left(\frac{1}{{Om}^{1}}\right)}^{1}\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{2 \cdot n} \cdot \sqrt{U \cdot \left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r211972 = 2.0;
double r211973 = n;
double r211974 = r211972 * r211973;
double r211975 = U;
double r211976 = r211974 * r211975;
double r211977 = t;
double r211978 = l;
double r211979 = r211978 * r211978;
double r211980 = Om;
double r211981 = r211979 / r211980;
double r211982 = r211972 * r211981;
double r211983 = r211977 - r211982;
double r211984 = r211978 / r211980;
double r211985 = pow(r211984, r211972);
double r211986 = r211973 * r211985;
double r211987 = U_;
double r211988 = r211975 - r211987;
double r211989 = r211986 * r211988;
double r211990 = r211983 - r211989;
double r211991 = r211976 * r211990;
double r211992 = sqrt(r211991);
return r211992;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r211993 = n;
double r211994 = -1.0046679677178109e-230;
bool r211995 = r211993 <= r211994;
double r211996 = 2.0;
double r211997 = r211996 * r211993;
double r211998 = U;
double r211999 = r211997 * r211998;
double r212000 = t;
double r212001 = l;
double r212002 = Om;
double r212003 = r212002 / r212001;
double r212004 = r212001 / r212003;
double r212005 = r212001 / r212002;
double r212006 = pow(r212005, r211996);
double r212007 = r211993 * r212006;
double r212008 = U_;
double r212009 = r211998 - r212008;
double r212010 = r212007 * r212009;
double r212011 = fma(r211996, r212004, r212010);
double r212012 = r212000 - r212011;
double r212013 = r211999 * r212012;
double r212014 = cbrt(r212013);
double r212015 = r212014 * r212014;
double r212016 = r212015 * r212014;
double r212017 = sqrt(r212016);
double r212018 = -9.22772670345822e-280;
bool r212019 = r211993 <= r212018;
double r212020 = cbrt(r212010);
double r212021 = r212020 * r212020;
double r212022 = r212021 * r212020;
double r212023 = fma(r211996, r212004, r212022);
double r212024 = r212000 - r212023;
double r212025 = r211998 * r212024;
double r212026 = r211997 * r212025;
double r212027 = sqrt(r212026);
double r212028 = -4.448978028228541e-305;
bool r212029 = r211993 <= r212028;
double r212030 = r211993 * r212001;
double r212031 = 1.0;
double r212032 = 1.0;
double r212033 = pow(r212002, r212032);
double r212034 = r212031 / r212033;
double r212035 = pow(r212034, r212032);
double r212036 = r212030 * r212035;
double r212037 = 2.0;
double r212038 = r211996 / r212037;
double r212039 = pow(r212005, r212038);
double r212040 = r212036 * r212039;
double r212041 = r212040 * r212009;
double r212042 = fma(r211996, r212004, r212041);
double r212043 = r212000 - r212042;
double r212044 = r211999 * r212043;
double r212045 = sqrt(r212044);
double r212046 = sqrt(r211997);
double r212047 = r211998 * r212012;
double r212048 = sqrt(r212047);
double r212049 = r212046 * r212048;
double r212050 = r212029 ? r212045 : r212049;
double r212051 = r212019 ? r212027 : r212050;
double r212052 = r211995 ? r212017 : r212051;
return r212052;
}



Bits error versus n



Bits error versus U



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus U*
if n < -1.0046679677178109e-230Initial program 34.2
Simplified34.2
rmApplied associate-/l*31.6
rmApplied associate-*r*31.5
rmApplied add-cube-cbrt31.8
if -1.0046679677178109e-230 < n < -9.22772670345822e-280Initial program 40.1
Simplified39.6
rmApplied associate-/l*37.7
rmApplied add-cube-cbrt37.7
if -9.22772670345822e-280 < n < -4.448978028228541e-305Initial program 41.1
Simplified41.3
rmApplied associate-/l*37.1
rmApplied associate-*r*36.7
rmApplied sqr-pow36.7
Applied associate-*r*36.0
Taylor expanded around 0 37.0
if -4.448978028228541e-305 < n Initial program 34.6
Simplified34.4
rmApplied associate-/l*31.6
rmApplied sqrt-prod24.6
Final simplification28.6
herbie shell --seed 2020042 +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*))))))