F modifier(Float x) -> Float R I x < 0.5 {2 * (.5 - x)} E 2 * (x - .5) F modified_random_distribution((Float -> Float) modifier, Int n) -> [Float] [Float] d L d.len < n V prob = random:() I random:() < modifier(prob) d.append(prob) R d V data = modified_random_distribution(modifier, 50'000) V bins = 15 DefaultDict[Int, Int] counts L(d) data counts[d I/ (1 / bins)]++ V mx = max(counts.values()) print(" BIN, COUNTS, DELTA: HISTOGRAM\n") Float? last L(b, count) sorted(counts.items()) V delta = I last == N {‘N/A’} E String(count - last) print(‘ #2.2, #4, #4: ’.format(Float(b) / bins, count, delta)‘’(‘#’ * Int(40 * count / mx))) last = count