\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.855026582373975 \cdot 10^{-247} \lor \neg \left(t \le 2.01004721233625683 \cdot 10^{-145} \lor \neg \left(t \le 3.1562417060230555 \cdot 10^{195}\right)\right):\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\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{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\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)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r170704 = 2.0;
double r170705 = n;
double r170706 = r170704 * r170705;
double r170707 = U;
double r170708 = r170706 * r170707;
double r170709 = t;
double r170710 = l;
double r170711 = r170710 * r170710;
double r170712 = Om;
double r170713 = r170711 / r170712;
double r170714 = r170704 * r170713;
double r170715 = r170709 - r170714;
double r170716 = r170710 / r170712;
double r170717 = pow(r170716, r170704);
double r170718 = r170705 * r170717;
double r170719 = U_;
double r170720 = r170707 - r170719;
double r170721 = r170718 * r170720;
double r170722 = r170715 - r170721;
double r170723 = r170708 * r170722;
double r170724 = sqrt(r170723);
return r170724;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r170725 = t;
double r170726 = 3.855026582373975e-247;
bool r170727 = r170725 <= r170726;
double r170728 = 2.010047212336257e-145;
bool r170729 = r170725 <= r170728;
double r170730 = 3.1562417060230555e+195;
bool r170731 = r170725 <= r170730;
double r170732 = !r170731;
bool r170733 = r170729 || r170732;
double r170734 = !r170733;
bool r170735 = r170727 || r170734;
double r170736 = 2.0;
double r170737 = n;
double r170738 = r170736 * r170737;
double r170739 = U;
double r170740 = l;
double r170741 = Om;
double r170742 = r170740 / r170741;
double r170743 = r170740 * r170742;
double r170744 = r170736 * r170743;
double r170745 = r170725 - r170744;
double r170746 = 2.0;
double r170747 = r170736 / r170746;
double r170748 = pow(r170742, r170747);
double r170749 = r170737 * r170748;
double r170750 = U_;
double r170751 = r170739 - r170750;
double r170752 = r170748 * r170751;
double r170753 = r170749 * r170752;
double r170754 = r170745 - r170753;
double r170755 = r170739 * r170754;
double r170756 = r170738 * r170755;
double r170757 = sqrt(r170756);
double r170758 = r170738 * r170739;
double r170759 = sqrt(r170758);
double r170760 = r170749 * r170748;
double r170761 = r170760 * r170751;
double r170762 = r170745 - r170761;
double r170763 = sqrt(r170762);
double r170764 = r170759 * r170763;
double r170765 = r170735 ? r170757 : r170764;
return r170765;
}



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.855026582373975e-247 or 2.010047212336257e-145 < t < 3.1562417060230555e+195Initial program 34.4
rmApplied *-un-lft-identity34.4
Applied times-frac31.5
Simplified31.5
rmApplied sqr-pow31.5
Applied associate-*r*30.5
rmApplied associate-*l*30.4
rmApplied associate-*l*30.6
if 3.855026582373975e-247 < t < 2.010047212336257e-145 or 3.1562417060230555e+195 < t Initial program 39.1
rmApplied *-un-lft-identity39.1
Applied times-frac35.9
Simplified35.9
rmApplied sqr-pow35.9
Applied associate-*r*34.8
rmApplied sqrt-prod28.4
Final simplification30.2
herbie shell --seed 2020034 +o rules:numerics
(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*))))))