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



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
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
Applied pow125.1
Applied pow-prod-down25.1
Simplified25.3
rmApplied add-sqr-sqrt25.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*))))))