maybe the usage of block~ with a blocksize-argument less than 64
well, a blocksize of 4 was enough for my ears ...
still, profiling i figured out, you are using sin/cos instead of sinf/cosf, which should be faster ... since they work with float instead of doubles ... not part of ansi c but of c99 (at least gcc supports them)...
cheers ... tim