Even the last three weeks: I was stuck on a design problem and couldn't really move forward/get productive for two weeks. Then when the solution finally clicked you can have a few days of just coding it all, that feels so much more productive.
Also got similar experience with being able to easily work 16 hour days on tasks that always have a clear and small next step, like CSS/design fixes.
What I've learned is to take advantage of those days that everything just works out and make the extra hours and not feel guilty when they don't. Works much better for me than trying to stick to a fixed number of hours per day.
I've only recently come to accept this. I've recently hit a period of too many clients showing up at one time and I now feel stupid when I work on the weekend because I know that kind of "heroic" effort will be balanced out by me goofing off on Monday.
I'd be curious to know if your total time is closer to 8 hours/day once you factor in estimates, leads, customer travel, accounting and all the stuff that comes with your own structure.
On a related note, it's useful to know the ratio of billable vs. overhead. All too often, people new to the self-employed world plan for unrealistic billing hours and forget about this overhead.
Also the overhead is exactly the reason I don't hire people: time and energy to spend on management are tremendous and up to this moment I wasn't been able both to hire someone and make profit from it. So, my model doesn't work well for teams. Or maybe I suck at management.
Another problem is time spent idling: my time in the office varies from 5 to 8 hours, when I switch from tasks I'm often distracted by non-work things such as reading news, lunch, occasional gaming.
The main non-obvious downside with pay-by-hour model is that when I try to be more effective, I spend more energy, but get less money.
P.S. Can't provide exact numbers now because not in the office.