will potentially give the wrong value if it underflows/overflows.