I think the estimate is good. When I write 100 LOC, it probably won't be correct the first time. So I go back, fix, test and fix again. While having another look at it I notice that some things can be condensed or replaced with existing code. When I'm done I end up with half the code I started with. So: did I just spend an hour on 100 LOC or 50 LOC?