def METHOD_NAME(iter, grad):
    norm, grad = clip_grad_norm_np(
        grad, clip_grad_max_norm, clip_grad_norm_type
    )
    grad = grad + weight_decay * x
    lr = learning_rate / (1 + (iter - 1) * lr_decay)
    s = st + grad * grad
    param = x - lr / (np.sqrt(s) + eps) * grad
    return (param, s)