ask simple questions about each loop, such as “which objects does it hit?”, or (at most) “For what scaling intervals does this loop, centered at $x_{cm}$ but re-scaled in size, hit object $O_n$?”. In order to answer these, only very little information needs to be stored when visiting the loop point by point. So it is possible to implement the relevant algorithms in such a way that the loop is generated on the fly, and we never have to store the entire loop in memory – the number of points we have to remember is about the binary logarithm on the loop length. This yields an algorithm with a very small memory footprint and attractive characteristics for computing architectures that emphasize a high degree of parallelism between very simple cores.

Numerical Integration over the Scaling Factor {#subsec:directintegration}
---------------------------------------------

One approach to obtain energies—and so ultimately, by comparing energies for different geometric configurations, forces—is to directly evaluate the integral in Equation \[eq:loopenergy.final\] numerically. Naively, one would have to, for various values of $s$, estimate $\langle\Theta(sy,x)\rangle_y$ and summing up. Since the order of summing up does not matter, we can as well compute the expectation value of the following process.

> Choose 