Branch Coverage

libdeflate-one.c
Criterion Covered Total %
branch 836 2110 39.6


line true false branch
941 0 0 while (p != end) {
946 0 0 while (num_unrolled_iterations--) {
956 0 0 while (p != chunk_end) {
3360 2 3 if (libdeflate_x86_cpu_features == 0)
3555 1248 24 } while (p != end);
3584 24 0 if (p != end && (uintptr_t)p % IMPL_ALIGNMENT) {
0 24 if (p != end && (uintptr_t)p % IMPL_ALIGNMENT) {
3588 0 0 } while (p != end && (uintptr_t)p % IMPL_ALIGNMENT);
0 0 } while (p != end && (uintptr_t)p % IMPL_ALIGNMENT);
3596 24 24 while (p != vend) {
3610 24 0 if (p != end) {
3614 72 24 } while (p != end);
3692 0 0 } while (p != end);
3718 0 0 if (p != end && (uintptr_t)p % IMPL_ALIGNMENT) {
0 0 if (p != end && (uintptr_t)p % IMPL_ALIGNMENT) {
3722 0 0 } while (p != end && (uintptr_t)p % IMPL_ALIGNMENT);
0 0 } while (p != end && (uintptr_t)p % IMPL_ALIGNMENT);
3730 0 0 while (p != vend) {
3744 0 0 if (p != end) {
3748 0 0 } while (p != end);
3774 0 1 if (HAVE_AVX2(features))
3804 0 1 if (f == NULL)
3818 0 24 if (buffer == NULL)
5646 0 29 for (; ((uintptr_t)p & 7) && p != end; p++)
0 0 for (; ((uintptr_t)p & 7) && p != end; p++)
5650 22973 29 for (; p != end64; p += 8) {
5664 131 29 for (; p != end; p++)
5676 0 0 for (i = 0; i < len; i++)
0 0 for (i = 0; i < len; i++)
0 0 for (i = 0; i < len; i++)
0 0 for (i = 0; i < len; i++)
8583 0 0 if (len < 1024) {
8584 0 0 if (len < 16)
8591 0 0 if (len >= 64) {
8596 0 0 while (len >= 64 + 64) {
8610 0 0 if (len & 32) {
8618 0 0 if (len & 16) {
8624 0 0 if (len >= 32) {
8628 0 0 if (len >= 48) {
8652 0 0 if (align) {
8677 0 0 } while (len >= 128 + 128);
8683 0 0 if (len & 64) {
8692 0 0 if (len & 32) {
8698 0 0 if (len & 16)
8830 0 0 if (len < 1024) {
8831 0 0 if (len < 16)
8838 0 0 if (len >= 64) {
8843 0 0 while (len >= 64 + 64) {
8857 0 0 if (len & 32) {
8865 0 0 if (len & 16) {
8871 0 0 if (len >= 32) {
8875 0 0 if (len >= 48) {
8891 0 0 if (align) {
8924 0 0 } while (len >= 128 + 128);
8930 0 0 if (len & 64) {
8939 0 0 if (len & 32) {
8945 0 0 if (len & 16)
8954 0 0 if (len)
8999 0 2 if (HAVE_PCLMUL(features) && HAVE_AVX(features))
0 0 if (HAVE_PCLMUL(features) && HAVE_AVX(features))
9003 0 2 if (HAVE_PCLMUL(features))
9029 2 0 if (f == NULL)
9043 0 29 if (p == NULL)
13262 55287 9 } while (size != 0);
18426 6 } while (size != 0);
30710 10 } while (size != 0);
27639 9 } while (size != 0);
6141 3 } while (size != 0);
13284 0 0 } while (size != 0);
0 0 } while (size != 0);
0 0 } while (size != 0);
0 0 } while (size != 0);
0 0 } while (size != 0);
0 0 } while (size != 0);
0 0 } while (size != 0);
0 0 } while (size != 0);
0 0 } while (size != 0);
0 0 } while (size != 0);
0 0 } while (size != 0);
0 0 } while (size != 0);
0 0 } while (size != 0);
0 0 } while (size != 0);
0 0 } while (size != 0);
0 0 } while (size != 0);
0 0 } while (size != 0);
0 0 } while (size != 0);
13349 63 0 if (likely(max_len - len >= 4 * WORDBYTES)) {
14787 252 if (likely(max_len - len >= 4 * WORDBYTES)) {
0 0 if (likely(max_len - len >= 4 * WORDBYTES)) {
42 0 if (likely(max_len - len >= 4 * WORDBYTES)) {
0 0 if (likely(max_len - len >= 4 * WORDBYTES)) {
0 0 if (likely(max_len - len >= 4 * WORDBYTES)) {
0 0 if (likely(max_len - len >= 4 * WORDBYTES)) {
0 0 if (likely(max_len - len >= 4 * WORDBYTES)) {
1899 3 if (likely(max_len - len >= 4 * WORDBYTES)) {
650 0 if (likely(max_len - len >= 4 * WORDBYTES)) {
61 1 if (likely(max_len - len >= 4 * WORDBYTES)) {
82 0 if (likely(max_len - len >= 4 * WORDBYTES)) {
0 0 if (likely(max_len - len >= 4 * WORDBYTES)) {
0 0 if (likely(max_len - len >= 4 * WORDBYTES)) {
0 0 if (likely(max_len - len >= 4 * WORDBYTES)) {
63 0 if (likely(max_len - len >= 4 * WORDBYTES)) {
21 0 if (likely(max_len - len >= 4 * WORDBYTES)) {
0 0 if (likely(max_len - len >= 4 * WORDBYTES)) {
0 0 if (likely(max_len - len >= 4 * WORDBYTES)) {
13358 63 0 COMPARE_WORD_STEP
14787 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
42 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
640 1259 COMPARE_WORD_STEP
397 253 COMPARE_WORD_STEP
8 53 COMPARE_WORD_STEP
56 26 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
63 0 COMPARE_WORD_STEP
21 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
13359 63 0 COMPARE_WORD_STEP
14787 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
42 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
274 366 COMPARE_WORD_STEP
200 197 COMPARE_WORD_STEP
6 2 COMPARE_WORD_STEP
40 16 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
63 0 COMPARE_WORD_STEP
21 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
13360 63 0 COMPARE_WORD_STEP
14787 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
42 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
89 185 COMPARE_WORD_STEP
104 96 COMPARE_WORD_STEP
2 4 COMPARE_WORD_STEP
15 25 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
63 0 COMPARE_WORD_STEP
21 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
13361 63 0 COMPARE_WORD_STEP
14787 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
42 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
64 25 COMPARE_WORD_STEP
75 29 COMPARE_WORD_STEP
0 2 COMPARE_WORD_STEP
11 4 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
63 0 COMPARE_WORD_STEP
21 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
13365 1620 63 while (len + WORDBYTES <= max_len) {
219525 15039 while (len + WORDBYTES <= max_len) {
0 0 while (len + WORDBYTES <= max_len) {
1044 42 while (len + WORDBYTES <= max_len) {
0 0 while (len + WORDBYTES <= max_len) {
0 0 while (len + WORDBYTES <= max_len) {
0 0 while (len + WORDBYTES <= max_len) {
0 0 while (len + WORDBYTES <= max_len) {
192 1 while (len + WORDBYTES <= max_len) {
1593 63 while (len + WORDBYTES <= max_len) {
2 0 while (len + WORDBYTES <= max_len) {
36 0 while (len + WORDBYTES <= max_len) {
0 0 while (len + WORDBYTES <= max_len) {
0 0 while (len + WORDBYTES <= max_len) {
0 0 while (len + WORDBYTES <= max_len) {
1566 63 while (len + WORDBYTES <= max_len) {
522 21 while (len + WORDBYTES <= max_len) {
0 0 while (len + WORDBYTES <= max_len) {
0 0 while (len + WORDBYTES <= max_len) {
13368 1620 0 if (v_word != 0)
219525 0 if (v_word != 0)
0 0 if (v_word != 0)
1044 0 if (v_word != 0)
0 0 if (v_word != 0)
0 0 if (v_word != 0)
0 0 if (v_word != 0)
0 0 if (v_word != 0)
126 66 if (v_word != 0)
1581 12 if (v_word != 0)
1 1 if (v_word != 0)
25 11 if (v_word != 0)
0 0 if (v_word != 0)
0 0 if (v_word != 0)
0 0 if (v_word != 0)
1566 0 if (v_word != 0)
522 0 if (v_word != 0)
0 0 if (v_word != 0)
0 0 if (v_word != 0)
13374 99 63 while (len < max_len && matchptr[len] == strptr[len])
99 0 while (len < max_len && matchptr[len] == strptr[len])
41673 15039 while (len < max_len && matchptr[len] == strptr[len])
41673 0 while (len < max_len && matchptr[len] == strptr[len])
0 0 while (len < max_len && matchptr[len] == strptr[len])
0 0 while (len < max_len && matchptr[len] == strptr[len])
228 42 while (len < max_len && matchptr[len] == strptr[len])
228 0 while (len < max_len && matchptr[len] == strptr[len])
0 0 while (len < max_len && matchptr[len] == strptr[len])
0 0 while (len < max_len && matchptr[len] == strptr[len])
0 0 while (len < max_len && matchptr[len] == strptr[len])
0 0 while (len < max_len && matchptr[len] == strptr[len])
0 0 while (len < max_len && matchptr[len] == strptr[len])
0 0 while (len < max_len && matchptr[len] == strptr[len])
0 0 while (len < max_len && matchptr[len] == strptr[len])
0 0 while (len < max_len && matchptr[len] == strptr[len])
6 1 while (len < max_len && matchptr[len] == strptr[len])
6 0 while (len < max_len && matchptr[len] == strptr[len])
342 63 while (len < max_len && matchptr[len] == strptr[len])
342 0 while (len < max_len && matchptr[len] == strptr[len])
0 0 while (len < max_len && matchptr[len] == strptr[len])
0 0 while (len < max_len && matchptr[len] == strptr[len])
0 0 while (len < max_len && matchptr[len] == strptr[len])
0 0 while (len < max_len && matchptr[len] == strptr[len])
0 0 while (len < max_len && matchptr[len] == strptr[len])
0 0 while (len < max_len && matchptr[len] == strptr[len])
0 0 while (len < max_len && matchptr[len] == strptr[len])
0 0 while (len < max_len && matchptr[len] == strptr[len])
0 0 while (len < max_len && matchptr[len] == strptr[len])
0 0 while (len < max_len && matchptr[len] == strptr[len])
342 63 while (len < max_len && matchptr[len] == strptr[len])
342 0 while (len < max_len && matchptr[len] == strptr[len])
114 21 while (len < max_len && matchptr[len] == strptr[len])
114 0 while (len < max_len && matchptr[len] == strptr[len])
0 0 while (len < max_len && matchptr[len] == strptr[len])
0 0 while (len < max_len && matchptr[len] == strptr[len])
0 0 while (len < max_len && matchptr[len] == strptr[len])
0 0 while (len < max_len && matchptr[len] == strptr[len])
13450 0 150 if (cur_pos == MATCHFINDER_WINDOW_SIZE) {
0 0 if (cur_pos == MATCHFINDER_WINDOW_SIZE) {
0 0 if (cur_pos == MATCHFINDER_WINDOW_SIZE) {
0 4679 if (cur_pos == MATCHFINDER_WINDOW_SIZE) {
0 1992 if (cur_pos == MATCHFINDER_WINDOW_SIZE) {
0 0 if (cur_pos == MATCHFINDER_WINDOW_SIZE) {
0 225 if (cur_pos == MATCHFINDER_WINDOW_SIZE) {
13459 150 0 if (unlikely(max_len < 5))
0 0 if (unlikely(max_len < 5))
0 0 if (unlikely(max_len < 5))
4679 0 if (unlikely(max_len < 5))
1992 0 if (unlikely(max_len < 5))
0 0 if (unlikely(max_len < 5))
225 0 if (unlikely(max_len < 5))
13488 0 0 if (cur_node3 <= cutoff)
0 0 if (cur_node3 <= cutoff)
0 0 if (cur_node3 <= cutoff)
2566 1888 if (cur_node3 <= cutoff)
293 0 if (cur_node3 <= cutoff)
0 0 if (cur_node3 <= cutoff)
0 0 if (cur_node3 <= cutoff)
13493 0 0 if (best_len < 3) {
0 0 if (best_len < 3) {
0 0 if (best_len < 3) {
0 2566 if (best_len < 3) {
0 293 if (best_len < 3) {
0 0 if (best_len < 3) {
0 0 if (best_len < 3) {
13495 0 0 if (load_u24_unaligned(matchptr) == loaded_u32_to_u24(seq4)) {
0 0 if (load_u24_unaligned(matchptr) == loaded_u32_to_u24(seq4)) {
0 0 if (load_u24_unaligned(matchptr) == loaded_u32_to_u24(seq4)) {
0 0 if (load_u24_unaligned(matchptr) == loaded_u32_to_u24(seq4)) {
0 0 if (load_u24_unaligned(matchptr) == loaded_u32_to_u24(seq4)) {
0 0 if (load_u24_unaligned(matchptr) == loaded_u32_to_u24(seq4)) {
0 0 if (load_u24_unaligned(matchptr) == loaded_u32_to_u24(seq4)) {
13503 0 0 if (cur_node4 <= cutoff)
0 0 if (cur_node4 <= cutoff)
0 0 if (cur_node4 <= cutoff)
1935 631 if (cur_node4 <= cutoff)
69 224 if (cur_node4 <= cutoff)
0 0 if (cur_node4 <= cutoff)
0 0 if (cur_node4 <= cutoff)
13510 0 0 if (load_u32_unaligned(matchptr) == seq4)
0 0 if (load_u32_unaligned(matchptr) == seq4)
0 0 if (load_u32_unaligned(matchptr) == seq4)
186 1902 if (load_u32_unaligned(matchptr) == seq4)
30 62 if (load_u32_unaligned(matchptr) == seq4)
0 0 if (load_u32_unaligned(matchptr) == seq4)
0 0 if (load_u32_unaligned(matchptr) == seq4)
13515 0 0 if (cur_node4 <= cutoff || !--depth_remaining)
0 0 if (cur_node4 <= cutoff || !--depth_remaining)
0 0 if (cur_node4 <= cutoff || !--depth_remaining)
0 0 if (cur_node4 <= cutoff || !--depth_remaining)
0 0 if (cur_node4 <= cutoff || !--depth_remaining)
0 0 if (cur_node4 <= cutoff || !--depth_remaining)
155 31 if (cur_node4 <= cutoff || !--depth_remaining)
153 2 if (cur_node4 <= cutoff || !--depth_remaining)
23 7 if (cur_node4 <= cutoff || !--depth_remaining)
23 0 if (cur_node4 <= cutoff || !--depth_remaining)
0 0 if (cur_node4 <= cutoff || !--depth_remaining)
0 0 if (cur_node4 <= cutoff || !--depth_remaining)
0 0 if (cur_node4 <= cutoff || !--depth_remaining)
0 0 if (cur_node4 <= cutoff || !--depth_remaining)
13522 0 0 if (best_len >= nice_len)
0 0 if (best_len >= nice_len)
0 0 if (best_len >= nice_len)
1901 1 if (best_len >= nice_len)
62 0 if (best_len >= nice_len)
0 0 if (best_len >= nice_len)
0 0 if (best_len >= nice_len)
13525 0 0 if (cur_node4 <= cutoff || !--depth_remaining)
0 0 if (cur_node4 <= cutoff || !--depth_remaining)
0 0 if (cur_node4 <= cutoff || !--depth_remaining)
0 0 if (cur_node4 <= cutoff || !--depth_remaining)
0 0 if (cur_node4 <= cutoff || !--depth_remaining)
0 0 if (cur_node4 <= cutoff || !--depth_remaining)
1525 376 if (cur_node4 <= cutoff || !--depth_remaining)
1525 0 if (cur_node4 <= cutoff || !--depth_remaining)
38 24 if (cur_node4 <= cutoff || !--depth_remaining)
38 0 if (cur_node4 <= cutoff || !--depth_remaining)
0 0 if (cur_node4 <= cutoff || !--depth_remaining)
0 0 if (cur_node4 <= cutoff || !--depth_remaining)
0 0 if (cur_node4 <= cutoff || !--depth_remaining)
0 0 if (cur_node4 <= cutoff || !--depth_remaining)
13528 42 108 if (cur_node4 <= cutoff || best_len >= nice_len)
42 0 if (cur_node4 <= cutoff || best_len >= nice_len)
0 0 if (cur_node4 <= cutoff || best_len >= nice_len)
0 0 if (cur_node4 <= cutoff || best_len >= nice_len)
0 0 if (cur_node4 <= cutoff || best_len >= nice_len)
0 0 if (cur_node4 <= cutoff || best_len >= nice_len)
63 162 if (cur_node4 <= cutoff || best_len >= nice_len)
63 0 if (cur_node4 <= cutoff || best_len >= nice_len)
1699 0 if (cur_node4 <= cutoff || best_len >= nice_len)
1699 0 if (cur_node4 <= cutoff || best_len >= nice_len)
0 0 if (cur_node4 <= cutoff || best_len >= nice_len)
0 0 if (cur_node4 <= cutoff || best_len >= nice_len)
63 162 if (cur_node4 <= cutoff || best_len >= nice_len)
63 0 if (cur_node4 <= cutoff || best_len >= nice_len)
13540 42 0 if ((load_u32_unaligned(matchptr + best_len - 3) ==
0 0 if ((load_u32_unaligned(matchptr + best_len - 3) ==
0 0 if ((load_u32_unaligned(matchptr + best_len - 3) ==
650 20012 if ((load_u32_unaligned(matchptr + best_len - 3) ==
82 15298 if ((load_u32_unaligned(matchptr + best_len - 3) ==
0 0 if ((load_u32_unaligned(matchptr + best_len - 3) ==
63 0 if ((load_u32_unaligned(matchptr + best_len - 3) ==
13541 0 42 load_u32_unaligned(in_next + best_len - 3)) &&
0 0 load_u32_unaligned(in_next + best_len - 3)) &&
0 0 load_u32_unaligned(in_next + best_len - 3)) &&
0 650 load_u32_unaligned(in_next + best_len - 3)) &&
0 82 load_u32_unaligned(in_next + best_len - 3)) &&
0 0 load_u32_unaligned(in_next + best_len - 3)) &&
0 63 load_u32_unaligned(in_next + best_len - 3)) &&
13551 0 0 if (cur_node4 <= cutoff || !--depth_remaining)
0 0 if (cur_node4 <= cutoff || !--depth_remaining)
0 0 if (cur_node4 <= cutoff || !--depth_remaining)
0 0 if (cur_node4 <= cutoff || !--depth_remaining)
0 0 if (cur_node4 <= cutoff || !--depth_remaining)
0 0 if (cur_node4 <= cutoff || !--depth_remaining)
18893 1119 if (cur_node4 <= cutoff || !--depth_remaining)
18545 348 if (cur_node4 <= cutoff || !--depth_remaining)
14154 1144 if (cur_node4 <= cutoff || !--depth_remaining)
13568 586 if (cur_node4 <= cutoff || !--depth_remaining)
0 0 if (cur_node4 <= cutoff || !--depth_remaining)
0 0 if (cur_node4 <= cutoff || !--depth_remaining)
0 0 if (cur_node4 <= cutoff || !--depth_remaining)
0 0 if (cur_node4 <= cutoff || !--depth_remaining)
13561 42 0 if (len > best_len) {
0 0 if (len > best_len) {
0 0 if (len > best_len) {
648 2 if (len > best_len) {
78 4 if (len > best_len) {
0 0 if (len > best_len) {
63 0 if (len > best_len) {
13565 0 42 if (best_len >= nice_len)
0 0 if (best_len >= nice_len)
0 0 if (best_len >= nice_len)
585 63 if (best_len >= nice_len)
78 0 if (best_len >= nice_len)
0 0 if (best_len >= nice_len)
0 63 if (best_len >= nice_len)
13571 0 0 if (cur_node4 <= cutoff || !--depth_remaining)
0 0 if (cur_node4 <= cutoff || !--depth_remaining)
0 0 if (cur_node4 <= cutoff || !--depth_remaining)
0 0 if (cur_node4 <= cutoff || !--depth_remaining)
0 0 if (cur_node4 <= cutoff || !--depth_remaining)
0 0 if (cur_node4 <= cutoff || !--depth_remaining)
534 53 if (cur_node4 <= cutoff || !--depth_remaining)
529 5 if (cur_node4 <= cutoff || !--depth_remaining)
75 7 if (cur_node4 <= cutoff || !--depth_remaining)
75 0 if (cur_node4 <= cutoff || !--depth_remaining)
0 0 if (cur_node4 <= cutoff || !--depth_remaining)
0 0 if (cur_node4 <= cutoff || !--depth_remaining)
0 0 if (cur_node4 <= cutoff || !--depth_remaining)
0 0 if (cur_node4 <= cutoff || !--depth_remaining)
13593 36 6 if (unlikely(count + 5 > in_end - in_next))
0 0 if (unlikely(count + 5 > in_end - in_next))
0 0 if (unlikely(count + 5 > in_end - in_next))
54 10 if (unlikely(count + 5 > in_end - in_next))
0 0 if (unlikely(count + 5 > in_end - in_next))
1901 0 if (unlikely(count + 5 > in_end - in_next))
54 9 if (unlikely(count + 5 > in_end - in_next))
13600 0 9252 if (cur_pos == MATCHFINDER_WINDOW_SIZE) {
0 0 if (cur_pos == MATCHFINDER_WINDOW_SIZE) {
0 0 if (cur_pos == MATCHFINDER_WINDOW_SIZE) {
0 13878 if (cur_pos == MATCHFINDER_WINDOW_SIZE) {
0 0 if (cur_pos == MATCHFINDER_WINDOW_SIZE) {
0 22168 if (cur_pos == MATCHFINDER_WINDOW_SIZE) {
0 13878 if (cur_pos == MATCHFINDER_WINDOW_SIZE) {
13613 9216 36 } while (--remaining);
0 0 } while (--remaining);
0 0 } while (--remaining);
13824 54 } while (--remaining);
0 0 } while (--remaining);
20267 1901 } while (--remaining);
13824 54 } while (--remaining);
17006 0 75 if (cur_pos == MATCHFINDER_WINDOW_SIZE) {
17035 21 54 if (cur_node <= cutoff)
17043 21 0 if (load_u32_unaligned(matchptr) == seq) {
17046 18 3 if (cur_node <= cutoff || best_len >= nice_len)
0 18 if (cur_node <= cutoff || best_len >= nice_len)
17049 0 0 if (load_u32_unaligned(matchptr) == seq &&
0 0 if (load_u32_unaligned(matchptr) == seq &&
17053 0 0 if (len > best_len) {
17059 0 0 if (cur_node <= cutoff)
17062 0 0 if (load_u32_unaligned(matchptr) == seq) {
17106 18 3 if (unlikely(count + HT_MATCHFINDER_REQUIRED_NBYTES > in_end - in_next))
17109 0 18 if (cur_pos + count - 1 >= MATCHFINDER_WINDOW_SIZE) {
17117 4626 4626 for (i = HT_MATCHFINDER_BUCKET_SIZE - 1; i > 0; i--)
17124 4608 18 } while (--remaining);
20570 63 162 if (record_matches && cur_node > cutoff) {
20572 63 0 if (seq3 == load_u24_unaligned(&in_base[cur_node])) {
20578 0 0 else if (cur_node_2 > cutoff &&
0 0 else if (cur_node_2 > cutoff &&
20594 162 63 if (cur_node <= cutoff) {
0 15039 if (cur_node <= cutoff) {
20607 63 0 if (matchptr[len] == in_next[len]) {
15039 0 if (matchptr[len] == in_next[len]) {
20609 63 0 if (!record_matches || len > best_len) {
63 0 if (!record_matches || len > best_len) {
0 15039 if (!record_matches || len > best_len) {
0 0 if (!record_matches || len > best_len) {
20616 63 0 if (len >= nice_len) {
15039 0 if (len >= nice_len) {
20624 0 0 if (matchptr[len] < in_next[len]) {
0 0 if (matchptr[len] < in_next[len]) {
20629 0 0 if (best_gt_len < len)
0 0 if (best_gt_len < len)
20636 0 0 if (best_lt_len < len)
0 0 if (best_lt_len < len)
20640 0 0 if (cur_node <= cutoff || !--depth_remaining) {
0 0 if (cur_node <= cutoff || !--depth_remaining) {
0 0 if (cur_node <= cutoff || !--depth_remaining) {
0 0 if (cur_node <= cutoff || !--depth_remaining) {
21101 63 24 while ((child_idx = parent_idx * 2) <= length) {
21102 55 8 if (child_idx < length && A[child_idx + 1] > A[child_idx])
26 29 if (child_idx < length && A[child_idx + 1] > A[child_idx])
21104 11 52 if (v >= A[child_idx])
21118 12 263 for (subtree_idx = length / 2; subtree_idx >= 1; subtree_idx--)
21130 23 263 while (length >= 2) {
21164 32915 263 for (sym = 0; sym < num_syms; sym++)
21169 32652 263 for (i = 1; i < num_counters; i++) {
21177 32915 263 for (sym = 0; sym < num_syms; sym++) {
21180 13499 19416 if (freq != 0) {
21214 7970 5275 if (i + 1 <= last_idx &&
7767 203 if (i + 1 <= last_idx &&
21215 6320 1447 (b == e || (A[i + 1] & FREQ_MASK) <= (A[b] & FREQ_MASK))) {
21219 6610 112 } else if (b + 2 <= e &&
1526 5084 } else if (b + 2 <= e &&
21220 1236 290 (i > last_idx ||
21237 13042 203 } while (++e < last_idx);
21250 2629 203 for (len = 0; len <= max_codeword_len; len++)
21257 13042 203 for (node = root_idx - 1; node >= 0; node--) {
21269 0 13042 if (depth >= max_codeword_len) {
21273 0 0 } while (len_counts[depth] == 0);
21346 2426 203 for (i = 0, len = max_codeword_len; len >= 1; len--) {
21349 13448 2426 while (count--)
21356 2223 203 for (len = 2; len <= max_codeword_len; len++)
21360 30995 203 for (sym = 0; sym < num_syms; sym++) {
21383 60 203 if (unlikely(num_used_syms < 2)) {
21384 51 9 unsigned sym = num_used_syms ? (A[0] & SYMBOL_MASK) : 0;
21385 51 9 unsigned nonzero_idx = sym ? sym : 1;
21439 5328 37 for (i = 0; i < 144; i++)
21441 4144 37 for (; i < 256; i++)
21443 888 37 for (; i < 280; i++)
21445 296 37 for (; i < 288; i++)
21448 1184 37 for (i = 0; i < 32; i++)
21489 18808 65 } while (run_end != num_lens && len == lens[run_end]);
16900 1908 } while (run_end != num_lens && len == lens[run_end]);
21491 834 1139 if (len == 0) {
21495 249 834 while ((run_end - run_start) >= 11) {
21504 309 525 if ((run_end - run_start) >= 3) {
21516 6 1133 if ((run_end - run_start) >= 4) {
21526 0 6 } while ((run_end - run_start) >= 3);
21531 1571 1973 while (run_start != run_end) {
21536 1908 65 } while (run_start != num_lens);
21549 466 9 for (c->o.precode.num_litlen_syms = DEFLATE_NUM_LITLEN_SYMS;
21552 56 410 if (c->codes.lens.litlen[c->o.precode.num_litlen_syms - 1] != 0)
21555 1582 0 for (c->o.precode.num_offset_syms = DEFLATE_NUM_OFFSET_SYMS;
21558 65 1517 if (c->codes.lens.offset[c->o.precode.num_offset_syms - 1] != 0)
21564 65 0 if (c->o.precode.num_litlen_syms != DEFLATE_NUM_LITLEN_SYMS) {
21585 138 0 for (c->o.precode.num_explicit_lens = DEFLATE_NUM_PRECODE_SYMS;
21588 65 73 if (c->o.precode.lens[deflate_precode_lens_permutation[
21593 65 0 if (c->o.precode.num_litlen_syms != DEFLATE_NUM_LITLEN_SYMS) {
21610 9728 38 for (len = DEFLATE_MIN_MATCH_LEN; len <= DEFLATE_MAX_MATCH_LEN; len++) {
21683 36 2 ASSERT(block_length >= MIN_BLOCK_LENGTH ||
36 0 ASSERT(block_length >= MIN_BLOCK_LENGTH ||
36 0 ASSERT(block_length >= MIN_BLOCK_LENGTH ||
21696 722 38 for (sym = 0; sym < DEFLATE_NUM_PRECODE_SYMS; sym++) {
21704 5472 38 for (sym = 0; sym < 144; sym++) {
21709 4256 38 for (; sym < 256; sym++) {
21720 1102 38 for (sym = DEFLATE_FIRST_LEN_SYM;
21733 1140 38 for (sym = 0; sym < ARRAY_LEN(deflate_extra_offset_bits); sym++) {
21752 0 38 if (DIV_ROUND_UP(bitcount + best_cost, 8) > os->end - out_next) {
21758 0 38 if (best_cost == uncompressed_cost) {
21764 0 0 if (in_end - in_next <= UINT16_MAX) {
21774 0 0 if (bitcount > 5)
21786 0 0 } while (in_next != in_end);
21791 36 2 if (best_cost == static_cost) {
21796 36 0 FLUSH_BITS();
0 0 FLUSH_BITS();
21818 2 0 FLUSH_BITS();
0 0 FLUSH_BITS();
21824 24 2 } while (++i < num_explicit_lens);
21825 2 0 FLUSH_BITS();
0 0 FLUSH_BITS();
21847 233 0 FLUSH_BITS();
0 0 FLUSH_BITS();
21848 231 2 } while (++i < num_precode_items);
21855 9 29 if (sequences == NULL) {
21865 162 63 if (length == 1) {
21869 162 0 FLUSH_BITS();
0 0 FLUSH_BITS();
21872 63 0 WRITE_MATCH(c, codes, length, offset,
0 0 WRITE_MATCH(c, codes, length, offset,
21876 216 9 } while (cur_node != end_node);
21892 557 2120 for (; litrunlen >= 4; litrunlen -= 4) {
21905 557 0 FLUSH_BITS();
0 0 FLUSH_BITS();
21907 509 1611 if (litrunlen-- != 0) {
21911 280 229 if (litrunlen-- != 0) {
21915 112 168 if (litrunlen-- != 0) {
21921 509 0 FLUSH_BITS();
0 0 FLUSH_BITS();
21932 29 2091 if (length == 0) {
21938 2091 0 WRITE_MATCH(c, codes, length, seq->offset,
0 0 WRITE_MATCH(c, codes, length, seq->offset,
21948 38 0 FLUSH_BITS();
0 0 FLUSH_BITS();
21981 440 44 for (i = 0; i < NUM_OBSERVATION_TYPES; i++) {
22001 63 0 stats->new_observations[NUM_LITERAL_OBSERVATION_TYPES +
42 0 stats->new_observations[NUM_LITERAL_OBSERVATION_TYPES +
0 0 stats->new_observations[NUM_LITERAL_OBSERVATION_TYPES +
0 0 stats->new_observations[NUM_LITERAL_OBSERVATION_TYPES +
64 0 stats->new_observations[NUM_LITERAL_OBSERVATION_TYPES +
0 0 stats->new_observations[NUM_LITERAL_OBSERVATION_TYPES +
1055 846 stats->new_observations[NUM_LITERAL_OBSERVATION_TYPES +
63 0 stats->new_observations[NUM_LITERAL_OBSERVATION_TYPES +
0 0 stats->new_observations[NUM_LITERAL_OBSERVATION_TYPES +
22011 150 15 for (i = 0; i < NUM_OBSERVATION_TYPES; i++) {
22022 6 1 if (stats->num_observations > 0) {
22029 60 6 for (i = 0; i < NUM_OBSERVATION_TYPES; i++) {
22034 16 44 u32 delta = (actual > expected) ? actual - expected :
22046 1 5 if (block_length < 10000 && num_items < 8192)
1 0 if (block_length < 10000 && num_items < 8192)
22050 1 5 if (total_delta +
22064 0 0 && in_next - in_block_begin >= MIN_BLOCK_LENGTH
0 0 && in_next - in_block_begin >= MIN_BLOCK_LENGTH
89 361 && in_next - in_block_begin >= MIN_BLOCK_LENGTH
0 0 && in_next - in_block_begin >= MIN_BLOCK_LENGTH
22065 0 216 && in_end - in_next >= MIN_BLOCK_LENGTH;
0 0 && in_end - in_next >= MIN_BLOCK_LENGTH;
0 144 && in_end - in_next >= MIN_BLOCK_LENGTH;
0 0 && in_end - in_next >= MIN_BLOCK_LENGTH;
450 4219 && in_end - in_next >= MIN_BLOCK_LENGTH;
7 82 && in_end - in_next >= MIN_BLOCK_LENGTH;
0 216 && in_end - in_next >= MIN_BLOCK_LENGTH;
0 0 && in_end - in_next >= MIN_BLOCK_LENGTH;
22073 144 0 if (!ready_to_check_block(stats, in_block_begin, in_next, in_end))
4662 7 if (!ready_to_check_block(stats, in_block_begin, in_next, in_end))
216 0 if (!ready_to_check_block(stats, in_block_begin, in_next, in_end))
22095 108 0 if (gather_split_stats)
0 0 if (gather_split_stats)
0 0 if (gather_split_stats)
0 0 if (gather_split_stats)
2714 0 if (gather_split_stats)
91 0 if (gather_split_stats)
0 0 if (gather_split_stats)
0 0 if (gather_split_stats)
162 0 if (gather_split_stats)
0 0 if (gather_split_stats)
0 54 if (gather_split_stats)
22113 42 0 if (gather_split_stats)
0 0 if (gather_split_stats)
0 0 if (gather_split_stats)
64 0 if (gather_split_stats)
0 0 if (gather_split_stats)
1901 0 if (gather_split_stats)
63 0 if (gather_split_stats)
0 21 if (gather_split_stats)
22129 9 216 if (unlikely(remaining < DEFLATE_MAX_MATCH_LEN)) {
2304 12771 if (unlikely(remaining < DEFLATE_MAX_MATCH_LEN)) {
6 144 if (unlikely(remaining < DEFLATE_MAX_MATCH_LEN)) {
0 0 if (unlikely(remaining < DEFLATE_MAX_MATCH_LEN)) {
0 0 if (unlikely(remaining < DEFLATE_MAX_MATCH_LEN)) {
40 4639 if (unlikely(remaining < DEFLATE_MAX_MATCH_LEN)) {
21 1971 if (unlikely(remaining < DEFLATE_MAX_MATCH_LEN)) {
0 0 if (unlikely(remaining < DEFLATE_MAX_MATCH_LEN)) {
9 216 if (unlikely(remaining < DEFLATE_MAX_MATCH_LEN)) {
22153 0 46 if (num_used_literals >= ARRAY_LEN(min_lens))
22157 6 40 if (max_search_depth < 16) {
22158 0 6 if (max_search_depth < 5)
22160 3 3 else if (max_search_depth < 10)
22177 0 35 if (data_len < 512)
22182 64292 35 for (i = 0; i < data_len; i++)
22184 8960 35 for (i = 0; i < 256; i++)
22199 512 2 for (i = 0; i < DEFLATE_NUM_LITERALS; i++)
22204 512 2 for (i = 0; i < DEFLATE_NUM_LITERALS; i++) {
22205 119 393 if (freqs->litlen[i] > cutoff)
22215 9 0 if (in_end - in_block_begin < soft_max_len + MIN_BLOCK_LENGTH)
6 0 if (in_end - in_block_begin < soft_max_len + MIN_BLOCK_LENGTH)
11 0 if (in_end - in_block_begin < soft_max_len + MIN_BLOCK_LENGTH)
9 0 if (in_end - in_block_begin < soft_max_len + MIN_BLOCK_LENGTH)
3 0 if (in_end - in_block_begin < soft_max_len + MIN_BLOCK_LENGTH)
22231 0 0 if (unlikely(in_nbytes == 0)) {
22232 0 0 if (out_nbytes_avail < 5)
22245 0 0 if (in_end - in_next <= UINT16_MAX) {
22249 0 0 if (out_end - out_next < 5 + len)
22262 0 0 } while (in_next != in_end);
22297 3 72 if (unlikely(remaining < DEFLATE_MAX_MATCH_LEN)) {
22299 0 3 if (max_len < HT_MATCHFINDER_REQUIRED_NBYTES) {
22303 0 0 } while (--max_len);
22315 21 54 if (length) {
22333 72 0 } while (in_next < in_max_block_end &&
22334 72 3 seq < &c->p.f.sequences[FAST_SEQ_STORE_LENGTH]);
22339 0 3 } while (in_next != in_end && !os->overflow);
0 0 } while (in_next != in_end && !os->overflow);
22388 63 162 if (length >= min_len &&
0 63 if (length >= min_len &&
22389 0 0 (length > DEFLATE_MIN_MATCH_LEN ||
22408 216 0 } while (in_next < in_max_block_end &&
22409 216 0 seq < &c->p.g.sequences[SEQ_STORE_LENGTH] &&
22411 216 9 in_block_begin, in_next, in_end));
22416 0 9 } while (in_next != in_end && !os->overflow);
0 0 } while (in_next != in_end && !os->overflow);
22456 0 150 if (in_next >= next_recalc_min_len) {
2 4677 if (in_next >= next_recalc_min_len) {
22478 42 108 if (cur_len < min_len ||
0 42 if (cur_len < min_len ||
1965 2714 if (cur_len < min_len ||
0 1965 if (cur_len < min_len ||
22479 0 0 (cur_len == DEFLATE_MIN_MATCH_LEN &&
0 0 (cur_len == DEFLATE_MIN_MATCH_LEN &&
22490 42 0 if (cur_len >= nice_len) {
64 1992 if (cur_len >= nice_len) {
22516 0 0 if (next_len >= cur_len &&
0 0 if (next_len >= cur_len &&
138 1854 if (next_len >= cur_len &&
91 47 if (next_len >= cur_len &&
22528 0 0 if (lazy2) {
0 1901 if (lazy2) {
22542 0 0 if (next_len >= cur_len &&
0 0 if (next_len >= cur_len &&
0 0 if (next_len >= cur_len &&
0 0 if (next_len >= cur_len &&
22558 0 0 if (cur_len > 3) {
0 0 if (cur_len > 3) {
22580 144 0 } while (in_next < in_max_block_end &&
4669 0 } while (in_next < in_max_block_end &&
22581 144 0 seq < &c->p.g.sequences[SEQ_STORE_LENGTH] &&
4668 1 seq < &c->p.g.sequences[SEQ_STORE_LENGTH] &&
22583 144 6 in_block_begin, in_next, in_end));
4669 10 in_block_begin, in_next, in_end));
22588 0 6 } while (in_next != in_end && !os->overflow);
1 0 } while (in_next != in_end && !os->overflow);
22623 432 168 if (length == 1) {
22633 576 24 } while (cur_node != end_node);
22646 15300 9 for (i = 0; i < block_length; i++)
22666 513 27 for (sym = 0; sym < DEFLATE_NUM_PRECODE_SYMS; sym++) {
22672 6939 27 for (sym = 0; sym < DEFLATE_FIRST_LEN_SYM; sym++)
22675 783 27 for (; sym < DEFLATE_FIRST_LEN_SYM +
22681 810 27 for (sym = 0; sym < ARRAY_LEN(deflate_extra_offset_bits); sym++)
22696 3840 15 for (i = 0; i < DEFLATE_NUM_LITERALS; i++) {
22697 1644 2196 u32 bits = (lens->litlen[i] ?
22704 3840 15 for (i = DEFLATE_MIN_MATCH_LEN; i <= DEFLATE_MAX_MATCH_LEN; i++) {
22707 1833 2007 u32 bits = (lens->litlen[litlen_sym] ?
22715 450 15 for (i = 0; i < ARRAY_LEN(deflate_offset_slot_base); i++) {
22716 198 252 u32 bits = (lens->offset[i] ?
22859 15300 9 for (i = 0; i < block_length; i++)
22861 2304 9 for (i = 0; i < DEFLATE_NUM_LITERALS; i++) {
22862 108 2196 if (c->freqs.litlen[i] > cutoff)
22865 0 9 if (num_used_literals == 0)
22871 2277 9 for (; i < ARRAY_LEN(c->p.n.match_len_freqs); i++) {
22875 0 9 if ((s32)literal_freq < 0)
22878 0 9 if (match_freq > literal_freq)
22880 9 0 else if (match_freq * 4 > literal_freq)
22918 2304 9 for (i = 0; i < DEFLATE_NUM_LITERALS; i++)
22922 2304 9 for (i = DEFLATE_MIN_MATCH_LEN; i <= DEFLATE_MAX_MATCH_LEN; i++)
22927 270 9 for (i = 0; i < ARRAY_LEN(deflate_offset_slot_base); i++)
22935 0 0 if (change_amount == 0)
0 0 if (change_amount == 0)
0 0 if (change_amount == 0)
0 0 if (change_amount == 0)
0 0 if (change_amount == 0)
0 0 if (change_amount == 0)
0 0 if (change_amount == 0)
0 0 if (change_amount == 0)
0 0 if (change_amount == 0)
0 0 if (change_amount == 0)
0 0 if (change_amount == 0)
0 0 if (change_amount == 0)
22938 0 0 else if (change_amount == 1)
0 0 else if (change_amount == 1)
0 0 else if (change_amount == 1)
0 0 else if (change_amount == 1)
0 0 else if (change_amount == 1)
0 0 else if (change_amount == 1)
0 0 else if (change_amount == 1)
0 0 else if (change_amount == 1)
0 0 else if (change_amount == 1)
0 0 else if (change_amount == 1)
0 0 else if (change_amount == 1)
0 0 else if (change_amount == 1)
22940 0 0 else if (change_amount == 2)
0 0 else if (change_amount == 2)
0 0 else if (change_amount == 2)
0 0 else if (change_amount == 2)
0 0 else if (change_amount == 2)
0 0 else if (change_amount == 2)
0 0 else if (change_amount == 2)
0 0 else if (change_amount == 2)
0 0 else if (change_amount == 2)
0 0 else if (change_amount == 2)
0 0 else if (change_amount == 2)
0 0 else if (change_amount == 2)
22954 0 0 for (i = 0; i < DEFLATE_NUM_LITERALS; i++)
0 0 for (i = 0; i < DEFLATE_NUM_LITERALS; i++)
0 0 for (i = 0; i < DEFLATE_NUM_LITERALS; i++)
0 0 for (i = 0; i < DEFLATE_NUM_LITERALS; i++)
22959 0 0 for (i = DEFLATE_MIN_MATCH_LEN; i <= DEFLATE_MAX_MATCH_LEN; i++)
0 0 for (i = DEFLATE_MIN_MATCH_LEN; i <= DEFLATE_MAX_MATCH_LEN; i++)
0 0 for (i = DEFLATE_MIN_MATCH_LEN; i <= DEFLATE_MAX_MATCH_LEN; i++)
0 0 for (i = DEFLATE_MIN_MATCH_LEN; i <= DEFLATE_MAX_MATCH_LEN; i++)
22966 0 0 for (i = 0; i < ARRAY_LEN(deflate_offset_slot_base); i++)
0 0 for (i = 0; i < ARRAY_LEN(deflate_offset_slot_base); i++)
0 0 for (i = 0; i < ARRAY_LEN(deflate_offset_slot_base); i++)
0 0 for (i = 0; i < ARRAY_LEN(deflate_offset_slot_base); i++)
22982 0 0 for (i = 0; i < NUM_OBSERVATION_TYPES; i++) {
22988 0 0 total_delta += prev > cur ? prev - cur : cur - prev;
22993 0 0 if (total_delta > 3 * cutoff)
22996 0 0 else if (4 * total_delta > 9 * cutoff)
22998 0 0 else if (2 * total_delta > 3 * cutoff)
23000 0 0 else if (2 * total_delta > cutoff)
23015 9 0 if (is_first_block)
23049 168 40632 if (num_matches) {
23069 39753 279 if (cost_to_end < best_cost_to_end) {
23075 39696 336 } while (++len <= match->length);
23076 168 168 } while (++match != cache_ptr);
23080 40776 24 } while (cur_node != &c->p.n.optimum_nodes[0]);
23110 2322 9 for (i = block_length;
23111 2331 0 i <= MIN(block_length - 1 + DEFLATE_MAX_MATCH_LEN,
23116 3 6 if (block_length <= c->p.n.max_len_to_optimize_static_block) {
23140 9 9 if (true_cost + c->p.n.min_improvement_to_continue >
23152 9 0 } while (--num_passes_remaining);
23155 3 6 if (MIN(only_lits_cost, static_cost) < best_true_cost) {
23156 0 3 if (only_lits_cost < static_cost) {
23168 0 6 } else if (true_cost >=
23194 2331 9 for (i = 0; i < ARRAY_LEN(c->p.n.match_len_freqs); i++) {
23206 90 9 for (i = 0; i < NUM_OBSERVATION_TYPES; i++)
23216 0 0 for (i = 0; i < NUM_OBSERVATION_TYPES; i++)
23253 0 9 if (prev_block_used_only_literals)
23268 0 225 if (in_next == in_next_slide) {
23279 225 0 if (likely(max_len >= BT_MATCHFINDER_REQUIRED_NBYTES)) {
23289 63 162 if (cache_ptr > matches)
23292 225 0 if (in_next >= next_observation) {
23293 63 162 if (best_len >= min_len) {
23311 63 162 if (best_len >= DEFLATE_MIN_MATCH_LEN &&
63 0 if (best_len >= DEFLATE_MIN_MATCH_LEN &&
23316 0 15075 if (in_next == in_next_slide) {
23327 15039 36 if (max_len >=
23341 15012 63 } while (--best_len);
23344 9 216 if (in_next >= in_max_block_end)
23347 0 216 if (cache_ptr >=
23351 216 0 if (!ready_to_check_block(&c->split_stats,
23356 0 0 if (do_end_block_check(&c->split_stats,
23366 0 9 if (change_detected && prev_end_block_check != NULL) {
0 0 if (change_detected && prev_end_block_check != NULL) {
23380 0 0 } while (--num_bytes_to_rewind);
23412 0 9 } while (in_next != in_end && !os->overflow);
0 0 } while (in_next != in_end && !os->overflow);
23423 270 9 for (offset_slot = 0; offset_slot < ARRAY_LEN(deflate_offset_slot_base);
23430 294642 270 } while (++offset != offset_end);
23446 0 37 if (options->sizeof_options != sizeof(*options))
23449 37 0 if (compression_level < 0 || compression_level > 12)
0 37 if (compression_level < 0 || compression_level > 12)
23453 9 28 if (compression_level >= 10)
23458 25 3 if (compression_level >= 2)
23460 3 0 else if (compression_level == 1)
23464 0 37 c = libdeflate_aligned_malloc(options->malloc_func ?
23468 0 37 if (!c)
23471 0 37 options->free_func : libdeflate_default_free_func;
23589 0 37 if (unlikely(in_nbytes <= c->max_passthrough_size))
23604 0 37 if (os.overflow)
23609 37 0 if (os.bitcount) {
23621 37 0 if (c)
23641 37 0 max_blocks = MAX(DIV_ROUND_UP(in_nbytes, MIN_BLOCK_LENGTH), 1);
24911 1352 87 for (len = 0; len <= max_codeword_len; len++)
24913 13148 87 for (sym = 0; sym < num_syms; sym++)
24917 715 0 while (max_codeword_len > 1 && len_counts[max_codeword_len] == 0)
628 87 while (max_codeword_len > 1 && len_counts[max_codeword_len] == 0)
24919 41 46 if (table_bits_ret != NULL) {
24934 550 87 for (len = 1; len < max_codeword_len; len++) {
24940 13148 87 for (sym = 0; sym < num_syms; sym++)
24950 0 87 if (unlikely(codespace_used > (1U << max_codeword_len)))
24954 0 87 if (unlikely(codespace_used < (1U << max_codeword_len))) {
24959 0 0 if (codespace_used == 0) {
24962 0 0 if (codespace_used != (1U << (max_codeword_len - 1)) ||
0 0 if (codespace_used != (1U << (max_codeword_len - 1)) ||
24968 0 0 for (i = 0; i < (1U << table_bits); i++)
24976 393 87 while ((count = len_counts[len]) == 0)
24979 233 8 while (len <= table_bits) {
24989 79 12081 if (codeword == cur_table_end - 1) {
24991 111 79 for (; len < table_bits; len++) {
25004 11927 154 } while (--count);
25008 149 8 if (++len <= table_bits) {
25014 3 154 } while ((count = len_counts[len]) == 0);
25028 19 19 if ((codeword & ((1U << table_bits) - 1)) != subtable_prefix) {
25034 0 19 while (codespace_used < (1U << subtable_bits)) {
25057 0 38 } while (i < cur_table_end);
25060 8 30 if (codeword == (1U << len) - 1)
25066 0 30 while (count == 0)
25193 41 0 REFILL_BITS();
0 0 REFILL_BITS();
0 0 REFILL_BITS();
0 0 REFILL_BITS();
25201 5 36 if (block_type == DEFLATE_BLOCKTYPE_DYNAMIC_HUFFMAN) {
25233 5 0 REFILL_BITS();
0 0 REFILL_BITS();
0 0 REFILL_BITS();
0 0 REFILL_BITS();
25240 60 5 } while (++i < num_explicit_precode_lens);
25254 25 5 for (; i < DEFLATE_NUM_PRECODE_SYMS; i++)
25258 0 5 SAFETY_CHECK(build_precode_decode_table(d));
25267 55 619 if ((u8)bitsleft < DEFLATE_MAX_PRE_CODEWORD_LEN + 7)
25268 55 0 REFILL_BITS();
0 0 REFILL_BITS();
0 0 REFILL_BITS();
0 0 REFILL_BITS();
25280 626 48 if (presym < 16) {
25291 15 33 if (presym == 16) {
25293 0 15 SAFETY_CHECK(i != 0);
25306 15 18 } else if (presym == 17) {
25333 669 5 } while (i < num_litlen_syms + num_offset_syms);
25336 0 5 SAFETY_CHECK(i == num_litlen_syms + num_offset_syms);
25338 0 36 } else if (block_type == DEFLATE_BLOCKTYPE_UNCOMPRESSED) {
25347 0 0 SAFETY_CHECK(overread_count <= (bitsleft >> 3));
25353 0 0 SAFETY_CHECK(in_end - in_next >= 4);
25358 0 0 SAFETY_CHECK(len == (u16)~nlen);
25359 0 0 if (unlikely(len > out_end - out_next))
25361 0 0 SAFETY_CHECK(len <= in_end - in_next);
25372 0 36 SAFETY_CHECK(block_type == DEFLATE_BLOCKTYPE_STATIC_HUFFMAN);
25379 0 36 if (d->static_codes_loaded)
25387 5184 36 for (i = 0; i < 144; i++)
25389 4032 36 for (; i < 256; i++)
25391 864 36 for (; i < 280; i++)
25393 288 36 for (; i < 288; i++)
25396 1152 36 for (; i < 288 + 32; i++)
25405 0 41 SAFETY_CHECK(build_offset_decode_table(d, num_litlen_syms, num_offset_syms));
25406 0 41 SAFETY_CHECK(build_litlen_decode_table(d, num_litlen_syms, num_offset_syms));
25411 41 0 if (in_next >= in_fastloop_end || out_next >= out_fastloop_end)
41 0 if (in_next >= in_fastloop_end || out_next >= out_fastloop_end)
25426 3886 6265 if (entry & HUFFDEC_LITERAL) {
25443 2617 1269 if (entry & HUFFDEC_LITERAL) {
25451 1951 666 if (entry & HUFFDEC_LITERAL) {
25473 28 8172 if (unlikely(entry & HUFFDEC_EXCEPTIONAL)) {
25476 1 27 if (unlikely(entry & HUFFDEC_END_OF_BLOCK))
25492 27 0 if (entry & HUFFDEC_LITERAL) {
25500 0 0 if (unlikely(entry & HUFFDEC_END_OF_BLOCK))
25516 17 8155 if (unlikely(entry & HUFFDEC_EXCEPTIONAL)) {
25518 0 17 if (unlikely((u8)bitsleft < OFFSET_MAXBITS +
25525 1 8154 } else if (unlikely((u8)bitsleft < OFFSET_MAXFASTBITS +
25553 0 8172 SAFETY_CHECK(offset <= out_next - (const u8 *)out);
25569 8163 9 if (UNALIGNED_ACCESS_IS_FAST && offset >= WORDBYTES) {
25585 267 8163 while (dst < out_next) {
25602 0 9 } else if (UNALIGNED_ACCESS_IS_FAST && offset == 1) {
25615 0 0 while (dst < out_next) {
25639 0 9 } while (dst < out_next);
25647 10114 36 } while (in_next < in_fastloop_end && out_next < out_fastloop_end);
10110 4 } while (in_next < in_fastloop_end && out_next < out_fastloop_end);
25656 722 248 REFILL_BITS();
240 240 REFILL_BITS();
0 240 REFILL_BITS();
480 248 REFILL_BITS();
25661 3 967 if (unlikely(entry & HUFFDEC_SUBTABLE_POINTER)) {
25669 588 382 if (entry & HUFFDEC_LITERAL) {
25670 0 588 if (unlikely(out_next == out_end))
25675 40 342 if (unlikely(entry & HUFFDEC_END_OF_BLOCK))
25678 0 342 if (unlikely(length > out_end - out_next))
25684 0 342 if (unlikely(entry & HUFFDEC_EXCEPTIONAL)) {
25697 0 342 SAFETY_CHECK(offset <= out_next - (const u8 *)out);
25707 60650 342 } while (dst < out_next);
25713 1 40 if (!is_final_block)
25721 0 40 SAFETY_CHECK(overread_count <= (bitsleft >> 3));
25724 40 0 if (actual_in_nbytes_ret) {
25732 40 0 if (actual_out_nbytes_ret) {
25735 0 0 if (out_next != out_end)
26850 0 0 REFILL_BITS();
0 0 REFILL_BITS();
0 0 REFILL_BITS();
0 0 REFILL_BITS();
26858 0 0 if (block_type == DEFLATE_BLOCKTYPE_DYNAMIC_HUFFMAN) {
26890 0 0 REFILL_BITS();
0 0 REFILL_BITS();
0 0 REFILL_BITS();
0 0 REFILL_BITS();
26897 0 0 } while (++i < num_explicit_precode_lens);
26911 0 0 for (; i < DEFLATE_NUM_PRECODE_SYMS; i++)
26915 0 0 SAFETY_CHECK(build_precode_decode_table(d));
26924 0 0 if ((u8)bitsleft < DEFLATE_MAX_PRE_CODEWORD_LEN + 7)
26925 0 0 REFILL_BITS();
0 0 REFILL_BITS();
0 0 REFILL_BITS();
0 0 REFILL_BITS();
26937 0 0 if (presym < 16) {
26948 0 0 if (presym == 16) {
26950 0 0 SAFETY_CHECK(i != 0);
26963 0 0 } else if (presym == 17) {
26990 0 0 } while (i < num_litlen_syms + num_offset_syms);
26993 0 0 SAFETY_CHECK(i == num_litlen_syms + num_offset_syms);
26995 0 0 } else if (block_type == DEFLATE_BLOCKTYPE_UNCOMPRESSED) {
27004 0 0 SAFETY_CHECK(overread_count <= (bitsleft >> 3));
27010 0 0 SAFETY_CHECK(in_end - in_next >= 4);
27015 0 0 SAFETY_CHECK(len == (u16)~nlen);
27016 0 0 if (unlikely(len > out_end - out_next))
27018 0 0 SAFETY_CHECK(len <= in_end - in_next);
27029 0 0 SAFETY_CHECK(block_type == DEFLATE_BLOCKTYPE_STATIC_HUFFMAN);
27036 0 0 if (d->static_codes_loaded)
27044 0 0 for (i = 0; i < 144; i++)
27046 0 0 for (; i < 256; i++)
27048 0 0 for (; i < 280; i++)
27050 0 0 for (; i < 288; i++)
27053 0 0 for (; i < 288 + 32; i++)
27062 0 0 SAFETY_CHECK(build_offset_decode_table(d, num_litlen_syms, num_offset_syms));
27063 0 0 SAFETY_CHECK(build_litlen_decode_table(d, num_litlen_syms, num_offset_syms));
27068 0 0 if (in_next >= in_fastloop_end || out_next >= out_fastloop_end)
0 0 if (in_next >= in_fastloop_end || out_next >= out_fastloop_end)
27083 0 0 if (entry & HUFFDEC_LITERAL) {
27100 0 0 if (entry & HUFFDEC_LITERAL) {
27108 0 0 if (entry & HUFFDEC_LITERAL) {
27130 0 0 if (unlikely(entry & HUFFDEC_EXCEPTIONAL)) {
27133 0 0 if (unlikely(entry & HUFFDEC_END_OF_BLOCK))
27149 0 0 if (entry & HUFFDEC_LITERAL) {
27157 0 0 if (unlikely(entry & HUFFDEC_END_OF_BLOCK))
27173 0 0 if (unlikely(entry & HUFFDEC_EXCEPTIONAL)) {
27175 0 0 if (unlikely((u8)bitsleft < OFFSET_MAXBITS +
27182 0 0 } else if (unlikely((u8)bitsleft < OFFSET_MAXFASTBITS +
27210 0 0 SAFETY_CHECK(offset <= out_next - (const u8 *)out);
27226 0 0 if (UNALIGNED_ACCESS_IS_FAST && offset >= WORDBYTES) {
27242 0 0 while (dst < out_next) {
27259 0 0 } else if (UNALIGNED_ACCESS_IS_FAST && offset == 1) {
27272 0 0 while (dst < out_next) {
27296 0 0 } while (dst < out_next);
27304 0 0 } while (in_next < in_fastloop_end && out_next < out_fastloop_end);
0 0 } while (in_next < in_fastloop_end && out_next < out_fastloop_end);
27313 0 0 REFILL_BITS();
0 0 REFILL_BITS();
0 0 REFILL_BITS();
0 0 REFILL_BITS();
27318 0 0 if (unlikely(entry & HUFFDEC_SUBTABLE_POINTER)) {
27326 0 0 if (entry & HUFFDEC_LITERAL) {
27327 0 0 if (unlikely(out_next == out_end))
27332 0 0 if (unlikely(entry & HUFFDEC_END_OF_BLOCK))
27335 0 0 if (unlikely(length > out_end - out_next))
27341 0 0 if (unlikely(entry & HUFFDEC_EXCEPTIONAL)) {
27354 0 0 SAFETY_CHECK(offset <= out_next - (const u8 *)out);
27364 0 0 } while (dst < out_next);
27370 0 0 if (!is_final_block)
27378 0 0 SAFETY_CHECK(overread_count <= (bitsleft >> 3));
27381 0 0 if (actual_in_nbytes_ret) {
27389 0 0 if (actual_out_nbytes_ret) {
27392 0 0 if (out_next != out_end)
27412 0 2 if (HAVE_BMI2(get_x86_cpu_features()))
27446 2 0 if (f == NULL)
27487 0 38 if (options->sizeof_options != sizeof(*options))
27490 0 38 d = (options->malloc_func ? options->malloc_func :
27492 0 38 if (d == NULL)
27497 0 38 options->free_func : libdeflate_default_free_func;
27513 38 0 if (d)
28487 0 13 if (out_nbytes_avail <= GZIP_MIN_OVERHEAD)
28504 1 12 if (compression_level < 2)
28506 5 7 else if (compression_level >= 8)
28515 0 13 if (deflate_size == 0)
29499 0 16 if (in_nbytes < GZIP_MIN_OVERHEAD)
29503 0 16 if (*in_next++ != GZIP_ID1)
29506 0 16 if (*in_next++ != GZIP_ID2)
29509 0 16 if (*in_next++ != GZIP_CM_DEFLATE)
29519 0 16 if (flg & GZIP_FRESERVED)
29523 0 16 if (flg & GZIP_FEXTRA) {
29527 0 0 if (in_end - in_next < (u32)xlen + GZIP_FOOTER_SIZE)
29534 3 13 if (flg & GZIP_FNAME) {
29535 30 3 while (*in_next++ != 0 && in_next != in_end)
30 0 while (*in_next++ != 0 && in_next != in_end)
29537 0 3 if (in_end - in_next < GZIP_FOOTER_SIZE)
29542 0 16 if (flg & GZIP_FCOMMENT) {
29543 0 0 while (*in_next++ != 0 && in_next != in_end)
0 0 while (*in_next++ != 0 && in_next != in_end)
29545 0 0 if (in_end - in_next < GZIP_FOOTER_SIZE)
29550 0 16 if (flg & GZIP_FHCRC) {
29552 0 0 if (in_end - in_next < GZIP_FOOTER_SIZE)
29562 0 16 if (result != LIBDEFLATE_SUCCESS)
29565 16 0 if (actual_out_nbytes_ret)
29573 0 16 if (libdeflate_crc32(0, out, actual_out_nbytes) !=
29579 0 16 if ((u32)actual_out_nbytes != get_unaligned_le32(in_next))
29583 16 0 if (actual_in_nbytes_ret)
30518 37 0 if (ptr) {
31558 0 12 if (out_nbytes_avail <= ZLIB_MIN_OVERHEAD)
31564 1 11 if (compression_level < 2)
31566 4 7 else if (compression_level < 6)
31568 2 5 else if (compression_level < 8)
31581 0 12 if (deflate_size == 0)
32537 0 12 if (in_nbytes < ZLIB_MIN_OVERHEAD)
32545 0 12 if ((hdr % 31) != 0)
32549 0 12 if (((hdr >> 8) & 0xF) != ZLIB_CM_DEFLATE)
32553 0 12 if ((hdr >> 12) > ZLIB_CINFO_32K_WINDOW)
32557 0 12 if ((hdr >> 5) & 1)
32565 0 12 if (result != LIBDEFLATE_SUCCESS)
32568 12 0 if (actual_out_nbytes_ret)
32576 0 12 if (libdeflate_adler32(1, out, actual_out_nbytes) !=
32581 12 0 if (actual_in_nbytes_ret)
35930 0 2 if (max_leaf < 1)
35935 2 0 if (d & (1 << 26))
35937 0 2 if (c & (1 << 1))
35939 0 2 if (c & (1 << 27))
35941 0 2 if ((c & (1 << 28)) && ((xcr0 & 0x6) == 0x6))
0 0 if ((c & (1 << 28)) && ((xcr0 & 0x6) == 0x6))
35944 2 0 if (max_leaf < 7)
35949 0 0 if ((b & (1 << 5)) && ((xcr0 & 0x6) == 0x6))
0 0 if ((b & (1 << 5)) && ((xcr0 & 0x6) == 0x6))
35951 0 0 if (b & (1 << 8))