\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 -1.133576989157685693038301810770112153763 \cdot 10^{195} \lor t \le 1.42033782314705655033673994958043351744 \cdot 10^{-5}:\\
\;\;\;\;\sqrt{{\left(\left(\left(2 \cdot n\right) \cdot \left(t - \left(2 \cdot \frac{\ell}{\frac{Om}{\ell}} - \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 \frac{\ell}{\frac{Om}{\ell}}\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 r178047 = 2.0;
double r178048 = n;
double r178049 = r178047 * r178048;
double r178050 = U;
double r178051 = r178049 * r178050;
double r178052 = t;
double r178053 = l;
double r178054 = r178053 * r178053;
double r178055 = Om;
double r178056 = r178054 / r178055;
double r178057 = r178047 * r178056;
double r178058 = r178052 - r178057;
double r178059 = r178053 / r178055;
double r178060 = pow(r178059, r178047);
double r178061 = r178048 * r178060;
double r178062 = U_;
double r178063 = r178050 - r178062;
double r178064 = r178061 * r178063;
double r178065 = r178058 - r178064;
double r178066 = r178051 * r178065;
double r178067 = sqrt(r178066);
return r178067;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r178068 = t;
double r178069 = -1.1335769891576857e+195;
bool r178070 = r178068 <= r178069;
double r178071 = 1.4203378231470566e-05;
bool r178072 = r178068 <= r178071;
bool r178073 = r178070 || r178072;
double r178074 = 2.0;
double r178075 = n;
double r178076 = r178074 * r178075;
double r178077 = l;
double r178078 = Om;
double r178079 = r178078 / r178077;
double r178080 = r178077 / r178079;
double r178081 = r178074 * r178080;
double r178082 = r178077 / r178078;
double r178083 = 2.0;
double r178084 = r178074 / r178083;
double r178085 = r178083 * r178084;
double r178086 = pow(r178082, r178085);
double r178087 = r178075 * r178086;
double r178088 = -r178087;
double r178089 = U;
double r178090 = U_;
double r178091 = r178089 - r178090;
double r178092 = r178088 * r178091;
double r178093 = r178081 - r178092;
double r178094 = r178068 - r178093;
double r178095 = r178076 * r178094;
double r178096 = r178095 * r178089;
double r178097 = 1.0;
double r178098 = pow(r178096, r178097);
double r178099 = sqrt(r178098);
double r178100 = r178076 * r178089;
double r178101 = sqrt(r178100);
double r178102 = r178068 - r178081;
double r178103 = pow(r178082, r178084);
double r178104 = r178075 * r178103;
double r178105 = r178104 * r178103;
double r178106 = r178105 * r178091;
double r178107 = r178102 - r178106;
double r178108 = sqrt(r178107);
double r178109 = r178101 * r178108;
double r178110 = r178073 ? r178099 : r178109;
return r178110;
}



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 < -1.1335769891576857e+195Initial program 39.3
rmApplied associate-/l*37.6
rmApplied sqr-pow37.6
Applied associate-*r*37.1
rmApplied pow137.1
Applied pow137.1
Applied pow137.1
Applied pow137.1
Applied pow-prod-down37.1
Applied pow-prod-down37.1
Applied pow-prod-down37.1
Simplified35.6
if -1.1335769891576857e+195 < t < 1.4203378231470566e-05Initial program 35.3
rmApplied associate-/l*32.2
rmApplied sqr-pow32.2
Applied associate-*r*31.0
rmApplied associate-*l*30.7
if 1.4203378231470566e-05 < t Initial program 35.6
rmApplied associate-/l*33.1
rmApplied sqr-pow33.1
Applied associate-*r*32.8
rmApplied sqrt-prod26.4
Final simplification31.3
herbie shell --seed 2019298
(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*))))))