pub fn compute_gradient_rev<T, F>(inputs: &[T], func: F) -> (T, Vec<T>)where T: TapeStorage, F: FnOnce(&[AReal<T>]) -> AReal<T>,