2551443 is the length of the synodic month in seconds. The calculation being done converts the current time in seconds into a 512-wide integer range representing the lunar phase by offsetting from the lunar phase during the unix epoch.