If economy is your primary goal, then of the M cars, the M3 is waaaay better than the E39 M5 (trust me!!!)
Mine will do about 24mpg on a run, but the average tends to resort back to about 19-20 mpg. I spend quite a lot of time on big A roads and Mways, and I do a lot of miles also, so that will probably reflect your mileage.
My next door neighbour has an E46, and his on a run will do about 28-29 mpg! Totally not fair!! LOL
Mind you - mine is waaay more comfy!
JJ