The following code using exponentiation function returns slightly different result depending on which ifort version is used:
program powtest real z(100) real c(100) real d(100) real zi real ci integer i zi = 0.1 ci = 0.009 z = zi c = ci do i = 1 , 100 d(i) = c(i) ** z(i) enddo print *, d(50) end
ifort version 14.0.1 result = 0.6243444
ifort version 18.0.5 result = 0.6243445
I tracked it down to be coming from the vectorized power function (svml_powf4) giving different answer for different package.
I understand that is is coming from different optimization inside svml. Is there a way to force exactly the same results for different svml versions maybe at the expense of performance? Also, can anything be said about the accuracy of the two results?