egison-4.2.0: sample/math/number/gaussian-primes.egi
map (\(x, y) -> (x + y * i, (x + y * i) * (x - y * i)))
(matchAll take 10 nats as set integer with
| $x :: $y :: _ -> (x, y))
[(1 + i, 2), (1 + 2 * i, 5), (2 + i, 5), (1 + 3 * i, 10), (2 + 2 * i, 8),
(3 + i, 10), (1 + 4 * i, 17), (2 + 3 * i, 13), (3 + 2 * i, 13), (4 + i, 17),
(1 + 5 * i, 26), (2 + 4 * i, 20), (3 + 3 * i, 18), (4 + 2 * i, 20),
(5 + i, 26), (1 + 6 * i, 37), (2 + 5 * i, 29), (3 + 4 * i, 25),
(4 + 3 * i, 25), (5 + 2 * i, 29), (6 + i, 37), (1 + 7 * i, 50),
(2 + 6 * i, 40), (3 + 5 * i, 34), (4 + 4 * i, 32), (5 + 3 * i, 34),
(6 + 2 * i, 40), (7 + i, 50), (1 + 8 * i, 65), (2 + 7 * i, 53),
(3 + 6 * i, 45), (4 + 5 * i, 41), (5 + 4 * i, 41), (6 + 3 * i, 45),
(7 + 2 * i, 53), (8 + i, 65), (1 + 9 * i, 82), (2 + 8 * i, 68),
(3 + 7 * i, 58), (4 + 6 * i, 52), (5 + 5 * i, 50), (6 + 4 * i, 52),
(7 + 3 * i, 58), (8 + 2 * i, 68), (9 + i, 82), (1 + 10 * i, 101),
(2 + 9 * i, 85), (3 + 8 * i, 73), (4 + 7 * i, 65), (5 + 6 * i, 61),
(6 + 5 * i, 61), (7 + 4 * i, 65), (8 + 3 * i, 73), (9 + 2 * i, 85),
(10 + i, 101), (2 + 10 * i, 104), (3 + 9 * i, 90), (4 + 8 * i, 80),
(5 + 7 * i, 74), (6 + 6 * i, 72), (7 + 5 * i, 74), (8 + 4 * i, 80),
(9 + 3 * i, 90), (10 + 2 * i, 104), (3 + 10 * i, 109), (4 + 9 * i, 97),
(5 + 8 * i, 89), (6 + 7 * i, 85), (7 + 6 * i, 85), (8 + 5 * i, 89),
(9 + 4 * i, 97), (10 + 3 * i, 109), (4 + 10 * i, 116), (5 + 9 * i, 106),
(6 + 8 * i, 100), (7 + 7 * i, 98), (8 + 6 * i, 100), (9 + 5 * i, 106),
(10 + 4 * i, 116), (5 + 10 * i, 125), (6 + 9 * i, 117), (7 + 8 * i, 113),
(8 + 7 * i, 113), (9 + 6 * i, 117), (10 + 5 * i, 125), (6 + 10 * i, 136),
(7 + 9 * i, 130), (8 + 8 * i, 128), (9 + 7 * i, 130), (10 + 6 * i, 136),
(7 + 10 * i, 149), (8 + 9 * i, 145), (9 + 8 * i, 145), (10 + 7 * i, 149),
(8 + 10 * i, 164), (9 + 9 * i, 162), (10 + 8 * i, 164), (9 + 10 * i, 181),
(10 + 9 * i, 181), (10 + 10 * i, 200)]
filter
(\(_, n) -> isPrime n)
(map (\(x, y) -> (x + y * i, (x + y * i) * (x - y * i)))
(matchAll take 10 nats as set integer with
| $x :: $y :: _ -> (x, y)))
[(1 + i, 2), (1 + 2 * i, 5), (2 + i, 5), (1 + 4 * i, 17), (2 + 3 * i, 13),
(3 + 2 * i, 13), (4 + i, 17), (1 + 6 * i, 37), (2 + 5 * i, 29),
(5 + 2 * i, 29), (6 + i, 37), (2 + 7 * i, 53), (4 + 5 * i, 41),
(5 + 4 * i, 41), (7 + 2 * i, 53), (1 + 10 * i, 101), (3 + 8 * i, 73),
(5 + 6 * i, 61), (6 + 5 * i, 61), (8 + 3 * i, 73), (10 + i, 101),
(3 + 10 * i, 109), (4 + 9 * i, 97), (5 + 8 * i, 89), (8 + 5 * i, 89),
(9 + 4 * i, 97), (10 + 3 * i, 109), (7 + 8 * i, 113), (8 + 7 * i, 113),
(7 + 10 * i, 149), (10 + 7 * i, 149), (9 + 10 * i, 181), (10 + 9 * i, 181)]