free to select the arbitrary origin for energies.

Let us consider the application of a small molecule ($N_l$ atoms) interacting with a protein ($N_p \gg N_l$ atoms) where only some of the protein side chains near the binding site are allowed to move. By avoiding computing the interaction energy between atoms in the immobile portion of the protein, the above prescription reduces the computational cost from $O(N_p^2)$ to $O(N_l N_p)$.

This cost may still be too large and we can substantially reduce the cost by implementing energy cutoffs for the interactions. This is easily accomplished by multiplying $f_g(r_{ij})$ by a cutoff function, $c_g(r_{ij})$. A possible form for this cutoff function is $$c_g(r) = 
\left\{
\begin{array}{l@{\hspace{1em}}l}
1, & \mbox{for $r < r_{g1}$},\\
0, & \mbox{for $r \ge r_{g2}$},\\
\displaystyle
c_g(r_{g1}) \frac{r_{g2} - r}{r_{g2} - r_{g1}} & \mbox{otherwise},\\
\end{array}\right.$$ with $r_{g1} \le r_{g2}$, which linearly tapers the energy to zero over $[r_{g1},r_{g2})$. Other tapering functions can be employed, or, by choosing $r_{g2} = r_{g1}$, we can implement a sharp cutoff. This type of cutoff function implements a per-atom cutoff and is appropriate for energy terms which are additive at large distances, such as the Lennard-Jones potential. The electrostatic potential, however, involves substantial 