don't use 'I' as the name of a variable because it is defined in mathimf.h which is required with ICL
don't use 'complex' because it is defined in mathimf.h which is required with ICL
don't use 'E' or 'I' as the name of a variable because it is defined in mathimf.h which is required with ICL