code: def _generate_regular_range(start, end, periods, offset):
      stride = offset.nanos
      if periods is None:
          b = Timedelta(start).value
          e = Timedelta(end).value
          e += stride - e % stride
      elif start is not None:
          b = Timedelta(start).value
          e = b + periods * stride
      elif end is not None:
          e = Timedelta(end).value + stride
          b = e - periods * stride
      else:
          raise ValueError(
              "at least 'start' or 'end' should be specified "
              "if a 'period' is given."
          )
  
      data = np.arange(b, e, stride, dtype=np.int64)
      return data
  
imports: from __future__ import division
  from datetime import timedelta
  import textwrap
  import warnings
  import numpy
  from pandas._libs import lib, tslibs
  from pandas._libs.tslibs import NaT, Timedelta, Timestamp, iNaT
  from pandas._libs.tslibs.fields import get_timedelta_field
  from pandas._libs.tslibs.timedeltas import array_to_timedelta64, parse_timedelta_unit, precision_from_unit
  import pandas.compat
  from pandas.util._decorators import Appender
  from pandas.core.dtypes.common import _NS_DTYPE, _TD_DTYPE, ensure_int64, is_datetime64_dtype, is_dtype_equal, is_float_dtype, is_integer_dtype, is_list_like, is_object_dtype, is_scalar, is_string_dtype, is_timedelta64_dtype, is_timedelta64_ns_dtype, pandas_dtype
  from pandas.core.dtypes.dtypes import DatetimeTZDtype
  from pandas.core.dtypes.generic import ABCDataFrame, ABCIndexClass, ABCSeries, ABCTimedeltaIndex
  from pandas.core.dtypes.missing import isna
  from pandas.core import ops
  from pandas.core.algorithms import checked_add_with_arr
  import pandas.core.common
  from pandas.tseries.frequencies import to_offset
  from pandas.tseries.offsets import Tick
  from .None import datetimelike
label_desc: Use image node_id 8 for calling a global function with example usage: _generate_regular_range(start, end, periods, offset) and returns: data