\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 2.435100367453427 \cdot 10^{-204}:\\
\;\;\;\;{\left((n \cdot \left(\frac{\left(2 \cdot \left(\ell \cdot U\right)\right) \cdot \left(\ell \cdot -2 - \left(\frac{\ell}{Om} \cdot n\right) \cdot \left(U - U*\right)\right)}{Om}\right) + \left(U \cdot \left(\left(n \cdot t\right) \cdot 2\right)\right))_*\right)}^{\frac{1}{2}}\\
\mathbf{elif}\;t \le 3.00502928168256 \cdot 10^{-47}:\\
\;\;\;\;\sqrt{t \cdot \left(U \cdot \left(n \cdot 2\right)\right) + \left(n \cdot \left(2 \cdot U\right)\right) \cdot \left(\left(\ell \cdot -2 - n \cdot \left(\left(U - U*\right) \cdot \frac{\ell}{Om}\right)\right) \cdot \frac{\ell}{Om}\right)}\\
\mathbf{elif}\;t \le 4.3432694513312935 \cdot 10^{+85}:\\
\;\;\;\;{\left((n \cdot \left(\frac{\left(2 \cdot \left(\ell \cdot U\right)\right) \cdot \left(\ell \cdot -2 - \left(\frac{\ell}{Om} \cdot n\right) \cdot \left(U - U*\right)\right)}{Om}\right) + \left(U \cdot \left(\left(n \cdot t\right) \cdot 2\right)\right))_*\right)}^{\frac{1}{2}}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{U \cdot \left(n \cdot 2\right)} \cdot \sqrt{\left(t - \frac{\ell \cdot \ell}{Om} \cdot 2\right) - \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot n\right) \cdot \left(U - U*\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r16756071 = 2.0;
double r16756072 = n;
double r16756073 = r16756071 * r16756072;
double r16756074 = U;
double r16756075 = r16756073 * r16756074;
double r16756076 = t;
double r16756077 = l;
double r16756078 = r16756077 * r16756077;
double r16756079 = Om;
double r16756080 = r16756078 / r16756079;
double r16756081 = r16756071 * r16756080;
double r16756082 = r16756076 - r16756081;
double r16756083 = r16756077 / r16756079;
double r16756084 = pow(r16756083, r16756071);
double r16756085 = r16756072 * r16756084;
double r16756086 = U_;
double r16756087 = r16756074 - r16756086;
double r16756088 = r16756085 * r16756087;
double r16756089 = r16756082 - r16756088;
double r16756090 = r16756075 * r16756089;
double r16756091 = sqrt(r16756090);
return r16756091;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r16756092 = t;
double r16756093 = 2.435100367453427e-204;
bool r16756094 = r16756092 <= r16756093;
double r16756095 = n;
double r16756096 = 2.0;
double r16756097 = l;
double r16756098 = U;
double r16756099 = r16756097 * r16756098;
double r16756100 = r16756096 * r16756099;
double r16756101 = -2.0;
double r16756102 = r16756097 * r16756101;
double r16756103 = Om;
double r16756104 = r16756097 / r16756103;
double r16756105 = r16756104 * r16756095;
double r16756106 = U_;
double r16756107 = r16756098 - r16756106;
double r16756108 = r16756105 * r16756107;
double r16756109 = r16756102 - r16756108;
double r16756110 = r16756100 * r16756109;
double r16756111 = r16756110 / r16756103;
double r16756112 = r16756095 * r16756092;
double r16756113 = r16756112 * r16756096;
double r16756114 = r16756098 * r16756113;
double r16756115 = fma(r16756095, r16756111, r16756114);
double r16756116 = 0.5;
double r16756117 = pow(r16756115, r16756116);
double r16756118 = 3.00502928168256e-47;
bool r16756119 = r16756092 <= r16756118;
double r16756120 = r16756095 * r16756096;
double r16756121 = r16756098 * r16756120;
double r16756122 = r16756092 * r16756121;
double r16756123 = r16756096 * r16756098;
double r16756124 = r16756095 * r16756123;
double r16756125 = r16756107 * r16756104;
double r16756126 = r16756095 * r16756125;
double r16756127 = r16756102 - r16756126;
double r16756128 = r16756127 * r16756104;
double r16756129 = r16756124 * r16756128;
double r16756130 = r16756122 + r16756129;
double r16756131 = sqrt(r16756130);
double r16756132 = 4.3432694513312935e+85;
bool r16756133 = r16756092 <= r16756132;
double r16756134 = sqrt(r16756121);
double r16756135 = r16756097 * r16756097;
double r16756136 = r16756135 / r16756103;
double r16756137 = r16756136 * r16756096;
double r16756138 = r16756092 - r16756137;
double r16756139 = pow(r16756104, r16756096);
double r16756140 = r16756139 * r16756095;
double r16756141 = r16756140 * r16756107;
double r16756142 = r16756138 - r16756141;
double r16756143 = sqrt(r16756142);
double r16756144 = r16756134 * r16756143;
double r16756145 = r16756133 ? r16756117 : r16756144;
double r16756146 = r16756119 ? r16756131 : r16756145;
double r16756147 = r16756094 ? r16756117 : r16756146;
return r16756147;
}



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 < 2.435100367453427e-204 or 3.00502928168256e-47 < t < 4.3432694513312935e+85Initial program 33.2
rmApplied sub-neg33.2
Applied associate--l+33.2
Applied distribute-rgt-in33.2
Simplified30.8
rmApplied associate-*r*30.8
rmApplied associate-*r/31.2
Applied associate-*l/30.8
Applied associate-*l/31.1
Applied associate-*r/31.1
Applied associate-*l/32.8
Applied sub-div32.8
Applied associate-*l/33.2
Simplified32.2
rmApplied pow132.2
Applied sqrt-pow132.2
Simplified30.9
if 2.435100367453427e-204 < t < 3.00502928168256e-47Initial program 31.7
rmApplied sub-neg31.7
Applied associate--l+31.7
Applied distribute-rgt-in31.7
Simplified29.1
rmApplied associate-*r*28.7
rmApplied associate-*l*29.1
Simplified28.4
if 4.3432694513312935e+85 < t Initial program 34.6
rmApplied sqrt-prod27.0
Final simplification29.8
herbie shell --seed 2019112 +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*))))))