private static int search(int[] table, int value)
        {
            int index = 0;
            
            if (table[index + 32] <= value) {
                index += 32;
            }
            
            if (table[index + 16] <= value) {
                index += 16;
            }

            if (table[index + 8] <= value) {
                index += 8;
            }

            if (table[index + 4] <= value) {
                index += 4;
            }

            if (table[index + 2] <= value) {
                index += 2;
            }

            if (table[index + 1] <= value) {
                index += 1;
            }

            if (table[index] > value) {
                index -= 1;
            }
            
            if (index < 0 || table[index] != value) {
                return -1;
            }
            
            return index;
        }