\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.379719815826530589603530820932364731187 \cdot 10^{241}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(t - \frac{\ell}{Om} \cdot \left(\ell \cdot 2\right)\right)}\\
\mathbf{elif}\;t \le -3.772245666195913577646904748734404208118 \cdot 10^{-180}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right) \cdot \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(U - U*\right)\right)\right)\right)}\\
\mathbf{elif}\;t \le 1.39311700673337772156748504137624422583 \cdot 10^{-4}:\\
\;\;\;\;\sqrt{\left(\left(-\ell \cdot \frac{\ell}{Om}\right) \cdot 2 - \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right) \cdot \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(U - U*\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right) + \left(\left(2 \cdot n\right) \cdot U\right) \cdot t}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right) \cdot \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(U - U*\right)\right)} \cdot \sqrt{\left(2 \cdot n\right) \cdot U}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r3679526 = 2.0;
double r3679527 = n;
double r3679528 = r3679526 * r3679527;
double r3679529 = U;
double r3679530 = r3679528 * r3679529;
double r3679531 = t;
double r3679532 = l;
double r3679533 = r3679532 * r3679532;
double r3679534 = Om;
double r3679535 = r3679533 / r3679534;
double r3679536 = r3679526 * r3679535;
double r3679537 = r3679531 - r3679536;
double r3679538 = r3679532 / r3679534;
double r3679539 = pow(r3679538, r3679526);
double r3679540 = r3679527 * r3679539;
double r3679541 = U_;
double r3679542 = r3679529 - r3679541;
double r3679543 = r3679540 * r3679542;
double r3679544 = r3679537 - r3679543;
double r3679545 = r3679530 * r3679544;
double r3679546 = sqrt(r3679545);
return r3679546;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r3679547 = t;
double r3679548 = -9.37971981582653e+241;
bool r3679549 = r3679547 <= r3679548;
double r3679550 = 2.0;
double r3679551 = n;
double r3679552 = r3679550 * r3679551;
double r3679553 = U;
double r3679554 = r3679552 * r3679553;
double r3679555 = l;
double r3679556 = Om;
double r3679557 = r3679555 / r3679556;
double r3679558 = r3679555 * r3679550;
double r3679559 = r3679557 * r3679558;
double r3679560 = r3679547 - r3679559;
double r3679561 = r3679554 * r3679560;
double r3679562 = sqrt(r3679561);
double r3679563 = -3.7722456661959136e-180;
bool r3679564 = r3679547 <= r3679563;
double r3679565 = r3679555 * r3679557;
double r3679566 = r3679550 * r3679565;
double r3679567 = r3679547 - r3679566;
double r3679568 = 2.0;
double r3679569 = r3679550 / r3679568;
double r3679570 = pow(r3679557, r3679569);
double r3679571 = r3679570 * r3679551;
double r3679572 = U_;
double r3679573 = r3679553 - r3679572;
double r3679574 = r3679570 * r3679573;
double r3679575 = r3679571 * r3679574;
double r3679576 = r3679567 - r3679575;
double r3679577 = r3679553 * r3679576;
double r3679578 = r3679552 * r3679577;
double r3679579 = sqrt(r3679578);
double r3679580 = 0.00013931170067333777;
bool r3679581 = r3679547 <= r3679580;
double r3679582 = -r3679565;
double r3679583 = r3679582 * r3679550;
double r3679584 = r3679583 - r3679575;
double r3679585 = r3679584 * r3679554;
double r3679586 = r3679554 * r3679547;
double r3679587 = r3679585 + r3679586;
double r3679588 = sqrt(r3679587);
double r3679589 = sqrt(r3679576);
double r3679590 = sqrt(r3679554);
double r3679591 = r3679589 * r3679590;
double r3679592 = r3679581 ? r3679588 : r3679591;
double r3679593 = r3679564 ? r3679579 : r3679592;
double r3679594 = r3679549 ? r3679562 : r3679593;
return r3679594;
}



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.37971981582653e+241Initial program 41.0
rmApplied sqr-pow41.0
Applied associate-*r*40.8
rmApplied *-un-lft-identity40.8
Applied times-frac38.5
Simplified38.5
Taylor expanded around 0 40.3
Simplified37.9
if -9.37971981582653e+241 < t < -3.7722456661959136e-180Initial program 32.6
rmApplied sqr-pow32.6
Applied associate-*r*31.8
rmApplied *-un-lft-identity31.8
Applied times-frac29.0
Simplified29.0
rmApplied associate-*l*29.1
rmApplied associate-*l*28.8
if -3.7722456661959136e-180 < t < 0.00013931170067333777Initial program 35.0
rmApplied sqr-pow35.0
Applied associate-*r*33.9
rmApplied *-un-lft-identity33.9
Applied times-frac30.6
Simplified30.6
rmApplied associate-*l*29.8
rmApplied sub-neg29.8
Applied associate--l+29.8
Applied distribute-rgt-in29.8
if 0.00013931170067333777 < t Initial program 34.4
rmApplied sqr-pow34.4
Applied associate-*r*34.0
rmApplied *-un-lft-identity34.0
Applied times-frac31.7
Simplified31.7
rmApplied associate-*l*32.0
rmApplied sqrt-prod27.2
Final simplification29.2
herbie shell --seed 2019172
(FPCore (n U t l Om U*)
:name "Toniolo and Linder, Equation (13)"
(sqrt (* (* (* 2.0 n) U) (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*))))))