if ((hx & 0x8000) != 0 && (hx & 0x7fff) != 0x7fff && __rintl (x) == x)
if ((es & 0x8000) != 0 && x < 0xffffffff && __rintl (x) == x)
__ieee754_gammal_r (long double x, int *signgamp){  /* We don't have a real gamma implementation now.  We'll use lgamma     and the exp function.  But due to the required boundary     conditions we must check some values separately.  */  u_int32_t es, hx, lx;  GET_LDOUBLE_WORDS (es, hx, lx, x);  if (((es & 0x7fff) | hx | lx) == 0)    {      /* Return value for x == 0 is NaN with invalid exception.  */      *signgamp = 0;      return x / x;    }  if ((hx & 0x8000) != 0 && (hx & 0x7fff) != 0x7fff && __rintl (x) == x)    {      /* Return value for integer x < 0 is NaN with invalid exception.  */      *signgamp = 0;      return (x - x) / (x - x);    }  /* XXX FIXME.  */  return __ieee754_expl (__ieee754_lgammal_r (x, signgamp));}