From Vim's :help tabs:
:tabp[revious] {count}
:tabN[ext] {count}
{count}<C-PageUp>
{count}gT Go {count} tab pages back. Wraps around from the first one
to the last one.
While
:tabn[ext] {count}
{count}<C-PageDown>
{count}gt Go to tab page {count}. The first tab page has number one.
Finally, parameterless :tabn behaves consistent with :tabp and :tabp 1.
Why is that? Is it only to make 3gt jump to tab 3 instead of 3 tabs ahead? Nothing prevents vim from having :tabn 3 and :tabjump 3, and bind Ngt to use :tabjump rather than :tabn. Frankly, to me this looks like a design error.
Can we have :tabp N forward equivalent using only built-in commands? I noticed one can't use :tabprev -2, for example. If there is no built-in counterpart to :tabp N, then why have :tabp N at all?