Count the Collatz survivors mod 2^n Introduction
We have 22 Collatz conjecture-related challenges as of October 2020, but none of which cares about the restrictions on counter-examples, if any exists, to the conjecture.
Considering a variant of the operation defined in the conjecture:
$$f(x)= 
\cases{
\frac{x}{2}&amp;for even x \cr
\frac{3x+1}{2}&amp;for odd x
}$$
The Wikipedia article suggests that a modular restriction can be easily calculated and used to speed up the search for the first counter-example. For a pair of \$k\$ and \$b\$ where \$0\le b\lt2^k\$, if it is possible to prove that \$f^k(2^ka+b)&lt;2^ka+b\$ for all sufficiently large non-negative integers \$a\$, the pair can be discarded. This is because if the inequality holds for the counter-example, we can find a smaller counter-example from that, contradicting the assumption that the counter-example is the first one.
For example, \$b=0, k=1\$ is discarded because \$f(2a)=a&lt;2a\$, while \$b=3, k=2\$ is not because \$f^2(4a+3)=9a+8&gt;4a+3\$. Indeed, for \$k=1\$ we only have \$b=1\$ and for \$k=2\$, \$b=3\$, to remain (survive) after the sieving process. When \$k=5\$, though, we have 4 survivors, namely 7, 15, 27 and 31.
However, there are still 12,771,274 residues mod \$2^{30}\$ surviving, so just still about a 100x boost even at this level
Challenge
Write a program or function, given a natural number \$k\$ as input, count the number of moduli mod \$2^k\$ that survives the sieving process with the operation applied \$k\$ times. The algorithm used must in theory generalize for arbitrary size of input.
The sequence is indeed A076227.
Examples
Input &gt; Output
1     &gt; 1
2     &gt; 1
3     &gt; 2
4     &gt; 3
5     &gt; 4
6     &gt; 8
7     &gt; 13
8     &gt; 19
9     &gt; 38
10    &gt; 64
15    &gt; 1295
20    &gt; 27328
30    &gt; 12771274

Winning criteria
This is a code-golf challenge, so the shortest submission of each language wins. Standard loopholes are forbidden.
APL (Dyalog Unicode), 18 bytes

+/∧/¨1&lt;×\¨.5+,⍳⎕/2

Try it online!
A full program. Fails to compute the answer for \$k&gt;15\$ due to system limitations (rank of intermediate array).
How it works
If we call the \$\frac{x}{2}\$ the \$D\$-step and \$\frac{3x+1}{2}\$ as the \$U\$-step, it is known that each residue class \$0 \dots 2^k-1\$ modulo \$2^k\$ corresponds to exactly one \$UD\$-sequence of length \$k\$.
In the original formula, the coefficient of \$a\$ is multiplied by \$\frac32\$ for the \$U\$-step, and \$\frac12\$ for the \$D\$-step, and it suffices to count the \$UD\$-sequences where the coefficient never drops under 1.
The program computes this by generating all length-\$k\$ sequences of 0.5 and 1.5 (skipping the \$UD\$ part), and counts the ones where the multiplicative scan ×\ gives all numbers greater than 1.
+/∧/¨1&lt;×\¨.5+,⍳⎕/2  ⍝ Full program; input: k
               ⎕/2  ⍝ k copies of 2
             ,⍳     ⍝ indices in an array of shape 2 2 ... 2
                    ⍝ which generates all binary sequences of length k
          .5+  ⍝ Add 0.5 to get all sequences of 0.5 and 1.5
       ×\¨     ⍝ Product scan
     1&lt;        ⍝ Test if each number is greater than 1
  ∧/¨          ⍝ ... for all numbers in each sequence
+/             ⍝ Count ones