Task

(Given an equal-probability generator of one of the integers 1 to 5
as dice5),   create dice7 that generates a pseudo-random integer from
1 to 7 in equal probability using only dice5 as a source of random
numbers,   and check the distribution for at least one million calls using the function created in   Simple Random Distribution Checker.


Implementation suggestion:
dice7 might call dice5 twice, re-call if four of the 25
combinations are given, otherwise split the other 21 combinations
into 7 groups of three, and return the group index from the rolls.

(Task adapted from an answer here)

  [ 5 random 1+ ]   is dice5 ( --> n )
 
  [ dice5 5 * 
    dice5 + 6 -
    [ table 
      0 0 0 0 1
      1 1 2 2 2 
      3 3 3 4 4
      4 5 5 5 6
      6 6 7 7 7 ]
     dup 0 = iff 
       drop again ] is dice7 ( --> n )