SymDiff

Package to analytically differentiate polynomials

SymDiff.differentiateMethod
differentiate(Val{:*}, f::Expr, x::Symbol)

Differentiate (fg)' using chain rule: (fgh)' = f'gh + fg'h + fgh'.

source