You are setting precision higher than that of the input. This means some bits are effectively junk. As for assessing the condition number, one way is like so.
{vv, ss, ww} = SingularValueDecomposition[g];
sv = Diagonal[ss];
Length[sv]
sv[[1]]/sv[[-1]]
Out[16]= 100
Out[17]= 3.2296175965846435779*10^18
This tells you that computations will be effectively meaningless, insofar as they might lost 18 digits of precision when they only had around 16 to begin with,