Trying to model the behavior of an Arduino library limitations using a math formula is, IMHO, a futile task.
It's a surprisingly good fit in this case, though, but the behavior could be anything.
If you calculate the timer settings yourself, the limitations become obvious. For example, if the timer kernel clock is running at, say, 10MHz, you can create 5MHz, 3.33...MHz, 2.5MHz, 2MHz and so on, but you cannot create 4MHz, for example. So the Arduino library is rounding the settings. It will just be way more limited than what you get if you configure the timer peripheral yourself, because the Arduino folks have tried to keep everything very simple and chosen some fixed settings. And when you configure the device yourself, it's also obvious to you what you are doing and why.