\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 -1.284107902187082283437815325780190731109 \cdot 10^{-68} \lor \neg \left(U \le 4.089192710274500787419881365304596463652 \cdot 10^{70}\right):\\
\;\;\;\;\sqrt{\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}} \cdot \sqrt{\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) \cdot U + \left(\left(-n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right) \cdot U\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r170693 = 2.0;
double r170694 = n;
double r170695 = r170693 * r170694;
double r170696 = U;
double r170697 = r170695 * r170696;
double r170698 = t;
double r170699 = l;
double r170700 = r170699 * r170699;
double r170701 = Om;
double r170702 = r170700 / r170701;
double r170703 = r170693 * r170702;
double r170704 = r170698 - r170703;
double r170705 = r170699 / r170701;
double r170706 = pow(r170705, r170693);
double r170707 = r170694 * r170706;
double r170708 = U_;
double r170709 = r170696 - r170708;
double r170710 = r170707 * r170709;
double r170711 = r170704 - r170710;
double r170712 = r170697 * r170711;
double r170713 = sqrt(r170712);
return r170713;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r170714 = U;
double r170715 = -1.2841079021870823e-68;
bool r170716 = r170714 <= r170715;
double r170717 = 4.089192710274501e+70;
bool r170718 = r170714 <= r170717;
double r170719 = !r170718;
bool r170720 = r170716 || r170719;
double r170721 = 2.0;
double r170722 = n;
double r170723 = r170721 * r170722;
double r170724 = r170723 * r170714;
double r170725 = t;
double r170726 = l;
double r170727 = Om;
double r170728 = r170726 / r170727;
double r170729 = r170726 * r170728;
double r170730 = r170721 * r170729;
double r170731 = r170725 - r170730;
double r170732 = pow(r170728, r170721);
double r170733 = r170722 * r170732;
double r170734 = U_;
double r170735 = r170714 - r170734;
double r170736 = r170733 * r170735;
double r170737 = r170731 - r170736;
double r170738 = r170724 * r170737;
double r170739 = sqrt(r170738);
double r170740 = sqrt(r170739);
double r170741 = r170740 * r170740;
double r170742 = r170731 * r170714;
double r170743 = -r170733;
double r170744 = r170743 * r170735;
double r170745 = r170744 * r170714;
double r170746 = r170742 + r170745;
double r170747 = r170723 * r170746;
double r170748 = sqrt(r170747);
double r170749 = r170720 ? r170741 : r170748;
return r170749;
}



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 < -1.2841079021870823e-68 or 4.089192710274501e+70 < U Initial program 29.8
rmApplied *-un-lft-identity29.8
Applied times-frac27.0
Simplified27.0
rmApplied add-sqr-sqrt27.2
if -1.2841079021870823e-68 < U < 4.089192710274501e+70Initial program 36.4
rmApplied *-un-lft-identity36.4
Applied times-frac33.8
Simplified33.8
rmApplied add-cube-cbrt33.9
Applied associate-*r*33.9
rmApplied associate-*l*30.1
Simplified30.1
Final simplification29.0
herbie shell --seed 2019344
(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*))))))