if (signbit (__real__ x) == 0 && __imag__ x == 0.0) retval = HUGE_VAL;
long double value = signbit (__real__ x) ? 0.0 : HUGE_VALL;  if (__imag__ x == 0.0) { __real__ retval = value; __imag__ retval = __imag__ x; }
__cexpl (__complex__ long double x){  __complex__ long double retval;  if (isfinite (__real__ x))    {      if (isfinite (__imag__ x))	{	  long double exp_val = __expl (__real__ x);	  __real__ retval = exp_val * __cosl (__imag__ x);	  __imag__ retval = exp_val * __sinl (__imag__ x);	}      else	{	  /* If the imaginary part is +-inf or NaN and the real part	     is not +-inf the result is NaN + iNaN.  */	  __real__ retval = __nanl ("");	  __imag__ retval = __nanl ("");	}    }  else if (__isinfl (__real__ x))    {      if (isfinite (__imag__ x))	{	  if (signbit (__real__ x) == 0 && __imag__ x == 0.0)	    retval = HUGE_VAL;	  else	    {	      long double value = signbit (__real__ x) ? 0.0 : HUGE_VALL;	      __real__ retval = value * __cosl (__imag__ x);	      __imag__ retval = value * __sinl (__imag__ x);	    }	}      else if (signbit (__real__ x) == 0)	{	  __real__ retval = HUGE_VALL;	  __imag__ retval = __nanl ("");	}      else	retval = 0.0;    }  else    {      /* If the real part is NaN the result is NaN + iNaN.  */      __real__ retval = __nanl ("");      __imag__ retval = __nanl ("");    }  return retval;}