Roger Federer produced an impressive display to gain revenge on Juan Martin Del Potro and book his place in the last four of the Paris Masters.