double f(double n, double U, double t, double l, double Om, double U_) {
double r18232585 = 2.0;
double r18232586 = n;
double r18232587 = r18232585 * r18232586;
double r18232588 = U;
double r18232589 = r18232587 * r18232588;
double r18232590 = t;
double r18232591 = l;
double r18232592 = r18232591 * r18232591;
double r18232593 = Om;
double r18232594 = r18232592 / r18232593;
double r18232595 = r18232585 * r18232594;
double r18232596 = r18232590 - r18232595;
double r18232597 = r18232591 / r18232593;
double r18232598 = pow(r18232597, r18232585);
double r18232599 = r18232586 * r18232598;
double r18232600 = U_;
double r18232601 = r18232588 - r18232600;
double r18232602 = r18232599 * r18232601;
double r18232603 = r18232596 - r18232602;
double r18232604 = r18232589 * r18232603;
double r18232605 = sqrt(r18232604);
return r18232605;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r18232606 = n;
double r18232607 = -3.718468025429329e+78;
bool r18232608 = r18232606 <= r18232607;
double r18232609 = 2.0;
double r18232610 = U;
double r18232611 = r18232610 * r18232606;
double r18232612 = l;
double r18232613 = Om;
double r18232614 = r18232612 / r18232613;
double r18232615 = r18232612 * r18232614;
double r18232616 = -2.0;
double r18232617 = t;
double r18232618 = fma(r18232615, r18232616, r18232617);
double r18232619 = r18232614 * r18232614;
double r18232620 = U_;
double r18232621 = r18232610 - r18232620;
double r18232622 = r18232619 * r18232621;
double r18232623 = r18232606 * r18232622;
double r18232624 = r18232618 - r18232623;
double r18232625 = r18232611 * r18232624;
double r18232626 = r18232609 * r18232625;
double r18232627 = sqrt(r18232626);
double r18232628 = r18232618 * r18232606;
double r18232629 = r18232606 * r18232614;
double r18232630 = r18232629 * r18232629;
double r18232631 = r18232630 * r18232621;
double r18232632 = r18232628 - r18232631;
double r18232633 = r18232632 * r18232609;
double r18232634 = r18232633 * r18232610;
double r18232635 = 0.5;
double r18232636 = pow(r18232634, r18232635);
double r18232637 = r18232608 ? r18232627 : r18232636;
return r18232637;
}
\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}\;n \le -3.718468025429329 \cdot 10^{+78}:\\
\;\;\;\;\sqrt{2 \cdot \left(\left(U \cdot n\right) \cdot \left((\left(\ell \cdot \frac{\ell}{Om}\right) \cdot -2 + t)_* - n \cdot \left(\left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;{\left(\left(\left((\left(\ell \cdot \frac{\ell}{Om}\right) \cdot -2 + t)_* \cdot n - \left(\left(n \cdot \frac{\ell}{Om}\right) \cdot \left(n \cdot \frac{\ell}{Om}\right)\right) \cdot \left(U - U*\right)\right) \cdot 2\right) \cdot U\right)}^{\frac{1}{2}}\\
\end{array}


Bits error versus n



Bits error versus U



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus U*
if n < -3.718468025429329e+78Initial program 34.5
Simplified39.6
rmApplied *-un-lft-identity39.6
Applied times-frac39.2
Simplified39.2
rmApplied associate-*r*31.7
if -3.718468025429329e+78 < n Initial program 33.5
Simplified33.9
rmApplied *-un-lft-identity33.9
Applied times-frac31.0
Simplified31.0
rmApplied associate-*r*29.6
rmApplied sub-neg29.6
Applied distribute-rgt-in29.6
Applied distribute-rgt-in29.6
Simplified28.3
rmApplied pow128.3
Applied sqrt-pow128.3
Simplified28.3
Final simplification28.8
herbie shell --seed 2019101 +o rules:numerics
(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*))))))