\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}\;U \le -1.1668341231116616 \cdot 10^{-307}:\\
\;\;\;\;\sqrt{\sqrt{\left(2 \cdot U\right) \cdot \left(n \cdot \mathsf{fma}\left(U* - U, \frac{\frac{n}{\frac{Om}{\ell}}}{\frac{Om}{\ell}}, \mathsf{fma}\left(\frac{\ell}{\frac{Om}{\ell}}, -2, t\right)\right)\right)}} \cdot \sqrt{\sqrt{\left(2 \cdot U\right) \cdot \left(n \cdot \mathsf{fma}\left(U* - U, \frac{\frac{n}{\frac{Om}{\ell}}}{\frac{Om}{\ell}}, \mathsf{fma}\left(\frac{\ell}{\frac{Om}{\ell}}, -2, t\right)\right)\right)}}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{n \cdot \mathsf{fma}\left(U* - U, \frac{\frac{n}{\frac{Om}{\ell}}}{\frac{Om}{\ell}}, \mathsf{fma}\left(\frac{\ell}{\frac{Om}{\ell}}, -2, t\right)\right)} \cdot \sqrt{2 \cdot U}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r3170691 = 2.0;
double r3170692 = n;
double r3170693 = r3170691 * r3170692;
double r3170694 = U;
double r3170695 = r3170693 * r3170694;
double r3170696 = t;
double r3170697 = l;
double r3170698 = r3170697 * r3170697;
double r3170699 = Om;
double r3170700 = r3170698 / r3170699;
double r3170701 = r3170691 * r3170700;
double r3170702 = r3170696 - r3170701;
double r3170703 = r3170697 / r3170699;
double r3170704 = pow(r3170703, r3170691);
double r3170705 = r3170692 * r3170704;
double r3170706 = U_;
double r3170707 = r3170694 - r3170706;
double r3170708 = r3170705 * r3170707;
double r3170709 = r3170702 - r3170708;
double r3170710 = r3170695 * r3170709;
double r3170711 = sqrt(r3170710);
return r3170711;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r3170712 = U;
double r3170713 = -1.1668341231116616e-307;
bool r3170714 = r3170712 <= r3170713;
double r3170715 = 2.0;
double r3170716 = r3170715 * r3170712;
double r3170717 = n;
double r3170718 = U_;
double r3170719 = r3170718 - r3170712;
double r3170720 = Om;
double r3170721 = l;
double r3170722 = r3170720 / r3170721;
double r3170723 = r3170717 / r3170722;
double r3170724 = r3170723 / r3170722;
double r3170725 = r3170721 / r3170722;
double r3170726 = -2.0;
double r3170727 = t;
double r3170728 = fma(r3170725, r3170726, r3170727);
double r3170729 = fma(r3170719, r3170724, r3170728);
double r3170730 = r3170717 * r3170729;
double r3170731 = r3170716 * r3170730;
double r3170732 = sqrt(r3170731);
double r3170733 = sqrt(r3170732);
double r3170734 = r3170733 * r3170733;
double r3170735 = sqrt(r3170730);
double r3170736 = sqrt(r3170716);
double r3170737 = r3170735 * r3170736;
double r3170738 = r3170714 ? r3170734 : r3170737;
return r3170738;
}



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 U < -1.1668341231116616e-307Initial program 33.4
Simplified29.9
rmApplied add-sqr-sqrt30.1
if -1.1668341231116616e-307 < U Initial program 33.1
Simplified29.2
rmApplied sqrt-prod22.5
Final simplification26.3
herbie shell --seed 2019142 +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*))))))