(ifort version 16.0.1 on OSX L Capitan 10.11.3) using Transfer function in this version produces wrong results:
program test implicit none integer :: i i=-2098177 print*,i,transfer(i,1_8) print'(b32.32,10x,b64.64)',i,transfer(i,1_8) end program test
-2098177 -2098177 11111111110111111111101111111111 1111111111111111111111111111111111111111110111111111101111111111
while using the older version (ifort version 15.0.2) produces the correct results
-2098177 4292869119 11111111110111111111101111111111 0000000000000000000000000000000011111111110111111111101111111111