DE/rand/k and DE/mid/k implementations