\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.6760288117773952 \cdot 10^{+183}:\\
\;\;\;\;\sqrt{\left(n \cdot -2\right) \cdot \frac{\left(\frac{\ell}{Om} \cdot \left(\left(n \cdot \ell\right) \cdot U\right)\right) \cdot \left(U - U*\right)}{Om} + \left(2 \cdot n\right) \cdot \left(\mathsf{fma}\left(-2, \ell \cdot \frac{\ell}{Om}, t\right) \cdot U\right)}\\
\mathbf{elif}\;t \le -1.908160256120522 \cdot 10^{+56}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot \left(t - \mathsf{fma}\left(\ell \cdot \frac{\ell}{Om}, 2, \left(\left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)\right) \cdot n\right)\right)\right) \cdot U}\\
\mathbf{elif}\;t \le -6.039684361220293 \cdot 10^{-180}:\\
\;\;\;\;\sqrt{\mathsf{fma}\left(2 \cdot t, U \cdot n, \left(\left(\ell \cdot \left(n \cdot \ell\right)\right) \cdot \frac{U}{Om}\right) \cdot -4\right) + \left(\left(\frac{\ell}{Om} \cdot \left(\left(n \cdot \frac{\ell}{Om}\right) \cdot U\right)\right) \cdot \left(U - U*\right)\right) \cdot \left(n \cdot -2\right)}\\
\mathbf{elif}\;t \le 3.0731526450190984 \cdot 10^{-256}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot \left(t - \mathsf{fma}\left(\ell \cdot \frac{\ell}{Om}, 2, \left(\left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)\right) \cdot n\right)\right)\right) \cdot U}\\
\mathbf{elif}\;t \le 83934.69895366188:\\
\;\;\;\;\sqrt{t - \mathsf{fma}\left(\ell \cdot \frac{\ell}{Om}, 2, \left(\left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)\right) \cdot n\right)} \cdot \sqrt{\left(2 \cdot n\right) \cdot U}\\
\mathbf{elif}\;t \le 2.2801453703210546 \cdot 10^{+171}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(\left(U - U*\right) \cdot \left(\left(\left(\sqrt[3]{\left(-\frac{\ell}{Om}\right) \cdot n} \cdot U\right) \cdot \left(\sqrt[3]{\left(-\frac{\ell}{Om}\right) \cdot n} \cdot \sqrt[3]{\left(-\frac{\ell}{Om}\right) \cdot n}\right)\right) \cdot \frac{\ell}{Om}\right)\right) + \left(2 \cdot n\right) \cdot \left(\mathsf{fma}\left(-2, \ell \cdot \frac{\ell}{Om}, t\right) \cdot U\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{t - \mathsf{fma}\left(\ell \cdot \frac{\ell}{Om}, 2, \left(\left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)\right) \cdot n\right)} \cdot \sqrt{\left(2 \cdot n\right) \cdot U}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r1836251 = 2.0;
double r1836252 = n;
double r1836253 = r1836251 * r1836252;
double r1836254 = U;
double r1836255 = r1836253 * r1836254;
double r1836256 = t;
double r1836257 = l;
double r1836258 = r1836257 * r1836257;
double r1836259 = Om;
double r1836260 = r1836258 / r1836259;
double r1836261 = r1836251 * r1836260;
double r1836262 = r1836256 - r1836261;
double r1836263 = r1836257 / r1836259;
double r1836264 = pow(r1836263, r1836251);
double r1836265 = r1836252 * r1836264;
double r1836266 = U_;
double r1836267 = r1836254 - r1836266;
double r1836268 = r1836265 * r1836267;
double r1836269 = r1836262 - r1836268;
double r1836270 = r1836255 * r1836269;
double r1836271 = sqrt(r1836270);
return r1836271;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r1836272 = t;
double r1836273 = -1.6760288117773952e+183;
bool r1836274 = r1836272 <= r1836273;
double r1836275 = n;
double r1836276 = -2.0;
double r1836277 = r1836275 * r1836276;
double r1836278 = l;
double r1836279 = Om;
double r1836280 = r1836278 / r1836279;
double r1836281 = r1836275 * r1836278;
double r1836282 = U;
double r1836283 = r1836281 * r1836282;
double r1836284 = r1836280 * r1836283;
double r1836285 = U_;
double r1836286 = r1836282 - r1836285;
double r1836287 = r1836284 * r1836286;
double r1836288 = r1836287 / r1836279;
double r1836289 = r1836277 * r1836288;
double r1836290 = 2.0;
double r1836291 = r1836290 * r1836275;
double r1836292 = r1836278 * r1836280;
double r1836293 = fma(r1836276, r1836292, r1836272);
double r1836294 = r1836293 * r1836282;
double r1836295 = r1836291 * r1836294;
double r1836296 = r1836289 + r1836295;
double r1836297 = sqrt(r1836296);
double r1836298 = -1.908160256120522e+56;
bool r1836299 = r1836272 <= r1836298;
double r1836300 = r1836280 * r1836280;
double r1836301 = r1836300 * r1836286;
double r1836302 = r1836301 * r1836275;
double r1836303 = fma(r1836292, r1836290, r1836302);
double r1836304 = r1836272 - r1836303;
double r1836305 = r1836291 * r1836304;
double r1836306 = r1836305 * r1836282;
double r1836307 = sqrt(r1836306);
double r1836308 = -6.039684361220293e-180;
bool r1836309 = r1836272 <= r1836308;
double r1836310 = r1836290 * r1836272;
double r1836311 = r1836282 * r1836275;
double r1836312 = r1836278 * r1836281;
double r1836313 = r1836282 / r1836279;
double r1836314 = r1836312 * r1836313;
double r1836315 = -4.0;
double r1836316 = r1836314 * r1836315;
double r1836317 = fma(r1836310, r1836311, r1836316);
double r1836318 = r1836275 * r1836280;
double r1836319 = r1836318 * r1836282;
double r1836320 = r1836280 * r1836319;
double r1836321 = r1836320 * r1836286;
double r1836322 = r1836321 * r1836277;
double r1836323 = r1836317 + r1836322;
double r1836324 = sqrt(r1836323);
double r1836325 = 3.0731526450190984e-256;
bool r1836326 = r1836272 <= r1836325;
double r1836327 = 83934.69895366188;
bool r1836328 = r1836272 <= r1836327;
double r1836329 = sqrt(r1836304);
double r1836330 = r1836291 * r1836282;
double r1836331 = sqrt(r1836330);
double r1836332 = r1836329 * r1836331;
double r1836333 = 2.2801453703210546e+171;
bool r1836334 = r1836272 <= r1836333;
double r1836335 = -r1836280;
double r1836336 = r1836335 * r1836275;
double r1836337 = cbrt(r1836336);
double r1836338 = r1836337 * r1836282;
double r1836339 = r1836337 * r1836337;
double r1836340 = r1836338 * r1836339;
double r1836341 = r1836340 * r1836280;
double r1836342 = r1836286 * r1836341;
double r1836343 = r1836291 * r1836342;
double r1836344 = r1836343 + r1836295;
double r1836345 = sqrt(r1836344);
double r1836346 = r1836334 ? r1836345 : r1836332;
double r1836347 = r1836328 ? r1836332 : r1836346;
double r1836348 = r1836326 ? r1836307 : r1836347;
double r1836349 = r1836309 ? r1836324 : r1836348;
double r1836350 = r1836299 ? r1836307 : r1836349;
double r1836351 = r1836274 ? r1836297 : r1836350;
return r1836351;
}



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 t < -1.6760288117773952e+183Initial program 35.6
rmApplied sub-neg35.6
Applied distribute-lft-in35.7
Simplified34.5
Simplified32.4
rmApplied *-un-lft-identity32.4
Applied associate-*r*32.4
Simplified31.9
rmApplied associate-*l/32.2
Applied distribute-neg-frac32.2
Applied associate-*l/33.0
Applied associate-*r/33.0
Applied associate-*l/33.0
if -1.6760288117773952e+183 < t < -1.908160256120522e+56 or -6.039684361220293e-180 < t < 3.0731526450190984e-256Initial program 34.1
rmApplied pow134.1
Applied pow134.1
Applied pow134.1
Applied pow134.1
Applied pow-prod-down34.1
Applied pow-prod-down34.1
Applied pow-prod-down34.1
Simplified32.8
if -1.908160256120522e+56 < t < -6.039684361220293e-180Initial program 31.6
rmApplied sub-neg31.6
Applied distribute-lft-in31.6
Simplified29.7
Simplified28.1
rmApplied *-un-lft-identity28.1
Applied associate-*r*28.1
Simplified27.6
Taylor expanded around inf 30.7
Simplified29.5
if 3.0731526450190984e-256 < t < 83934.69895366188 or 2.2801453703210546e+171 < t Initial program 33.4
rmApplied sqrt-prod30.2
Simplified28.6
if 83934.69895366188 < t < 2.2801453703210546e+171Initial program 28.6
rmApplied sub-neg28.6
Applied distribute-lft-in28.6
Simplified26.1
Simplified24.9
rmApplied *-un-lft-identity24.9
Applied associate-*r*24.9
Simplified24.4
rmApplied add-cube-cbrt24.5
Applied associate-*l*24.5
Final simplification29.7
herbie shell --seed 2019162 +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*))))))