\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}\;U \le -311690872571746179874816 \lor \neg \left(U \le 6.172668847283660136156694814890219267888 \cdot 10^{-122}\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 \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)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r221501 = 2.0;
double r221502 = n;
double r221503 = r221501 * r221502;
double r221504 = U;
double r221505 = r221503 * r221504;
double r221506 = t;
double r221507 = l;
double r221508 = r221507 * r221507;
double r221509 = Om;
double r221510 = r221508 / r221509;
double r221511 = r221501 * r221510;
double r221512 = r221506 - r221511;
double r221513 = r221507 / r221509;
double r221514 = pow(r221513, r221501);
double r221515 = r221502 * r221514;
double r221516 = U_;
double r221517 = r221504 - r221516;
double r221518 = r221515 * r221517;
double r221519 = r221512 - r221518;
double r221520 = r221505 * r221519;
double r221521 = sqrt(r221520);
return r221521;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r221522 = U;
double r221523 = -3.116908725717462e+23;
bool r221524 = r221522 <= r221523;
double r221525 = 6.17266884728366e-122;
bool r221526 = r221522 <= r221525;
double r221527 = !r221526;
bool r221528 = r221524 || r221527;
double r221529 = 2.0;
double r221530 = n;
double r221531 = r221529 * r221530;
double r221532 = r221531 * r221522;
double r221533 = t;
double r221534 = l;
double r221535 = Om;
double r221536 = r221535 / r221534;
double r221537 = r221534 / r221536;
double r221538 = r221529 * r221537;
double r221539 = r221533 - r221538;
double r221540 = r221534 / r221535;
double r221541 = 2.0;
double r221542 = r221529 / r221541;
double r221543 = pow(r221540, r221542);
double r221544 = r221530 * r221543;
double r221545 = U_;
double r221546 = r221522 - r221545;
double r221547 = r221543 * r221546;
double r221548 = r221544 * r221547;
double r221549 = r221539 - r221548;
double r221550 = r221532 * r221549;
double r221551 = sqrt(r221550);
double r221552 = r221522 * r221549;
double r221553 = r221531 * r221552;
double r221554 = sqrt(r221553);
double r221555 = r221528 ? r221551 : r221554;
return r221555;
}



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 U < -3.116908725717462e+23 or 6.17266884728366e-122 < U Initial program 30.2
rmApplied sqr-pow30.2
Applied associate-*r*29.6
rmApplied associate-*l*29.9
rmApplied associate-/l*27.3
if -3.116908725717462e+23 < U < 6.17266884728366e-122Initial program 38.0
rmApplied sqr-pow38.0
Applied associate-*r*37.0
rmApplied associate-*l*36.5
rmApplied associate-/l*33.9
rmApplied associate-*l*29.7
Final simplification28.6
herbie shell --seed 2019362
(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*))))))