Latest sunrise and earliest sunset

Where I live in Michigan, sunrise this time of year is about 8:15 AM, while sunset is around 5:15 PM. Centered on the winter solstice, a graph of sunrise and sunset through the year looks like this (sans Daylight Savings Time):

JulAugSepOctNovDecJanFebMarAprMayJun12 AM1 AM2 AM3 AM4 AM5 AM6 AM7 AM8 AM9 AM10 AM11 AM12 PM1 PM2 PM3 PM4 PM5 PM6 PM7 PM8 PM9 PM10 PM11 PM12 AMSunriseSunset

A close look at this graph suggests a couple oddities. First, even though the Earth's orbit is more or less circular (eccentricity 0.017), the curves don't look quite like sine waves; the sunset curve looks flattened on the right (winter and spring), while sunrise looks flattened on the left (summer and fall). Second, the earliest sunset seems to happen before the latest sunrise. Let's check:

JulAugSepOctNovDecJanFebMarAprMayJun12 AM1 AM2 AM3 AM4 AM5 AM6 AM7 AM8 AM9 AM10 AM11 AM12 PM1 PM2 PM3 PM4 PM5 PM6 PM7 PM8 PM9 PM10 PM11 PM12 AMDecember 21December 21January 58:12 AMDecember 128:02 AMSunriseSunset

Sure enough, the latest sunrise is more than three weeks after the earliest sunset, and neither falls on the winter solstice.

My guess is that this asynchrony is due to the rotation of the solar terminus as the Earth revolves around the sun.

i.e. the day/night line is rotating away from us, making both sunrise and sunset later. That will continue until the 5th, when the effect of the Earth's tilt relative to the sun will make a bigger difference than the revolving solar terminus.