Delay analysis in synchronous programs