def METHOD_NAME(self):
    device = get_test_device()
    x = torch.randn(2, 3, 4, device=device)
    y = torch.randn(2, 3, 4, device=device)
    z = torch.zeros(2, 3, 4, device=device)
    device = 'lazy'
    x_lazy = x.detach().clone().to(device=device)
    y_lazy = y.detach().clone().to(device=device)
    z_lazy = z.detach().clone().to(device=device)
    for i in range(10):
        if i < 5:
            z += (x + y)
        else:
            z += (x - y)
    for i in range(10):
        if i < 5:
            z_lazy += (x_lazy + y_lazy)
        else:
            z_lazy += (x_lazy - y_lazy)
        torch._lazy.mark_step()
    torch.testing.assert_close(z.cpu(), z_lazy.cpu())
    assert metrics.counter_value("IrNodeReused_torch::lazy::AddTensor") >= 8
    metrics.reset()
    torch._lazy.ir_cache.reset()