А вам точно iftime нужен, а не gotoiftime? Возвращает данные, заданные после символа '?', если условие по совпадению с текущим временным промежутком - истина, иначе возвращает данные, заданные после символа ':' , пример понятный - IFTIME(*|mon|8-15|nov?goodtime:badtime)
математику уберите в GoSub(), а IfTime GotoIfTime () кормите результатом. Конструкция будет визуально легче и понятнее. Ну или присмотритесь к моему примеру выше (день-два назад) по использованию производственного календаря (isdayoff.ru) - там параметров много, может он вам и чётность проверит вернёт в результате сразу