When evaluating derivatives, one always has a choice between forward and reverse mode. How does one decide which mode to use ?
In general, the best mode depends on the number of domain and range components in the function that your are differentiating. Each call to Forward computes the derivative of all the range directions with respect to one domain direction. Each call to Reverse computes the derivative of one range direction with respect to all the domain directions.