CheckAutoDiffJacobian uses x.derivatives as the identity matrix so it does not detect errors in derivative calculation that consist in ignoring x.derivatives in the jacobian calculation. . I would need to improve the function CheckAutoDiffJacobian to also test a random directional derivatives to make sure x.derivatives is used.