試しに
RAND_MAXが32767の環境で
printf("%d\n", rand() % 10000);
した出力を集計してみた。
予想通り、2767を境に出現頻度が数割変わった。
printf("%d\n", (int) ((double) rand() * 9999 / RAND_MAX));
にしたら、そのような境界条件はないものの、ここのばらつきが増えた気がする。