The maximum time that a table can go unvacuumed is two billion transactions minus the vacuum_freeze_min_age value at the time of the last aggressive vacuum.
...
This implies that if a table is not otherwise vacuumed, autovacuum will be invoked on it approximately once every autovacuum_freeze_max_age minus vacuum_freeze_min_age transactions.
From what I have understood, a table is eligible for aggressive vacuum when it reaches vacuum_freeze_table_age.
Then each table row becomes eligible when it reaches vacuum_freeze_min_age.
The autovacuum frequency would be then autovacuum_freeze_max_age minus vacuum_freeze_table_age transactions (and not autovacuum_freeze_max_age minus vacuum_freeze_min_age transactions).