On the r3mix forum (http://66.96.216.160/cgi-bin/YaBB.pl?board=general&action=display&nu...) they mention something about the error variable is uninitialized between songs, resulting in different decodes of the same song. They also mention that perhaps it might be better (speed or quality, I'm not sure) to use trunc() or round() instead of floor() in the algorithm.