#! perl -slw use strict; use Math::Random::MT qw[ rand ]; sub R(){ rand( 0xFFFFFFFF ) } our $N ||= 1000; my $t = 0; for ( 1 .. $N ) { $t += unpack '%32b*', pack 'V', R & R & R & R & R; } print $t / $N; __END__ C:\test>junk7 1.029 C:\test>junk7 1.019 C:\test>junk7 1.014 C:\test>junk7 1.031 C:\test>junk7 0.985 C:\test>junk7 0.964 #### C:\test>junk7 30.979 C:\test>junk7 31.028 C:\test>junk7 31.023 #### 00 0.00% => 0 1 3.12% => R & R & R & R & R 2 6.25% => R & R & R & R 3 9.37% => ( R | R ) & R & R & R 4 12.50% => R & R & R 5 15.62% => ( R & R | R ) & R & R 6 18.75% => (R | R) & R & R 7 21.87% => ( R & R | R & R ) & R 8 25.00% => R & R 9 28.12% => (R & R & R | R ) & R ## Originally omitted. 10 31.25% => ( R & R | R ) & R 11 34.37% => ( ( R | R ) & R | R ) & R 12 37.50% => ( R | R ) & R 13 40.62% => ( R & R | R | R ) & R 14 43.75% => R & R | R & R 15 46.87% => ( R | R | R | R ) & R 16 50.00% => R 17 53.12% => R & R & R & R | R 18 56.25% => R & R & R | R 19 59.37% => R & R & ( R | R ) | R 20 62.50% => R & R | R 21 65.62% => ( R & R | R ) & R | R ## By [psini] 22 68.75% => R & R | R | R ## By [psini] 23 71.87% => ( R & R | R & R ) | R ## By [hawtin] 24 75.00% => R | R 25 78.12% => R & R & R | R | R 26 81.25% => R & R | R | R 27 84.37% => ( R | R ) & R | R | R ## By [psini] 28 87.50% => R | R | R 29 90.62% => R & R | R | R | R 30 93.75% => R | R | R | R 31 96.87% => R | R | R | R | R 32 100.00% => 0xffffffff