Serebrenik, Schreye, 2003. Inference of termination conditions for numerical loops in Prolog.