code: def continued_fraction_arctan(x, n=100, dtype=tf.float32):
      """Continued fraction Approximation to the arctan function
  
          Approximate solution to arctan(x), atan is not a natively supported tflite
          op (or a flex op). n is the number of iterations, the high the more accurate.
          Accuracy is poor when the argument is large.
          https://functions.wolfram.com/ElementaryFunctions/ArcTan/10/
  
      Args:
          x (tensor) - argument tensor to calculate arctan of
          n (int) - The number of iterations, large means arctan is more accurate
          dtype (tf.dtype) - tf.float32, or tf.float64
  
      Returns
          arctan(x) (tensor) - approx value of arctan(x)
      """
      x = tf.cast(x, dtype)
      x2 = x * x
      d = tf.zeros(tf.shape(x), dtype) + tf.cast(n * 2 + 1, dtype)
      for k in tf.range(n, 0.0, -1.0, dtype):
          f = k * 2.0 - 1.0
          d = f + k * k * x2 / d
      return x / d
  
file_path: kapre/kapre/tflite_compatible_stft.py
imports: import math
  import tensorflow
  import numpy
label_desc: Use image node_id 5 for calling a global function with example usage: continued_fraction_arctan(x, n, dtype) and returns: unknown