\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 5.3087767675532778 \cdot 10^{-246}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \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)}\\
\mathbf{elif}\;t \le 3.5853438188507749 \cdot 10^{-68} \lor \neg \left(t \le 1.1743060886816904 \cdot 10^{137}\right):\\
\;\;\;\;\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)}^{\left(2 \cdot \frac{2}{2}\right)}\right) \cdot \left(U - U*\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(2 \cdot \frac{2}{2}\right)}\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 r170982 = 2.0;
double r170983 = n;
double r170984 = r170982 * r170983;
double r170985 = U;
double r170986 = r170984 * r170985;
double r170987 = t;
double r170988 = l;
double r170989 = r170988 * r170988;
double r170990 = Om;
double r170991 = r170989 / r170990;
double r170992 = r170982 * r170991;
double r170993 = r170987 - r170992;
double r170994 = r170988 / r170990;
double r170995 = pow(r170994, r170982);
double r170996 = r170983 * r170995;
double r170997 = U_;
double r170998 = r170985 - r170997;
double r170999 = r170996 * r170998;
double r171000 = r170993 - r170999;
double r171001 = r170986 * r171000;
double r171002 = sqrt(r171001);
return r171002;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r171003 = t;
double r171004 = 5.308776767553278e-246;
bool r171005 = r171003 <= r171004;
double r171006 = 2.0;
double r171007 = n;
double r171008 = r171006 * r171007;
double r171009 = U;
double r171010 = r171008 * r171009;
double r171011 = l;
double r171012 = Om;
double r171013 = r171012 / r171011;
double r171014 = r171011 / r171013;
double r171015 = r171006 * r171014;
double r171016 = r171003 - r171015;
double r171017 = r171007 * r171011;
double r171018 = 1.0;
double r171019 = 1.0;
double r171020 = pow(r171012, r171019);
double r171021 = r171018 / r171020;
double r171022 = pow(r171021, r171019);
double r171023 = r171017 * r171022;
double r171024 = r171011 / r171012;
double r171025 = 2.0;
double r171026 = r171006 / r171025;
double r171027 = pow(r171024, r171026);
double r171028 = r171023 * r171027;
double r171029 = U_;
double r171030 = r171009 - r171029;
double r171031 = r171028 * r171030;
double r171032 = r171016 - r171031;
double r171033 = r171010 * r171032;
double r171034 = sqrt(r171033);
double r171035 = 3.585343818850775e-68;
bool r171036 = r171003 <= r171035;
double r171037 = 1.1743060886816904e+137;
bool r171038 = r171003 <= r171037;
double r171039 = !r171038;
bool r171040 = r171036 || r171039;
double r171041 = sqrt(r171010);
double r171042 = r171025 * r171026;
double r171043 = pow(r171024, r171042);
double r171044 = r171007 * r171043;
double r171045 = r171044 * r171030;
double r171046 = r171016 - r171045;
double r171047 = sqrt(r171046);
double r171048 = r171041 * r171047;
double r171049 = r171009 * r171046;
double r171050 = r171008 * r171049;
double r171051 = sqrt(r171050);
double r171052 = r171040 ? r171048 : r171051;
double r171053 = r171005 ? r171034 : r171052;
return r171053;
}



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 < 5.308776767553278e-246Initial program 35.2
rmApplied associate-/l*32.2
rmApplied sqr-pow32.2
Applied associate-*r*31.2
Taylor expanded around 0 32.4
if 5.308776767553278e-246 < t < 3.585343818850775e-68 or 1.1743060886816904e+137 < t Initial program 37.0
rmApplied associate-/l*34.3
rmApplied sqr-pow34.3
Applied associate-*r*33.1
rmApplied sqrt-prod28.8
Simplified29.6
if 3.585343818850775e-68 < t < 1.1743060886816904e+137Initial program 30.8
rmApplied associate-/l*28.1
rmApplied sqr-pow28.1
Applied associate-*r*27.5
rmApplied associate-*l*26.4
Simplified27.3
Final simplification30.7
herbie shell --seed 2020042
(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*))))))