\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 2.76275386896408217 \cdot 10^{-236}:\\
\;\;\;\;\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{\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \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)}} \cdot \sqrt{\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \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)}}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r208335 = 2.0;
double r208336 = n;
double r208337 = r208335 * r208336;
double r208338 = U;
double r208339 = r208337 * r208338;
double r208340 = t;
double r208341 = l;
double r208342 = r208341 * r208341;
double r208343 = Om;
double r208344 = r208342 / r208343;
double r208345 = r208335 * r208344;
double r208346 = r208340 - r208345;
double r208347 = r208341 / r208343;
double r208348 = pow(r208347, r208335);
double r208349 = r208336 * r208348;
double r208350 = U_;
double r208351 = r208338 - r208350;
double r208352 = r208349 * r208351;
double r208353 = r208346 - r208352;
double r208354 = r208339 * r208353;
double r208355 = sqrt(r208354);
return r208355;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r208356 = n;
double r208357 = 2.762753868964082e-236;
bool r208358 = r208356 <= r208357;
double r208359 = 2.0;
double r208360 = r208359 * r208356;
double r208361 = U;
double r208362 = t;
double r208363 = l;
double r208364 = Om;
double r208365 = r208363 / r208364;
double r208366 = r208363 * r208365;
double r208367 = r208359 * r208366;
double r208368 = r208362 - r208367;
double r208369 = 2.0;
double r208370 = r208359 / r208369;
double r208371 = pow(r208365, r208370);
double r208372 = r208356 * r208371;
double r208373 = U_;
double r208374 = r208361 - r208373;
double r208375 = r208371 * r208374;
double r208376 = r208372 * r208375;
double r208377 = r208368 - r208376;
double r208378 = r208361 * r208377;
double r208379 = r208360 * r208378;
double r208380 = sqrt(r208379);
double r208381 = r208360 * r208361;
double r208382 = r208381 * r208377;
double r208383 = sqrt(r208382);
double r208384 = sqrt(r208383);
double r208385 = r208384 * r208384;
double r208386 = r208358 ? r208380 : r208385;
return r208386;
}



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 < 2.762753868964082e-236Initial program 35.7
rmApplied *-un-lft-identity35.7
Applied times-frac33.4
Simplified33.4
rmApplied sqr-pow33.4
Applied associate-*r*32.6
rmApplied associate-*l*32.7
rmApplied associate-*l*32.3
if 2.762753868964082e-236 < n Initial program 33.3
rmApplied *-un-lft-identity33.3
Applied times-frac30.6
Simplified30.6
rmApplied sqr-pow30.6
Applied associate-*r*29.8
rmApplied associate-*l*29.4
rmApplied add-sqr-sqrt29.6
Final simplification31.1
herbie shell --seed 2020083 +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*))))))