Off[General::"spell1"]

f[x_, y_] = 16 - x^2 - y^2;
{a, b} = {1, 1};
{xmin, xmax, ymin, ymax} = {-3, 5, -3, 
          5};
fx = D[f[x, y], x] /. {x -> a, y -> b};
fy = D[f[x, y], y] /. {x -> a, y -> b};
l[x_, y_] = f[a, b] + fx (x - a) + fy (y - b);
Plot3D[f[x, y], {x, xmin, xmax}, {y, ymin, ymax}, 
        DisplayFunction -> Identity];
Plot3D[l[x, y], {x, xmin, xmax}, {y, ymin, ymax}, 
        DisplayFunction -> Identity];
Show[%, %%, DisplayFunction -> $DisplayFunction, 
        ViewPoint -> {-1.694,  -2.330,  1.775}];

f[x_, y_] = Cos[x + y] Exp[x^2 - y^2];
{a, b} = {1/2, -1/2};
{xmin, xmax, ymin, ymax} = {-3, 5, -3, 
          5};
fx = D[f[x, y], x] /. {x -> a, y -> b};
fy = D[f[x, y], y] /. {x -> a, y -> b};
l[x_, y_] = f[a, b] + fx (x - a) + fy (y - b);
Plot3D[f[x, y], {x, xmin, xmax}, {y, ymin, ymax}, 
        DisplayFunction -> Identity];
Plot3D[l[x, y], {x, xmin, xmax}, {y, ymin, ymax}, 
        DisplayFunction -> Identity];
Show[%, %%, DisplayFunction -> $DisplayFunction, 
        ViewPoint -> {-1.794,  -2.823,  0.514}];