in reply to Probability sum of random variables

The distribution of the sum of two independant random variables is (IIRC) the convolution product of the distributions. From that, it's rather simple to compute it :
use List::Util qw/sum/; my @a; # holds the known distribution sub conv { my ($n) = @_; return sum map { ($_ < @a) ? ((($n - $_) < @a) ? $a[$_] * $a[$n - $_] : 0) : 0 } 0 .. $n; }
If you want the distribution of the sum of n random variables, you can adapt this code to accept two distributions and recursively compute the n-th convolution product of @a.