\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 r1203497 = 2.0;
double r1203498 = n;
double r1203499 = r1203497 * r1203498;
double r1203500 = U;
double r1203501 = r1203499 * r1203500;
double r1203502 = t;
double r1203503 = l;
double r1203504 = r1203503 * r1203503;
double r1203505 = Om;
double r1203506 = r1203504 / r1203505;
double r1203507 = r1203497 * r1203506;
double r1203508 = r1203502 - r1203507;
double r1203509 = r1203503 / r1203505;
double r1203510 = pow(r1203509, r1203497);
double r1203511 = r1203498 * r1203510;
double r1203512 = U_;
double r1203513 = r1203500 - r1203512;
double r1203514 = r1203511 * r1203513;
double r1203515 = r1203508 - r1203514;
double r1203516 = r1203501 * r1203515;
double r1203517 = sqrt(r1203516);
return r1203517;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r1203518 = t;
double r1203519 = -9.804527147066395e-276;
bool r1203520 = r1203518 <= r1203519;
double r1203521 = 2.0;
double r1203522 = n;
double r1203523 = r1203521 * r1203522;
double r1203524 = U;
double r1203525 = l;
double r1203526 = r1203521 * r1203525;
double r1203527 = U_;
double r1203528 = r1203527 - r1203524;
double r1203529 = Om;
double r1203530 = r1203525 / r1203529;
double r1203531 = r1203522 * r1203530;
double r1203532 = r1203528 * r1203531;
double r1203533 = r1203526 - r1203532;
double r1203534 = r1203533 * r1203530;
double r1203535 = r1203518 - r1203534;
double r1203536 = r1203524 * r1203535;
double r1203537 = r1203523 * r1203536;
double r1203538 = sqrt(r1203537);
double r1203539 = 5.990765886638682e-192;
bool r1203540 = r1203518 <= r1203539;
double r1203541 = r1203522 * r1203528;
double r1203542 = r1203530 * r1203541;
double r1203543 = r1203526 - r1203542;
double r1203544 = r1203530 * r1203543;
double r1203545 = r1203518 - r1203544;
double r1203546 = r1203545 * r1203521;
double r1203547 = sqrt(r1203546);
double r1203548 = r1203524 * r1203522;
double r1203549 = sqrt(r1203548);
double r1203550 = r1203547 * r1203549;
double r1203551 = 1.1941332647520435e+46;
bool r1203552 = r1203518 <= r1203551;
double r1203553 = r1203552 ? r1203538 : r1203550;
double r1203554 = r1203540 ? r1203550 : r1203553;
double r1203555 = r1203520 ? r1203538 : r1203554;
return r1203555;
}



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*))))))