https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65757
--- Comment #6 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> --- I am thinking its not working, but maybe I do not understand the function. I created a loop like this (with the patch): q1 = 233181505644407.99999999999999999999q0 q2 = anint (q1) q3 = 233181505644408.00000000000000000000q0 do i=1,1000 q1=q1+.02400039q0 q2=anint(q1) write (6, '(f50.25)') q1, q2 write (6, '(z35)') q1, q2 end do Scrolling through the results, I spot this: 233181505644431.7363857099999999995104932 233181505644431.5000000000000000000000000 402EA827999FCF1F79078C3B622BC417 402EA827999FCF1F0000000000000000