Hi, In the function maskop in superstl.h the mask m gets a wrong value if count%BITS_PER_WORD == 0. Original statement T m = (!count) ? 0 : (count % BITS_PER_WORD) ? ((T(1) << bitof(count)) - T(1)) : T(-1); After the change T m = (!count) ? 0 : (count % BITS_PER_WORD) ? ((T(1) << bitof(count)) - T(1)) : 0;//T(-1); Do let me know if this sounds ok. regards, abhishek