libc++ operator==(vector,vector)

Comparing libc++'s operator==(vector,vector) from latest SVN with the
libstdc++ implementation (v4.8.1), I find that libc++ creates a
separate variable for x.size() and then compares with y.size() whereas
libstdc++ directly compares x.size() with y.size(). Is there any
(optimization) reason that libc++ creates this extra variable?

Thanks.