\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 -8.140819768086048881883520028105433881922 \cdot 10^{57}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - 0\right)}\\
\mathbf{elif}\;U \le 5.356444674346501282333945240173040396999 \cdot 10^{-70}:\\
\;\;\;\;\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)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\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)}} \cdot \sqrt{\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)}}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r178642 = 2.0;
double r178643 = n;
double r178644 = r178642 * r178643;
double r178645 = U;
double r178646 = r178644 * r178645;
double r178647 = t;
double r178648 = l;
double r178649 = r178648 * r178648;
double r178650 = Om;
double r178651 = r178649 / r178650;
double r178652 = r178642 * r178651;
double r178653 = r178647 - r178652;
double r178654 = r178648 / r178650;
double r178655 = pow(r178654, r178642);
double r178656 = r178643 * r178655;
double r178657 = U_;
double r178658 = r178645 - r178657;
double r178659 = r178656 * r178658;
double r178660 = r178653 - r178659;
double r178661 = r178646 * r178660;
double r178662 = sqrt(r178661);
return r178662;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r178663 = U;
double r178664 = -8.140819768086049e+57;
bool r178665 = r178663 <= r178664;
double r178666 = 2.0;
double r178667 = n;
double r178668 = r178666 * r178667;
double r178669 = r178668 * r178663;
double r178670 = t;
double r178671 = l;
double r178672 = Om;
double r178673 = r178672 / r178671;
double r178674 = r178671 / r178673;
double r178675 = r178666 * r178674;
double r178676 = r178670 - r178675;
double r178677 = 0.0;
double r178678 = r178676 - r178677;
double r178679 = r178669 * r178678;
double r178680 = sqrt(r178679);
double r178681 = 5.356444674346501e-70;
bool r178682 = r178663 <= r178681;
double r178683 = r178671 / r178672;
double r178684 = 2.0;
double r178685 = r178666 / r178684;
double r178686 = pow(r178683, r178685);
double r178687 = r178667 * r178686;
double r178688 = U_;
double r178689 = r178663 - r178688;
double r178690 = r178686 * r178689;
double r178691 = r178687 * r178690;
double r178692 = r178676 - r178691;
double r178693 = r178663 * r178692;
double r178694 = r178668 * r178693;
double r178695 = sqrt(r178694);
double r178696 = r178669 * r178692;
double r178697 = sqrt(r178696);
double r178698 = sqrt(r178697);
double r178699 = r178698 * r178698;
double r178700 = r178682 ? r178695 : r178699;
double r178701 = r178665 ? r178680 : r178700;
return r178701;
}



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 < -8.140819768086049e+57Initial program 29.3
rmApplied associate-/l*26.5
rmApplied sqr-pow26.5
Applied associate-*r*26.3
Taylor expanded around 0 28.3
if -8.140819768086049e+57 < U < 5.356444674346501e-70Initial program 38.2
rmApplied associate-/l*35.4
rmApplied sqr-pow35.4
Applied associate-*r*34.2
rmApplied associate-*l*33.8
rmApplied associate-*l*29.8
if 5.356444674346501e-70 < U Initial program 30.3
rmApplied associate-/l*27.2
rmApplied sqr-pow27.2
Applied associate-*r*25.9
rmApplied associate-*l*26.6
rmApplied add-sqr-sqrt26.8
Final simplification28.8
herbie shell --seed 2019297
(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*))))))