Branch Coverage

goldbach.c
Criterion Covered Total %
branch 74 80 92.5


line true false branch
19 4 37 if (n < 4) return 0;
20 23 14 if (n & 1 || n == 4)
1 22 if (n & 1 || n == 4)
21 10 5 return (is_prime(n-2)) ? 2 : 0;
23 1720 0 for (p=3; p <= n/2; p = next_prime(p))
24 22 1698 if (is_prime(n-p))
78 22 16 if (n >= 22) {
82 22 22 while (next_segment_primes(ctx, &seg_base, &seg_low, &seg_high)) {
88 666 0 START_DO_FOR_EACH_SIEVE_PRIME( segment, seg_base, seg_low, seg_high )
22 644 START_DO_FOR_EACH_SIEVE_PRIME( segment, seg_base, seg_low, seg_high )
598 46 START_DO_FOR_EACH_SIEVE_PRIME( segment, seg_base, seg_low, seg_high )
666 16 START_DO_FOR_EACH_SIEVE_PRIME( segment, seg_base, seg_low, seg_high )
38 22 START_DO_FOR_EACH_SIEVE_PRIME( segment, seg_base, seg_low, seg_high )
90 299 299 if (L) {
91 74 225 if (is_prime_in_sieve(lowsieve, q-qdbeg*30))
94 74 225 if (is_prime_in_sieve(lowsieve, q-qdbeg*30))
101 11 11 if (L && s > 1) { /* Reverse the list */
6 5 if (L && s > 1) { /* Reverse the list */
103 34 6 while (i < j) { UV t=L[i]; L[i]=L[j]; L[j]=t; i++; j--; }
113 4 34 if (n < 4) return 0;
114 20 14 if (n & 1 || n == 4) {
1 19 if (n & 1 || n == 4) {
115 5 10 if (!is_prime(n-2))
123 0 19 New(0, L, max_nprimes(n/2) >> (n > 30030 ? 1 : 0), UV);
125 19 0 if (n >= 6 && is_prime(n-3)) L[s++] = 3;
12 7 if (n >= 6 && is_prime(n-3)) L[s++] = 3;
126 17 2 if (n >= 10 && is_prime(n-5)) L[s++] = 5;
8 9 if (n >= 10 && is_prime(n-5)) L[s++] = 5;
127 15 4 if (n >= 14 && is_prime(n-7)) L[s++] = 7;
9 6 if (n >= 14 && is_prime(n-7)) L[s++] = 7;
131 0 19 Renew(L, s, UV); /* Possibly reduce storage */
139 4 34 if (n < 4) return 0;
140 20 14 if (n & 1 || n == 4)
1 19 if (n & 1 || n == 4)
143 19 0 if (n >= 6 && is_prime(n-3)) s++;
12 7 if (n >= 6 && is_prime(n-3)) s++;
144 17 2 if (n >= 10 && is_prime(n-5)) s++;
8 9 if (n >= 10 && is_prime(n-5)) s++;
145 15 4 if (n >= 14 && is_prime(n-7)) s++;
9 6 if (n >= 14 && is_prime(n-7)) s++;