Why all the extra math instead of just checking the bits?
Code:
#define killerdomination (1 << 0)
#define assisterdomination (1 << 1)
#define killerrevenge (1 << 2)
#define assisterrevenge (1 << 3)
#define firstblood (1 << 4)
#define feigndeath (1 << 5)
Ex.
if (deathflags & firstblood) {
//firstblood
}