anchor.diff:              deallocate(m_i)
               deallocate(m_np_i)
   
  +
  +         !---------------------------------------------------------------------------
  +         ! Compute the force using only own particles and communicating a subset to
  +         ! each other to spare memory
  +         !---------------------------------------------------------------------------
            else !FIXME: Does not work with different masses
               s = N / memory_factor
               if (s*memory_factor /= N) then
  
positive.code: 
                 if (rank == i) a_comm_np_i = a
  
                 if (communicate_left) then
                    i_to_translate(1) = i
                    call mpi_group_translate_ranks(wgroup, 1, i_to_translate, mpi_group_to_left(i), i_translated, err)
  
negative.code:          end if
  
        else
           !---------------------------------------------------------------------------
           ! Compute the force knowing all particles. Compute all the accelerations with
           ! a local subset of all the particles, then reduce all accelerations
           !---------------------------------------------------------------------------
           allocate(a_reduced(3, npoints))
  
           !--------------------------------
  