#! 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