Chop off the woody ends of the asparagus and reserve. Chop about 1/2-inch of the tender asparagus tips and reserve in a separate bowl. Chop the middle third of the asparagus at 1/2-inch intervals and set aside in a third bowl.
Slice the white and light green part of the leek thinly, reserving the dark green leaves and the root tip.
Pour stock into a large stock pot and bring to a simmer over moderately high heat. Toss in the woody asparagus ends, leek trimmings and bay leaves. Simmer, covered, for twenty minutes.
While the stock simmers, melt butter in a cast iron skillet. When it froths, stir in thinly sliced leeks. Fry in butter for about one minute, or until fragrant. Stir in the chopped asparagus middles and continue to fry, stirring periodically, for about five minutes.
Strain the stock and return it to the stock pot. Stir in the sauteed leek and asparagus. Simmer over medium heat for twenty minutes or until the asparagus is tender. Turn off the heat, stir in heavy cream and puree the soup with an immersion blender until completely smooth.
In a separate pot, bring about 1 pint of water to a boil. Toss in asparagus tips and boil for two to three minutes. Remove them with a slotted spoon and plunge them into ice water to reserve their color. Drain and stir into the soup. Serve immediately