code: def _stdtr_asymptotic_expansion(df, t, numpy_dtype):
      """Compute `stdtr(df, t)` using asymptotic expansion."""
      # This function provides a fast approximation of stdtr(df, t) for large value
      # of df. It is based on an asymptotic normalizing expansion of Cornish-Fisher
      # type [1, 2].
      one = numpy_dtype(1.0)
      two = numpy_dtype(2.0)
  
      coeffs1 = [1.00000000000000000000e0, 3.00000000000000000000e0]
  
      coeffs2 = [
          4.00000000000000022204e-1,
          3.29999999999999982236e0,
          2.40000000000000000000e1,
          8.55000000000000000000e1,
      ]
  
      coeffs3 = [
          3.04761904761904789396e-1,
          3.75238095238095237249e0,
          4.66714285714285708195e1,
          4.27500000000000000000e2,
          2.58750000000000000000e3,
          8.51850000000000000000e3,
      ]
  
      coeffs4 = [
          2.74285714285714299354e-1,
          4.49904761904761940627e0,
          7.84514285714285648510e1,
          1.11871071428571417528e3,
          1.23876000000000003638e4,
          1.01024550000000002910e5,
          5.59494000000000000000e5,
          1.76495962500000000000e6,
      ]
  
      coeffs5 = [
          2.65974025974025973795e-1,
          5.44969696969696926203e0,
          1.22202943722943729199e2,
          2.35472987012987005073e3,
          3.76250090259740245529e4,
          4.86996139285714307334e5,
          4.96087065000000037253e6,
          3.79785955499999970198e7,
          2.01505390875000000000e8,
          6.22437908625000000000e8,
      ]
  
      terms_coeffs = [
          [numpy_dtype(c) for c in coeffs]
          for coeffs in (coeffs1, coeffs2, coeffs3, coeffs4, coeffs5)
      ]
  
      df_minus_half = df - numpy_dtype(0.5)
      squared_z = df_minus_half * numeric.log1psquare(
          t * tf.math.rsqrt(df)
      )
      z = tf.math.sqrt(squared_z)
      # To avoid overflow when df is huge, we manipulate b and the denominator of
      # each term of the expansion in the logarithmic space.
      log_b = tf.math.log(numpy_dtype(48.0)) + tf.math.xlogy(
          two, df_minus_half
      )
  
      term_sign = one
      log_term_denominator = numpy_dtype(0.0)
      # We initialize the series with its first term.
      series_sum = z
      last_index = len(terms_coeffs) - 1
  
      # We evaluate the next five terms using a procedure based on Horner's method.
      for index, coeffs in enumerate(terms_coeffs):
          if index < last_index:
              log_term_denominator = log_term_denominator + log_b
          else:
              log_term_denominator = log_term_denominator + tf.math.log(
                  (numpy_dtype(0.43595) * squared_z + two) * squared_z
                  + tf.math.exp(log_b)
                  + numpy_dtype(537.0)
              )
  
          term_numerator = coeffs[0]
          for c in coeffs[1:]:
              term_numerator = c + term_numerator * squared_z
  
          term_numerator = term_numerator * z
          series_sum = series_sum + term_sign * tf.math.exp(
              tf.math.log(term_numerator) - log_term_denominator
          )
          term_sign = -one * term_sign
  
      return special_math.ndtr(tf.math.sign(t) * series_sum)
  
imports: import functools
  import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import identity
  from tensorflow_probability.python.bijectors import softplus
  from tensorflow_probability.python.distributions import distribution
  from tensorflow_probability.python.distributions import gamma
  from tensorflow_probability.python.internal import assert_util
  from tensorflow_probability.python.internal import custom_gradient
  from tensorflow_probability.python.internal import distribution_util
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import parameter_properties
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.internal import reparameterization
  from tensorflow_probability.python.internal import samplers
  from tensorflow_probability.python.internal import special_math
  from tensorflow_probability.python.internal import tensor_util
  from tensorflow_probability.python.math import generic
  from tensorflow_probability.python.math import gradient
  from tensorflow_probability.python.math import numeric
  from tensorflow_probability.python.math import special
label_desc: Use image node_id 4 for calling a global function with example usage: _stdtr_asymptotic_expansion(df, t, numpy_dtype) and returns: special_math