code: def _unequal_var_ttest_denom(v1, n1, v2, n2):
      vn1 = v1 / n1
      vn2 = v2 / n2
      with np.errstate(divide="ignore", invalid="ignore"):
          df = (vn1 + vn2) ** 2 / (
              vn1**2 / (n1 - 1) + vn2**2 / (n2 - 1)
          )
  
      # If df is undefined, variances are zero (assumes n1 > 0 & n2 > 0).
      # Hence it doesn't matter what df is as long as it's not NaN.
      df = da.where(da.isnan(df), 1, df)  # XXX: np -> da
      denom = da.sqrt(vn1 + vn2)
      return df, denom
  
imports: from __future__ import annotations
  import math
  from collections import namedtuple
  import numpy
  import dask.array
  from dask import delayed
  from dask.array.ufunc import wrap_elemwise
  from dask.utils import derived_from
  from scipy import special
  from scipy.stats import distributions
label_desc: Use image node_id 14 for calling a global function with example usage: _unequal_var_ttest_denom(v1, n1, v2, n2) and returns: df,  denom