Alright, so the available criticisms of the entire thing are rather obvious to me, but I feel like making things clear to the audience. Don't take this too critically Steve - it's all friendly banter and you already know what I'm about to throw. Some people just need to see two different attitudes duke it out publicly. So how do I even start?
Regarding your first code box, I almost thought you COMPLETELY misunderstood what was going on, and then I noticed the 4 blank lines after the "main" part of your program, so then I scrolled down beyond the visibility of the code box, and saw the rest. I only feel like people with something to hide tend to do this on purpose - I'm sure it was an accident.
Anyway, I finally spot the nuts and bolts of this program (onto code box 2 now) - only to find a bunch of looping and temp variables. This means you cannot compare what you're doing to my "one shot" methods that do the entire estimation in one iteration. Definitely my fault for not starting my own thread on that. If you want a real apples-to-apples comparison, you need to square yourself (second box) against my ITERATIVE methods. Unfortunately the only one of those I posted here was the Babylonian method - and it turns out that is 90% what you're doing. Look at your line:
... That IS the Babylonian method, atomically. Even if you implement it poorly, it's gonna eventually work. (This sentiment absolutely echoes what was going on at the other thread.) Next, if you want anyone to believe that
is the best next thing to do, you'll need to explain your reasoning properly. This might entail writing those dreaded "scribbled notes" though.
Properly detailing your work is a cultural obligation. Why? Almost nothing within reach in the world is undiscovered. Every trick and technique has been already been named. Most attempts to find something new are mere rediscoveries of something already known. (Sometimes you realize this with pleasure, other times in anger.) The point is, we always try to match our discoveries onto the existing world, i.e. "here is Heron's method", "here is what the Babylonians did", or "this is Newton's method". If you Wiki this very topic you'll get enough responses and techniques to fill many books.
What I'm saying is "Steve's Method" might not exist, and until we know what's going on with it, should only be regarded as a pale implementation of what is already known. It's up to the author to either (i) find the pre-existing idea it resembles and duly assign credit, or (ii) write up your work nicely if it's suspected to be novel. Good ideas should not just be "trapped" in code.
I know, I know, here it comes:
"But it works for me and my needs and I'm going to be lazy about points (i) and (ii)." Fine, but this the attitude is of astrologers and alchemists.