Last updated: 2026-09-26

U
Undergraduate level

Mandelbrot Set: escape-time rendering with real-axis symmetry

For new readers

An interactive, zoomable Mandelbrot fractal renderer running live below, computed entirely by real PatLang code compiled to WebAssembly (not a JavaScript version with PatLang just narrating). Drag to pan, scroll to zoom. The second paragraph explains a specific speed optimisation (skipping half the work using the fractal's own mirror symmetry) โ€” worth reading if you're curious why the timing readout changes as you pan, but not required to just play with the demo.

Overview & Architecture

A classic for a reason: an escape-time Mandelbrot renderer, compiled from real PatLang source to WebAssembly and run live below โ€” every pixel's iteration count is genuine PatLang computation, not a JS reimplementation with PatLang narrating it. Pan by dragging the canvas; zoom by scrolling over it (zooms toward the cursor, not just the centre).

The one classic optimisation this demo doesn't skip: the Mandelbrot set is symmetric about the real axis โ€” a point c and its complex conjugate always have identical escape behaviour, since squaring a complex number and its conjugate produces the same magnitude at every iteration. Whenever the current view is centred exactly on the real axis (cy == 0 โ€” the default view, and where you land after "Reset view"), only the top half of the grid is actually iterated; the bottom half is copied directly from it, for roughly half the work. Panning away from the real axis breaks the exact pixel-for-pixel mirroring a screen row needs (row py's complex-plane offset and row h-1-py's are only exact negatives of each other when the view's own vertical centre is zero), so the fast path is strictly gated on cy == 0 rather than applied unconditionally when it would silently produce a wrong picture off-axis. Watch the timing readout roughly double the moment you pan off the real axis, and roughly halve again the moment you scroll back to a view centred on it.conjugate: same real part, imaginary part flipped

PatLang source
# Mandelbrot set escape-time renderer, with the classic real-axis
# (y -> -y) symmetry exploited to halve the work: c and its complex
# conjugate always have identical escape behaviour, so whenever the
# current view is centered on the real axis (cy == 0) only the top half
# of the grid is actually iterated -- the bottom half is a direct copy.
# Panning off the real axis (cy != 0) breaks that exact pixel-for-pixel
# mirroring (row py's y-coordinate and row (h-1-py)'s are no longer
# exact negatives of each other once the view's own center is offset),
# so the symmetry fast path is only gated on cy == 0 rather than
# applied unconditionally.
#
# argv: [cx, cy, scale, max_iter] (all optional, sane defaults below).
# scale is the complex-plane distance spanned by one pixel -- smaller
# scale = more zoomed in. Output: "GRID" then H lines of W single-char
# palette-bucketed pixels, then "TIME" and the render time in ms.

make a function called mandel_palette returns p
  return "0123456789abcdefghijklmnopqrstuvwxyz"
end

make a function called mandel_bucket takes n, max_iter returns ch
  if n >= max_iter then
    return "."
  else
    let idx = to_num((n * 35) / max_iter)
    return substr(mandel_palette(), idx, 1)
  end
end

# Returns the escape-time iteration count for c = cx + cy*i (capped at
# max_iter for points that never escape the classic |z| > 2 bound).
make a function called mandel_iter takes cx, cy, max_iter returns n
  let x = 0
  let y = 0
  let n = 0
  let escaped = false
  while (n < max_iter) and (not escaped) do
    let x2 = x * x
    let y2 = y * y
    if x2 + y2 > 4 then
      let escaped = true
    else
      let xt = x2 - y2 + cx
      let yt = 2 * x * y + cy
      let x = xt
      let y = yt
      let n = n + 1
    end
  end
  return n
end

make a function called mandel_render_row takes cx, cy, scale, max_iter, w, h, py returns row
  let b = sb_new()
  # Pixel-CENTER sampling (py + 0.5, not py) is what makes row (h-1-py)
  # an exact mirror of row py when cy == 0 -- it's what makes offset(py)
  # and offset(h-1-py) exact negatives of each other for any h, not an
  # approximation that happens to look right.
  let y = cy + (py + 0.5 - h / 2) * scale
  let px = 0
  while px < w do
    let x = cx + (px + 0.5 - w / 2) * scale
    let n = mandel_iter(x, y, max_iter)
    sb_push(b, mandel_bucket(n, max_iter))
    let px = px + 1
  end
  return sb_str(b)
end

make a function called mandel_render takes cx, cy, scale, max_iter, w, h returns done
  let use_symmetry = cy == 0
  let half_h = h / 2
  let rows = []
  let py = 0
  while py < h do
    let need_compute = true
    if use_symmetry and (py >= half_h) then
      let need_compute = false
    end
    if need_compute then
      let row = mandel_render_row(cx, cy, scale, max_iter, w, h, py)
      let rows = list_push(rows, row)
    else
      let mirror_idx = h - 1 - py
      let rows = list_push(rows, rows[mirror_idx])
    end
    let py = py + 1
  end
  print("GRID")
  let i = 0
  while i < h do
    print(rows[i])
    let i = i + 1
  end
  return true
end

let cli_args = argv()
let cx = -0.5
let cy = 0
let scale = 0.0125
let max_iter = 80
if cli_args.length > 0 then
  let cx = to_num(cli_args[0])
end
if cli_args.length > 1 then
  let cy = to_num(cli_args[1])
end
if cli_args.length > 2 then
  let scale = to_num(cli_args[2])
end
if cli_args.length > 3 then
  let max_iter = to_num(cli_args[3])
end

let t0 = now_ms()
mandel_render(cx, cy, scale, max_iter, 240, 240)
let t1 = now_ms()
print("TIME")
print(t1 - t0)

Interpreted run on the build machine (pat --ir-run, default view):

Output (click to expand)
GRID
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111112222222221111111111111111111111111111100000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111112222222222222211111111111111111111111111111000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111122235333222222222111111111111111111111111111110000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111112222336333532222222211111111111111111111111111111100000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111122222233445332222222221111111111111111111111111111110000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111222222233344332222222222111111111111111111111111111111100000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111112222222223345333222222222211111111111111111111111111111110000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222223355443222222222221111111111111111111111111111111100000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111222222222223348753332222222222111111111111111111111111111111110000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111112222222222223348.54333333333322211111111111111111111111111111111100000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222233856d8433333335332221111111111111111111111111111111110000000000000000000000000000000000000000000
000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222223334456433333346432221111111111111111111111111111111111100000000000000000000000000000000000000000
000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111222222222222233333457644445964332222111111111111111111111111111111111110000000000000000000000000000000000000000
000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112222222222222233333357754567b56332222211111111111111111111111111111111111000000000000000000000000000000000000000
000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112222222222222333333345976a85433332222221111111111111111111111111111111111100000000000000000000000000000000000000
000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222223333333445677654333332222222111111111111111111111111111111111111000000000000000000000000000000000000
0000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112222222222222233333334445c6544333332222222211111111111111111111111111111111111100000000000000000000000000000000000
0000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222333333334458a8544333332222222221111111111111111111111111111111111110000000000000000000000000000000000
0000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111222222222222223333333345567o8544333333222222222111111111111111111111111111111111111000000000000000000000000000000000
0000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112222222222222233333333457778c7659333333222222222211111111111111111111111111111111111100000000000000000000000000000000
000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112222222222222223333333458a99hna7b6433333322222222222111111111111111111111111111111111110000000000000000000000000000000
00000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112222222222222223334a4444567as..fk99443333322222222222211111111111111111111111111111111111000000000000000000000000000000
000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111222222222222222333347l54456a.....b75444334432222222222221111111111111111111111111111111111100000000000000000000000000000
000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112222222222222223344967f55c878g....b76544586932222222222222211111111111111111111111111111111110000000000000000000000000000
0000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111222222222222222335679b98767sai.r..ua88655796333222222222222221111111111111111111111111111111111000000000000000000000000000
00000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222223334756bb8c9.q.......gd766a75433322222222222222211111111111111111111111111111111100000000000000000000000000
000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222333334458.gof...........9b788a533322222222222222221111111111111111111111111111111110000000000000000000000000
000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111222222222222222223333334457h..............dha.75533332222222222222222211111111111111111111111111111111000000000000000000000000
0000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222333333344569.................hc4433332222222222222222221111111111111111111111111111111100000000000000000000000
0000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111112222222222222222223333333345879f................854333333222222222222222222211111111111111111111111111111100000000000000000000000
0000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222233333333345e9ot...............d765333333322222222222222222221111111111111111111111111111110000000000000000000000
00000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222233333333333498.x................f996333333332222222222222222222111111111111111111111111111111000000000000000000000
000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222223333333333334569..................sa5333333333222222222222222222211111111111111111111111111111100000000000000000000
00000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111222222222222222222333333333333334445bb................e754433333333322222222222222222221111111111111111111111111111100000000000000000000
00000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222223333333333333333333333334445bm...............nbg54433333333332222222222222222222211111111111111111111111111110000000000000000000
0000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111222222222233333334333333333333333334444568e...............f754443333333333222222222222333322211111111111111111111111111111000000000000000000
0000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222334333335a5333333333333344444556dl..............h7554444333334333332222222233337332221111111111111111111111111111100000000000000000
0000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111112222222222223a874484467543333334755h44445555678.............n7665554444444e533333333333333335592222111111111111111111111111111100000000000000000
000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111122222222222223337aa5767.74433333447aa7555n76667789f..........l87766556e544468753333333333333335743222211111111111111111111111111110000000000000000
00000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111222222222222222333457978p765444334457ehl767.p78.8w.abdi......pdbabd8g.7ev7556ohk7433333333333334b533222221111111111111111111111111111000000000000000
000000000000000111111111111111111111111111111111111111111111111111111111111111111111111112222222222222222223333467df87655m444447ob..c79..wd.r..................g..9o.b6689def73333333333334b.733322221111111111111111111111111111000000000000000
00000000000000111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222223333457faied77lo6545567d..o9h..m........................k..a87.r.w77433333443334457c33332222111111111111111111111111111100000000000000
0000000000000011111111111111111111111111111111111111111111111111111111111111111111112222222222222222222222333359m77fogb9aoa655668....................................r.a...ei5444444o6854445a643442222111111111111111111111111111100000000000000
0000000000000111111111111111111111111111111111111111111111111111111111111111111111222222222222222222222222333357667e...tn.9766l.8b.........................................e7654444579sb55567767b62222211111111111111111111111111110000000000000
0000000000001111111111111111111111111111111111111111111111111111111111111111111222222222222222222222222223333334557do.....h.78k...........................................la8acv55557ga77jb78d75332222211111111111111111111111111111000000000000
0000000000001111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222223333334477al......b8.e.............................................h.vc558ea.x.acbfb774332222221111111111111111111111111111000000000000
000000000001111111111111111111111111111111111111111111111111111111111111112222222222222222222222222222222333333347jv.......b...................................................8767l.......i7676532222221111111111111111111111111111100000000000
00000000000111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222333333334ee........l....................................................q79.........f545332222221111111111111111111111111111100000000000
0000000000111111111111111111111111111111111111111111111111111111111112222222222222222222222222222222222233333334469ah.....s......................................................ab.......g75443322222222111111111111111111111111111110000000000
00000000001111111111111111111111111111111111111111111111111111111112222222222222222222222222222222222223333333444569s............................................................pd........76533322222222111111111111111111111111111110000000000
000000000111111111111111111111111111111111111111111111111111111112222222222222222222222222222222222222333333344445678adi..................................................................wa9a33322222222111111111111111111111111111111000000000
00000000011111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222233333444445577......................................................................eh8433322222222111111111111111111111111111111000000000
00000000111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222333334ag5556ef9.....................................................................gh54333322222222211111111111111111111111111111100000000
0000000011111111111111111111111111111111111111111111111111122222222222222222222222222222222222222223333454j7b6567..h..................................................................dt.7544333322222222211111111111111111111111111111100000000
00000000111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222333337b8.l88977a.....................................................................976544333332222222211111111111111111111111111111100000000
000000011111111111111111111111111111111111111111111111122222222222222222222222222222222222222222333333346a.hnc.a9.......................................................................8j544333333222222211111111111111111111111111111110000000
00000001111111111111111111111111111111111111111111111222333222222222222222222222222222222222223333333334c9cl....c........................................................................m656333333222222211111111111111111111111111111110000000
000000111111111111111111111111111111111111111111111222233433322222222222222222222222222222233333333333345e8e.............................................................................a8k8433333322222211111111111111111111111111111111000000
00000011111111111111111111111111111111111111111111222223394333222222222222222222222222233333333333333334456w.............................................................................h..h433333332222211111111111111111111111111111111000000
00000011111111111111111111111111111111111111111122222223334653333333333333333333333333333333333333333334456c................................................................................b443333473222211111111111111111111111111111111000000
0000011111111111111111111111111111111111111111122222222333474333333333333333353333333333333333333333334455679d............................................................................na65544445a3222221111111111111111111111111111111100000
00000111111111111111111111111111111111111111122222222222335.63333333333333333a43333333333333333333333345a77.f...............................................................................7679545ci3322221111111111111111111111111111111100000
000001111111111111111111111111111111111111112222222222223347443333333333333345c433333333333333333333345b.88.................................................................................8baja56n43322221111111111111111111111111111111100000
00001111111111111111111111111111111111111122222222222222348754333333333333348754333333333333333333334gf.efhf................................................................................c...a99757322221111111111111111111111111111111110000
0000111111111111111111111111111111111111122222222222222334588444334443333344e65443333333333333333333459.x........................................................................................jje64322221111111111111111111111111111111110000
0000111111111111111111111111111111111111222222222222222333467554844f54333345978654334443333333333334456d........................................................................................hh8763222221111111111111111111111111111111110000
0001111111111111111111111111111111111112222222222222222333356aaa97577444444567a97544459443333333334445678c......................................................................................a65r33222221111111111111111111111111111111111000
0001111111111111111111111111111111111122222222222222223333344557eb7d75f5444556bee8555e7544333333344445.9e....................................................................................djf.54333222221111111111111111111111111111111111000
000111111111111111111111111111111111122222222222222222333333444699haa7a65555678b.9667a7544433334444457hnf.....................................................................................e6543333222221111111111111111111111111111111111000
000111111111111111111111111111111112222222222222222223333333344567am.ac767767sst.y7678ib5554444444445ck.......................................................................................87433332222221111111111111111111111111111111111000
001111111111111111111111111111111122222222222222222233333333344568f..s.c77tl8av..k9989cv66e544444445579.........................................................................................443332222221111111111111111111111111111111111100
00111111111111111111111111111111122222222222222222223333333334557ej....d99d.nf...h..b..f7ad6544444556ia.......................................................................................a6544332222221111111111111111111111111111111111100
0011111111111111111111111111111122222222222222222223333333333497dd.....hc............s...9di65555555b..r......................................................................................b7655c32222221111111111111111111111111111111111100
001111111111111111111111111111122222222222222222223333333333445779j....l.................fsfaf5555567a........................................................................................l.v69h32222221111111111111111111111111111111111100
00111111111111111111111111111122222222222222222222333333333444566ec........................kbb6555667nk.........................................................................................p99432222221111111111111111111111111111111111100
011111111111111111111111111111222222222222222222233333333444455678ae..........................976666q...........................................................................................od9432222221111111111111111111111111111111111110
011111111111111111111111111112222222222222222222333333334b555e67d.............................e766677e........................................................................................a8n74332222221111111111111111111111111111111111110
0111111111111111111111111111222222222222222222233333333346b67898g..............................b7777i.........................................................................................d6433332222221111111111111111111111111111111111110
011111111111111111111111111222222222222222222333333333334567c.fi................................9777a.........................................................................................85433322222221111111111111111111111111111111111110
011111111111111111111111112222222222222222223344333333344456od..................................h888b..........................................................................................7643322222221111111111111111111111111111111111110
01111111111111111111111112222222222222222233335k4433333444567ry..................................a99d..........................................................................................a933222222221111111111111111111111111111111111110
0111111111111111111111112222222222222222233333575444334444668bk..................................kaap.........................................................................................or633222222221111111111111111111111111111111111110
11111111111111111111111222222222222222233333334665444555557e......................................baq.........................................................................................54333222222221111111111111111111111111111111111111
111111111111111111111122222222222222223333333345865556755667......................................qc.........................................................................................p73332222222221111111111111111111111111111111111111
1111111111111111111122222222222222223333333333445ae656967679o......................................e..........................................................................................73332222222221111111111111111111111111111111111111
11111122222211111122222222222222222333333333334457a778b8b779j......................................g........................................................................................7533322222222221111111111111111111111111111111111111
11122222222222222223332222222222233333333333334457c.deg..a9a.......................................k........................................................................................k433322222222221111111111111111111111111111111111111
11222222222222223353333333222222333333333333345557ik......cb...............................................................................................................................h4333322222222221111111111111111111111111111111111111
1222222222222233335333333333333333333333444445b669a........f..............................................................................................................................743333322222222221111111111111111111111111111111111111
12222222222223333344333333333433333333345754456b89e......................................................................................................................................f433333222222222221111111111111111111111111111111111111
2222223333223333356s5433333346444444434458566678ngp....................................................................................................................................l64433333222222222221111111111111111111111111111111111111
223333333334334347e.754444445765555555666g8787lc......................................................................................................................................7654333333222222222221111111111111111111111111111111111111
223333333334334347e.754444445765555555666g8787lc......................................................................................................................................7654333333222222222221111111111111111111111111111111111111
2222223333223333356s5433333346444444434458566678ngp....................................................................................................................................l64433333222222222221111111111111111111111111111111111111
12222222222223333344333333333433333333345754456b89e......................................................................................................................................f433333222222222221111111111111111111111111111111111111
1222222222222233335333333333333333333333444445b669a........f..............................................................................................................................743333322222222221111111111111111111111111111111111111
11222222222222223353333333222222333333333333345557ik......cb...............................................................................................................................h4333322222222221111111111111111111111111111111111111
11122222222222222223332222222222233333333333334457c.deg..a9a.......................................k........................................................................................k433322222222221111111111111111111111111111111111111
11111122222211111122222222222222222333333333334457a778b8b779j......................................g........................................................................................7533322222222221111111111111111111111111111111111111
1111111111111111111122222222222222223333333333445ae656967679o......................................e..........................................................................................73332222222221111111111111111111111111111111111111
111111111111111111111122222222222222223333333345865556755667......................................qc.........................................................................................p73332222222221111111111111111111111111111111111111
11111111111111111111111222222222222222233333334665444555557e......................................baq.........................................................................................54333222222221111111111111111111111111111111111111
0111111111111111111111112222222222222222233333575444334444668bk..................................kaap.........................................................................................or633222222221111111111111111111111111111111111110
01111111111111111111111112222222222222222233335k4433333444567ry..................................a99d..........................................................................................a933222222221111111111111111111111111111111111110
011111111111111111111111112222222222222222223344333333344456od..................................h888b..........................................................................................7643322222221111111111111111111111111111111111110
011111111111111111111111111222222222222222222333333333334567c.fi................................9777a.........................................................................................85433322222221111111111111111111111111111111111110
0111111111111111111111111111222222222222222222233333333346b67898g..............................b7777i.........................................................................................d6433332222221111111111111111111111111111111111110
011111111111111111111111111112222222222222222222333333334b555e67d.............................e766677e........................................................................................a8n74332222221111111111111111111111111111111111110
011111111111111111111111111111222222222222222222233333333444455678ae..........................976666q...........................................................................................od9432222221111111111111111111111111111111111110
00111111111111111111111111111122222222222222222222333333333444566ec........................kbb6555667nk.........................................................................................p99432222221111111111111111111111111111111111100
001111111111111111111111111111122222222222222222223333333333445779j....l.................fsfaf5555567a........................................................................................l.v69h32222221111111111111111111111111111111111100
0011111111111111111111111111111122222222222222222223333333333497dd.....hc............s...9di65555555b..r......................................................................................b7655c32222221111111111111111111111111111111111100
00111111111111111111111111111111122222222222222222223333333334557ej....d99d.nf...h..b..f7ad6544444556ia.......................................................................................a6544332222221111111111111111111111111111111111100
001111111111111111111111111111111122222222222222222233333333344568f..s.c77tl8av..k9989cv66e544444445579.........................................................................................443332222221111111111111111111111111111111111100
000111111111111111111111111111111112222222222222222223333333344567am.ac767767sst.y7678ib5554444444445ck.......................................................................................87433332222221111111111111111111111111111111111000
000111111111111111111111111111111111122222222222222222333333444699haa7a65555678b.9667a7544433334444457hnf.....................................................................................e6543333222221111111111111111111111111111111111000
0001111111111111111111111111111111111122222222222222223333344557eb7d75f5444556bee8555e7544333333344445.9e....................................................................................djf.54333222221111111111111111111111111111111111000
0001111111111111111111111111111111111112222222222222222333356aaa97577444444567a97544459443333333334445678c......................................................................................a65r33222221111111111111111111111111111111111000
0000111111111111111111111111111111111111222222222222222333467554844f54333345978654334443333333333334456d........................................................................................hh8763222221111111111111111111111111111111110000
0000111111111111111111111111111111111111122222222222222334588444334443333344e65443333333333333333333459.x........................................................................................jje64322221111111111111111111111111111111110000
00001111111111111111111111111111111111111122222222222222348754333333333333348754333333333333333333334gf.efhf................................................................................c...a99757322221111111111111111111111111111111110000
000001111111111111111111111111111111111111112222222222223347443333333333333345c433333333333333333333345b.88.................................................................................8baja56n43322221111111111111111111111111111111100000
00000111111111111111111111111111111111111111122222222222335.63333333333333333a43333333333333333333333345a77.f...............................................................................7679545ci3322221111111111111111111111111111111100000
0000011111111111111111111111111111111111111111122222222333474333333333333333353333333333333333333333334455679d............................................................................na65544445a3222221111111111111111111111111111111100000
00000011111111111111111111111111111111111111111122222223334653333333333333333333333333333333333333333334456c................................................................................b443333473222211111111111111111111111111111111000000
00000011111111111111111111111111111111111111111111222223394333222222222222222222222222233333333333333334456w.............................................................................h..h433333332222211111111111111111111111111111111000000
000000111111111111111111111111111111111111111111111222233433322222222222222222222222222222233333333333345e8e.............................................................................a8k8433333322222211111111111111111111111111111111000000
00000001111111111111111111111111111111111111111111111222333222222222222222222222222222222222223333333334c9cl....c........................................................................m656333333222222211111111111111111111111111111110000000
000000011111111111111111111111111111111111111111111111122222222222222222222222222222222222222222333333346a.hnc.a9.......................................................................8j544333333222222211111111111111111111111111111110000000
00000000111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222333337b8.l88977a.....................................................................976544333332222222211111111111111111111111111111100000000
0000000011111111111111111111111111111111111111111111111111122222222222222222222222222222222222222223333454j7b6567..h..................................................................dt.7544333322222222211111111111111111111111111111100000000
00000000111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222333334ag5556ef9.....................................................................gh54333322222222211111111111111111111111111111100000000
00000000011111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222233333444445577......................................................................eh8433322222222111111111111111111111111111111000000000
000000000111111111111111111111111111111111111111111111111111111112222222222222222222222222222222222222333333344445678adi..................................................................wa9a33322222222111111111111111111111111111111000000000
00000000001111111111111111111111111111111111111111111111111111111112222222222222222222222222222222222223333333444569s............................................................pd........76533322222222111111111111111111111111111110000000000
0000000000111111111111111111111111111111111111111111111111111111111112222222222222222222222222222222222233333334469ah.....s......................................................ab.......g75443322222222111111111111111111111111111110000000000
00000000000111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222333333334ee........l....................................................q79.........f545332222221111111111111111111111111111100000000000
000000000001111111111111111111111111111111111111111111111111111111111111112222222222222222222222222222222333333347jv.......b...................................................8767l.......i7676532222221111111111111111111111111111100000000000
0000000000001111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222223333334477al......b8.e.............................................h.vc558ea.x.acbfb774332222221111111111111111111111111111000000000000
0000000000001111111111111111111111111111111111111111111111111111111111111111111222222222222222222222222223333334557do.....h.78k...........................................la8acv55557ga77jb78d75332222211111111111111111111111111111000000000000
0000000000000111111111111111111111111111111111111111111111111111111111111111111111222222222222222222222222333357667e...tn.9766l.8b.........................................e7654444579sb55567767b62222211111111111111111111111111110000000000000
0000000000000011111111111111111111111111111111111111111111111111111111111111111111112222222222222222222222333359m77fogb9aoa655668....................................r.a...ei5444444o6854445a643442222111111111111111111111111111100000000000000
00000000000000111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222223333457faied77lo6545567d..o9h..m........................k..a87.r.w77433333443334457c33332222111111111111111111111111111100000000000000
000000000000000111111111111111111111111111111111111111111111111111111111111111111111111112222222222222222223333467df87655m444447ob..c79..wd.r..................g..9o.b6689def73333333333334b.733322221111111111111111111111111111000000000000000
00000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111222222222222222333457978p765444334457ehl767.p78.8w.abdi......pdbabd8g.7ev7556ohk7433333333333334b533222221111111111111111111111111111000000000000000
000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111122222222222223337aa5767.74433333447aa7555n76667789f..........l87766556e544468753333333333333335743222211111111111111111111111111110000000000000000
0000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111112222222222223a874484467543333334755h44445555678.............n7665554444444e533333333333333335592222111111111111111111111111111100000000000000000
0000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222334333335a5333333333333344444556dl..............h7554444333334333332222222233337332221111111111111111111111111111100000000000000000
0000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111222222222233333334333333333333333334444568e...............f754443333333333222222222222333322211111111111111111111111111111000000000000000000
00000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222223333333333333333333333334445bm...............nbg54433333333332222222222222222222211111111111111111111111111110000000000000000000
00000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111222222222222222222333333333333334445bb................e754433333333322222222222222222221111111111111111111111111111100000000000000000000
000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222223333333333334569..................sa5333333333222222222222222222211111111111111111111111111111100000000000000000000
00000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222233333333333498.x................f996333333332222222222222222222111111111111111111111111111111000000000000000000000
0000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222233333333345e9ot...............d765333333322222222222222222221111111111111111111111111111110000000000000000000000
0000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111112222222222222222223333333345879f................854333333222222222222222222211111111111111111111111111111100000000000000000000000
0000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222333333344569.................hc4433332222222222222222221111111111111111111111111111111100000000000000000000000
000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111222222222222222223333334457h..............dha.75533332222222222222222211111111111111111111111111111111000000000000000000000000
000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222333334458.gof...........9b788a533322222222222222221111111111111111111111111111111110000000000000000000000000
00000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222223334756bb8c9.q.......gd766a75433322222222222222211111111111111111111111111111111100000000000000000000000000
0000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111222222222222222335679b98767sai.r..ua88655796333222222222222221111111111111111111111111111111111000000000000000000000000000
000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112222222222222223344967f55c878g....b76544586932222222222222211111111111111111111111111111111110000000000000000000000000000
000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111222222222222222333347l54456a.....b75444334432222222222221111111111111111111111111111111111100000000000000000000000000000
00000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112222222222222223334a4444567as..fk99443333322222222222211111111111111111111111111111111111000000000000000000000000000000
000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112222222222222223333333458a99hna7b6433333322222222222111111111111111111111111111111111110000000000000000000000000000000
0000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112222222222222233333333457778c7659333333222222222211111111111111111111111111111111111100000000000000000000000000000000
0000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111222222222222223333333345567o8544333333222222222111111111111111111111111111111111111000000000000000000000000000000000
0000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222333333334458a8544333332222222221111111111111111111111111111111111110000000000000000000000000000000000
0000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112222222222222233333334445c6544333332222222211111111111111111111111111111111111100000000000000000000000000000000000
000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222223333333445677654333332222222111111111111111111111111111111111111000000000000000000000000000000000000
000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112222222222222333333345976a85433332222221111111111111111111111111111111111100000000000000000000000000000000000000
000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112222222222222233333357754567b56332222211111111111111111111111111111111111000000000000000000000000000000000000000
000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111222222222222233333457644445964332222111111111111111111111111111111111110000000000000000000000000000000000000000
000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222223334456433333346432221111111111111111111111111111111111100000000000000000000000000000000000000000
0000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222233856d8433333335332221111111111111111111111111111111110000000000000000000000000000000000000000000
000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111112222222222223348.54333333333322211111111111111111111111111111111100000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111222222222223348753332222222222111111111111111111111111111111110000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222223355443222222222221111111111111111111111111111111100000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111112222222223345333222222222211111111111111111111111111111110000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111222222233344332222222222111111111111111111111111111111100000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111122222233445332222222221111111111111111111111111111110000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111112222336333532222222211111111111111111111111111111100000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111122235333222222222111111111111111111111111111110000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111112222222222222211111111111111111111111111111000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111112222222221111111111111111111111111111100000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
TIME
651

Max iterations: 80

View

Drag to pan. Scroll to zoom (toward the cursor). Symmetry engages automatically whenever the view is centred on the real axis.

Interactive Demonstration

starting...

Graduate Attributes

Modelled on this page

  • Subject Specialist: Complex mathematical properties of the Mandelbrot set are applied to reduce computational workload by exploiting real-axis symmetry.
  • Digitally Fluent: A custom language is compiled to WebAssembly to deliver a high-performance interactive visualisation directly in the browser.
  • Reflective: The rationale behind a specific performance optimisation is explained alongside the implementation to clarify its impact on timing.

University of Reading Graduate Attributes framework.