\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 -7.524653843956402 \cdot 10^{+68}:\\
\;\;\;\;\sqrt{\sqrt{\left(\sqrt[3]{\left(2 \cdot U\right) \cdot \left(n \cdot \left(\left(t - \frac{n}{\frac{Om}{\ell} \cdot \frac{Om}{\ell}} \cdot \left(U - U*\right)\right) + \ell \cdot \frac{-2}{\frac{Om}{\ell}}\right)\right)} \cdot \sqrt[3]{\left(2 \cdot U\right) \cdot \left(n \cdot \left(\left(t - \frac{n}{\frac{Om}{\ell} \cdot \frac{Om}{\ell}} \cdot \left(U - U*\right)\right) + \ell \cdot \frac{-2}{\frac{Om}{\ell}}\right)\right)}\right) \cdot \sqrt[3]{\left(2 \cdot U\right) \cdot \left(n \cdot \left(\left(t - \frac{n}{\frac{Om}{\ell} \cdot \frac{Om}{\ell}} \cdot \left(U - U*\right)\right) + \ell \cdot \frac{-2}{\frac{Om}{\ell}}\right)\right)}}} \cdot \sqrt{\sqrt{\left(\sqrt[3]{\left(2 \cdot U\right) \cdot \left(n \cdot \left(\left(t - \frac{n}{\frac{Om}{\ell} \cdot \frac{Om}{\ell}} \cdot \left(U - U*\right)\right) + \ell \cdot \frac{-2}{\frac{Om}{\ell}}\right)\right)} \cdot \sqrt[3]{\left(2 \cdot U\right) \cdot \left(n \cdot \left(\left(t - \frac{n}{\frac{Om}{\ell} \cdot \frac{Om}{\ell}} \cdot \left(U - U*\right)\right) + \ell \cdot \frac{-2}{\frac{Om}{\ell}}\right)\right)}\right) \cdot \sqrt[3]{\left(2 \cdot U\right) \cdot \left(n \cdot \left(\left(t - \frac{n}{\frac{Om}{\ell} \cdot \frac{Om}{\ell}} \cdot \left(U - U*\right)\right) + \ell \cdot \frac{-2}{\frac{Om}{\ell}}\right)\right)}}}\\
\mathbf{elif}\;U \le 1.09532300335197 \cdot 10^{-309}:\\
\;\;\;\;\sqrt{n \cdot \left(\left(2 \cdot U\right) \cdot \left(\left(t - \frac{n}{\frac{Om}{\ell} \cdot \frac{Om}{\ell}} \cdot \left(U - U*\right)\right) + \ell \cdot \frac{-2}{\frac{Om}{\ell}}\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{U} \cdot \sqrt{\left(2 \cdot n\right) \cdot \left(\left(t - \frac{n}{\frac{Om}{\ell} \cdot \frac{Om}{\ell}} \cdot \left(U - U*\right)\right) + \ell \cdot \frac{-2}{\frac{Om}{\ell}}\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r1771561 = 2.0;
double r1771562 = n;
double r1771563 = r1771561 * r1771562;
double r1771564 = U;
double r1771565 = r1771563 * r1771564;
double r1771566 = t;
double r1771567 = l;
double r1771568 = r1771567 * r1771567;
double r1771569 = Om;
double r1771570 = r1771568 / r1771569;
double r1771571 = r1771561 * r1771570;
double r1771572 = r1771566 - r1771571;
double r1771573 = r1771567 / r1771569;
double r1771574 = pow(r1771573, r1771561);
double r1771575 = r1771562 * r1771574;
double r1771576 = U_;
double r1771577 = r1771564 - r1771576;
double r1771578 = r1771575 * r1771577;
double r1771579 = r1771572 - r1771578;
double r1771580 = r1771565 * r1771579;
double r1771581 = sqrt(r1771580);
return r1771581;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r1771582 = U;
double r1771583 = -7.524653843956402e+68;
bool r1771584 = r1771582 <= r1771583;
double r1771585 = 2.0;
double r1771586 = r1771585 * r1771582;
double r1771587 = n;
double r1771588 = t;
double r1771589 = Om;
double r1771590 = l;
double r1771591 = r1771589 / r1771590;
double r1771592 = r1771591 * r1771591;
double r1771593 = r1771587 / r1771592;
double r1771594 = U_;
double r1771595 = r1771582 - r1771594;
double r1771596 = r1771593 * r1771595;
double r1771597 = r1771588 - r1771596;
double r1771598 = -2.0;
double r1771599 = r1771598 / r1771591;
double r1771600 = r1771590 * r1771599;
double r1771601 = r1771597 + r1771600;
double r1771602 = r1771587 * r1771601;
double r1771603 = r1771586 * r1771602;
double r1771604 = cbrt(r1771603);
double r1771605 = r1771604 * r1771604;
double r1771606 = r1771605 * r1771604;
double r1771607 = sqrt(r1771606);
double r1771608 = sqrt(r1771607);
double r1771609 = r1771608 * r1771608;
double r1771610 = 1.09532300335197e-309;
bool r1771611 = r1771582 <= r1771610;
double r1771612 = r1771586 * r1771601;
double r1771613 = r1771587 * r1771612;
double r1771614 = sqrt(r1771613);
double r1771615 = sqrt(r1771582);
double r1771616 = r1771585 * r1771587;
double r1771617 = r1771616 * r1771601;
double r1771618 = sqrt(r1771617);
double r1771619 = r1771615 * r1771618;
double r1771620 = r1771611 ? r1771614 : r1771619;
double r1771621 = r1771584 ? r1771609 : r1771620;
return r1771621;
}



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 < -7.524653843956402e+68Initial program 27.8
Simplified30.6
rmApplied *-un-lft-identity30.6
Applied associate-*l*30.6
Simplified28.1
rmApplied add-cube-cbrt28.4
rmApplied add-sqr-sqrt28.4
if -7.524653843956402e+68 < U < 1.09532300335197e-309Initial program 35.5
Simplified32.9
rmApplied *-un-lft-identity32.9
Applied associate-*l*32.9
Simplified31.5
rmApplied associate-*r*29.8
if 1.09532300335197e-309 < U Initial program 33.1
Simplified32.4
rmApplied sqrt-prod25.6
Simplified23.9
Final simplification26.7
herbie shell --seed 2019129
(FPCore (n U t l Om U*)
:name "Toniolo and Linder, Equation (13)"
(sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))))