for (;;) { if (high < HALF) bit_plus_follow_0 else if (low >= HALF) { bit_plus_follow_1 low -= (unsigned)HALF; high -= (unsigned)HALF; } else if (low >= FIRST_QTR && high < THIRD_QTR) { bits_to_follow ++; low -= (unsigned)FIRST_QTR; high -= (unsigned)FIRST_QTR; } else break; low <<= 1; high <<= 1; high ++; } /* end of bit output loop */