\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}\;\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - \frac{\ell \cdot \ell}{Om} \cdot 2\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right) \le 0.0:\\
\;\;\;\;\sqrt{\left(\left(t \cdot n + \left(-\left(n \cdot \frac{\ell}{Om}\right) \cdot \left(2 \cdot \ell - \left(\frac{\left(\ell \cdot n\right) \cdot U*}{Om} - \frac{U}{\frac{Om}{\ell \cdot n}}\right)\right)\right)\right) \cdot U\right) \cdot 2}\\
\mathbf{elif}\;\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - \frac{\ell \cdot \ell}{Om} \cdot 2\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right) \le 9.477739406878279 \cdot 10^{+303}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - \frac{\ell \cdot \ell}{Om} \cdot 2\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(\left(\left(2 \cdot \ell - \left(n \cdot \left(U* - U\right)\right) \cdot \frac{\ell}{Om}\right) \cdot \left(-U\right)\right) \cdot \left(n \cdot \frac{\ell}{Om}\right) + U \cdot \left(t \cdot n\right)\right) \cdot 2}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r3428521 = 2.0;
double r3428522 = n;
double r3428523 = r3428521 * r3428522;
double r3428524 = U;
double r3428525 = r3428523 * r3428524;
double r3428526 = t;
double r3428527 = l;
double r3428528 = r3428527 * r3428527;
double r3428529 = Om;
double r3428530 = r3428528 / r3428529;
double r3428531 = r3428521 * r3428530;
double r3428532 = r3428526 - r3428531;
double r3428533 = r3428527 / r3428529;
double r3428534 = pow(r3428533, r3428521);
double r3428535 = r3428522 * r3428534;
double r3428536 = U_;
double r3428537 = r3428524 - r3428536;
double r3428538 = r3428535 * r3428537;
double r3428539 = r3428532 - r3428538;
double r3428540 = r3428525 * r3428539;
double r3428541 = sqrt(r3428540);
return r3428541;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r3428542 = 2.0;
double r3428543 = n;
double r3428544 = r3428542 * r3428543;
double r3428545 = U;
double r3428546 = r3428544 * r3428545;
double r3428547 = t;
double r3428548 = l;
double r3428549 = r3428548 * r3428548;
double r3428550 = Om;
double r3428551 = r3428549 / r3428550;
double r3428552 = r3428551 * r3428542;
double r3428553 = r3428547 - r3428552;
double r3428554 = r3428548 / r3428550;
double r3428555 = pow(r3428554, r3428542);
double r3428556 = r3428543 * r3428555;
double r3428557 = U_;
double r3428558 = r3428545 - r3428557;
double r3428559 = r3428556 * r3428558;
double r3428560 = r3428553 - r3428559;
double r3428561 = r3428546 * r3428560;
double r3428562 = 0.0;
bool r3428563 = r3428561 <= r3428562;
double r3428564 = r3428547 * r3428543;
double r3428565 = r3428543 * r3428554;
double r3428566 = r3428542 * r3428548;
double r3428567 = r3428548 * r3428543;
double r3428568 = r3428567 * r3428557;
double r3428569 = r3428568 / r3428550;
double r3428570 = r3428550 / r3428567;
double r3428571 = r3428545 / r3428570;
double r3428572 = r3428569 - r3428571;
double r3428573 = r3428566 - r3428572;
double r3428574 = r3428565 * r3428573;
double r3428575 = -r3428574;
double r3428576 = r3428564 + r3428575;
double r3428577 = r3428576 * r3428545;
double r3428578 = r3428577 * r3428542;
double r3428579 = sqrt(r3428578);
double r3428580 = 9.477739406878279e+303;
bool r3428581 = r3428561 <= r3428580;
double r3428582 = sqrt(r3428561);
double r3428583 = r3428557 - r3428545;
double r3428584 = r3428543 * r3428583;
double r3428585 = r3428584 * r3428554;
double r3428586 = r3428566 - r3428585;
double r3428587 = -r3428545;
double r3428588 = r3428586 * r3428587;
double r3428589 = r3428588 * r3428565;
double r3428590 = r3428545 * r3428564;
double r3428591 = r3428589 + r3428590;
double r3428592 = r3428591 * r3428542;
double r3428593 = sqrt(r3428592);
double r3428594 = r3428581 ? r3428582 : r3428593;
double r3428595 = r3428563 ? r3428579 : r3428594;
return r3428595;
}



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 (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))) < 0.0Initial program 56.9
Simplified38.2
rmApplied sub-neg38.2
Applied distribute-lft-in38.2
rmApplied distribute-lft-neg-in38.2
Applied associate-*r*38.2
Taylor expanded around 0 38.3
Simplified38.3
if 0.0 < (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))) < 9.477739406878279e+303Initial program 1.7
if 9.477739406878279e+303 < (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))) Initial program 60.3
Simplified52.5
rmApplied sub-neg52.5
Applied distribute-lft-in52.5
rmApplied distribute-lft-neg-in52.5
Applied associate-*r*45.4
rmApplied distribute-rgt-in45.4
rmApplied associate-*l*43.1
Final simplification23.3
herbie shell --seed 2019162
(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*))))))