\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(\left({\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)} \cdot n\right) \cdot \left(U - U*\right) + 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\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(\left({\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)} \cdot n\right) \cdot \left(U - U*\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 r170321 = 2.0;
double r170322 = n;
double r170323 = r170321 * r170322;
double r170324 = U;
double r170325 = r170323 * r170324;
double r170326 = t;
double r170327 = l;
double r170328 = r170327 * r170327;
double r170329 = Om;
double r170330 = r170328 / r170329;
double r170331 = r170321 * r170330;
double r170332 = r170326 - r170331;
double r170333 = r170327 / r170329;
double r170334 = pow(r170333, r170321);
double r170335 = r170322 * r170334;
double r170336 = U_;
double r170337 = r170324 - r170336;
double r170338 = r170335 * r170337;
double r170339 = r170332 - r170338;
double r170340 = r170325 * r170339;
double r170341 = sqrt(r170340);
return r170341;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r170342 = n;
double r170343 = -2.0815983574246957e-139;
bool r170344 = r170342 <= r170343;
double r170345 = 2.0;
double r170346 = r170345 * r170342;
double r170347 = U;
double r170348 = r170346 * r170347;
double r170349 = t;
double r170350 = l;
double r170351 = Om;
double r170352 = r170351 / r170350;
double r170353 = r170350 / r170352;
double r170354 = r170345 * r170353;
double r170355 = r170349 - r170354;
double r170356 = r170350 / r170351;
double r170357 = 2.0;
double r170358 = r170345 / r170357;
double r170359 = pow(r170356, r170358);
double r170360 = r170342 * r170359;
double r170361 = U_;
double r170362 = r170347 - r170361;
double r170363 = r170359 * r170362;
double r170364 = r170360 * r170363;
double r170365 = r170355 - r170364;
double r170366 = r170348 * r170365;
double r170367 = sqrt(r170366);
double r170368 = -6.0596639631783474e-291;
bool r170369 = r170342 <= r170368;
double r170370 = r170357 * r170358;
double r170371 = pow(r170356, r170370);
double r170372 = r170371 * r170342;
double r170373 = r170372 * r170362;
double r170374 = r170373 + r170354;
double r170375 = r170349 - r170374;
double r170376 = r170347 * r170375;
double r170377 = r170346 * r170376;
double r170378 = sqrt(r170377);
double r170379 = 1.1504183261425661e-17;
bool r170380 = r170342 <= r170379;
double r170381 = 5.849773459839704e+38;
bool r170382 = r170342 <= r170381;
double r170383 = !r170382;
bool r170384 = r170380 || r170383;
double r170385 = sqrt(r170348);
double r170386 = sqrt(r170375);
double r170387 = r170385 * r170386;
double r170388 = r170384 ? r170367 : r170387;
double r170389 = r170369 ? r170378 : r170388;
double r170390 = r170344 ? r170367 : r170389;
return r170390;
}



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*34.8
rmApplied associate-*l*31.6
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.2
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*))))))