upvotes / age_in_hurs^1.6 * lot_of_penalties
The 1.6 is call gravity and may change from time to time without warning. I'm not even sure that it's the current number. It was 1.6 a long time ago.
The lot_of_penalties are added automatically by the software, or manually by the mods, or indirectly by the users if enough users flag a post
Also, sometimes the mods give a second chance to some post they like and they appear near the bottom of the front page for a short time.
Reliability of the source: I read it on HN...