code: def parse_return(y0, ys, extra_solver_state, extra, logqp):
      if logqp:
          ys, log_ratio = ys.split(
              split_size=(y0.size(1) - 1, 1), dim=2
          )
          log_ratio_increments = torch.stack(
              [
                  log_ratio_t_plus_1 - log_ratio_t
                  for log_ratio_t_plus_1, log_ratio_t in zip(
                      log_ratio[1:], log_ratio[:-1]
                  )
              ],
              dim=0,
          ).squeeze(dim=2)
  
          if extra:
              return ys, log_ratio_increments, extra_solver_state
          else:
              return ys, log_ratio_increments
      else:
          if extra:
              return ys, extra_solver_state
          else:
              return ys
  
file_path: torchsde/torchsde/_core/sdeint.py
imports: import warnings
  import torch
  from .None import base_sde
  from .None import methods
  from .None import misc
  from .._brownian import BaseBrownian, BrownianInterval
  from ..settings import LEVY_AREA_APPROXIMATIONS, METHODS, NOISE_TYPES, SDE_TYPES
  from ..types import Any, Dict, Optional, Scalar, Tensor, Tensors, TensorOrTensors, Vector
label_desc: Use image node_id 3 for calling a global function with example usage: parse_return(y0, ys, extra_solver_state, extra, logqp) and returns: ys,  log_ratio_increments,  extra_solver_state, ys,  log_ratio_increments, ys,  extra_solver_state, ys