\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 -2.484360230131543375186529749532050760457 \cdot 10^{99} \lor \neg \left(U \le 4.221371199983704648470881238153361257851 \cdot 10^{-78}\right):\\
\;\;\;\;\sqrt{\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \mathsf{fma}\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}, U* - U, \mathsf{fma}\left(\ell, \left(-\frac{\ell}{Om}\right) \cdot 2, t\right)\right)}} \cdot \sqrt{\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \mathsf{fma}\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}, U* - U, \mathsf{fma}\left(\ell, \left(-\frac{\ell}{Om}\right) \cdot 2, t\right)\right)}}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(\mathsf{fma}\left(\left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2 \cdot \frac{2}{2}}{2}\right)}, U* - U, \mathsf{fma}\left(\ell, \left(-\frac{\ell}{Om}\right) \cdot 2, t\right)\right) \cdot U\right) \cdot \left(2 \cdot n\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r168964 = 2.0;
double r168965 = n;
double r168966 = r168964 * r168965;
double r168967 = U;
double r168968 = r168966 * r168967;
double r168969 = t;
double r168970 = l;
double r168971 = r168970 * r168970;
double r168972 = Om;
double r168973 = r168971 / r168972;
double r168974 = r168964 * r168973;
double r168975 = r168969 - r168974;
double r168976 = r168970 / r168972;
double r168977 = pow(r168976, r168964);
double r168978 = r168965 * r168977;
double r168979 = U_;
double r168980 = r168967 - r168979;
double r168981 = r168978 * r168980;
double r168982 = r168975 - r168981;
double r168983 = r168968 * r168982;
double r168984 = sqrt(r168983);
return r168984;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r168985 = U;
double r168986 = -2.4843602301315434e+99;
bool r168987 = r168985 <= r168986;
double r168988 = 4.2213711999837046e-78;
bool r168989 = r168985 <= r168988;
double r168990 = !r168989;
bool r168991 = r168987 || r168990;
double r168992 = 2.0;
double r168993 = n;
double r168994 = r168992 * r168993;
double r168995 = r168994 * r168985;
double r168996 = l;
double r168997 = Om;
double r168998 = r168996 / r168997;
double r168999 = 2.0;
double r169000 = r168992 / r168999;
double r169001 = r168999 * r169000;
double r169002 = pow(r168998, r169001);
double r169003 = r168993 * r169002;
double r169004 = U_;
double r169005 = r169004 - r168985;
double r169006 = -r168998;
double r169007 = r169006 * r168992;
double r169008 = t;
double r169009 = fma(r168996, r169007, r169008);
double r169010 = fma(r169003, r169005, r169009);
double r169011 = r168995 * r169010;
double r169012 = sqrt(r169011);
double r169013 = sqrt(r169012);
double r169014 = r169013 * r169013;
double r169015 = pow(r168998, r169000);
double r169016 = r169015 * r168993;
double r169017 = r169001 / r168999;
double r169018 = pow(r168998, r169017);
double r169019 = r169016 * r169018;
double r169020 = fma(r169019, r169005, r169009);
double r169021 = r169020 * r168985;
double r169022 = r169021 * r168994;
double r169023 = sqrt(r169022);
double r169024 = r168991 ? r169014 : r169023;
return r169024;
}



Bits error versus n



Bits error versus U



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus U*
if U < -2.4843602301315434e+99 or 4.2213711999837046e-78 < U Initial program 29.6
Simplified26.4
rmApplied sqr-pow26.4
Applied associate-*r*25.6
rmApplied add-sqr-sqrt25.8
Simplified26.6
Simplified26.6
if -2.4843602301315434e+99 < U < 4.2213711999837046e-78Initial program 37.6
Simplified35.2
rmApplied sqr-pow35.2
Applied associate-*r*34.4
rmApplied associate-*l*30.5
Simplified31.6
rmApplied sqr-pow31.6
Applied associate-*l*30.5
Simplified30.5
Final simplification29.0
herbie shell --seed 2019179 +o rules:numerics
(FPCore (n U t l Om U*)
:name "Toniolo and Linder, Equation (13)"
(sqrt (* (* (* 2.0 n) U) (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*))))))