\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}\;n \le -9.944037691838278 \cdot 10^{-75}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \sqrt[3]{U - U*} \cdot \left(n \cdot \left(\left(\sqrt[3]{U - U*} \cdot \frac{\ell}{Om}\right) \cdot \left(\sqrt[3]{U - U*} \cdot \frac{\ell}{Om}\right)\right)\right)\right)}\\
\mathbf{elif}\;n \le -1.1144092498290265 \cdot 10^{-301}:\\
\;\;\;\;\sqrt{\left(U \cdot \left(t - \mathsf{fma}\left(\ell, \frac{\ell}{Om} \cdot 2, \frac{\left(\left(\ell \cdot \frac{\ell}{Om}\right) \cdot n\right) \cdot \left(U - U*\right)}{Om}\right)\right)\right) \cdot \left(2 \cdot n\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{U \cdot \left(t - \mathsf{fma}\left(\ell, \frac{\ell}{Om} \cdot 2, \left(U - U*\right) \cdot \left(\sqrt[3]{n} \cdot \left(\left(\sqrt[3]{n} \cdot \frac{\ell}{Om}\right) \cdot \left(\sqrt[3]{n} \cdot \frac{\ell}{Om}\right)\right)\right)\right)\right)} \cdot \sqrt{2 \cdot n}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r811028 = 2.0;
double r811029 = n;
double r811030 = r811028 * r811029;
double r811031 = U;
double r811032 = r811030 * r811031;
double r811033 = t;
double r811034 = l;
double r811035 = r811034 * r811034;
double r811036 = Om;
double r811037 = r811035 / r811036;
double r811038 = r811028 * r811037;
double r811039 = r811033 - r811038;
double r811040 = r811034 / r811036;
double r811041 = pow(r811040, r811028);
double r811042 = r811029 * r811041;
double r811043 = U_;
double r811044 = r811031 - r811043;
double r811045 = r811042 * r811044;
double r811046 = r811039 - r811045;
double r811047 = r811032 * r811046;
double r811048 = sqrt(r811047);
return r811048;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r811049 = n;
double r811050 = -9.944037691838278e-75;
bool r811051 = r811049 <= r811050;
double r811052 = 2.0;
double r811053 = r811052 * r811049;
double r811054 = U;
double r811055 = r811053 * r811054;
double r811056 = t;
double r811057 = l;
double r811058 = Om;
double r811059 = r811057 / r811058;
double r811060 = r811057 * r811059;
double r811061 = r811052 * r811060;
double r811062 = r811056 - r811061;
double r811063 = U_;
double r811064 = r811054 - r811063;
double r811065 = cbrt(r811064);
double r811066 = r811065 * r811059;
double r811067 = r811066 * r811066;
double r811068 = r811049 * r811067;
double r811069 = r811065 * r811068;
double r811070 = r811062 - r811069;
double r811071 = r811055 * r811070;
double r811072 = sqrt(r811071);
double r811073 = -1.1144092498290265e-301;
bool r811074 = r811049 <= r811073;
double r811075 = r811059 * r811052;
double r811076 = r811060 * r811049;
double r811077 = r811076 * r811064;
double r811078 = r811077 / r811058;
double r811079 = fma(r811057, r811075, r811078);
double r811080 = r811056 - r811079;
double r811081 = r811054 * r811080;
double r811082 = r811081 * r811053;
double r811083 = sqrt(r811082);
double r811084 = cbrt(r811049);
double r811085 = r811084 * r811059;
double r811086 = r811085 * r811085;
double r811087 = r811084 * r811086;
double r811088 = r811064 * r811087;
double r811089 = fma(r811057, r811075, r811088);
double r811090 = r811056 - r811089;
double r811091 = r811054 * r811090;
double r811092 = sqrt(r811091);
double r811093 = sqrt(r811053);
double r811094 = r811092 * r811093;
double r811095 = r811074 ? r811083 : r811094;
double r811096 = r811051 ? r811072 : r811095;
return r811096;
}



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 n < -9.944037691838278e-75Initial program 30.7
rmApplied *-un-lft-identity30.7
Applied times-frac28.2
Simplified28.2
rmApplied add-cube-cbrt28.2
Applied associate-*r*28.2
Simplified27.1
if -9.944037691838278e-75 < n < -1.1144092498290265e-301Initial program 34.9
rmApplied *-un-lft-identity34.9
Applied times-frac32.4
Simplified32.4
rmApplied associate-*l*31.2
Simplified31.2
rmApplied associate-*r/31.2
Applied associate-*l/30.2
Applied associate-*l/30.1
if -1.1144092498290265e-301 < n Initial program 32.9
rmApplied *-un-lft-identity32.9
Applied times-frac30.3
Simplified30.3
rmApplied associate-*l*29.9
Simplified29.9
rmApplied add-cube-cbrt30.0
Applied associate-*r*30.0
Simplified29.2
rmApplied sqrt-prod22.6
Final simplification25.5
herbie shell --seed 2019152 +o rules:numerics
(FPCore (n U t l Om U*)
:name "Toniolo and Linder, Equation (13)"
(sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))))