\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 -115.2035769670583960078147356398403644562:\\
\;\;\;\;\sqrt{e^{\log \left(\left(\left(U \cdot n\right) \cdot \left(t - \mathsf{fma}\left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(U - U*\right), {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n, \left(\ell \cdot \frac{\ell}{Om}\right) \cdot 2\right)\right)\right) \cdot 2\right)}}\\
\mathbf{elif}\;n \le -1.928586768576104907029448118743871413968 \cdot 10^{-95}:\\
\;\;\;\;\sqrt{U} \cdot \sqrt{2 \cdot \left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left(U - U*\right) \cdot \left(\left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right)\right)\right)\right)}\\
\mathbf{elif}\;n \le -1.991223724932492166185779454526004556741 \cdot 10^{-147}:\\
\;\;\;\;\sqrt{\mathsf{fma}\left(\frac{U* \cdot \left(\ell \cdot \ell\right)}{Om} \cdot \frac{\left(n \cdot n\right) \cdot U}{Om}, {\left(\frac{1}{{-1}^{2}}\right)}^{1}, \left(U \cdot n\right) \cdot t\right) \cdot 2 - 4 \cdot \left(\frac{U}{Om} \cdot \left(\left(n \cdot \ell\right) \cdot \ell\right)\right)}\\
\mathbf{elif}\;n \le 1.190270096378231867728639520214394049373 \cdot 10^{-56}:\\
\;\;\;\;\sqrt{U \cdot \left(2 \cdot \left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left(U - U*\right) \cdot \left(\left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right)\right)\right)\right)\right)}\\
\mathbf{elif}\;n \le 3.245686032965869293542566860037617070177 \cdot 10^{109}:\\
\;\;\;\;\sqrt{\mathsf{fma}\left(\frac{U* \cdot \left(\ell \cdot \ell\right)}{Om} \cdot \frac{\left(n \cdot n\right) \cdot U}{Om}, {\left(\frac{1}{{-1}^{2}}\right)}^{1}, \left(U \cdot n\right) \cdot t\right) \cdot 2 - 4 \cdot \left(\frac{U}{Om} \cdot \left(\left(n \cdot \ell\right) \cdot \ell\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt[3]{\left(\left(\left(U \cdot n\right) \cdot \left(t - \mathsf{fma}\left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(U - U*\right), {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n, \left(\ell \cdot \frac{\ell}{Om}\right) \cdot 2\right)\right)\right) \cdot 2\right) \cdot \sqrt{\left(\left(U \cdot n\right) \cdot \left(t - \mathsf{fma}\left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(U - U*\right), {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n, \left(\ell \cdot \frac{\ell}{Om}\right) \cdot 2\right)\right)\right) \cdot 2}}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r2976255 = 2.0;
double r2976256 = n;
double r2976257 = r2976255 * r2976256;
double r2976258 = U;
double r2976259 = r2976257 * r2976258;
double r2976260 = t;
double r2976261 = l;
double r2976262 = r2976261 * r2976261;
double r2976263 = Om;
double r2976264 = r2976262 / r2976263;
double r2976265 = r2976255 * r2976264;
double r2976266 = r2976260 - r2976265;
double r2976267 = r2976261 / r2976263;
double r2976268 = pow(r2976267, r2976255);
double r2976269 = r2976256 * r2976268;
double r2976270 = U_;
double r2976271 = r2976258 - r2976270;
double r2976272 = r2976269 * r2976271;
double r2976273 = r2976266 - r2976272;
double r2976274 = r2976259 * r2976273;
double r2976275 = sqrt(r2976274);
return r2976275;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r2976276 = n;
double r2976277 = -115.2035769670584;
bool r2976278 = r2976276 <= r2976277;
double r2976279 = U;
double r2976280 = r2976279 * r2976276;
double r2976281 = t;
double r2976282 = l;
double r2976283 = Om;
double r2976284 = r2976282 / r2976283;
double r2976285 = 2.0;
double r2976286 = 2.0;
double r2976287 = r2976285 / r2976286;
double r2976288 = pow(r2976284, r2976287);
double r2976289 = U_;
double r2976290 = r2976279 - r2976289;
double r2976291 = r2976288 * r2976290;
double r2976292 = r2976288 * r2976276;
double r2976293 = r2976282 * r2976284;
double r2976294 = r2976293 * r2976285;
double r2976295 = fma(r2976291, r2976292, r2976294);
double r2976296 = r2976281 - r2976295;
double r2976297 = r2976280 * r2976296;
double r2976298 = r2976297 * r2976285;
double r2976299 = log(r2976298);
double r2976300 = exp(r2976299);
double r2976301 = sqrt(r2976300);
double r2976302 = -1.928586768576105e-95;
bool r2976303 = r2976276 <= r2976302;
double r2976304 = sqrt(r2976279);
double r2976305 = r2976285 * r2976282;
double r2976306 = r2976292 * r2976288;
double r2976307 = r2976290 * r2976306;
double r2976308 = fma(r2976284, r2976305, r2976307);
double r2976309 = r2976281 - r2976308;
double r2976310 = r2976276 * r2976309;
double r2976311 = r2976285 * r2976310;
double r2976312 = sqrt(r2976311);
double r2976313 = r2976304 * r2976312;
double r2976314 = -1.9912237249324922e-147;
bool r2976315 = r2976276 <= r2976314;
double r2976316 = r2976282 * r2976282;
double r2976317 = r2976289 * r2976316;
double r2976318 = r2976317 / r2976283;
double r2976319 = r2976276 * r2976276;
double r2976320 = r2976319 * r2976279;
double r2976321 = r2976320 / r2976283;
double r2976322 = r2976318 * r2976321;
double r2976323 = 1.0;
double r2976324 = -1.0;
double r2976325 = pow(r2976324, r2976285);
double r2976326 = r2976323 / r2976325;
double r2976327 = 1.0;
double r2976328 = pow(r2976326, r2976327);
double r2976329 = r2976280 * r2976281;
double r2976330 = fma(r2976322, r2976328, r2976329);
double r2976331 = r2976330 * r2976285;
double r2976332 = 4.0;
double r2976333 = r2976279 / r2976283;
double r2976334 = r2976276 * r2976282;
double r2976335 = r2976334 * r2976282;
double r2976336 = r2976333 * r2976335;
double r2976337 = r2976332 * r2976336;
double r2976338 = r2976331 - r2976337;
double r2976339 = sqrt(r2976338);
double r2976340 = 1.1902700963782319e-56;
bool r2976341 = r2976276 <= r2976340;
double r2976342 = r2976279 * r2976311;
double r2976343 = sqrt(r2976342);
double r2976344 = 3.2456860329658693e+109;
bool r2976345 = r2976276 <= r2976344;
double r2976346 = sqrt(r2976298);
double r2976347 = r2976298 * r2976346;
double r2976348 = cbrt(r2976347);
double r2976349 = r2976345 ? r2976339 : r2976348;
double r2976350 = r2976341 ? r2976343 : r2976349;
double r2976351 = r2976315 ? r2976339 : r2976350;
double r2976352 = r2976303 ? r2976313 : r2976351;
double r2976353 = r2976278 ? r2976301 : r2976352;
return r2976353;
}



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 < -115.2035769670584Initial program 32.2
Simplified36.2
rmApplied sqr-pow36.2
Applied associate-*r*35.1
rmApplied add-exp-log35.1
Applied add-exp-log50.8
Applied add-exp-log64.0
Applied prod-exp64.0
Applied prod-exp64.0
Applied add-exp-log64.0
Applied prod-exp64.0
Simplified30.1
if -115.2035769670584 < n < -1.928586768576105e-95Initial program 32.3
Simplified26.7
rmApplied sqr-pow26.7
Applied associate-*r*26.5
rmApplied sqrt-prod38.5
if -1.928586768576105e-95 < n < -1.9912237249324922e-147 or 1.1902700963782319e-56 < n < 3.2456860329658693e+109Initial program 29.9
Simplified27.0
rmApplied sqr-pow27.0
Applied associate-*r*26.5
rmApplied *-un-lft-identity26.5
Applied add-sqr-sqrt45.0
Applied prod-diff45.0
Applied distribute-lft-in45.0
Simplified26.1
Taylor expanded around -inf 35.5
Simplified32.4
if -1.9912237249324922e-147 < n < 1.1902700963782319e-56Initial program 37.3
Simplified29.8
rmApplied sqr-pow29.8
Applied associate-*r*28.3
if 3.2456860329658693e+109 < n Initial program 35.2
Simplified40.6
rmApplied sqr-pow40.6
Applied associate-*r*39.8
rmApplied add-cbrt-cube44.9
Simplified40.1
Final simplification31.5
herbie shell --seed 2019172 +o rules:numerics
(FPCore (n U t l Om U*)
:name "Toniolo and Linder, Equation (13)"
(sqrt (* (* (* 2.0 n) U) (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*))))))