\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 -2.0815983574246957 \cdot 10^{-139}:\\
\;\;\;\;\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{elif}\;n \le -6.0596639631783474 \cdot 10^{-291}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \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)}\\
\mathbf{elif}\;n \le 1.1504183261425661 \cdot 10^{-17} \lor \neg \left(n \le 5.84977345983970428 \cdot 10^{38}\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 U} \cdot \sqrt{t - \left(n \cdot \left(\left(U - U*\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}\right) + 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r219226 = 2.0;
double r219227 = n;
double r219228 = r219226 * r219227;
double r219229 = U;
double r219230 = r219228 * r219229;
double r219231 = t;
double r219232 = l;
double r219233 = r219232 * r219232;
double r219234 = Om;
double r219235 = r219233 / r219234;
double r219236 = r219226 * r219235;
double r219237 = r219231 - r219236;
double r219238 = r219232 / r219234;
double r219239 = pow(r219238, r219226);
double r219240 = r219227 * r219239;
double r219241 = U_;
double r219242 = r219229 - r219241;
double r219243 = r219240 * r219242;
double r219244 = r219237 - r219243;
double r219245 = r219230 * r219244;
double r219246 = sqrt(r219245);
return r219246;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r219247 = n;
double r219248 = -2.0815983574246957e-139;
bool r219249 = r219247 <= r219248;
double r219250 = 2.0;
double r219251 = r219250 * r219247;
double r219252 = U;
double r219253 = r219251 * r219252;
double r219254 = t;
double r219255 = l;
double r219256 = Om;
double r219257 = r219256 / r219255;
double r219258 = r219255 / r219257;
double r219259 = r219250 * r219258;
double r219260 = r219254 - r219259;
double r219261 = r219255 / r219256;
double r219262 = 2.0;
double r219263 = r219250 / r219262;
double r219264 = pow(r219261, r219263);
double r219265 = r219247 * r219264;
double r219266 = U_;
double r219267 = r219252 - r219266;
double r219268 = r219264 * r219267;
double r219269 = r219265 * r219268;
double r219270 = r219260 - r219269;
double r219271 = r219253 * r219270;
double r219272 = sqrt(r219271);
double r219273 = -6.0596639631783474e-291;
bool r219274 = r219247 <= r219273;
double r219275 = r219262 * r219263;
double r219276 = pow(r219261, r219275);
double r219277 = r219247 * r219276;
double r219278 = r219277 * r219267;
double r219279 = r219259 + r219278;
double r219280 = r219254 - r219279;
double r219281 = r219252 * r219280;
double r219282 = r219251 * r219281;
double r219283 = sqrt(r219282);
double r219284 = 1.1504183261425661e-17;
bool r219285 = r219247 <= r219284;
double r219286 = 5.849773459839704e+38;
bool r219287 = r219247 <= r219286;
double r219288 = !r219287;
bool r219289 = r219285 || r219288;
double r219290 = sqrt(r219253);
double r219291 = r219267 * r219276;
double r219292 = r219247 * r219291;
double r219293 = r219292 + r219259;
double r219294 = r219254 - r219293;
double r219295 = sqrt(r219294);
double r219296 = r219290 * r219295;
double r219297 = r219289 ? r219272 : r219296;
double r219298 = r219274 ? r219283 : r219297;
double r219299 = r219249 ? r219272 : r219298;
return r219299;
}



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 < -2.0815983574246957e-139 or -6.0596639631783474e-291 < n < 1.1504183261425661e-17 or 5.849773459839704e+38 < n Initial program 34.4
rmApplied associate-/l*31.9
rmApplied sqr-pow31.9
Applied associate-*r*31.0
rmApplied associate-*l*30.6
if -2.0815983574246957e-139 < n < -6.0596639631783474e-291Initial program 38.3
rmApplied associate-/l*34.9
rmApplied sqr-pow34.9
Applied associate-*r*33.8
rmApplied associate-*l*30.5
Simplified32.5
if 1.1504183261425661e-17 < n < 5.849773459839704e+38Initial program 32.5
rmApplied associate-/l*28.0
rmApplied sqr-pow28.0
Applied associate-*r*27.9
rmApplied associate-*l*26.6
rmApplied sqrt-prod37.1
Simplified38.1
Final simplification31.2
herbie shell --seed 2020047
(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*))))))