\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}\;U \le 1.0522215767467281 \cdot 10^{-274}:\\
\;\;\;\;\sqrt{\left(2 \cdot U\right) \cdot \left(n \cdot \left(t - \left(\left(2 \cdot \frac{\ell}{Om}\right) \cdot \ell + \left(\frac{\ell}{Om} \cdot n\right) \cdot \left(\frac{\ell}{Om} \cdot \left(U - U*\right)\right)\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(t - \left(\left(U - U*\right) \cdot \left(\frac{\ell}{Om} \cdot \left(\frac{\ell}{Om} \cdot n\right)\right) + \left(2 \cdot \frac{\ell}{Om}\right) \cdot \ell\right)\right) \cdot n} \cdot \sqrt{2 \cdot U}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r933361 = 2.0;
double r933362 = n;
double r933363 = r933361 * r933362;
double r933364 = U;
double r933365 = r933363 * r933364;
double r933366 = t;
double r933367 = l;
double r933368 = r933367 * r933367;
double r933369 = Om;
double r933370 = r933368 / r933369;
double r933371 = r933361 * r933370;
double r933372 = r933366 - r933371;
double r933373 = r933367 / r933369;
double r933374 = pow(r933373, r933361);
double r933375 = r933362 * r933374;
double r933376 = U_;
double r933377 = r933364 - r933376;
double r933378 = r933375 * r933377;
double r933379 = r933372 - r933378;
double r933380 = r933365 * r933379;
double r933381 = sqrt(r933380);
return r933381;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r933382 = U;
double r933383 = 1.0522215767467281e-274;
bool r933384 = r933382 <= r933383;
double r933385 = 2.0;
double r933386 = r933385 * r933382;
double r933387 = n;
double r933388 = t;
double r933389 = l;
double r933390 = Om;
double r933391 = r933389 / r933390;
double r933392 = r933385 * r933391;
double r933393 = r933392 * r933389;
double r933394 = r933391 * r933387;
double r933395 = U_;
double r933396 = r933382 - r933395;
double r933397 = r933391 * r933396;
double r933398 = r933394 * r933397;
double r933399 = r933393 + r933398;
double r933400 = r933388 - r933399;
double r933401 = r933387 * r933400;
double r933402 = r933386 * r933401;
double r933403 = sqrt(r933402);
double r933404 = r933391 * r933394;
double r933405 = r933396 * r933404;
double r933406 = r933405 + r933393;
double r933407 = r933388 - r933406;
double r933408 = r933407 * r933387;
double r933409 = sqrt(r933408);
double r933410 = sqrt(r933386);
double r933411 = r933409 * r933410;
double r933412 = r933384 ? r933403 : r933411;
return r933412;
}



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 U < 1.0522215767467281e-274Initial program 34.0
Simplified30.5
rmApplied associate-*l*30.6
if 1.0522215767467281e-274 < U Initial program 31.6
Simplified28.6
rmApplied sqrt-prod22.3
Final simplification26.8
herbie shell --seed 2019155
(FPCore (n U t l Om U*)
:name "Toniolo and Linder, Equation (13)"
(sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))))