> Your rule is much weaker to the point of being useless
Yes, it's much weaker, but it's not useless. The vast majority of code in a program does not need to be as fast as it could possibly be [1], so there's no point in manually implementing everything in assembly. That doesn't mean that it never makes sense to manually implement something in assembly for performance reasons.
[1] And for many programs, all the code does not need to be as fast as it could possibly be.
Right, but I called the rules "useless" because it does not tell you any actionable info -- and this is normally expected of rules.
Here is a fixed version (note I added "times 20" at the end):
"the compiler generates better assembly code than a human could within the time it takes to write high-level code times 20"
See -- now I can make predictions. Let's say you have a function that you want to make fast, and you want to optimize it in assembly. The function took 30 minutes to write and debug. Do you have 10 hours to spare? Try assembly. No time? Leave as-is.
Yes, it's much weaker, but it's not useless. The vast majority of code in a program does not need to be as fast as it could possibly be [1], so there's no point in manually implementing everything in assembly. That doesn't mean that it never makes sense to manually implement something in assembly for performance reasons.
[1] And for many programs, all the code does not need to be as fast as it could possibly be.