\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 -5.147845724912201976044071050075956463843 \cdot 10^{-5} \lor \neg \left(n \le 12422347331609260556550144\right):\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\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)}\\
\mathbf{else}:\\
\;\;\;\;\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}}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r178342 = 2.0;
double r178343 = n;
double r178344 = r178342 * r178343;
double r178345 = U;
double r178346 = r178344 * r178345;
double r178347 = t;
double r178348 = l;
double r178349 = r178348 * r178348;
double r178350 = Om;
double r178351 = r178349 / r178350;
double r178352 = r178342 * r178351;
double r178353 = r178347 - r178352;
double r178354 = r178348 / r178350;
double r178355 = pow(r178354, r178342);
double r178356 = r178343 * r178355;
double r178357 = U_;
double r178358 = r178345 - r178357;
double r178359 = r178356 * r178358;
double r178360 = r178353 - r178359;
double r178361 = r178346 * r178360;
double r178362 = sqrt(r178361);
return r178362;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r178363 = n;
double r178364 = -5.147845724912202e-05;
bool r178365 = r178363 <= r178364;
double r178366 = 1.242234733160926e+25;
bool r178367 = r178363 <= r178366;
double r178368 = !r178367;
bool r178369 = r178365 || r178368;
double r178370 = 2.0;
double r178371 = r178370 * r178363;
double r178372 = U;
double r178373 = r178371 * r178372;
double r178374 = t;
double r178375 = l;
double r178376 = Om;
double r178377 = r178376 / r178375;
double r178378 = r178375 / r178377;
double r178379 = r178370 * r178378;
double r178380 = r178374 - r178379;
double r178381 = r178375 / r178376;
double r178382 = 2.0;
double r178383 = r178370 / r178382;
double r178384 = pow(r178381, r178383);
double r178385 = r178363 * r178384;
double r178386 = U_;
double r178387 = r178372 - r178386;
double r178388 = r178384 * r178387;
double r178389 = r178385 * r178388;
double r178390 = r178380 - r178389;
double r178391 = r178373 * r178390;
double r178392 = sqrt(r178391);
double r178393 = r178382 * r178383;
double r178394 = pow(r178381, r178393);
double r178395 = r178363 * r178394;
double r178396 = -r178395;
double r178397 = r178396 * r178387;
double r178398 = r178379 - r178397;
double r178399 = r178374 - r178398;
double r178400 = r178371 * r178399;
double r178401 = r178400 * r178372;
double r178402 = 1.0;
double r178403 = pow(r178401, r178402);
double r178404 = sqrt(r178403);
double r178405 = r178369 ? r178392 : r178404;
return r178405;
}



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 < -5.147845724912202e-05 or 1.242234733160926e+25 < n Initial program 33.2
rmApplied associate-/l*31.0
rmApplied sqr-pow31.0
Applied associate-*r*30.0
rmApplied associate-*l*29.1
if -5.147845724912202e-05 < n < 1.242234733160926e+25Initial program 35.0
rmApplied associate-/l*31.5
rmApplied sqr-pow31.5
Applied associate-*r*30.8
rmApplied pow130.8
Applied pow130.8
Applied pow130.8
Applied pow130.8
Applied pow-prod-down30.8
Applied pow-prod-down30.8
Applied pow-prod-down30.8
Simplified27.7
Final simplification28.2
herbie shell --seed 2019322
(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*))))))