uses floor() instead of drem() to identify even/odd intervals, fix from