Steven Schveighoffer wrote:
> J�r�me M. Berger Wrote:
> 
>> J�r�me M. Berger wrote:
>>>     OK, I found a solution that is optimal in over 99% of the cases
>>> (99.195% to be precise), while still being fast (because it avoids
>>> looping over the bits):
>>>
>>      I've run my function and Andrei's on all possible min, max pairs in
>> 0..299 without checking, just for the timing. On my computer (Athlon
>> X2 64 @2GHz), my function took 50s and Andrei's took 266s. The
>> difference should be even bigger for larger numbers.
> 
> Can I ask, what is the point of having a non-exact solution (unless you are 
> just doing this for fun)?
> 
> We are talking about range propagation, a function of the compiler, not a 
> function of the compiled program.  Therefore, slower but more exact functions 
> should be preferred, since they only affect the compile time.  Note that you 
> will only need to do this range propagation on lines that "or" two values 
> together, and something that reduces the runtime of the compiler by 216 
> seconds, but only when compiling enough code to have over 8 billion 'or' 
> operations in it (300^4), I don't think is really that important.  Give me 
> the exact solution that prevents me from having to cast when the compiler can 
> prove it, even if the runtime of the compiler is slightly slower.
> 
        Funny you should say that given the current thread comparing the
speed of the D compiler to that of the Go compiler...

        We are talking about range propagation, a function of the compiler,
not a function of the compiled program. Since we can't get a 100%
accurate representation of the possible values anyway (even yours
might leave holes in the middle after all), then it might be better
to choose a faster, slightly less precise algorithm if the
difference is not too great. That's the difference between a
compiler and a full-fledged static code analysis an program prover.

        Anyway, the point is moot, I have a new version of my algorithm
with 100% precision and high speed.

                Jerome
-- 
mailto:jeber...@free.fr
http://jeberger.free.fr
Jabber: jeber...@jabber.fr

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to