\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 -9.804527147066395 \cdot 10^{-276}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(t - \left(2 \cdot \ell - \left(U* - U\right) \cdot \left(n \cdot \frac{\ell}{Om}\right)\right) \cdot \frac{\ell}{Om}\right)\right)}\\
\mathbf{elif}\;t \le 5.990765886638682 \cdot 10^{-192}:\\
\;\;\;\;\sqrt{\left(t - \frac{\ell}{Om} \cdot \left(2 \cdot \ell - \frac{\ell}{Om} \cdot \left(n \cdot \left(U* - U\right)\right)\right)\right) \cdot 2} \cdot \sqrt{U \cdot n}\\
\mathbf{elif}\;t \le 1.1941332647520435 \cdot 10^{+46}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(t - \left(2 \cdot \ell - \left(U* - U\right) \cdot \left(n \cdot \frac{\ell}{Om}\right)\right) \cdot \frac{\ell}{Om}\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(t - \frac{\ell}{Om} \cdot \left(2 \cdot \ell - \frac{\ell}{Om} \cdot \left(n \cdot \left(U* - U\right)\right)\right)\right) \cdot 2} \cdot \sqrt{U \cdot n}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r2559406 = 2.0;
double r2559407 = n;
double r2559408 = r2559406 * r2559407;
double r2559409 = U;
double r2559410 = r2559408 * r2559409;
double r2559411 = t;
double r2559412 = l;
double r2559413 = r2559412 * r2559412;
double r2559414 = Om;
double r2559415 = r2559413 / r2559414;
double r2559416 = r2559406 * r2559415;
double r2559417 = r2559411 - r2559416;
double r2559418 = r2559412 / r2559414;
double r2559419 = pow(r2559418, r2559406);
double r2559420 = r2559407 * r2559419;
double r2559421 = U_;
double r2559422 = r2559409 - r2559421;
double r2559423 = r2559420 * r2559422;
double r2559424 = r2559417 - r2559423;
double r2559425 = r2559410 * r2559424;
double r2559426 = sqrt(r2559425);
return r2559426;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r2559427 = t;
double r2559428 = -9.804527147066395e-276;
bool r2559429 = r2559427 <= r2559428;
double r2559430 = 2.0;
double r2559431 = n;
double r2559432 = r2559430 * r2559431;
double r2559433 = U;
double r2559434 = l;
double r2559435 = r2559430 * r2559434;
double r2559436 = U_;
double r2559437 = r2559436 - r2559433;
double r2559438 = Om;
double r2559439 = r2559434 / r2559438;
double r2559440 = r2559431 * r2559439;
double r2559441 = r2559437 * r2559440;
double r2559442 = r2559435 - r2559441;
double r2559443 = r2559442 * r2559439;
double r2559444 = r2559427 - r2559443;
double r2559445 = r2559433 * r2559444;
double r2559446 = r2559432 * r2559445;
double r2559447 = sqrt(r2559446);
double r2559448 = 5.990765886638682e-192;
bool r2559449 = r2559427 <= r2559448;
double r2559450 = r2559431 * r2559437;
double r2559451 = r2559439 * r2559450;
double r2559452 = r2559435 - r2559451;
double r2559453 = r2559439 * r2559452;
double r2559454 = r2559427 - r2559453;
double r2559455 = r2559454 * r2559430;
double r2559456 = sqrt(r2559455);
double r2559457 = r2559433 * r2559431;
double r2559458 = sqrt(r2559457);
double r2559459 = r2559456 * r2559458;
double r2559460 = 1.1941332647520435e+46;
bool r2559461 = r2559427 <= r2559460;
double r2559462 = r2559461 ? r2559447 : r2559459;
double r2559463 = r2559449 ? r2559459 : r2559462;
double r2559464 = r2559429 ? r2559447 : r2559463;
return r2559464;
}



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 < -9.804527147066395e-276 or 5.990765886638682e-192 < t < 1.1941332647520435e+46Initial program 31.6
Simplified28.4
rmApplied associate-*l*28.1
Simplified30.1
rmApplied associate-*r*27.9
rmApplied associate-*r*27.8
if -9.804527147066395e-276 < t < 5.990765886638682e-192 or 1.1941332647520435e+46 < t Initial program 35.3
Simplified32.0
rmApplied sqrt-prod29.5
Simplified30.6
Final simplification28.8
herbie shell --seed 2019151
(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*))))))