code: def _addcmul(
      tensor: _torch.Tensor,
      a1: _typing.Union[float, int, _torch.Tensor],
      a2: _torch.Tensor,
      a3: _typing.Optional[_torch.Tensor] = None,
  ) -> _torch.Tensor:
      if a3 is None:
          value: _typing.Union[_torch.Tensor, float] = 1.0
          tensor1 = a1
          tensor2 = a2
      else:
          value = a1
          tensor1 = a2
          tensor2 = a3
      return tensor + (value * tensor1 * tensor2)
  
imports: import abc
  import collections
  import copy
  import math
  import typing
  import warnings
  import torch
  from .None import patch
  from .None import utils
label_desc: Use image node_id 10 for calling a global function with example usage: _addcmul(tensor, a1, a2, a3) and returns: unknown