& 4472 & 57099 10000 & 3558 & 753 & 61873 & 11914 & 163554 & 11887 & 249981 30000 & 10607 & 494 & 170634 & 24984 & 572322 & 20102 & 790474 100000 & 35282 & 112 & 429035 & 73350 & 1954508 & 53466 & 2516146 300000 & 106065 & 66 & 1041836 & 205821 & 5457445 & 137138 & 6859114 1000000 & 353342 & 1 & 2918326 & 621802 & 16105065 & 393311 & 19023391 3000000 & 1060650 & 2 & 7771584 & 1689115 & 42974890 & 1047627 & 53645379

The tree code requires ${\cal O}(N\log N)$ operations, corresponding to a rising straight line in [Fig. \[fig:N\]]{}. For our code, however, there is a turn-over at $N\sim10^4$, above which the CPU time per body approaches a constant[^4] (for $\theta=\,$const) or even decreases with $N$ (for $\theta=\theta({{\sf M}^{}})$), i.e. the total number of operations becomes ${\cal O}(N)$ or less, which is also evident from the number of interactions in [Table \[tab:N\]]{}.

In order to understand these scalings, let us first consider the simpler case of $\theta=\,$const and a homogeneous distribution of bodies. Then, eight-folding $N$ is equivalent to arranging eight copies of the old root cell into 