input: Write a function to perform sentiment analysis on text using nltk and SentimentIntensityAnalyzer.
  assert sentiment_analysis("I love sunny days. They make me feel so happy and energetic.") == "The sentiment score of the text is Positive with 0.7003."
  assert sentiment_analysis("I hate it when it rains all day. It makes me feel so gloomy.") == "The sentiment score of the text is Negative with -0.5719."
  assert sentiment_analysis("The weather today is okay. It's neither too good nor too bad.") == "The sentiment score of the text is Neutral with 0.0."
output: def sentiment_analysis(text):
      from nltk.sentiment.vader import SentimentIntensityAnalyzer
      import nltk
      nltk.download('vader_lexicon')
      
      sia = SentimentIntensityAnalyzer()
      sentiment_dict = sia.polarity_scores(text)
      
      compound_score = sentiment_dict['compound']
      
      if compound_score >= 0.05:
          sentiment = "Positive"
      elif compound_score <= -0.05:
          sentiment = "Negative"
      else:
          sentiment = "Neutral"
      
      return f"The sentiment score of the text is {sentiment} with {compound_score:.4f}."