#define time_after(a,b)                \
        (typecheck(unsigned long, a) && \
         typecheck(unsigned long, b) && \
-        ((long)(b) - (long)(a) < 0))
+        ((long)((b) - (a)) < 0))
 #define time_before(a,b)       time_after(b,a)
 
 #define time_after_eq(a,b)     \
        (typecheck(unsigned long, a) && \
         typecheck(unsigned long, b) && \
-        ((long)(a) - (long)(b) >= 0))
+        ((long)((a) - (b)) >= 0))
 #define time_before_eq(a,b)    time_after_eq(b,a)
 
 /*
 #define time_after64(a,b)      \
        (typecheck(__u64, a) && \
         typecheck(__u64, b) && \
-        ((__s64)(b) - (__s64)(a) < 0))
+        ((__s64)((b) - (a)) < 0))
 #define time_before64(a,b)     time_after64(b,a)
 
 #define time_after_eq64(a,b)   \
        (typecheck(__u64, a) && \
         typecheck(__u64, b) && \
-        ((__s64)(a) - (__s64)(b) >= 0))
+        ((__s64)((a) - (b)) >= 0))
 #define time_before_eq64(a,b)  time_after_eq64(b,a)
 
 #define time_in_range64(a, b, c) \