Heat the oil in a pot over medium heat. Add the asparagus, onion and garlic and cook 4 to 5 minutes. Mix in the flour. Slowly mix in the stock, stirring constantly. Bring to a simmer and cook 10 minutes. Add the watercress, reserving a few sprigs to garnish the top of the soup, and cook 3 to 4 minutes more. Puree the mixture in a food processor or blender. Return to the pot and bring back to a gentle simmer; season with salt and pepper. Combine the yogurt, dill and horseradish in a bowl. Top bowls of the soup with a dollop and swirl of the yogurt; garnish with a small sprig of watercress.