+ if ((accu0|accu1|accu2|accu3) > UINT64_MAX - INT32_MIN*(int64_t)INT32_MIN || i+2>=n) {
+ accu0 >>= nz;
+ accu1 >>= nz;
+ accu2 >>= nz;
+ accu3 >>= nz;
+ while ((accu0|accu1|accu2|accu3) > (UINT64_MAX - accu) >> 2) {
+ accu0 >>= 1;
+ accu1 >>= 1;
+ accu2 >>= 1;
+ accu3 >>= 1;
+ accu >>= 1;
+ nz ++;
+ }
+ accu += accu0 + accu1 + accu2 + accu3;
+ accu0 = accu1 = accu2 = accu3 = 0;
+ }