with(plots); -1 

`:=`(f, proc (x, y) options 
operator, arrow; `+`(`*`(`^`(x, 3)), `*`(`^`(y, 3)), `*`(3, `*`(`^`(x, 
2))), `-`(`*`(3, `*`(`^`(y, 2)))), `-`(8)) end proc) 

proc (x, y)
 options operator, arrow; `+`(`*`(`^`(x, 3)), `*`(`^`(y, 3)), `*`(3, 
`*`(`^`(x, 2))), `-`(`*`(3, `*`(`^`(y, 2)))), `-`(8)) end proc (1)
 

plot3d(f(x, y), x = -4 .. 2, y =
 -2 .. 4, style = surfacecontour, axes = boxed, contours = 30) 

Plot
 

contourplot(f(x, y), x = -4 .. 
2, y = -2 .. 4, contours = 30, filled = true) 

Plot_2d