+ {
+ b = (63 - state->bitp) >> 3;
+ if (b == 6) {
+ state->acc = (state->acc << 48)
+ | ((uint64_t)strm->next_in[0] << 40)
+ | ((uint64_t)strm->next_in[1] << 32)
+ | ((uint64_t)strm->next_in[2] << 24)
+ | ((uint64_t)strm->next_in[3] << 16)
+ | ((uint64_t)strm->next_in[4] << 8)
+ | (uint64_t)strm->next_in[5];
+ } else if (b == 7) {
+ state->acc = (state->acc << 56)
+ | ((uint64_t)strm->next_in[0] << 48)
+ | ((uint64_t)strm->next_in[1] << 40)
+ | ((uint64_t)strm->next_in[2] << 32)
+ | ((uint64_t)strm->next_in[3] << 24)
+ | ((uint64_t)strm->next_in[4] << 16)
+ | ((uint64_t)strm->next_in[5] << 8)
+ | (uint64_t)strm->next_in[6];
+ } else if (b == 5) {
+ state->acc = (state->acc << 40)
+ | ((uint64_t)strm->next_in[0] << 32)
+ | ((uint64_t)strm->next_in[1] << 24)
+ | ((uint64_t)strm->next_in[2] << 16)
+ | ((uint64_t)strm->next_in[3] << 8)
+ | (uint64_t)strm->next_in[4];
+ } else if (b == 4) {
+ state->acc = (state->acc << 32)
+ | ((uint64_t)strm->next_in[0] << 24)
+ | ((uint64_t)strm->next_in[1] << 16)
+ | ((uint64_t)strm->next_in[2] << 8)
+ | (uint64_t)strm->next_in[3];
+ } else if (b == 3) {
+ state->acc = (state->acc << 24)
+ | ((uint64_t)strm->next_in[0] << 16)
+ | ((uint64_t)strm->next_in[1] << 8)
+ | (uint64_t)strm->next_in[2];
+ } else if (b == 2) {
+ state->acc = (state->acc << 16)
+ | ((uint64_t)strm->next_in[0] << 8)
+ | (uint64_t)strm->next_in[1];
+ } else if (b == 1) {
+ state->acc = (state->acc << 8)
+ | (uint64_t)strm->next_in[0];
+ }
+ strm->next_in += b;
+ strm->avail_in -= b;
+ state->bitp += b << 3;
+ }