code: def q_embedding_bag_byte_unpack_decomp(packed):
      def bitcast_u8_to_f32(u8):
          x, y, z, w = (
              u8[..., n].to(torch.int32) for n in (0, 1, 2, 3)
          )
          if sys.byteorder == "little":
              return (x + (y << 8) + (z << 16) + (w << 24)).view(
                  torch.float32
              )[..., None]
          else:
              return ((x << 24) + (y << 16) + (z << 8) + w).view(
                  torch.float32
              )[..., None]
  
      scales = bitcast_u8_to_f32(packed[..., -8:-4])
      offsets = bitcast_u8_to_f32(packed[..., -4:])
      return packed[..., :-8].to(torch.float32) * scales + offsets
  
imports: import functools
  import logging
  import math
  import sys
  import typing
  from typing import Optional
  import torch
  import torch._decomp
  import torch._prims_common
  import torch.ao.quantization.fx._decomposed
  from torch._decomp import core_aten_decompositions, get_decompositions, remove_decompositions
  from torch._decomp.decompositions import _grid_sampler_2d, pw_cast_for_opmath
  from torch._decomp.decompositions_for_rng import extra_random_decomps
  from torch._higher_order_ops.out_dtype import out_dtype
  from torch._prims_common import elementwise_dtypes, ELEMENTWISE_TYPE_PROMOTION_KIND, type_to_dtype
  from .None import config, inductor_prims
label_desc: Use image node_id 39 for calling a global function with example usage: q_embedding_bag_byte_unpack_decomp(packed) and returns: unknown, unknown, unknown