if (se < 64)
if (e < 63)
__llrint (long double x){  int32_t se, sx;  u_int32_t h, l;  long long int result;  x = __m81_u(__rintl) (x);  /* We could use __fixxfdi from libgcc, but here we can take advantage of     the known floating point format.  */  GET_LDOUBLE_WORDS (se, h, l, x);  sx = se & (1 << 15);  se = (se ^ sx) - 0x3fff;  if (se < 64)    {      if (se > 31)	result = (((long long int) (h >> (63 - se)) << 32)		  | (l >> (63 - se)) | (h << (se - 31)));      else	result = h >> (31 - se);      if (sx)	result = -result;    }  else    /* Too large.  The number is either +-inf or NaN or it is too       large to be effected by rounding.  The standard leaves it       undefined what to return when the number is too large to fit in       a `long long int'.  */    result = -1LL;  return result;}