def METHOD_NAME(implementation, dtype):
    sdfg = make_sdfg(implementation, dtype)
    inv_sdfg = sdfg.compile()
    np_dtype = getattr(np, dtype.to_string())
    size = 4
    lapack_status1 = np.array([-1], dtype=np.int32)
    lapack_status2 = np.array([-1], dtype=np.int32)
    A1 = np.array([[2, 5, 8, 7], [5, 2, 2, 8], [7, 5, 6, 6], [5, 4, 4, 8]], dtype=np_dtype)
    A2 = np.copy(A1)
    A3 = np.linalg.inv(A2)
    pivots = np.ndarray([0, 0, 0, 0], dtype=np.int32)
    # the x is input AND output, the "result" argument gives the lapack status!
    inv_sdfg(x=A1, result_getrf=lapack_status1, result_getri=lapack_status2, pivots=pivots, n=size)
    if np.allclose(A1, A3):
        print("Test ran successfully for {}.".format(implementation))
    else:
        print(A1 - A3)
        raise ValueError("Validation error!")