\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 6.108446529047814 \cdot 10^{-226}:\\
\;\;\;\;{\left(\left(t \cdot n + \left(2 \cdot \ell - \left(U - U*\right) \cdot \frac{\left(-n\right) \cdot \ell}{Om}\right) \cdot \frac{\left(-n\right) \cdot \ell}{Om}\right) \cdot \left(U \cdot 2\right)\right)}^{\frac{1}{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 1.0427927580921139 \cdot 10^{+304}:\\
\;\;\;\;\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}:\\
\;\;\;\;{\left(\left(t \cdot n + \left(n \cdot \left(2 \cdot \ell - \left(n \cdot \left(-\frac{\ell}{Om}\right)\right) \cdot \left(U - U*\right)\right)\right) \cdot \left(-\frac{\ell}{Om}\right)\right) \cdot \left(U \cdot 2\right)\right)}^{\frac{1}{2}}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r2612769 = 2.0;
double r2612770 = n;
double r2612771 = r2612769 * r2612770;
double r2612772 = U;
double r2612773 = r2612771 * r2612772;
double r2612774 = t;
double r2612775 = l;
double r2612776 = r2612775 * r2612775;
double r2612777 = Om;
double r2612778 = r2612776 / r2612777;
double r2612779 = r2612769 * r2612778;
double r2612780 = r2612774 - r2612779;
double r2612781 = r2612775 / r2612777;
double r2612782 = pow(r2612781, r2612769);
double r2612783 = r2612770 * r2612782;
double r2612784 = U_;
double r2612785 = r2612772 - r2612784;
double r2612786 = r2612783 * r2612785;
double r2612787 = r2612780 - r2612786;
double r2612788 = r2612773 * r2612787;
double r2612789 = sqrt(r2612788);
return r2612789;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r2612790 = 2.0;
double r2612791 = n;
double r2612792 = r2612790 * r2612791;
double r2612793 = U;
double r2612794 = r2612792 * r2612793;
double r2612795 = t;
double r2612796 = l;
double r2612797 = r2612796 * r2612796;
double r2612798 = Om;
double r2612799 = r2612797 / r2612798;
double r2612800 = r2612799 * r2612790;
double r2612801 = r2612795 - r2612800;
double r2612802 = r2612796 / r2612798;
double r2612803 = pow(r2612802, r2612790);
double r2612804 = r2612791 * r2612803;
double r2612805 = U_;
double r2612806 = r2612793 - r2612805;
double r2612807 = r2612804 * r2612806;
double r2612808 = r2612801 - r2612807;
double r2612809 = r2612794 * r2612808;
double r2612810 = 6.108446529047814e-226;
bool r2612811 = r2612809 <= r2612810;
double r2612812 = r2612795 * r2612791;
double r2612813 = r2612790 * r2612796;
double r2612814 = -r2612791;
double r2612815 = r2612814 * r2612796;
double r2612816 = r2612815 / r2612798;
double r2612817 = r2612806 * r2612816;
double r2612818 = r2612813 - r2612817;
double r2612819 = r2612818 * r2612816;
double r2612820 = r2612812 + r2612819;
double r2612821 = r2612793 * r2612790;
double r2612822 = r2612820 * r2612821;
double r2612823 = 0.5;
double r2612824 = pow(r2612822, r2612823);
double r2612825 = 1.0427927580921139e+304;
bool r2612826 = r2612809 <= r2612825;
double r2612827 = sqrt(r2612809);
double r2612828 = -r2612802;
double r2612829 = r2612791 * r2612828;
double r2612830 = r2612829 * r2612806;
double r2612831 = r2612813 - r2612830;
double r2612832 = r2612791 * r2612831;
double r2612833 = r2612832 * r2612828;
double r2612834 = r2612812 + r2612833;
double r2612835 = r2612834 * r2612821;
double r2612836 = pow(r2612835, r2612823);
double r2612837 = r2612826 ? r2612827 : r2612836;
double r2612838 = r2612811 ? r2612824 : r2612837;
return r2612838;
}



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*)))) < 6.108446529047814e-226Initial program 46.6
Simplified33.5
rmApplied sub-neg33.5
Applied distribute-rgt-in33.5
Simplified31.9
rmApplied associate-*r*33.0
rmApplied pow1/233.0
rmApplied *-un-lft-identity33.0
Applied pow-unpow33.0
Simplified32.6
if 6.108446529047814e-226 < (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))) < 1.0427927580921139e+304Initial program 1.4
if 1.0427927580921139e+304 < (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))) Initial program 60.4
Simplified52.2
rmApplied sub-neg52.2
Applied distribute-rgt-in52.2
Simplified51.0
rmApplied associate-*r*43.1
rmApplied pow1/243.1
Final simplification24.0
herbie shell --seed 2019133
(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*))))))