\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 6.0567111237886108 \cdot 10^{-140}:\\
\;\;\;\;\sqrt{\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \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)}} \cdot \sqrt{\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \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)}}\\
\mathbf{elif}\;t \le 1.59180529795114251 \cdot 10^{187}:\\
\;\;\;\;\sqrt{{\left(\left(\left(2 \cdot n\right) \cdot \left(t - \left(2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right) - \left(-n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)\right)\right) \cdot U\right)}^{1}}\\
\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(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)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r168974 = 2.0;
double r168975 = n;
double r168976 = r168974 * r168975;
double r168977 = U;
double r168978 = r168976 * r168977;
double r168979 = t;
double r168980 = l;
double r168981 = r168980 * r168980;
double r168982 = Om;
double r168983 = r168981 / r168982;
double r168984 = r168974 * r168983;
double r168985 = r168979 - r168984;
double r168986 = r168980 / r168982;
double r168987 = pow(r168986, r168974);
double r168988 = r168975 * r168987;
double r168989 = U_;
double r168990 = r168977 - r168989;
double r168991 = r168988 * r168990;
double r168992 = r168985 - r168991;
double r168993 = r168978 * r168992;
double r168994 = sqrt(r168993);
return r168994;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r168995 = t;
double r168996 = 6.056711123788611e-140;
bool r168997 = r168995 <= r168996;
double r168998 = 2.0;
double r168999 = n;
double r169000 = r168998 * r168999;
double r169001 = U;
double r169002 = r169000 * r169001;
double r169003 = l;
double r169004 = Om;
double r169005 = r169003 / r169004;
double r169006 = r169003 * r169005;
double r169007 = r168998 * r169006;
double r169008 = r168995 - r169007;
double r169009 = 2.0;
double r169010 = r168998 / r169009;
double r169011 = pow(r169005, r169010);
double r169012 = r168999 * r169011;
double r169013 = U_;
double r169014 = r169001 - r169013;
double r169015 = r169011 * r169014;
double r169016 = r169012 * r169015;
double r169017 = r169008 - r169016;
double r169018 = r169002 * r169017;
double r169019 = sqrt(r169018);
double r169020 = sqrt(r169019);
double r169021 = r169020 * r169020;
double r169022 = 1.5918052979511425e+187;
bool r169023 = r168995 <= r169022;
double r169024 = r169009 * r169010;
double r169025 = pow(r169005, r169024);
double r169026 = r168999 * r169025;
double r169027 = -r169026;
double r169028 = r169027 * r169014;
double r169029 = r169007 - r169028;
double r169030 = r168995 - r169029;
double r169031 = r169000 * r169030;
double r169032 = r169031 * r169001;
double r169033 = 1.0;
double r169034 = pow(r169032, r169033);
double r169035 = sqrt(r169034);
double r169036 = sqrt(r169002);
double r169037 = sqrt(r169017);
double r169038 = r169036 * r169037;
double r169039 = r169023 ? r169035 : r169038;
double r169040 = r168997 ? r169021 : r169039;
return r169040;
}



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 < 6.056711123788611e-140Initial program 35.3
rmApplied *-un-lft-identity35.3
Applied times-frac32.9
Simplified32.9
rmApplied sqr-pow32.9
Applied associate-*r*32.0
rmApplied associate-*l*31.6
rmApplied add-sqr-sqrt31.7
if 6.056711123788611e-140 < t < 1.5918052979511425e+187Initial program 31.9
rmApplied *-un-lft-identity31.9
Applied times-frac29.1
Simplified29.1
rmApplied sqr-pow29.1
Applied associate-*r*28.4
rmApplied pow128.4
Applied pow128.4
Applied pow128.4
Applied pow128.4
Applied pow-prod-down28.4
Applied pow-prod-down28.4
Applied pow-prod-down28.4
Simplified28.7
if 1.5918052979511425e+187 < t Initial program 38.9
rmApplied *-un-lft-identity38.9
Applied times-frac35.9
Simplified35.9
rmApplied sqr-pow35.9
Applied associate-*r*35.2
rmApplied associate-*l*35.7
rmApplied sqrt-prod23.2
Final simplification30.1
herbie shell --seed 2020025
(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*))))))