\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}\;t \le 8.120471958061494211765127711129383515551 \cdot 10^{92}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\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)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r198330 = 2.0;
double r198331 = n;
double r198332 = r198330 * r198331;
double r198333 = U;
double r198334 = r198332 * r198333;
double r198335 = t;
double r198336 = l;
double r198337 = r198336 * r198336;
double r198338 = Om;
double r198339 = r198337 / r198338;
double r198340 = r198330 * r198339;
double r198341 = r198335 - r198340;
double r198342 = r198336 / r198338;
double r198343 = pow(r198342, r198330);
double r198344 = r198331 * r198343;
double r198345 = U_;
double r198346 = r198333 - r198345;
double r198347 = r198344 * r198346;
double r198348 = r198341 - r198347;
double r198349 = r198334 * r198348;
double r198350 = sqrt(r198349);
return r198350;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r198351 = t;
double r198352 = 8.120471958061494e+92;
bool r198353 = r198351 <= r198352;
double r198354 = 2.0;
double r198355 = n;
double r198356 = r198354 * r198355;
double r198357 = U;
double r198358 = r198356 * r198357;
double r198359 = l;
double r198360 = Om;
double r198361 = r198360 / r198359;
double r198362 = r198359 / r198361;
double r198363 = r198354 * r198362;
double r198364 = r198351 - r198363;
double r198365 = r198359 / r198360;
double r198366 = 2.0;
double r198367 = r198354 / r198366;
double r198368 = pow(r198365, r198367);
double r198369 = r198355 * r198368;
double r198370 = r198369 * r198368;
double r198371 = U_;
double r198372 = r198357 - r198371;
double r198373 = r198370 * r198372;
double r198374 = r198364 - r198373;
double r198375 = r198358 * r198374;
double r198376 = sqrt(r198375);
double r198377 = sqrt(r198358);
double r198378 = pow(r198365, r198354);
double r198379 = r198355 * r198378;
double r198380 = r198379 * r198372;
double r198381 = r198364 - r198380;
double r198382 = sqrt(r198381);
double r198383 = r198377 * r198382;
double r198384 = r198353 ? r198376 : r198383;
return r198384;
}



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 t < 8.120471958061494e+92Initial program 34.2
rmApplied associate-/l*31.4
rmApplied sqr-pow31.4
Applied associate-*r*30.5
if 8.120471958061494e+92 < t Initial program 37.5
rmApplied associate-/l*35.0
rmApplied sqrt-prod26.4
Final simplification29.8
herbie shell --seed 2019326
(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*))))))