On the latest utility where I'm making changes: 86% according to coverage logger.
And that's aborting the program part way through because I was after the performance bottlenecks and not the whole coverage test.
Practically, as much as possible without spending disproportionately more time on the test cases than it took to write the code.
If there are NO test cases for a piece of code I've inherited, then it takes longer and there may be loss coverage. I will test my changes - but not necessarily the original author's code.
I will however check the output before and after to ensure all I've done is speeded it up and not changed functionality :)