code: def test_quantized_tensor_chained_backward(device):
      a = random_tensor((10,), dtype=torch.float32).to(device)
      a.requires_grad = True
      qa = QTensor.quantize(a)
      b = random_tensor((10,), dtype=torch.float32).to(device)
      b.requires_grad = True
      qb = QTensor.quantize(b)
      # Evaluate the product
      prod = qa * qb
      # Backpropagate
      gradient = torch.randn((10,)).to(device)
      prod.backward(gradient)
      assert torch.allclose(a.grad, qb.dequantize() * gradient)
      assert torch.allclose(b.grad, qa.dequantize() * gradient)
  
file_path: quanto/test/tensor/test_qtensor.py
imports: import os
  from tempfile import TemporaryDirectory
  import pytest
  import torch
  from helpers import assert_similar, device_eq, q_assert_close, random_qtensor, random_tensor
  from quanto import QTensor, absmax_scale
label_desc: Use image node_id 8 for calling a global function with example usage: test_quantized_tensor_chained_backward(device) without return types