Numeric differentiation library