Two LEA instructions at the function end are simply fillers (NOPs) to ensure proper alignment for the next function -- they aren't part of the function epilogue.
As for the prologue difference it is hard to tell without seeing the rest of the surrounding code. Most likely vectorization enables the compiler to "see" an opportunity for some other optimizations thus resulting in a bit shorter code which uses less variables.
yeah, you are right for epilogue, code-generators normally generates NOP (no-operation) instructions to align instructions.
Lets look for prologue part if possible.
Thanks Igor.
~BR