3BR6NSGOYSWGFSMQZGMWCCEKGJVLICBXCKCZ454PQ3E46OUVTQ7QC floorLog :: (Num a, Bits a, Num b) => a -> bfloorLog 0 = -1floorLog n = 1 + floorLog (n .>>. 1)
floorLog :: (Bits a, Num b) => a -> bfloorLog n| n == zeroBits = -1| otherwise = 1 + floorLog (n .>>. 1)