Differ complex from {double, double} or {float, float}

Is there any way we can differ complex from {double,double} or {float,float} ???

double complex z=1.0 + I*(2.0),
double a =1.0, b = 2.0, res;
doSomething(a,b);
res = cexp(z);

For this clang gives the same IR for parameters while calling both funcitons…

define dso_local i32 @main() local_unnamed_addr #0 {
  %1 = tail call i32 @doSomething(double noundef 1.000000e+00, double noundef 2.000000e+00) #4
  %2 = tail call { double, double } @cexp(double noundef 1.000000e+00, double noundef 2.000000e+00) #4
  ret i32 0
}

attributes #4 = { nounwind }**`