Automatic differentiation with dual numbers
