code: def leaky_relu(
      a: TensorLikeType,
      negative_slope: float = 0.01,
      inplace: bool = False,
  ) -> TensorLikeType:
      """
      Reference implementation of torch.nn.functional.leaky_relu
      """
  
      if inplace:
          raise NotImplementedError
  
      python_type = utils.dtype_to_type(a.dtype)
      if not utils.is_weakly_lesser_type(
          type(negative_slope), python_type
      ):
          msg = f"negative_slope argument of type {type(negative_slope)} cannot be safely cast to type {python_type}!"
          raise ValueError(msg)
      return torch.where(
          torch.gt(a, 0), a, torch.mul(a, negative_slope)
      )
  
imports: import math
  from functools import wraps
  from typing import Callable, Optional, Union
  import torch
  import torch._prims
  import torch._prims_common
  import torch._refs
  from torch._decomp import register_decomposition
  from torch._prims_common import ELEMENTWISE_TYPE_PROMOTION_KIND, NumberType, ShapeType, TensorLike, TensorLikeType
  from torch._prims_common.wrappers import elementwise_type_promotion_wrapper, elementwise_unary_scalar_wrapper, out_wrapper
  from torch._refs import _make_inplace
label_desc: Use image node_id 10 for calling a global function with example usage: leaky_relu(a, negative_slope, inplace) and returns: torch