code: def broadcast_to(
      x: paddle.Tensor,
      /,
      shape: Union[ivy.NativeShape, Sequence[int]],
      *,
      out: Optional[paddle.Tensor] = None,
  ) -> paddle.Tensor:
      ivy.utils.assertions.check_shapes_broadcastable(x.shape, shape)
      # paddle doesn't accept 0 in shape and uses -1 instead
      shape = [-1 if dim == 0 else dim for dim in shape]
      if x.ndim == 0:
          if len(shape) == 0:
              return x
          else:
              x = paddle_backend.expand_dims(x, axis=0)
      if x.ndim > len(shape):
          x = x.reshape([-1])
  
      if x.dtype in [paddle.complex64, paddle.complex128]:
          x_real = paddle.broadcast_to(x.real(), shape)
          x_imag = paddle.broadcast_to(x.imag(), shape)
          return paddle.complex(x_real, x_imag)
      else:
          return paddle.broadcast_to(x, shape)
  
imports: from typing import Optional, Union, Sequence, List
  import paddle
  import ivy.functional.backends.paddle
  import numpy
  import ivy
  from ivy.func_wrapper import with_unsupported_dtypes
  from ivy.functional.ivy.data_type import _handle_nestable_dtype_info
  from .None import backend_version
label_desc: Use image node_id 3 for calling a global function with example usage: broadcast_to(shape) and returns: paddle, paddle, x