numerical derivative lib