I doubt that the bugs provoked by tiredness have an aggregate of negative productivity.
And even if so, it can be mitigated. As a webdeveloper, when Im tired i do the most menial tasks which means that bugs introduced there are rare and not important.
I mean, our entire field exist for pushing menial tasks into computers. If you have as many of them to fill 50% of your work load, there's probably something wrong.
Besides, are you sure bugs in menial tasks are not important? When did you judge those tasks to decide this?
So many: fleshing out test suites, setting up that build server, automating your documentation generation process, making that internal tool a bit more generic to be useful, fixing those warnings from that analysis tool, checking for performance regressions against the data from when you last did it 3 months ago, refactoring some of that code from 3 years ago for which there is now a more idiomatic way of doing it, issue tracker triaging, ... There is so much in software development that is menial yet isn't worth or can't be automated.
Just talking about the first item: you're asserting that first verifying your understanding of specifications, discovering then specifying currently implicit requirements of an in-production system, then automating your system's compliance with specs in a way that does not require changing the automation while specs remain constant but the system grows, is menial. At least to me, as a person who struggles even with math proofs, and is trying to figure out a robust way to discover features in complex systems (for example, to reverse engineer/port video games without access to the source), that is -very surprising-.
And even if so, it can be mitigated. As a webdeveloper, when Im tired i do the most menial tasks which means that bugs introduced there are rare and not important.