\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 3.267507094638271513092036819515301596094 \cdot 10^{-308}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(U - U*\right) \cdot \left(\left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2 \cdot \frac{2}{2}}{2}\right)}\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{2 \cdot n} \cdot \sqrt{U \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(U - U*\right) \cdot \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r177331 = 2.0;
double r177332 = n;
double r177333 = r177331 * r177332;
double r177334 = U;
double r177335 = r177333 * r177334;
double r177336 = t;
double r177337 = l;
double r177338 = r177337 * r177337;
double r177339 = Om;
double r177340 = r177338 / r177339;
double r177341 = r177331 * r177340;
double r177342 = r177336 - r177341;
double r177343 = r177337 / r177339;
double r177344 = pow(r177343, r177331);
double r177345 = r177332 * r177344;
double r177346 = U_;
double r177347 = r177334 - r177346;
double r177348 = r177345 * r177347;
double r177349 = r177342 - r177348;
double r177350 = r177335 * r177349;
double r177351 = sqrt(r177350);
return r177351;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r177352 = n;
double r177353 = 3.2675070946382715e-308;
bool r177354 = r177352 <= r177353;
double r177355 = 2.0;
double r177356 = r177355 * r177352;
double r177357 = U;
double r177358 = t;
double r177359 = l;
double r177360 = Om;
double r177361 = r177360 / r177359;
double r177362 = r177359 / r177361;
double r177363 = r177355 * r177362;
double r177364 = r177358 - r177363;
double r177365 = U_;
double r177366 = r177357 - r177365;
double r177367 = r177359 / r177360;
double r177368 = 2.0;
double r177369 = r177355 / r177368;
double r177370 = pow(r177367, r177369);
double r177371 = r177370 * r177352;
double r177372 = r177368 * r177369;
double r177373 = r177372 / r177368;
double r177374 = pow(r177367, r177373);
double r177375 = r177371 * r177374;
double r177376 = r177366 * r177375;
double r177377 = r177364 - r177376;
double r177378 = r177357 * r177377;
double r177379 = r177356 * r177378;
double r177380 = sqrt(r177379);
double r177381 = sqrt(r177356);
double r177382 = pow(r177367, r177372);
double r177383 = r177352 * r177382;
double r177384 = r177366 * r177383;
double r177385 = r177364 - r177384;
double r177386 = r177357 * r177385;
double r177387 = sqrt(r177386);
double r177388 = r177381 * r177387;
double r177389 = r177354 ? r177380 : r177388;
return r177389;
}



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 < 3.2675070946382715e-308Initial program 35.0
rmApplied associate-/l*32.2
rmApplied sqr-pow32.2
Applied associate-*r*31.5
rmApplied associate-*l*30.9
Simplified31.8
rmApplied sqr-pow31.8
Applied associate-*r*30.9
Simplified30.9
if 3.2675070946382715e-308 < n Initial program 34.8
rmApplied associate-/l*31.8
rmApplied sqr-pow31.8
Applied associate-*r*31.0
rmApplied associate-*l*31.1
Simplified32.1
rmApplied sqrt-prod24.7
Final simplification27.8
herbie shell --seed 2019323
(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*))))))