\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 3.366362909823730272757434845121918146511 \cdot 10^{85}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \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)}\\
\mathbf{else}:\\
\;\;\;\;\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)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r257441 = 2.0;
double r257442 = n;
double r257443 = r257441 * r257442;
double r257444 = U;
double r257445 = r257443 * r257444;
double r257446 = t;
double r257447 = l;
double r257448 = r257447 * r257447;
double r257449 = Om;
double r257450 = r257448 / r257449;
double r257451 = r257441 * r257450;
double r257452 = r257446 - r257451;
double r257453 = r257447 / r257449;
double r257454 = pow(r257453, r257441);
double r257455 = r257442 * r257454;
double r257456 = U_;
double r257457 = r257444 - r257456;
double r257458 = r257455 * r257457;
double r257459 = r257452 - r257458;
double r257460 = r257445 * r257459;
double r257461 = sqrt(r257460);
return r257461;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r257462 = t;
double r257463 = 3.36636290982373e+85;
bool r257464 = r257462 <= r257463;
double r257465 = 2.0;
double r257466 = n;
double r257467 = r257465 * r257466;
double r257468 = U;
double r257469 = r257467 * r257468;
double r257470 = l;
double r257471 = Om;
double r257472 = r257471 / r257470;
double r257473 = r257470 / r257472;
double r257474 = r257465 * r257473;
double r257475 = r257462 - r257474;
double r257476 = r257470 / r257471;
double r257477 = 2.0;
double r257478 = r257465 / r257477;
double r257479 = pow(r257476, r257478);
double r257480 = r257466 * r257479;
double r257481 = r257480 * r257479;
double r257482 = U_;
double r257483 = r257468 - r257482;
double r257484 = r257481 * r257483;
double r257485 = r257475 - r257484;
double r257486 = r257469 * r257485;
double r257487 = sqrt(r257486);
double r257488 = sqrt(r257469);
double r257489 = r257477 * r257478;
double r257490 = pow(r257476, r257489);
double r257491 = r257466 * r257490;
double r257492 = r257491 * r257483;
double r257493 = r257475 - r257492;
double r257494 = sqrt(r257493);
double r257495 = r257488 * r257494;
double r257496 = r257464 ? r257487 : r257495;
return r257496;
}



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 < 3.36636290982373e+85Initial program 34.4
rmApplied associate-/l*31.5
rmApplied sqr-pow31.5
Applied associate-*r*30.6
if 3.36636290982373e+85 < t Initial program 36.7
rmApplied associate-/l*34.3
rmApplied sqr-pow34.3
Applied associate-*r*33.8
rmApplied sqrt-prod25.2
Simplified25.6
Final simplification29.7
herbie shell --seed 2019323
(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*))))))