>>703 >>386 のここだけ修正すればいけるんじゃない?
return (double)rand()/(RAND_MAX-1);
↓
return (double)rand()/(RAND_MAX+1);