\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}\;n \le 4.434459884563752 \cdot 10^{-310}:\\
\;\;\;\;\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{2 \cdot n} \cdot \sqrt{U \cdot \left(\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)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r215922 = 2.0;
double r215923 = n;
double r215924 = r215922 * r215923;
double r215925 = U;
double r215926 = r215924 * r215925;
double r215927 = t;
double r215928 = l;
double r215929 = r215928 * r215928;
double r215930 = Om;
double r215931 = r215929 / r215930;
double r215932 = r215922 * r215931;
double r215933 = r215927 - r215932;
double r215934 = r215928 / r215930;
double r215935 = pow(r215934, r215922);
double r215936 = r215923 * r215935;
double r215937 = U_;
double r215938 = r215925 - r215937;
double r215939 = r215936 * r215938;
double r215940 = r215933 - r215939;
double r215941 = r215926 * r215940;
double r215942 = sqrt(r215941);
return r215942;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r215943 = n;
double r215944 = 4.43445988456375e-310;
bool r215945 = r215943 <= r215944;
double r215946 = 2.0;
double r215947 = r215946 * r215943;
double r215948 = U;
double r215949 = t;
double r215950 = l;
double r215951 = Om;
double r215952 = r215950 / r215951;
double r215953 = r215950 * r215952;
double r215954 = r215946 * r215953;
double r215955 = r215949 - r215954;
double r215956 = 2.0;
double r215957 = r215946 / r215956;
double r215958 = pow(r215952, r215957);
double r215959 = r215943 * r215958;
double r215960 = U_;
double r215961 = r215948 - r215960;
double r215962 = r215958 * r215961;
double r215963 = r215959 * r215962;
double r215964 = r215955 - r215963;
double r215965 = r215948 * r215964;
double r215966 = r215947 * r215965;
double r215967 = sqrt(r215966);
double r215968 = sqrt(r215947);
double r215969 = r215959 * r215958;
double r215970 = r215969 * r215961;
double r215971 = r215955 - r215970;
double r215972 = r215948 * r215971;
double r215973 = sqrt(r215972);
double r215974 = r215968 * r215973;
double r215975 = r215945 ? r215967 : r215974;
return r215975;
}



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 n < 4.43445988456375e-310Initial program 33.7
rmApplied *-un-lft-identity33.7
Applied times-frac31.5
Simplified31.5
rmApplied associate-*l*31.5
rmApplied sqr-pow31.5
Applied associate-*r*30.4
rmApplied associate-*l*30.1
if 4.43445988456375e-310 < n Initial program 35.5
rmApplied *-un-lft-identity35.5
Applied times-frac32.5
Simplified32.5
rmApplied associate-*l*33.3
rmApplied sqr-pow33.3
Applied associate-*r*32.1
rmApplied sqrt-prod25.0
Final simplification27.5
herbie shell --seed 2020064 +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*))))))