@rjalex: your understanding is correct.
The algorithm first checks if the current time is between start time and end time (inclusive). If so, it then checks if the current time minus start time is a multiple of interval time (i.e. if (current time – start time) / interval is an integer, 0 included). If so, the program is scheduled to run.