\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 -8.140819768086048881883520028105433881922 \cdot 10^{57}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - 0\right)}\\
\mathbf{elif}\;U \le 5.356444674346501282333945240173040396999 \cdot 10^{-70}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\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{\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\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 \frac{\ell}{\frac{Om}{\ell}}\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)}}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r196957 = 2.0;
double r196958 = n;
double r196959 = r196957 * r196958;
double r196960 = U;
double r196961 = r196959 * r196960;
double r196962 = t;
double r196963 = l;
double r196964 = r196963 * r196963;
double r196965 = Om;
double r196966 = r196964 / r196965;
double r196967 = r196957 * r196966;
double r196968 = r196962 - r196967;
double r196969 = r196963 / r196965;
double r196970 = pow(r196969, r196957);
double r196971 = r196958 * r196970;
double r196972 = U_;
double r196973 = r196960 - r196972;
double r196974 = r196971 * r196973;
double r196975 = r196968 - r196974;
double r196976 = r196961 * r196975;
double r196977 = sqrt(r196976);
return r196977;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r196978 = U;
double r196979 = -8.140819768086049e+57;
bool r196980 = r196978 <= r196979;
double r196981 = 2.0;
double r196982 = n;
double r196983 = r196981 * r196982;
double r196984 = r196983 * r196978;
double r196985 = t;
double r196986 = l;
double r196987 = Om;
double r196988 = r196987 / r196986;
double r196989 = r196986 / r196988;
double r196990 = r196981 * r196989;
double r196991 = r196985 - r196990;
double r196992 = 0.0;
double r196993 = r196991 - r196992;
double r196994 = r196984 * r196993;
double r196995 = sqrt(r196994);
double r196996 = 5.356444674346501e-70;
bool r196997 = r196978 <= r196996;
double r196998 = r196986 / r196987;
double r196999 = 2.0;
double r197000 = r196981 / r196999;
double r197001 = pow(r196998, r197000);
double r197002 = r196982 * r197001;
double r197003 = U_;
double r197004 = r196978 - r197003;
double r197005 = r197001 * r197004;
double r197006 = r197002 * r197005;
double r197007 = r196991 - r197006;
double r197008 = r196978 * r197007;
double r197009 = r196983 * r197008;
double r197010 = sqrt(r197009);
double r197011 = r196984 * r197007;
double r197012 = sqrt(r197011);
double r197013 = sqrt(r197012);
double r197014 = r197013 * r197013;
double r197015 = r196997 ? r197010 : r197014;
double r197016 = r196980 ? r196995 : r197015;
return r197016;
}



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 < -8.140819768086049e+57Initial program 29.3
rmApplied associate-/l*26.5
Taylor expanded around 0 28.3
if -8.140819768086049e+57 < U < 5.356444674346501e-70Initial program 38.2
rmApplied associate-/l*35.4
rmApplied sqr-pow35.4
Applied associate-*r*34.2
rmApplied associate-*l*33.8
rmApplied associate-*l*29.8
if 5.356444674346501e-70 < U Initial program 30.3
rmApplied associate-/l*27.2
rmApplied sqr-pow27.2
Applied associate-*r*25.9
rmApplied associate-*l*26.6
rmApplied add-sqr-sqrt26.8
Final simplification28.8
herbie shell --seed 2019297
(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*))))))