When used as a ad-hoc prefix it is usually stressed as an independent word, and has the long pronunciation. So "Read" is a word and you can add a prefix "re" to make "re-read" In spelling a hyphen could be used in this word.
When the "re" is part of word, but not added to an existing one it follows the stress in the new word, and if unstressed will tend to have the short pronunciation. So "retreat" does not mean "treat again" and "recall" does not mean "call again". In these words "re" is not an independent part of the word. You would not use a hyphen.
I called John this morning. He wasn't in so I re-called him this evening.
(That is a bit weird you wouldn't normally say that, but if you did you would stress /ri:/)
If I recall correctly...
(This means "remember", not "call again" and the stress is on call.)