\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.4828608859501 \cdot 10^{-310}:\\
\;\;\;\;\sqrt{\left(2 \cdot U\right) \cdot \left(n \cdot \left(t - \left(\left(2 \cdot \frac{\ell}{Om}\right) \cdot \ell + \left(\frac{\ell}{Om} \cdot n\right) \cdot \left(\frac{\ell}{Om} \cdot \left(U - U*\right)\right)\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(t - \left(\left(U - U*\right) \cdot \left(\frac{\ell}{Om} \cdot \left(\frac{\ell}{Om} \cdot n\right)\right) + \left(2 \cdot \frac{\ell}{Om}\right) \cdot \ell\right)\right) \cdot n} \cdot \sqrt{2 \cdot U}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r1285951 = 2.0;
double r1285952 = n;
double r1285953 = r1285951 * r1285952;
double r1285954 = U;
double r1285955 = r1285953 * r1285954;
double r1285956 = t;
double r1285957 = l;
double r1285958 = r1285957 * r1285957;
double r1285959 = Om;
double r1285960 = r1285958 / r1285959;
double r1285961 = r1285951 * r1285960;
double r1285962 = r1285956 - r1285961;
double r1285963 = r1285957 / r1285959;
double r1285964 = pow(r1285963, r1285951);
double r1285965 = r1285952 * r1285964;
double r1285966 = U_;
double r1285967 = r1285954 - r1285966;
double r1285968 = r1285965 * r1285967;
double r1285969 = r1285962 - r1285968;
double r1285970 = r1285955 * r1285969;
double r1285971 = sqrt(r1285970);
return r1285971;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r1285972 = U;
double r1285973 = 1.4828608859501e-310;
bool r1285974 = r1285972 <= r1285973;
double r1285975 = 2.0;
double r1285976 = r1285975 * r1285972;
double r1285977 = n;
double r1285978 = t;
double r1285979 = l;
double r1285980 = Om;
double r1285981 = r1285979 / r1285980;
double r1285982 = r1285975 * r1285981;
double r1285983 = r1285982 * r1285979;
double r1285984 = r1285981 * r1285977;
double r1285985 = U_;
double r1285986 = r1285972 - r1285985;
double r1285987 = r1285981 * r1285986;
double r1285988 = r1285984 * r1285987;
double r1285989 = r1285983 + r1285988;
double r1285990 = r1285978 - r1285989;
double r1285991 = r1285977 * r1285990;
double r1285992 = r1285976 * r1285991;
double r1285993 = sqrt(r1285992);
double r1285994 = r1285981 * r1285984;
double r1285995 = r1285986 * r1285994;
double r1285996 = r1285995 + r1285983;
double r1285997 = r1285978 - r1285996;
double r1285998 = r1285997 * r1285977;
double r1285999 = sqrt(r1285998);
double r1286000 = sqrt(r1285976);
double r1286001 = r1285999 * r1286000;
double r1286002 = r1285974 ? r1285993 : r1286001;
return r1286002;
}



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.4828608859501e-310Initial program 32.8
Simplified29.2
rmApplied associate-*l*29.4
if 1.4828608859501e-310 < U Initial program 32.7
Simplified29.0
rmApplied sqrt-prod21.8
Final simplification25.7
herbie shell --seed 2019152
(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*))))))