$ 0 0 Renamed "derivative" field to "adjoint" to match current algorithmic differentiation literature