Different compilers produce different computer commands that is a reason for different results. By the way, did you use the same com computer for calculations? Also, some "standard" library functions do have different implementations. Also, and it is well known that even the same compiler with different optimization levels produces slightly (or may be not) calculation results. Just, because of the rounding errors are different for different commands sequence. So, different results are not obligatory a mistake.