def METHOD_NAME(outer, inner):
    # Determine base line
    composed, composed_sensitivities = outer.compose(
        inner, compute_sensitivities=True
    )
    # Check against FD approximation
    for i in range(outer.cps.shape[0]):
        for j in range(outer.cps.shape[1]):
            outer.cps[i, j] += dx
            # FD values
            composed_dx = outer.compose(inner)
            # FD
            derivative_fd = (composed_dx.cps - composed.cps) / dx
            expected = c.np.zeros(composed.cps.shape)
            expected[:, j] = composed_sensitivities[i].cps.flatten()
            self.assertTrue(
                c.np.allclose(derivative_fd, expected, atol=tolerance)
            )
            outer.cps[i, j] -= dx