CMPLX
#define CMPLX(x, y) ((double complex)((double)(x) + _Imaginary_I * (double)(y)))
#define CMPLX(x, y) (__builtin_complex((double)(x), (double)(y)))
#define CMPLX(x, y) __CMPLX(x, y, double)
#undef CMPLX