\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 r880962 = 2.0;
double r880963 = n;
double r880964 = r880962 * r880963;
double r880965 = U;
double r880966 = r880964 * r880965;
double r880967 = t;
double r880968 = l;
double r880969 = r880968 * r880968;
double r880970 = Om;
double r880971 = r880969 / r880970;
double r880972 = r880962 * r880971;
double r880973 = r880967 - r880972;
double r880974 = r880968 / r880970;
double r880975 = pow(r880974, r880962);
double r880976 = r880963 * r880975;
double r880977 = U_;
double r880978 = r880965 - r880977;
double r880979 = r880976 * r880978;
double r880980 = r880973 - r880979;
double r880981 = r880966 * r880980;
double r880982 = sqrt(r880981);
return r880982;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r880983 = U;
double r880984 = 1.4828608859501e-310;
bool r880985 = r880983 <= r880984;
double r880986 = 2.0;
double r880987 = r880986 * r880983;
double r880988 = n;
double r880989 = t;
double r880990 = l;
double r880991 = Om;
double r880992 = r880990 / r880991;
double r880993 = r880986 * r880992;
double r880994 = r880993 * r880990;
double r880995 = r880992 * r880988;
double r880996 = U_;
double r880997 = r880983 - r880996;
double r880998 = r880992 * r880997;
double r880999 = r880995 * r880998;
double r881000 = r880994 + r880999;
double r881001 = r880989 - r881000;
double r881002 = r880988 * r881001;
double r881003 = r880987 * r881002;
double r881004 = sqrt(r881003);
double r881005 = r880992 * r880995;
double r881006 = r880997 * r881005;
double r881007 = r881006 + r880994;
double r881008 = r880989 - r881007;
double r881009 = r881008 * r880988;
double r881010 = sqrt(r881009);
double r881011 = sqrt(r880987);
double r881012 = r881010 * r881011;
double r881013 = r880985 ? r881004 : r881012;
return r881013;
}



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*))))))