code: def invpartrans(p, phi, new):
      if p > 100:
          raise ValueError("can only transform 100 pars in arima0")
  
      new = phi[:p].copy()
      work = new.copy()
      for k in range(p - 1):
          j = p - k - 1
          a = new[j]
          for k in range(j):
              work[k] = (new[k] + a * new[j - k - 1]) / (1 - a * a)
          for k in range(j):
              new[k] = work[k]
      for j in range(p):
          new[j] = math.atanh(new[j])
  
imports: import math
  import warnings
  from collections import namedtuple
  from functools import partial
  from typing import Optional, Dict, Union, Tuple
  import numpy
  import pandas
  import statsmodels.api
  from numba import njit
  from scipy.optimize import minimize
  from scipy.stats import norm
  from .mstl import mstl
  from .utils import CACHE, NOGIL
label_desc: Use image node_id 6 for calling a global function with example usage: invpartrans(p, phi, new) without return types