Basic code using millis() function to calculate time elapsed
if (Time_Elapsed &gt;&gt; Snooze_Time)


In C-style languages, &gt;&gt; and &lt;&lt; are bit-shift operators (C++ which Arduino technically is adds some excessively clever overloading for additional uses, but that's not relevant here)

The comparison operators are &lt;, &gt;, etc.

On traditional platform's Arduino's millis() overflows after around 50 days, though there are some 3rd party platforms where it happens much, much faster.  The tie-in to 65536 would be related to the size of an int on typical ATmega compilers, to the extant that your program changes there it only a curious result of the fact that you accidentally used an entirely inappropriate operator for your test.

There are existing questions on Arduino SE which discuss how to perform overflow safe timing.