def METHOD_NAME(self) -> None:
    """Test value-propagation handles multiple calls to same function correctly.
    Underlying core example is same as previous test_model_data_propagation.
    """
    model = onnx.parser.parse_model(
        """
        <ir_version: 7, opset_import: [ "" : 18, "local" : 1 ]>
        agraph (float[4, 1, 16] x, float[1, 8, 16] y) => () {
            yshape = local.GetShape (y)
            xshape = local.GetShape (x)
            z = Expand (y, xshape)
            w = Expand (y, yshape)
        }
        <domain: "local", opset_import: [ "" : 18 ]>
        GetShape (x) => (shapeval) {
            shapeval = Shape(x)
        }
    """
    )
    self._assert_inferred(
        model,
        [
            make_tensor_value_info("yshape", TensorProto.INT64, (3,)),
            make_tensor_value_info("xshape", TensorProto.INT64, (3,)),
            make_tensor_value_info("z", TensorProto.FLOAT, (4, 8, 16)),
            make_tensor_value_info("w", TensorProto.FLOAT, (1, 8, 16)),
        ],
        data_prop=True,
    )