What random number generator is the best/fastest or do you use?

Thank you for your analysis.
Luckily, our computations, well, I guess most guys here, do not depend on 53-bit precision of random number.
It was probably just written by my advisor by himself who is one of the main figures in quantum Monte Carlo. I am not sure what paper this RNG is based on, perhaps it is not based one particular paper.
But perhaps it is not very difficult to just directly test the performance and quality of this RNG with others.

Obviously, some stupid part in the last some lines of this module is added by me, as you already observed, some

!call RANDOM_SEED(SIZE=n)
!call RANDOM_SEED(PUT=iseed) ! set the internal ran function's seed.

and,

function randomn(n) ! the default ramdom_number subroutine.
! return an array of random variates (0,1)
integer(kind=i8) :: n
real(kind=r8), dimension(n) :: randomn
call RANDOM_NUMBER(randomn)
return
end function randomn

subroutine random1(x) ! generate random number x using the default ramdom_number subroutine.
real(kind=r8) :: x
call RANDOM_NUMBER(x)

those pieces calls the intrinsic rng is obviously added by me for entertainment, and never used.

However, the intrinsic RNG, is just random_number().
For many people perhaps it is not enough. At least we need one more for normal distribution.
That is one of reason why I am asking for suggestions for better and more comprehensive RNGs.

I believe you are good at RNG and Fortran, if you could share what RNG you are using it could also be very useful.
If you have suggestions of RNG, please advise too. Thank you.

If the word mediocre bothers you, I apologize. I was just meant to say, the intrinsic one works good but just not very very very great.

Besides, sometimes people use their own RNG for some reason.
Perhaps just that, even after 100 years, the code will still generate exactly the same results. If their is a bug, it is repeatable.
But using intrinstic RNG it is hard to say. Perhaps in Fortran 202x they decided to use another ontrinsic RNG, then the code will not generate exactly the same results and the bug.