code: def dequant_min_max(xq, A, B, SA, SB, dtype):
      offset = B.float().t().sum(0) * (SA[0] + SA[1])
      x = xq.float()
      if len(xq.shape) == 2 and len(SB.shape) == 3:
          SB = SB.squeeze(0)
      if len(xq.shape) == 2 and len(SA.shape) == 3:
          SA = SA.squeeze(0)
      if len(SB.shape) == 2:
          x *= SB.t() / 127
      else:
          x *= SB / 127
      x *= SA[1] / 127
      x += offset
      return x.to(dtype)
  
imports: from itertools import product
  import pytest
  import torch
  from torch import nn
  import bitsandbytes
label_desc: Use image node_id 4 for calling the LinearFunction obj's underlying member method code with example usage: obj.dequant_min_max(xq, A, B, SA, SB, dtype) and returns: x