\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}\;t \le 1.34231364791575151 \cdot 10^{-306}:\\
\;\;\;\;\sqrt{\left(\sqrt[3]{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)} \cdot \sqrt[3]{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)}\right) \cdot \sqrt[3]{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)}}\\
\mathbf{elif}\;t \le 7.93286450001890001 \cdot 10^{-95}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)}\\
\mathbf{elif}\;t \le 9.62200852345497397 \cdot 10^{223}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - n \cdot \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot \left(U - U*\right)\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r215266 = 2.0;
double r215267 = n;
double r215268 = r215266 * r215267;
double r215269 = U;
double r215270 = r215268 * r215269;
double r215271 = t;
double r215272 = l;
double r215273 = r215272 * r215272;
double r215274 = Om;
double r215275 = r215273 / r215274;
double r215276 = r215266 * r215275;
double r215277 = r215271 - r215276;
double r215278 = r215272 / r215274;
double r215279 = pow(r215278, r215266);
double r215280 = r215267 * r215279;
double r215281 = U_;
double r215282 = r215269 - r215281;
double r215283 = r215280 * r215282;
double r215284 = r215277 - r215283;
double r215285 = r215270 * r215284;
double r215286 = sqrt(r215285);
return r215286;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r215287 = t;
double r215288 = 1.3423136479157515e-306;
bool r215289 = r215287 <= r215288;
double r215290 = 2.0;
double r215291 = n;
double r215292 = r215290 * r215291;
double r215293 = U;
double r215294 = l;
double r215295 = Om;
double r215296 = r215294 / r215295;
double r215297 = r215294 * r215296;
double r215298 = r215290 * r215297;
double r215299 = r215287 - r215298;
double r215300 = pow(r215296, r215290);
double r215301 = r215291 * r215300;
double r215302 = U_;
double r215303 = r215293 - r215302;
double r215304 = r215301 * r215303;
double r215305 = r215299 - r215304;
double r215306 = r215293 * r215305;
double r215307 = r215292 * r215306;
double r215308 = cbrt(r215307);
double r215309 = r215308 * r215308;
double r215310 = r215309 * r215308;
double r215311 = sqrt(r215310);
double r215312 = 7.9328645000189e-95;
bool r215313 = r215287 <= r215312;
double r215314 = r215292 * r215293;
double r215315 = sqrt(r215314);
double r215316 = sqrt(r215305);
double r215317 = r215315 * r215316;
double r215318 = 9.622008523454974e+223;
bool r215319 = r215287 <= r215318;
double r215320 = r215300 * r215303;
double r215321 = r215291 * r215320;
double r215322 = r215299 - r215321;
double r215323 = r215293 * r215322;
double r215324 = r215292 * r215323;
double r215325 = sqrt(r215324);
double r215326 = r215319 ? r215325 : r215317;
double r215327 = r215313 ? r215317 : r215326;
double r215328 = r215289 ? r215311 : r215327;
return r215328;
}



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 t < 1.3423136479157515e-306Initial program 34.2
rmApplied *-un-lft-identity34.2
Applied times-frac31.7
Simplified31.7
rmApplied associate-*l*31.9
rmApplied add-cube-cbrt32.2
if 1.3423136479157515e-306 < t < 7.9328645000189e-95 or 9.622008523454974e+223 < t Initial program 38.6
rmApplied *-un-lft-identity38.6
Applied times-frac35.8
Simplified35.8
rmApplied sqrt-prod31.4
if 7.9328645000189e-95 < t < 9.622008523454974e+223Initial program 31.8
rmApplied *-un-lft-identity31.8
Applied times-frac29.3
Simplified29.3
rmApplied associate-*l*29.8
rmApplied associate-*l*30.4
Final simplification31.5
herbie shell --seed 2020064
(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*))))))