parameters: (a, b, k, f, kappa, simplex_flag=False)
return_statement: return y
docstring: Goldschmidt method as presented in Catrina10,
docstring_summary: Goldschmidt method as presented in Catrina10,
docstring_tokens: Goldschmidt method as presented in Catrina10
function: def FPDiv(a, b, k, f, kappa, simplex_flag=False):
      """
          Goldschmidt method as presented in Catrina10,
      """
      theta = int(ceil(log(k/3.5) / log(2)))
      alpha = two_power(2*f)
      w = AppRcr(b, k, f, kappa, simplex_flag)
      x = alpha - b * w
  
      y = a * w
      y = TruncPr(y, 2*k, f, kappa)
  
      for i in range(theta):
          y = y * (alpha + x)
          x = x * x
          y = TruncPr(y, 2*k, 2*f, kappa)
          x = TruncPr(x, 2*k, 2*f, kappa)
  
      y = y * (alpha + x)
      y = TruncPr(y, 2*k, 2*f, kappa)
      return y
function_tokens: def FPDiv ( a , b , k , f , kappa , simplex_flag = False ) : theta = int ( ceil ( log ( k / 3.5 ) / log ( 2 ) ) ) alpha = two_power ( 2 * f ) w = AppRcr ( b , k , f , kappa , simplex_flag ) x = alpha - b * w y = a * w y = TruncPr ( y , 2 * k , f , kappa ) for i in range ( theta ) : y = y * ( alpha + x ) x = x * x y = TruncPr ( y , 2 * k , 2 * f , kappa ) x = TruncPr ( x , 2 * k , 2 * f , kappa ) y = y * ( alpha + x ) y = TruncPr ( y , 2 * k , 2 * f , kappa ) return y