Differentiation Rules For Fast Computation