1*fbf0f488SstephanWITH RECURSIVE
2*fbf0f488Sstephan  xaxis(x) AS (VALUES(-2.0) UNION ALL SELECT x+0.05 FROM xaxis WHERE x<1.2),
3*fbf0f488Sstephan  yaxis(y) AS (VALUES(-1.0) UNION ALL SELECT y+0.1 FROM yaxis WHERE y<1.0),
4*fbf0f488Sstephan  m(iter, cx, cy, x, y) AS (
5*fbf0f488Sstephan    SELECT 0, x, y, 0.0, 0.0 FROM xaxis, yaxis
6*fbf0f488Sstephan    UNION ALL
7*fbf0f488Sstephan    SELECT iter+1, cx, cy, x*x-y*y + cx, 2.0*x*y + cy FROM m
8*fbf0f488Sstephan     WHERE (x*x + y*y) < 4.0 AND iter<28
9*fbf0f488Sstephan  ),
10*fbf0f488Sstephan  m2(iter, cx, cy) AS (
11*fbf0f488Sstephan    SELECT max(iter), cx, cy FROM m GROUP BY cx, cy
12*fbf0f488Sstephan  ),
13*fbf0f488Sstephan  a(t) AS (
14*fbf0f488Sstephan    SELECT group_concat( substr(' .+*#', 1+min(iter/7,4), 1), '')
15*fbf0f488Sstephan    FROM m2 GROUP BY cy
16*fbf0f488Sstephan  )
17*fbf0f488SstephanSELECT group_concat(rtrim(t),x'0a') as Mandelbrot FROM a;
18