>>112
77行目
switch(a[j]>>j*5 & mask){
jが増えるとa[j]の数が変わっちゃいますよね?


一方 >>103のソース
20行目
switch ( bits >> i*5 & mask ){
bitsは単体の変数なのでiが変わってもbits自身は変わりません