\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 r3915033 = 2.0;
double r3915034 = n;
double r3915035 = r3915033 * r3915034;
double r3915036 = U;
double r3915037 = r3915035 * r3915036;
double r3915038 = t;
double r3915039 = l;
double r3915040 = r3915039 * r3915039;
double r3915041 = Om;
double r3915042 = r3915040 / r3915041;
double r3915043 = r3915033 * r3915042;
double r3915044 = r3915038 - r3915043;
double r3915045 = r3915039 / r3915041;
double r3915046 = pow(r3915045, r3915033);
double r3915047 = r3915034 * r3915046;
double r3915048 = U_;
double r3915049 = r3915036 - r3915048;
double r3915050 = r3915047 * r3915049;
double r3915051 = r3915044 - r3915050;
double r3915052 = r3915037 * r3915051;
double r3915053 = sqrt(r3915052);
return r3915053;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r3915054 = n;
double r3915055 = -115.2035769670584;
bool r3915056 = r3915054 <= r3915055;
double r3915057 = U;
double r3915058 = r3915057 * r3915054;
double r3915059 = t;
double r3915060 = l;
double r3915061 = Om;
double r3915062 = r3915060 / r3915061;
double r3915063 = 2.0;
double r3915064 = 2.0;
double r3915065 = r3915063 / r3915064;
double r3915066 = pow(r3915062, r3915065);
double r3915067 = U_;
double r3915068 = r3915057 - r3915067;
double r3915069 = r3915066 * r3915068;
double r3915070 = r3915066 * r3915054;
double r3915071 = r3915060 * r3915062;
double r3915072 = r3915071 * r3915063;
double r3915073 = fma(r3915069, r3915070, r3915072);
double r3915074 = r3915059 - r3915073;
double r3915075 = r3915058 * r3915074;
double r3915076 = r3915075 * r3915063;
double r3915077 = log(r3915076);
double r3915078 = exp(r3915077);
double r3915079 = sqrt(r3915078);
double r3915080 = -1.928586768576105e-95;
bool r3915081 = r3915054 <= r3915080;
double r3915082 = sqrt(r3915057);
double r3915083 = r3915063 * r3915060;
double r3915084 = r3915070 * r3915066;
double r3915085 = r3915068 * r3915084;
double r3915086 = fma(r3915062, r3915083, r3915085);
double r3915087 = r3915059 - r3915086;
double r3915088 = r3915054 * r3915087;
double r3915089 = r3915063 * r3915088;
double r3915090 = sqrt(r3915089);
double r3915091 = r3915082 * r3915090;
double r3915092 = -1.9912237249324922e-147;
bool r3915093 = r3915054 <= r3915092;
double r3915094 = r3915060 * r3915060;
double r3915095 = r3915067 * r3915094;
double r3915096 = r3915095 / r3915061;
double r3915097 = r3915054 * r3915054;
double r3915098 = r3915097 * r3915057;
double r3915099 = r3915098 / r3915061;
double r3915100 = r3915096 * r3915099;
double r3915101 = 1.0;
double r3915102 = -1.0;
double r3915103 = pow(r3915102, r3915063);
double r3915104 = r3915101 / r3915103;
double r3915105 = 1.0;
double r3915106 = pow(r3915104, r3915105);
double r3915107 = r3915058 * r3915059;
double r3915108 = fma(r3915100, r3915106, r3915107);
double r3915109 = r3915108 * r3915063;
double r3915110 = 4.0;
double r3915111 = r3915057 / r3915061;
double r3915112 = r3915054 * r3915060;
double r3915113 = r3915112 * r3915060;
double r3915114 = r3915111 * r3915113;
double r3915115 = r3915110 * r3915114;
double r3915116 = r3915109 - r3915115;
double r3915117 = sqrt(r3915116);
double r3915118 = 1.1902700963782319e-56;
bool r3915119 = r3915054 <= r3915118;
double r3915120 = r3915057 * r3915089;
double r3915121 = sqrt(r3915120);
double r3915122 = 3.2456860329658693e+109;
bool r3915123 = r3915054 <= r3915122;
double r3915124 = sqrt(r3915076);
double r3915125 = r3915076 * r3915124;
double r3915126 = cbrt(r3915125);
double r3915127 = r3915123 ? r3915117 : r3915126;
double r3915128 = r3915119 ? r3915121 : r3915127;
double r3915129 = r3915093 ? r3915117 : r3915128;
double r3915130 = r3915081 ? r3915091 : r3915129;
double r3915131 = r3915056 ? r3915079 : r3915130;
return r3915131;
}



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*))))))