\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 4.583682591988209 \cdot 10^{-251}:\\
\;\;\;\;{\left(\left(t - \left(\ell \cdot \left(2 \cdot \frac{\ell}{Om}\right) + \left(\frac{\ell}{Om} \cdot \left(U - U*\right)\right) \cdot \left(\frac{\ell}{Om} \cdot n\right)\right)\right) \cdot \left(\left(U \cdot 2\right) \cdot n\right)\right)}^{\frac{1}{2}}\\
\mathbf{elif}\;t \le 6.552094729632033 \cdot 10^{-157}:\\
\;\;\;\;\sqrt{\left(U \cdot 2\right) \cdot n} \cdot \sqrt{\left(t - \left(\frac{\ell}{Om} \cdot \left(U - U*\right)\right) \cdot \left(\frac{\ell}{Om} \cdot n\right)\right) - \frac{\ell}{Om} \cdot \left(2 \cdot \ell\right)}\\
\mathbf{elif}\;t \le 2.539192710887033 \cdot 10^{+96}:\\
\;\;\;\;\sqrt{\left(U \cdot 2\right) \cdot \left(\left(t - \left(\ell \cdot \left(2 \cdot \frac{\ell}{Om}\right) + \frac{\left(\left(\frac{\ell}{Om} \cdot n\right) \cdot \ell\right) \cdot \left(U - U*\right)}{Om}\right)\right) \cdot n\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(U \cdot 2\right) \cdot n} \cdot \sqrt{\left(t - \left(\frac{\ell}{Om} \cdot \left(U - U*\right)\right) \cdot \left(\frac{\ell}{Om} \cdot n\right)\right) - \frac{\ell}{Om} \cdot \left(2 \cdot \ell\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r1014511 = 2.0;
double r1014512 = n;
double r1014513 = r1014511 * r1014512;
double r1014514 = U;
double r1014515 = r1014513 * r1014514;
double r1014516 = t;
double r1014517 = l;
double r1014518 = r1014517 * r1014517;
double r1014519 = Om;
double r1014520 = r1014518 / r1014519;
double r1014521 = r1014511 * r1014520;
double r1014522 = r1014516 - r1014521;
double r1014523 = r1014517 / r1014519;
double r1014524 = pow(r1014523, r1014511);
double r1014525 = r1014512 * r1014524;
double r1014526 = U_;
double r1014527 = r1014514 - r1014526;
double r1014528 = r1014525 * r1014527;
double r1014529 = r1014522 - r1014528;
double r1014530 = r1014515 * r1014529;
double r1014531 = sqrt(r1014530);
return r1014531;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r1014532 = t;
double r1014533 = 4.583682591988209e-251;
bool r1014534 = r1014532 <= r1014533;
double r1014535 = l;
double r1014536 = 2.0;
double r1014537 = Om;
double r1014538 = r1014535 / r1014537;
double r1014539 = r1014536 * r1014538;
double r1014540 = r1014535 * r1014539;
double r1014541 = U;
double r1014542 = U_;
double r1014543 = r1014541 - r1014542;
double r1014544 = r1014538 * r1014543;
double r1014545 = n;
double r1014546 = r1014538 * r1014545;
double r1014547 = r1014544 * r1014546;
double r1014548 = r1014540 + r1014547;
double r1014549 = r1014532 - r1014548;
double r1014550 = r1014541 * r1014536;
double r1014551 = r1014550 * r1014545;
double r1014552 = r1014549 * r1014551;
double r1014553 = 0.5;
double r1014554 = pow(r1014552, r1014553);
double r1014555 = 6.552094729632033e-157;
bool r1014556 = r1014532 <= r1014555;
double r1014557 = sqrt(r1014551);
double r1014558 = r1014532 - r1014547;
double r1014559 = r1014536 * r1014535;
double r1014560 = r1014538 * r1014559;
double r1014561 = r1014558 - r1014560;
double r1014562 = sqrt(r1014561);
double r1014563 = r1014557 * r1014562;
double r1014564 = 2.539192710887033e+96;
bool r1014565 = r1014532 <= r1014564;
double r1014566 = r1014546 * r1014535;
double r1014567 = r1014566 * r1014543;
double r1014568 = r1014567 / r1014537;
double r1014569 = r1014540 + r1014568;
double r1014570 = r1014532 - r1014569;
double r1014571 = r1014570 * r1014545;
double r1014572 = r1014550 * r1014571;
double r1014573 = sqrt(r1014572);
double r1014574 = r1014565 ? r1014573 : r1014563;
double r1014575 = r1014556 ? r1014563 : r1014574;
double r1014576 = r1014534 ? r1014554 : r1014575;
return r1014576;
}



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 < 4.583682591988209e-251Initial program 32.8
Simplified29.5
rmApplied pow1/229.5
rmApplied associate-*r*29.3
rmApplied associate-*l*29.1
if 4.583682591988209e-251 < t < 6.552094729632033e-157 or 2.539192710887033e+96 < t Initial program 35.6
Simplified30.8
rmApplied pow1/230.8
rmApplied associate-*r*32.4
rmApplied unpow-prod-down26.3
Simplified26.3
Simplified26.6
if 6.552094729632033e-157 < t < 2.539192710887033e+96Initial program 30.2
Simplified26.4
rmApplied associate-*r/26.7
Applied associate-*l/26.8
Final simplification28.0
herbie shell --seed 2019156
(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*))))))