Based on experience I would rather have a happy, well-rested developer working for me who is aching to get to work in the morning and who has the brains to leave for home as soon as he or she feels tired or unfocused. If that happens at 2pm or 4pm, I don't actually care. If people are still at the office at 6pm, or if I see people are tired, unfocused or are only goofing off, I ask them to go home.
To the degree that I care about the hours they work I only care if they spend too long doing something (they're stuck and need help perhaps?) or if they work too many hours (they'll write shit code we have to fix later so I get to pay for it 2-4 times over).