I think that it's easier to use the chain rule; less work, faster result.
consider the cardioid r=1+sin(t) remember that x=rcos(t) and y=rsin(t)
which means x = (1+sin(t))cos(t)
and y = (1+sin(t))sin(t)
now dy/dx : [ (dy/dt) // (dx/dt) ]
should i use chain rule on the x and y, or would i just distrube the cos and the sin? thanks