\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.48807212119155 \cdot 10^{-310}:\\
\;\;\;\;\sqrt{2 \cdot \left(n \cdot \left(U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot n\right) \cdot \left(U - U*\right)\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{U \cdot \left(-2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right) - \left(n \cdot \frac{\ell}{Om}\right) \cdot \left(\left(U - U*\right) \cdot \frac{\ell}{Om}\right)\right) + U \cdot t} \cdot \sqrt{2 \cdot n}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r15212216 = 2.0;
double r15212217 = n;
double r15212218 = r15212216 * r15212217;
double r15212219 = U;
double r15212220 = r15212218 * r15212219;
double r15212221 = t;
double r15212222 = l;
double r15212223 = r15212222 * r15212222;
double r15212224 = Om;
double r15212225 = r15212223 / r15212224;
double r15212226 = r15212216 * r15212225;
double r15212227 = r15212221 - r15212226;
double r15212228 = r15212222 / r15212224;
double r15212229 = pow(r15212228, r15212216);
double r15212230 = r15212217 * r15212229;
double r15212231 = U_;
double r15212232 = r15212219 - r15212231;
double r15212233 = r15212230 * r15212232;
double r15212234 = r15212227 - r15212233;
double r15212235 = r15212220 * r15212234;
double r15212236 = sqrt(r15212235);
return r15212236;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r15212237 = n;
double r15212238 = 1.48807212119155e-310;
bool r15212239 = r15212237 <= r15212238;
double r15212240 = 2.0;
double r15212241 = U;
double r15212242 = t;
double r15212243 = l;
double r15212244 = Om;
double r15212245 = r15212243 / r15212244;
double r15212246 = r15212243 * r15212245;
double r15212247 = r15212240 * r15212246;
double r15212248 = r15212242 - r15212247;
double r15212249 = pow(r15212245, r15212240);
double r15212250 = r15212249 * r15212237;
double r15212251 = U_;
double r15212252 = r15212241 - r15212251;
double r15212253 = r15212250 * r15212252;
double r15212254 = r15212248 - r15212253;
double r15212255 = r15212241 * r15212254;
double r15212256 = r15212237 * r15212255;
double r15212257 = r15212240 * r15212256;
double r15212258 = sqrt(r15212257);
double r15212259 = -2.0;
double r15212260 = r15212259 * r15212246;
double r15212261 = r15212237 * r15212245;
double r15212262 = r15212252 * r15212245;
double r15212263 = r15212261 * r15212262;
double r15212264 = r15212260 - r15212263;
double r15212265 = r15212241 * r15212264;
double r15212266 = r15212241 * r15212242;
double r15212267 = r15212265 + r15212266;
double r15212268 = sqrt(r15212267);
double r15212269 = r15212240 * r15212237;
double r15212270 = sqrt(r15212269);
double r15212271 = r15212268 * r15212270;
double r15212272 = r15212239 ? r15212258 : r15212271;
return r15212272;
}



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.48807212119155e-310Initial program 34.0
rmApplied *-un-lft-identity34.0
Applied times-frac31.4
Simplified31.4
rmApplied associate-*l*31.1
rmApplied associate-*l*31.2
if 1.48807212119155e-310 < n Initial program 33.8
rmApplied *-un-lft-identity33.8
Applied times-frac31.3
Simplified31.3
rmApplied associate-*l*31.7
rmApplied sub-neg31.7
Applied associate--l+31.7
Applied distribute-lft-in31.7
Simplified30.3
rmApplied sqrt-prod23.0
Final simplification27.1
herbie shell --seed 2019121 +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*))))))