code: def np_descent(x, d, mu, N_epochs):
      N = len(x)
      f = 2 / N
  
      y = np.zeros(N)
      err = np.zeros(N)
      w = np.zeros(2)
      grad = np.empty(2)
  
      for _ in it.repeat(None, N_epochs):
          # np.subtract(d, y, out=err)
          err[:] = d - y
          grad[:] = f * np.sum(err), f * (np.dot(err, x))
          w += mu * grad
          y = w[0] + w[1] * x
      return w
  
label_desc: Use image node_id 1 for calling a global function with example usage: np_descent(x, d, mu, N_epochs) and returns: w