Branch Coverage

libdeflate-one.c
Criterion Covered Total %
branch 871 2400 36.2


line true false branch
1003 0 0 while (len) {
1007 0 0 ADLER32_CHUNK(s1, s2, p, n);
0 0 ADLER32_CHUNK(s1, s2, p, n);
0 0 ADLER32_CHUNK(s1, s2, p, n);
3387 2 3 if (libdeflate_x86_cpu_features == 0)
3673 0 0 if (unlikely(len > 65536 && ((uintptr_t)p & (VL-1)))) {
0 0 if (unlikely(len > 65536 && ((uintptr_t)p & (VL-1)))) {
3678 0 0 } while ((uintptr_t)p & (VL-1));
3809 0 0 while (len) {
3815 0 0 if (n >= 2*VL) {
3852 0 0 } while (n >= 2*VL);
3863 0 0 ADLER32_CHUNK(s1, s2, p, n);
0 0 ADLER32_CHUNK(s1, s2, p, n);
0 0 ADLER32_CHUNK(s1, s2, p, n);
4073 0 24 if (unlikely(len > 65536 && ((uintptr_t)p & (VL-1)))) {
0 0 if (unlikely(len > 65536 && ((uintptr_t)p & (VL-1)))) {
4078 0 0 } while ((uintptr_t)p & (VL-1));
4209 24 24 while (len) {
4215 24 0 if (n >= 2*VL) {
4252 600 24 } while (n >= 2*VL);
4263 24 0 ADLER32_CHUNK(s1, s2, p, n);
192 24 ADLER32_CHUNK(s1, s2, p, n);
0 24 ADLER32_CHUNK(s1, s2, p, n);
4477 0 0 if (unlikely(len > 65536 && ((uintptr_t)p & (VL-1)))) {
0 0 if (unlikely(len > 65536 && ((uintptr_t)p & (VL-1)))) {
4482 0 0 } while ((uintptr_t)p & (VL-1));
4489 0 0 while (len) {
4499 0 0 if (n >= 4*VL) {
4552 0 0 } while (n >= 4*VL);
4567 0 0 if (n >= 2*VL) {
4580 0 0 if (n) {
4587 0 0 if (n > VL) {
4881 0 0 if (unlikely(len > 65536 && ((uintptr_t)p & (VL-1)))) {
0 0 if (unlikely(len > 65536 && ((uintptr_t)p & (VL-1)))) {
4886 0 0 } while ((uintptr_t)p & (VL-1));
4893 0 0 while (len) {
4903 0 0 if (n >= 4*VL) {
4956 0 0 } while (n >= 4*VL);
4971 0 0 if (n >= 2*VL) {
4984 0 0 if (n) {
4991 0 0 if (n > VL) {
5282 0 0 if (unlikely(len > 65536 && ((uintptr_t)p & (VL-1)))) {
0 0 if (unlikely(len > 65536 && ((uintptr_t)p & (VL-1)))) {
5287 0 0 } while ((uintptr_t)p & (VL-1));
5294 0 0 while (len) {
5304 0 0 if (n >= 4*VL) {
5357 0 0 } while (n >= 4*VL);
5372 0 0 if (n >= 2*VL) {
5385 0 0 if (n) {
5392 0 0 if (n > VL) {
5512 0 1 if ((features & X86_CPU_FEATURE_ZMM) &&
5513 0 0 HAVE_AVX512BW(features) && HAVE_AVX512VNNI(features))
0 0 HAVE_AVX512BW(features) && HAVE_AVX512VNNI(features))
5517 0 1 if (HAVE_AVX512BW(features) && HAVE_AVX512VL(features) &&
0 0 if (HAVE_AVX512BW(features) && HAVE_AVX512VL(features) &&
5518 0 0 HAVE_AVX512VNNI(features))
5522 1 0 if (HAVE_AVX2(features) && HAVE_AVXVNNI(features))
0 1 if (HAVE_AVX2(features) && HAVE_AVXVNNI(features))
5526 1 0 if (HAVE_AVX2(features))
5555 0 1 if (f == NULL)
5569 0 24 if (buffer == NULL)
7474 0 0 for (; ((uintptr_t)p & 7) && p != end; p++)
0 0 for (; ((uintptr_t)p & 7) && p != end; p++)
7478 0 0 for (; p != end64; p += 8) {
7492 0 0 for (; p != end; p++)
7504 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++)
0 0 for (i = 0; i < len; i++)
10986 0 0 if (len < 8*VL) {
10987 0 0 if (len < VL) {
10989 0 0 if (len < 16) {
11005 0 0 if (len >= 32) {
11008 0 0 if (len >= 48)
11016 0 0 if (len < 2*VL) {
11021 0 0 if (len < 4*VL) {
11030 0 0 if (len > 65536 && ((uintptr_t)p & (VL-1))) {
0 0 if (len > 65536 && ((uintptr_t)p & (VL-1))) {
11036 0 0 if (align & 15) {
11042 0 0 while (align) {
11069 0 0 while (len >= 16*VL) {
11087 0 0 if (len & (4*VL)) {
11098 0 0 if (len & (2*VL)) {
11106 0 0 if (len & VL) {
11144 0 0 if (len)
11307 0 29 if (len < 8*VL) {
11308 0 0 if (len < VL) {
11310 0 0 if (len < 16) {
11326 0 0 if (len >= 32) {
11329 0 0 if (len >= 48)
11337 0 0 if (len < 2*VL) {
11342 0 0 if (len < 4*VL) {
11351 0 29 if (len > 65536 && ((uintptr_t)p & (VL-1))) {
0 0 if (len > 65536 && ((uintptr_t)p & (VL-1))) {
11357 0 0 if (align & 15) {
11363 0 0 while (align) {
11390 1398 29 while (len >= 16*VL) {
11408 5 24 if (len & (4*VL)) {
11419 5 24 if (len & (2*VL)) {
11427 29 0 if (len & VL) {
11465 29 0 if (len)
11631 0 0 if (len < 8*VL) {
11632 0 0 if (len < VL) {
11634 0 0 if (len < 16) {
11650 0 0 if (len >= 32) {
11653 0 0 if (len >= 48)
11661 0 0 if (len < 2*VL) {
11666 0 0 if (len < 4*VL) {
11675 0 0 if (len > 65536 && ((uintptr_t)p & (VL-1))) {
0 0 if (len > 65536 && ((uintptr_t)p & (VL-1))) {
11681 0 0 if (align & 15) {
11687 0 0 while (align) {
11714 0 0 while (len >= 16*VL) {
11732 0 0 if (len & (4*VL)) {
11743 0 0 if (len & (2*VL)) {
11751 0 0 if (len & VL) {
11779 0 0 if (len & 16) {
11789 0 0 if (len)
11955 0 0 if (len < 8*VL) {
11956 0 0 if (len < VL) {
11958 0 0 if (len < 16) {
11960 0 0 if (len < 4)
11974 0 0 if (len >= 32) {
11977 0 0 if (len >= 48)
11985 0 0 if (len < 2*VL) {
11990 0 0 if (len < 4*VL) {
11999 0 0 if (len > 65536 && ((uintptr_t)p & (VL-1))) {
0 0 if (len > 65536 && ((uintptr_t)p & (VL-1))) {
12005 0 0 if (align & 15) {
12011 0 0 while (align) {
12038 0 0 while (len >= 16*VL) {
12056 0 0 if (len & (4*VL)) {
12067 0 0 if (len & (2*VL)) {
12075 0 0 if (len & VL) {
12103 0 0 if (len & 16) {
12113 0 0 if (len)
12276 0 0 if (len < 8*VL) {
12277 0 0 if (len < VL) {
12279 0 0 if (len < 16) {
12281 0 0 if (len < 4)
12295 0 0 if (len >= 32) {
12298 0 0 if (len >= 48)
12306 0 0 if (len < 2*VL) {
12311 0 0 if (len < 4*VL) {
12320 0 0 if (len > 65536 && ((uintptr_t)p & (VL-1))) {
0 0 if (len > 65536 && ((uintptr_t)p & (VL-1))) {
12326 0 0 if (align & 15) {
12332 0 0 while (align) {
12359 0 0 while (len >= 16*VL) {
12377 0 0 if (len & (4*VL)) {
12388 0 0 if (len & (2*VL)) {
12396 0 0 if (len & VL) {
12415 0 0 if (len & 32) {
12424 0 0 if (len & 16) {
12434 0 0 if (len)
12472 0 2 if ((features & X86_CPU_FEATURE_ZMM) &&
12473 0 0 HAVE_VPCLMULQDQ(features) && HAVE_PCLMULQDQ(features) &&
0 0 HAVE_VPCLMULQDQ(features) && HAVE_PCLMULQDQ(features) &&
12474 0 0 HAVE_AVX512BW(features) && HAVE_AVX512VL(features))
0 0 HAVE_AVX512BW(features) && HAVE_AVX512VL(features))
12478 0 2 if (HAVE_VPCLMULQDQ(features) && HAVE_PCLMULQDQ(features) &&
0 0 if (HAVE_VPCLMULQDQ(features) && HAVE_PCLMULQDQ(features) &&
12479 0 0 HAVE_AVX512BW(features) && HAVE_AVX512VL(features))
0 0 HAVE_AVX512BW(features) && HAVE_AVX512VL(features))
12483 0 2 if (HAVE_VPCLMULQDQ(features) && HAVE_PCLMULQDQ(features) &&
0 0 if (HAVE_VPCLMULQDQ(features) && HAVE_PCLMULQDQ(features) &&
12484 0 0 HAVE_AVX2(features))
12488 2 0 if (HAVE_PCLMULQDQ(features) && HAVE_AVX(features))
2 0 if (HAVE_PCLMULQDQ(features) && HAVE_AVX(features))
12492 0 0 if (HAVE_PCLMULQDQ(features))
12517 0 2 if (f == NULL)
12531 0 29 if (p == NULL)
16865 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);
16887 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);
16952 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)) {
16961 0 63 COMPARE_WORD_STEP
0 14787 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 42 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
1259 640 COMPARE_WORD_STEP
253 397 COMPARE_WORD_STEP
53 8 COMPARE_WORD_STEP
26 56 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 63 COMPARE_WORD_STEP
0 21 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
16962 0 63 COMPARE_WORD_STEP
0 14787 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 42 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
366 274 COMPARE_WORD_STEP
197 200 COMPARE_WORD_STEP
2 6 COMPARE_WORD_STEP
16 40 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 63 COMPARE_WORD_STEP
0 21 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
16963 0 63 COMPARE_WORD_STEP
0 14787 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 42 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
185 89 COMPARE_WORD_STEP
96 104 COMPARE_WORD_STEP
4 2 COMPARE_WORD_STEP
25 15 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 63 COMPARE_WORD_STEP
0 21 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
16964 0 63 COMPARE_WORD_STEP
0 14787 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 42 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
25 64 COMPARE_WORD_STEP
29 75 COMPARE_WORD_STEP
2 0 COMPARE_WORD_STEP
4 11 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 63 COMPARE_WORD_STEP
0 21 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
0 0 COMPARE_WORD_STEP
16968 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) {
16971 0 1620 if (v_word != 0)
0 219525 if (v_word != 0)
0 0 if (v_word != 0)
0 1044 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)
66 126 if (v_word != 0)
12 1581 if (v_word != 0)
1 1 if (v_word != 0)
11 25 if (v_word != 0)
0 0 if (v_word != 0)
0 0 if (v_word != 0)
0 0 if (v_word != 0)
0 1566 if (v_word != 0)
0 522 if (v_word != 0)
0 0 if (v_word != 0)
0 0 if (v_word != 0)
16977 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])
17062 0 150 if (unlikely(max_len < 5))
0 0 if (unlikely(max_len < 5))
0 0 if (unlikely(max_len < 5))
0 4679 if (unlikely(max_len < 5))
0 1992 if (unlikely(max_len < 5))
0 0 if (unlikely(max_len < 5))
0 225 if (unlikely(max_len < 5))
17091 0 0 if (cur_node3 <= cutoff)
0 0 if (cur_node3 <= cutoff)
0 0 if (cur_node3 <= cutoff)
1888 2566 if (cur_node3 <= cutoff)
0 293 if (cur_node3 <= cutoff)
0 0 if (cur_node3 <= cutoff)
0 0 if (cur_node3 <= cutoff)
17096 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) {
17098 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)) {
17106 0 0 if (cur_node4 <= cutoff)
0 0 if (cur_node4 <= cutoff)
0 0 if (cur_node4 <= cutoff)
631 1935 if (cur_node4 <= cutoff)
224 69 if (cur_node4 <= cutoff)
0 0 if (cur_node4 <= cutoff)
0 0 if (cur_node4 <= cutoff)
17113 0 0 if (load_u32_unaligned(matchptr) == seq4)
0 0 if (load_u32_unaligned(matchptr) == seq4)
0 0 if (load_u32_unaligned(matchptr) == seq4)
1902 186 if (load_u32_unaligned(matchptr) == seq4)
62 30 if (load_u32_unaligned(matchptr) == seq4)
0 0 if (load_u32_unaligned(matchptr) == seq4)
0 0 if (load_u32_unaligned(matchptr) == seq4)
17118 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)
2 153 if (cur_node4 <= cutoff || !--depth_remaining)
23 7 if (cur_node4 <= cutoff || !--depth_remaining)
0 23 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)
17125 0 0 if (best_len >= nice_len)
0 0 if (best_len >= nice_len)
0 0 if (best_len >= nice_len)
1 1901 if (best_len >= nice_len)
0 62 if (best_len >= nice_len)
0 0 if (best_len >= nice_len)
0 0 if (best_len >= nice_len)
17128 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)
0 1525 if (cur_node4 <= cutoff || !--depth_remaining)
38 24 if (cur_node4 <= cutoff || !--depth_remaining)
0 38 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)
17131 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)
17144 42 0 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)) &&
650 20012 load_u32_unaligned(in_next + best_len - 3)) &&
82 15298 load_u32_unaligned(in_next + best_len - 3)) &&
0 0 load_u32_unaligned(in_next + best_len - 3)) &&
63 0 load_u32_unaligned(in_next + best_len - 3)) &&
17146 42 0 load_u32_unaligned(in_next)))
0 0 load_u32_unaligned(in_next)))
0 0 load_u32_unaligned(in_next)))
650 0 load_u32_unaligned(in_next)))
82 0 load_u32_unaligned(in_next)))
0 0 load_u32_unaligned(in_next)))
63 0 load_u32_unaligned(in_next)))
17154 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)
348 18545 if (cur_node4 <= cutoff || !--depth_remaining)
14154 1144 if (cur_node4 <= cutoff || !--depth_remaining)
586 13568 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)
17164 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) {
17168 42 0 if (best_len >= nice_len)
0 0 if (best_len >= nice_len)
0 0 if (best_len >= nice_len)
63 585 if (best_len >= nice_len)
0 78 if (best_len >= nice_len)
0 0 if (best_len >= nice_len)
63 0 if (best_len >= nice_len)
17174 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)
5 529 if (cur_node4 <= cutoff || !--depth_remaining)
75 7 if (cur_node4 <= cutoff || !--depth_remaining)
0 75 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)
17203 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) {
17216 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);
20722 54 21 if (cur_node <= cutoff)
20730 21 0 if (load_u32_unaligned(matchptr) == seq) {
20733 18 3 if (cur_node <= cutoff || best_len >= nice_len)
18 0 if (cur_node <= cutoff || best_len >= nice_len)
20736 0 0 if (load_u32_unaligned(matchptr) == seq &&
20738 0 0 load_u32_unaligned(in_next + best_len - 3)) {
20740 0 0 if (len > best_len) {
20746 0 0 if (cur_node <= cutoff)
20749 0 0 if (load_u32_unaligned(matchptr) == seq) {
20796 0 18 if (cur_pos + count - 1 >= MATCHFINDER_WINDOW_SIZE) {
20804 4626 4626 for (i = HT_MATCHFINDER_BUCKET_SIZE - 1; i > 0; i--)
20811 4608 18 } while (--remaining);
24341 63 162 if (record_matches && cur_node > cutoff) {
24343 63 0 if (seq3 == load_u24_unaligned(&in_base[cur_node])) {
24349 0 0 else if (cur_node_2 > cutoff &&
24350 0 0 seq3 == load_u24_unaligned(&in_base[cur_node_2]))
24365 162 63 if (cur_node <= cutoff) {
0 15039 if (cur_node <= cutoff) {
24378 63 0 if (matchptr[len] == in_next[len]) {
15039 0 if (matchptr[len] == in_next[len]) {
24380 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) {
24387 63 0 if (len >= nice_len) {
15039 0 if (len >= nice_len) {
24395 0 0 if (matchptr[len] < in_next[len]) {
0 0 if (matchptr[len] < in_next[len]) {
24400 0 0 if (best_gt_len < len)
0 0 if (best_gt_len < len)
24407 0 0 if (best_lt_len < len)
0 0 if (best_lt_len < len)
24411 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) {
24872 63 24 while ((child_idx = parent_idx * 2) <= length) {
24873 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])
24875 11 52 if (v >= A[child_idx])
24889 12 263 for (subtree_idx = length / 2; subtree_idx >= 1; subtree_idx--)
24901 23 263 while (length >= 2) {
24935 32915 263 for (sym = 0; sym < num_syms; sym++)
24940 32652 263 for (i = 1; i < num_counters; i++) {
24948 32915 263 for (sym = 0; sym < num_syms; sym++) {
24951 13499 19416 if (freq != 0) {
24985 7970 5275 if (i + 1 <= last_idx &&
7767 203 if (i + 1 <= last_idx &&
24986 6320 1447 (b == e || (A[i + 1] & FREQ_MASK) <= (A[b] & FREQ_MASK))) {
24990 6610 112 } else if (b + 2 <= e &&
1526 5084 } else if (b + 2 <= e &&
24992 1236 290 (A[b + 1] & FREQ_MASK) < (A[i] & FREQ_MASK))) {
25008 13042 203 } while (++e < last_idx);
25021 2629 203 for (len = 0; len <= max_codeword_len; len++)
25028 13042 203 for (node = root_idx - 1; node >= 0; node--) {
25040 0 13042 if (depth >= max_codeword_len) {
25044 0 0 } while (len_counts[depth] == 0);
25117 2426 203 for (i = 0, len = max_codeword_len; len >= 1; len--) {
25120 13448 2426 while (count--)
25127 2223 203 for (len = 2; len <= max_codeword_len; len++)
25131 30995 203 for (sym = 0; sym < num_syms; sym++) {
25154 60 203 if (unlikely(num_used_syms < 2)) {
25155 51 9 unsigned sym = num_used_syms ? (A[0] & SYMBOL_MASK) : 0;
25156 51 9 unsigned nonzero_idx = sym ? sym : 1;
25210 5328 37 for (i = 0; i < 144; i++)
25212 4144 37 for (; i < 256; i++)
25214 888 37 for (; i < 280; i++)
25216 296 37 for (; i < 288; i++)
25219 1184 37 for (i = 0; i < 32; i++)
25232 42 0 ASSERT(offset >= 1 && offset <= 32768);
0 0 ASSERT(offset >= 1 && offset <= 32768);
0 0 ASSERT(offset >= 1 && offset <= 32768);
64 0 ASSERT(offset >= 1 && offset <= 32768);
0 0 ASSERT(offset >= 1 && offset <= 32768);
1901 0 ASSERT(offset >= 1 && offset <= 32768);
63 0 ASSERT(offset >= 1 && offset <= 32768);
21 0 ASSERT(offset >= 1 && offset <= 32768);
25262 18808 65 } while (run_end != num_lens && len == lens[run_end]);
16900 1908 } while (run_end != num_lens && len == lens[run_end]);
25264 834 1139 if (len == 0) {
25268 249 834 while ((run_end - run_start) >= 11) {
25277 309 525 if ((run_end - run_start) >= 3) {
25289 6 1133 if ((run_end - run_start) >= 4) {
25299 0 6 } while ((run_end - run_start) >= 3);
25304 1571 1973 while (run_start != run_end) {
25309 1908 65 } while (run_start != num_lens);
25323 466 9 c->o.precode.num_litlen_syms > 257;
25325 56 410 if (c->codes.lens.litlen[c->o.precode.num_litlen_syms - 1] != 0)
25329 1582 0 c->o.precode.num_offset_syms > 1;
25331 65 1517 if (c->codes.lens.offset[c->o.precode.num_offset_syms - 1] != 0)
25337 65 0 if (c->o.precode.num_litlen_syms != DEFLATE_NUM_LITLEN_SYMS) {
25359 138 0 c->o.precode.num_explicit_lens > 4;
25362 65 73 c->o.precode.num_explicit_lens - 1]] != 0)
25366 65 0 if (c->o.precode.num_litlen_syms != DEFLATE_NUM_LITLEN_SYMS) {
25383 9728 38 for (len = DEFLATE_MIN_MATCH_LEN; len <= DEFLATE_MAX_MATCH_LEN; len++) {
25447 0 38 os->end - MIN(WORDBYTES - 1, os->end - out_next);
25456 36 2 ASSERT(block_length >= MIN_BLOCK_LENGTH ||
36 0 ASSERT(block_length >= MIN_BLOCK_LENGTH ||
36 0 ASSERT(block_length >= MIN_BLOCK_LENGTH ||
25469 722 38 for (sym = 0; sym < DEFLATE_NUM_PRECODE_SYMS; sym++) {
25477 5472 38 for (sym = 0; sym < 144; sym++) {
25482 4256 38 for (; sym < 256; sym++) {
25494 1102 38 sym < DEFLATE_FIRST_LEN_SYM + ARRAY_LEN(deflate_extra_length_bits);
25506 1140 38 for (sym = 0; sym < ARRAY_LEN(deflate_extra_offset_bits); sym++) {
25525 0 38 if (DIV_ROUND_UP(bitcount + best_cost, 8) > os->end - out_next) {
25531 0 38 if (best_cost == uncompressed_cost) {
25537 0 0 if (in_end - in_next <= UINT16_MAX) {
25547 0 0 if (bitcount > 5)
25559 0 0 } while (in_next != in_end);
25564 36 2 if (best_cost == static_cost) {
25569 36 0 FLUSH_BITS();
0 0 FLUSH_BITS();
25591 2 0 FLUSH_BITS();
0 0 FLUSH_BITS();
25597 24 2 } while (++i < num_explicit_lens);
25598 2 0 FLUSH_BITS();
0 0 FLUSH_BITS();
25620 233 0 FLUSH_BITS();
0 0 FLUSH_BITS();
25621 231 2 } while (++i < num_precode_items);
25628 9 29 if (sequences == NULL) {
25638 162 63 if (length == 1) {
25642 162 0 FLUSH_BITS();
0 0 FLUSH_BITS();
25645 63 0 WRITE_MATCH(c, codes, length, offset,
0 0 WRITE_MATCH(c, codes, length, offset,
25649 216 9 } while (cur_node != end_node);
25665 557 2120 for (; litrunlen >= 4; litrunlen -= 4) {
25678 557 0 FLUSH_BITS();
0 0 FLUSH_BITS();
25680 509 1611 if (litrunlen-- != 0) {
25684 280 229 if (litrunlen-- != 0) {
25688 112 168 if (litrunlen-- != 0) {
25694 509 0 FLUSH_BITS();
0 0 FLUSH_BITS();
25705 29 2091 if (length == 0) {
25711 2091 0 WRITE_MATCH(c, codes, length, seq->offset,
0 0 WRITE_MATCH(c, codes, length, seq->offset,
25721 38 0 FLUSH_BITS();
0 0 FLUSH_BITS();
25754 440 44 for (i = 0; i < NUM_OBSERVATION_TYPES; i++) {
25784 150 15 for (i = 0; i < NUM_OBSERVATION_TYPES; i++) {
25795 6 1 if (stats->num_observations > 0) {
25802 60 6 for (i = 0; i < NUM_OBSERVATION_TYPES; i++) {
25807 16 44 u32 delta = (actual > expected) ? actual - expected :
25819 1 5 if (block_length < 10000 && num_items < 8192)
1 0 if (block_length < 10000 && num_items < 8192)
25824 1 5 (block_length / 4096) * stats->num_observations >= cutoff)
25837 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
25838 0 0 && in_end - in_next >= MIN_BLOCK_LENGTH;
0 0 && in_end - in_next >= MIN_BLOCK_LENGTH;
7 82 && in_end - in_next >= MIN_BLOCK_LENGTH;
0 0 && in_end - in_next >= MIN_BLOCK_LENGTH;
25846 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))
25886 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)
25887 42 0 observe_match(&c->split_stats, length);
0 0 observe_match(&c->split_stats, length);
0 0 observe_match(&c->split_stats, length);
64 0 observe_match(&c->split_stats, length);
0 0 observe_match(&c->split_stats, length);
1055 846 observe_match(&c->split_stats, length);
63 0 observe_match(&c->split_stats, length);
0 0 observe_match(&c->split_stats, length);
25902 2304 12771 if (unlikely(remaining < DEFLATE_MAX_MATCH_LEN)) {
25926 0 46 if (num_used_literals >= ARRAY_LEN(min_lens))
25930 6 40 if (max_search_depth < 16) {
25931 0 6 if (max_search_depth < 5)
25933 3 3 else if (max_search_depth < 10)
25949 0 35 if (data_len < 512)
25954 64292 35 for (i = 0; i < data_len; i++)
25956 8960 35 for (i = 0; i < 256; i++)
25971 512 2 for (i = 0; i < DEFLATE_NUM_LITERALS; i++)
25976 512 2 for (i = 0; i < DEFLATE_NUM_LITERALS; i++) {
25977 119 393 if (freqs->litlen[i] > cutoff)
25987 9 0 if (in_end - in_block_begin < soft_max_len + MIN_BLOCK_LENGTH)
26003 0 0 if (unlikely(in_nbytes == 0)) {
26004 0 0 if (out_nbytes_avail < 5)
26017 0 0 if (in_end - in_next <= UINT16_MAX) {
26021 0 0 if (out_end - out_next < 5 + len)
26034 0 0 } while (in_next != in_end);
26057 3 0 const u8 * const in_block_begin = in_next;
26069 3 72 if (unlikely(remaining < DEFLATE_MAX_MATCH_LEN)) {
26071 0 3 if (max_len < HT_MATCHFINDER_REQUIRED_NBYTES) {
26074 0 0 *in_next++, false, seq);
26075 0 0 } while (--max_len);
26080 0 75 length = ht_matchfinder_longest_match(&c->p.f.ht_mf,
26087 21 54 if (length) {
26089 21 0 deflate_choose_match(c, length, offset, false,
26091 3 18 ht_matchfinder_skip_bytes(&c->p.f.ht_mf,
26100 0 54 deflate_choose_literal(c, *in_next++, false,
26105 72 3 } while (in_next < in_max_block_end &&
26106 72 0 seq < &c->p.f.sequences[FAST_SEQ_STORE_LENGTH]);
26111 0 3 } while (in_next != in_end && !os->overflow);
0 0 } while (in_next != in_end && !os->overflow);
26132 9 0 const u8 * const in_block_begin = in_next;
26148 9 216 in_end - in_next);
26149 0 225 length = hc_matchfinder_longest_match(
26160 63 162 if (length >= min_len &&
0 63 if (length >= min_len &&
26162 0 0 offset <= 4096)) {
26164 63 0 deflate_choose_match(c, length, offset, true,
26166 9 54 hc_matchfinder_skip_bytes(&c->p.g.hc_mf,
26175 162 0 deflate_choose_literal(c, *in_next++, true,
26181 216 9 seq < &c->p.g.sequences[SEQ_STORE_LENGTH] &&
216 0 seq < &c->p.g.sequences[SEQ_STORE_LENGTH] &&
26182 0 216 !should_end_block(&c->split_stats,
216 0 !should_end_block(&c->split_stats,
26188 0 9 } while (in_next != in_end && !os->overflow);
0 0 } while (in_next != in_end && !os->overflow);
26208 6 0 const u8 * const in_block_begin = in_next;
11 0 const u8 * const in_block_begin = in_next;
26228 0 150 if (in_next >= next_recalc_min_len) {
2 4677 if (in_next >= next_recalc_min_len) {
26239 6 144 in_end - in_next);
40 4639 in_end - in_next);
26240 0 150 cur_len = hc_matchfinder_longest_match(
0 4679 cur_len = hc_matchfinder_longest_match(
26250 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 ||
26252 0 0 cur_offset > 8192)) {
0 0 cur_offset > 8192)) {
26254 108 0 deflate_choose_literal(c, *in_next++, true,
2714 0 deflate_choose_literal(c, *in_next++, true,
26262 42 0 if (cur_len >= nice_len) {
64 1992 if (cur_len >= nice_len) {
26263 42 0 deflate_choose_match(c, cur_len, cur_offset,
64 0 deflate_choose_match(c, cur_len, cur_offset,
26265 6 36 hc_matchfinder_skip_bytes(&c->p.g.hc_mf,
10 54 hc_matchfinder_skip_bytes(&c->p.g.hc_mf,
26277 0 0 in_end - in_next);
21 1971 in_end - in_next);
26285 0 0 c->max_search_depth >> 1,
0 1992 c->max_search_depth >> 1,
26288 0 0 if (next_len >= cur_len &&
138 1854 if (next_len >= cur_len &&
26291 0 0 (int)bsr32(next_offset)) > 2) {
91 47 (int)bsr32(next_offset)) > 2) {
26293 0 0 deflate_choose_literal(c, *(in_next - 2), true,
91 0 deflate_choose_literal(c, *(in_next - 2), true,
26300 0 0 if (lazy2) {
0 1901 if (lazy2) {
26303 0 0 in_end - in_next);
0 0 in_end - in_next);
26311 0 0 c->max_search_depth >> 2,
0 0 c->max_search_depth >> 2,
26314 0 0 if (next_len >= cur_len &&
0 0 if (next_len >= cur_len &&
26317 0 0 (int)bsr32(next_offset)) > 6) {
0 0 (int)bsr32(next_offset)) > 6) {
26320 0 0 c, *(in_next - 3), true, seq);
0 0 c, *(in_next - 3), true, seq);
26322 0 0 c, *(in_next - 2), true, seq);
0 0 c, *(in_next - 2), true, seq);
26328 0 0 deflate_choose_match(c, cur_len, cur_offset,
0 0 deflate_choose_match(c, cur_len, cur_offset,
26330 0 0 if (cur_len > 3) {
0 0 if (cur_len > 3) {
26331 0 0 hc_matchfinder_skip_bytes(&c->p.g.hc_mf,
0 0 hc_matchfinder_skip_bytes(&c->p.g.hc_mf,
26341 0 0 deflate_choose_match(c, cur_len, cur_offset,
1901 0 deflate_choose_match(c, cur_len, cur_offset,
26343 0 0 hc_matchfinder_skip_bytes(&c->p.g.hc_mf,
0 1901 hc_matchfinder_skip_bytes(&c->p.g.hc_mf,
26353 144 6 seq < &c->p.g.sequences[SEQ_STORE_LENGTH] &&
144 0 seq < &c->p.g.sequences[SEQ_STORE_LENGTH] &&
4669 10 seq < &c->p.g.sequences[SEQ_STORE_LENGTH] &&
4669 0 seq < &c->p.g.sequences[SEQ_STORE_LENGTH] &&
26354 0 144 !should_end_block(&c->split_stats,
144 0 !should_end_block(&c->split_stats,
450 4219 !should_end_block(&c->split_stats,
4668 1 !should_end_block(&c->split_stats,
26360 0 6 } while (in_next != in_end && !os->overflow);
1 0 } while (in_next != in_end && !os->overflow);
26395 432 168 if (length == 1) {
26405 576 24 } while (cur_node != end_node);
26418 15300 9 for (i = 0; i < block_length; i++)
26438 513 27 for (sym = 0; sym < DEFLATE_NUM_PRECODE_SYMS; sym++) {
26444 6939 27 for (sym = 0; sym < DEFLATE_FIRST_LEN_SYM; sym++)
26447 783 27 for (; sym < DEFLATE_FIRST_LEN_SYM +
26453 810 27 for (sym = 0; sym < ARRAY_LEN(deflate_extra_offset_bits); sym++)
26468 3840 15 for (i = 0; i < DEFLATE_NUM_LITERALS; i++) {
26470 1644 2196 lens->litlen[i] : LITERAL_NOSTAT_BITS);
26476 3840 15 for (i = DEFLATE_MIN_MATCH_LEN; i <= DEFLATE_MAX_MATCH_LEN; i++) {
26480 1833 2007 lens->litlen[litlen_sym] : LENGTH_NOSTAT_BITS);
26487 450 15 for (i = 0; i < ARRAY_LEN(deflate_offset_slot_base); i++) {
26489 198 252 lens->offset[i] : OFFSET_NOSTAT_BITS);
26631 15300 9 for (i = 0; i < block_length; i++)
26633 2304 9 for (i = 0; i < DEFLATE_NUM_LITERALS; i++) {
26634 108 2196 if (c->freqs.litlen[i] > cutoff)
26637 0 9 if (num_used_literals == 0)
26643 2277 9 for (; i < ARRAY_LEN(c->p.n.match_len_freqs); i++) {
26647 0 9 if ((s32)literal_freq < 0)
26650 0 9 if (match_freq > literal_freq)
26652 9 0 else if (match_freq * 4 > literal_freq)
26690 2304 9 for (i = 0; i < DEFLATE_NUM_LITERALS; i++)
26694 2304 9 for (i = DEFLATE_MIN_MATCH_LEN; i <= DEFLATE_MAX_MATCH_LEN; i++)
26699 270 9 for (i = 0; i < ARRAY_LEN(deflate_offset_slot_base); i++)
26710 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)
26712 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)
26726 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++)
26727 0 0 deflate_adjust_cost(&c->p.n.costs.literal[i], lit_cost,
0 0 deflate_adjust_cost(&c->p.n.costs.literal[i], lit_cost,
0 0 deflate_adjust_cost(&c->p.n.costs.literal[i], lit_cost,
0 0 deflate_adjust_cost(&c->p.n.costs.literal[i], lit_cost,
26731 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++)
26732 0 0 deflate_adjust_cost(&c->p.n.costs.length[i],
0 0 deflate_adjust_cost(&c->p.n.costs.length[i],
0 0 deflate_adjust_cost(&c->p.n.costs.length[i],
0 0 deflate_adjust_cost(&c->p.n.costs.length[i],
26738 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++)
26739 0 0 deflate_adjust_cost(&c->p.n.costs.offset_slot[i],
0 0 deflate_adjust_cost(&c->p.n.costs.offset_slot[i],
0 0 deflate_adjust_cost(&c->p.n.costs.offset_slot[i],
0 0 deflate_adjust_cost(&c->p.n.costs.offset_slot[i],
26754 0 0 for (i = 0; i < NUM_OBSERVATION_TYPES; i++) {
26760 0 0 total_delta += prev > cur ? prev - cur : cur - prev;
26765 0 0 if (total_delta > 3 * cutoff)
26768 0 0 else if (4 * total_delta > 9 * cutoff)
26770 0 0 else if (2 * total_delta > 3 * cutoff)
26772 0 0 else if (2 * total_delta > cutoff)
26787 9 0 if (is_first_block)
26821 168 40632 if (num_matches) {
26841 39753 279 if (cost_to_end < best_cost_to_end) {
26847 39696 336 } while (++len <= match->length);
26848 168 168 } while (++match != cache_ptr);
26852 40776 24 } while (cur_node != &c->p.n.optimum_nodes[0]);
26883 2322 9 i <= MIN(block_length - 1 + DEFLATE_MAX_MATCH_LEN,
26888 3 6 if (block_length <= c->p.n.max_len_to_optimize_static_block) {
26912 9 9 if (true_cost + c->p.n.min_improvement_to_continue >
26924 9 0 } while (--num_passes_remaining);
26927 3 6 if (MIN(only_lits_cost, static_cost) < best_true_cost) {
26928 0 3 if (only_lits_cost < static_cost) {
26941 0 6 best_true_cost + c->p.n.min_bits_to_use_nonfinal_path) {
26966 2331 9 for (i = 0; i < ARRAY_LEN(c->p.n.match_len_freqs); i++) {
26978 90 9 for (i = 0; i < NUM_OBSERVATION_TYPES; i++)
26988 0 0 for (i = 0; i < NUM_OBSERVATION_TYPES; i++)
27025 0 9 if (prev_block_used_only_literals)
27040 0 225 if (in_next == in_next_slide) {
27049 9 216 best_len = 0;
27051 225 0 if (likely(max_len >= BT_MATCHFINDER_REQUIRED_NBYTES)) {
27061 63 162 if (cache_ptr > matches)
27064 225 0 if (in_next >= next_observation) {
27065 63 162 if (best_len >= min_len) {
27066 63 0 observe_match(&c->split_stats,
27083 63 162 if (best_len >= DEFLATE_MIN_MATCH_LEN &&
27084 63 0 best_len >= nice_len) {
27088 0 15075 if (in_next == in_next_slide) {
27099 15039 36 if (max_len >=
27113 15012 63 } while (--best_len);
27116 9 216 if (in_next >= in_max_block_end)
27120 0 216 &c->p.n.match_cache[MATCH_CACHE_LENGTH])
27123 0 216 if (!ready_to_check_block(&c->split_stats,
216 0 if (!ready_to_check_block(&c->split_stats,
27128 0 0 if (do_end_block_check(&c->split_stats,
27138 0 9 if (change_detected && prev_end_block_check != NULL) {
0 0 if (change_detected && prev_end_block_check != NULL) {
27152 0 0 } while (--num_bytes_to_rewind);
27184 0 9 } while (in_next != in_end && !os->overflow);
0 0 } while (in_next != in_end && !os->overflow);
27195 270 9 for (offset_slot = 0; offset_slot < ARRAY_LEN(deflate_offset_slot_base);
27202 294642 270 } while (++offset != offset_end);
27218 0 37 if (options->sizeof_options != sizeof(*options))
27221 37 0 if (compression_level < 0 || compression_level > 12)
0 37 if (compression_level < 0 || compression_level > 12)
27225 9 28 if (compression_level >= 10)
27230 25 3 if (compression_level >= 2)
27232 3 0 else if (compression_level == 1)
27236 0 37 c = libdeflate_aligned_malloc(options->malloc_func ?
27240 0 37 if (!c)
27243 0 37 options->free_func : libdeflate_default_free_func;
27361 0 37 if (unlikely(in_nbytes <= c->max_passthrough_size))
27376 0 37 if (os.overflow)
27381 37 0 if (os.bitcount) {
27393 37 0 if (c)
27413 37 0 max_blocks = MAX(DIV_ROUND_UP(in_nbytes, MIN_BLOCK_LENGTH), 1);
28714 1352 87 for (len = 0; len <= max_codeword_len; len++)
28716 13148 87 for (sym = 0; sym < num_syms; sym++)
28720 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)
28722 41 46 if (table_bits_ret != NULL) {
28737 550 87 for (len = 1; len < max_codeword_len; len++) {
28743 13148 87 for (sym = 0; sym < num_syms; sym++)
28753 0 87 if (unlikely(codespace_used > (1U << max_codeword_len)))
28757 0 87 if (unlikely(codespace_used < (1U << max_codeword_len))) {
28762 0 0 if (codespace_used == 0) {
28765 0 0 if (codespace_used != (1U << (max_codeword_len - 1)) ||
28766 0 0 len_counts[1] != 1)
28771 0 0 for (i = 0; i < (1U << table_bits); i++)
28779 393 87 while ((count = len_counts[len]) == 0)
28782 233 8 while (len <= table_bits) {
28792 79 12081 if (codeword == cur_table_end - 1) {
28794 111 79 for (; len < table_bits; len++) {
28807 11927 154 } while (--count);
28811 149 8 if (++len <= table_bits) {
28817 3 154 } while ((count = len_counts[len]) == 0);
28831 19 19 if ((codeword & ((1U << table_bits) - 1)) != subtable_prefix) {
28837 0 19 while (codespace_used < (1U << subtable_bits)) {
28860 0 38 } while (i < cur_table_end);
28863 8 30 if (codeword == (1U << len) - 1)
28869 0 30 while (count == 0)
28972 0 0 out_end - MIN(out_nbytes_avail, FASTLOOP_MAX_BYTES_WRITTEN);
28978 0 0 in_end - MIN(in_nbytes, FASTLOOP_MAX_BYTES_READ);
28996 0 0 REFILL_BITS();
0 0 REFILL_BITS();
0 0 REFILL_BITS();
0 0 REFILL_BITS();
29004 0 0 if (block_type == DEFLATE_BLOCKTYPE_DYNAMIC_HUFFMAN) {
29036 0 0 REFILL_BITS();
0 0 REFILL_BITS();
0 0 REFILL_BITS();
0 0 REFILL_BITS();
29043 0 0 } while (++i < num_explicit_precode_lens);
29057 0 0 for (; i < DEFLATE_NUM_PRECODE_SYMS; i++)
29061 0 0 SAFETY_CHECK(build_precode_decode_table(d));
29070 0 0 if ((u8)bitsleft < DEFLATE_MAX_PRE_CODEWORD_LEN + 7)
29071 0 0 REFILL_BITS();
0 0 REFILL_BITS();
0 0 REFILL_BITS();
0 0 REFILL_BITS();
29083 0 0 if (presym < 16) {
29094 0 0 if (presym == 16) {
29096 0 0 SAFETY_CHECK(i != 0);
29109 0 0 } else if (presym == 17) {
29136 0 0 } while (i < num_litlen_syms + num_offset_syms);
29139 0 0 SAFETY_CHECK(i == num_litlen_syms + num_offset_syms);
29141 0 0 } else if (block_type == DEFLATE_BLOCKTYPE_UNCOMPRESSED) {
29150 0 0 SAFETY_CHECK(overread_count <= (bitsleft >> 3));
29156 0 0 SAFETY_CHECK(in_end - in_next >= 4);
29161 0 0 SAFETY_CHECK(len == (u16)~nlen);
29162 0 0 if (unlikely(len > out_end - out_next))
29164 0 0 SAFETY_CHECK(len <= in_end - in_next);
29175 0 0 SAFETY_CHECK(block_type == DEFLATE_BLOCKTYPE_STATIC_HUFFMAN);
29182 0 0 if (d->static_codes_loaded)
29190 0 0 for (i = 0; i < 144; i++)
29192 0 0 for (; i < 256; i++)
29194 0 0 for (; i < 280; i++)
29196 0 0 for (; i < 288; i++)
29199 0 0 for (; i < 288 + 32; i++)
29208 0 0 SAFETY_CHECK(build_offset_decode_table(d, num_litlen_syms, num_offset_syms));
29209 0 0 SAFETY_CHECK(build_litlen_decode_table(d, num_litlen_syms, num_offset_syms));
29214 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)
29229 0 0 if (entry & HUFFDEC_LITERAL) {
29246 0 0 if (entry & HUFFDEC_LITERAL) {
29254 0 0 if (entry & HUFFDEC_LITERAL) {
29276 0 0 if (unlikely(entry & HUFFDEC_EXCEPTIONAL)) {
29279 0 0 if (unlikely(entry & HUFFDEC_END_OF_BLOCK))
29295 0 0 if (entry & HUFFDEC_LITERAL) {
29303 0 0 if (unlikely(entry & HUFFDEC_END_OF_BLOCK))
29319 0 0 if (unlikely(entry & HUFFDEC_EXCEPTIONAL)) {
29321 0 0 if (unlikely((u8)bitsleft < OFFSET_MAXBITS +
29328 0 0 } else if (unlikely((u8)bitsleft < OFFSET_MAXFASTBITS +
29356 0 0 SAFETY_CHECK(offset <= out_next - (const u8 *)out);
29372 0 0 if (UNALIGNED_ACCESS_IS_FAST && offset >= WORDBYTES) {
29388 0 0 while (dst < out_next) {
29405 0 0 } else if (UNALIGNED_ACCESS_IS_FAST && offset == 1) {
29418 0 0 while (dst < out_next) {
29442 0 0 } while (dst < out_next);
29450 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);
29459 0 0 REFILL_BITS();
0 0 REFILL_BITS();
0 0 REFILL_BITS();
0 0 REFILL_BITS();
29464 0 0 if (unlikely(entry & HUFFDEC_SUBTABLE_POINTER)) {
29472 0 0 if (entry & HUFFDEC_LITERAL) {
29473 0 0 if (unlikely(out_next == out_end))
29478 0 0 if (unlikely(entry & HUFFDEC_END_OF_BLOCK))
29481 0 0 if (unlikely(length > out_end - out_next))
29487 0 0 if (unlikely(entry & HUFFDEC_EXCEPTIONAL)) {
29500 0 0 SAFETY_CHECK(offset <= out_next - (const u8 *)out);
29510 0 0 } while (dst < out_next);
29516 0 0 if (!is_final_block)
29524 0 0 SAFETY_CHECK(overread_count <= (bitsleft >> 3));
29527 0 0 if (actual_in_nbytes_ret) {
29535 0 0 if (actual_out_nbytes_ret) {
29538 0 0 if (out_next != out_end)
30665 0 40 out_end - MIN(out_nbytes_avail, FASTLOOP_MAX_BYTES_WRITTEN);
30671 0 40 in_end - MIN(in_nbytes, FASTLOOP_MAX_BYTES_READ);
30689 41 0 REFILL_BITS();
0 0 REFILL_BITS();
0 0 REFILL_BITS();
0 0 REFILL_BITS();
30697 5 36 if (block_type == DEFLATE_BLOCKTYPE_DYNAMIC_HUFFMAN) {
30729 5 0 REFILL_BITS();
0 0 REFILL_BITS();
0 0 REFILL_BITS();
0 0 REFILL_BITS();
30736 60 5 } while (++i < num_explicit_precode_lens);
30750 25 5 for (; i < DEFLATE_NUM_PRECODE_SYMS; i++)
30754 0 5 SAFETY_CHECK(build_precode_decode_table(d));
30763 55 619 if ((u8)bitsleft < DEFLATE_MAX_PRE_CODEWORD_LEN + 7)
30764 55 0 REFILL_BITS();
0 0 REFILL_BITS();
0 0 REFILL_BITS();
0 0 REFILL_BITS();
30776 626 48 if (presym < 16) {
30787 15 33 if (presym == 16) {
30789 0 15 SAFETY_CHECK(i != 0);
30802 15 18 } else if (presym == 17) {
30829 669 5 } while (i < num_litlen_syms + num_offset_syms);
30832 0 5 SAFETY_CHECK(i == num_litlen_syms + num_offset_syms);
30834 0 36 } else if (block_type == DEFLATE_BLOCKTYPE_UNCOMPRESSED) {
30843 0 0 SAFETY_CHECK(overread_count <= (bitsleft >> 3));
30849 0 0 SAFETY_CHECK(in_end - in_next >= 4);
30854 0 0 SAFETY_CHECK(len == (u16)~nlen);
30855 0 0 if (unlikely(len > out_end - out_next))
30857 0 0 SAFETY_CHECK(len <= in_end - in_next);
30868 0 36 SAFETY_CHECK(block_type == DEFLATE_BLOCKTYPE_STATIC_HUFFMAN);
30875 0 36 if (d->static_codes_loaded)
30883 5184 36 for (i = 0; i < 144; i++)
30885 4032 36 for (; i < 256; i++)
30887 864 36 for (; i < 280; i++)
30889 288 36 for (; i < 288; i++)
30892 1152 36 for (; i < 288 + 32; i++)
30901 0 41 SAFETY_CHECK(build_offset_decode_table(d, num_litlen_syms, num_offset_syms));
30902 0 41 SAFETY_CHECK(build_litlen_decode_table(d, num_litlen_syms, num_offset_syms));
30907 41 0 if (in_next >= in_fastloop_end || out_next >= out_fastloop_end)
0 41 if (in_next >= in_fastloop_end || out_next >= out_fastloop_end)
30922 3886 6265 if (entry & HUFFDEC_LITERAL) {
30939 2617 1269 if (entry & HUFFDEC_LITERAL) {
30947 1951 666 if (entry & HUFFDEC_LITERAL) {
30969 28 8172 if (unlikely(entry & HUFFDEC_EXCEPTIONAL)) {
30972 1 27 if (unlikely(entry & HUFFDEC_END_OF_BLOCK))
30988 27 0 if (entry & HUFFDEC_LITERAL) {
30996 0 0 if (unlikely(entry & HUFFDEC_END_OF_BLOCK))
31012 17 8155 if (unlikely(entry & HUFFDEC_EXCEPTIONAL)) {
31014 0 17 if (unlikely((u8)bitsleft < OFFSET_MAXBITS +
31021 1 8154 } else if (unlikely((u8)bitsleft < OFFSET_MAXFASTBITS +
31049 0 8172 SAFETY_CHECK(offset <= out_next - (const u8 *)out);
31065 8163 9 if (UNALIGNED_ACCESS_IS_FAST && offset >= WORDBYTES) {
31081 267 8163 while (dst < out_next) {
31098 0 9 } else if (UNALIGNED_ACCESS_IS_FAST && offset == 1) {
31111 0 0 while (dst < out_next) {
31135 0 9 } while (dst < out_next);
31143 36 10114 } while (in_next < in_fastloop_end && out_next < out_fastloop_end);
10110 4 } while (in_next < in_fastloop_end && out_next < out_fastloop_end);
31152 722 248 REFILL_BITS();
240 240 REFILL_BITS();
0 240 REFILL_BITS();
480 248 REFILL_BITS();
31157 3 967 if (unlikely(entry & HUFFDEC_SUBTABLE_POINTER)) {
31165 588 382 if (entry & HUFFDEC_LITERAL) {
31166 0 588 if (unlikely(out_next == out_end))
31171 40 342 if (unlikely(entry & HUFFDEC_END_OF_BLOCK))
31174 0 342 if (unlikely(length > out_end - out_next))
31180 0 342 if (unlikely(entry & HUFFDEC_EXCEPTIONAL)) {
31193 0 342 SAFETY_CHECK(offset <= out_next - (const u8 *)out);
31203 60650 342 } while (dst < out_next);
31209 1 40 if (!is_final_block)
31217 0 40 SAFETY_CHECK(overread_count <= (bitsleft >> 3));
31220 40 0 if (actual_in_nbytes_ret) {
31228 40 0 if (actual_out_nbytes_ret) {
31231 0 0 if (out_next != out_end)
31251 2 0 if (HAVE_BMI2(get_x86_cpu_features()))
31285 0 2 if (f == NULL)
31326 0 38 if (options->sizeof_options != sizeof(*options))
31329 0 38 d = (options->malloc_func ? options->malloc_func :
31331 0 38 if (d == NULL)
31336 0 38 options->free_func : libdeflate_default_free_func;
31352 38 0 if (d)
32357 0 13 if (out_nbytes_avail <= GZIP_MIN_OVERHEAD)
32374 1 12 if (compression_level < 2)
32376 5 7 else if (compression_level >= 8)
32385 0 13 if (deflate_size == 0)
33400 0 16 if (in_nbytes < GZIP_MIN_OVERHEAD)
33404 0 16 if (*in_next++ != GZIP_ID1)
33407 0 16 if (*in_next++ != GZIP_ID2)
33410 0 16 if (*in_next++ != GZIP_CM_DEFLATE)
33420 0 16 if (flg & GZIP_FRESERVED)
33424 0 16 if (flg & GZIP_FEXTRA) {
33428 0 0 if (in_end - in_next < (u32)xlen + GZIP_FOOTER_SIZE)
33435 3 13 if (flg & GZIP_FNAME) {
33436 30 3 while (*in_next++ != 0 && in_next != in_end)
30 0 while (*in_next++ != 0 && in_next != in_end)
33438 0 3 if (in_end - in_next < GZIP_FOOTER_SIZE)
33443 0 16 if (flg & GZIP_FCOMMENT) {
33444 0 0 while (*in_next++ != 0 && in_next != in_end)
0 0 while (*in_next++ != 0 && in_next != in_end)
33446 0 0 if (in_end - in_next < GZIP_FOOTER_SIZE)
33451 0 16 if (flg & GZIP_FHCRC) {
33453 0 0 if (in_end - in_next < GZIP_FOOTER_SIZE)
33463 0 16 if (result != LIBDEFLATE_SUCCESS)
33466 16 0 if (actual_out_nbytes_ret)
33475 0 16 get_unaligned_le32(in_next))
33480 0 16 if ((u32)actual_out_nbytes != get_unaligned_le32(in_next))
33484 16 0 if (actual_in_nbytes_ret)
34450 37 0 if (ptr) {
35521 0 12 if (out_nbytes_avail <= ZLIB_MIN_OVERHEAD)
35527 1 11 if (compression_level < 2)
35529 4 7 else if (compression_level < 6)
35531 2 5 else if (compression_level < 8)
35544 0 12 if (deflate_size == 0)
36531 0 12 if (in_nbytes < ZLIB_MIN_OVERHEAD)
36539 0 12 if ((hdr % 31) != 0)
36543 0 12 if (((hdr >> 8) & 0xF) != ZLIB_CM_DEFLATE)
36547 0 12 if ((hdr >> 12) > ZLIB_CINFO_32K_WINDOW)
36551 0 12 if ((hdr >> 5) & 1)
36559 0 12 if (result != LIBDEFLATE_SUCCESS)
36562 12 0 if (actual_out_nbytes_ret)
36571 0 12 get_unaligned_be32(in_next))
36575 12 0 if (actual_in_nbytes_ret)
40023 0 0 if (memcmp(manufacturer, "GenuineIntel", 12) != 0)
40025 0 0 if (family != 6)
40027 0 0 switch (model) {
40052 0 2 if (max_leaf < 1)
40059 0 2 if (family == 6 || family == 0xf)
0 0 if (family == 6 || family == 0xf)
40061 0 2 if (family == 0xf)
40063 2 0 if (d & (1 << 26))
40066 2 0 if ((c & (1 << 1)) && (c & (1 << 19)))
2 0 if ((c & (1 << 1)) && (c & (1 << 19)))
40068 2 0 if (c & (1 << 27))
40070 2 0 if ((c & (1 << 28)) && ((xcr0 & 0x6) == 0x6))
2 0 if ((c & (1 << 28)) && ((xcr0 & 0x6) == 0x6))
40073 0 2 if (max_leaf < 7)
40078 2 0 if (b & (1 << 8))
40080 2 0 if ((xcr0 & 0x6) == 0x6) {
40081 2 0 if (b & (1 << 5))
40083 0 2 if (c & (1 << 10))
40086 0 2 if (os_supports_avx512(xcr0)) {
40087 0 0 if (allow_512bit_vectors(manufacturer, family, model))
40089 0 0 if (b & (1 << 30))
40091 0 0 if (b & (1U << 31))
40093 0 0 if (c & (1 << 11))
40099 2 0 if ((a & (1 << 4)) && ((xcr0 & 0x6) == 0x6))
0 0 if ((a & (1 << 4)) && ((xcr0 & 0x6) == 0x6))