I am closing this thread. After all, the numerical error associated to large differences in some terms was indeed happening, as well as the strange difference in Julia’s version and CPU.
But the final culprit was a very silly mistake: There is a term like:
v^T * M * u
where u and v are complex vectors and M a complex matrix. This operation was implemented as dot(v,M,u) but this corresponds to
v^H * M * u
in Julia (and I do agree with this). This term is usually zero, but in some very rare circumstances it was being (wrongly) computed.
Thank you again for all your help and tips. I learned a lot in this process.