\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 -2.2929690545772815 \cdot 10^{+195}:\\
\;\;\;\;{\left(\left(U \cdot \left(n \cdot t + \frac{\left(\ell \cdot n\right) \cdot \left(-2 \cdot \ell - \frac{U - U*}{\frac{Om}{\ell \cdot n}}\right)}{Om}\right)\right) \cdot 2\right)}^{\frac{1}{2}}\\
\mathbf{elif}\;t \le 4.7931236222139514 \cdot 10^{-300}:\\
\;\;\;\;\sqrt{\left(\left(\left(\frac{\ell}{Om} \cdot n\right) \cdot U\right) \cdot \left(-2 \cdot \ell - \left(\frac{\ell}{Om} \cdot n\right) \cdot \left(U - U*\right)\right)\right) \cdot 2 + \sqrt[3]{\left(\left(2 \cdot n\right) \cdot U\right) \cdot t} \cdot \left(\sqrt[3]{\left(\left(2 \cdot n\right) \cdot U\right) \cdot t} \cdot \sqrt[3]{\left(\left(2 \cdot n\right) \cdot U\right) \cdot t}\right)}\\
\mathbf{elif}\;t \le 9.503639693249915 \cdot 10^{-246}:\\
\;\;\;\;\sqrt{2 \cdot \left(U \cdot n\right)} \cdot \sqrt{t - \frac{\ell}{Om} \cdot \left(2 \cdot \ell - \left(-\frac{\ell}{Om} \cdot n\right) \cdot \left(U - U*\right)\right)}\\
\mathbf{elif}\;t \le 8.989646100831337 \cdot 10^{+233}:\\
\;\;\;\;\sqrt{\sqrt{\left(U \cdot t\right) \cdot \left(2 \cdot n\right) + \left(\left(\left(\frac{\ell}{Om} \cdot n\right) \cdot U\right) \cdot \left(-2 \cdot \ell - \left(\frac{\ell}{Om} \cdot n\right) \cdot \left(U - U*\right)\right)\right) \cdot 2}} \cdot \sqrt{\sqrt{\left(U \cdot t\right) \cdot \left(2 \cdot n\right) + \left(\left(\left(\frac{\ell}{Om} \cdot n\right) \cdot U\right) \cdot \left(-2 \cdot \ell - \left(\frac{\ell}{Om} \cdot n\right) \cdot \left(U - U*\right)\right)\right) \cdot 2}}\\
\mathbf{elif}\;t \le 2.3441672195036816 \cdot 10^{+280}:\\
\;\;\;\;\sqrt{2 \cdot \left(U \cdot n\right)} \cdot \sqrt{t - \frac{\ell}{Om} \cdot \left(2 \cdot \ell - \left(-\frac{\ell}{Om} \cdot n\right) \cdot \left(U - U*\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\sqrt{\left(U \cdot t\right) \cdot \left(2 \cdot n\right) + \left(\left(\left(\frac{\ell}{Om} \cdot n\right) \cdot U\right) \cdot \left(-2 \cdot \ell - \left(\frac{\ell}{Om} \cdot n\right) \cdot \left(U - U*\right)\right)\right) \cdot 2}} \cdot \sqrt{\sqrt{\left(U \cdot t\right) \cdot \left(2 \cdot n\right) + \left(\left(\left(\frac{\ell}{Om} \cdot n\right) \cdot U\right) \cdot \left(-2 \cdot \ell - \left(\frac{\ell}{Om} \cdot n\right) \cdot \left(U - U*\right)\right)\right) \cdot 2}}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r7992557 = 2.0;
double r7992558 = n;
double r7992559 = r7992557 * r7992558;
double r7992560 = U;
double r7992561 = r7992559 * r7992560;
double r7992562 = t;
double r7992563 = l;
double r7992564 = r7992563 * r7992563;
double r7992565 = Om;
double r7992566 = r7992564 / r7992565;
double r7992567 = r7992557 * r7992566;
double r7992568 = r7992562 - r7992567;
double r7992569 = r7992563 / r7992565;
double r7992570 = pow(r7992569, r7992557);
double r7992571 = r7992558 * r7992570;
double r7992572 = U_;
double r7992573 = r7992560 - r7992572;
double r7992574 = r7992571 * r7992573;
double r7992575 = r7992568 - r7992574;
double r7992576 = r7992561 * r7992575;
double r7992577 = sqrt(r7992576);
return r7992577;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r7992578 = t;
double r7992579 = -2.2929690545772815e+195;
bool r7992580 = r7992578 <= r7992579;
double r7992581 = U;
double r7992582 = n;
double r7992583 = r7992582 * r7992578;
double r7992584 = l;
double r7992585 = r7992584 * r7992582;
double r7992586 = -2.0;
double r7992587 = r7992586 * r7992584;
double r7992588 = U_;
double r7992589 = r7992581 - r7992588;
double r7992590 = Om;
double r7992591 = r7992590 / r7992585;
double r7992592 = r7992589 / r7992591;
double r7992593 = r7992587 - r7992592;
double r7992594 = r7992585 * r7992593;
double r7992595 = r7992594 / r7992590;
double r7992596 = r7992583 + r7992595;
double r7992597 = r7992581 * r7992596;
double r7992598 = 2.0;
double r7992599 = r7992597 * r7992598;
double r7992600 = 0.5;
double r7992601 = pow(r7992599, r7992600);
double r7992602 = 4.7931236222139514e-300;
bool r7992603 = r7992578 <= r7992602;
double r7992604 = r7992584 / r7992590;
double r7992605 = r7992604 * r7992582;
double r7992606 = r7992605 * r7992581;
double r7992607 = r7992605 * r7992589;
double r7992608 = r7992587 - r7992607;
double r7992609 = r7992606 * r7992608;
double r7992610 = r7992609 * r7992598;
double r7992611 = r7992598 * r7992582;
double r7992612 = r7992611 * r7992581;
double r7992613 = r7992612 * r7992578;
double r7992614 = cbrt(r7992613);
double r7992615 = r7992614 * r7992614;
double r7992616 = r7992614 * r7992615;
double r7992617 = r7992610 + r7992616;
double r7992618 = sqrt(r7992617);
double r7992619 = 9.503639693249915e-246;
bool r7992620 = r7992578 <= r7992619;
double r7992621 = r7992581 * r7992582;
double r7992622 = r7992598 * r7992621;
double r7992623 = sqrt(r7992622);
double r7992624 = r7992598 * r7992584;
double r7992625 = -r7992605;
double r7992626 = r7992625 * r7992589;
double r7992627 = r7992624 - r7992626;
double r7992628 = r7992604 * r7992627;
double r7992629 = r7992578 - r7992628;
double r7992630 = sqrt(r7992629);
double r7992631 = r7992623 * r7992630;
double r7992632 = 8.989646100831337e+233;
bool r7992633 = r7992578 <= r7992632;
double r7992634 = r7992581 * r7992578;
double r7992635 = r7992634 * r7992611;
double r7992636 = r7992635 + r7992610;
double r7992637 = sqrt(r7992636);
double r7992638 = sqrt(r7992637);
double r7992639 = r7992638 * r7992638;
double r7992640 = 2.3441672195036816e+280;
bool r7992641 = r7992578 <= r7992640;
double r7992642 = r7992641 ? r7992631 : r7992639;
double r7992643 = r7992633 ? r7992639 : r7992642;
double r7992644 = r7992620 ? r7992631 : r7992643;
double r7992645 = r7992603 ? r7992618 : r7992644;
double r7992646 = r7992580 ? r7992601 : r7992645;
return r7992646;
}



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 < -2.2929690545772815e+195Initial program 36.9
rmApplied *-un-lft-identity36.9
Applied associate-*r*36.9
Simplified33.5
rmApplied sub-neg33.5
Applied distribute-rgt-in33.5
Simplified29.7
rmApplied pow129.7
Applied pow129.7
Applied pow-prod-down29.7
Simplified29.7
rmApplied pow129.7
Applied sqrt-pow129.7
Simplified29.9
if -2.2929690545772815e+195 < t < 4.7931236222139514e-300Initial program 32.1
rmApplied *-un-lft-identity32.1
Applied associate-*r*32.1
Simplified27.9
rmApplied sub-neg27.9
Applied distribute-rgt-in27.9
Simplified24.0
rmApplied add-cube-cbrt24.3
if 4.7931236222139514e-300 < t < 9.503639693249915e-246 or 8.989646100831337e+233 < t < 2.3441672195036816e+280Initial program 36.6
rmApplied *-un-lft-identity36.6
Applied associate-*r*36.6
Simplified31.9
rmApplied sqrt-prod27.1
Simplified27.1
if 9.503639693249915e-246 < t < 8.989646100831337e+233 or 2.3441672195036816e+280 < t Initial program 32.7
rmApplied *-un-lft-identity32.7
Applied associate-*r*32.7
Simplified29.0
rmApplied sub-neg29.0
Applied distribute-rgt-in29.0
Simplified25.1
rmApplied pow125.1
Applied pow125.1
Applied pow-prod-down25.1
Simplified25.3
rmApplied add-sqr-sqrt25.3
Applied sqrt-prod25.5
Final simplification25.5
herbie shell --seed 2019107
(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*))))))