\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 r215854 = 2.0;
double r215855 = n;
double r215856 = r215854 * r215855;
double r215857 = U;
double r215858 = r215856 * r215857;
double r215859 = t;
double r215860 = l;
double r215861 = r215860 * r215860;
double r215862 = Om;
double r215863 = r215861 / r215862;
double r215864 = r215854 * r215863;
double r215865 = r215859 - r215864;
double r215866 = r215860 / r215862;
double r215867 = pow(r215866, r215854);
double r215868 = r215855 * r215867;
double r215869 = U_;
double r215870 = r215857 - r215869;
double r215871 = r215868 * r215870;
double r215872 = r215865 - r215871;
double r215873 = r215858 * r215872;
double r215874 = sqrt(r215873);
return r215874;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r215875 = t;
double r215876 = 3.855026582373975e-247;
bool r215877 = r215875 <= r215876;
double r215878 = 2.010047212336257e-145;
bool r215879 = r215875 <= r215878;
double r215880 = 3.1562417060230555e+195;
bool r215881 = r215875 <= r215880;
double r215882 = !r215881;
bool r215883 = r215879 || r215882;
double r215884 = !r215883;
bool r215885 = r215877 || r215884;
double r215886 = 2.0;
double r215887 = n;
double r215888 = r215886 * r215887;
double r215889 = U;
double r215890 = l;
double r215891 = Om;
double r215892 = r215890 / r215891;
double r215893 = r215890 * r215892;
double r215894 = r215886 * r215893;
double r215895 = r215875 - r215894;
double r215896 = 2.0;
double r215897 = r215886 / r215896;
double r215898 = pow(r215892, r215897);
double r215899 = r215887 * r215898;
double r215900 = U_;
double r215901 = r215889 - r215900;
double r215902 = r215898 * r215901;
double r215903 = r215899 * r215902;
double r215904 = r215895 - r215903;
double r215905 = r215889 * r215904;
double r215906 = r215888 * r215905;
double r215907 = sqrt(r215906);
double r215908 = r215888 * r215889;
double r215909 = sqrt(r215908);
double r215910 = r215899 * r215898;
double r215911 = r215910 * r215901;
double r215912 = r215895 - r215911;
double r215913 = sqrt(r215912);
double r215914 = r215909 * r215913;
double r215915 = r215885 ? r215907 : r215914;
return r215915;
}



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