-- Iterative Modulo Scheduling: An Algorithm for Software Pipelining Loops

Delay can be negative. The conservative delay defines the delay >= 0.

I think MinDist on page 66 should be defined as:
MinDist[i, j] = Delay(i, j),  if (distance(e) = 0),
              = Delay(i, j) - d*II, if (distance(e) > 0).

SCC has an elementary circuit that contains all its nodes. The largest delay
along the circuit is MII for the SCC.

Buget in IterativeSchedule() avoids infinite loop. ModuloSchedule() does
not guardrentee to give optimal sulution.

Shaojie Wang