In addition to the 3 reasons given by Raphael in his answer, regarding
why the aymptotic cost upperbound $O(2^n)$ does not give you $2^n$
recursive calls for $n=15$, I think you should add a fourth one:
- Asymptotic costs are always defined up to a constant factor, when using
Landau notation (big $O$, big $\Omega$, little $\omega$, etc.).
There is a reason for that: the cost unit is undefined. This makes
analysis easier and somewhat support independent. As long as all primitive
operations have a cost within a bounded interval, the relative cost of
the various elementary steps of the algorithm can be ignored.
The price to be paid of course, is that the cost thus evaluated has no
absolute meaning, only a relative one.
If we were to assume that:
$O(2^n)$ is not an upperbound (as indicated by big $O$) but an exact
cost function (point 1 of Raphael);
$O(2^n)$ is not asymptotic but exact cost for all values of $n$ (point
2 of Raphael);
each recursive call takes constant time (point 3 of Raphael);
and that furthermore there are no cost other than the constant cost
of each recursive call (not including sub-calls), which seems to be
your implicit assumption,
we would still be unable to assert that for $n=15$ you should have
$2^{15}$ calls, from the simple knowledge of $O(2^n)$ (ignoring how
the formula was obtained, of course). The reason is the arbitrary
constant factor that does not show in the formula.
At best you would know that there is a factor $k$ such that for each
value of $n$ you should have $k2^n$ call. Thus, if you know that for
$n=15$ you had $p$ recursive calls, that would imply that $p=k2^{15}$,
which would allow you to compute the value of $k$, and then predict
the number of calls for other values of $n$.
But this comes only after a lot of other assumptions, none of which is
really true. With apologies for awkwardly attemtping to separate issues that really have meaning only together.