def METHOD_NAME(map_splits):
    # Test diamond graph structure and ensure topologically correct enumeration
    w = 30
    h = 30
    b = 20
    A1 = np.random.rand(w, h, b).astype(np.float32)
    A2 = np.random.rand(w, h).astype(np.float32)
    ret = np.zeros([w, h], dtype=np.float32)
    sdfg = p1.to_sdfg()
    sdfg.simplify()
    graph = sdfg.nodes()[0]
    sdfg.apply_transformations_repeated(ReduceExpansion)
    subgraph = SubgraphView(graph, graph.nodes())
    composite = CompositeFusion()
    composite.setup_match(subgraph)
    composite.expansion_split = map_splits
    cf = lambda sdfg, subgraph: composite.can_be_applied(sdfg, subgraph)
    enum = GreedyEnumerator(sdfg, graph, subgraph, cf)
    result = enum.list()
    if map_splits:
        assert len(result) == 1
    else:
        assert len(result) == 2