\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 1.980056013607703 \cdot 10^{-310}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \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)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{2 \cdot n} \cdot \sqrt{U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\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)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r215172 = 2.0;
double r215173 = n;
double r215174 = r215172 * r215173;
double r215175 = U;
double r215176 = r215174 * r215175;
double r215177 = t;
double r215178 = l;
double r215179 = r215178 * r215178;
double r215180 = Om;
double r215181 = r215179 / r215180;
double r215182 = r215172 * r215181;
double r215183 = r215177 - r215182;
double r215184 = r215178 / r215180;
double r215185 = pow(r215184, r215172);
double r215186 = r215173 * r215185;
double r215187 = U_;
double r215188 = r215175 - r215187;
double r215189 = r215186 * r215188;
double r215190 = r215183 - r215189;
double r215191 = r215176 * r215190;
double r215192 = sqrt(r215191);
return r215192;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r215193 = n;
double r215194 = 1.9800560136077e-310;
bool r215195 = r215193 <= r215194;
double r215196 = 2.0;
double r215197 = r215196 * r215193;
double r215198 = U;
double r215199 = t;
double r215200 = l;
double r215201 = Om;
double r215202 = r215200 / r215201;
double r215203 = r215200 * r215202;
double r215204 = r215196 * r215203;
double r215205 = r215199 - r215204;
double r215206 = 2.0;
double r215207 = r215196 / r215206;
double r215208 = pow(r215202, r215207);
double r215209 = r215193 * r215208;
double r215210 = U_;
double r215211 = r215198 - r215210;
double r215212 = r215208 * r215211;
double r215213 = r215209 * r215212;
double r215214 = r215205 - r215213;
double r215215 = r215198 * r215214;
double r215216 = r215197 * r215215;
double r215217 = sqrt(r215216);
double r215218 = sqrt(r215197);
double r215219 = r215209 * r215208;
double r215220 = r215219 * r215211;
double r215221 = r215205 - r215220;
double r215222 = r215198 * r215221;
double r215223 = sqrt(r215222);
double r215224 = r215218 * r215223;
double r215225 = r215195 ? r215217 : r215224;
return r215225;
}



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 n < 1.9800560136077e-310Initial program 34.6
rmApplied *-un-lft-identity34.6
Applied times-frac31.6
Simplified31.6
rmApplied associate-*l*31.6
rmApplied sqr-pow31.6
Applied associate-*r*30.6
rmApplied associate-*l*30.3
if 1.9800560136077e-310 < n Initial program 34.5
rmApplied *-un-lft-identity34.5
Applied times-frac31.6
Simplified31.6
rmApplied associate-*l*32.0
rmApplied sqr-pow32.0
Applied associate-*r*31.1
rmApplied sqrt-prod23.5
Final simplification26.9
herbie shell --seed 2020046 +o rules:numerics
(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*))))))