\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 -5.147845724912201976044071050075956463843 \cdot 10^{-5} \lor \neg \left(n \le 12422347331609260556550144\right):\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(\left(U - U*\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(\left(t - \mathsf{fma}\left(\frac{\ell}{\frac{Om}{\ell}}, 2, \left({\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)} \cdot n\right) \cdot \left(U - U*\right)\right)\right) \cdot \left(2 \cdot n\right)\right) \cdot U + U \cdot \left(\left(\left(\left(-\left({\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)} \cdot n\right) \cdot \left(U - U*\right)\right) + \left({\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)} \cdot n\right) \cdot \left(U - U*\right)\right) \cdot n\right) \cdot 2\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r181096 = 2.0;
double r181097 = n;
double r181098 = r181096 * r181097;
double r181099 = U;
double r181100 = r181098 * r181099;
double r181101 = t;
double r181102 = l;
double r181103 = r181102 * r181102;
double r181104 = Om;
double r181105 = r181103 / r181104;
double r181106 = r181096 * r181105;
double r181107 = r181101 - r181106;
double r181108 = r181102 / r181104;
double r181109 = pow(r181108, r181096);
double r181110 = r181097 * r181109;
double r181111 = U_;
double r181112 = r181099 - r181111;
double r181113 = r181110 * r181112;
double r181114 = r181107 - r181113;
double r181115 = r181100 * r181114;
double r181116 = sqrt(r181115);
return r181116;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r181117 = n;
double r181118 = -5.147845724912202e-05;
bool r181119 = r181117 <= r181118;
double r181120 = 1.242234733160926e+25;
bool r181121 = r181117 <= r181120;
double r181122 = !r181121;
bool r181123 = r181119 || r181122;
double r181124 = 2.0;
double r181125 = r181124 * r181117;
double r181126 = U;
double r181127 = r181125 * r181126;
double r181128 = t;
double r181129 = l;
double r181130 = Om;
double r181131 = r181130 / r181129;
double r181132 = r181129 / r181131;
double r181133 = r181124 * r181132;
double r181134 = r181128 - r181133;
double r181135 = r181129 / r181130;
double r181136 = 2.0;
double r181137 = r181124 / r181136;
double r181138 = pow(r181135, r181137);
double r181139 = r181117 * r181138;
double r181140 = U_;
double r181141 = r181126 - r181140;
double r181142 = r181141 * r181138;
double r181143 = r181139 * r181142;
double r181144 = r181134 - r181143;
double r181145 = r181127 * r181144;
double r181146 = sqrt(r181145);
double r181147 = r181136 * r181137;
double r181148 = pow(r181135, r181147);
double r181149 = r181148 * r181117;
double r181150 = r181149 * r181141;
double r181151 = fma(r181132, r181124, r181150);
double r181152 = r181128 - r181151;
double r181153 = r181152 * r181125;
double r181154 = r181153 * r181126;
double r181155 = -r181150;
double r181156 = r181155 + r181150;
double r181157 = r181156 * r181117;
double r181158 = r181157 * r181124;
double r181159 = r181126 * r181158;
double r181160 = r181154 + r181159;
double r181161 = sqrt(r181160);
double r181162 = r181123 ? r181146 : r181161;
return r181162;
}



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 < -5.147845724912202e-05 or 1.242234733160926e+25 < n Initial program 33.2
rmApplied associate-/l*31.0
rmApplied sqr-pow31.0
Applied associate-*r*30.0
rmApplied associate-*l*29.1
Simplified29.1
if -5.147845724912202e-05 < n < 1.242234733160926e+25Initial program 35.0
rmApplied associate-/l*31.5
rmApplied sqr-pow31.5
Applied associate-*r*30.8
rmApplied associate-*l*31.3
Simplified31.3
rmApplied add-sqr-sqrt47.6
Applied prod-diff47.6
Applied distribute-lft-in47.6
Simplified28.7
Simplified27.7
Final simplification28.2
herbie shell --seed 2019322 +o rules:numerics
(FPCore (n U t l Om U*)
:name "Toniolo and Linder, Equation (13)"
:precision binary64
(sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))))