I am using a formula to calculate a date in one field, and then trying to use another formula field to determine whether a contract is current, future, or expired using that date and another manually entered date field. The field I'm using to determine if the range returns the wrong results if I use the calculated expiration date field, but if I use a manually entered field with that same date, the calculated range returns correctly. 
ExpDate:
DATETIME_FORMAT( DATEADD( DATEADD( LIC__EffDate, {Term (Mo)}, "months"),-1, 'DAYS'), 'M/DD/YYYY')
ContractRange:
IF( ExpDate > TODAY(), IF( LIC__EffDate > TODAY(), "Future", "Current"), "Expired" )
ContractRange copy:
IF( LIC_ExpDate > TODAY(), IF( LIC__EffDate > TODAY(), "Future", "Current"), "Expired" )
Is there something wrong in my ExpDate formula, or is there an issue with using a calculated date in a date range? Or am I just doing something else totally wrong?