Neil Davies reports:
I note that you are using 'Double' as the abstraction of the current time of day (your 'now') - there is an issue with this - as time progresses the error increases and as you are basically subtracting a (small) difference between two (relatively large) numbers the absolute error increases."
Neil Davies reports: