Add derivative macro