\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 -1.712021468906686645219995359698905452875 \cdot 10^{-307}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(\left(t + \left(\left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right) \cdot \left(\sqrt[3]{U* - U} \cdot \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(\sqrt[3]{U* - U} \cdot \sqrt[3]{U* - U}\right)\right)\right) - \left(2 \cdot \ell\right) \cdot \frac{\ell}{Om}\right)\right) \cdot U\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{2 \cdot n} \cdot \sqrt{U \cdot \left(\left(\left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(U* - U\right)\right) \cdot \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right) - \left(2 \cdot \ell\right) \cdot \frac{\ell}{Om}\right) + t\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r2157783 = 2.0;
double r2157784 = n;
double r2157785 = r2157783 * r2157784;
double r2157786 = U;
double r2157787 = r2157785 * r2157786;
double r2157788 = t;
double r2157789 = l;
double r2157790 = r2157789 * r2157789;
double r2157791 = Om;
double r2157792 = r2157790 / r2157791;
double r2157793 = r2157783 * r2157792;
double r2157794 = r2157788 - r2157793;
double r2157795 = r2157789 / r2157791;
double r2157796 = pow(r2157795, r2157783);
double r2157797 = r2157784 * r2157796;
double r2157798 = U_;
double r2157799 = r2157786 - r2157798;
double r2157800 = r2157797 * r2157799;
double r2157801 = r2157794 - r2157800;
double r2157802 = r2157787 * r2157801;
double r2157803 = sqrt(r2157802);
return r2157803;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r2157804 = n;
double r2157805 = -1.7120214689066866e-307;
bool r2157806 = r2157804 <= r2157805;
double r2157807 = 2.0;
double r2157808 = r2157807 * r2157804;
double r2157809 = t;
double r2157810 = l;
double r2157811 = Om;
double r2157812 = r2157810 / r2157811;
double r2157813 = 2.0;
double r2157814 = r2157807 / r2157813;
double r2157815 = pow(r2157812, r2157814);
double r2157816 = r2157815 * r2157804;
double r2157817 = U_;
double r2157818 = U;
double r2157819 = r2157817 - r2157818;
double r2157820 = cbrt(r2157819);
double r2157821 = r2157820 * r2157820;
double r2157822 = r2157815 * r2157821;
double r2157823 = r2157820 * r2157822;
double r2157824 = r2157816 * r2157823;
double r2157825 = r2157807 * r2157810;
double r2157826 = r2157825 * r2157812;
double r2157827 = r2157824 - r2157826;
double r2157828 = r2157809 + r2157827;
double r2157829 = r2157828 * r2157818;
double r2157830 = r2157808 * r2157829;
double r2157831 = sqrt(r2157830);
double r2157832 = sqrt(r2157808);
double r2157833 = r2157815 * r2157819;
double r2157834 = r2157833 * r2157816;
double r2157835 = r2157834 - r2157826;
double r2157836 = r2157835 + r2157809;
double r2157837 = r2157818 * r2157836;
double r2157838 = sqrt(r2157837);
double r2157839 = r2157832 * r2157838;
double r2157840 = r2157806 ? r2157831 : r2157839;
return r2157840;
}



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 n < -1.7120214689066866e-307Initial program 34.3
Simplified32.4
rmApplied associate-*l*32.6
rmApplied sqr-pow32.6
Applied associate-*r*31.7
rmApplied associate-*l*31.3
rmApplied add-cube-cbrt31.3
Applied associate-*r*31.3
if -1.7120214689066866e-307 < n Initial program 34.2
Simplified30.8
rmApplied associate-*l*31.1
rmApplied sqr-pow31.1
Applied associate-*r*30.0
rmApplied associate-*l*29.9
rmApplied sqrt-prod22.9
Final simplification27.1
herbie shell --seed 2019171
(FPCore (n U t l Om U*)
:name "Toniolo and Linder, Equation (13)"
(sqrt (* (* (* 2.0 n) U) (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*))))))