The Corolla is featherweight compared to the BMW, and being a smaller capacity, and two less cylinders, by default it is sipping less fuel. Many years ago I had a similar vintage Corolla, but the 1.6i GLE and it was very good at being economical and had decent performance for what it was back then. But, put some passengers in it, and that "performance" was gone. The BMW is already heavier, so putting in passengers will have a smaller effect, and you have more torque (Corollas not so big on torque).
Economy was also to the same extent affected as the BMW, but on a smaller scale. What I mean by this is that on the open road it was capable of 7 or so l/100 km fairly easily and in town driving not much higher than 10 l/100 km. So a litre or so more to a 100 km on the BMW is not too bad actually. I drive my 330i very much based on what the econometer shows me, and over the years have been able to find what works best at saving fuel and avoiding things that waste fuel, the problem is that while the car sits still or is moving at really slow speeds, it's just wasting fuel. I am pretty sure that if the Corollas had an econometer too, you would be surprised at how much fuel it would be capable of using when putting foot, but probably a lot easier to drop back down to a frugal manner. It's like the "target" 10 l/100 km marking on the BMW's econometer. :rollsmile: