Could this formula incur a rounding error that causes the +0.5f shift to not work? In other words, could the value ever be, say, -0.00000001?

Is it cleaner to use some sort of mathf absolute value function?

EDIT: Another idea - could one use an unsigned int to get a range of roughly 4 billion and divide the range by that factor at the end to get precise values?

Or is all this just pointless considering you can use a simple if statement to correct the value to 0 if it dips below? What is proper practice vs. practical practice?