\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.79177120952340284 \cdot 10^{-135}:\\
\;\;\;\;\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)}\\
\mathbf{elif}\;n \le 1.53701075221824925 \cdot 10^{-307}:\\
\;\;\;\;\sqrt{2 \cdot \left(\left(n \cdot \left(t - \left(2 \cdot \frac{\ell}{\frac{Om}{\ell}} - \left(-n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)\right)\right) \cdot U\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{2 \cdot n} \cdot \sqrt{U \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)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r199043 = 2.0;
double r199044 = n;
double r199045 = r199043 * r199044;
double r199046 = U;
double r199047 = r199045 * r199046;
double r199048 = t;
double r199049 = l;
double r199050 = r199049 * r199049;
double r199051 = Om;
double r199052 = r199050 / r199051;
double r199053 = r199043 * r199052;
double r199054 = r199048 - r199053;
double r199055 = r199049 / r199051;
double r199056 = pow(r199055, r199043);
double r199057 = r199044 * r199056;
double r199058 = U_;
double r199059 = r199046 - r199058;
double r199060 = r199057 * r199059;
double r199061 = r199054 - r199060;
double r199062 = r199047 * r199061;
double r199063 = sqrt(r199062);
return r199063;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r199064 = n;
double r199065 = -1.7917712095234028e-135;
bool r199066 = r199064 <= r199065;
double r199067 = 2.0;
double r199068 = r199067 * r199064;
double r199069 = U;
double r199070 = t;
double r199071 = l;
double r199072 = Om;
double r199073 = r199072 / r199071;
double r199074 = r199071 / r199073;
double r199075 = r199067 * r199074;
double r199076 = r199070 - r199075;
double r199077 = r199071 / r199072;
double r199078 = 2.0;
double r199079 = r199067 / r199078;
double r199080 = pow(r199077, r199079);
double r199081 = r199064 * r199080;
double r199082 = U_;
double r199083 = r199069 - r199082;
double r199084 = r199080 * r199083;
double r199085 = r199081 * r199084;
double r199086 = r199076 - r199085;
double r199087 = r199069 * r199086;
double r199088 = r199068 * r199087;
double r199089 = sqrt(r199088);
double r199090 = 1.5370107522182492e-307;
bool r199091 = r199064 <= r199090;
double r199092 = r199078 * r199079;
double r199093 = pow(r199077, r199092);
double r199094 = r199064 * r199093;
double r199095 = -r199094;
double r199096 = r199095 * r199083;
double r199097 = r199075 - r199096;
double r199098 = r199070 - r199097;
double r199099 = r199064 * r199098;
double r199100 = r199099 * r199069;
double r199101 = r199067 * r199100;
double r199102 = sqrt(r199101);
double r199103 = sqrt(r199068);
double r199104 = r199081 * r199080;
double r199105 = r199104 * r199083;
double r199106 = r199076 - r199105;
double r199107 = r199069 * r199106;
double r199108 = sqrt(r199107);
double r199109 = r199103 * r199108;
double r199110 = r199091 ? r199102 : r199109;
double r199111 = r199066 ? r199089 : r199110;
return r199111;
}



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 n < -1.7917712095234028e-135Initial program 33.0
rmApplied associate-*l*33.3
rmApplied associate-/l*30.9
rmApplied sqr-pow30.9
Applied associate-*r*29.7
rmApplied associate-*l*28.7
if -1.7917712095234028e-135 < n < 1.5370107522182492e-307Initial program 38.3
rmApplied associate-*l*37.4
rmApplied associate-/l*35.0
rmApplied sqr-pow35.0
Applied associate-*r*33.6
rmApplied associate-*l*33.6
Simplified31.7
if 1.5370107522182492e-307 < n Initial program 35.0
rmApplied associate-*l*35.3
rmApplied associate-/l*32.5
rmApplied sqr-pow32.5
Applied associate-*r*31.5
rmApplied sqrt-prod23.8
Final simplification26.8
herbie shell --seed 2020018
(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*))))))