ishkabible, on 27 May 2012 - 09:49 AM, said:
Quote
pow(x,y) == pow(c,d) will always return true if the resulting numbers are really equal.
whatever proof gave you that answer, I would think allows this to happen. I wasn't aware that that was a true statement but what ever reasoning allows for that gives the answer to your question.
Why? Let's say pow(x,y) == pow(c,d) would always return true. No matter what x,y,c and d are. Always true. Clearly the statement "pow(x,y) == pow(c,d) will always return true if the resulting numbers are really equal" would still be true, but the program would most certainly not produce the desired output.
What I'm trying to get at is that pow(a,

So if for example for some c and d c^d would be 2^53+1, you'd get pow(2,53) == pow(c, d) being true even though it should be false, and your count would be off by one. And I'm wondering whether there's a mathematical reason that nothing like that happens here or whether it's just chance.
This post has been edited by sepp2k: 27 May 2012 - 01:06 AM