numerical drift in quaternion rotations

hi all,

I'm using quaternions to make a lot of small rotations, but after quite a few (10's) rotations the returned vector starts taking silly values.

The quaternion itself is generated fresh each time, but the resulting rotated vector is preserved and repeatedly rotated.

I'm considering the possibility that the rotated vector is drifting of from its unit length and eventually runs away to crazy values - does anyone have any experience with how many times you can rotate a vector before its numerical drift becomes significant?

I'm using double precision (64bit) reals as variables (its actually a physics simulation rather than a game, but game programmers seem to know the most about quaternions!)

thanks in advance :)