PARSING src/test/java/dk/camelot64/kickc/test/kc/bitmap-bresenham.kc
byte* COLS = $d800;
byte* BGCOL = $d020;
byte* FGCOL = $d021;
byte* SCROLL = $d016;
byte* D018 = $d018;

byte* D011 = $d011;
byte RST8 = %10000000;
byte ECM =  %01000000;
byte BMM =  %00100000;
byte DEN =  %00010000;
byte RSEL =  %00001000;

byte* D016 = $d016;
byte MCM =  %00010000;
byte CSEL = %00001000;

byte* SCREEN = $400;
const byte* BITMAP = $2000;

const byte[256] plot_xlo;
const byte[256] plot_xhi;
const byte[256] plot_ylo;
const byte[256] plot_yhi;
const byte[256] plot_bit;

byte[] lines_x = { 60, 80, 110, 80, 60, 40, 10, 40, 60 };
byte[] lines_y = { 10, 40, 60, 80, 110, 80, 60, 40, 10 };
byte lines_cnt = 8;

void main() {
    *BGCOL = 0;
    *FGCOL = 0;
    *D011 = BMM|DEN|RSEL|3;
    *D018 = (byte)(((word)SCREEN/$40)|((word)BITMAP/$400));
    init_screen();
    init_plot_tables();
    do {
        lines();
    } while (true);
}

void lines() {
    for(byte l=0; l<lines_cnt;l++) {
        line(lines_x[l], lines_x[l+1], lines_y[l], lines_y[l+1]);
    }
}

void line(byte x0, byte x1, byte y0, byte y1) {
    byte xd;
    byte yd;
    if(x0<x1) {
        xd = x1-x0;
        if(y0<y1) {
            yd = y1-y0;
            if(yd<xd) {
                line_xdyi(x0, y0, x1, xd, yd);
            } else {
                line_ydxi(y0, x0, y1, yd, xd);
            }
        } else {
            yd = y0-y1;
            if(yd<xd) {
                line_xdyd(x0, y0, x1, xd, yd);
            } else {
                line_ydxd(y1, x1, y0, yd, xd);
            }
        }
    } else {
        xd = x0-x1;
        if(y0<y1) {
            yd = y1-y0;
            if(yd<xd) {
                line_xdyd(x1, y1, x0, xd, yd);
            } else {
                line_ydxd(y0, x0, y1, yd, xd);
            }
        } else {
            yd = y0-y1;
            if(yd<xd) {
                line_xdyi(x1, y1, x0, xd, yd);
            } else {
                line_ydxi(y1, x1, y0, yd, xd);
            }
        }
    }
}

void line_xdyi(byte x, byte y, byte x1, byte xd, byte yd) {
  byte e = yd>>1;
  do  {
      plot(x,y);
      x++;
      e = e+yd;
      if(xd<e) {
          y++;
          e = e - xd;
      }
  } while (x!=(x1+1));
}

void line_xdyd(byte x, byte y, byte x1, byte xd, byte yd) {
  byte e = yd>>1;
  do  {
      plot(x,y);
      x++;
      e = e+yd;
      if(xd<e) {
          y--;
          e = e - xd;
      }
  } while (x!=(x1+1));
}

void line_ydxi(byte y, byte x, byte y1, byte yd, byte xd) {
  byte e = xd>>1;
  do  {
      plot(x,y);
      y++;
      e = e+xd;
      if(yd<e) {
          x++;
          e = e - yd;
      }
  } while (y!=(y1+1));
}

void line_ydxd(byte y, byte x, byte y1, byte yd, byte xd) {
  byte e = xd>>1;
  do  {
      plot(x,y);
      y = y++;
      e = e+xd;
      if(yd<e) {
          x--;
          e = e - yd;
      }
  } while (y!=(y1+1));
}

void plot(byte x, byte y) {
    word plotter_x = { plot_xhi[x], plot_xlo[x] };  // Needs word arrays arranged as two underlying byte arrays to allow byte* plotter_x = plot_x[x]; - and eventually - byte* plotter = plot_x[x] + plot_y[y];
    word plotter_y = { plot_yhi[y], plot_ylo[y] };
    byte* plotter = plotter_x+plotter_y;
    *plotter = *plotter | plot_bit[x];
}

void init_plot_tables() {
    byte bits = $80;
    for(byte x : 0..255) {
        plot_xlo[x] = x&$f8;
        plot_xhi[x] = >BITMAP;
        plot_bit[x] = bits;
        bits = bits>>1;
        if(bits==0) {
          bits = $80;
        }
    }
    byte* yoffs = $0;
    for(byte y : 0..255) {
        plot_ylo[y] = y&$7 | <yoffs;
        plot_yhi[y] = >yoffs;
        if((y&$7)==7) {
            yoffs = yoffs + 40*8;
        }
    }
}

void init_screen() {
    for(byte* b = BITMAP; b!=BITMAP+$2000; b++) {
        *b = 0;
    }
    for(byte* c = SCREEN; c!=SCREEN+$400;c++) {
        *c = $14;
    }
}

Adding pre/post-modifier (byte) lines::l ← ++ (byte) lines::l
Adding pre/post-modifier (byte) line_xdyi::x ← ++ (byte) line_xdyi::x
Adding pre/post-modifier (byte) line_xdyi::y ← ++ (byte) line_xdyi::y
Adding pre/post-modifier (byte) line_xdyd::x ← ++ (byte) line_xdyd::x
Adding pre/post-modifier (byte) line_xdyd::y ← -- (byte) line_xdyd::y
Adding pre/post-modifier (byte) line_ydxi::y ← ++ (byte) line_ydxi::y
Adding pre/post-modifier (byte) line_ydxi::x ← ++ (byte) line_ydxi::x
Adding pre/post-modifier (byte) line_ydxd::y ← ++ (byte) line_ydxd::y
Adding pre/post-modifier (byte) line_ydxd::x ← -- (byte) line_ydxd::x
Adding pre/post-modifier (byte*) init_screen::b ← ++ (byte*) init_screen::b
Adding pre/post-modifier (byte*) init_screen::c ← ++ (byte*) init_screen::c

STATEMENTS
  (byte*) COLS ← (word/dword/signed dword) 55296
  (byte*) BGCOL ← (word/dword/signed dword) 53280
  (byte*) FGCOL ← (word/dword/signed dword) 53281
  (byte*) SCROLL ← (word/dword/signed dword) 53270
  (byte*) D018 ← (word/dword/signed dword) 53272
  (byte*) D011 ← (word/dword/signed dword) 53265
  (byte) RST8 ← (byte/word/signed word/dword/signed dword) 128
  (byte) ECM ← (byte/signed byte/word/signed word/dword/signed dword) 64
  (byte) BMM ← (byte/signed byte/word/signed word/dword/signed dword) 32
  (byte) DEN ← (byte/signed byte/word/signed word/dword/signed dword) 16
  (byte) RSEL ← (byte/signed byte/word/signed word/dword/signed dword) 8
  (byte*) D016 ← (word/dword/signed dword) 53270
  (byte) MCM ← (byte/signed byte/word/signed word/dword/signed dword) 16
  (byte) CSEL ← (byte/signed byte/word/signed word/dword/signed dword) 8
  (byte*) SCREEN ← (word/signed word/dword/signed dword) 1024
  (byte*) BITMAP ← (word/signed word/dword/signed dword) 8192
  (byte[256]) plot_xlo ← { fill( 256, 0) }
  (byte[256]) plot_xhi ← { fill( 256, 0) }
  (byte[256]) plot_ylo ← { fill( 256, 0) }
  (byte[256]) plot_yhi ← { fill( 256, 0) }
  (byte[256]) plot_bit ← { fill( 256, 0) }
  (byte[]) lines_x ← { (byte/signed byte/word/signed word/dword/signed dword) 60, (byte/signed byte/word/signed word/dword/signed dword) 80, (byte/signed byte/word/signed word/dword/signed dword) 110, (byte/signed byte/word/signed word/dword/signed dword) 80, (byte/signed byte/word/signed word/dword/signed dword) 60, (byte/signed byte/word/signed word/dword/signed dword) 40, (byte/signed byte/word/signed word/dword/signed dword) 10, (byte/signed byte/word/signed word/dword/signed dword) 40, (byte/signed byte/word/signed word/dword/signed dword) 60 }
  (byte[]) lines_y ← { (byte/signed byte/word/signed word/dword/signed dword) 10, (byte/signed byte/word/signed word/dword/signed dword) 40, (byte/signed byte/word/signed word/dword/signed dword) 60, (byte/signed byte/word/signed word/dword/signed dword) 80, (byte/signed byte/word/signed word/dword/signed dword) 110, (byte/signed byte/word/signed word/dword/signed dword) 80, (byte/signed byte/word/signed word/dword/signed dword) 60, (byte/signed byte/word/signed word/dword/signed dword) 40, (byte/signed byte/word/signed word/dword/signed dword) 10 }
  (byte) lines_cnt ← (byte/signed byte/word/signed word/dword/signed dword) 8
proc (void()) main()
  *((byte*) BGCOL) ← (byte/signed byte/word/signed word/dword/signed dword) 0
  *((byte*) FGCOL) ← (byte/signed byte/word/signed word/dword/signed dword) 0
  (byte~) main::$0 ← (byte) BMM | (byte) DEN
  (byte~) main::$1 ← (byte~) main::$0 | (byte) RSEL
  (byte~) main::$2 ← (byte~) main::$1 | (byte/signed byte/word/signed word/dword/signed dword) 3
  *((byte*) D011) ← (byte~) main::$2
  (word~) main::$3 ← ((word)) (byte*) SCREEN
  (word~) main::$4 ← (word~) main::$3 / (byte/signed byte/word/signed word/dword/signed dword) 64
  (word~) main::$5 ← ((word)) (byte*) BITMAP
  (word~) main::$6 ← (word~) main::$5 / (word/signed word/dword/signed dword) 1024
  (word~) main::$7 ← (word~) main::$4 | (word~) main::$6
  (byte~) main::$8 ← ((byte)) (word~) main::$7
  *((byte*) D018) ← (byte~) main::$8
  (void~) main::$9 ← call init_screen 
  (void~) main::$10 ← call init_plot_tables 
main::@1:
  (void~) main::$11 ← call lines 
  if(true) goto main::@1
main::@return:
  return 
endproc // main()
proc (void()) lines()
  (byte) lines::l ← (byte/signed byte/word/signed word/dword/signed dword) 0
lines::@1:
  (byte/word~) lines::$0 ← (byte) lines::l + (byte/signed byte/word/signed word/dword/signed dword) 1
  (byte/word~) lines::$1 ← (byte) lines::l + (byte/signed byte/word/signed word/dword/signed dword) 1
  (void~) lines::$2 ← call line *((byte[]) lines_x + (byte) lines::l) *((byte[]) lines_x + (byte/word~) lines::$0) *((byte[]) lines_y + (byte) lines::l) *((byte[]) lines_y + (byte/word~) lines::$1) 
  (byte) lines::l ← ++ (byte) lines::l
  (boolean~) lines::$3 ← (byte) lines::l < (byte) lines_cnt
  if((boolean~) lines::$3) goto lines::@1
lines::@return:
  return 
endproc // lines()
proc (void()) line((byte) line::x0 , (byte) line::x1 , (byte) line::y0 , (byte) line::y1)
  (boolean~) line::$0 ← (byte) line::x0 < (byte) line::x1
  (boolean~) line::$1 ← ! (boolean~) line::$0
  if((boolean~) line::$1) goto line::@1
  (byte/signed byte/word/signed word/dword/signed dword~) line::$2 ← (byte) line::x1 - (byte) line::x0
  (byte) line::xd ← (byte/signed byte/word/signed word/dword/signed dword~) line::$2
  (boolean~) line::$3 ← (byte) line::y0 < (byte) line::y1
  (boolean~) line::$4 ← ! (boolean~) line::$3
  if((boolean~) line::$4) goto line::@2
  (byte/signed byte/word/signed word/dword/signed dword~) line::$5 ← (byte) line::y1 - (byte) line::y0
  (byte) line::yd ← (byte/signed byte/word/signed word/dword/signed dword~) line::$5
  (boolean~) line::$6 ← (byte) line::yd < (byte) line::xd
  (boolean~) line::$7 ← ! (boolean~) line::$6
  if((boolean~) line::$7) goto line::@3
  (void~) line::$8 ← call line_xdyi (byte) line::x0 (byte) line::y0 (byte) line::x1 (byte) line::xd (byte) line::yd 
  goto line::@4
line::@3:
  (void~) line::$9 ← call line_ydxi (byte) line::y0 (byte) line::x0 (byte) line::y1 (byte) line::yd (byte) line::xd 
line::@4:
  goto line::@5
line::@2:
  (byte/signed byte/word/signed word/dword/signed dword~) line::$10 ← (byte) line::y0 - (byte) line::y1
  (byte) line::yd ← (byte/signed byte/word/signed word/dword/signed dword~) line::$10
  (boolean~) line::$11 ← (byte) line::yd < (byte) line::xd
  (boolean~) line::$12 ← ! (boolean~) line::$11
  if((boolean~) line::$12) goto line::@6
  (void~) line::$13 ← call line_xdyd (byte) line::x0 (byte) line::y0 (byte) line::x1 (byte) line::xd (byte) line::yd 
  goto line::@7
line::@6:
  (void~) line::$14 ← call line_ydxd (byte) line::y1 (byte) line::x1 (byte) line::y0 (byte) line::yd (byte) line::xd 
line::@7:
line::@5:
  goto line::@8
line::@1:
  (byte/signed byte/word/signed word/dword/signed dword~) line::$15 ← (byte) line::x0 - (byte) line::x1
  (byte) line::xd ← (byte/signed byte/word/signed word/dword/signed dword~) line::$15
  (boolean~) line::$16 ← (byte) line::y0 < (byte) line::y1
  (boolean~) line::$17 ← ! (boolean~) line::$16
  if((boolean~) line::$17) goto line::@9
  (byte/signed byte/word/signed word/dword/signed dword~) line::$18 ← (byte) line::y1 - (byte) line::y0
  (byte) line::yd ← (byte/signed byte/word/signed word/dword/signed dword~) line::$18
  (boolean~) line::$19 ← (byte) line::yd < (byte) line::xd
  (boolean~) line::$20 ← ! (boolean~) line::$19
  if((boolean~) line::$20) goto line::@10
  (void~) line::$21 ← call line_xdyd (byte) line::x1 (byte) line::y1 (byte) line::x0 (byte) line::xd (byte) line::yd 
  goto line::@11
line::@10:
  (void~) line::$22 ← call line_ydxd (byte) line::y0 (byte) line::x0 (byte) line::y1 (byte) line::yd (byte) line::xd 
line::@11:
  goto line::@12
line::@9:
  (byte/signed byte/word/signed word/dword/signed dword~) line::$23 ← (byte) line::y0 - (byte) line::y1
  (byte) line::yd ← (byte/signed byte/word/signed word/dword/signed dword~) line::$23
  (boolean~) line::$24 ← (byte) line::yd < (byte) line::xd
  (boolean~) line::$25 ← ! (boolean~) line::$24
  if((boolean~) line::$25) goto line::@13
  (void~) line::$26 ← call line_xdyi (byte) line::x1 (byte) line::y1 (byte) line::x0 (byte) line::xd (byte) line::yd 
  goto line::@14
line::@13:
  (void~) line::$27 ← call line_ydxi (byte) line::y1 (byte) line::x1 (byte) line::y0 (byte) line::yd (byte) line::xd 
line::@14:
line::@12:
line::@8:
line::@return:
  return 
endproc // line()
proc (void()) line_xdyi((byte) line_xdyi::x , (byte) line_xdyi::y , (byte) line_xdyi::x1 , (byte) line_xdyi::xd , (byte) line_xdyi::yd)
  (byte~) line_xdyi::$0 ← (byte) line_xdyi::yd >> (byte/signed byte/word/signed word/dword/signed dword) 1
  (byte) line_xdyi::e ← (byte~) line_xdyi::$0
line_xdyi::@1:
  (void~) line_xdyi::$1 ← call plot (byte) line_xdyi::x (byte) line_xdyi::y 
  (byte) line_xdyi::x ← ++ (byte) line_xdyi::x
  (byte/word~) line_xdyi::$2 ← (byte) line_xdyi::e + (byte) line_xdyi::yd
  (byte) line_xdyi::e ← (byte/word~) line_xdyi::$2
  (boolean~) line_xdyi::$3 ← (byte) line_xdyi::xd < (byte) line_xdyi::e
  (boolean~) line_xdyi::$4 ← ! (boolean~) line_xdyi::$3
  if((boolean~) line_xdyi::$4) goto line_xdyi::@2
  (byte) line_xdyi::y ← ++ (byte) line_xdyi::y
  (byte/signed byte/word/signed word/dword/signed dword~) line_xdyi::$5 ← (byte) line_xdyi::e - (byte) line_xdyi::xd
  (byte) line_xdyi::e ← (byte/signed byte/word/signed word/dword/signed dword~) line_xdyi::$5
line_xdyi::@2:
  (byte/word~) line_xdyi::$6 ← (byte) line_xdyi::x1 + (byte/signed byte/word/signed word/dword/signed dword) 1
  (boolean~) line_xdyi::$7 ← (byte) line_xdyi::x != (byte/word~) line_xdyi::$6
  if((boolean~) line_xdyi::$7) goto line_xdyi::@1
line_xdyi::@return:
  return 
endproc // line_xdyi()
proc (void()) line_xdyd((byte) line_xdyd::x , (byte) line_xdyd::y , (byte) line_xdyd::x1 , (byte) line_xdyd::xd , (byte) line_xdyd::yd)
  (byte~) line_xdyd::$0 ← (byte) line_xdyd::yd >> (byte/signed byte/word/signed word/dword/signed dword) 1
  (byte) line_xdyd::e ← (byte~) line_xdyd::$0
line_xdyd::@1:
  (void~) line_xdyd::$1 ← call plot (byte) line_xdyd::x (byte) line_xdyd::y 
  (byte) line_xdyd::x ← ++ (byte) line_xdyd::x
  (byte/word~) line_xdyd::$2 ← (byte) line_xdyd::e + (byte) line_xdyd::yd
  (byte) line_xdyd::e ← (byte/word~) line_xdyd::$2
  (boolean~) line_xdyd::$3 ← (byte) line_xdyd::xd < (byte) line_xdyd::e
  (boolean~) line_xdyd::$4 ← ! (boolean~) line_xdyd::$3
  if((boolean~) line_xdyd::$4) goto line_xdyd::@2
  (byte) line_xdyd::y ← -- (byte) line_xdyd::y
  (byte/signed byte/word/signed word/dword/signed dword~) line_xdyd::$5 ← (byte) line_xdyd::e - (byte) line_xdyd::xd
  (byte) line_xdyd::e ← (byte/signed byte/word/signed word/dword/signed dword~) line_xdyd::$5
line_xdyd::@2:
  (byte/word~) line_xdyd::$6 ← (byte) line_xdyd::x1 + (byte/signed byte/word/signed word/dword/signed dword) 1
  (boolean~) line_xdyd::$7 ← (byte) line_xdyd::x != (byte/word~) line_xdyd::$6
  if((boolean~) line_xdyd::$7) goto line_xdyd::@1
line_xdyd::@return:
  return 
endproc // line_xdyd()
proc (void()) line_ydxi((byte) line_ydxi::y , (byte) line_ydxi::x , (byte) line_ydxi::y1 , (byte) line_ydxi::yd , (byte) line_ydxi::xd)
  (byte~) line_ydxi::$0 ← (byte) line_ydxi::xd >> (byte/signed byte/word/signed word/dword/signed dword) 1
  (byte) line_ydxi::e ← (byte~) line_ydxi::$0
line_ydxi::@1:
  (void~) line_ydxi::$1 ← call plot (byte) line_ydxi::x (byte) line_ydxi::y 
  (byte) line_ydxi::y ← ++ (byte) line_ydxi::y
  (byte/word~) line_ydxi::$2 ← (byte) line_ydxi::e + (byte) line_ydxi::xd
  (byte) line_ydxi::e ← (byte/word~) line_ydxi::$2
  (boolean~) line_ydxi::$3 ← (byte) line_ydxi::yd < (byte) line_ydxi::e
  (boolean~) line_ydxi::$4 ← ! (boolean~) line_ydxi::$3
  if((boolean~) line_ydxi::$4) goto line_ydxi::@2
  (byte) line_ydxi::x ← ++ (byte) line_ydxi::x
  (byte/signed byte/word/signed word/dword/signed dword~) line_ydxi::$5 ← (byte) line_ydxi::e - (byte) line_ydxi::yd
  (byte) line_ydxi::e ← (byte/signed byte/word/signed word/dword/signed dword~) line_ydxi::$5
line_ydxi::@2:
  (byte/word~) line_ydxi::$6 ← (byte) line_ydxi::y1 + (byte/signed byte/word/signed word/dword/signed dword) 1
  (boolean~) line_ydxi::$7 ← (byte) line_ydxi::y != (byte/word~) line_ydxi::$6
  if((boolean~) line_ydxi::$7) goto line_ydxi::@1
line_ydxi::@return:
  return 
endproc // line_ydxi()
proc (void()) line_ydxd((byte) line_ydxd::y , (byte) line_ydxd::x , (byte) line_ydxd::y1 , (byte) line_ydxd::yd , (byte) line_ydxd::xd)
  (byte~) line_ydxd::$0 ← (byte) line_ydxd::xd >> (byte/signed byte/word/signed word/dword/signed dword) 1
  (byte) line_ydxd::e ← (byte~) line_ydxd::$0
line_ydxd::@1:
  (void~) line_ydxd::$1 ← call plot (byte) line_ydxd::x (byte) line_ydxd::y 
  (byte) line_ydxd::y ← (byte) line_ydxd::y
  (byte) line_ydxd::y ← ++ (byte) line_ydxd::y
  (byte/word~) line_ydxd::$2 ← (byte) line_ydxd::e + (byte) line_ydxd::xd
  (byte) line_ydxd::e ← (byte/word~) line_ydxd::$2
  (boolean~) line_ydxd::$3 ← (byte) line_ydxd::yd < (byte) line_ydxd::e
  (boolean~) line_ydxd::$4 ← ! (boolean~) line_ydxd::$3
  if((boolean~) line_ydxd::$4) goto line_ydxd::@2
  (byte) line_ydxd::x ← -- (byte) line_ydxd::x
  (byte/signed byte/word/signed word/dword/signed dword~) line_ydxd::$5 ← (byte) line_ydxd::e - (byte) line_ydxd::yd
  (byte) line_ydxd::e ← (byte/signed byte/word/signed word/dword/signed dword~) line_ydxd::$5
line_ydxd::@2:
  (byte/word~) line_ydxd::$6 ← (byte) line_ydxd::y1 + (byte/signed byte/word/signed word/dword/signed dword) 1
  (boolean~) line_ydxd::$7 ← (byte) line_ydxd::y != (byte/word~) line_ydxd::$6
  if((boolean~) line_ydxd::$7) goto line_ydxd::@1
line_ydxd::@return:
  return 
endproc // line_ydxd()
proc (void()) plot((byte) plot::x , (byte) plot::y)
  (word) plot::plotter_x ← { *((byte[256]) plot_xhi + (byte) plot::x), *((byte[256]) plot_xlo + (byte) plot::x) }
  (word) plot::plotter_y ← { *((byte[256]) plot_yhi + (byte) plot::y), *((byte[256]) plot_ylo + (byte) plot::y) }
  (word~) plot::$0 ← (word) plot::plotter_x + (word) plot::plotter_y
  (byte*) plot::plotter ← (word~) plot::$0
  (byte~) plot::$1 ← *((byte*) plot::plotter) | *((byte[256]) plot_bit + (byte) plot::x)
  *((byte*) plot::plotter) ← (byte~) plot::$1
plot::@return:
  return 
endproc // plot()
proc (void()) init_plot_tables()
  (byte) init_plot_tables::bits ← (byte/word/signed word/dword/signed dword) 128
  (byte) init_plot_tables::x ← (byte/signed byte/word/signed word/dword/signed dword) 0
init_plot_tables::@1:
  (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x & (byte/word/signed word/dword/signed dword) 248
  *((byte[256]) plot_xlo + (byte) init_plot_tables::x) ← (byte~) init_plot_tables::$0
  (byte~) init_plot_tables::$1 ← > (byte*) BITMAP
  *((byte[256]) plot_xhi + (byte) init_plot_tables::x) ← (byte~) init_plot_tables::$1
  *((byte[256]) plot_bit + (byte) init_plot_tables::x) ← (byte) init_plot_tables::bits
  (byte~) init_plot_tables::$2 ← (byte) init_plot_tables::bits >> (byte/signed byte/word/signed word/dword/signed dword) 1
  (byte) init_plot_tables::bits ← (byte~) init_plot_tables::$2
  (boolean~) init_plot_tables::$3 ← (byte) init_plot_tables::bits == (byte/signed byte/word/signed word/dword/signed dword) 0
  (boolean~) init_plot_tables::$4 ← ! (boolean~) init_plot_tables::$3
  if((boolean~) init_plot_tables::$4) goto init_plot_tables::@2
  (byte) init_plot_tables::bits ← (byte/word/signed word/dword/signed dword) 128
init_plot_tables::@2:
  (byte) init_plot_tables::x ← ++ (byte) init_plot_tables::x
  (boolean~) init_plot_tables::$5 ← (byte) init_plot_tables::x != (byte/signed byte/word/signed word/dword/signed dword) 0
  if((boolean~) init_plot_tables::$5) goto init_plot_tables::@1
  (byte*) init_plot_tables::yoffs ← (byte/signed byte/word/signed word/dword/signed dword) 0
  (byte) init_plot_tables::y ← (byte/signed byte/word/signed word/dword/signed dword) 0
init_plot_tables::@3:
  (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y & (byte/signed byte/word/signed word/dword/signed dword) 7
  (byte~) init_plot_tables::$7 ← < (byte*) init_plot_tables::yoffs
  (byte~) init_plot_tables::$8 ← (byte~) init_plot_tables::$6 | (byte~) init_plot_tables::$7
  *((byte[256]) plot_ylo + (byte) init_plot_tables::y) ← (byte~) init_plot_tables::$8
  (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs
  *((byte[256]) plot_yhi + (byte) init_plot_tables::y) ← (byte~) init_plot_tables::$9
  (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y & (byte/signed byte/word/signed word/dword/signed dword) 7
  (boolean~) init_plot_tables::$11 ← (byte~) init_plot_tables::$10 == (byte/signed byte/word/signed word/dword/signed dword) 7
  (boolean~) init_plot_tables::$12 ← ! (boolean~) init_plot_tables::$11
  if((boolean~) init_plot_tables::$12) goto init_plot_tables::@4
  (word/signed word/dword/signed dword~) init_plot_tables::$13 ← (byte/signed byte/word/signed word/dword/signed dword) 40 * (byte/signed byte/word/signed word/dword/signed dword) 8
  (byte*~) init_plot_tables::$14 ← (byte*) init_plot_tables::yoffs + (word/signed word/dword/signed dword~) init_plot_tables::$13
  (byte*) init_plot_tables::yoffs ← (byte*~) init_plot_tables::$14
init_plot_tables::@4:
  (byte) init_plot_tables::y ← ++ (byte) init_plot_tables::y
  (boolean~) init_plot_tables::$15 ← (byte) init_plot_tables::y != (byte/signed byte/word/signed word/dword/signed dword) 0
  if((boolean~) init_plot_tables::$15) goto init_plot_tables::@3
init_plot_tables::@return:
  return 
endproc // init_plot_tables()
proc (void()) init_screen()
  (byte*) init_screen::b ← (byte*) BITMAP
init_screen::@1:
  *((byte*) init_screen::b) ← (byte/signed byte/word/signed word/dword/signed dword) 0
  (byte*) init_screen::b ← ++ (byte*) init_screen::b
  (byte*~) init_screen::$0 ← (byte*) BITMAP + (word/signed word/dword/signed dword) 8192
  (boolean~) init_screen::$1 ← (byte*) init_screen::b != (byte*~) init_screen::$0
  if((boolean~) init_screen::$1) goto init_screen::@1
  (byte*) init_screen::c ← (byte*) SCREEN
init_screen::@2:
  *((byte*) init_screen::c) ← (byte/signed byte/word/signed word/dword/signed dword) 20
  (byte*) init_screen::c ← ++ (byte*) init_screen::c
  (byte*~) init_screen::$2 ← (byte*) SCREEN + (word/signed word/dword/signed dword) 1024
  (boolean~) init_screen::$3 ← (byte*) init_screen::c != (byte*~) init_screen::$2
  if((boolean~) init_screen::$3) goto init_screen::@2
init_screen::@return:
  return 
endproc // init_screen()
  call main 

SYMBOLS
(byte*) BGCOL
(byte*) BITMAP
(byte) BMM
(byte*) COLS
(byte) CSEL
(byte*) D011
(byte*) D016
(byte*) D018
(byte) DEN
(byte) ECM
(byte*) FGCOL
(byte) MCM
(byte) RSEL
(byte) RST8
(byte*) SCREEN
(byte*) SCROLL
(void()) init_plot_tables()
(byte~) init_plot_tables::$0
(byte~) init_plot_tables::$1
(byte~) init_plot_tables::$10
(boolean~) init_plot_tables::$11
(boolean~) init_plot_tables::$12
(word/signed word/dword/signed dword~) init_plot_tables::$13
(byte*~) init_plot_tables::$14
(boolean~) init_plot_tables::$15
(byte~) init_plot_tables::$2
(boolean~) init_plot_tables::$3
(boolean~) init_plot_tables::$4
(boolean~) init_plot_tables::$5
(byte~) init_plot_tables::$6
(byte~) init_plot_tables::$7
(byte~) init_plot_tables::$8
(byte~) init_plot_tables::$9
(label) init_plot_tables::@1
(label) init_plot_tables::@2
(label) init_plot_tables::@3
(label) init_plot_tables::@4
(label) init_plot_tables::@return
(byte) init_plot_tables::bits
(byte) init_plot_tables::x
(byte) init_plot_tables::y
(byte*) init_plot_tables::yoffs
(void()) init_screen()
(byte*~) init_screen::$0
(boolean~) init_screen::$1
(byte*~) init_screen::$2
(boolean~) init_screen::$3
(label) init_screen::@1
(label) init_screen::@2
(label) init_screen::@return
(byte*) init_screen::b
(byte*) init_screen::c
(void()) line((byte) line::x0 , (byte) line::x1 , (byte) line::y0 , (byte) line::y1)
(boolean~) line::$0
(boolean~) line::$1
(byte/signed byte/word/signed word/dword/signed dword~) line::$10
(boolean~) line::$11
(boolean~) line::$12
(void~) line::$13
(void~) line::$14
(byte/signed byte/word/signed word/dword/signed dword~) line::$15
(boolean~) line::$16
(boolean~) line::$17
(byte/signed byte/word/signed word/dword/signed dword~) line::$18
(boolean~) line::$19
(byte/signed byte/word/signed word/dword/signed dword~) line::$2
(boolean~) line::$20
(void~) line::$21
(void~) line::$22
(byte/signed byte/word/signed word/dword/signed dword~) line::$23
(boolean~) line::$24
(boolean~) line::$25
(void~) line::$26
(void~) line::$27
(boolean~) line::$3
(boolean~) line::$4
(byte/signed byte/word/signed word/dword/signed dword~) line::$5
(boolean~) line::$6
(boolean~) line::$7
(void~) line::$8
(void~) line::$9
(label) line::@1
(label) line::@10
(label) line::@11
(label) line::@12
(label) line::@13
(label) line::@14
(label) line::@2
(label) line::@3
(label) line::@4
(label) line::@5
(label) line::@6
(label) line::@7
(label) line::@8
(label) line::@9
(label) line::@return
(byte) line::x0
(byte) line::x1
(byte) line::xd
(byte) line::y0
(byte) line::y1
(byte) line::yd
(void()) line_xdyd((byte) line_xdyd::x , (byte) line_xdyd::y , (byte) line_xdyd::x1 , (byte) line_xdyd::xd , (byte) line_xdyd::yd)
(byte~) line_xdyd::$0
(void~) line_xdyd::$1
(byte/word~) line_xdyd::$2
(boolean~) line_xdyd::$3
(boolean~) line_xdyd::$4
(byte/signed byte/word/signed word/dword/signed dword~) line_xdyd::$5
(byte/word~) line_xdyd::$6
(boolean~) line_xdyd::$7
(label) line_xdyd::@1
(label) line_xdyd::@2
(label) line_xdyd::@return
(byte) line_xdyd::e
(byte) line_xdyd::x
(byte) line_xdyd::x1
(byte) line_xdyd::xd
(byte) line_xdyd::y
(byte) line_xdyd::yd
(void()) line_xdyi((byte) line_xdyi::x , (byte) line_xdyi::y , (byte) line_xdyi::x1 , (byte) line_xdyi::xd , (byte) line_xdyi::yd)
(byte~) line_xdyi::$0
(void~) line_xdyi::$1
(byte/word~) line_xdyi::$2
(boolean~) line_xdyi::$3
(boolean~) line_xdyi::$4
(byte/signed byte/word/signed word/dword/signed dword~) line_xdyi::$5
(byte/word~) line_xdyi::$6
(boolean~) line_xdyi::$7
(label) line_xdyi::@1
(label) line_xdyi::@2
(label) line_xdyi::@return
(byte) line_xdyi::e
(byte) line_xdyi::x
(byte) line_xdyi::x1
(byte) line_xdyi::xd
(byte) line_xdyi::y
(byte) line_xdyi::yd
(void()) line_ydxd((byte) line_ydxd::y , (byte) line_ydxd::x , (byte) line_ydxd::y1 , (byte) line_ydxd::yd , (byte) line_ydxd::xd)
(byte~) line_ydxd::$0
(void~) line_ydxd::$1
(byte/word~) line_ydxd::$2
(boolean~) line_ydxd::$3
(boolean~) line_ydxd::$4
(byte/signed byte/word/signed word/dword/signed dword~) line_ydxd::$5
(byte/word~) line_ydxd::$6
(boolean~) line_ydxd::$7
(label) line_ydxd::@1
(label) line_ydxd::@2
(label) line_ydxd::@return
(byte) line_ydxd::e
(byte) line_ydxd::x
(byte) line_ydxd::xd
(byte) line_ydxd::y
(byte) line_ydxd::y1
(byte) line_ydxd::yd
(void()) line_ydxi((byte) line_ydxi::y , (byte) line_ydxi::x , (byte) line_ydxi::y1 , (byte) line_ydxi::yd , (byte) line_ydxi::xd)
(byte~) line_ydxi::$0
(void~) line_ydxi::$1
(byte/word~) line_ydxi::$2
(boolean~) line_ydxi::$3
(boolean~) line_ydxi::$4
(byte/signed byte/word/signed word/dword/signed dword~) line_ydxi::$5
(byte/word~) line_ydxi::$6
(boolean~) line_ydxi::$7
(label) line_ydxi::@1
(label) line_ydxi::@2
(label) line_ydxi::@return
(byte) line_ydxi::e
(byte) line_ydxi::x
(byte) line_ydxi::xd
(byte) line_ydxi::y
(byte) line_ydxi::y1
(byte) line_ydxi::yd
(void()) lines()
(byte/word~) lines::$0
(byte/word~) lines::$1
(void~) lines::$2
(boolean~) lines::$3
(label) lines::@1
(label) lines::@return
(byte) lines::l
(byte) lines_cnt
(byte[]) lines_x
(byte[]) lines_y
(void()) main()
(byte~) main::$0
(byte~) main::$1
(void~) main::$10
(void~) main::$11
(byte~) main::$2
(word~) main::$3
(word~) main::$4
(word~) main::$5
(word~) main::$6
(word~) main::$7
(byte~) main::$8
(void~) main::$9
(label) main::@1
(label) main::@return
(void()) plot((byte) plot::x , (byte) plot::y)
(word~) plot::$0
(byte~) plot::$1
(label) plot::@return
(byte*) plot::plotter
(word) plot::plotter_x
(word) plot::plotter_y
(byte) plot::x
(byte) plot::y
(byte[256]) plot_bit
(byte[256]) plot_xhi
(byte[256]) plot_xlo
(byte[256]) plot_yhi
(byte[256]) plot_ylo

Promoting word/dword/signed dword to byte* in COLS ← ((byte*)) 55296
Promoting word/dword/signed dword to byte* in BGCOL ← ((byte*)) 53280
Promoting word/dword/signed dword to byte* in FGCOL ← ((byte*)) 53281
Promoting word/dword/signed dword to byte* in SCROLL ← ((byte*)) 53270
Promoting word/dword/signed dword to byte* in D018 ← ((byte*)) 53272
Promoting word/dword/signed dword to byte* in D011 ← ((byte*)) 53265
Promoting word/dword/signed dword to byte* in D016 ← ((byte*)) 53270
Promoting word/signed word/dword/signed dword to byte* in SCREEN ← ((byte*)) 1024
Promoting word/signed word/dword/signed dword to byte* in BITMAP ← ((byte*)) 8192
Promoting word to byte* in plot::plotter ← ((byte*)) plot::$0
Promoting byte/signed byte/word/signed word/dword/signed dword to byte* in init_plot_tables::yoffs ← ((byte*)) 0
INITIAL CONTROL FLOW GRAPH
@begin: scope:[]  from
  (byte*) COLS ← ((byte*)) (word/dword/signed dword) 55296
  (byte*) BGCOL ← ((byte*)) (word/dword/signed dword) 53280
  (byte*) FGCOL ← ((byte*)) (word/dword/signed dword) 53281
  (byte*) SCROLL ← ((byte*)) (word/dword/signed dword) 53270
  (byte*) D018 ← ((byte*)) (word/dword/signed dword) 53272
  (byte*) D011 ← ((byte*)) (word/dword/signed dword) 53265
  (byte) RST8 ← (byte/word/signed word/dword/signed dword) 128
  (byte) ECM ← (byte/signed byte/word/signed word/dword/signed dword) 64
  (byte) BMM ← (byte/signed byte/word/signed word/dword/signed dword) 32
  (byte) DEN ← (byte/signed byte/word/signed word/dword/signed dword) 16
  (byte) RSEL ← (byte/signed byte/word/signed word/dword/signed dword) 8
  (byte*) D016 ← ((byte*)) (word/dword/signed dword) 53270
  (byte) MCM ← (byte/signed byte/word/signed word/dword/signed dword) 16
  (byte) CSEL ← (byte/signed byte/word/signed word/dword/signed dword) 8
  (byte*) SCREEN ← ((byte*)) (word/signed word/dword/signed dword) 1024
  (byte*) BITMAP ← ((byte*)) (word/signed word/dword/signed dword) 8192
  (byte[256]) plot_xlo ← { fill( 256, 0) }
  (byte[256]) plot_xhi ← { fill( 256, 0) }
  (byte[256]) plot_ylo ← { fill( 256, 0) }
  (byte[256]) plot_yhi ← { fill( 256, 0) }
  (byte[256]) plot_bit ← { fill( 256, 0) }
  (byte[]) lines_x ← { (byte/signed byte/word/signed word/dword/signed dword) 60, (byte/signed byte/word/signed word/dword/signed dword) 80, (byte/signed byte/word/signed word/dword/signed dword) 110, (byte/signed byte/word/signed word/dword/signed dword) 80, (byte/signed byte/word/signed word/dword/signed dword) 60, (byte/signed byte/word/signed word/dword/signed dword) 40, (byte/signed byte/word/signed word/dword/signed dword) 10, (byte/signed byte/word/signed word/dword/signed dword) 40, (byte/signed byte/word/signed word/dword/signed dword) 60 }
  (byte[]) lines_y ← { (byte/signed byte/word/signed word/dword/signed dword) 10, (byte/signed byte/word/signed word/dword/signed dword) 40, (byte/signed byte/word/signed word/dword/signed dword) 60, (byte/signed byte/word/signed word/dword/signed dword) 80, (byte/signed byte/word/signed word/dword/signed dword) 110, (byte/signed byte/word/signed word/dword/signed dword) 80, (byte/signed byte/word/signed word/dword/signed dword) 60, (byte/signed byte/word/signed word/dword/signed dword) 40, (byte/signed byte/word/signed word/dword/signed dword) 10 }
  (byte) lines_cnt ← (byte/signed byte/word/signed word/dword/signed dword) 8
  to:@1
main: scope:[main]  from
  *((byte*) BGCOL) ← (byte/signed byte/word/signed word/dword/signed dword) 0
  *((byte*) FGCOL) ← (byte/signed byte/word/signed word/dword/signed dword) 0
  (byte~) main::$0 ← (byte) BMM | (byte) DEN
  (byte~) main::$1 ← (byte~) main::$0 | (byte) RSEL
  (byte~) main::$2 ← (byte~) main::$1 | (byte/signed byte/word/signed word/dword/signed dword) 3
  *((byte*) D011) ← (byte~) main::$2
  (word~) main::$3 ← ((word)) (byte*) SCREEN
  (word~) main::$4 ← (word~) main::$3 / (byte/signed byte/word/signed word/dword/signed dword) 64
  (word~) main::$5 ← ((word)) (byte*) BITMAP
  (word~) main::$6 ← (word~) main::$5 / (word/signed word/dword/signed dword) 1024
  (word~) main::$7 ← (word~) main::$4 | (word~) main::$6
  (byte~) main::$8 ← ((byte)) (word~) main::$7
  *((byte*) D018) ← (byte~) main::$8
  (void~) main::$9 ← call init_screen 
  (void~) main::$10 ← call init_plot_tables 
  to:main::@1
main::@1: scope:[main]  from main main::@1
  (void~) main::$11 ← call lines 
  if(true) goto main::@1
  to:main::@2
main::@2: scope:[main]  from main::@1
  to:main::@return
main::@return: scope:[main]  from main::@2
  return 
  to:@return
@1: scope:[]  from @begin
  to:@2
lines: scope:[lines]  from
  (byte) lines::l ← (byte/signed byte/word/signed word/dword/signed dword) 0
  to:lines::@1
lines::@1: scope:[lines]  from lines lines::@1
  (byte/word~) lines::$0 ← (byte) lines::l + (byte/signed byte/word/signed word/dword/signed dword) 1
  (byte/word~) lines::$1 ← (byte) lines::l + (byte/signed byte/word/signed word/dword/signed dword) 1
  (void~) lines::$2 ← call line *((byte[]) lines_x + (byte) lines::l) *((byte[]) lines_x + (byte/word~) lines::$0) *((byte[]) lines_y + (byte) lines::l) *((byte[]) lines_y + (byte/word~) lines::$1) 
  (byte) lines::l ← ++ (byte) lines::l
  (boolean~) lines::$3 ← (byte) lines::l < (byte) lines_cnt
  if((boolean~) lines::$3) goto lines::@1
  to:lines::@2
lines::@2: scope:[lines]  from lines::@1
  to:lines::@return
lines::@return: scope:[lines]  from lines::@2
  return 
  to:@return
@2: scope:[]  from @1
  to:@3
line: scope:[line]  from
  (boolean~) line::$0 ← (byte) line::x0 < (byte) line::x1
  (boolean~) line::$1 ← ! (boolean~) line::$0
  if((boolean~) line::$1) goto line::@1
  to:line::@15
line::@1: scope:[line]  from line line::@22
  (byte/signed byte/word/signed word/dword/signed dword~) line::$15 ← (byte) line::x0 - (byte) line::x1
  (byte) line::xd ← (byte/signed byte/word/signed word/dword/signed dword~) line::$15
  (boolean~) line::$16 ← (byte) line::y0 < (byte) line::y1
  (boolean~) line::$17 ← ! (boolean~) line::$16
  if((boolean~) line::$17) goto line::@9
  to:line::@23
line::@15: scope:[line]  from line
  (byte/signed byte/word/signed word/dword/signed dword~) line::$2 ← (byte) line::x1 - (byte) line::x0
  (byte) line::xd ← (byte/signed byte/word/signed word/dword/signed dword~) line::$2
  (boolean~) line::$3 ← (byte) line::y0 < (byte) line::y1
  (boolean~) line::$4 ← ! (boolean~) line::$3
  if((boolean~) line::$4) goto line::@2
  to:line::@16
line::@2: scope:[line]  from line::@15 line::@19
  (byte/signed byte/word/signed word/dword/signed dword~) line::$10 ← (byte) line::y0 - (byte) line::y1
  (byte) line::yd ← (byte/signed byte/word/signed word/dword/signed dword~) line::$10
  (boolean~) line::$11 ← (byte) line::yd < (byte) line::xd
  (boolean~) line::$12 ← ! (boolean~) line::$11
  if((boolean~) line::$12) goto line::@6
  to:line::@20
line::@16: scope:[line]  from line::@15
  (byte/signed byte/word/signed word/dword/signed dword~) line::$5 ← (byte) line::y1 - (byte) line::y0
  (byte) line::yd ← (byte/signed byte/word/signed word/dword/signed dword~) line::$5
  (boolean~) line::$6 ← (byte) line::yd < (byte) line::xd
  (boolean~) line::$7 ← ! (boolean~) line::$6
  if((boolean~) line::$7) goto line::@3
  to:line::@17
line::@3: scope:[line]  from line::@16 line::@18
  (void~) line::$9 ← call line_ydxi (byte) line::y0 (byte) line::x0 (byte) line::y1 (byte) line::yd (byte) line::xd 
  to:line::@4
line::@17: scope:[line]  from line::@16
  (void~) line::$8 ← call line_xdyi (byte) line::x0 (byte) line::y0 (byte) line::x1 (byte) line::xd (byte) line::yd 
  to:line::@4
line::@4: scope:[line]  from line::@17 line::@3
  to:line::@5
line::@18: scope:[line]  from
  to:line::@3
line::@5: scope:[line]  from line::@4 line::@7
  to:line::@8
line::@19: scope:[line]  from
  to:line::@2
line::@6: scope:[line]  from line::@2 line::@21
  (void~) line::$14 ← call line_ydxd (byte) line::y1 (byte) line::x1 (byte) line::y0 (byte) line::yd (byte) line::xd 
  to:line::@7
line::@20: scope:[line]  from line::@2
  (void~) line::$13 ← call line_xdyd (byte) line::x0 (byte) line::y0 (byte) line::x1 (byte) line::xd (byte) line::yd 
  to:line::@7
line::@7: scope:[line]  from line::@20 line::@6
  to:line::@5
line::@21: scope:[line]  from
  to:line::@6
line::@8: scope:[line]  from line::@12 line::@5
  to:line::@return
line::@22: scope:[line]  from
  to:line::@1
line::@9: scope:[line]  from line::@1 line::@26
  (byte/signed byte/word/signed word/dword/signed dword~) line::$23 ← (byte) line::y0 - (byte) line::y1
  (byte) line::yd ← (byte/signed byte/word/signed word/dword/signed dword~) line::$23
  (boolean~) line::$24 ← (byte) line::yd < (byte) line::xd
  (boolean~) line::$25 ← ! (boolean~) line::$24
  if((boolean~) line::$25) goto line::@13
  to:line::@27
line::@23: scope:[line]  from line::@1
  (byte/signed byte/word/signed word/dword/signed dword~) line::$18 ← (byte) line::y1 - (byte) line::y0
  (byte) line::yd ← (byte/signed byte/word/signed word/dword/signed dword~) line::$18
  (boolean~) line::$19 ← (byte) line::yd < (byte) line::xd
  (boolean~) line::$20 ← ! (boolean~) line::$19
  if((boolean~) line::$20) goto line::@10
  to:line::@24
line::@10: scope:[line]  from line::@23 line::@25
  (void~) line::$22 ← call line_ydxd (byte) line::y0 (byte) line::x0 (byte) line::y1 (byte) line::yd (byte) line::xd 
  to:line::@11
line::@24: scope:[line]  from line::@23
  (void~) line::$21 ← call line_xdyd (byte) line::x1 (byte) line::y1 (byte) line::x0 (byte) line::xd (byte) line::yd 
  to:line::@11
line::@11: scope:[line]  from line::@10 line::@24
  to:line::@12
line::@25: scope:[line]  from
  to:line::@10
line::@12: scope:[line]  from line::@11 line::@14
  to:line::@8
line::@26: scope:[line]  from
  to:line::@9
line::@13: scope:[line]  from line::@28 line::@9
  (void~) line::$27 ← call line_ydxi (byte) line::y1 (byte) line::x1 (byte) line::y0 (byte) line::yd (byte) line::xd 
  to:line::@14
line::@27: scope:[line]  from line::@9
  (void~) line::$26 ← call line_xdyi (byte) line::x1 (byte) line::y1 (byte) line::x0 (byte) line::xd (byte) line::yd 
  to:line::@14
line::@14: scope:[line]  from line::@13 line::@27
  to:line::@12
line::@28: scope:[line]  from
  to:line::@13
line::@return: scope:[line]  from line::@8
  return 
  to:@return
@3: scope:[]  from @2
  to:@4
line_xdyi: scope:[line_xdyi]  from
  (byte~) line_xdyi::$0 ← (byte) line_xdyi::yd >> (byte/signed byte/word/signed word/dword/signed dword) 1
  (byte) line_xdyi::e ← (byte~) line_xdyi::$0
  to:line_xdyi::@1
line_xdyi::@1: scope:[line_xdyi]  from line_xdyi line_xdyi::@2
  (void~) line_xdyi::$1 ← call plot (byte) line_xdyi::x (byte) line_xdyi::y 
  (byte) line_xdyi::x ← ++ (byte) line_xdyi::x
  (byte/word~) line_xdyi::$2 ← (byte) line_xdyi::e + (byte) line_xdyi::yd
  (byte) line_xdyi::e ← (byte/word~) line_xdyi::$2
  (boolean~) line_xdyi::$3 ← (byte) line_xdyi::xd < (byte) line_xdyi::e
  (boolean~) line_xdyi::$4 ← ! (boolean~) line_xdyi::$3
  if((boolean~) line_xdyi::$4) goto line_xdyi::@2
  to:line_xdyi::@3
line_xdyi::@2: scope:[line_xdyi]  from line_xdyi::@1 line_xdyi::@3
  (byte/word~) line_xdyi::$6 ← (byte) line_xdyi::x1 + (byte/signed byte/word/signed word/dword/signed dword) 1
  (boolean~) line_xdyi::$7 ← (byte) line_xdyi::x != (byte/word~) line_xdyi::$6
  if((boolean~) line_xdyi::$7) goto line_xdyi::@1
  to:line_xdyi::@4
line_xdyi::@3: scope:[line_xdyi]  from line_xdyi::@1
  (byte) line_xdyi::y ← ++ (byte) line_xdyi::y
  (byte/signed byte/word/signed word/dword/signed dword~) line_xdyi::$5 ← (byte) line_xdyi::e - (byte) line_xdyi::xd
  (byte) line_xdyi::e ← (byte/signed byte/word/signed word/dword/signed dword~) line_xdyi::$5
  to:line_xdyi::@2
line_xdyi::@4: scope:[line_xdyi]  from line_xdyi::@2
  to:line_xdyi::@return
line_xdyi::@return: scope:[line_xdyi]  from line_xdyi::@4
  return 
  to:@return
@4: scope:[]  from @3
  to:@5
line_xdyd: scope:[line_xdyd]  from
  (byte~) line_xdyd::$0 ← (byte) line_xdyd::yd >> (byte/signed byte/word/signed word/dword/signed dword) 1
  (byte) line_xdyd::e ← (byte~) line_xdyd::$0
  to:line_xdyd::@1
line_xdyd::@1: scope:[line_xdyd]  from line_xdyd line_xdyd::@2
  (void~) line_xdyd::$1 ← call plot (byte) line_xdyd::x (byte) line_xdyd::y 
  (byte) line_xdyd::x ← ++ (byte) line_xdyd::x
  (byte/word~) line_xdyd::$2 ← (byte) line_xdyd::e + (byte) line_xdyd::yd
  (byte) line_xdyd::e ← (byte/word~) line_xdyd::$2
  (boolean~) line_xdyd::$3 ← (byte) line_xdyd::xd < (byte) line_xdyd::e
  (boolean~) line_xdyd::$4 ← ! (boolean~) line_xdyd::$3
  if((boolean~) line_xdyd::$4) goto line_xdyd::@2
  to:line_xdyd::@3
line_xdyd::@2: scope:[line_xdyd]  from line_xdyd::@1 line_xdyd::@3
  (byte/word~) line_xdyd::$6 ← (byte) line_xdyd::x1 + (byte/signed byte/word/signed word/dword/signed dword) 1
  (boolean~) line_xdyd::$7 ← (byte) line_xdyd::x != (byte/word~) line_xdyd::$6
  if((boolean~) line_xdyd::$7) goto line_xdyd::@1
  to:line_xdyd::@4
line_xdyd::@3: scope:[line_xdyd]  from line_xdyd::@1
  (byte) line_xdyd::y ← -- (byte) line_xdyd::y
  (byte/signed byte/word/signed word/dword/signed dword~) line_xdyd::$5 ← (byte) line_xdyd::e - (byte) line_xdyd::xd
  (byte) line_xdyd::e ← (byte/signed byte/word/signed word/dword/signed dword~) line_xdyd::$5
  to:line_xdyd::@2
line_xdyd::@4: scope:[line_xdyd]  from line_xdyd::@2
  to:line_xdyd::@return
line_xdyd::@return: scope:[line_xdyd]  from line_xdyd::@4
  return 
  to:@return
@5: scope:[]  from @4
  to:@6
line_ydxi: scope:[line_ydxi]  from
  (byte~) line_ydxi::$0 ← (byte) line_ydxi::xd >> (byte/signed byte/word/signed word/dword/signed dword) 1
  (byte) line_ydxi::e ← (byte~) line_ydxi::$0
  to:line_ydxi::@1
line_ydxi::@1: scope:[line_ydxi]  from line_ydxi line_ydxi::@2
  (void~) line_ydxi::$1 ← call plot (byte) line_ydxi::x (byte) line_ydxi::y 
  (byte) line_ydxi::y ← ++ (byte) line_ydxi::y
  (byte/word~) line_ydxi::$2 ← (byte) line_ydxi::e + (byte) line_ydxi::xd
  (byte) line_ydxi::e ← (byte/word~) line_ydxi::$2
  (boolean~) line_ydxi::$3 ← (byte) line_ydxi::yd < (byte) line_ydxi::e
  (boolean~) line_ydxi::$4 ← ! (boolean~) line_ydxi::$3
  if((boolean~) line_ydxi::$4) goto line_ydxi::@2
  to:line_ydxi::@3
line_ydxi::@2: scope:[line_ydxi]  from line_ydxi::@1 line_ydxi::@3
  (byte/word~) line_ydxi::$6 ← (byte) line_ydxi::y1 + (byte/signed byte/word/signed word/dword/signed dword) 1
  (boolean~) line_ydxi::$7 ← (byte) line_ydxi::y != (byte/word~) line_ydxi::$6
  if((boolean~) line_ydxi::$7) goto line_ydxi::@1
  to:line_ydxi::@4
line_ydxi::@3: scope:[line_ydxi]  from line_ydxi::@1
  (byte) line_ydxi::x ← ++ (byte) line_ydxi::x
  (byte/signed byte/word/signed word/dword/signed dword~) line_ydxi::$5 ← (byte) line_ydxi::e - (byte) line_ydxi::yd
  (byte) line_ydxi::e ← (byte/signed byte/word/signed word/dword/signed dword~) line_ydxi::$5
  to:line_ydxi::@2
line_ydxi::@4: scope:[line_ydxi]  from line_ydxi::@2
  to:line_ydxi::@return
line_ydxi::@return: scope:[line_ydxi]  from line_ydxi::@4
  return 
  to:@return
@6: scope:[]  from @5
  to:@7
line_ydxd: scope:[line_ydxd]  from
  (byte~) line_ydxd::$0 ← (byte) line_ydxd::xd >> (byte/signed byte/word/signed word/dword/signed dword) 1
  (byte) line_ydxd::e ← (byte~) line_ydxd::$0
  to:line_ydxd::@1
line_ydxd::@1: scope:[line_ydxd]  from line_ydxd line_ydxd::@2
  (void~) line_ydxd::$1 ← call plot (byte) line_ydxd::x (byte) line_ydxd::y 
  (byte) line_ydxd::y ← (byte) line_ydxd::y
  (byte) line_ydxd::y ← ++ (byte) line_ydxd::y
  (byte/word~) line_ydxd::$2 ← (byte) line_ydxd::e + (byte) line_ydxd::xd
  (byte) line_ydxd::e ← (byte/word~) line_ydxd::$2
  (boolean~) line_ydxd::$3 ← (byte) line_ydxd::yd < (byte) line_ydxd::e
  (boolean~) line_ydxd::$4 ← ! (boolean~) line_ydxd::$3
  if((boolean~) line_ydxd::$4) goto line_ydxd::@2
  to:line_ydxd::@3
line_ydxd::@2: scope:[line_ydxd]  from line_ydxd::@1 line_ydxd::@3
  (byte/word~) line_ydxd::$6 ← (byte) line_ydxd::y1 + (byte/signed byte/word/signed word/dword/signed dword) 1
  (boolean~) line_ydxd::$7 ← (byte) line_ydxd::y != (byte/word~) line_ydxd::$6
  if((boolean~) line_ydxd::$7) goto line_ydxd::@1
  to:line_ydxd::@4
line_ydxd::@3: scope:[line_ydxd]  from line_ydxd::@1
  (byte) line_ydxd::x ← -- (byte) line_ydxd::x
  (byte/signed byte/word/signed word/dword/signed dword~) line_ydxd::$5 ← (byte) line_ydxd::e - (byte) line_ydxd::yd
  (byte) line_ydxd::e ← (byte/signed byte/word/signed word/dword/signed dword~) line_ydxd::$5
  to:line_ydxd::@2
line_ydxd::@4: scope:[line_ydxd]  from line_ydxd::@2
  to:line_ydxd::@return
line_ydxd::@return: scope:[line_ydxd]  from line_ydxd::@4
  return 
  to:@return
@7: scope:[]  from @6
  to:@8
plot: scope:[plot]  from
  (word) plot::plotter_x ← { *((byte[256]) plot_xhi + (byte) plot::x), *((byte[256]) plot_xlo + (byte) plot::x) }
  (word) plot::plotter_y ← { *((byte[256]) plot_yhi + (byte) plot::y), *((byte[256]) plot_ylo + (byte) plot::y) }
  (word~) plot::$0 ← (word) plot::plotter_x + (word) plot::plotter_y
  (byte*) plot::plotter ← ((byte*)) (word~) plot::$0
  (byte~) plot::$1 ← *((byte*) plot::plotter) | *((byte[256]) plot_bit + (byte) plot::x)
  *((byte*) plot::plotter) ← (byte~) plot::$1
  to:plot::@return
plot::@return: scope:[plot]  from plot
  return 
  to:@return
@8: scope:[]  from @7
  to:@9
init_plot_tables: scope:[init_plot_tables]  from
  (byte) init_plot_tables::bits ← (byte/word/signed word/dword/signed dword) 128
  (byte) init_plot_tables::x ← (byte/signed byte/word/signed word/dword/signed dword) 0
  to:init_plot_tables::@1
init_plot_tables::@1: scope:[init_plot_tables]  from init_plot_tables init_plot_tables::@2
  (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x & (byte/word/signed word/dword/signed dword) 248
  *((byte[256]) plot_xlo + (byte) init_plot_tables::x) ← (byte~) init_plot_tables::$0
  (byte~) init_plot_tables::$1 ← > (byte*) BITMAP
  *((byte[256]) plot_xhi + (byte) init_plot_tables::x) ← (byte~) init_plot_tables::$1
  *((byte[256]) plot_bit + (byte) init_plot_tables::x) ← (byte) init_plot_tables::bits
  (byte~) init_plot_tables::$2 ← (byte) init_plot_tables::bits >> (byte/signed byte/word/signed word/dword/signed dword) 1
  (byte) init_plot_tables::bits ← (byte~) init_plot_tables::$2
  (boolean~) init_plot_tables::$3 ← (byte) init_plot_tables::bits == (byte/signed byte/word/signed word/dword/signed dword) 0
  (boolean~) init_plot_tables::$4 ← ! (boolean~) init_plot_tables::$3
  if((boolean~) init_plot_tables::$4) goto init_plot_tables::@2
  to:init_plot_tables::@5
init_plot_tables::@2: scope:[init_plot_tables]  from init_plot_tables::@1 init_plot_tables::@5
  (byte) init_plot_tables::x ← ++ (byte) init_plot_tables::x
  (boolean~) init_plot_tables::$5 ← (byte) init_plot_tables::x != (byte/signed byte/word/signed word/dword/signed dword) 0
  if((boolean~) init_plot_tables::$5) goto init_plot_tables::@1
  to:init_plot_tables::@6
init_plot_tables::@5: scope:[init_plot_tables]  from init_plot_tables::@1
  (byte) init_plot_tables::bits ← (byte/word/signed word/dword/signed dword) 128
  to:init_plot_tables::@2
init_plot_tables::@6: scope:[init_plot_tables]  from init_plot_tables::@2
  (byte*) init_plot_tables::yoffs ← ((byte*)) (byte/signed byte/word/signed word/dword/signed dword) 0
  (byte) init_plot_tables::y ← (byte/signed byte/word/signed word/dword/signed dword) 0
  to:init_plot_tables::@3
init_plot_tables::@3: scope:[init_plot_tables]  from init_plot_tables::@4 init_plot_tables::@6
  (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y & (byte/signed byte/word/signed word/dword/signed dword) 7
  (byte~) init_plot_tables::$7 ← < (byte*) init_plot_tables::yoffs
  (byte~) init_plot_tables::$8 ← (byte~) init_plot_tables::$6 | (byte~) init_plot_tables::$7
  *((byte[256]) plot_ylo + (byte) init_plot_tables::y) ← (byte~) init_plot_tables::$8
  (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs
  *((byte[256]) plot_yhi + (byte) init_plot_tables::y) ← (byte~) init_plot_tables::$9
  (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y & (byte/signed byte/word/signed word/dword/signed dword) 7
  (boolean~) init_plot_tables::$11 ← (byte~) init_plot_tables::$10 == (byte/signed byte/word/signed word/dword/signed dword) 7
  (boolean~) init_plot_tables::$12 ← ! (boolean~) init_plot_tables::$11
  if((boolean~) init_plot_tables::$12) goto init_plot_tables::@4
  to:init_plot_tables::@7
init_plot_tables::@4: scope:[init_plot_tables]  from init_plot_tables::@3 init_plot_tables::@7
  (byte) init_plot_tables::y ← ++ (byte) init_plot_tables::y
  (boolean~) init_plot_tables::$15 ← (byte) init_plot_tables::y != (byte/signed byte/word/signed word/dword/signed dword) 0
  if((boolean~) init_plot_tables::$15) goto init_plot_tables::@3
  to:init_plot_tables::@8
init_plot_tables::@7: scope:[init_plot_tables]  from init_plot_tables::@3
  (word/signed word/dword/signed dword~) init_plot_tables::$13 ← (byte/signed byte/word/signed word/dword/signed dword) 40 * (byte/signed byte/word/signed word/dword/signed dword) 8
  (byte*~) init_plot_tables::$14 ← (byte*) init_plot_tables::yoffs + (word/signed word/dword/signed dword~) init_plot_tables::$13
  (byte*) init_plot_tables::yoffs ← (byte*~) init_plot_tables::$14
  to:init_plot_tables::@4
init_plot_tables::@8: scope:[init_plot_tables]  from init_plot_tables::@4
  to:init_plot_tables::@return
init_plot_tables::@return: scope:[init_plot_tables]  from init_plot_tables::@8
  return 
  to:@return
@9: scope:[]  from @8
  to:@10
init_screen: scope:[init_screen]  from
  (byte*) init_screen::b ← (byte*) BITMAP
  to:init_screen::@1
init_screen::@1: scope:[init_screen]  from init_screen init_screen::@1
  *((byte*) init_screen::b) ← (byte/signed byte/word/signed word/dword/signed dword) 0
  (byte*) init_screen::b ← ++ (byte*) init_screen::b
  (byte*~) init_screen::$0 ← (byte*) BITMAP + (word/signed word/dword/signed dword) 8192
  (boolean~) init_screen::$1 ← (byte*) init_screen::b != (byte*~) init_screen::$0
  if((boolean~) init_screen::$1) goto init_screen::@1
  to:init_screen::@3
init_screen::@3: scope:[init_screen]  from init_screen::@1
  (byte*) init_screen::c ← (byte*) SCREEN
  to:init_screen::@2
init_screen::@2: scope:[init_screen]  from init_screen::@2 init_screen::@3
  *((byte*) init_screen::c) ← (byte/signed byte/word/signed word/dword/signed dword) 20
  (byte*) init_screen::c ← ++ (byte*) init_screen::c
  (byte*~) init_screen::$2 ← (byte*) SCREEN + (word/signed word/dword/signed dword) 1024
  (boolean~) init_screen::$3 ← (byte*) init_screen::c != (byte*~) init_screen::$2
  if((boolean~) init_screen::$3) goto init_screen::@2
  to:init_screen::@4
init_screen::@4: scope:[init_screen]  from init_screen::@2
  to:init_screen::@return
init_screen::@return: scope:[init_screen]  from init_screen::@4
  return 
  to:@return
@10: scope:[]  from @9
  call main 
  to:@end
@end: scope:[]  from @10

Eliminating unused variable (byte*) COLS and assignment [0] (byte*) COLS ← ((byte*)) (word/dword/signed dword) 55296
Eliminating unused variable (byte*) SCROLL and assignment [3] (byte*) SCROLL ← ((byte*)) (word/dword/signed dword) 53270
Eliminating unused variable (byte) RST8 and assignment [6] (byte) RST8 ← (byte/word/signed word/dword/signed dword) 128
Eliminating unused variable (byte) ECM and assignment [7] (byte) ECM ← (byte/signed byte/word/signed word/dword/signed dword) 64
Eliminating unused variable (byte*) D016 and assignment [11] (byte*) D016 ← ((byte*)) (word/dword/signed dword) 53270
Eliminating unused variable (byte) MCM and assignment [12] (byte) MCM ← (byte/signed byte/word/signed word/dword/signed dword) 16
Eliminating unused variable (byte) CSEL and assignment [13] (byte) CSEL ← (byte/signed byte/word/signed word/dword/signed dword) 8
Eliminating unused variable - keeping the call (void~) main::$9
Eliminating unused variable - keeping the call (void~) main::$10
Eliminating unused variable - keeping the call (void~) main::$11
Eliminating unused variable - keeping the call (void~) lines::$2
Eliminating unused variable - keeping the call (void~) line::$9
Eliminating unused variable - keeping the call (void~) line::$8
Eliminating unused variable - keeping the call (void~) line::$14
Eliminating unused variable - keeping the call (void~) line::$13
Eliminating unused variable - keeping the call (void~) line::$22
Eliminating unused variable - keeping the call (void~) line::$21
Eliminating unused variable - keeping the call (void~) line::$27
Eliminating unused variable - keeping the call (void~) line::$26
Eliminating unused variable - keeping the call (void~) line_xdyi::$1
Eliminating unused variable - keeping the call (void~) line_xdyd::$1
Eliminating unused variable - keeping the call (void~) line_ydxi::$1
Eliminating unused variable - keeping the call (void~) line_ydxd::$1
Removing empty block main::@2
Removing empty block @1
Removing empty block lines::@2
Removing empty block @2
Removing empty block line::@4
Removing empty block line::@18
Removing empty block line::@5
Removing empty block line::@19
Removing empty block line::@7
Removing empty block line::@21
Removing empty block line::@8
Removing empty block line::@22
Removing empty block line::@11
Removing empty block line::@25
Removing empty block line::@12
Removing empty block line::@26
Removing empty block line::@14
Removing empty block line::@28
Removing empty block @3
Removing empty block line_xdyi::@4
Removing empty block @4
Removing empty block line_xdyd::@4
Removing empty block @5
Removing empty block line_ydxi::@4
Removing empty block @6
Removing empty block line_ydxd::@4
Removing empty block @7
Removing empty block @8
Removing empty block init_plot_tables::@8
Removing empty block @9
Removing empty block init_screen::@4
PROCEDURE MODIFY VARIABLE ANALYSIS

Completing Phi functions...
Completing Phi functions...
Completing Phi functions...
Completing Phi functions...
Completing Phi functions...
Completing Phi functions...
Completing Phi functions...
Completing Phi functions...

CONTROL FLOW GRAPH SSA WITH ASSIGNMENT CALL & RETURN
@begin: scope:[]  from
  (byte*) BGCOL#0 ← ((byte*)) (word/dword/signed dword) 53280
  (byte*) FGCOL#0 ← ((byte*)) (word/dword/signed dword) 53281
  (byte*) D018#0 ← ((byte*)) (word/dword/signed dword) 53272
  (byte*) D011#0 ← ((byte*)) (word/dword/signed dword) 53265
  (byte) BMM#0 ← (byte/signed byte/word/signed word/dword/signed dword) 32
  (byte) DEN#0 ← (byte/signed byte/word/signed word/dword/signed dword) 16
  (byte) RSEL#0 ← (byte/signed byte/word/signed word/dword/signed dword) 8
  (byte*) SCREEN#0 ← ((byte*)) (word/signed word/dword/signed dword) 1024
  (byte*) BITMAP#0 ← ((byte*)) (word/signed word/dword/signed dword) 8192
  (byte[256]) plot_xlo#0 ← { fill( 256, 0) }
  (byte[256]) plot_xhi#0 ← { fill( 256, 0) }
  (byte[256]) plot_ylo#0 ← { fill( 256, 0) }
  (byte[256]) plot_yhi#0 ← { fill( 256, 0) }
  (byte[256]) plot_bit#0 ← { fill( 256, 0) }
  (byte[]) lines_x#0 ← { (byte/signed byte/word/signed word/dword/signed dword) 60, (byte/signed byte/word/signed word/dword/signed dword) 80, (byte/signed byte/word/signed word/dword/signed dword) 110, (byte/signed byte/word/signed word/dword/signed dword) 80, (byte/signed byte/word/signed word/dword/signed dword) 60, (byte/signed byte/word/signed word/dword/signed dword) 40, (byte/signed byte/word/signed word/dword/signed dword) 10, (byte/signed byte/word/signed word/dword/signed dword) 40, (byte/signed byte/word/signed word/dword/signed dword) 60 }
  (byte[]) lines_y#0 ← { (byte/signed byte/word/signed word/dword/signed dword) 10, (byte/signed byte/word/signed word/dword/signed dword) 40, (byte/signed byte/word/signed word/dword/signed dword) 60, (byte/signed byte/word/signed word/dword/signed dword) 80, (byte/signed byte/word/signed word/dword/signed dword) 110, (byte/signed byte/word/signed word/dword/signed dword) 80, (byte/signed byte/word/signed word/dword/signed dword) 60, (byte/signed byte/word/signed word/dword/signed dword) 40, (byte/signed byte/word/signed word/dword/signed dword) 10 }
  (byte) lines_cnt#0 ← (byte/signed byte/word/signed word/dword/signed dword) 8
  to:@10
main: scope:[main]  from @10
  (byte) lines_cnt#8 ← phi( @10/(byte) lines_cnt#9 )
  (byte*) D018#1 ← phi( @10/(byte*) D018#2 )
  (byte*) SCREEN#1 ← phi( @10/(byte*) SCREEN#4 )
  (byte*) D011#1 ← phi( @10/(byte*) D011#2 )
  (byte) RSEL#1 ← phi( @10/(byte) RSEL#2 )
  (byte) DEN#1 ← phi( @10/(byte) DEN#2 )
  (byte) BMM#1 ← phi( @10/(byte) BMM#2 )
  (byte*) FGCOL#1 ← phi( @10/(byte*) FGCOL#2 )
  (byte*) BGCOL#1 ← phi( @10/(byte*) BGCOL#2 )
  *((byte*) BGCOL#1) ← (byte/signed byte/word/signed word/dword/signed dword) 0
  *((byte*) FGCOL#1) ← (byte/signed byte/word/signed word/dword/signed dword) 0
  (byte~) main::$0 ← (byte) BMM#1 | (byte) DEN#1
  (byte~) main::$1 ← (byte~) main::$0 | (byte) RSEL#1
  (byte~) main::$2 ← (byte~) main::$1 | (byte/signed byte/word/signed word/dword/signed dword) 3
  *((byte*) D011#1) ← (byte~) main::$2
  (word~) main::$3 ← ((word)) (byte*) SCREEN#1
  (word~) main::$4 ← (word~) main::$3 / (byte/signed byte/word/signed word/dword/signed dword) 64
  (word~) main::$5 ← ((word)) (byte*) BITMAP#0
  (word~) main::$6 ← (word~) main::$5 / (word/signed word/dword/signed dword) 1024
  (word~) main::$7 ← (word~) main::$4 | (word~) main::$6
  (byte~) main::$8 ← ((byte)) (word~) main::$7
  *((byte*) D018#1) ← (byte~) main::$8
  call init_screen param-assignment
  to:main::@3
main::@3: scope:[main]  from main
  (byte) lines_cnt#7 ← phi( main/(byte) lines_cnt#8 )
  call init_plot_tables param-assignment
  to:main::@4
main::@4: scope:[main]  from main::@3
  (byte) lines_cnt#5 ← phi( main::@3/(byte) lines_cnt#7 )
  to:main::@1
main::@1: scope:[main]  from main::@4 main::@5
  (byte) lines_cnt#4 ← phi( main::@4/(byte) lines_cnt#5 main::@5/(byte) lines_cnt#6 )
  call lines param-assignment
  to:main::@5
main::@5: scope:[main]  from main::@1
  (byte) lines_cnt#6 ← phi( main::@1/(byte) lines_cnt#4 )
  if(true) goto main::@1
  to:main::@return
main::@return: scope:[main]  from main::@5
  return 
  to:@return
lines: scope:[lines]  from main::@1
  (byte) lines_cnt#3 ← phi( main::@1/(byte) lines_cnt#4 )
  (byte) lines::l#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0
  to:lines::@1
lines::@1: scope:[lines]  from lines lines::@3
  (byte) lines_cnt#2 ← phi( lines/(byte) lines_cnt#3 lines::@3/(byte) lines_cnt#1 )
  (byte) lines::l#2 ← phi( lines/(byte) lines::l#0 lines::@3/(byte) lines::l#1 )
  (byte/word~) lines::$0 ← (byte) lines::l#2 + (byte/signed byte/word/signed word/dword/signed dword) 1
  (byte/word~) lines::$1 ← (byte) lines::l#2 + (byte/signed byte/word/signed word/dword/signed dword) 1
  (byte) line::x0#0 ← *((byte[]) lines_x#0 + (byte) lines::l#2)
  (byte) line::x1#0 ← *((byte[]) lines_x#0 + (byte/word~) lines::$0)
  (byte) line::y0#0 ← *((byte[]) lines_y#0 + (byte) lines::l#2)
  (byte) line::y1#0 ← *((byte[]) lines_y#0 + (byte/word~) lines::$1)
  call line param-assignment
  to:lines::@3
lines::@3: scope:[lines]  from lines::@1
  (byte) lines_cnt#1 ← phi( lines::@1/(byte) lines_cnt#2 )
  (byte) lines::l#3 ← phi( lines::@1/(byte) lines::l#2 )
  (byte) lines::l#1 ← ++ (byte) lines::l#3
  (boolean~) lines::$3 ← (byte) lines::l#1 < (byte) lines_cnt#1
  if((boolean~) lines::$3) goto lines::@1
  to:lines::@return
lines::@return: scope:[lines]  from lines::@3
  return 
  to:@return
line: scope:[line]  from lines::@1
  (byte) line::y1#13 ← phi( lines::@1/(byte) line::y1#0 )
  (byte) line::y0#13 ← phi( lines::@1/(byte) line::y0#0 )
  (byte) line::x1#1 ← phi( lines::@1/(byte) line::x1#0 )
  (byte) line::x0#1 ← phi( lines::@1/(byte) line::x0#0 )
  (boolean~) line::$0 ← (byte) line::x0#1 < (byte) line::x1#1
  (boolean~) line::$1 ← ! (boolean~) line::$0
  if((boolean~) line::$1) goto line::@1
  to:line::@15
line::@1: scope:[line]  from line
  (byte) line::y1#1 ← phi( line/(byte) line::y1#13 )
  (byte) line::y0#1 ← phi( line/(byte) line::y0#13 )
  (byte) line::x1#2 ← phi( line/(byte) line::x1#1 )
  (byte) line::x0#2 ← phi( line/(byte) line::x0#1 )
  (byte/signed byte/word/signed word/dword/signed dword~) line::$15 ← (byte) line::x0#2 - (byte) line::x1#2
  (byte) line::xd#0 ← (byte/signed byte/word/signed word/dword/signed dword~) line::$15
  (boolean~) line::$16 ← (byte) line::y0#1 < (byte) line::y1#1
  (boolean~) line::$17 ← ! (boolean~) line::$16
  if((boolean~) line::$17) goto line::@9
  to:line::@23
line::@15: scope:[line]  from line
  (byte) line::y1#2 ← phi( line/(byte) line::y1#13 )
  (byte) line::y0#2 ← phi( line/(byte) line::y0#13 )
  (byte) line::x0#3 ← phi( line/(byte) line::x0#1 )
  (byte) line::x1#3 ← phi( line/(byte) line::x1#1 )
  (byte/signed byte/word/signed word/dword/signed dword~) line::$2 ← (byte) line::x1#3 - (byte) line::x0#3
  (byte) line::xd#1 ← (byte/signed byte/word/signed word/dword/signed dword~) line::$2
  (boolean~) line::$3 ← (byte) line::y0#2 < (byte) line::y1#2
  (boolean~) line::$4 ← ! (boolean~) line::$3
  if((boolean~) line::$4) goto line::@2
  to:line::@16
line::@2: scope:[line]  from line::@15
  (byte) line::x0#11 ← phi( line::@15/(byte) line::x0#3 )
  (byte) line::x1#11 ← phi( line::@15/(byte) line::x1#3 )
  (byte) line::xd#2 ← phi( line::@15/(byte) line::xd#1 )
  (byte) line::y1#3 ← phi( line::@15/(byte) line::y1#2 )
  (byte) line::y0#3 ← phi( line::@15/(byte) line::y0#2 )
  (byte/signed byte/word/signed word/dword/signed dword~) line::$10 ← (byte) line::y0#3 - (byte) line::y1#3
  (byte) line::yd#0 ← (byte/signed byte/word/signed word/dword/signed dword~) line::$10
  (boolean~) line::$11 ← (byte) line::yd#0 < (byte) line::xd#2
  (boolean~) line::$12 ← ! (boolean~) line::$11
  if((boolean~) line::$12) goto line::@6
  to:line::@20
line::@16: scope:[line]  from line::@15
  (byte) line::x1#10 ← phi( line::@15/(byte) line::x1#3 )
  (byte) line::x0#10 ← phi( line::@15/(byte) line::x0#3 )
  (byte) line::xd#3 ← phi( line::@15/(byte) line::xd#1 )
  (byte) line::y0#4 ← phi( line::@15/(byte) line::y0#2 )
  (byte) line::y1#4 ← phi( line::@15/(byte) line::y1#2 )
  (byte/signed byte/word/signed word/dword/signed dword~) line::$5 ← (byte) line::y1#4 - (byte) line::y0#4
  (byte) line::yd#1 ← (byte/signed byte/word/signed word/dword/signed dword~) line::$5
  (boolean~) line::$6 ← (byte) line::yd#1 < (byte) line::xd#3
  (boolean~) line::$7 ← ! (boolean~) line::$6
  if((boolean~) line::$7) goto line::@3
  to:line::@17
line::@3: scope:[line]  from line::@16
  (byte) line::xd#4 ← phi( line::@16/(byte) line::xd#3 )
  (byte) line::yd#4 ← phi( line::@16/(byte) line::yd#1 )
  (byte) line::y1#5 ← phi( line::@16/(byte) line::y1#4 )
  (byte) line::x0#4 ← phi( line::@16/(byte) line::x0#10 )
  (byte) line::y0#5 ← phi( line::@16/(byte) line::y0#4 )
  (byte) line_ydxi::y#0 ← (byte) line::y0#5
  (byte) line_ydxi::x#0 ← (byte) line::x0#4
  (byte) line_ydxi::y1#0 ← (byte) line::y1#5
  (byte) line_ydxi::yd#0 ← (byte) line::yd#4
  (byte) line_ydxi::xd#0 ← (byte) line::xd#4
  call line_ydxi param-assignment
  to:line::@29
line::@29: scope:[line]  from line::@3
  to:line::@return
line::@17: scope:[line]  from line::@16
  (byte) line::yd#5 ← phi( line::@16/(byte) line::yd#1 )
  (byte) line::xd#5 ← phi( line::@16/(byte) line::xd#3 )
  (byte) line::x1#4 ← phi( line::@16/(byte) line::x1#10 )
  (byte) line::y0#6 ← phi( line::@16/(byte) line::y0#4 )
  (byte) line::x0#5 ← phi( line::@16/(byte) line::x0#10 )
  (byte) line_xdyi::x#0 ← (byte) line::x0#5
  (byte) line_xdyi::y#0 ← (byte) line::y0#6
  (byte) line_xdyi::x1#0 ← (byte) line::x1#4
  (byte) line_xdyi::xd#0 ← (byte) line::xd#5
  (byte) line_xdyi::yd#0 ← (byte) line::yd#5
  call line_xdyi param-assignment
  to:line::@30
line::@30: scope:[line]  from line::@17
  to:line::@return
line::@6: scope:[line]  from line::@2
  (byte) line::xd#6 ← phi( line::@2/(byte) line::xd#2 )
  (byte) line::yd#6 ← phi( line::@2/(byte) line::yd#0 )
  (byte) line::y0#7 ← phi( line::@2/(byte) line::y0#3 )
  (byte) line::x1#5 ← phi( line::@2/(byte) line::x1#11 )
  (byte) line::y1#6 ← phi( line::@2/(byte) line::y1#3 )
  (byte) line_ydxd::y#0 ← (byte) line::y1#6
  (byte) line_ydxd::x#0 ← (byte) line::x1#5
  (byte) line_ydxd::y1#0 ← (byte) line::y0#7
  (byte) line_ydxd::yd#0 ← (byte) line::yd#6
  (byte) line_ydxd::xd#0 ← (byte) line::xd#6
  call line_ydxd param-assignment
  to:line::@31
line::@31: scope:[line]  from line::@6
  to:line::@return
line::@20: scope:[line]  from line::@2
  (byte) line::yd#7 ← phi( line::@2/(byte) line::yd#0 )
  (byte) line::xd#7 ← phi( line::@2/(byte) line::xd#2 )
  (byte) line::x1#6 ← phi( line::@2/(byte) line::x1#11 )
  (byte) line::y0#8 ← phi( line::@2/(byte) line::y0#3 )
  (byte) line::x0#6 ← phi( line::@2/(byte) line::x0#11 )
  (byte) line_xdyd::x#0 ← (byte) line::x0#6
  (byte) line_xdyd::y#0 ← (byte) line::y0#8
  (byte) line_xdyd::x1#0 ← (byte) line::x1#6
  (byte) line_xdyd::xd#0 ← (byte) line::xd#7
  (byte) line_xdyd::yd#0 ← (byte) line::yd#7
  call line_xdyd param-assignment
  to:line::@32
line::@32: scope:[line]  from line::@20
  to:line::@return
line::@9: scope:[line]  from line::@1
  (byte) line::x0#13 ← phi( line::@1/(byte) line::x0#2 )
  (byte) line::x1#13 ← phi( line::@1/(byte) line::x1#2 )
  (byte) line::xd#8 ← phi( line::@1/(byte) line::xd#0 )
  (byte) line::y1#7 ← phi( line::@1/(byte) line::y1#1 )
  (byte) line::y0#9 ← phi( line::@1/(byte) line::y0#1 )
  (byte/signed byte/word/signed word/dword/signed dword~) line::$23 ← (byte) line::y0#9 - (byte) line::y1#7
  (byte) line::yd#2 ← (byte/signed byte/word/signed word/dword/signed dword~) line::$23
  (boolean~) line::$24 ← (byte) line::yd#2 < (byte) line::xd#8
  (boolean~) line::$25 ← ! (boolean~) line::$24
  if((boolean~) line::$25) goto line::@13
  to:line::@27
line::@23: scope:[line]  from line::@1
  (byte) line::x1#12 ← phi( line::@1/(byte) line::x1#2 )
  (byte) line::x0#12 ← phi( line::@1/(byte) line::x0#2 )
  (byte) line::xd#9 ← phi( line::@1/(byte) line::xd#0 )
  (byte) line::y0#10 ← phi( line::@1/(byte) line::y0#1 )
  (byte) line::y1#8 ← phi( line::@1/(byte) line::y1#1 )
  (byte/signed byte/word/signed word/dword/signed dword~) line::$18 ← (byte) line::y1#8 - (byte) line::y0#10
  (byte) line::yd#3 ← (byte/signed byte/word/signed word/dword/signed dword~) line::$18
  (boolean~) line::$19 ← (byte) line::yd#3 < (byte) line::xd#9
  (boolean~) line::$20 ← ! (boolean~) line::$19
  if((boolean~) line::$20) goto line::@10
  to:line::@24
line::@10: scope:[line]  from line::@23
  (byte) line::xd#10 ← phi( line::@23/(byte) line::xd#9 )
  (byte) line::yd#8 ← phi( line::@23/(byte) line::yd#3 )
  (byte) line::y1#9 ← phi( line::@23/(byte) line::y1#8 )
  (byte) line::x0#7 ← phi( line::@23/(byte) line::x0#12 )
  (byte) line::y0#11 ← phi( line::@23/(byte) line::y0#10 )
  (byte) line_ydxd::y#1 ← (byte) line::y0#11
  (byte) line_ydxd::x#1 ← (byte) line::x0#7
  (byte) line_ydxd::y1#1 ← (byte) line::y1#9
  (byte) line_ydxd::yd#1 ← (byte) line::yd#8
  (byte) line_ydxd::xd#1 ← (byte) line::xd#10
  call line_ydxd param-assignment
  to:line::@33
line::@33: scope:[line]  from line::@10
  to:line::@return
line::@24: scope:[line]  from line::@23
  (byte) line::yd#9 ← phi( line::@23/(byte) line::yd#3 )
  (byte) line::xd#11 ← phi( line::@23/(byte) line::xd#9 )
  (byte) line::x0#8 ← phi( line::@23/(byte) line::x0#12 )
  (byte) line::y1#10 ← phi( line::@23/(byte) line::y1#8 )
  (byte) line::x1#7 ← phi( line::@23/(byte) line::x1#12 )
  (byte) line_xdyd::x#1 ← (byte) line::x1#7
  (byte) line_xdyd::y#1 ← (byte) line::y1#10
  (byte) line_xdyd::x1#1 ← (byte) line::x0#8
  (byte) line_xdyd::xd#1 ← (byte) line::xd#11
  (byte) line_xdyd::yd#1 ← (byte) line::yd#9
  call line_xdyd param-assignment
  to:line::@34
line::@34: scope:[line]  from line::@24
  to:line::@return
line::@13: scope:[line]  from line::@9
  (byte) line::xd#12 ← phi( line::@9/(byte) line::xd#8 )
  (byte) line::yd#10 ← phi( line::@9/(byte) line::yd#2 )
  (byte) line::y0#12 ← phi( line::@9/(byte) line::y0#9 )
  (byte) line::x1#8 ← phi( line::@9/(byte) line::x1#13 )
  (byte) line::y1#11 ← phi( line::@9/(byte) line::y1#7 )
  (byte) line_ydxi::y#1 ← (byte) line::y1#11
  (byte) line_ydxi::x#1 ← (byte) line::x1#8
  (byte) line_ydxi::y1#1 ← (byte) line::y0#12
  (byte) line_ydxi::yd#1 ← (byte) line::yd#10
  (byte) line_ydxi::xd#1 ← (byte) line::xd#12
  call line_ydxi param-assignment
  to:line::@35
line::@35: scope:[line]  from line::@13
  to:line::@return
line::@27: scope:[line]  from line::@9
  (byte) line::yd#11 ← phi( line::@9/(byte) line::yd#2 )
  (byte) line::xd#13 ← phi( line::@9/(byte) line::xd#8 )
  (byte) line::x0#9 ← phi( line::@9/(byte) line::x0#13 )
  (byte) line::y1#12 ← phi( line::@9/(byte) line::y1#7 )
  (byte) line::x1#9 ← phi( line::@9/(byte) line::x1#13 )
  (byte) line_xdyi::x#1 ← (byte) line::x1#9
  (byte) line_xdyi::y#1 ← (byte) line::y1#12
  (byte) line_xdyi::x1#1 ← (byte) line::x0#9
  (byte) line_xdyi::xd#1 ← (byte) line::xd#13
  (byte) line_xdyi::yd#1 ← (byte) line::yd#11
  call line_xdyi param-assignment
  to:line::@36
line::@36: scope:[line]  from line::@27
  to:line::@return
line::@return: scope:[line]  from line::@29 line::@30 line::@31 line::@32 line::@33 line::@34 line::@35 line::@36
  return 
  to:@return
line_xdyi: scope:[line_xdyi]  from line::@17 line::@27
  (byte) line_xdyi::x1#6 ← phi( line::@17/(byte) line_xdyi::x1#0 line::@27/(byte) line_xdyi::x1#1 )
  (byte) line_xdyi::xd#5 ← phi( line::@17/(byte) line_xdyi::xd#0 line::@27/(byte) line_xdyi::xd#1 )
  (byte) line_xdyi::y#5 ← phi( line::@17/(byte) line_xdyi::y#0 line::@27/(byte) line_xdyi::y#1 )
  (byte) line_xdyi::x#6 ← phi( line::@17/(byte) line_xdyi::x#0 line::@27/(byte) line_xdyi::x#1 )
  (byte) line_xdyi::yd#2 ← phi( line::@17/(byte) line_xdyi::yd#0 line::@27/(byte) line_xdyi::yd#1 )
  (byte~) line_xdyi::$0 ← (byte) line_xdyi::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1
  (byte) line_xdyi::e#0 ← (byte~) line_xdyi::$0
  to:line_xdyi::@1
line_xdyi::@1: scope:[line_xdyi]  from line_xdyi line_xdyi::@2
  (byte) line_xdyi::x1#5 ← phi( line_xdyi/(byte) line_xdyi::x1#6 line_xdyi::@2/(byte) line_xdyi::x1#2 )
  (byte) line_xdyi::xd#4 ← phi( line_xdyi/(byte) line_xdyi::xd#5 line_xdyi::@2/(byte) line_xdyi::xd#6 )
  (byte) line_xdyi::yd#4 ← phi( line_xdyi/(byte) line_xdyi::yd#2 line_xdyi::@2/(byte) line_xdyi::yd#5 )
  (byte) line_xdyi::e#5 ← phi( line_xdyi/(byte) line_xdyi::e#0 line_xdyi::@2/(byte) line_xdyi::e#6 )
  (byte) line_xdyi::y#3 ← phi( line_xdyi/(byte) line_xdyi::y#5 line_xdyi::@2/(byte) line_xdyi::y#6 )
  (byte) line_xdyi::x#3 ← phi( line_xdyi/(byte) line_xdyi::x#6 line_xdyi::@2/(byte) line_xdyi::x#5 )
  (byte) plot::x#0 ← (byte) line_xdyi::x#3
  (byte) plot::y#0 ← (byte) line_xdyi::y#3
  call plot param-assignment
  to:line_xdyi::@5
line_xdyi::@5: scope:[line_xdyi]  from line_xdyi::@1
  (byte) line_xdyi::y#7 ← phi( line_xdyi::@1/(byte) line_xdyi::y#3 )
  (byte) line_xdyi::x1#4 ← phi( line_xdyi::@1/(byte) line_xdyi::x1#5 )
  (byte) line_xdyi::xd#2 ← phi( line_xdyi::@1/(byte) line_xdyi::xd#4 )
  (byte) line_xdyi::yd#3 ← phi( line_xdyi::@1/(byte) line_xdyi::yd#4 )
  (byte) line_xdyi::e#3 ← phi( line_xdyi::@1/(byte) line_xdyi::e#5 )
  (byte) line_xdyi::x#4 ← phi( line_xdyi::@1/(byte) line_xdyi::x#3 )
  (byte) line_xdyi::x#2 ← ++ (byte) line_xdyi::x#4
  (byte/word~) line_xdyi::$2 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#3
  (byte) line_xdyi::e#1 ← (byte/word~) line_xdyi::$2
  (boolean~) line_xdyi::$3 ← (byte) line_xdyi::xd#2 < (byte) line_xdyi::e#1
  (boolean~) line_xdyi::$4 ← ! (boolean~) line_xdyi::$3
  if((boolean~) line_xdyi::$4) goto line_xdyi::@2
  to:line_xdyi::@3
line_xdyi::@2: scope:[line_xdyi]  from line_xdyi::@3 line_xdyi::@5
  (byte) line_xdyi::xd#6 ← phi( line_xdyi::@3/(byte) line_xdyi::xd#3 line_xdyi::@5/(byte) line_xdyi::xd#2 )
  (byte) line_xdyi::yd#5 ← phi( line_xdyi::@3/(byte) line_xdyi::yd#6 line_xdyi::@5/(byte) line_xdyi::yd#3 )
  (byte) line_xdyi::e#6 ← phi( line_xdyi::@3/(byte) line_xdyi::e#2 line_xdyi::@5/(byte) line_xdyi::e#1 )
  (byte) line_xdyi::y#6 ← phi( line_xdyi::@3/(byte) line_xdyi::y#2 line_xdyi::@5/(byte) line_xdyi::y#7 )
  (byte) line_xdyi::x#5 ← phi( line_xdyi::@3/(byte) line_xdyi::x#7 line_xdyi::@5/(byte) line_xdyi::x#2 )
  (byte) line_xdyi::x1#2 ← phi( line_xdyi::@3/(byte) line_xdyi::x1#3 line_xdyi::@5/(byte) line_xdyi::x1#4 )
  (byte/word~) line_xdyi::$6 ← (byte) line_xdyi::x1#2 + (byte/signed byte/word/signed word/dword/signed dword) 1
  (boolean~) line_xdyi::$7 ← (byte) line_xdyi::x#5 != (byte/word~) line_xdyi::$6
  if((boolean~) line_xdyi::$7) goto line_xdyi::@1
  to:line_xdyi::@return
line_xdyi::@3: scope:[line_xdyi]  from line_xdyi::@5
  (byte) line_xdyi::yd#6 ← phi( line_xdyi::@5/(byte) line_xdyi::yd#3 )
  (byte) line_xdyi::x#7 ← phi( line_xdyi::@5/(byte) line_xdyi::x#2 )
  (byte) line_xdyi::x1#3 ← phi( line_xdyi::@5/(byte) line_xdyi::x1#4 )
  (byte) line_xdyi::xd#3 ← phi( line_xdyi::@5/(byte) line_xdyi::xd#2 )
  (byte) line_xdyi::e#4 ← phi( line_xdyi::@5/(byte) line_xdyi::e#1 )
  (byte) line_xdyi::y#4 ← phi( line_xdyi::@5/(byte) line_xdyi::y#7 )
  (byte) line_xdyi::y#2 ← ++ (byte) line_xdyi::y#4
  (byte/signed byte/word/signed word/dword/signed dword~) line_xdyi::$5 ← (byte) line_xdyi::e#4 - (byte) line_xdyi::xd#3
  (byte) line_xdyi::e#2 ← (byte/signed byte/word/signed word/dword/signed dword~) line_xdyi::$5
  to:line_xdyi::@2
line_xdyi::@return: scope:[line_xdyi]  from line_xdyi::@2
  return 
  to:@return
line_xdyd: scope:[line_xdyd]  from line::@20 line::@24
  (byte) line_xdyd::x1#6 ← phi( line::@20/(byte) line_xdyd::x1#0 line::@24/(byte) line_xdyd::x1#1 )
  (byte) line_xdyd::xd#5 ← phi( line::@20/(byte) line_xdyd::xd#0 line::@24/(byte) line_xdyd::xd#1 )
  (byte) line_xdyd::y#5 ← phi( line::@20/(byte) line_xdyd::y#0 line::@24/(byte) line_xdyd::y#1 )
  (byte) line_xdyd::x#6 ← phi( line::@20/(byte) line_xdyd::x#0 line::@24/(byte) line_xdyd::x#1 )
  (byte) line_xdyd::yd#2 ← phi( line::@20/(byte) line_xdyd::yd#0 line::@24/(byte) line_xdyd::yd#1 )
  (byte~) line_xdyd::$0 ← (byte) line_xdyd::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1
  (byte) line_xdyd::e#0 ← (byte~) line_xdyd::$0
  to:line_xdyd::@1
line_xdyd::@1: scope:[line_xdyd]  from line_xdyd line_xdyd::@2
  (byte) line_xdyd::x1#5 ← phi( line_xdyd/(byte) line_xdyd::x1#6 line_xdyd::@2/(byte) line_xdyd::x1#2 )
  (byte) line_xdyd::xd#4 ← phi( line_xdyd/(byte) line_xdyd::xd#5 line_xdyd::@2/(byte) line_xdyd::xd#6 )
  (byte) line_xdyd::yd#4 ← phi( line_xdyd/(byte) line_xdyd::yd#2 line_xdyd::@2/(byte) line_xdyd::yd#5 )
  (byte) line_xdyd::e#5 ← phi( line_xdyd/(byte) line_xdyd::e#0 line_xdyd::@2/(byte) line_xdyd::e#6 )
  (byte) line_xdyd::y#3 ← phi( line_xdyd/(byte) line_xdyd::y#5 line_xdyd::@2/(byte) line_xdyd::y#6 )
  (byte) line_xdyd::x#3 ← phi( line_xdyd/(byte) line_xdyd::x#6 line_xdyd::@2/(byte) line_xdyd::x#5 )
  (byte) plot::x#1 ← (byte) line_xdyd::x#3
  (byte) plot::y#1 ← (byte) line_xdyd::y#3
  call plot param-assignment
  to:line_xdyd::@5
line_xdyd::@5: scope:[line_xdyd]  from line_xdyd::@1
  (byte) line_xdyd::y#7 ← phi( line_xdyd::@1/(byte) line_xdyd::y#3 )
  (byte) line_xdyd::x1#4 ← phi( line_xdyd::@1/(byte) line_xdyd::x1#5 )
  (byte) line_xdyd::xd#2 ← phi( line_xdyd::@1/(byte) line_xdyd::xd#4 )
  (byte) line_xdyd::yd#3 ← phi( line_xdyd::@1/(byte) line_xdyd::yd#4 )
  (byte) line_xdyd::e#3 ← phi( line_xdyd::@1/(byte) line_xdyd::e#5 )
  (byte) line_xdyd::x#4 ← phi( line_xdyd::@1/(byte) line_xdyd::x#3 )
  (byte) line_xdyd::x#2 ← ++ (byte) line_xdyd::x#4
  (byte/word~) line_xdyd::$2 ← (byte) line_xdyd::e#3 + (byte) line_xdyd::yd#3
  (byte) line_xdyd::e#1 ← (byte/word~) line_xdyd::$2
  (boolean~) line_xdyd::$3 ← (byte) line_xdyd::xd#2 < (byte) line_xdyd::e#1
  (boolean~) line_xdyd::$4 ← ! (boolean~) line_xdyd::$3
  if((boolean~) line_xdyd::$4) goto line_xdyd::@2
  to:line_xdyd::@3
line_xdyd::@2: scope:[line_xdyd]  from line_xdyd::@3 line_xdyd::@5
  (byte) line_xdyd::xd#6 ← phi( line_xdyd::@3/(byte) line_xdyd::xd#3 line_xdyd::@5/(byte) line_xdyd::xd#2 )
  (byte) line_xdyd::yd#5 ← phi( line_xdyd::@3/(byte) line_xdyd::yd#6 line_xdyd::@5/(byte) line_xdyd::yd#3 )
  (byte) line_xdyd::e#6 ← phi( line_xdyd::@3/(byte) line_xdyd::e#2 line_xdyd::@5/(byte) line_xdyd::e#1 )
  (byte) line_xdyd::y#6 ← phi( line_xdyd::@3/(byte) line_xdyd::y#2 line_xdyd::@5/(byte) line_xdyd::y#7 )
  (byte) line_xdyd::x#5 ← phi( line_xdyd::@3/(byte) line_xdyd::x#7 line_xdyd::@5/(byte) line_xdyd::x#2 )
  (byte) line_xdyd::x1#2 ← phi( line_xdyd::@3/(byte) line_xdyd::x1#3 line_xdyd::@5/(byte) line_xdyd::x1#4 )
  (byte/word~) line_xdyd::$6 ← (byte) line_xdyd::x1#2 + (byte/signed byte/word/signed word/dword/signed dword) 1
  (boolean~) line_xdyd::$7 ← (byte) line_xdyd::x#5 != (byte/word~) line_xdyd::$6
  if((boolean~) line_xdyd::$7) goto line_xdyd::@1
  to:line_xdyd::@return
line_xdyd::@3: scope:[line_xdyd]  from line_xdyd::@5
  (byte) line_xdyd::yd#6 ← phi( line_xdyd::@5/(byte) line_xdyd::yd#3 )
  (byte) line_xdyd::x#7 ← phi( line_xdyd::@5/(byte) line_xdyd::x#2 )
  (byte) line_xdyd::x1#3 ← phi( line_xdyd::@5/(byte) line_xdyd::x1#4 )
  (byte) line_xdyd::xd#3 ← phi( line_xdyd::@5/(byte) line_xdyd::xd#2 )
  (byte) line_xdyd::e#4 ← phi( line_xdyd::@5/(byte) line_xdyd::e#1 )
  (byte) line_xdyd::y#4 ← phi( line_xdyd::@5/(byte) line_xdyd::y#7 )
  (byte) line_xdyd::y#2 ← -- (byte) line_xdyd::y#4
  (byte/signed byte/word/signed word/dword/signed dword~) line_xdyd::$5 ← (byte) line_xdyd::e#4 - (byte) line_xdyd::xd#3
  (byte) line_xdyd::e#2 ← (byte/signed byte/word/signed word/dword/signed dword~) line_xdyd::$5
  to:line_xdyd::@2
line_xdyd::@return: scope:[line_xdyd]  from line_xdyd::@2
  return 
  to:@return
line_ydxi: scope:[line_ydxi]  from line::@13 line::@3
  (byte) line_ydxi::y1#6 ← phi( line::@13/(byte) line_ydxi::y1#1 line::@3/(byte) line_ydxi::y1#0 )
  (byte) line_ydxi::yd#5 ← phi( line::@13/(byte) line_ydxi::yd#1 line::@3/(byte) line_ydxi::yd#0 )
  (byte) line_ydxi::y#6 ← phi( line::@13/(byte) line_ydxi::y#1 line::@3/(byte) line_ydxi::y#0 )
  (byte) line_ydxi::x#5 ← phi( line::@13/(byte) line_ydxi::x#1 line::@3/(byte) line_ydxi::x#0 )
  (byte) line_ydxi::xd#2 ← phi( line::@13/(byte) line_ydxi::xd#1 line::@3/(byte) line_ydxi::xd#0 )
  (byte~) line_ydxi::$0 ← (byte) line_ydxi::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1
  (byte) line_ydxi::e#0 ← (byte~) line_ydxi::$0
  to:line_ydxi::@1
line_ydxi::@1: scope:[line_ydxi]  from line_ydxi line_ydxi::@2
  (byte) line_ydxi::y1#5 ← phi( line_ydxi/(byte) line_ydxi::y1#6 line_ydxi::@2/(byte) line_ydxi::y1#2 )
  (byte) line_ydxi::yd#4 ← phi( line_ydxi/(byte) line_ydxi::yd#5 line_ydxi::@2/(byte) line_ydxi::yd#6 )
  (byte) line_ydxi::xd#4 ← phi( line_ydxi/(byte) line_ydxi::xd#2 line_ydxi::@2/(byte) line_ydxi::xd#5 )
  (byte) line_ydxi::e#5 ← phi( line_ydxi/(byte) line_ydxi::e#0 line_ydxi::@2/(byte) line_ydxi::e#6 )
  (byte) line_ydxi::y#3 ← phi( line_ydxi/(byte) line_ydxi::y#6 line_ydxi::@2/(byte) line_ydxi::y#5 )
  (byte) line_ydxi::x#3 ← phi( line_ydxi/(byte) line_ydxi::x#5 line_ydxi::@2/(byte) line_ydxi::x#6 )
  (byte) plot::x#2 ← (byte) line_ydxi::x#3
  (byte) plot::y#2 ← (byte) line_ydxi::y#3
  call plot param-assignment
  to:line_ydxi::@5
line_ydxi::@5: scope:[line_ydxi]  from line_ydxi::@1
  (byte) line_ydxi::x#7 ← phi( line_ydxi::@1/(byte) line_ydxi::x#3 )
  (byte) line_ydxi::y1#4 ← phi( line_ydxi::@1/(byte) line_ydxi::y1#5 )
  (byte) line_ydxi::yd#2 ← phi( line_ydxi::@1/(byte) line_ydxi::yd#4 )
  (byte) line_ydxi::xd#3 ← phi( line_ydxi::@1/(byte) line_ydxi::xd#4 )
  (byte) line_ydxi::e#3 ← phi( line_ydxi::@1/(byte) line_ydxi::e#5 )
  (byte) line_ydxi::y#4 ← phi( line_ydxi::@1/(byte) line_ydxi::y#3 )
  (byte) line_ydxi::y#2 ← ++ (byte) line_ydxi::y#4
  (byte/word~) line_ydxi::$2 ← (byte) line_ydxi::e#3 + (byte) line_ydxi::xd#3
  (byte) line_ydxi::e#1 ← (byte/word~) line_ydxi::$2
  (boolean~) line_ydxi::$3 ← (byte) line_ydxi::yd#2 < (byte) line_ydxi::e#1
  (boolean~) line_ydxi::$4 ← ! (boolean~) line_ydxi::$3
  if((boolean~) line_ydxi::$4) goto line_ydxi::@2
  to:line_ydxi::@3
line_ydxi::@2: scope:[line_ydxi]  from line_ydxi::@3 line_ydxi::@5
  (byte) line_ydxi::yd#6 ← phi( line_ydxi::@3/(byte) line_ydxi::yd#3 line_ydxi::@5/(byte) line_ydxi::yd#2 )
  (byte) line_ydxi::xd#5 ← phi( line_ydxi::@3/(byte) line_ydxi::xd#6 line_ydxi::@5/(byte) line_ydxi::xd#3 )
  (byte) line_ydxi::e#6 ← phi( line_ydxi::@3/(byte) line_ydxi::e#2 line_ydxi::@5/(byte) line_ydxi::e#1 )
  (byte) line_ydxi::x#6 ← phi( line_ydxi::@3/(byte) line_ydxi::x#2 line_ydxi::@5/(byte) line_ydxi::x#7 )
  (byte) line_ydxi::y#5 ← phi( line_ydxi::@3/(byte) line_ydxi::y#7 line_ydxi::@5/(byte) line_ydxi::y#2 )
  (byte) line_ydxi::y1#2 ← phi( line_ydxi::@3/(byte) line_ydxi::y1#3 line_ydxi::@5/(byte) line_ydxi::y1#4 )
  (byte/word~) line_ydxi::$6 ← (byte) line_ydxi::y1#2 + (byte/signed byte/word/signed word/dword/signed dword) 1
  (boolean~) line_ydxi::$7 ← (byte) line_ydxi::y#5 != (byte/word~) line_ydxi::$6
  if((boolean~) line_ydxi::$7) goto line_ydxi::@1
  to:line_ydxi::@return
line_ydxi::@3: scope:[line_ydxi]  from line_ydxi::@5
  (byte) line_ydxi::xd#6 ← phi( line_ydxi::@5/(byte) line_ydxi::xd#3 )
  (byte) line_ydxi::y#7 ← phi( line_ydxi::@5/(byte) line_ydxi::y#2 )
  (byte) line_ydxi::y1#3 ← phi( line_ydxi::@5/(byte) line_ydxi::y1#4 )
  (byte) line_ydxi::yd#3 ← phi( line_ydxi::@5/(byte) line_ydxi::yd#2 )
  (byte) line_ydxi::e#4 ← phi( line_ydxi::@5/(byte) line_ydxi::e#1 )
  (byte) line_ydxi::x#4 ← phi( line_ydxi::@5/(byte) line_ydxi::x#7 )
  (byte) line_ydxi::x#2 ← ++ (byte) line_ydxi::x#4
  (byte/signed byte/word/signed word/dword/signed dword~) line_ydxi::$5 ← (byte) line_ydxi::e#4 - (byte) line_ydxi::yd#3
  (byte) line_ydxi::e#2 ← (byte/signed byte/word/signed word/dword/signed dword~) line_ydxi::$5
  to:line_ydxi::@2
line_ydxi::@return: scope:[line_ydxi]  from line_ydxi::@2
  return 
  to:@return
line_ydxd: scope:[line_ydxd]  from line::@10 line::@6
  (byte) line_ydxd::y1#6 ← phi( line::@10/(byte) line_ydxd::y1#1 line::@6/(byte) line_ydxd::y1#0 )
  (byte) line_ydxd::yd#5 ← phi( line::@10/(byte) line_ydxd::yd#1 line::@6/(byte) line_ydxd::yd#0 )
  (byte) line_ydxd::y#7 ← phi( line::@10/(byte) line_ydxd::y#1 line::@6/(byte) line_ydxd::y#0 )
  (byte) line_ydxd::x#5 ← phi( line::@10/(byte) line_ydxd::x#1 line::@6/(byte) line_ydxd::x#0 )
  (byte) line_ydxd::xd#2 ← phi( line::@10/(byte) line_ydxd::xd#1 line::@6/(byte) line_ydxd::xd#0 )
  (byte~) line_ydxd::$0 ← (byte) line_ydxd::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1
  (byte) line_ydxd::e#0 ← (byte~) line_ydxd::$0
  to:line_ydxd::@1
line_ydxd::@1: scope:[line_ydxd]  from line_ydxd line_ydxd::@2
  (byte) line_ydxd::y1#5 ← phi( line_ydxd/(byte) line_ydxd::y1#6 line_ydxd::@2/(byte) line_ydxd::y1#2 )
  (byte) line_ydxd::yd#4 ← phi( line_ydxd/(byte) line_ydxd::yd#5 line_ydxd::@2/(byte) line_ydxd::yd#6 )
  (byte) line_ydxd::xd#4 ← phi( line_ydxd/(byte) line_ydxd::xd#2 line_ydxd::@2/(byte) line_ydxd::xd#5 )
  (byte) line_ydxd::e#5 ← phi( line_ydxd/(byte) line_ydxd::e#0 line_ydxd::@2/(byte) line_ydxd::e#6 )
  (byte) line_ydxd::y#4 ← phi( line_ydxd/(byte) line_ydxd::y#7 line_ydxd::@2/(byte) line_ydxd::y#6 )
  (byte) line_ydxd::x#3 ← phi( line_ydxd/(byte) line_ydxd::x#5 line_ydxd::@2/(byte) line_ydxd::x#6 )
  (byte) plot::x#3 ← (byte) line_ydxd::x#3
  (byte) plot::y#3 ← (byte) line_ydxd::y#4
  call plot param-assignment
  to:line_ydxd::@5
line_ydxd::@5: scope:[line_ydxd]  from line_ydxd::@1
  (byte) line_ydxd::x#7 ← phi( line_ydxd::@1/(byte) line_ydxd::x#3 )
  (byte) line_ydxd::y1#4 ← phi( line_ydxd::@1/(byte) line_ydxd::y1#5 )
  (byte) line_ydxd::yd#2 ← phi( line_ydxd::@1/(byte) line_ydxd::yd#4 )
  (byte) line_ydxd::xd#3 ← phi( line_ydxd::@1/(byte) line_ydxd::xd#4 )
  (byte) line_ydxd::e#3 ← phi( line_ydxd::@1/(byte) line_ydxd::e#5 )
  (byte) line_ydxd::y#5 ← phi( line_ydxd::@1/(byte) line_ydxd::y#4 )
  (byte) line_ydxd::y#2 ← (byte) line_ydxd::y#5
  (byte) line_ydxd::y#3 ← ++ (byte) line_ydxd::y#2
  (byte/word~) line_ydxd::$2 ← (byte) line_ydxd::e#3 + (byte) line_ydxd::xd#3
  (byte) line_ydxd::e#1 ← (byte/word~) line_ydxd::$2
  (boolean~) line_ydxd::$3 ← (byte) line_ydxd::yd#2 < (byte) line_ydxd::e#1
  (boolean~) line_ydxd::$4 ← ! (boolean~) line_ydxd::$3
  if((boolean~) line_ydxd::$4) goto line_ydxd::@2
  to:line_ydxd::@3
line_ydxd::@2: scope:[line_ydxd]  from line_ydxd::@3 line_ydxd::@5
  (byte) line_ydxd::yd#6 ← phi( line_ydxd::@3/(byte) line_ydxd::yd#3 line_ydxd::@5/(byte) line_ydxd::yd#2 )
  (byte) line_ydxd::xd#5 ← phi( line_ydxd::@3/(byte) line_ydxd::xd#6 line_ydxd::@5/(byte) line_ydxd::xd#3 )
  (byte) line_ydxd::e#6 ← phi( line_ydxd::@3/(byte) line_ydxd::e#2 line_ydxd::@5/(byte) line_ydxd::e#1 )
  (byte) line_ydxd::x#6 ← phi( line_ydxd::@3/(byte) line_ydxd::x#2 line_ydxd::@5/(byte) line_ydxd::x#7 )
  (byte) line_ydxd::y#6 ← phi( line_ydxd::@3/(byte) line_ydxd::y#8 line_ydxd::@5/(byte) line_ydxd::y#3 )
  (byte) line_ydxd::y1#2 ← phi( line_ydxd::@3/(byte) line_ydxd::y1#3 line_ydxd::@5/(byte) line_ydxd::y1#4 )
  (byte/word~) line_ydxd::$6 ← (byte) line_ydxd::y1#2 + (byte/signed byte/word/signed word/dword/signed dword) 1
  (boolean~) line_ydxd::$7 ← (byte) line_ydxd::y#6 != (byte/word~) line_ydxd::$6
  if((boolean~) line_ydxd::$7) goto line_ydxd::@1
  to:line_ydxd::@return
line_ydxd::@3: scope:[line_ydxd]  from line_ydxd::@5
  (byte) line_ydxd::xd#6 ← phi( line_ydxd::@5/(byte) line_ydxd::xd#3 )
  (byte) line_ydxd::y#8 ← phi( line_ydxd::@5/(byte) line_ydxd::y#3 )
  (byte) line_ydxd::y1#3 ← phi( line_ydxd::@5/(byte) line_ydxd::y1#4 )
  (byte) line_ydxd::yd#3 ← phi( line_ydxd::@5/(byte) line_ydxd::yd#2 )
  (byte) line_ydxd::e#4 ← phi( line_ydxd::@5/(byte) line_ydxd::e#1 )
  (byte) line_ydxd::x#4 ← phi( line_ydxd::@5/(byte) line_ydxd::x#7 )
  (byte) line_ydxd::x#2 ← -- (byte) line_ydxd::x#4
  (byte/signed byte/word/signed word/dword/signed dword~) line_ydxd::$5 ← (byte) line_ydxd::e#4 - (byte) line_ydxd::yd#3
  (byte) line_ydxd::e#2 ← (byte/signed byte/word/signed word/dword/signed dword~) line_ydxd::$5
  to:line_ydxd::@2
line_ydxd::@return: scope:[line_ydxd]  from line_ydxd::@2
  return 
  to:@return
plot: scope:[plot]  from line_xdyd::@1 line_xdyi::@1 line_ydxd::@1 line_ydxi::@1
  (byte) plot::y#4 ← phi( line_xdyd::@1/(byte) plot::y#1 line_xdyi::@1/(byte) plot::y#0 line_ydxd::@1/(byte) plot::y#3 line_ydxi::@1/(byte) plot::y#2 )
  (byte) plot::x#4 ← phi( line_xdyd::@1/(byte) plot::x#1 line_xdyi::@1/(byte) plot::x#0 line_ydxd::@1/(byte) plot::x#3 line_ydxi::@1/(byte) plot::x#2 )
  (word) plot::plotter_x#0 ← { *((byte[256]) plot_xhi#0 + (byte) plot::x#4), *((byte[256]) plot_xlo#0 + (byte) plot::x#4) }
  (word) plot::plotter_y#0 ← { *((byte[256]) plot_yhi#0 + (byte) plot::y#4), *((byte[256]) plot_ylo#0 + (byte) plot::y#4) }
  (word~) plot::$0 ← (word) plot::plotter_x#0 + (word) plot::plotter_y#0
  (byte*) plot::plotter#0 ← ((byte*)) (word~) plot::$0
  (byte~) plot::$1 ← *((byte*) plot::plotter#0) | *((byte[256]) plot_bit#0 + (byte) plot::x#4)
  *((byte*) plot::plotter#0) ← (byte~) plot::$1
  to:plot::@return
plot::@return: scope:[plot]  from plot
  return 
  to:@return
init_plot_tables: scope:[init_plot_tables]  from main::@3
  (byte) init_plot_tables::bits#0 ← (byte/word/signed word/dword/signed dword) 128
  (byte) init_plot_tables::x#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0
  to:init_plot_tables::@1
init_plot_tables::@1: scope:[init_plot_tables]  from init_plot_tables init_plot_tables::@2
  (byte) init_plot_tables::bits#3 ← phi( init_plot_tables/(byte) init_plot_tables::bits#0 init_plot_tables::@2/(byte) init_plot_tables::bits#4 )
  (byte) init_plot_tables::x#2 ← phi( init_plot_tables/(byte) init_plot_tables::x#0 init_plot_tables::@2/(byte) init_plot_tables::x#1 )
  (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte/word/signed word/dword/signed dword) 248
  *((byte[256]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0
  (byte~) init_plot_tables::$1 ← > (byte*) BITMAP#0
  *((byte[256]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$1
  *((byte[256]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3
  (byte~) init_plot_tables::$2 ← (byte) init_plot_tables::bits#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1
  (byte) init_plot_tables::bits#1 ← (byte~) init_plot_tables::$2
  (boolean~) init_plot_tables::$3 ← (byte) init_plot_tables::bits#1 == (byte/signed byte/word/signed word/dword/signed dword) 0
  (boolean~) init_plot_tables::$4 ← ! (boolean~) init_plot_tables::$3
  if((boolean~) init_plot_tables::$4) goto init_plot_tables::@2
  to:init_plot_tables::@5
init_plot_tables::@2: scope:[init_plot_tables]  from init_plot_tables::@1 init_plot_tables::@5
  (byte) init_plot_tables::bits#4 ← phi( init_plot_tables::@1/(byte) init_plot_tables::bits#1 init_plot_tables::@5/(byte) init_plot_tables::bits#2 )
  (byte) init_plot_tables::x#3 ← phi( init_plot_tables::@1/(byte) init_plot_tables::x#2 init_plot_tables::@5/(byte) init_plot_tables::x#4 )
  (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#3
  (boolean~) init_plot_tables::$5 ← (byte) init_plot_tables::x#1 != (byte/signed byte/word/signed word/dword/signed dword) 0
  if((boolean~) init_plot_tables::$5) goto init_plot_tables::@1
  to:init_plot_tables::@6
init_plot_tables::@5: scope:[init_plot_tables]  from init_plot_tables::@1
  (byte) init_plot_tables::x#4 ← phi( init_plot_tables::@1/(byte) init_plot_tables::x#2 )
  (byte) init_plot_tables::bits#2 ← (byte/word/signed word/dword/signed dword) 128
  to:init_plot_tables::@2
init_plot_tables::@6: scope:[init_plot_tables]  from init_plot_tables::@2
  (byte*) init_plot_tables::yoffs#0 ← ((byte*)) (byte/signed byte/word/signed word/dword/signed dword) 0
  (byte) init_plot_tables::y#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0
  to:init_plot_tables::@3
init_plot_tables::@3: scope:[init_plot_tables]  from init_plot_tables::@4 init_plot_tables::@6
  (byte*) init_plot_tables::yoffs#2 ← phi( init_plot_tables::@4/(byte*) init_plot_tables::yoffs#4 init_plot_tables::@6/(byte*) init_plot_tables::yoffs#0 )
  (byte) init_plot_tables::y#2 ← phi( init_plot_tables::@4/(byte) init_plot_tables::y#1 init_plot_tables::@6/(byte) init_plot_tables::y#0 )
  (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7
  (byte~) init_plot_tables::$7 ← < (byte*) init_plot_tables::yoffs#2
  (byte~) init_plot_tables::$8 ← (byte~) init_plot_tables::$6 | (byte~) init_plot_tables::$7
  *((byte[256]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8
  (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2
  *((byte[256]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9
  (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7
  (boolean~) init_plot_tables::$11 ← (byte~) init_plot_tables::$10 == (byte/signed byte/word/signed word/dword/signed dword) 7
  (boolean~) init_plot_tables::$12 ← ! (boolean~) init_plot_tables::$11
  if((boolean~) init_plot_tables::$12) goto init_plot_tables::@4
  to:init_plot_tables::@7
init_plot_tables::@4: scope:[init_plot_tables]  from init_plot_tables::@3 init_plot_tables::@7
  (byte*) init_plot_tables::yoffs#4 ← phi( init_plot_tables::@3/(byte*) init_plot_tables::yoffs#2 init_plot_tables::@7/(byte*) init_plot_tables::yoffs#1 )
  (byte) init_plot_tables::y#3 ← phi( init_plot_tables::@3/(byte) init_plot_tables::y#2 init_plot_tables::@7/(byte) init_plot_tables::y#4 )
  (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#3
  (boolean~) init_plot_tables::$15 ← (byte) init_plot_tables::y#1 != (byte/signed byte/word/signed word/dword/signed dword) 0
  if((boolean~) init_plot_tables::$15) goto init_plot_tables::@3
  to:init_plot_tables::@return
init_plot_tables::@7: scope:[init_plot_tables]  from init_plot_tables::@3
  (byte) init_plot_tables::y#4 ← phi( init_plot_tables::@3/(byte) init_plot_tables::y#2 )
  (byte*) init_plot_tables::yoffs#3 ← phi( init_plot_tables::@3/(byte*) init_plot_tables::yoffs#2 )
  (word/signed word/dword/signed dword~) init_plot_tables::$13 ← (byte/signed byte/word/signed word/dword/signed dword) 40 * (byte/signed byte/word/signed word/dword/signed dword) 8
  (byte*~) init_plot_tables::$14 ← (byte*) init_plot_tables::yoffs#3 + (word/signed word/dword/signed dword~) init_plot_tables::$13
  (byte*) init_plot_tables::yoffs#1 ← (byte*~) init_plot_tables::$14
  to:init_plot_tables::@4
init_plot_tables::@return: scope:[init_plot_tables]  from init_plot_tables::@4
  return 
  to:@return
init_screen: scope:[init_screen]  from main
  (byte*) SCREEN#6 ← phi( main/(byte*) SCREEN#1 )
  (byte*) init_screen::b#0 ← (byte*) BITMAP#0
  to:init_screen::@1
init_screen::@1: scope:[init_screen]  from init_screen init_screen::@1
  (byte*) SCREEN#5 ← phi( init_screen/(byte*) SCREEN#6 init_screen::@1/(byte*) SCREEN#5 )
  (byte*) init_screen::b#2 ← phi( init_screen/(byte*) init_screen::b#0 init_screen::@1/(byte*) init_screen::b#1 )
  *((byte*) init_screen::b#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0
  (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2
  (byte*~) init_screen::$0 ← (byte*) BITMAP#0 + (word/signed word/dword/signed dword) 8192
  (boolean~) init_screen::$1 ← (byte*) init_screen::b#1 != (byte*~) init_screen::$0
  if((boolean~) init_screen::$1) goto init_screen::@1
  to:init_screen::@3
init_screen::@3: scope:[init_screen]  from init_screen::@1
  (byte*) SCREEN#2 ← phi( init_screen::@1/(byte*) SCREEN#5 )
  (byte*) init_screen::c#0 ← (byte*) SCREEN#2
  to:init_screen::@2
init_screen::@2: scope:[init_screen]  from init_screen::@2 init_screen::@3
  (byte*) SCREEN#3 ← phi( init_screen::@2/(byte*) SCREEN#3 init_screen::@3/(byte*) SCREEN#2 )
  (byte*) init_screen::c#2 ← phi( init_screen::@2/(byte*) init_screen::c#1 init_screen::@3/(byte*) init_screen::c#0 )
  *((byte*) init_screen::c#2) ← (byte/signed byte/word/signed word/dword/signed dword) 20
  (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2
  (byte*~) init_screen::$2 ← (byte*) SCREEN#3 + (word/signed word/dword/signed dword) 1024
  (boolean~) init_screen::$3 ← (byte*) init_screen::c#1 != (byte*~) init_screen::$2
  if((boolean~) init_screen::$3) goto init_screen::@2
  to:init_screen::@return
init_screen::@return: scope:[init_screen]  from init_screen::@2
  return 
  to:@return
@10: scope:[]  from @begin
  (byte) lines_cnt#9 ← phi( @begin/(byte) lines_cnt#0 )
  (byte*) D018#2 ← phi( @begin/(byte*) D018#0 )
  (byte*) SCREEN#4 ← phi( @begin/(byte*) SCREEN#0 )
  (byte*) D011#2 ← phi( @begin/(byte*) D011#0 )
  (byte) RSEL#2 ← phi( @begin/(byte) RSEL#0 )
  (byte) DEN#2 ← phi( @begin/(byte) DEN#0 )
  (byte) BMM#2 ← phi( @begin/(byte) BMM#0 )
  (byte*) FGCOL#2 ← phi( @begin/(byte*) FGCOL#0 )
  (byte*) BGCOL#2 ← phi( @begin/(byte*) BGCOL#0 )
  call main param-assignment
  to:@11
@11: scope:[]  from @10
  to:@end
@end: scope:[]  from @11

SYMBOL TABLE SSA
(label) @10
(label) @11
(label) @begin
(label) @end
(byte*) BGCOL
(byte*) BGCOL#0
(byte*) BGCOL#1
(byte*) BGCOL#2
(byte*) BITMAP
(byte*) BITMAP#0
(byte) BMM
(byte) BMM#0
(byte) BMM#1
(byte) BMM#2
(byte*) D011
(byte*) D011#0
(byte*) D011#1
(byte*) D011#2
(byte*) D018
(byte*) D018#0
(byte*) D018#1
(byte*) D018#2
(byte) DEN
(byte) DEN#0
(byte) DEN#1
(byte) DEN#2
(byte*) FGCOL
(byte*) FGCOL#0
(byte*) FGCOL#1
(byte*) FGCOL#2
(byte) RSEL
(byte) RSEL#0
(byte) RSEL#1
(byte) RSEL#2
(byte*) SCREEN
(byte*) SCREEN#0
(byte*) SCREEN#1
(byte*) SCREEN#2
(byte*) SCREEN#3
(byte*) SCREEN#4
(byte*) SCREEN#5
(byte*) SCREEN#6
(void()) init_plot_tables()
(byte~) init_plot_tables::$0
(byte~) init_plot_tables::$1
(byte~) init_plot_tables::$10
(boolean~) init_plot_tables::$11
(boolean~) init_plot_tables::$12
(word/signed word/dword/signed dword~) init_plot_tables::$13
(byte*~) init_plot_tables::$14
(boolean~) init_plot_tables::$15
(byte~) init_plot_tables::$2
(boolean~) init_plot_tables::$3
(boolean~) init_plot_tables::$4
(boolean~) init_plot_tables::$5
(byte~) init_plot_tables::$6
(byte~) init_plot_tables::$7
(byte~) init_plot_tables::$8
(byte~) init_plot_tables::$9
(label) init_plot_tables::@1
(label) init_plot_tables::@2
(label) init_plot_tables::@3
(label) init_plot_tables::@4
(label) init_plot_tables::@5
(label) init_plot_tables::@6
(label) init_plot_tables::@7
(label) init_plot_tables::@return
(byte) init_plot_tables::bits
(byte) init_plot_tables::bits#0
(byte) init_plot_tables::bits#1
(byte) init_plot_tables::bits#2
(byte) init_plot_tables::bits#3
(byte) init_plot_tables::bits#4
(byte) init_plot_tables::x
(byte) init_plot_tables::x#0
(byte) init_plot_tables::x#1
(byte) init_plot_tables::x#2
(byte) init_plot_tables::x#3
(byte) init_plot_tables::x#4
(byte) init_plot_tables::y
(byte) init_plot_tables::y#0
(byte) init_plot_tables::y#1
(byte) init_plot_tables::y#2
(byte) init_plot_tables::y#3
(byte) init_plot_tables::y#4
(byte*) init_plot_tables::yoffs
(byte*) init_plot_tables::yoffs#0
(byte*) init_plot_tables::yoffs#1
(byte*) init_plot_tables::yoffs#2
(byte*) init_plot_tables::yoffs#3
(byte*) init_plot_tables::yoffs#4
(void()) init_screen()
(byte*~) init_screen::$0
(boolean~) init_screen::$1
(byte*~) init_screen::$2
(boolean~) init_screen::$3
(label) init_screen::@1
(label) init_screen::@2
(label) init_screen::@3
(label) init_screen::@return
(byte*) init_screen::b
(byte*) init_screen::b#0
(byte*) init_screen::b#1
(byte*) init_screen::b#2
(byte*) init_screen::c
(byte*) init_screen::c#0
(byte*) init_screen::c#1
(byte*) init_screen::c#2
(void()) line((byte) line::x0 , (byte) line::x1 , (byte) line::y0 , (byte) line::y1)
(boolean~) line::$0
(boolean~) line::$1
(byte/signed byte/word/signed word/dword/signed dword~) line::$10
(boolean~) line::$11
(boolean~) line::$12
(byte/signed byte/word/signed word/dword/signed dword~) line::$15
(boolean~) line::$16
(boolean~) line::$17
(byte/signed byte/word/signed word/dword/signed dword~) line::$18
(boolean~) line::$19
(byte/signed byte/word/signed word/dword/signed dword~) line::$2
(boolean~) line::$20
(byte/signed byte/word/signed word/dword/signed dword~) line::$23
(boolean~) line::$24
(boolean~) line::$25
(boolean~) line::$3
(boolean~) line::$4
(byte/signed byte/word/signed word/dword/signed dword~) line::$5
(boolean~) line::$6
(boolean~) line::$7
(label) line::@1
(label) line::@10
(label) line::@13
(label) line::@15
(label) line::@16
(label) line::@17
(label) line::@2
(label) line::@20
(label) line::@23
(label) line::@24
(label) line::@27
(label) line::@29
(label) line::@3
(label) line::@30
(label) line::@31
(label) line::@32
(label) line::@33
(label) line::@34
(label) line::@35
(label) line::@36
(label) line::@6
(label) line::@9
(label) line::@return
(byte) line::x0
(byte) line::x0#0
(byte) line::x0#1
(byte) line::x0#10
(byte) line::x0#11
(byte) line::x0#12
(byte) line::x0#13
(byte) line::x0#2
(byte) line::x0#3
(byte) line::x0#4
(byte) line::x0#5
(byte) line::x0#6
(byte) line::x0#7
(byte) line::x0#8
(byte) line::x0#9
(byte) line::x1
(byte) line::x1#0
(byte) line::x1#1
(byte) line::x1#10
(byte) line::x1#11
(byte) line::x1#12
(byte) line::x1#13
(byte) line::x1#2
(byte) line::x1#3
(byte) line::x1#4
(byte) line::x1#5
(byte) line::x1#6
(byte) line::x1#7
(byte) line::x1#8
(byte) line::x1#9
(byte) line::xd
(byte) line::xd#0
(byte) line::xd#1
(byte) line::xd#10
(byte) line::xd#11
(byte) line::xd#12
(byte) line::xd#13
(byte) line::xd#2
(byte) line::xd#3
(byte) line::xd#4
(byte) line::xd#5
(byte) line::xd#6
(byte) line::xd#7
(byte) line::xd#8
(byte) line::xd#9
(byte) line::y0
(byte) line::y0#0
(byte) line::y0#1
(byte) line::y0#10
(byte) line::y0#11
(byte) line::y0#12
(byte) line::y0#13
(byte) line::y0#2
(byte) line::y0#3
(byte) line::y0#4
(byte) line::y0#5
(byte) line::y0#6
(byte) line::y0#7
(byte) line::y0#8
(byte) line::y0#9
(byte) line::y1
(byte) line::y1#0
(byte) line::y1#1
(byte) line::y1#10
(byte) line::y1#11
(byte) line::y1#12
(byte) line::y1#13
(byte) line::y1#2
(byte) line::y1#3
(byte) line::y1#4
(byte) line::y1#5
(byte) line::y1#6
(byte) line::y1#7
(byte) line::y1#8
(byte) line::y1#9
(byte) line::yd
(byte) line::yd#0
(byte) line::yd#1
(byte) line::yd#10
(byte) line::yd#11
(byte) line::yd#2
(byte) line::yd#3
(byte) line::yd#4
(byte) line::yd#5
(byte) line::yd#6
(byte) line::yd#7
(byte) line::yd#8
(byte) line::yd#9
(void()) line_xdyd((byte) line_xdyd::x , (byte) line_xdyd::y , (byte) line_xdyd::x1 , (byte) line_xdyd::xd , (byte) line_xdyd::yd)
(byte~) line_xdyd::$0
(byte/word~) line_xdyd::$2
(boolean~) line_xdyd::$3
(boolean~) line_xdyd::$4
(byte/signed byte/word/signed word/dword/signed dword~) line_xdyd::$5
(byte/word~) line_xdyd::$6
(boolean~) line_xdyd::$7
(label) line_xdyd::@1
(label) line_xdyd::@2
(label) line_xdyd::@3
(label) line_xdyd::@5
(label) line_xdyd::@return
(byte) line_xdyd::e
(byte) line_xdyd::e#0
(byte) line_xdyd::e#1
(byte) line_xdyd::e#2
(byte) line_xdyd::e#3
(byte) line_xdyd::e#4
(byte) line_xdyd::e#5
(byte) line_xdyd::e#6
(byte) line_xdyd::x
(byte) line_xdyd::x#0
(byte) line_xdyd::x#1
(byte) line_xdyd::x#2
(byte) line_xdyd::x#3
(byte) line_xdyd::x#4
(byte) line_xdyd::x#5
(byte) line_xdyd::x#6
(byte) line_xdyd::x#7
(byte) line_xdyd::x1
(byte) line_xdyd::x1#0
(byte) line_xdyd::x1#1
(byte) line_xdyd::x1#2
(byte) line_xdyd::x1#3
(byte) line_xdyd::x1#4
(byte) line_xdyd::x1#5
(byte) line_xdyd::x1#6
(byte) line_xdyd::xd
(byte) line_xdyd::xd#0
(byte) line_xdyd::xd#1
(byte) line_xdyd::xd#2
(byte) line_xdyd::xd#3
(byte) line_xdyd::xd#4
(byte) line_xdyd::xd#5
(byte) line_xdyd::xd#6
(byte) line_xdyd::y
(byte) line_xdyd::y#0
(byte) line_xdyd::y#1
(byte) line_xdyd::y#2
(byte) line_xdyd::y#3
(byte) line_xdyd::y#4
(byte) line_xdyd::y#5
(byte) line_xdyd::y#6
(byte) line_xdyd::y#7
(byte) line_xdyd::yd
(byte) line_xdyd::yd#0
(byte) line_xdyd::yd#1
(byte) line_xdyd::yd#2
(byte) line_xdyd::yd#3
(byte) line_xdyd::yd#4
(byte) line_xdyd::yd#5
(byte) line_xdyd::yd#6
(void()) line_xdyi((byte) line_xdyi::x , (byte) line_xdyi::y , (byte) line_xdyi::x1 , (byte) line_xdyi::xd , (byte) line_xdyi::yd)
(byte~) line_xdyi::$0
(byte/word~) line_xdyi::$2
(boolean~) line_xdyi::$3
(boolean~) line_xdyi::$4
(byte/signed byte/word/signed word/dword/signed dword~) line_xdyi::$5
(byte/word~) line_xdyi::$6
(boolean~) line_xdyi::$7
(label) line_xdyi::@1
(label) line_xdyi::@2
(label) line_xdyi::@3
(label) line_xdyi::@5
(label) line_xdyi::@return
(byte) line_xdyi::e
(byte) line_xdyi::e#0
(byte) line_xdyi::e#1
(byte) line_xdyi::e#2
(byte) line_xdyi::e#3
(byte) line_xdyi::e#4
(byte) line_xdyi::e#5
(byte) line_xdyi::e#6
(byte) line_xdyi::x
(byte) line_xdyi::x#0
(byte) line_xdyi::x#1
(byte) line_xdyi::x#2
(byte) line_xdyi::x#3
(byte) line_xdyi::x#4
(byte) line_xdyi::x#5
(byte) line_xdyi::x#6
(byte) line_xdyi::x#7
(byte) line_xdyi::x1
(byte) line_xdyi::x1#0
(byte) line_xdyi::x1#1
(byte) line_xdyi::x1#2
(byte) line_xdyi::x1#3
(byte) line_xdyi::x1#4
(byte) line_xdyi::x1#5
(byte) line_xdyi::x1#6
(byte) line_xdyi::xd
(byte) line_xdyi::xd#0
(byte) line_xdyi::xd#1
(byte) line_xdyi::xd#2
(byte) line_xdyi::xd#3
(byte) line_xdyi::xd#4
(byte) line_xdyi::xd#5
(byte) line_xdyi::xd#6
(byte) line_xdyi::y
(byte) line_xdyi::y#0
(byte) line_xdyi::y#1
(byte) line_xdyi::y#2
(byte) line_xdyi::y#3
(byte) line_xdyi::y#4
(byte) line_xdyi::y#5
(byte) line_xdyi::y#6
(byte) line_xdyi::y#7
(byte) line_xdyi::yd
(byte) line_xdyi::yd#0
(byte) line_xdyi::yd#1
(byte) line_xdyi::yd#2
(byte) line_xdyi::yd#3
(byte) line_xdyi::yd#4
(byte) line_xdyi::yd#5
(byte) line_xdyi::yd#6
(void()) line_ydxd((byte) line_ydxd::y , (byte) line_ydxd::x , (byte) line_ydxd::y1 , (byte) line_ydxd::yd , (byte) line_ydxd::xd)
(byte~) line_ydxd::$0
(byte/word~) line_ydxd::$2
(boolean~) line_ydxd::$3
(boolean~) line_ydxd::$4
(byte/signed byte/word/signed word/dword/signed dword~) line_ydxd::$5
(byte/word~) line_ydxd::$6
(boolean~) line_ydxd::$7
(label) line_ydxd::@1
(label) line_ydxd::@2
(label) line_ydxd::@3
(label) line_ydxd::@5
(label) line_ydxd::@return
(byte) line_ydxd::e
(byte) line_ydxd::e#0
(byte) line_ydxd::e#1
(byte) line_ydxd::e#2
(byte) line_ydxd::e#3
(byte) line_ydxd::e#4
(byte) line_ydxd::e#5
(byte) line_ydxd::e#6
(byte) line_ydxd::x
(byte) line_ydxd::x#0
(byte) line_ydxd::x#1
(byte) line_ydxd::x#2
(byte) line_ydxd::x#3
(byte) line_ydxd::x#4
(byte) line_ydxd::x#5
(byte) line_ydxd::x#6
(byte) line_ydxd::x#7
(byte) line_ydxd::xd
(byte) line_ydxd::xd#0
(byte) line_ydxd::xd#1
(byte) line_ydxd::xd#2
(byte) line_ydxd::xd#3
(byte) line_ydxd::xd#4
(byte) line_ydxd::xd#5
(byte) line_ydxd::xd#6
(byte) line_ydxd::y
(byte) line_ydxd::y#0
(byte) line_ydxd::y#1
(byte) line_ydxd::y#2
(byte) line_ydxd::y#3
(byte) line_ydxd::y#4
(byte) line_ydxd::y#5
(byte) line_ydxd::y#6
(byte) line_ydxd::y#7
(byte) line_ydxd::y#8
(byte) line_ydxd::y1
(byte) line_ydxd::y1#0
(byte) line_ydxd::y1#1
(byte) line_ydxd::y1#2
(byte) line_ydxd::y1#3
(byte) line_ydxd::y1#4
(byte) line_ydxd::y1#5
(byte) line_ydxd::y1#6
(byte) line_ydxd::yd
(byte) line_ydxd::yd#0
(byte) line_ydxd::yd#1
(byte) line_ydxd::yd#2
(byte) line_ydxd::yd#3
(byte) line_ydxd::yd#4
(byte) line_ydxd::yd#5
(byte) line_ydxd::yd#6
(void()) line_ydxi((byte) line_ydxi::y , (byte) line_ydxi::x , (byte) line_ydxi::y1 , (byte) line_ydxi::yd , (byte) line_ydxi::xd)
(byte~) line_ydxi::$0
(byte/word~) line_ydxi::$2
(boolean~) line_ydxi::$3
(boolean~) line_ydxi::$4
(byte/signed byte/word/signed word/dword/signed dword~) line_ydxi::$5
(byte/word~) line_ydxi::$6
(boolean~) line_ydxi::$7
(label) line_ydxi::@1
(label) line_ydxi::@2
(label) line_ydxi::@3
(label) line_ydxi::@5
(label) line_ydxi::@return
(byte) line_ydxi::e
(byte) line_ydxi::e#0
(byte) line_ydxi::e#1
(byte) line_ydxi::e#2
(byte) line_ydxi::e#3
(byte) line_ydxi::e#4
(byte) line_ydxi::e#5
(byte) line_ydxi::e#6
(byte) line_ydxi::x
(byte) line_ydxi::x#0
(byte) line_ydxi::x#1
(byte) line_ydxi::x#2
(byte) line_ydxi::x#3
(byte) line_ydxi::x#4
(byte) line_ydxi::x#5
(byte) line_ydxi::x#6
(byte) line_ydxi::x#7
(byte) line_ydxi::xd
(byte) line_ydxi::xd#0
(byte) line_ydxi::xd#1
(byte) line_ydxi::xd#2
(byte) line_ydxi::xd#3
(byte) line_ydxi::xd#4
(byte) line_ydxi::xd#5
(byte) line_ydxi::xd#6
(byte) line_ydxi::y
(byte) line_ydxi::y#0
(byte) line_ydxi::y#1
(byte) line_ydxi::y#2
(byte) line_ydxi::y#3
(byte) line_ydxi::y#4
(byte) line_ydxi::y#5
(byte) line_ydxi::y#6
(byte) line_ydxi::y#7
(byte) line_ydxi::y1
(byte) line_ydxi::y1#0
(byte) line_ydxi::y1#1
(byte) line_ydxi::y1#2
(byte) line_ydxi::y1#3
(byte) line_ydxi::y1#4
(byte) line_ydxi::y1#5
(byte) line_ydxi::y1#6
(byte) line_ydxi::yd
(byte) line_ydxi::yd#0
(byte) line_ydxi::yd#1
(byte) line_ydxi::yd#2
(byte) line_ydxi::yd#3
(byte) line_ydxi::yd#4
(byte) line_ydxi::yd#5
(byte) line_ydxi::yd#6
(void()) lines()
(byte/word~) lines::$0
(byte/word~) lines::$1
(boolean~) lines::$3
(label) lines::@1
(label) lines::@3
(label) lines::@return
(byte) lines::l
(byte) lines::l#0
(byte) lines::l#1
(byte) lines::l#2
(byte) lines::l#3
(byte) lines_cnt
(byte) lines_cnt#0
(byte) lines_cnt#1
(byte) lines_cnt#2
(byte) lines_cnt#3
(byte) lines_cnt#4
(byte) lines_cnt#5
(byte) lines_cnt#6
(byte) lines_cnt#7
(byte) lines_cnt#8
(byte) lines_cnt#9
(byte[]) lines_x
(byte[]) lines_x#0
(byte[]) lines_y
(byte[]) lines_y#0
(void()) main()
(byte~) main::$0
(byte~) main::$1
(byte~) main::$2
(word~) main::$3
(word~) main::$4
(word~) main::$5
(word~) main::$6
(word~) main::$7
(byte~) main::$8
(label) main::@1
(label) main::@3
(label) main::@4
(label) main::@5
(label) main::@return
(void()) plot((byte) plot::x , (byte) plot::y)
(word~) plot::$0
(byte~) plot::$1
(label) plot::@return
(byte*) plot::plotter
(byte*) plot::plotter#0
(word) plot::plotter_x
(word) plot::plotter_x#0
(word) plot::plotter_y
(word) plot::plotter_y#0
(byte) plot::x
(byte) plot::x#0
(byte) plot::x#1
(byte) plot::x#2
(byte) plot::x#3
(byte) plot::x#4
(byte) plot::y
(byte) plot::y#0
(byte) plot::y#1
(byte) plot::y#2
(byte) plot::y#3
(byte) plot::y#4
(byte[256]) plot_bit
(byte[256]) plot_bit#0
(byte[256]) plot_xhi
(byte[256]) plot_xhi#0
(byte[256]) plot_xlo
(byte[256]) plot_xlo#0
(byte[256]) plot_yhi
(byte[256]) plot_yhi#0
(byte[256]) plot_ylo
(byte[256]) plot_ylo#0

OPTIMIZING CONTROL FLOW GRAPH
Culled Empty Block (label) line::@29
Culled Empty Block (label) line::@30
Culled Empty Block (label) line::@31
Culled Empty Block (label) line::@32
Culled Empty Block (label) line::@33
Culled Empty Block (label) line::@34
Culled Empty Block (label) line::@35
Culled Empty Block (label) line::@36
Culled Empty Block (label) @11
Succesful SSA optimization Pass2CullEmptyBlocks
Inversing boolean not (boolean~) line::$1 ← (byte) line::x0#1 >= (byte) line::x1#1 from (boolean~) line::$0 ← (byte) line::x0#1 < (byte) line::x1#1
Inversing boolean not (boolean~) line::$17 ← (byte) line::y0#1 >= (byte) line::y1#1 from (boolean~) line::$16 ← (byte) line::y0#1 < (byte) line::y1#1
Inversing boolean not (boolean~) line::$4 ← (byte) line::y0#2 >= (byte) line::y1#2 from (boolean~) line::$3 ← (byte) line::y0#2 < (byte) line::y1#2
Inversing boolean not (boolean~) line::$12 ← (byte) line::yd#0 >= (byte) line::xd#2 from (boolean~) line::$11 ← (byte) line::yd#0 < (byte) line::xd#2
Inversing boolean not (boolean~) line::$7 ← (byte) line::yd#1 >= (byte) line::xd#3 from (boolean~) line::$6 ← (byte) line::yd#1 < (byte) line::xd#3
Inversing boolean not (boolean~) line::$25 ← (byte) line::yd#2 >= (byte) line::xd#8 from (boolean~) line::$24 ← (byte) line::yd#2 < (byte) line::xd#8
Inversing boolean not (boolean~) line::$20 ← (byte) line::yd#3 >= (byte) line::xd#9 from (boolean~) line::$19 ← (byte) line::yd#3 < (byte) line::xd#9
Inversing boolean not (boolean~) line_xdyi::$4 ← (byte) line_xdyi::xd#2 >= (byte) line_xdyi::e#1 from (boolean~) line_xdyi::$3 ← (byte) line_xdyi::xd#2 < (byte) line_xdyi::e#1
Inversing boolean not (boolean~) line_xdyd::$4 ← (byte) line_xdyd::xd#2 >= (byte) line_xdyd::e#1 from (boolean~) line_xdyd::$3 ← (byte) line_xdyd::xd#2 < (byte) line_xdyd::e#1
Inversing boolean not (boolean~) line_ydxi::$4 ← (byte) line_ydxi::yd#2 >= (byte) line_ydxi::e#1 from (boolean~) line_ydxi::$3 ← (byte) line_ydxi::yd#2 < (byte) line_ydxi::e#1
Inversing boolean not (boolean~) line_ydxd::$4 ← (byte) line_ydxd::yd#2 >= (byte) line_ydxd::e#1 from (boolean~) line_ydxd::$3 ← (byte) line_ydxd::yd#2 < (byte) line_ydxd::e#1
Inversing boolean not (boolean~) init_plot_tables::$4 ← (byte) init_plot_tables::bits#1 != (byte/signed byte/word/signed word/dword/signed dword) 0 from (boolean~) init_plot_tables::$3 ← (byte) init_plot_tables::bits#1 == (byte/signed byte/word/signed word/dword/signed dword) 0
Inversing boolean not (boolean~) init_plot_tables::$12 ← (byte~) init_plot_tables::$10 != (byte/signed byte/word/signed word/dword/signed dword) 7 from (boolean~) init_plot_tables::$11 ← (byte~) init_plot_tables::$10 == (byte/signed byte/word/signed word/dword/signed dword) 7
Succesful SSA optimization Pass2UnaryNotSimplification
Not aliassing across scopes: BGCOL#1 BGCOL#2
Not aliassing across scopes: FGCOL#1 FGCOL#2
Not aliassing across scopes: BMM#1 BMM#2
Not aliassing across scopes: DEN#1 DEN#2
Not aliassing across scopes: RSEL#1 RSEL#2
Not aliassing across scopes: D011#1 D011#2
Not aliassing across scopes: SCREEN#1 SCREEN#4
Not aliassing across scopes: D018#1 D018#2
Not aliassing across scopes: lines_cnt#8 lines_cnt#9
Not aliassing across scopes: lines_cnt#3 lines_cnt#4
Not aliassing across scopes: line::x0#1 line::x0#0
Not aliassing across scopes: line::x1#1 line::x1#0
Not aliassing across scopes: line::y0#13 line::y0#0
Not aliassing across scopes: line::y1#13 line::y1#0
Not aliassing across scopes: line_ydxi::y#0 line::y0#5
Not aliassing across scopes: line_ydxi::x#0 line::x0#4
Not aliassing across scopes: line_ydxi::y1#0 line::y1#5
Not aliassing across scopes: line_ydxi::yd#0 line::yd#4
Not aliassing across scopes: line_ydxi::xd#0 line::xd#4
Not aliassing across scopes: line_xdyi::x#0 line::x0#5
Not aliassing across scopes: line_xdyi::y#0 line::y0#6
Not aliassing across scopes: line_xdyi::x1#0 line::x1#4
Not aliassing across scopes: line_xdyi::xd#0 line::xd#5
Not aliassing across scopes: line_xdyi::yd#0 line::yd#5
Not aliassing across scopes: line_ydxd::y#0 line::y1#6
Not aliassing across scopes: line_ydxd::x#0 line::x1#5
Not aliassing across scopes: line_ydxd::y1#0 line::y0#7
Not aliassing across scopes: line_ydxd::yd#0 line::yd#6
Not aliassing across scopes: line_ydxd::xd#0 line::xd#6
Not aliassing across scopes: line_xdyd::x#0 line::x0#6
Not aliassing across scopes: line_xdyd::y#0 line::y0#8
Not aliassing across scopes: line_xdyd::x1#0 line::x1#6
Not aliassing across scopes: line_xdyd::xd#0 line::xd#7
Not aliassing across scopes: line_xdyd::yd#0 line::yd#7
Not aliassing across scopes: line_ydxd::y#1 line::y0#11
Not aliassing across scopes: line_ydxd::x#1 line::x0#7
Not aliassing across scopes: line_ydxd::y1#1 line::y1#9
Not aliassing across scopes: line_ydxd::yd#1 line::yd#8
Not aliassing across scopes: line_ydxd::xd#1 line::xd#10
Not aliassing across scopes: line_xdyd::x#1 line::x1#7
Not aliassing across scopes: line_xdyd::y#1 line::y1#10
Not aliassing across scopes: line_xdyd::x1#1 line::x0#8
Not aliassing across scopes: line_xdyd::xd#1 line::xd#11
Not aliassing across scopes: line_xdyd::yd#1 line::yd#9
Not aliassing across scopes: line_ydxi::y#1 line::y1#11
Not aliassing across scopes: line_ydxi::x#1 line::x1#8
Not aliassing across scopes: line_ydxi::y1#1 line::y0#12
Not aliassing across scopes: line_ydxi::yd#1 line::yd#10
Not aliassing across scopes: line_ydxi::xd#1 line::xd#12
Not aliassing across scopes: line_xdyi::x#1 line::x1#9
Not aliassing across scopes: line_xdyi::y#1 line::y1#12
Not aliassing across scopes: line_xdyi::x1#1 line::x0#9
Not aliassing across scopes: line_xdyi::xd#1 line::xd#13
Not aliassing across scopes: line_xdyi::yd#1 line::yd#11
Not aliassing across scopes: line_xdyi::yd#2 line_xdyi::yd#0
Not aliassing across scopes: line_xdyi::x#6 line_xdyi::x#0
Not aliassing across scopes: line_xdyi::y#5 line_xdyi::y#0
Not aliassing across scopes: line_xdyi::xd#5 line_xdyi::xd#0
Not aliassing across scopes: line_xdyi::x1#6 line_xdyi::x1#0
Not aliassing across scopes: plot::x#0 line_xdyi::x#3
Not aliassing across scopes: plot::y#0 line_xdyi::y#3
Not aliassing across scopes: line_xdyd::yd#2 line_xdyd::yd#0
Not aliassing across scopes: line_xdyd::x#6 line_xdyd::x#0
Not aliassing across scopes: line_xdyd::y#5 line_xdyd::y#0
Not aliassing across scopes: line_xdyd::xd#5 line_xdyd::xd#0
Not aliassing across scopes: line_xdyd::x1#6 line_xdyd::x1#0
Not aliassing across scopes: plot::x#1 line_xdyd::x#3
Not aliassing across scopes: plot::y#1 line_xdyd::y#3
Not aliassing across scopes: line_ydxi::xd#2 line_ydxi::xd#1
Not aliassing across scopes: line_ydxi::x#5 line_ydxi::x#1
Not aliassing across scopes: line_ydxi::y#6 line_ydxi::y#1
Not aliassing across scopes: line_ydxi::yd#5 line_ydxi::yd#1
Not aliassing across scopes: line_ydxi::y1#6 line_ydxi::y1#1
Not aliassing across scopes: plot::x#2 line_ydxi::x#3
Not aliassing across scopes: plot::y#2 line_ydxi::y#3
Not aliassing across scopes: line_ydxd::xd#2 line_ydxd::xd#1
Not aliassing across scopes: line_ydxd::x#5 line_ydxd::x#1
Not aliassing across scopes: line_ydxd::y#7 line_ydxd::y#1
Not aliassing across scopes: line_ydxd::yd#5 line_ydxd::yd#1
Not aliassing across scopes: line_ydxd::y1#6 line_ydxd::y1#1
Not aliassing across scopes: plot::x#3 line_ydxd::x#3
Not aliassing across scopes: plot::y#3 line_ydxd::y#4
Not aliassing across scopes: plot::x#4 plot::x#1
Not aliassing across scopes: plot::y#4 plot::y#1
Not aliassing across scopes: SCREEN#6 SCREEN#1
Not aliassing across scopes: init_screen::b#0 BITMAP#0
Not aliassing across scopes: init_screen::c#0 SCREEN#2
Not aliassing identity: SCREEN#3 SCREEN#3
Alias (byte) lines_cnt#5 = (byte) lines_cnt#7 (byte) lines_cnt#8 
Alias (byte) lines_cnt#4 = (byte) lines_cnt#6 
Alias (byte) lines::l#2 = (byte) lines::l#3 
Alias (byte) lines_cnt#1 = (byte) lines_cnt#2 
Alias (byte) line::x0#1 = (byte) line::x0#2 (byte) line::x0#3 (byte) line::x0#11 (byte) line::x0#10 (byte) line::x0#4 (byte) line::x0#5 (byte) line::x0#6 (byte) line::x0#13 (byte) line::x0#12 (byte) line::x0#7 (byte) line::x0#8 (byte) line::x0#9 
Alias (byte) line::x1#1 = (byte) line::x1#2 (byte) line::x1#3 (byte) line::x1#11 (byte) line::x1#10 (byte) line::x1#4 (byte) line::x1#5 (byte) line::x1#6 (byte) line::x1#13 (byte) line::x1#12 (byte) line::x1#7 (byte) line::x1#8 (byte) line::x1#9 
Alias (byte) line::y0#1 = (byte) line::y0#13 (byte) line::y0#2 (byte) line::y0#3 (byte) line::y0#4 (byte) line::y0#5 (byte) line::y0#6 (byte) line::y0#7 (byte) line::y0#8 (byte) line::y0#9 (byte) line::y0#10 (byte) line::y0#11 (byte) line::y0#12 
Alias (byte) line::y1#1 = (byte) line::y1#13 (byte) line::y1#2 (byte) line::y1#3 (byte) line::y1#4 (byte) line::y1#5 (byte) line::y1#6 (byte) line::y1#7 (byte) line::y1#8 (byte) line::y1#9 (byte) line::y1#10 (byte) line::y1#11 (byte) line::y1#12 
Alias (byte) line::xd#0 = (byte/signed byte/word/signed word/dword/signed dword~) line::$15 (byte) line::xd#8 (byte) line::xd#9 (byte) line::xd#10 (byte) line::xd#11 (byte) line::xd#12 (byte) line::xd#13 
Alias (byte) line::xd#1 = (byte/signed byte/word/signed word/dword/signed dword~) line::$2 (byte) line::xd#2 (byte) line::xd#3 (byte) line::xd#4 (byte) line::xd#5 (byte) line::xd#6 (byte) line::xd#7 
Alias (byte) line::yd#0 = (byte/signed byte/word/signed word/dword/signed dword~) line::$10 (byte) line::yd#6 (byte) line::yd#7 
Alias (byte) line::yd#1 = (byte/signed byte/word/signed word/dword/signed dword~) line::$5 (byte) line::yd#4 (byte) line::yd#5 
Alias (byte) line::yd#10 = (byte) line::yd#2 (byte/signed byte/word/signed word/dword/signed dword~) line::$23 (byte) line::yd#11 
Alias (byte) line::yd#3 = (byte/signed byte/word/signed word/dword/signed dword~) line::$18 (byte) line::yd#8 (byte) line::yd#9 
Alias (byte) line_xdyi::e#0 = (byte~) line_xdyi::$0 
Alias (byte) line_xdyi::x#3 = (byte) line_xdyi::x#4 
Alias (byte) line_xdyi::e#3 = (byte) line_xdyi::e#5 
Alias (byte) line_xdyi::yd#3 = (byte) line_xdyi::yd#4 (byte) line_xdyi::yd#6 
Alias (byte) line_xdyi::xd#2 = (byte) line_xdyi::xd#4 (byte) line_xdyi::xd#3 
Alias (byte) line_xdyi::x1#3 = (byte) line_xdyi::x1#4 (byte) line_xdyi::x1#5 
Alias (byte) line_xdyi::y#3 = (byte) line_xdyi::y#7 (byte) line_xdyi::y#4 
Alias (byte) line_xdyi::e#1 = (byte/word~) line_xdyi::$2 (byte) line_xdyi::e#4 
Alias (byte) line_xdyi::x#2 = (byte) line_xdyi::x#7 
Alias (byte) line_xdyi::e#2 = (byte/signed byte/word/signed word/dword/signed dword~) line_xdyi::$5 
Alias (byte) line_xdyd::e#0 = (byte~) line_xdyd::$0 
Alias (byte) line_xdyd::x#3 = (byte) line_xdyd::x#4 
Alias (byte) line_xdyd::e#3 = (byte) line_xdyd::e#5 
Alias (byte) line_xdyd::yd#3 = (byte) line_xdyd::yd#4 (byte) line_xdyd::yd#6 
Alias (byte) line_xdyd::xd#2 = (byte) line_xdyd::xd#4 (byte) line_xdyd::xd#3 
Alias (byte) line_xdyd::x1#3 = (byte) line_xdyd::x1#4 (byte) line_xdyd::x1#5 
Alias (byte) line_xdyd::y#3 = (byte) line_xdyd::y#7 (byte) line_xdyd::y#4 
Alias (byte) line_xdyd::e#1 = (byte/word~) line_xdyd::$2 (byte) line_xdyd::e#4 
Alias (byte) line_xdyd::x#2 = (byte) line_xdyd::x#7 
Alias (byte) line_xdyd::e#2 = (byte/signed byte/word/signed word/dword/signed dword~) line_xdyd::$5 
Alias (byte) line_ydxi::e#0 = (byte~) line_ydxi::$0 
Alias (byte) line_ydxi::y#3 = (byte) line_ydxi::y#4 
Alias (byte) line_ydxi::e#3 = (byte) line_ydxi::e#5 
Alias (byte) line_ydxi::xd#3 = (byte) line_ydxi::xd#4 (byte) line_ydxi::xd#6 
Alias (byte) line_ydxi::yd#2 = (byte) line_ydxi::yd#4 (byte) line_ydxi::yd#3 
Alias (byte) line_ydxi::y1#3 = (byte) line_ydxi::y1#4 (byte) line_ydxi::y1#5 
Alias (byte) line_ydxi::x#3 = (byte) line_ydxi::x#7 (byte) line_ydxi::x#4 
Alias (byte) line_ydxi::e#1 = (byte/word~) line_ydxi::$2 (byte) line_ydxi::e#4 
Alias (byte) line_ydxi::y#2 = (byte) line_ydxi::y#7 
Alias (byte) line_ydxi::e#2 = (byte/signed byte/word/signed word/dword/signed dword~) line_ydxi::$5 
Alias (byte) line_ydxd::e#0 = (byte~) line_ydxd::$0 
Alias (byte) line_ydxd::y#2 = (byte) line_ydxd::y#5 (byte) line_ydxd::y#4 
Alias (byte) line_ydxd::e#3 = (byte) line_ydxd::e#5 
Alias (byte) line_ydxd::xd#3 = (byte) line_ydxd::xd#4 (byte) line_ydxd::xd#6 
Alias (byte) line_ydxd::yd#2 = (byte) line_ydxd::yd#4 (byte) line_ydxd::yd#3 
Alias (byte) line_ydxd::y1#3 = (byte) line_ydxd::y1#4 (byte) line_ydxd::y1#5 
Alias (byte) line_ydxd::x#3 = (byte) line_ydxd::x#7 (byte) line_ydxd::x#4 
Alias (byte) line_ydxd::e#1 = (byte/word~) line_ydxd::$2 (byte) line_ydxd::e#4 
Alias (byte) line_ydxd::y#3 = (byte) line_ydxd::y#8 
Alias (byte) line_ydxd::e#2 = (byte/signed byte/word/signed word/dword/signed dword~) line_ydxd::$5 
Alias (byte) init_plot_tables::bits#1 = (byte~) init_plot_tables::$2 
Alias (byte) init_plot_tables::x#2 = (byte) init_plot_tables::x#4 
Alias (byte*) init_plot_tables::yoffs#2 = (byte*) init_plot_tables::yoffs#3 
Alias (byte) init_plot_tables::y#2 = (byte) init_plot_tables::y#4 
Alias (byte*) init_plot_tables::yoffs#1 = (byte*~) init_plot_tables::$14 
Alias (byte*) SCREEN#2 = (byte*) SCREEN#5 
Alias (byte*) BGCOL#0 = (byte*) BGCOL#2 
Alias (byte*) FGCOL#0 = (byte*) FGCOL#2 
Alias (byte) BMM#0 = (byte) BMM#2 
Alias (byte) DEN#0 = (byte) DEN#2 
Alias (byte) RSEL#0 = (byte) RSEL#2 
Alias (byte*) D011#0 = (byte*) D011#2 
Alias (byte*) SCREEN#0 = (byte*) SCREEN#4 
Alias (byte*) D018#0 = (byte*) D018#2 
Alias (byte) lines_cnt#0 = (byte) lines_cnt#9 
Succesful SSA optimization Pass2AliasElimination
Not aliassing across scopes: BGCOL#1 BGCOL#0
Not aliassing across scopes: FGCOL#1 FGCOL#0
Not aliassing across scopes: BMM#1 BMM#0
Not aliassing across scopes: DEN#1 DEN#0
Not aliassing across scopes: RSEL#1 RSEL#0
Not aliassing across scopes: D011#1 D011#0
Not aliassing across scopes: SCREEN#1 SCREEN#0
Not aliassing across scopes: D018#1 D018#0
Not aliassing across scopes: lines_cnt#5 lines_cnt#0
Not aliassing across scopes: lines_cnt#3 lines_cnt#4
Not aliassing across scopes: line::x0#1 line::x0#0
Not aliassing across scopes: line::x1#1 line::x1#0
Not aliassing across scopes: line::y0#1 line::y0#0
Not aliassing across scopes: line::y1#1 line::y1#0
Not aliassing across scopes: line_ydxi::y#0 line::y0#1
Not aliassing across scopes: line_ydxi::x#0 line::x0#1
Not aliassing across scopes: line_ydxi::y1#0 line::y1#1
Not aliassing across scopes: line_ydxi::yd#0 line::yd#1
Not aliassing across scopes: line_ydxi::xd#0 line::xd#1
Not aliassing across scopes: line_xdyi::x#0 line::x0#1
Not aliassing across scopes: line_xdyi::y#0 line::y0#1
Not aliassing across scopes: line_xdyi::x1#0 line::x1#1
Not aliassing across scopes: line_xdyi::xd#0 line::xd#1
Not aliassing across scopes: line_xdyi::yd#0 line::yd#1
Not aliassing across scopes: line_ydxd::y#0 line::y1#1
Not aliassing across scopes: line_ydxd::x#0 line::x1#1
Not aliassing across scopes: line_ydxd::y1#0 line::y0#1
Not aliassing across scopes: line_ydxd::yd#0 line::yd#0
Not aliassing across scopes: line_ydxd::xd#0 line::xd#1
Not aliassing across scopes: line_xdyd::x#0 line::x0#1
Not aliassing across scopes: line_xdyd::y#0 line::y0#1
Not aliassing across scopes: line_xdyd::x1#0 line::x1#1
Not aliassing across scopes: line_xdyd::xd#0 line::xd#1
Not aliassing across scopes: line_xdyd::yd#0 line::yd#0
Not aliassing across scopes: line_ydxd::y#1 line::y0#1
Not aliassing across scopes: line_ydxd::x#1 line::x0#1
Not aliassing across scopes: line_ydxd::y1#1 line::y1#1
Not aliassing across scopes: line_ydxd::yd#1 line::yd#3
Not aliassing across scopes: line_ydxd::xd#1 line::xd#0
Not aliassing across scopes: line_xdyd::x#1 line::x1#1
Not aliassing across scopes: line_xdyd::y#1 line::y1#1
Not aliassing across scopes: line_xdyd::x1#1 line::x0#1
Not aliassing across scopes: line_xdyd::xd#1 line::xd#0
Not aliassing across scopes: line_xdyd::yd#1 line::yd#3
Not aliassing across scopes: line_ydxi::y#1 line::y1#1
Not aliassing across scopes: line_ydxi::x#1 line::x1#1
Not aliassing across scopes: line_ydxi::y1#1 line::y0#1
Not aliassing across scopes: line_ydxi::yd#1 line::yd#10
Not aliassing across scopes: line_ydxi::xd#1 line::xd#0
Not aliassing across scopes: line_xdyi::x#1 line::x1#1
Not aliassing across scopes: line_xdyi::y#1 line::y1#1
Not aliassing across scopes: line_xdyi::x1#1 line::x0#1
Not aliassing across scopes: line_xdyi::xd#1 line::xd#0
Not aliassing across scopes: line_xdyi::yd#1 line::yd#10
Not aliassing across scopes: line_xdyi::yd#2 line_xdyi::yd#0
Not aliassing across scopes: line_xdyi::x#6 line_xdyi::x#0
Not aliassing across scopes: line_xdyi::y#5 line_xdyi::y#0
Not aliassing across scopes: line_xdyi::xd#5 line_xdyi::xd#0
Not aliassing across scopes: line_xdyi::x1#6 line_xdyi::x1#0
Not aliassing across scopes: plot::x#0 line_xdyi::x#3
Not aliassing across scopes: plot::y#0 line_xdyi::y#3
Not aliassing across scopes: line_xdyd::yd#2 line_xdyd::yd#0
Not aliassing across scopes: line_xdyd::x#6 line_xdyd::x#0
Not aliassing across scopes: line_xdyd::y#5 line_xdyd::y#0
Not aliassing across scopes: line_xdyd::xd#5 line_xdyd::xd#0
Not aliassing across scopes: line_xdyd::x1#6 line_xdyd::x1#0
Not aliassing across scopes: plot::x#1 line_xdyd::x#3
Not aliassing across scopes: plot::y#1 line_xdyd::y#3
Not aliassing across scopes: line_ydxi::xd#2 line_ydxi::xd#1
Not aliassing across scopes: line_ydxi::x#5 line_ydxi::x#1
Not aliassing across scopes: line_ydxi::y#6 line_ydxi::y#1
Not aliassing across scopes: line_ydxi::yd#5 line_ydxi::yd#1
Not aliassing across scopes: line_ydxi::y1#6 line_ydxi::y1#1
Not aliassing across scopes: plot::x#2 line_ydxi::x#3
Not aliassing across scopes: plot::y#2 line_ydxi::y#3
Not aliassing across scopes: line_ydxd::xd#2 line_ydxd::xd#1
Not aliassing across scopes: line_ydxd::x#5 line_ydxd::x#1
Not aliassing across scopes: line_ydxd::y#7 line_ydxd::y#1
Not aliassing across scopes: line_ydxd::yd#5 line_ydxd::yd#1
Not aliassing across scopes: line_ydxd::y1#6 line_ydxd::y1#1
Not aliassing across scopes: plot::x#3 line_ydxd::x#3
Not aliassing across scopes: plot::y#3 line_ydxd::y#2
Not aliassing across scopes: plot::x#4 plot::x#1
Not aliassing across scopes: plot::y#4 plot::y#1
Not aliassing across scopes: SCREEN#6 SCREEN#1
Not aliassing across scopes: init_screen::b#0 BITMAP#0
Not aliassing across scopes: init_screen::c#0 SCREEN#2
Not aliassing identity: SCREEN#3 SCREEN#3
Alias (byte) line_xdyi::x1#2 = (byte) line_xdyi::x1#3 
Alias (byte) line_xdyi::x#2 = (byte) line_xdyi::x#5 
Alias (byte) line_xdyi::yd#3 = (byte) line_xdyi::yd#5 
Alias (byte) line_xdyi::xd#2 = (byte) line_xdyi::xd#6 
Alias (byte) line_xdyd::x1#2 = (byte) line_xdyd::x1#3 
Alias (byte) line_xdyd::x#2 = (byte) line_xdyd::x#5 
Alias (byte) line_xdyd::yd#3 = (byte) line_xdyd::yd#5 
Alias (byte) line_xdyd::xd#2 = (byte) line_xdyd::xd#6 
Alias (byte) line_ydxi::y1#2 = (byte) line_ydxi::y1#3 
Alias (byte) line_ydxi::y#2 = (byte) line_ydxi::y#5 
Alias (byte) line_ydxi::xd#3 = (byte) line_ydxi::xd#5 
Alias (byte) line_ydxi::yd#2 = (byte) line_ydxi::yd#6 
Alias (byte) line_ydxd::y1#2 = (byte) line_ydxd::y1#3 
Alias (byte) line_ydxd::y#3 = (byte) line_ydxd::y#6 
Alias (byte) line_ydxd::xd#3 = (byte) line_ydxd::xd#5 
Alias (byte) line_ydxd::yd#2 = (byte) line_ydxd::yd#6 
Alias (byte) init_plot_tables::x#2 = (byte) init_plot_tables::x#3 
Alias (byte) init_plot_tables::y#2 = (byte) init_plot_tables::y#3 
Succesful SSA optimization Pass2AliasElimination
Not aliassing across scopes: BGCOL#1 BGCOL#0
Not aliassing across scopes: FGCOL#1 FGCOL#0
Not aliassing across scopes: BMM#1 BMM#0
Not aliassing across scopes: DEN#1 DEN#0
Not aliassing across scopes: RSEL#1 RSEL#0
Not aliassing across scopes: D011#1 D011#0
Not aliassing across scopes: SCREEN#1 SCREEN#0
Not aliassing across scopes: D018#1 D018#0
Not aliassing across scopes: lines_cnt#5 lines_cnt#0
Not aliassing across scopes: lines_cnt#3 lines_cnt#4
Not aliassing across scopes: line::x0#1 line::x0#0
Not aliassing across scopes: line::x1#1 line::x1#0
Not aliassing across scopes: line::y0#1 line::y0#0
Not aliassing across scopes: line::y1#1 line::y1#0
Not aliassing across scopes: line_ydxi::y#0 line::y0#1
Not aliassing across scopes: line_ydxi::x#0 line::x0#1
Not aliassing across scopes: line_ydxi::y1#0 line::y1#1
Not aliassing across scopes: line_ydxi::yd#0 line::yd#1
Not aliassing across scopes: line_ydxi::xd#0 line::xd#1
Not aliassing across scopes: line_xdyi::x#0 line::x0#1
Not aliassing across scopes: line_xdyi::y#0 line::y0#1
Not aliassing across scopes: line_xdyi::x1#0 line::x1#1
Not aliassing across scopes: line_xdyi::xd#0 line::xd#1
Not aliassing across scopes: line_xdyi::yd#0 line::yd#1
Not aliassing across scopes: line_ydxd::y#0 line::y1#1
Not aliassing across scopes: line_ydxd::x#0 line::x1#1
Not aliassing across scopes: line_ydxd::y1#0 line::y0#1
Not aliassing across scopes: line_ydxd::yd#0 line::yd#0
Not aliassing across scopes: line_ydxd::xd#0 line::xd#1
Not aliassing across scopes: line_xdyd::x#0 line::x0#1
Not aliassing across scopes: line_xdyd::y#0 line::y0#1
Not aliassing across scopes: line_xdyd::x1#0 line::x1#1
Not aliassing across scopes: line_xdyd::xd#0 line::xd#1
Not aliassing across scopes: line_xdyd::yd#0 line::yd#0
Not aliassing across scopes: line_ydxd::y#1 line::y0#1
Not aliassing across scopes: line_ydxd::x#1 line::x0#1
Not aliassing across scopes: line_ydxd::y1#1 line::y1#1
Not aliassing across scopes: line_ydxd::yd#1 line::yd#3
Not aliassing across scopes: line_ydxd::xd#1 line::xd#0
Not aliassing across scopes: line_xdyd::x#1 line::x1#1
Not aliassing across scopes: line_xdyd::y#1 line::y1#1
Not aliassing across scopes: line_xdyd::x1#1 line::x0#1
Not aliassing across scopes: line_xdyd::xd#1 line::xd#0
Not aliassing across scopes: line_xdyd::yd#1 line::yd#3
Not aliassing across scopes: line_ydxi::y#1 line::y1#1
Not aliassing across scopes: line_ydxi::x#1 line::x1#1
Not aliassing across scopes: line_ydxi::y1#1 line::y0#1
Not aliassing across scopes: line_ydxi::yd#1 line::yd#10
Not aliassing across scopes: line_ydxi::xd#1 line::xd#0
Not aliassing across scopes: line_xdyi::x#1 line::x1#1
Not aliassing across scopes: line_xdyi::y#1 line::y1#1
Not aliassing across scopes: line_xdyi::x1#1 line::x0#1
Not aliassing across scopes: line_xdyi::xd#1 line::xd#0
Not aliassing across scopes: line_xdyi::yd#1 line::yd#10
Not aliassing across scopes: line_xdyi::yd#2 line_xdyi::yd#0
Not aliassing across scopes: line_xdyi::x#6 line_xdyi::x#0
Not aliassing across scopes: line_xdyi::y#5 line_xdyi::y#0
Not aliassing across scopes: line_xdyi::xd#5 line_xdyi::xd#0
Not aliassing across scopes: line_xdyi::x1#6 line_xdyi::x1#0
Not aliassing across scopes: plot::x#0 line_xdyi::x#3
Not aliassing across scopes: plot::y#0 line_xdyi::y#3
Not aliassing across scopes: line_xdyd::yd#2 line_xdyd::yd#0
Not aliassing across scopes: line_xdyd::x#6 line_xdyd::x#0
Not aliassing across scopes: line_xdyd::y#5 line_xdyd::y#0
Not aliassing across scopes: line_xdyd::xd#5 line_xdyd::xd#0
Not aliassing across scopes: line_xdyd::x1#6 line_xdyd::x1#0
Not aliassing across scopes: plot::x#1 line_xdyd::x#3
Not aliassing across scopes: plot::y#1 line_xdyd::y#3
Not aliassing across scopes: line_ydxi::xd#2 line_ydxi::xd#1
Not aliassing across scopes: line_ydxi::x#5 line_ydxi::x#1
Not aliassing across scopes: line_ydxi::y#6 line_ydxi::y#1
Not aliassing across scopes: line_ydxi::yd#5 line_ydxi::yd#1
Not aliassing across scopes: line_ydxi::y1#6 line_ydxi::y1#1
Not aliassing across scopes: plot::x#2 line_ydxi::x#3
Not aliassing across scopes: plot::y#2 line_ydxi::y#3
Not aliassing across scopes: line_ydxd::xd#2 line_ydxd::xd#1
Not aliassing across scopes: line_ydxd::x#5 line_ydxd::x#1
Not aliassing across scopes: line_ydxd::y#7 line_ydxd::y#1
Not aliassing across scopes: line_ydxd::yd#5 line_ydxd::yd#1
Not aliassing across scopes: line_ydxd::y1#6 line_ydxd::y1#1
Not aliassing across scopes: plot::x#3 line_ydxd::x#3
Not aliassing across scopes: plot::y#3 line_ydxd::y#2
Not aliassing across scopes: plot::x#4 plot::x#1
Not aliassing across scopes: plot::y#4 plot::y#1
Not aliassing across scopes: SCREEN#6 SCREEN#1
Not aliassing across scopes: init_screen::b#0 BITMAP#0
Not aliassing across scopes: init_screen::c#0 SCREEN#2
Not aliassing identity: SCREEN#3 SCREEN#3
Self Phi Eliminated (byte) lines_cnt#4
Self Phi Eliminated (byte) lines_cnt#1
Self Phi Eliminated (byte) line_xdyi::yd#3
Self Phi Eliminated (byte) line_xdyi::xd#2
Self Phi Eliminated (byte) line_xdyi::x1#2
Self Phi Eliminated (byte) line_xdyd::yd#3
Self Phi Eliminated (byte) line_xdyd::xd#2
Self Phi Eliminated (byte) line_xdyd::x1#2
Self Phi Eliminated (byte) line_ydxi::xd#3
Self Phi Eliminated (byte) line_ydxi::yd#2
Self Phi Eliminated (byte) line_ydxi::y1#2
Self Phi Eliminated (byte) line_ydxd::xd#3
Self Phi Eliminated (byte) line_ydxd::yd#2
Self Phi Eliminated (byte) line_ydxd::y1#2
Self Phi Eliminated (byte*) SCREEN#2
Self Phi Eliminated (byte*) SCREEN#3
Succesful SSA optimization Pass2SelfPhiElimination
Redundant Phi (byte*) BGCOL#1 (byte*) BGCOL#0
Redundant Phi (byte*) FGCOL#1 (byte*) FGCOL#0
Redundant Phi (byte) BMM#1 (byte) BMM#0
Redundant Phi (byte) DEN#1 (byte) DEN#0
Redundant Phi (byte) RSEL#1 (byte) RSEL#0
Redundant Phi (byte*) D011#1 (byte*) D011#0
Redundant Phi (byte*) SCREEN#1 (byte*) SCREEN#0
Redundant Phi (byte*) D018#1 (byte*) D018#0
Redundant Phi (byte) lines_cnt#5 (byte) lines_cnt#0
Redundant Phi (byte) lines_cnt#4 (byte) lines_cnt#5
Redundant Phi (byte) lines_cnt#3 (byte) lines_cnt#4
Redundant Phi (byte) lines_cnt#1 (byte) lines_cnt#3
Redundant Phi (byte) line::x0#1 (byte) line::x0#0
Redundant Phi (byte) line::x1#1 (byte) line::x1#0
Redundant Phi (byte) line::y0#1 (byte) line::y0#0
Redundant Phi (byte) line::y1#1 (byte) line::y1#0
Redundant Phi (byte) line_xdyi::yd#3 (byte) line_xdyi::yd#2
Redundant Phi (byte) line_xdyi::xd#2 (byte) line_xdyi::xd#5
Redundant Phi (byte) line_xdyi::x1#2 (byte) line_xdyi::x1#6
Redundant Phi (byte) line_xdyd::yd#3 (byte) line_xdyd::yd#2
Redundant Phi (byte) line_xdyd::xd#2 (byte) line_xdyd::xd#5
Redundant Phi (byte) line_xdyd::x1#2 (byte) line_xdyd::x1#6
Redundant Phi (byte) line_ydxi::xd#3 (byte) line_ydxi::xd#2
Redundant Phi (byte) line_ydxi::yd#2 (byte) line_ydxi::yd#5
Redundant Phi (byte) line_ydxi::y1#2 (byte) line_ydxi::y1#6
Redundant Phi (byte) line_ydxd::xd#3 (byte) line_ydxd::xd#2
Redundant Phi (byte) line_ydxd::yd#2 (byte) line_ydxd::yd#5
Redundant Phi (byte) line_ydxd::y1#2 (byte) line_ydxd::y1#6
Redundant Phi (byte*) SCREEN#6 (byte*) SCREEN#1
Redundant Phi (byte*) SCREEN#2 (byte*) SCREEN#6
Redundant Phi (byte*) SCREEN#3 (byte*) SCREEN#2
Succesful SSA optimization Pass2RedundantPhiElimination
Simple Condition (boolean~) lines::$3 if((byte) lines::l#1<(byte) lines_cnt#0) goto lines::@1
Simple Condition (boolean~) line::$1 if((byte) line::x0#0>=(byte) line::x1#0) goto line::@1
Simple Condition (boolean~) line::$17 if((byte) line::y0#0>=(byte) line::y1#0) goto line::@9
Simple Condition (boolean~) line::$4 if((byte) line::y0#0>=(byte) line::y1#0) goto line::@2
Simple Condition (boolean~) line::$12 if((byte) line::yd#0>=(byte) line::xd#1) goto line::@6
Simple Condition (boolean~) line::$7 if((byte) line::yd#1>=(byte) line::xd#1) goto line::@3
Simple Condition (boolean~) line::$25 if((byte) line::yd#10>=(byte) line::xd#0) goto line::@13
Simple Condition (boolean~) line::$20 if((byte) line::yd#3>=(byte) line::xd#0) goto line::@10
Simple Condition (boolean~) line_xdyi::$4 if((byte) line_xdyi::xd#5>=(byte) line_xdyi::e#1) goto line_xdyi::@2
Simple Condition (boolean~) line_xdyi::$7 if((byte) line_xdyi::x#2!=(byte/word~) line_xdyi::$6) goto line_xdyi::@1
Simple Condition (boolean~) line_xdyd::$4 if((byte) line_xdyd::xd#5>=(byte) line_xdyd::e#1) goto line_xdyd::@2
Simple Condition (boolean~) line_xdyd::$7 if((byte) line_xdyd::x#2!=(byte/word~) line_xdyd::$6) goto line_xdyd::@1
Simple Condition (boolean~) line_ydxi::$4 if((byte) line_ydxi::yd#5>=(byte) line_ydxi::e#1) goto line_ydxi::@2
Simple Condition (boolean~) line_ydxi::$7 if((byte) line_ydxi::y#2!=(byte/word~) line_ydxi::$6) goto line_ydxi::@1
Simple Condition (boolean~) line_ydxd::$4 if((byte) line_ydxd::yd#5>=(byte) line_ydxd::e#1) goto line_ydxd::@2
Simple Condition (boolean~) line_ydxd::$7 if((byte) line_ydxd::y#3!=(byte/word~) line_ydxd::$6) goto line_ydxd::@1
Simple Condition (boolean~) init_plot_tables::$4 if((byte) init_plot_tables::bits#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto init_plot_tables::@2
Simple Condition (boolean~) init_plot_tables::$5 if((byte) init_plot_tables::x#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto init_plot_tables::@1
Simple Condition (boolean~) init_plot_tables::$12 if((byte~) init_plot_tables::$10!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto init_plot_tables::@4
Simple Condition (boolean~) init_plot_tables::$15 if((byte) init_plot_tables::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto init_plot_tables::@3
Simple Condition (boolean~) init_screen::$1 if((byte*) init_screen::b#1!=(byte*~) init_screen::$0) goto init_screen::@1
Simple Condition (boolean~) init_screen::$3 if((byte*) init_screen::c#1!=(byte*~) init_screen::$2) goto init_screen::@2
Succesful SSA optimization Pass2ConditionalJumpSimplification
Constant (const byte*) BGCOL#0 = ((byte*))53280
Constant (const byte*) FGCOL#0 = ((byte*))53281
Constant (const byte*) D018#0 = ((byte*))53272
Constant (const byte*) D011#0 = ((byte*))53265
Constant (const byte) BMM#0 = 32
Constant (const byte) DEN#0 = 16
Constant (const byte) RSEL#0 = 8
Constant (const byte*) SCREEN#0 = ((byte*))1024
Constant (const byte*) BITMAP#0 = ((byte*))8192
Constant (const byte[256]) plot_xlo#0 = { fill( 256, 0) }
Constant (const byte[256]) plot_xhi#0 = { fill( 256, 0) }
Constant (const byte[256]) plot_ylo#0 = { fill( 256, 0) }
Constant (const byte[256]) plot_yhi#0 = { fill( 256, 0) }
Constant (const byte[256]) plot_bit#0 = { fill( 256, 0) }
Constant (const byte[]) lines_x#0 = { 60, 80, 110, 80, 60, 40, 10, 40, 60 }
Constant (const byte[]) lines_y#0 = { 10, 40, 60, 80, 110, 80, 60, 40, 10 }
Constant (const byte) lines_cnt#0 = 8
Constant (const byte) lines::l#0 = 0
Constant (const byte) init_plot_tables::bits#0 = 128
Constant (const byte) init_plot_tables::x#0 = 0
Constant (const byte) init_plot_tables::bits#2 = 128
Constant (const byte*) init_plot_tables::yoffs#0 = ((byte*))0
Constant (const byte) init_plot_tables::y#0 = 0
Constant (const word/signed word/dword/signed dword) init_plot_tables::$13 = 40*8
Succesful SSA optimization Pass2ConstantIdentification
Constant (const byte) main::$0 = BMM#0|DEN#0
Constant (const word) main::$3 = ((word))SCREEN#0
Constant (const word) main::$5 = ((word))BITMAP#0
Constant (const byte) init_plot_tables::$1 = >BITMAP#0
Constant (const byte*) init_screen::b#0 = BITMAP#0
Constant (const byte*) init_screen::$0 = BITMAP#0+8192
Constant (const byte*) init_screen::c#0 = SCREEN#0
Constant (const byte*) init_screen::$2 = SCREEN#0+1024
Succesful SSA optimization Pass2ConstantIdentification
Constant (const byte) main::$1 = main::$0|RSEL#0
Constant (const word) main::$4 = main::$3/64
Constant (const word) main::$6 = main::$5/1024
Succesful SSA optimization Pass2ConstantIdentification
Constant (const byte) main::$2 = main::$1|3
Constant (const word) main::$7 = main::$4|main::$6
Succesful SSA optimization Pass2ConstantIdentification
Constant (const byte) main::$8 = ((byte))main::$7
Succesful SSA optimization Pass2ConstantIdentification
Multiple usages for variable. Not optimizing sub-constant (byte) lines::l#2
Multiple usages for variable. Not optimizing sub-constant (byte) lines::l#2
Multiple usages for variable. Not optimizing sub-constant (byte) lines::l#2
Consolidated array index constant in assignment *(lines_x#0+1 + lines::$0)
Multiple usages for variable. Not optimizing sub-constant (byte) lines::l#2
Consolidated array index constant in assignment *(lines_y#0+1 + lines::$1)
Multiple usages for variable. Not optimizing sub-constant (byte) init_plot_tables::x#2
Multiple usages for variable. Not optimizing sub-constant (byte) init_plot_tables::x#2
Multiple usages for variable. Not optimizing sub-constant (byte) init_plot_tables::x#2
Multiple usages for variable. Not optimizing sub-constant (byte) init_plot_tables::y#2
Multiple usages for variable. Not optimizing sub-constant (byte) init_plot_tables::y#2
Multiple usages for variable. Not optimizing sub-constant (byte*) init_plot_tables::yoffs#2
Succesful SSA optimization Pass2ConstantAdditionElimination
Multiple usages for variable. Not optimizing sub-constant (byte) lines::l#2
Multiple usages for variable. Not optimizing sub-constant (byte) lines::l#2
Multiple usages for variable. Not optimizing sub-constant (byte) init_plot_tables::x#2
Multiple usages for variable. Not optimizing sub-constant (byte) init_plot_tables::x#2
Multiple usages for variable. Not optimizing sub-constant (byte) init_plot_tables::x#2
Multiple usages for variable. Not optimizing sub-constant (byte) init_plot_tables::y#2
Multiple usages for variable. Not optimizing sub-constant (byte) init_plot_tables::y#2
Multiple usages for variable. Not optimizing sub-constant (byte*) init_plot_tables::yoffs#2
Fixing word constructor with plot::$2 ← *(plot_xhi#0 + plot::x#4) w= *(plot_xlo#0 + plot::x#4)
Fixing word constructor with plot::$3 ← *(plot_yhi#0 + plot::y#4) w= *(plot_ylo#0 + plot::y#4)
Succesful SSA optimization Pass2FixWordConstructors
Eliminating Noop Cast (byte*) plot::plotter#0 ← ((byte*)) (word~) plot::$0
Succesful SSA optimization Pass2NopCastElimination
Culled Empty Block (label) main::@4
Not culling empty block because it shares successor with its predecessor. (label) init_plot_tables::@5
Culled Empty Block (label) init_plot_tables::@6
Culled Empty Block (label) init_screen::@3
Succesful SSA optimization Pass2CullEmptyBlocks
Not culling empty block because it shares successor with its predecessor. (label) init_plot_tables::@5
Not aliassing across scopes: line_ydxi::y#0 line::y0#0
Not aliassing across scopes: line_ydxi::x#0 line::x0#0
Not aliassing across scopes: line_ydxi::y1#0 line::y1#0
Not aliassing across scopes: line_ydxi::yd#0 line::yd#1
Not aliassing across scopes: line_ydxi::xd#0 line::xd#1
Not aliassing across scopes: line_xdyi::x#0 line::x0#0
Not aliassing across scopes: line_xdyi::y#0 line::y0#0
Not aliassing across scopes: line_xdyi::x1#0 line::x1#0
Not aliassing across scopes: line_xdyi::xd#0 line::xd#1
Not aliassing across scopes: line_xdyi::yd#0 line::yd#1
Not aliassing across scopes: line_ydxd::y#0 line::y1#0
Not aliassing across scopes: line_ydxd::x#0 line::x1#0
Not aliassing across scopes: line_ydxd::y1#0 line::y0#0
Not aliassing across scopes: line_ydxd::yd#0 line::yd#0
Not aliassing across scopes: line_ydxd::xd#0 line::xd#1
Not aliassing across scopes: line_xdyd::x#0 line::x0#0
Not aliassing across scopes: line_xdyd::y#0 line::y0#0
Not aliassing across scopes: line_xdyd::x1#0 line::x1#0
Not aliassing across scopes: line_xdyd::xd#0 line::xd#1
Not aliassing across scopes: line_xdyd::yd#0 line::yd#0
Not aliassing across scopes: line_ydxd::y#1 line::y0#0
Not aliassing across scopes: line_ydxd::x#1 line::x0#0
Not aliassing across scopes: line_ydxd::y1#1 line::y1#0
Not aliassing across scopes: line_ydxd::yd#1 line::yd#3
Not aliassing across scopes: line_ydxd::xd#1 line::xd#0
Not aliassing across scopes: line_xdyd::x#1 line::x1#0
Not aliassing across scopes: line_xdyd::y#1 line::y1#0
Not aliassing across scopes: line_xdyd::x1#1 line::x0#0
Not aliassing across scopes: line_xdyd::xd#1 line::xd#0
Not aliassing across scopes: line_xdyd::yd#1 line::yd#3
Not aliassing across scopes: line_ydxi::y#1 line::y1#0
Not aliassing across scopes: line_ydxi::x#1 line::x1#0
Not aliassing across scopes: line_ydxi::y1#1 line::y0#0
Not aliassing across scopes: line_ydxi::yd#1 line::yd#10
Not aliassing across scopes: line_ydxi::xd#1 line::xd#0
Not aliassing across scopes: line_xdyi::x#1 line::x1#0
Not aliassing across scopes: line_xdyi::y#1 line::y1#0
Not aliassing across scopes: line_xdyi::x1#1 line::x0#0
Not aliassing across scopes: line_xdyi::xd#1 line::xd#0
Not aliassing across scopes: line_xdyi::yd#1 line::yd#10
Not aliassing across scopes: line_xdyi::yd#2 line_xdyi::yd#0
Not aliassing across scopes: line_xdyi::x#6 line_xdyi::x#0
Not aliassing across scopes: line_xdyi::y#5 line_xdyi::y#0
Not aliassing across scopes: line_xdyi::xd#5 line_xdyi::xd#0
Not aliassing across scopes: line_xdyi::x1#6 line_xdyi::x1#0
Not aliassing across scopes: plot::x#0 line_xdyi::x#3
Not aliassing across scopes: plot::y#0 line_xdyi::y#3
Not aliassing across scopes: line_xdyd::yd#2 line_xdyd::yd#0
Not aliassing across scopes: line_xdyd::x#6 line_xdyd::x#0
Not aliassing across scopes: line_xdyd::y#5 line_xdyd::y#0
Not aliassing across scopes: line_xdyd::xd#5 line_xdyd::xd#0
Not aliassing across scopes: line_xdyd::x1#6 line_xdyd::x1#0
Not aliassing across scopes: plot::x#1 line_xdyd::x#3
Not aliassing across scopes: plot::y#1 line_xdyd::y#3
Not aliassing across scopes: line_ydxi::xd#2 line_ydxi::xd#1
Not aliassing across scopes: line_ydxi::x#5 line_ydxi::x#1
Not aliassing across scopes: line_ydxi::y#6 line_ydxi::y#1
Not aliassing across scopes: line_ydxi::yd#5 line_ydxi::yd#1
Not aliassing across scopes: line_ydxi::y1#6 line_ydxi::y1#1
Not aliassing across scopes: plot::x#2 line_ydxi::x#3
Not aliassing across scopes: plot::y#2 line_ydxi::y#3
Not aliassing across scopes: line_ydxd::xd#2 line_ydxd::xd#1
Not aliassing across scopes: line_ydxd::x#5 line_ydxd::x#1
Not aliassing across scopes: line_ydxd::y#7 line_ydxd::y#1
Not aliassing across scopes: line_ydxd::yd#5 line_ydxd::yd#1
Not aliassing across scopes: line_ydxd::y1#6 line_ydxd::y1#1
Not aliassing across scopes: plot::x#3 line_ydxd::x#3
Not aliassing across scopes: plot::y#3 line_ydxd::y#2
Not aliassing across scopes: plot::x#4 plot::x#1
Not aliassing across scopes: plot::y#4 plot::y#1
Alias (byte) lines::l#2 = (byte/word~) lines::$0 (byte/word~) lines::$1 
Alias (word) plot::plotter_x#0 = (word~) plot::$2 
Alias (word) plot::plotter_y#0 = (word~) plot::$3 
Succesful SSA optimization Pass2AliasElimination
Not aliassing across scopes: line_ydxi::y#0 line::y0#0
Not aliassing across scopes: line_ydxi::x#0 line::x0#0
Not aliassing across scopes: line_ydxi::y1#0 line::y1#0
Not aliassing across scopes: line_ydxi::yd#0 line::yd#1
Not aliassing across scopes: line_ydxi::xd#0 line::xd#1
Not aliassing across scopes: line_xdyi::x#0 line::x0#0
Not aliassing across scopes: line_xdyi::y#0 line::y0#0
Not aliassing across scopes: line_xdyi::x1#0 line::x1#0
Not aliassing across scopes: line_xdyi::xd#0 line::xd#1
Not aliassing across scopes: line_xdyi::yd#0 line::yd#1
Not aliassing across scopes: line_ydxd::y#0 line::y1#0
Not aliassing across scopes: line_ydxd::x#0 line::x1#0
Not aliassing across scopes: line_ydxd::y1#0 line::y0#0
Not aliassing across scopes: line_ydxd::yd#0 line::yd#0
Not aliassing across scopes: line_ydxd::xd#0 line::xd#1
Not aliassing across scopes: line_xdyd::x#0 line::x0#0
Not aliassing across scopes: line_xdyd::y#0 line::y0#0
Not aliassing across scopes: line_xdyd::x1#0 line::x1#0
Not aliassing across scopes: line_xdyd::xd#0 line::xd#1
Not aliassing across scopes: line_xdyd::yd#0 line::yd#0
Not aliassing across scopes: line_ydxd::y#1 line::y0#0
Not aliassing across scopes: line_ydxd::x#1 line::x0#0
Not aliassing across scopes: line_ydxd::y1#1 line::y1#0
Not aliassing across scopes: line_ydxd::yd#1 line::yd#3
Not aliassing across scopes: line_ydxd::xd#1 line::xd#0
Not aliassing across scopes: line_xdyd::x#1 line::x1#0
Not aliassing across scopes: line_xdyd::y#1 line::y1#0
Not aliassing across scopes: line_xdyd::x1#1 line::x0#0
Not aliassing across scopes: line_xdyd::xd#1 line::xd#0
Not aliassing across scopes: line_xdyd::yd#1 line::yd#3
Not aliassing across scopes: line_ydxi::y#1 line::y1#0
Not aliassing across scopes: line_ydxi::x#1 line::x1#0
Not aliassing across scopes: line_ydxi::y1#1 line::y0#0
Not aliassing across scopes: line_ydxi::yd#1 line::yd#10
Not aliassing across scopes: line_ydxi::xd#1 line::xd#0
Not aliassing across scopes: line_xdyi::x#1 line::x1#0
Not aliassing across scopes: line_xdyi::y#1 line::y1#0
Not aliassing across scopes: line_xdyi::x1#1 line::x0#0
Not aliassing across scopes: line_xdyi::xd#1 line::xd#0
Not aliassing across scopes: line_xdyi::yd#1 line::yd#10
Not aliassing across scopes: line_xdyi::yd#2 line_xdyi::yd#0
Not aliassing across scopes: line_xdyi::x#6 line_xdyi::x#0
Not aliassing across scopes: line_xdyi::y#5 line_xdyi::y#0
Not aliassing across scopes: line_xdyi::xd#5 line_xdyi::xd#0
Not aliassing across scopes: line_xdyi::x1#6 line_xdyi::x1#0
Not aliassing across scopes: plot::x#0 line_xdyi::x#3
Not aliassing across scopes: plot::y#0 line_xdyi::y#3
Not aliassing across scopes: line_xdyd::yd#2 line_xdyd::yd#0
Not aliassing across scopes: line_xdyd::x#6 line_xdyd::x#0
Not aliassing across scopes: line_xdyd::y#5 line_xdyd::y#0
Not aliassing across scopes: line_xdyd::xd#5 line_xdyd::xd#0
Not aliassing across scopes: line_xdyd::x1#6 line_xdyd::x1#0
Not aliassing across scopes: plot::x#1 line_xdyd::x#3
Not aliassing across scopes: plot::y#1 line_xdyd::y#3
Not aliassing across scopes: line_ydxi::xd#2 line_ydxi::xd#1
Not aliassing across scopes: line_ydxi::x#5 line_ydxi::x#1
Not aliassing across scopes: line_ydxi::y#6 line_ydxi::y#1
Not aliassing across scopes: line_ydxi::yd#5 line_ydxi::yd#1
Not aliassing across scopes: line_ydxi::y1#6 line_ydxi::y1#1
Not aliassing across scopes: plot::x#2 line_ydxi::x#3
Not aliassing across scopes: plot::y#2 line_ydxi::y#3
Not aliassing across scopes: line_ydxd::xd#2 line_ydxd::xd#1
Not aliassing across scopes: line_ydxd::x#5 line_ydxd::x#1
Not aliassing across scopes: line_ydxd::y#7 line_ydxd::y#1
Not aliassing across scopes: line_ydxd::yd#5 line_ydxd::yd#1
Not aliassing across scopes: line_ydxd::y1#6 line_ydxd::y1#1
Not aliassing across scopes: plot::x#3 line_ydxd::x#3
Not aliassing across scopes: plot::y#3 line_ydxd::y#2
Not aliassing across scopes: plot::x#4 plot::x#1
Not aliassing across scopes: plot::y#4 plot::y#1
Multiple usages for variable. Not optimizing sub-constant (byte) init_plot_tables::x#2
Multiple usages for variable. Not optimizing sub-constant (byte) init_plot_tables::x#2
Multiple usages for variable. Not optimizing sub-constant (byte) init_plot_tables::x#2
Multiple usages for variable. Not optimizing sub-constant (byte) init_plot_tables::y#2
Multiple usages for variable. Not optimizing sub-constant (byte) init_plot_tables::y#2
Multiple usages for variable. Not optimizing sub-constant (byte*) init_plot_tables::yoffs#2
Not culling empty block because it shares successor with its predecessor. (label) init_plot_tables::@5
Not aliassing across scopes: line_ydxi::y#0 line::y0#0
Not aliassing across scopes: line_ydxi::x#0 line::x0#0
Not aliassing across scopes: line_ydxi::y1#0 line::y1#0
Not aliassing across scopes: line_ydxi::yd#0 line::yd#1
Not aliassing across scopes: line_ydxi::xd#0 line::xd#1
Not aliassing across scopes: line_xdyi::x#0 line::x0#0
Not aliassing across scopes: line_xdyi::y#0 line::y0#0
Not aliassing across scopes: line_xdyi::x1#0 line::x1#0
Not aliassing across scopes: line_xdyi::xd#0 line::xd#1
Not aliassing across scopes: line_xdyi::yd#0 line::yd#1
Not aliassing across scopes: line_ydxd::y#0 line::y1#0
Not aliassing across scopes: line_ydxd::x#0 line::x1#0
Not aliassing across scopes: line_ydxd::y1#0 line::y0#0
Not aliassing across scopes: line_ydxd::yd#0 line::yd#0
Not aliassing across scopes: line_ydxd::xd#0 line::xd#1
Not aliassing across scopes: line_xdyd::x#0 line::x0#0
Not aliassing across scopes: line_xdyd::y#0 line::y0#0
Not aliassing across scopes: line_xdyd::x1#0 line::x1#0
Not aliassing across scopes: line_xdyd::xd#0 line::xd#1
Not aliassing across scopes: line_xdyd::yd#0 line::yd#0
Not aliassing across scopes: line_ydxd::y#1 line::y0#0
Not aliassing across scopes: line_ydxd::x#1 line::x0#0
Not aliassing across scopes: line_ydxd::y1#1 line::y1#0
Not aliassing across scopes: line_ydxd::yd#1 line::yd#3
Not aliassing across scopes: line_ydxd::xd#1 line::xd#0
Not aliassing across scopes: line_xdyd::x#1 line::x1#0
Not aliassing across scopes: line_xdyd::y#1 line::y1#0
Not aliassing across scopes: line_xdyd::x1#1 line::x0#0
Not aliassing across scopes: line_xdyd::xd#1 line::xd#0
Not aliassing across scopes: line_xdyd::yd#1 line::yd#3
Not aliassing across scopes: line_ydxi::y#1 line::y1#0
Not aliassing across scopes: line_ydxi::x#1 line::x1#0
Not aliassing across scopes: line_ydxi::y1#1 line::y0#0
Not aliassing across scopes: line_ydxi::yd#1 line::yd#10
Not aliassing across scopes: line_ydxi::xd#1 line::xd#0
Not aliassing across scopes: line_xdyi::x#1 line::x1#0
Not aliassing across scopes: line_xdyi::y#1 line::y1#0
Not aliassing across scopes: line_xdyi::x1#1 line::x0#0
Not aliassing across scopes: line_xdyi::xd#1 line::xd#0
Not aliassing across scopes: line_xdyi::yd#1 line::yd#10
Not aliassing across scopes: line_xdyi::yd#2 line_xdyi::yd#0
Not aliassing across scopes: line_xdyi::x#6 line_xdyi::x#0
Not aliassing across scopes: line_xdyi::y#5 line_xdyi::y#0
Not aliassing across scopes: line_xdyi::xd#5 line_xdyi::xd#0
Not aliassing across scopes: line_xdyi::x1#6 line_xdyi::x1#0
Not aliassing across scopes: plot::x#0 line_xdyi::x#3
Not aliassing across scopes: plot::y#0 line_xdyi::y#3
Not aliassing across scopes: line_xdyd::yd#2 line_xdyd::yd#0
Not aliassing across scopes: line_xdyd::x#6 line_xdyd::x#0
Not aliassing across scopes: line_xdyd::y#5 line_xdyd::y#0
Not aliassing across scopes: line_xdyd::xd#5 line_xdyd::xd#0
Not aliassing across scopes: line_xdyd::x1#6 line_xdyd::x1#0
Not aliassing across scopes: plot::x#1 line_xdyd::x#3
Not aliassing across scopes: plot::y#1 line_xdyd::y#3
Not aliassing across scopes: line_ydxi::xd#2 line_ydxi::xd#1
Not aliassing across scopes: line_ydxi::x#5 line_ydxi::x#1
Not aliassing across scopes: line_ydxi::y#6 line_ydxi::y#1
Not aliassing across scopes: line_ydxi::yd#5 line_ydxi::yd#1
Not aliassing across scopes: line_ydxi::y1#6 line_ydxi::y1#1
Not aliassing across scopes: plot::x#2 line_ydxi::x#3
Not aliassing across scopes: plot::y#2 line_ydxi::y#3
Not aliassing across scopes: line_ydxd::xd#2 line_ydxd::xd#1
Not aliassing across scopes: line_ydxd::x#5 line_ydxd::x#1
Not aliassing across scopes: line_ydxd::y#7 line_ydxd::y#1
Not aliassing across scopes: line_ydxd::yd#5 line_ydxd::yd#1
Not aliassing across scopes: line_ydxd::y1#6 line_ydxd::y1#1
Not aliassing across scopes: plot::x#3 line_ydxd::x#3
Not aliassing across scopes: plot::y#3 line_ydxd::y#2
Not aliassing across scopes: plot::x#4 plot::x#1
Not aliassing across scopes: plot::y#4 plot::y#1
Multiple usages for variable. Not optimizing sub-constant (byte) init_plot_tables::x#2
Multiple usages for variable. Not optimizing sub-constant (byte) init_plot_tables::x#2
Multiple usages for variable. Not optimizing sub-constant (byte) init_plot_tables::x#2
Multiple usages for variable. Not optimizing sub-constant (byte) init_plot_tables::y#2
Multiple usages for variable. Not optimizing sub-constant (byte) init_plot_tables::y#2
Multiple usages for variable. Not optimizing sub-constant (byte*) init_plot_tables::yoffs#2
OPTIMIZING CONTROL FLOW GRAPH
Inlining constant with var siblings (const byte) lines::l#0
Inlining constant with var siblings (const byte) lines::l#0
Inlining constant with var siblings (const byte) init_plot_tables::bits#0
Inlining constant with var siblings (const byte) init_plot_tables::bits#0
Inlining constant with var siblings (const byte) init_plot_tables::bits#0
Inlining constant with var siblings (const byte) init_plot_tables::x#0
Inlining constant with var siblings (const byte) init_plot_tables::x#0
Inlining constant with var siblings (const byte) init_plot_tables::bits#2
Inlining constant with var siblings (const byte) init_plot_tables::bits#2
Inlining constant with var siblings (const byte) init_plot_tables::bits#2
Inlining constant with var siblings (const byte*) init_plot_tables::yoffs#0
Inlining constant with var siblings (const byte*) init_plot_tables::yoffs#0
Inlining constant with var siblings (const byte*) init_plot_tables::yoffs#0
Inlining constant with var siblings (const byte) init_plot_tables::y#0
Inlining constant with var siblings (const byte) init_plot_tables::y#0
Inlining constant with var siblings (const byte*) init_screen::b#0
Inlining constant with var siblings (const byte*) init_screen::b#0
Inlining constant with var siblings (const byte*) init_screen::c#0
Inlining constant with var siblings (const byte*) init_screen::c#0
Constant inlined init_plot_tables::bits#2 = (byte/word/signed word/dword/signed dword) 128
Constant inlined init_plot_tables::bits#0 = (byte/word/signed word/dword/signed dword) 128
Constant inlined init_screen::$2 = (const byte*) SCREEN#0+(word/signed word/dword/signed dword) 1024
Constant inlined main::$1 = (const byte) BMM#0|(const byte) DEN#0|(const byte) RSEL#0
Constant inlined init_plot_tables::$1 = >(const byte*) BITMAP#0
Constant inlined lines::l#0 = (byte/signed byte/word/signed word/dword/signed dword) 0
Constant inlined main::$2 = (const byte) BMM#0|(const byte) DEN#0|(const byte) RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3
Constant inlined main::$0 = (const byte) BMM#0|(const byte) DEN#0
Constant inlined main::$5 = ((word))(const byte*) BITMAP#0
Constant inlined init_plot_tables::y#0 = (byte/signed byte/word/signed word/dword/signed dword) 0
Constant inlined main::$6 = ((word))(const byte*) BITMAP#0/(word/signed word/dword/signed dword) 1024
Constant inlined init_plot_tables::yoffs#0 = ((byte*))(byte/signed byte/word/signed word/dword/signed dword) 0
Constant inlined main::$3 = ((word))(const byte*) SCREEN#0
Constant inlined main::$4 = ((word))(const byte*) SCREEN#0/(byte/signed byte/word/signed word/dword/signed dword) 64
Constant inlined init_plot_tables::$13 = (byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 8
Constant inlined init_plot_tables::x#0 = (byte/signed byte/word/signed word/dword/signed dword) 0
Constant inlined init_screen::c#0 = (const byte*) SCREEN#0
Constant inlined init_screen::b#0 = (const byte*) BITMAP#0
Constant inlined main::$7 = ((word))(const byte*) SCREEN#0/(byte/signed byte/word/signed word/dword/signed dword) 64|((word))(const byte*) BITMAP#0/(word/signed word/dword/signed dword) 1024
Constant inlined init_screen::$0 = (const byte*) BITMAP#0+(word/signed word/dword/signed dword) 8192
Constant inlined main::$8 = ((byte))((word))(const byte*) SCREEN#0/(byte/signed byte/word/signed word/dword/signed dword) 64|((word))(const byte*) BITMAP#0/(word/signed word/dword/signed dword) 1024
Succesful SSA optimization Pass2ConstantInlining
Block Sequence Planned @begin @10 @end main main::@3 main::@1 main::@5 main::@return lines lines::@1 lines::@3 lines::@return line line::@15 line::@16 line::@17 line::@return line::@3 line::@2 line::@20 line::@6 line::@1 line::@23 line::@24 line::@10 line::@9 line::@27 line::@13 line_ydxi line_ydxi::@1 line_ydxi::@5 line_ydxi::@3 line_ydxi::@2 line_ydxi::@return plot plot::@return line_xdyi line_xdyi::@1 line_xdyi::@5 line_xdyi::@3 line_xdyi::@2 line_xdyi::@return line_ydxd line_ydxd::@1 line_ydxd::@5 line_ydxd::@3 line_ydxd::@2 line_ydxd::@return line_xdyd line_xdyd::@1 line_xdyd::@5 line_xdyd::@3 line_xdyd::@2 line_xdyd::@return init_plot_tables init_plot_tables::@1 init_plot_tables::@5 init_plot_tables::@2 init_plot_tables::@3 init_plot_tables::@7 init_plot_tables::@4 init_plot_tables::@return init_screen init_screen::@1 init_screen::@2 init_screen::@return 
Added new block during phi lifting lines::@4(between lines::@3 and lines::@1)
Added new block during phi lifting line_ydxi::@6(between line_ydxi::@2 and line_ydxi::@1)
Added new block during phi lifting line_ydxi::@7(between line_ydxi::@5 and line_ydxi::@2)
Added new block during phi lifting line_xdyi::@6(between line_xdyi::@2 and line_xdyi::@1)
Added new block during phi lifting line_xdyi::@7(between line_xdyi::@5 and line_xdyi::@2)
Added new block during phi lifting line_ydxd::@6(between line_ydxd::@2 and line_ydxd::@1)
Added new block during phi lifting line_ydxd::@7(between line_ydxd::@5 and line_ydxd::@2)
Added new block during phi lifting line_xdyd::@6(between line_xdyd::@2 and line_xdyd::@1)
Added new block during phi lifting line_xdyd::@7(between line_xdyd::@5 and line_xdyd::@2)
Added new block during phi lifting init_plot_tables::@9(between init_plot_tables::@2 and init_plot_tables::@1)
Added new block during phi lifting init_plot_tables::@10(between init_plot_tables::@1 and init_plot_tables::@2)
Added new block during phi lifting init_plot_tables::@11(between init_plot_tables::@4 and init_plot_tables::@3)
Added new block during phi lifting init_plot_tables::@12(between init_plot_tables::@3 and init_plot_tables::@4)
Added new block during phi lifting init_screen::@5(between init_screen::@1 and init_screen::@1)
Added new block during phi lifting init_screen::@6(between init_screen::@2 and init_screen::@2)
Block Sequence Planned @begin @10 @end main main::@3 main::@1 main::@5 main::@return lines lines::@1 lines::@3 lines::@return lines::@4 line line::@15 line::@16 line::@17 line::@return line::@3 line::@2 line::@20 line::@6 line::@1 line::@23 line::@24 line::@10 line::@9 line::@27 line::@13 line_ydxi line_ydxi::@1 line_ydxi::@5 line_ydxi::@3 line_ydxi::@2 line_ydxi::@return line_ydxi::@6 line_ydxi::@7 plot plot::@return line_xdyi line_xdyi::@1 line_xdyi::@5 line_xdyi::@3 line_xdyi::@2 line_xdyi::@return line_xdyi::@6 line_xdyi::@7 line_ydxd line_ydxd::@1 line_ydxd::@5 line_ydxd::@3 line_ydxd::@2 line_ydxd::@return line_ydxd::@6 line_ydxd::@7 line_xdyd line_xdyd::@1 line_xdyd::@5 line_xdyd::@3 line_xdyd::@2 line_xdyd::@return line_xdyd::@6 line_xdyd::@7 init_plot_tables init_plot_tables::@1 init_plot_tables::@5 init_plot_tables::@2 init_plot_tables::@3 init_plot_tables::@7 init_plot_tables::@4 init_plot_tables::@return init_plot_tables::@11 init_plot_tables::@12 init_plot_tables::@9 init_plot_tables::@10 init_screen init_screen::@1 init_screen::@2 init_screen::@return init_screen::@6 init_screen::@5 
Adding NOP phi() at start of @begin
Adding NOP phi() at start of @10
Adding NOP phi() at start of @end
Adding NOP phi() at start of main::@3
Adding NOP phi() at start of main::@1
Adding NOP phi() at start of lines
Adding NOP phi() at start of init_plot_tables
Adding NOP phi() at start of init_plot_tables::@5
Adding NOP phi() at start of init_screen
CALL GRAPH
Calls in [] to main:2 
Calls in [main] to init_screen:8 init_plot_tables:10 lines:12 
Calls in [lines] to line:21 
Calls in [line] to line_xdyi:41 line_ydxi:53 line_xdyd:66 line_ydxd:77 line_xdyd:92 line_ydxd:103 line_xdyi:116 line_ydxi:127 
Calls in [line_ydxi] to plot:138 
Calls in [line_xdyi] to plot:172 
Calls in [line_ydxd] to plot:199 
Calls in [line_xdyd] to plot:226 

Propagating live ranges...
Propagating live ranges...
Propagating live ranges...
Propagating live ranges...
Propagating live ranges...
Propagating live ranges...
Propagating live ranges...
Propagating live ranges...
Propagating live ranges...
Propagating live ranges...
Propagating live ranges...
Propagating live ranges...
Propagating live ranges...
Propagating live ranges...
Propagating live ranges...
Propagating live ranges...
Propagating live ranges...
Created 51 initial phi equivalence classes
Coalesced [25] lines::l#4 ← lines::l#1
Coalesced [36] line_xdyi::yd#7 ← line_xdyi::yd#0
Coalesced [37] line_xdyi::x#8 ← line_xdyi::x#0
Coalesced [38] line_xdyi::y#8 ← line_xdyi::y#0
Coalesced [39] line_xdyi::xd#7 ← line_xdyi::xd#0
Coalesced [40] line_xdyi::x1#7 ← line_xdyi::x1#0
Coalesced [48] line_ydxi::xd#8 ← line_ydxi::xd#0
Coalesced [49] line_ydxi::x#9 ← line_ydxi::x#0
Coalesced [50] line_ydxi::y#9 ← line_ydxi::y#0
Coalesced [51] line_ydxi::yd#8 ← line_ydxi::yd#0
Coalesced [52] line_ydxi::y1#8 ← line_ydxi::y1#0
Coalesced [61] line_xdyd::yd#7 ← line_xdyd::yd#0
Coalesced [62] line_xdyd::x#8 ← line_xdyd::x#0
Coalesced [63] line_xdyd::y#8 ← line_xdyd::y#0
Coalesced [64] line_xdyd::xd#7 ← line_xdyd::xd#0
Coalesced [65] line_xdyd::x1#7 ← line_xdyd::x1#0
Coalesced [72] line_ydxd::xd#8 ← line_ydxd::xd#0
Coalesced [73] line_ydxd::x#9 ← line_ydxd::x#0
Coalesced [74] line_ydxd::y#10 ← line_ydxd::y#0
Coalesced [75] line_ydxd::yd#8 ← line_ydxd::yd#0
Coalesced [76] line_ydxd::y1#8 ← line_ydxd::y1#0
Coalesced [87] line_xdyd::yd#8 ← line_xdyd::yd#1
Coalesced [88] line_xdyd::x#9 ← line_xdyd::x#1
Coalesced [89] line_xdyd::y#9 ← line_xdyd::y#1
Coalesced [90] line_xdyd::xd#8 ← line_xdyd::xd#1
Coalesced [91] line_xdyd::x1#8 ← line_xdyd::x1#1
Coalesced [98] line_ydxd::xd#7 ← line_ydxd::xd#1
Coalesced [99] line_ydxd::x#8 ← line_ydxd::x#1
Coalesced [100] line_ydxd::y#9 ← line_ydxd::y#1
Coalesced [101] line_ydxd::yd#7 ← line_ydxd::yd#1
Coalesced [102] line_ydxd::y1#7 ← line_ydxd::y1#1
Coalesced [111] line_xdyi::yd#8 ← line_xdyi::yd#1
Coalesced [112] line_xdyi::x#9 ← line_xdyi::x#1
Coalesced [113] line_xdyi::y#9 ← line_xdyi::y#1
Coalesced [114] line_xdyi::xd#8 ← line_xdyi::xd#1
Coalesced [115] line_xdyi::x1#8 ← line_xdyi::x1#1
Coalesced [122] line_ydxi::xd#7 ← line_ydxi::xd#1
Coalesced [123] line_ydxi::x#8 ← line_ydxi::x#1
Coalesced [124] line_ydxi::y#8 ← line_ydxi::y#1
Coalesced [125] line_ydxi::yd#7 ← line_ydxi::yd#1
Coalesced [126] line_ydxi::y1#7 ← line_ydxi::y1#1
Coalesced [130] line_ydxi::x#10 ← line_ydxi::x#5
Coalesced [131] line_ydxi::y#10 ← line_ydxi::y#6
Coalesced [132] line_ydxi::e#7 ← line_ydxi::e#0
Coalesced [136] plot::x#8 ← plot::x#2
Coalesced [137] plot::y#8 ← plot::y#2
Coalesced [144] line_ydxi::x#12 ← line_ydxi::x#2
Coalesced [145] line_ydxi::e#9 ← line_ydxi::e#2
Coalesced [150] line_ydxi::x#11 ← line_ydxi::x#6
Coalesced [151] line_ydxi::y#11 ← line_ydxi::y#2
Coalesced [152] line_ydxi::e#8 ← line_ydxi::e#6
Coalesced (already) [153] line_ydxi::x#13 ← line_ydxi::x#3
Coalesced [154] line_ydxi::e#10 ← line_ydxi::e#1
Coalesced [164] line_xdyi::x#10 ← line_xdyi::x#6
Coalesced [165] line_xdyi::y#10 ← line_xdyi::y#5
Coalesced [166] line_xdyi::e#7 ← line_xdyi::e#0
Coalesced [170] plot::x#6 ← plot::x#0
Coalesced [171] plot::y#6 ← plot::y#0
Coalesced [178] line_xdyi::y#12 ← line_xdyi::y#2
Coalesced [179] line_xdyi::e#9 ← line_xdyi::e#2
Coalesced [184] line_xdyi::x#11 ← line_xdyi::x#2
Coalesced [185] line_xdyi::y#11 ← line_xdyi::y#6
Coalesced [186] line_xdyi::e#8 ← line_xdyi::e#6
Coalesced (already) [187] line_xdyi::y#13 ← line_xdyi::y#3
Coalesced [188] line_xdyi::e#10 ← line_xdyi::e#1
Coalesced [191] line_ydxd::x#10 ← line_ydxd::x#5
Coalesced [192] line_ydxd::y#11 ← line_ydxd::y#7
Coalesced [193] line_ydxd::e#7 ← line_ydxd::e#0
Coalesced [197] plot::x#7 ← plot::x#3
Coalesced [198] plot::y#7 ← plot::y#3
Coalesced [205] line_ydxd::x#12 ← line_ydxd::x#2
Coalesced [206] line_ydxd::e#9 ← line_ydxd::e#2
Coalesced [211] line_ydxd::x#11 ← line_ydxd::x#6
Coalesced [212] line_ydxd::y#12 ← line_ydxd::y#3
Coalesced [213] line_ydxd::e#8 ← line_ydxd::e#6
Coalesced (already) [214] line_ydxd::x#13 ← line_ydxd::x#3
Coalesced [215] line_ydxd::e#10 ← line_ydxd::e#1
Coalesced [218] line_xdyd::x#10 ← line_xdyd::x#6
Coalesced [219] line_xdyd::y#10 ← line_xdyd::y#5
Coalesced [220] line_xdyd::e#7 ← line_xdyd::e#0
Coalesced [224] plot::x#5 ← plot::x#1
Coalesced [225] plot::y#5 ← plot::y#1
Coalesced [232] line_xdyd::y#12 ← line_xdyd::y#2
Coalesced [233] line_xdyd::e#9 ← line_xdyd::e#2
Coalesced [238] line_xdyd::x#11 ← line_xdyd::x#2
Coalesced [239] line_xdyd::y#11 ← line_xdyd::y#6
Coalesced [240] line_xdyd::e#8 ← line_xdyd::e#6
Coalesced (already) [241] line_xdyd::y#13 ← line_xdyd::y#3
Coalesced [242] line_xdyd::e#10 ← line_xdyd::e#1
Coalesced [265] init_plot_tables::yoffs#7 ← init_plot_tables::yoffs#1
Coalesced [270] init_plot_tables::y#5 ← init_plot_tables::y#1
Coalesced [271] init_plot_tables::yoffs#5 ← init_plot_tables::yoffs#4
Coalesced (already) [272] init_plot_tables::yoffs#6 ← init_plot_tables::yoffs#2
Coalesced [273] init_plot_tables::x#5 ← init_plot_tables::x#1
Coalesced [274] init_plot_tables::bits#5 ← init_plot_tables::bits#4
Coalesced [275] init_plot_tables::bits#6 ← init_plot_tables::bits#1
Coalesced [286] init_screen::c#3 ← init_screen::c#1
Coalesced [287] init_screen::b#3 ← init_screen::b#1
Coalesced down to 33 phi equivalence classes
Culled Empty Block (label) lines::@4
Culled Empty Block (label) line_ydxi::@6
Culled Empty Block (label) line_ydxi::@7
Culled Empty Block (label) line_xdyi::@6
Culled Empty Block (label) line_xdyi::@7
Culled Empty Block (label) line_ydxd::@6
Culled Empty Block (label) line_ydxd::@7
Culled Empty Block (label) line_xdyd::@6
Culled Empty Block (label) line_xdyd::@7
Culled Empty Block (label) init_plot_tables::@5
Culled Empty Block (label) init_plot_tables::@11
Culled Empty Block (label) init_plot_tables::@12
Culled Empty Block (label) init_plot_tables::@9
Not culling empty block because it shares successor with its predecessor. (label) init_plot_tables::@10
Culled Empty Block (label) init_screen::@6
Culled Empty Block (label) init_screen::@5
Block Sequence Planned @begin @10 @end main main::@3 main::@1 main::@5 main::@return lines lines::@1 lines::@3 lines::@return line line::@15 line::@16 line::@17 line::@return line::@3 line::@2 line::@20 line::@6 line::@1 line::@23 line::@24 line::@10 line::@9 line::@27 line::@13 line_ydxi line_ydxi::@1 line_ydxi::@5 line_ydxi::@3 line_ydxi::@2 line_ydxi::@return plot plot::@return line_xdyi line_xdyi::@1 line_xdyi::@5 line_xdyi::@3 line_xdyi::@2 line_xdyi::@return line_ydxd line_ydxd::@1 line_ydxd::@5 line_ydxd::@3 line_ydxd::@2 line_ydxd::@return line_xdyd line_xdyd::@1 line_xdyd::@5 line_xdyd::@3 line_xdyd::@2 line_xdyd::@return init_plot_tables init_plot_tables::@1 init_plot_tables::@2 init_plot_tables::@3 init_plot_tables::@7 init_plot_tables::@4 init_plot_tables::@return init_plot_tables::@10 init_screen init_screen::@1 init_screen::@2 init_screen::@return 
Adding NOP phi() at start of @begin
Adding NOP phi() at start of @10
Adding NOP phi() at start of @end
Adding NOP phi() at start of main::@3
Adding NOP phi() at start of main::@1
Adding NOP phi() at start of lines
Adding NOP phi() at start of init_plot_tables
Adding NOP phi() at start of init_plot_tables::@10
Adding NOP phi() at start of init_screen
Propagating live ranges...
Propagating live ranges...
Propagating live ranges...
Propagating live ranges...
Propagating live ranges...
Propagating live ranges...
Propagating live ranges...
Propagating live ranges...
Propagating live ranges...
Propagating live ranges...
Propagating live ranges...

FINAL CONTROL FLOW GRAPH
@begin: scope:[]  from
  [0] phi() [ ] ( )
  to:@10
@10: scope:[]  from @begin
  [1] phi() [ ] ( )
  [2] call main param-assignment [ ] ( )
  to:@end
@end: scope:[]  from @10
  [3] phi() [ ] ( )
main: scope:[main]  from @10
  [4] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
  [5] *((const byte*) FGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] )
  [6] *((const byte*) D011#0) ← (const byte) BMM#0|(const byte) DEN#0|(const byte) RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 [ ] ( main:2 [ ] )
  [7] *((const byte*) D018#0) ← ((byte))((word))(const byte*) SCREEN#0/(byte/signed byte/word/signed word/dword/signed dword) 64|((word))(const byte*) BITMAP#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2 [ ] )
  [8] call init_screen param-assignment [ ] ( main:2 [ ] )
  to:main::@3
main::@3: scope:[main]  from main
  [9] phi() [ ] ( main:2 [ ] )
  [10] call init_plot_tables param-assignment [ ] ( main:2 [ ] )
  to:main::@1
main::@1: scope:[main]  from main::@3 main::@5
  [11] phi() [ ] ( main:2 [ ] )
  [12] call lines param-assignment [ ] ( main:2 [ ] )
  to:main::@5
main::@5: scope:[main]  from main::@1
  [13] if(true) goto main::@1 [ ] ( main:2 [ ] )
  to:main::@return
main::@return: scope:[main]  from main::@5
  [14] return  [ ] ( main:2 [ ] )
  to:@return
lines: scope:[lines]  from main::@1
  [15] phi() [ ] ( main:2::lines:12 [ ] )
  to:lines::@1
lines::@1: scope:[lines]  from lines lines::@3
  [16] (byte) lines::l#2 ← phi( lines/(byte/signed byte/word/signed word/dword/signed dword) 0 lines::@3/(byte) lines::l#1 ) [ lines::l#2 ] ( main:2::lines:12 [ lines::l#2 ] )
  [17] (byte) line::x0#0 ← *((const byte[]) lines_x#0 + (byte) lines::l#2) [ lines::l#2 line::x0#0 ] ( main:2::lines:12 [ lines::l#2 line::x0#0 ] )
  [18] (byte) line::x1#0 ← *((const byte[]) lines_x#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) lines::l#2) [ lines::l#2 line::x0#0 line::x1#0 ] ( main:2::lines:12 [ lines::l#2 line::x0#0 line::x1#0 ] )
  [19] (byte) line::y0#0 ← *((const byte[]) lines_y#0 + (byte) lines::l#2) [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 ] ( main:2::lines:12 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 ] )
  [20] (byte) line::y1#0 ← *((const byte[]) lines_y#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) lines::l#2) [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] ( main:2::lines:12 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] )
  [21] call line param-assignment [ lines::l#2 ] ( main:2::lines:12 [ lines::l#2 ] )
  to:lines::@3
lines::@3: scope:[lines]  from lines::@1
  [22] (byte) lines::l#1 ← ++ (byte) lines::l#2 [ lines::l#1 ] ( main:2::lines:12 [ lines::l#1 ] )
  [23] if((byte) lines::l#1<(const byte) lines_cnt#0) goto lines::@1 [ lines::l#1 ] ( main:2::lines:12 [ lines::l#1 ] )
  to:lines::@return
lines::@return: scope:[lines]  from lines::@3
  [24] return  [ ] ( main:2::lines:12 [ ] )
  to:@return
line: scope:[line]  from lines::@1
  [25] if((byte) line::x0#0>=(byte) line::x1#0) goto line::@1 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] )
  to:line::@15
line::@15: scope:[line]  from line
  [26] (byte) line::xd#1 ← (byte) line::x1#0 - (byte) line::x0#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 ] )
  [27] if((byte) line::y0#0>=(byte) line::y1#0) goto line::@2 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 ] )
  to:line::@16
line::@16: scope:[line]  from line::@15
  [28] (byte) line::yd#1 ← (byte) line::y1#0 - (byte) line::y0#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#1 ] )
  [29] if((byte) line::yd#1>=(byte) line::xd#1) goto line::@3 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#1 ] )
  to:line::@17
line::@17: scope:[line]  from line::@16
  [30] (byte) line_xdyi::x#0 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::xd#1 line::yd#1 line_xdyi::x#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x1#0 line::y0#0 line::xd#1 line::yd#1 line_xdyi::x#0 ] )
  [31] (byte) line_xdyi::y#0 ← (byte) line::y0#0 [ line::x1#0 line::xd#1 line::yd#1 line_xdyi::x#0 line_xdyi::y#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x1#0 line::xd#1 line::yd#1 line_xdyi::x#0 line_xdyi::y#0 ] )
  [32] (byte) line_xdyi::x1#0 ← (byte) line::x1#0 [ line::xd#1 line::yd#1 line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#1 line::yd#1 line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 ] )
  [33] (byte) line_xdyi::xd#0 ← (byte) line::xd#1 [ line::yd#1 line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::yd#1 line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 ] )
  [34] (byte) line_xdyi::yd#0 ← (byte) line::yd#1 [ line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 ] )
  [35] call line_xdyi param-assignment [ ] ( main:2::lines:12::line:21 [ lines::l#2 ] )
  to:line::@return
line::@return: scope:[line]  from line::@10 line::@13 line::@17 line::@20 line::@24 line::@27 line::@3 line::@6
  [36] return  [ ] ( main:2::lines:12::line:21 [ lines::l#2 ] )
  to:@return
line::@3: scope:[line]  from line::@16
  [37] (byte) line_ydxi::y#0 ← (byte) line::y0#0 [ line::x0#0 line::y1#0 line::xd#1 line::yd#1 line_ydxi::y#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::y1#0 line::xd#1 line::yd#1 line_ydxi::y#0 ] )
  [38] (byte) line_ydxi::x#0 ← (byte) line::x0#0 [ line::y1#0 line::xd#1 line::yd#1 line_ydxi::y#0 line_ydxi::x#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::y1#0 line::xd#1 line::yd#1 line_ydxi::y#0 line_ydxi::x#0 ] )
  [39] (byte) line_ydxi::y1#0 ← (byte) line::y1#0 [ line::xd#1 line::yd#1 line_ydxi::y#0 line_ydxi::x#0 line_ydxi::y1#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#1 line::yd#1 line_ydxi::y#0 line_ydxi::x#0 line_ydxi::y1#0 ] )
  [40] (byte) line_ydxi::yd#0 ← (byte) line::yd#1 [ line::xd#1 line_ydxi::y#0 line_ydxi::x#0 line_ydxi::y1#0 line_ydxi::yd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#1 line_ydxi::y#0 line_ydxi::x#0 line_ydxi::y1#0 line_ydxi::yd#0 ] )
  [41] (byte) line_ydxi::xd#0 ← (byte) line::xd#1 [ line_ydxi::y#0 line_ydxi::x#0 line_ydxi::y1#0 line_ydxi::yd#0 line_ydxi::xd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line_ydxi::y#0 line_ydxi::x#0 line_ydxi::y1#0 line_ydxi::yd#0 line_ydxi::xd#0 ] )
  [42] call line_ydxi param-assignment [ ] ( main:2::lines:12::line:21 [ lines::l#2 ] )
  to:line::@return
line::@2: scope:[line]  from line::@15
  [43] (byte) line::yd#0 ← (byte) line::y0#0 - (byte) line::y1#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#0 ] )
  [44] if((byte) line::yd#0>=(byte) line::xd#1) goto line::@6 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#0 ] )
  to:line::@20
line::@20: scope:[line]  from line::@2
  [45] (byte) line_xdyd::x#0 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::xd#1 line::yd#0 line_xdyd::x#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x1#0 line::y0#0 line::xd#1 line::yd#0 line_xdyd::x#0 ] )
  [46] (byte) line_xdyd::y#0 ← (byte) line::y0#0 [ line::x1#0 line::xd#1 line::yd#0 line_xdyd::x#0 line_xdyd::y#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x1#0 line::xd#1 line::yd#0 line_xdyd::x#0 line_xdyd::y#0 ] )
  [47] (byte) line_xdyd::x1#0 ← (byte) line::x1#0 [ line::xd#1 line::yd#0 line_xdyd::x#0 line_xdyd::y#0 line_xdyd::x1#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#1 line::yd#0 line_xdyd::x#0 line_xdyd::y#0 line_xdyd::x1#0 ] )
  [48] (byte) line_xdyd::xd#0 ← (byte) line::xd#1 [ line::yd#0 line_xdyd::x#0 line_xdyd::y#0 line_xdyd::x1#0 line_xdyd::xd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::yd#0 line_xdyd::x#0 line_xdyd::y#0 line_xdyd::x1#0 line_xdyd::xd#0 ] )
  [49] (byte) line_xdyd::yd#0 ← (byte) line::yd#0 [ line_xdyd::x#0 line_xdyd::y#0 line_xdyd::x1#0 line_xdyd::xd#0 line_xdyd::yd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line_xdyd::x#0 line_xdyd::y#0 line_xdyd::x1#0 line_xdyd::xd#0 line_xdyd::yd#0 ] )
  [50] call line_xdyd param-assignment [ ] ( main:2::lines:12::line:21 [ lines::l#2 ] )
  to:line::@return
line::@6: scope:[line]  from line::@2
  [51] (byte) line_ydxd::y#0 ← (byte) line::y1#0 [ line::x1#0 line::y0#0 line::xd#1 line::yd#0 line_ydxd::y#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x1#0 line::y0#0 line::xd#1 line::yd#0 line_ydxd::y#0 ] )
  [52] (byte) line_ydxd::x#0 ← (byte) line::x1#0 [ line::y0#0 line::xd#1 line::yd#0 line_ydxd::y#0 line_ydxd::x#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::y0#0 line::xd#1 line::yd#0 line_ydxd::y#0 line_ydxd::x#0 ] )
  [53] (byte) line_ydxd::y1#0 ← (byte) line::y0#0 [ line::xd#1 line::yd#0 line_ydxd::y#0 line_ydxd::x#0 line_ydxd::y1#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#1 line::yd#0 line_ydxd::y#0 line_ydxd::x#0 line_ydxd::y1#0 ] )
  [54] (byte) line_ydxd::yd#0 ← (byte) line::yd#0 [ line::xd#1 line_ydxd::y#0 line_ydxd::x#0 line_ydxd::y1#0 line_ydxd::yd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#1 line_ydxd::y#0 line_ydxd::x#0 line_ydxd::y1#0 line_ydxd::yd#0 ] )
  [55] (byte) line_ydxd::xd#0 ← (byte) line::xd#1 [ line_ydxd::y#0 line_ydxd::x#0 line_ydxd::y1#0 line_ydxd::yd#0 line_ydxd::xd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line_ydxd::y#0 line_ydxd::x#0 line_ydxd::y1#0 line_ydxd::yd#0 line_ydxd::xd#0 ] )
  [56] call line_ydxd param-assignment [ ] ( main:2::lines:12::line:21 [ lines::l#2 ] )
  to:line::@return
line::@1: scope:[line]  from line
  [57] (byte) line::xd#0 ← (byte) line::x0#0 - (byte) line::x1#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 ] )
  [58] if((byte) line::y0#0>=(byte) line::y1#0) goto line::@9 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 ] )
  to:line::@23
line::@23: scope:[line]  from line::@1
  [59] (byte) line::yd#3 ← (byte) line::y1#0 - (byte) line::y0#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#3 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#3 ] )
  [60] if((byte) line::yd#3>=(byte) line::xd#0) goto line::@10 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#3 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#3 ] )
  to:line::@24
line::@24: scope:[line]  from line::@23
  [61] (byte) line_xdyd::x#1 ← (byte) line::x1#0 [ line::x0#0 line::y1#0 line::xd#0 line::yd#3 line_xdyd::x#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::y1#0 line::xd#0 line::yd#3 line_xdyd::x#1 ] )
  [62] (byte) line_xdyd::y#1 ← (byte) line::y1#0 [ line::x0#0 line::xd#0 line::yd#3 line_xdyd::x#1 line_xdyd::y#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::xd#0 line::yd#3 line_xdyd::x#1 line_xdyd::y#1 ] )
  [63] (byte) line_xdyd::x1#1 ← (byte) line::x0#0 [ line::xd#0 line::yd#3 line_xdyd::x#1 line_xdyd::y#1 line_xdyd::x1#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#0 line::yd#3 line_xdyd::x#1 line_xdyd::y#1 line_xdyd::x1#1 ] )
  [64] (byte) line_xdyd::xd#1 ← (byte) line::xd#0 [ line::yd#3 line_xdyd::x#1 line_xdyd::y#1 line_xdyd::x1#1 line_xdyd::xd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::yd#3 line_xdyd::x#1 line_xdyd::y#1 line_xdyd::x1#1 line_xdyd::xd#1 ] )
  [65] (byte) line_xdyd::yd#1 ← (byte) line::yd#3 [ line_xdyd::x#1 line_xdyd::y#1 line_xdyd::x1#1 line_xdyd::xd#1 line_xdyd::yd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line_xdyd::x#1 line_xdyd::y#1 line_xdyd::x1#1 line_xdyd::xd#1 line_xdyd::yd#1 ] )
  [66] call line_xdyd param-assignment [ ] ( main:2::lines:12::line:21 [ lines::l#2 ] )
  to:line::@return
line::@10: scope:[line]  from line::@23
  [67] (byte) line_ydxd::y#1 ← (byte) line::y0#0 [ line::x0#0 line::y1#0 line::xd#0 line::yd#3 line_ydxd::y#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::y1#0 line::xd#0 line::yd#3 line_ydxd::y#1 ] )
  [68] (byte) line_ydxd::x#1 ← (byte) line::x0#0 [ line::y1#0 line::xd#0 line::yd#3 line_ydxd::y#1 line_ydxd::x#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::y1#0 line::xd#0 line::yd#3 line_ydxd::y#1 line_ydxd::x#1 ] )
  [69] (byte) line_ydxd::y1#1 ← (byte) line::y1#0 [ line::xd#0 line::yd#3 line_ydxd::y#1 line_ydxd::x#1 line_ydxd::y1#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#0 line::yd#3 line_ydxd::y#1 line_ydxd::x#1 line_ydxd::y1#1 ] )
  [70] (byte) line_ydxd::yd#1 ← (byte) line::yd#3 [ line::xd#0 line_ydxd::y#1 line_ydxd::x#1 line_ydxd::y1#1 line_ydxd::yd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#0 line_ydxd::y#1 line_ydxd::x#1 line_ydxd::y1#1 line_ydxd::yd#1 ] )
  [71] (byte) line_ydxd::xd#1 ← (byte) line::xd#0 [ line_ydxd::y#1 line_ydxd::x#1 line_ydxd::y1#1 line_ydxd::yd#1 line_ydxd::xd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line_ydxd::y#1 line_ydxd::x#1 line_ydxd::y1#1 line_ydxd::yd#1 line_ydxd::xd#1 ] )
  [72] call line_ydxd param-assignment [ ] ( main:2::lines:12::line:21 [ lines::l#2 ] )
  to:line::@return
line::@9: scope:[line]  from line::@1
  [73] (byte) line::yd#10 ← (byte) line::y0#0 - (byte) line::y1#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#10 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#10 ] )
  [74] if((byte) line::yd#10>=(byte) line::xd#0) goto line::@13 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#10 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#10 ] )
  to:line::@27
line::@27: scope:[line]  from line::@9
  [75] (byte) line_xdyi::x#1 ← (byte) line::x1#0 [ line::x0#0 line::y1#0 line::xd#0 line::yd#10 line_xdyi::x#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::y1#0 line::xd#0 line::yd#10 line_xdyi::x#1 ] )
  [76] (byte) line_xdyi::y#1 ← (byte) line::y1#0 [ line::x0#0 line::xd#0 line::yd#10 line_xdyi::x#1 line_xdyi::y#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::xd#0 line::yd#10 line_xdyi::x#1 line_xdyi::y#1 ] )
  [77] (byte) line_xdyi::x1#1 ← (byte) line::x0#0 [ line::xd#0 line::yd#10 line_xdyi::x#1 line_xdyi::y#1 line_xdyi::x1#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#0 line::yd#10 line_xdyi::x#1 line_xdyi::y#1 line_xdyi::x1#1 ] )
  [78] (byte) line_xdyi::xd#1 ← (byte) line::xd#0 [ line::yd#10 line_xdyi::x#1 line_xdyi::y#1 line_xdyi::x1#1 line_xdyi::xd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::yd#10 line_xdyi::x#1 line_xdyi::y#1 line_xdyi::x1#1 line_xdyi::xd#1 ] )
  [79] (byte) line_xdyi::yd#1 ← (byte) line::yd#10 [ line_xdyi::x#1 line_xdyi::y#1 line_xdyi::x1#1 line_xdyi::xd#1 line_xdyi::yd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line_xdyi::x#1 line_xdyi::y#1 line_xdyi::x1#1 line_xdyi::xd#1 line_xdyi::yd#1 ] )
  [80] call line_xdyi param-assignment [ ] ( main:2::lines:12::line:21 [ lines::l#2 ] )
  to:line::@return
line::@13: scope:[line]  from line::@9
  [81] (byte) line_ydxi::y#1 ← (byte) line::y1#0 [ line::x1#0 line::y0#0 line::xd#0 line::yd#10 line_ydxi::y#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x1#0 line::y0#0 line::xd#0 line::yd#10 line_ydxi::y#1 ] )
  [82] (byte) line_ydxi::x#1 ← (byte) line::x1#0 [ line::y0#0 line::xd#0 line::yd#10 line_ydxi::y#1 line_ydxi::x#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::y0#0 line::xd#0 line::yd#10 line_ydxi::y#1 line_ydxi::x#1 ] )
  [83] (byte) line_ydxi::y1#1 ← (byte) line::y0#0 [ line::xd#0 line::yd#10 line_ydxi::y#1 line_ydxi::x#1 line_ydxi::y1#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#0 line::yd#10 line_ydxi::y#1 line_ydxi::x#1 line_ydxi::y1#1 ] )
  [84] (byte) line_ydxi::yd#1 ← (byte) line::yd#10 [ line::xd#0 line_ydxi::y#1 line_ydxi::x#1 line_ydxi::y1#1 line_ydxi::yd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#0 line_ydxi::y#1 line_ydxi::x#1 line_ydxi::y1#1 line_ydxi::yd#1 ] )
  [85] (byte) line_ydxi::xd#1 ← (byte) line::xd#0 [ line_ydxi::y#1 line_ydxi::x#1 line_ydxi::y1#1 line_ydxi::yd#1 line_ydxi::xd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line_ydxi::y#1 line_ydxi::x#1 line_ydxi::y1#1 line_ydxi::yd#1 line_ydxi::xd#1 ] )
  [86] call line_ydxi param-assignment [ ] ( main:2::lines:12::line:21 [ lines::l#2 ] )
  to:line::@return
line_ydxi: scope:[line_ydxi]  from line::@13 line::@3
  [87] (byte) line_ydxi::y1#6 ← phi( line::@13/(byte) line_ydxi::y1#1 line::@3/(byte) line_ydxi::y1#0 ) [ line_ydxi::xd#2 line_ydxi::x#5 line_ydxi::y#6 line_ydxi::yd#5 line_ydxi::y1#6 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::x#5 line_ydxi::y#6 line_ydxi::yd#5 line_ydxi::y1#6 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::x#5 line_ydxi::y#6 line_ydxi::yd#5 line_ydxi::y1#6 ] )
  [87] (byte) line_ydxi::yd#5 ← phi( line::@13/(byte) line_ydxi::yd#1 line::@3/(byte) line_ydxi::yd#0 ) [ line_ydxi::xd#2 line_ydxi::x#5 line_ydxi::y#6 line_ydxi::yd#5 line_ydxi::y1#6 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::x#5 line_ydxi::y#6 line_ydxi::yd#5 line_ydxi::y1#6 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::x#5 line_ydxi::y#6 line_ydxi::yd#5 line_ydxi::y1#6 ] )
  [87] (byte) line_ydxi::y#6 ← phi( line::@13/(byte) line_ydxi::y#1 line::@3/(byte) line_ydxi::y#0 ) [ line_ydxi::xd#2 line_ydxi::x#5 line_ydxi::y#6 line_ydxi::yd#5 line_ydxi::y1#6 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::x#5 line_ydxi::y#6 line_ydxi::yd#5 line_ydxi::y1#6 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::x#5 line_ydxi::y#6 line_ydxi::yd#5 line_ydxi::y1#6 ] )
  [87] (byte) line_ydxi::x#5 ← phi( line::@13/(byte) line_ydxi::x#1 line::@3/(byte) line_ydxi::x#0 ) [ line_ydxi::xd#2 line_ydxi::x#5 line_ydxi::y#6 line_ydxi::yd#5 line_ydxi::y1#6 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::x#5 line_ydxi::y#6 line_ydxi::yd#5 line_ydxi::y1#6 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::x#5 line_ydxi::y#6 line_ydxi::yd#5 line_ydxi::y1#6 ] )
  [87] (byte) line_ydxi::xd#2 ← phi( line::@13/(byte) line_ydxi::xd#1 line::@3/(byte) line_ydxi::xd#0 ) [ line_ydxi::xd#2 line_ydxi::x#5 line_ydxi::y#6 line_ydxi::yd#5 line_ydxi::y1#6 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::x#5 line_ydxi::y#6 line_ydxi::yd#5 line_ydxi::y1#6 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::x#5 line_ydxi::y#6 line_ydxi::yd#5 line_ydxi::y1#6 ] )
  [88] (byte) line_ydxi::e#0 ← (byte) line_ydxi::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_ydxi::xd#2 line_ydxi::x#5 line_ydxi::y#6 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::e#0 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::x#5 line_ydxi::y#6 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::e#0 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::x#5 line_ydxi::y#6 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::e#0 ] )
  to:line_ydxi::@1
line_ydxi::@1: scope:[line_ydxi]  from line_ydxi line_ydxi::@2
  [89] (byte) line_ydxi::e#3 ← phi( line_ydxi/(byte) line_ydxi::e#0 line_ydxi::@2/(byte) line_ydxi::e#6 ) [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] )
  [89] (byte) line_ydxi::y#3 ← phi( line_ydxi/(byte) line_ydxi::y#6 line_ydxi::@2/(byte) line_ydxi::y#2 ) [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] )
  [89] (byte) line_ydxi::x#3 ← phi( line_ydxi/(byte) line_ydxi::x#5 line_ydxi::@2/(byte) line_ydxi::x#6 ) [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] )
  [90] (byte) plot::x#2 ← (byte) line_ydxi::x#3 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#2 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#2 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#2 ] )
  [91] (byte) plot::y#2 ← (byte) line_ydxi::y#3 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#2 plot::y#2 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#2 plot::y#2 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#2 plot::y#2 ] )
  [92] call plot param-assignment [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] )
  to:line_ydxi::@5
line_ydxi::@5: scope:[line_ydxi]  from line_ydxi::@1
  [93] (byte) line_ydxi::y#2 ← ++ (byte) line_ydxi::y#3 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::e#3 line_ydxi::y#2 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::e#3 line_ydxi::y#2 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::e#3 line_ydxi::y#2 ] )
  [94] (byte) line_ydxi::e#1 ← (byte) line_ydxi::e#3 + (byte) line_ydxi::xd#2 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#2 line_ydxi::e#1 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#2 line_ydxi::e#1 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#2 line_ydxi::e#1 ] )
  [95] if((byte) line_ydxi::yd#5>=(byte) line_ydxi::e#1) goto line_ydxi::@2 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#2 line_ydxi::e#1 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#2 line_ydxi::e#1 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#2 line_ydxi::e#1 ] )
  to:line_ydxi::@3
line_ydxi::@3: scope:[line_ydxi]  from line_ydxi::@5
  [96] (byte) line_ydxi::x#2 ← ++ (byte) line_ydxi::x#3 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::e#1 line_ydxi::x#2 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::e#1 line_ydxi::x#2 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::e#1 line_ydxi::x#2 ] )
  [97] (byte) line_ydxi::e#2 ← (byte) line_ydxi::e#1 - (byte) line_ydxi::yd#5 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::x#2 line_ydxi::e#2 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::x#2 line_ydxi::e#2 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::x#2 line_ydxi::e#2 ] )
  to:line_ydxi::@2
line_ydxi::@2: scope:[line_ydxi]  from line_ydxi::@3 line_ydxi::@5
  [98] (byte) line_ydxi::e#6 ← phi( line_ydxi::@3/(byte) line_ydxi::e#2 line_ydxi::@5/(byte) line_ydxi::e#1 ) [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 ] )
  [98] (byte) line_ydxi::x#6 ← phi( line_ydxi::@3/(byte) line_ydxi::x#2 line_ydxi::@5/(byte) line_ydxi::x#3 ) [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 ] )
  [99] (byte/word~) line_ydxi::$6 ← (byte) line_ydxi::y1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 line_ydxi::$6 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 line_ydxi::$6 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 line_ydxi::$6 ] )
  [100] if((byte) line_ydxi::y#2!=(byte/word~) line_ydxi::$6) goto line_ydxi::@1 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 ] )
  to:line_ydxi::@return
line_ydxi::@return: scope:[line_ydxi]  from line_ydxi::@2
  [101] return  [ ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 ] )
  to:@return
plot: scope:[plot]  from line_xdyd::@1 line_xdyi::@1 line_ydxd::@1 line_ydxi::@1
  [102] (byte) plot::y#4 ← phi( line_xdyd::@1/(byte) plot::y#1 line_xdyi::@1/(byte) plot::y#0 line_ydxd::@1/(byte) plot::y#3 line_ydxi::@1/(byte) plot::y#2 ) [ plot::x#4 plot::y#4 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_xdyi:35::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_xdyi:80::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_ydxd:56::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_ydxd:72::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_xdyd:50::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_xdyd:66::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 ] )
  [102] (byte) plot::x#4 ← phi( line_xdyd::@1/(byte) plot::x#1 line_xdyi::@1/(byte) plot::x#0 line_ydxd::@1/(byte) plot::x#3 line_ydxi::@1/(byte) plot::x#2 ) [ plot::x#4 plot::y#4 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_xdyi:35::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_xdyi:80::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_ydxd:56::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_ydxd:72::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_xdyd:50::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_xdyd:66::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 ] )
  [103] (word) plot::plotter_x#0 ← *((const byte[256]) plot_xhi#0 + (byte) plot::x#4) w= *((const byte[256]) plot_xlo#0 + (byte) plot::x#4) [ plot::x#4 plot::y#4 plot::plotter_x#0 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_xdyi:35::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_xdyi:80::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_ydxd:56::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_ydxd:72::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_xdyd:50::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_xdyd:66::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] )
  [104] (word) plot::plotter_y#0 ← *((const byte[256]) plot_yhi#0 + (byte) plot::y#4) w= *((const byte[256]) plot_ylo#0 + (byte) plot::y#4) [ plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_xdyi:35::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_xdyi:80::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_ydxd:56::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_ydxd:72::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_xdyd:50::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_xdyd:66::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] )
  [105] (word~) plot::$0 ← (word) plot::plotter_x#0 + (word) plot::plotter_y#0 [ plot::x#4 plot::$0 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_xdyi:35::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_xdyi:80::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_ydxd:56::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_ydxd:72::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_xdyd:50::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_xdyd:66::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::$0 ] )
  [106] (byte~) plot::$1 ← *((byte*)(word~) plot::$0) | *((const byte[256]) plot_bit#0 + (byte) plot::x#4) [ plot::$0 plot::$1 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_xdyi:35::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_xdyi:80::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_ydxd:56::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_ydxd:72::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_xdyd:50::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_xdyd:66::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::$0 plot::$1 ] )
  [107] *((byte*)(word~) plot::$0) ← (byte~) plot::$1 [ ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:2::lines:12::line:21::line_xdyi:35::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_xdyi:80::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_ydxd:56::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_xdyd:50::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:2::lines:12::line:21::line_xdyd:66::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
  to:plot::@return
plot::@return: scope:[plot]  from plot
  [108] return  [ ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:2::lines:12::line:21::line_xdyi:35::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_xdyi:80::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_ydxd:56::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_xdyd:50::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:2::lines:12::line:21::line_xdyd:66::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
  to:@return
line_xdyi: scope:[line_xdyi]  from line::@17 line::@27
  [109] (byte) line_xdyi::x1#6 ← phi( line::@17/(byte) line_xdyi::x1#0 line::@27/(byte) line_xdyi::x1#1 ) [ line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] )
  [109] (byte) line_xdyi::xd#5 ← phi( line::@17/(byte) line_xdyi::xd#0 line::@27/(byte) line_xdyi::xd#1 ) [ line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] )
  [109] (byte) line_xdyi::y#5 ← phi( line::@17/(byte) line_xdyi::y#0 line::@27/(byte) line_xdyi::y#1 ) [ line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] )
  [109] (byte) line_xdyi::x#6 ← phi( line::@17/(byte) line_xdyi::x#0 line::@27/(byte) line_xdyi::x#1 ) [ line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] )
  [109] (byte) line_xdyi::yd#2 ← phi( line::@17/(byte) line_xdyi::yd#0 line::@27/(byte) line_xdyi::yd#1 ) [ line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] )
  [110] (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::e#0 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::e#0 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::e#0 ] )
  to:line_xdyi::@1
line_xdyi::@1: scope:[line_xdyi]  from line_xdyi line_xdyi::@2
  [111] (byte) line_xdyi::e#3 ← phi( line_xdyi/(byte) line_xdyi::e#0 line_xdyi::@2/(byte) line_xdyi::e#6 ) [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] )
  [111] (byte) line_xdyi::y#3 ← phi( line_xdyi/(byte) line_xdyi::y#5 line_xdyi::@2/(byte) line_xdyi::y#6 ) [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] )
  [111] (byte) line_xdyi::x#3 ← phi( line_xdyi/(byte) line_xdyi::x#6 line_xdyi::@2/(byte) line_xdyi::x#2 ) [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] )
  [112] (byte) plot::x#0 ← (byte) line_xdyi::x#3 [ plot::x#0 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 plot::x#0 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 plot::x#0 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] )
  [113] (byte) plot::y#0 ← (byte) line_xdyi::y#3 [ plot::x#0 plot::y#0 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 plot::x#0 plot::y#0 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 plot::x#0 plot::y#0 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] )
  [114] call plot param-assignment [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] )
  to:line_xdyi::@5
line_xdyi::@5: scope:[line_xdyi]  from line_xdyi::@1
  [115] (byte) line_xdyi::x#2 ← ++ (byte) line_xdyi::x#3 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::e#3 line_xdyi::x#2 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::e#3 line_xdyi::x#2 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::e#3 line_xdyi::x#2 ] )
  [116] (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#2 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] )
  [117] if((byte) line_xdyi::xd#5>=(byte) line_xdyi::e#1) goto line_xdyi::@2 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] )
  to:line_xdyi::@3
line_xdyi::@3: scope:[line_xdyi]  from line_xdyi::@5
  [118] (byte) line_xdyi::y#2 ← ++ (byte) line_xdyi::y#3 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::e#1 line_xdyi::y#2 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::e#1 line_xdyi::y#2 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::e#1 line_xdyi::y#2 ] )
  [119] (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#5 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#2 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#2 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#2 ] )
  to:line_xdyi::@2
line_xdyi::@2: scope:[line_xdyi]  from line_xdyi::@3 line_xdyi::@5
  [120] (byte) line_xdyi::e#6 ← phi( line_xdyi::@3/(byte) line_xdyi::e#2 line_xdyi::@5/(byte) line_xdyi::e#1 ) [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] )
  [120] (byte) line_xdyi::y#6 ← phi( line_xdyi::@3/(byte) line_xdyi::y#2 line_xdyi::@5/(byte) line_xdyi::y#3 ) [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] )
  [121] (byte/word~) line_xdyi::$6 ← (byte) line_xdyi::x1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 line_xdyi::$6 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 line_xdyi::$6 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 line_xdyi::$6 ] )
  [122] if((byte) line_xdyi::x#2!=(byte/word~) line_xdyi::$6) goto line_xdyi::@1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] )
  to:line_xdyi::@return
line_xdyi::@return: scope:[line_xdyi]  from line_xdyi::@2
  [123] return  [ ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 ] )
  to:@return
line_ydxd: scope:[line_ydxd]  from line::@10 line::@6
  [124] (byte) line_ydxd::y1#6 ← phi( line::@10/(byte) line_ydxd::y1#1 line::@6/(byte) line_ydxd::y1#0 ) [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 ] )
  [124] (byte) line_ydxd::yd#5 ← phi( line::@10/(byte) line_ydxd::yd#1 line::@6/(byte) line_ydxd::yd#0 ) [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 ] )
  [124] (byte) line_ydxd::y#7 ← phi( line::@10/(byte) line_ydxd::y#1 line::@6/(byte) line_ydxd::y#0 ) [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 ] )
  [124] (byte) line_ydxd::x#5 ← phi( line::@10/(byte) line_ydxd::x#1 line::@6/(byte) line_ydxd::x#0 ) [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 ] )
  [124] (byte) line_ydxd::xd#2 ← phi( line::@10/(byte) line_ydxd::xd#1 line::@6/(byte) line_ydxd::xd#0 ) [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 ] )
  [125] (byte) line_ydxd::e#0 ← (byte) line_ydxd::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] )
  to:line_ydxd::@1
line_ydxd::@1: scope:[line_ydxd]  from line_ydxd line_ydxd::@2
  [126] (byte) line_ydxd::e#3 ← phi( line_ydxd/(byte) line_ydxd::e#0 line_ydxd::@2/(byte) line_ydxd::e#6 ) [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] )
  [126] (byte) line_ydxd::y#2 ← phi( line_ydxd/(byte) line_ydxd::y#7 line_ydxd::@2/(byte) line_ydxd::y#3 ) [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] )
  [126] (byte) line_ydxd::x#3 ← phi( line_ydxd/(byte) line_ydxd::x#5 line_ydxd::@2/(byte) line_ydxd::x#6 ) [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] )
  [127] (byte) plot::x#3 ← (byte) line_ydxd::x#3 [ plot::x#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 plot::x#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 plot::x#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] )
  [128] (byte) plot::y#3 ← (byte) line_ydxd::y#2 [ plot::x#3 plot::y#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 plot::x#3 plot::y#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 plot::x#3 plot::y#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] )
  [129] call plot param-assignment [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] )
  to:line_ydxd::@5
line_ydxd::@5: scope:[line_ydxd]  from line_ydxd::@1
  [130] (byte) line_ydxd::y#3 ← ++ (byte) line_ydxd::y#2 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::e#3 line_ydxd::y#3 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::e#3 line_ydxd::y#3 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::e#3 line_ydxd::y#3 ] )
  [131] (byte) line_ydxd::e#1 ← (byte) line_ydxd::e#3 + (byte) line_ydxd::xd#2 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#1 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#1 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#1 ] )
  [132] if((byte) line_ydxd::yd#5>=(byte) line_ydxd::e#1) goto line_ydxd::@2 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#1 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#1 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#1 ] )
  to:line_ydxd::@3
line_ydxd::@3: scope:[line_ydxd]  from line_ydxd::@5
  [133] (byte) line_ydxd::x#2 ← -- (byte) line_ydxd::x#3 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#3 line_ydxd::e#1 line_ydxd::x#2 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#3 line_ydxd::e#1 line_ydxd::x#2 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#3 line_ydxd::e#1 line_ydxd::x#2 ] )
  [134] (byte) line_ydxd::e#2 ← (byte) line_ydxd::e#1 - (byte) line_ydxd::yd#5 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#3 line_ydxd::x#2 line_ydxd::e#2 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#3 line_ydxd::x#2 line_ydxd::e#2 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#3 line_ydxd::x#2 line_ydxd::e#2 ] )
  to:line_ydxd::@2
line_ydxd::@2: scope:[line_ydxd]  from line_ydxd::@3 line_ydxd::@5
  [135] (byte) line_ydxd::e#6 ← phi( line_ydxd::@3/(byte) line_ydxd::e#2 line_ydxd::@5/(byte) line_ydxd::e#1 ) [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 ] )
  [135] (byte) line_ydxd::x#6 ← phi( line_ydxd::@3/(byte) line_ydxd::x#2 line_ydxd::@5/(byte) line_ydxd::x#3 ) [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 ] )
  [136] (byte/word~) line_ydxd::$6 ← (byte) line_ydxd::y1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 line_ydxd::$6 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 line_ydxd::$6 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 line_ydxd::$6 ] )
  [137] if((byte) line_ydxd::y#3!=(byte/word~) line_ydxd::$6) goto line_ydxd::@1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 ] )
  to:line_ydxd::@return
line_ydxd::@return: scope:[line_ydxd]  from line_ydxd::@2
  [138] return  [ ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 ] )
  to:@return
line_xdyd: scope:[line_xdyd]  from line::@20 line::@24
  [139] (byte) line_xdyd::x1#6 ← phi( line::@20/(byte) line_xdyd::x1#0 line::@24/(byte) line_xdyd::x1#1 ) [ line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] )
  [139] (byte) line_xdyd::xd#5 ← phi( line::@20/(byte) line_xdyd::xd#0 line::@24/(byte) line_xdyd::xd#1 ) [ line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] )
  [139] (byte) line_xdyd::y#5 ← phi( line::@20/(byte) line_xdyd::y#0 line::@24/(byte) line_xdyd::y#1 ) [ line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] )
  [139] (byte) line_xdyd::x#6 ← phi( line::@20/(byte) line_xdyd::x#0 line::@24/(byte) line_xdyd::x#1 ) [ line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] )
  [139] (byte) line_xdyd::yd#2 ← phi( line::@20/(byte) line_xdyd::yd#0 line::@24/(byte) line_xdyd::yd#1 ) [ line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] )
  [140] (byte) line_xdyd::e#0 ← (byte) line_xdyd::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::e#0 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::e#0 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::e#0 ] )
  to:line_xdyd::@1
line_xdyd::@1: scope:[line_xdyd]  from line_xdyd line_xdyd::@2
  [141] (byte) line_xdyd::e#3 ← phi( line_xdyd/(byte) line_xdyd::e#0 line_xdyd::@2/(byte) line_xdyd::e#6 ) [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
  [141] (byte) line_xdyd::y#3 ← phi( line_xdyd/(byte) line_xdyd::y#5 line_xdyd::@2/(byte) line_xdyd::y#6 ) [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
  [141] (byte) line_xdyd::x#3 ← phi( line_xdyd/(byte) line_xdyd::x#6 line_xdyd::@2/(byte) line_xdyd::x#2 ) [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
  [142] (byte) plot::x#1 ← (byte) line_xdyd::x#3 [ plot::x#1 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 plot::x#1 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 plot::x#1 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
  [143] (byte) plot::y#1 ← (byte) line_xdyd::y#3 [ plot::x#1 plot::y#1 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 plot::x#1 plot::y#1 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 plot::x#1 plot::y#1 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
  [144] call plot param-assignment [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
  to:line_xdyd::@5
line_xdyd::@5: scope:[line_xdyd]  from line_xdyd::@1
  [145] (byte) line_xdyd::x#2 ← ++ (byte) line_xdyd::x#3 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::e#3 line_xdyd::x#2 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::e#3 line_xdyd::x#2 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::e#3 line_xdyd::x#2 ] )
  [146] (byte) line_xdyd::e#1 ← (byte) line_xdyd::e#3 + (byte) line_xdyd::yd#2 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] )
  [147] if((byte) line_xdyd::xd#5>=(byte) line_xdyd::e#1) goto line_xdyd::@2 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] )
  to:line_xdyd::@3
line_xdyd::@3: scope:[line_xdyd]  from line_xdyd::@5
  [148] (byte) line_xdyd::y#2 ← -- (byte) line_xdyd::y#3 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::e#1 line_xdyd::y#2 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::e#1 line_xdyd::y#2 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::e#1 line_xdyd::y#2 ] )
  [149] (byte) line_xdyd::e#2 ← (byte) line_xdyd::e#1 - (byte) line_xdyd::xd#5 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#2 line_xdyd::e#2 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#2 line_xdyd::e#2 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#2 line_xdyd::e#2 ] )
  to:line_xdyd::@2
line_xdyd::@2: scope:[line_xdyd]  from line_xdyd::@3 line_xdyd::@5
  [150] (byte) line_xdyd::e#6 ← phi( line_xdyd::@3/(byte) line_xdyd::e#2 line_xdyd::@5/(byte) line_xdyd::e#1 ) [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] )
  [150] (byte) line_xdyd::y#6 ← phi( line_xdyd::@3/(byte) line_xdyd::y#2 line_xdyd::@5/(byte) line_xdyd::y#3 ) [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] )
  [151] (byte/word~) line_xdyd::$6 ← (byte) line_xdyd::x1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 line_xdyd::$6 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 line_xdyd::$6 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 line_xdyd::$6 ] )
  [152] if((byte) line_xdyd::x#2!=(byte/word~) line_xdyd::$6) goto line_xdyd::@1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] )
  to:line_xdyd::@return
line_xdyd::@return: scope:[line_xdyd]  from line_xdyd::@2
  [153] return  [ ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 ] )
  to:@return
init_plot_tables: scope:[init_plot_tables]  from main::@3
  [154] phi() [ ] ( main:2::init_plot_tables:10 [ ] )
  to:init_plot_tables::@1
init_plot_tables::@1: scope:[init_plot_tables]  from init_plot_tables init_plot_tables::@2
  [155] (byte) init_plot_tables::bits#3 ← phi( init_plot_tables/(byte/word/signed word/dword/signed dword) 128 init_plot_tables::@2/(byte) init_plot_tables::bits#4 ) [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] )
  [155] (byte) init_plot_tables::x#2 ← phi( init_plot_tables/(byte/signed byte/word/signed word/dword/signed dword) 0 init_plot_tables::@2/(byte) init_plot_tables::x#1 ) [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] )
  [156] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte/word/signed word/dword/signed dword) 248 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] )
  [157] *((const byte[256]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] )
  [158] *((const byte[256]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] )
  [159] *((const byte[256]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] )
  [160] (byte) init_plot_tables::bits#1 ← (byte) init_plot_tables::bits#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] )
  [161] if((byte) init_plot_tables::bits#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] )
  to:init_plot_tables::@2
init_plot_tables::@2: scope:[init_plot_tables]  from init_plot_tables::@1 init_plot_tables::@10
  [162] (byte) init_plot_tables::bits#4 ← phi( init_plot_tables::@10/(byte) init_plot_tables::bits#1 init_plot_tables::@1/(byte/word/signed word/dword/signed dword) 128 ) [ init_plot_tables::x#2 init_plot_tables::bits#4 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#2 init_plot_tables::bits#4 ] )
  [163] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] )
  [164] if((byte) init_plot_tables::x#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] )
  to:init_plot_tables::@3
init_plot_tables::@3: scope:[init_plot_tables]  from init_plot_tables::@2 init_plot_tables::@4
  [165] (byte*) init_plot_tables::yoffs#2 ← phi( init_plot_tables::@4/(byte*) init_plot_tables::yoffs#4 init_plot_tables::@2/((byte*))(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] )
  [165] (byte) init_plot_tables::y#2 ← phi( init_plot_tables::@4/(byte) init_plot_tables::y#1 init_plot_tables::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] )
  [166] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] )
  [167] (byte~) init_plot_tables::$7 ← < (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] )
  [168] (byte~) init_plot_tables::$8 ← (byte~) init_plot_tables::$6 | (byte~) init_plot_tables::$7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] )
  [169] *((const byte[256]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] )
  [170] (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] )
  [171] *((const byte[256]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] )
  [172] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] )
  [173] if((byte~) init_plot_tables::$10!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] )
  to:init_plot_tables::@7
init_plot_tables::@7: scope:[init_plot_tables]  from init_plot_tables::@3
  [174] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 8 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] )
  to:init_plot_tables::@4
init_plot_tables::@4: scope:[init_plot_tables]  from init_plot_tables::@3 init_plot_tables::@7
  [175] (byte*) init_plot_tables::yoffs#4 ← phi( init_plot_tables::@3/(byte*) init_plot_tables::yoffs#2 init_plot_tables::@7/(byte*) init_plot_tables::yoffs#1 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#4 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#4 ] )
  [176] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] )
  [177] if((byte) init_plot_tables::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] )
  to:init_plot_tables::@return
init_plot_tables::@return: scope:[init_plot_tables]  from init_plot_tables::@4
  [178] return  [ ] ( main:2::init_plot_tables:10 [ ] )
  to:@return
init_plot_tables::@10: scope:[init_plot_tables]  from init_plot_tables::@1
  [179] phi() [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] )
  to:init_plot_tables::@2
init_screen: scope:[init_screen]  from main
  [180] phi() [ ] ( main:2::init_screen:8 [ ] )
  to:init_screen::@1
init_screen::@1: scope:[init_screen]  from init_screen init_screen::@1
  [181] (byte*) init_screen::b#2 ← phi( init_screen/(const byte*) BITMAP#0 init_screen::@1/(byte*) init_screen::b#1 ) [ init_screen::b#2 ] ( main:2::init_screen:8 [ init_screen::b#2 ] )
  [182] *((byte*) init_screen::b#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ init_screen::b#2 ] ( main:2::init_screen:8 [ init_screen::b#2 ] )
  [183] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] ( main:2::init_screen:8 [ init_screen::b#1 ] )
  [184] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word/signed word/dword/signed dword) 8192) goto init_screen::@1 [ init_screen::b#1 ] ( main:2::init_screen:8 [ init_screen::b#1 ] )
  to:init_screen::@2
init_screen::@2: scope:[init_screen]  from init_screen::@1 init_screen::@2
  [185] (byte*) init_screen::c#2 ← phi( init_screen::@2/(byte*) init_screen::c#1 init_screen::@1/(const byte*) SCREEN#0 ) [ init_screen::c#2 ] ( main:2::init_screen:8 [ init_screen::c#2 ] )
  [186] *((byte*) init_screen::c#2) ← (byte/signed byte/word/signed word/dword/signed dword) 20 [ init_screen::c#2 ] ( main:2::init_screen:8 [ init_screen::c#2 ] )
  [187] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] ( main:2::init_screen:8 [ init_screen::c#1 ] )
  [188] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word/signed word/dword/signed dword) 1024) goto init_screen::@2 [ init_screen::c#1 ] ( main:2::init_screen:8 [ init_screen::c#1 ] )
  to:init_screen::@return
init_screen::@return: scope:[init_screen]  from init_screen::@2
  [189] return  [ ] ( main:2::init_screen:8 [ ] )
  to:@return

DOMINATORS
@begin dominated by  @begin 
@10 dominated by  @begin @10 
@end dominated by  @end @begin @10 
main dominated by  main @begin @10 
main::@3 dominated by  main main::@3 @begin @10 
main::@1 dominated by  main main::@1 main::@3 @begin @10 
main::@5 dominated by  main main::@1 main::@5 main::@3 @begin @10 
main::@return dominated by  main main::@1 main::@5 main::@3 @begin main::@return @10 
lines dominated by  main main::@1 main::@3 @begin lines @10 
lines::@1 dominated by  main main::@1 main::@3 @begin lines::@1 lines @10 
lines::@3 dominated by  main main::@1 main::@3 @begin lines::@1 lines::@3 lines @10 
lines::@return dominated by  main main::@1 main::@3 @begin lines::@return lines::@1 lines::@3 lines @10 
line dominated by  main main::@1 main::@3 @begin lines::@1 line lines @10 
line::@15 dominated by  main main::@1 main::@3 @begin lines::@1 line lines @10 line::@15 
line::@16 dominated by  main main::@1 main::@3 @begin lines::@1 line lines @10 line::@16 line::@15 
line::@17 dominated by  main main::@1 main::@3 @begin lines::@1 line lines @10 line::@16 line::@15 line::@17 
line::@return dominated by  main main::@1 main::@3 @begin lines::@1 line lines @10 line::@return 
line::@3 dominated by  main main::@1 main::@3 @begin lines::@1 line lines @10 line::@3 line::@16 line::@15 
line::@2 dominated by  main main::@1 main::@3 @begin lines::@1 line lines @10 line::@2 line::@15 
line::@20 dominated by  line::@20 main main::@1 main::@3 @begin lines::@1 line lines @10 line::@2 line::@15 
line::@6 dominated by  main main::@1 main::@3 @begin lines::@1 line lines @10 line::@6 line::@2 line::@15 
line::@1 dominated by  main main::@1 main::@3 @begin lines::@1 line lines @10 line::@1 
line::@23 dominated by  line::@23 main main::@1 main::@3 @begin lines::@1 line lines @10 line::@1 
line::@24 dominated by  line::@23 line::@24 main main::@1 main::@3 @begin lines::@1 line lines @10 line::@1 
line::@10 dominated by  line::@23 main main::@1 main::@3 @begin lines::@1 line lines @10 line::@10 line::@1 
line::@9 dominated by  main main::@1 main::@3 @begin lines::@1 line lines @10 line::@9 line::@1 
line::@27 dominated by  main main::@1 line::@27 main::@3 @begin lines::@1 line lines @10 line::@9 line::@1 
line::@13 dominated by  main main::@1 main::@3 @begin lines::@1 line lines @10 line::@9 line::@13 line::@1 
line_ydxi dominated by  main main::@1 main::@3 @begin lines::@1 line line_ydxi lines @10 
line_ydxi::@1 dominated by  main line_ydxi::@1 main::@1 main::@3 @begin lines::@1 line line_ydxi lines @10 
line_ydxi::@5 dominated by  main line_ydxi::@5 line_ydxi::@1 main::@1 main::@3 @begin lines::@1 line line_ydxi lines @10 
line_ydxi::@3 dominated by  main line_ydxi::@5 line_ydxi::@1 line_ydxi::@3 main::@1 main::@3 @begin lines::@1 line line_ydxi lines @10 
line_ydxi::@2 dominated by  main line_ydxi::@5 line_ydxi::@1 line_ydxi::@2 main::@1 main::@3 @begin lines::@1 line line_ydxi lines @10 
line_ydxi::@return dominated by  main line_ydxi::@5 line_ydxi::@1 line_ydxi::@2 main::@1 main::@3 line_ydxi::@return @begin lines::@1 line line_ydxi lines @10 
plot dominated by  main main::@1 main::@3 @begin lines::@1 line plot lines @10 
plot::@return dominated by  main main::@1 main::@3 @begin lines::@1 line plot lines @10 plot::@return 
line_xdyi dominated by  main line_xdyi main::@1 main::@3 @begin lines::@1 line lines @10 
line_xdyi::@1 dominated by  main line_xdyi main::@1 main::@3 @begin line_xdyi::@1 lines::@1 line lines @10 
line_xdyi::@5 dominated by  main line_xdyi main::@1 main::@3 @begin line_xdyi::@1 line_xdyi::@5 lines::@1 line lines @10 
line_xdyi::@3 dominated by  main line_xdyi main::@1 main::@3 @begin line_xdyi::@1 line_xdyi::@3 line_xdyi::@5 lines::@1 line lines @10 
line_xdyi::@2 dominated by  main line_xdyi main::@1 main::@3 @begin line_xdyi::@1 line_xdyi::@2 line_xdyi::@5 lines::@1 line lines @10 
line_xdyi::@return dominated by  line_xdyi::@return main line_xdyi main::@1 main::@3 @begin line_xdyi::@1 line_xdyi::@2 line_xdyi::@5 lines::@1 line lines @10 
line_ydxd dominated by  main main::@1 main::@3 @begin lines::@1 line line_ydxd lines @10 
line_ydxd::@1 dominated by  main main::@1 main::@3 @begin lines::@1 line line_ydxd::@1 line_ydxd lines @10 
line_ydxd::@5 dominated by  main main::@1 main::@3 @begin lines::@1 line line_ydxd::@5 line_ydxd::@1 line_ydxd lines @10 
line_ydxd::@3 dominated by  main main::@1 main::@3 @begin lines::@1 line line_ydxd::@5 line_ydxd::@3 line_ydxd::@1 line_ydxd lines @10 
line_ydxd::@2 dominated by  main main::@1 main::@3 @begin lines::@1 line line_ydxd::@5 line_ydxd::@2 line_ydxd::@1 line_ydxd lines @10 
line_ydxd::@return dominated by  main line_ydxd::@return main::@1 main::@3 @begin lines::@1 line line_ydxd::@5 line_ydxd::@2 line_ydxd::@1 line_ydxd lines @10 
line_xdyd dominated by  main line_xdyd main::@1 main::@3 @begin lines::@1 line lines @10 
line_xdyd::@1 dominated by  main line_xdyd main::@1 main::@3 @begin lines::@1 line line_xdyd::@1 lines @10 
line_xdyd::@5 dominated by  main line_xdyd main::@1 main::@3 @begin lines::@1 line line_xdyd::@1 line_xdyd::@5 lines @10 
line_xdyd::@3 dominated by  main line_xdyd main::@1 main::@3 @begin lines::@1 line line_xdyd::@1 line_xdyd::@5 line_xdyd::@3 lines @10 
line_xdyd::@2 dominated by  main line_xdyd main::@1 main::@3 @begin lines::@1 line line_xdyd::@1 line_xdyd::@5 line_xdyd::@2 lines @10 
line_xdyd::@return dominated by  main line_xdyd main::@1 main::@3 @begin line_xdyd::@return lines::@1 line line_xdyd::@1 line_xdyd::@5 line_xdyd::@2 lines @10 
init_plot_tables dominated by  main main::@3 @begin init_plot_tables @10 
init_plot_tables::@1 dominated by  main init_plot_tables::@1 main::@3 @begin init_plot_tables @10 
init_plot_tables::@2 dominated by  main init_plot_tables::@2 init_plot_tables::@1 main::@3 @begin init_plot_tables @10 
init_plot_tables::@3 dominated by  main init_plot_tables::@2 init_plot_tables::@3 init_plot_tables::@1 main::@3 @begin init_plot_tables @10 
init_plot_tables::@7 dominated by  main init_plot_tables::@2 init_plot_tables::@3 init_plot_tables::@1 init_plot_tables::@7 main::@3 @begin init_plot_tables @10 
init_plot_tables::@4 dominated by  main init_plot_tables::@2 init_plot_tables::@3 init_plot_tables::@1 main::@3 init_plot_tables::@4 @begin init_plot_tables @10 
init_plot_tables::@return dominated by  main init_plot_tables::@2 init_plot_tables::@3 init_plot_tables::@1 main::@3 init_plot_tables::@4 @begin init_plot_tables::@return init_plot_tables @10 
init_plot_tables::@10 dominated by  main init_plot_tables::@1 main::@3 @begin init_plot_tables @10 init_plot_tables::@10 
init_screen dominated by  main @begin init_screen @10 
init_screen::@1 dominated by  main @begin init_screen init_screen::@1 @10 
init_screen::@2 dominated by  main @begin init_screen init_screen::@2 init_screen::@1 @10 
init_screen::@return dominated by  main @begin init_screen init_screen::@2 init_screen::@1 @10 init_screen::@return 

NATURAL LOOPS
Found back edge: Loop head: main::@1 tails: main::@5 blocks: null
Found back edge: Loop head: lines::@1 tails: lines::@3 blocks: null
Found back edge: Loop head: line_ydxi::@1 tails: line_ydxi::@2 blocks: null
Found back edge: Loop head: line_xdyi::@1 tails: line_xdyi::@2 blocks: null
Found back edge: Loop head: line_ydxd::@1 tails: line_ydxd::@2 blocks: null
Found back edge: Loop head: line_xdyd::@1 tails: line_xdyd::@2 blocks: null
Found back edge: Loop head: init_plot_tables::@1 tails: init_plot_tables::@2 blocks: null
Found back edge: Loop head: init_plot_tables::@3 tails: init_plot_tables::@4 blocks: null
Found back edge: Loop head: init_screen::@1 tails: init_screen::@1 blocks: null
Found back edge: Loop head: init_screen::@2 tails: init_screen::@2 blocks: null
Populated: Loop head: main::@1 tails: main::@5 blocks: main::@5 main::@1 
Populated: Loop head: lines::@1 tails: lines::@3 blocks: lines::@3 lines::@1 
Populated: Loop head: line_ydxi::@1 tails: line_ydxi::@2 blocks: line_ydxi::@2 line_ydxi::@3 line_ydxi::@5 line_ydxi::@1 
Populated: Loop head: line_xdyi::@1 tails: line_xdyi::@2 blocks: line_xdyi::@2 line_xdyi::@3 line_xdyi::@5 line_xdyi::@1 
Populated: Loop head: line_ydxd::@1 tails: line_ydxd::@2 blocks: line_ydxd::@2 line_ydxd::@3 line_ydxd::@5 line_ydxd::@1 
Populated: Loop head: line_xdyd::@1 tails: line_xdyd::@2 blocks: line_xdyd::@2 line_xdyd::@3 line_xdyd::@5 line_xdyd::@1 
Populated: Loop head: init_plot_tables::@1 tails: init_plot_tables::@2 blocks: init_plot_tables::@2 init_plot_tables::@1 init_plot_tables::@10 
Populated: Loop head: init_plot_tables::@3 tails: init_plot_tables::@4 blocks: init_plot_tables::@4 init_plot_tables::@3 init_plot_tables::@7 
Populated: Loop head: init_screen::@1 tails: init_screen::@1 blocks: init_screen::@1 
Populated: Loop head: init_screen::@2 tails: init_screen::@2 blocks: init_screen::@2 
Loop head: main::@1 tails: main::@5 blocks: main::@5 main::@1 
Loop head: lines::@1 tails: lines::@3 blocks: lines::@3 lines::@1 
Loop head: line_ydxi::@1 tails: line_ydxi::@2 blocks: line_ydxi::@2 line_ydxi::@3 line_ydxi::@5 line_ydxi::@1 
Loop head: line_xdyi::@1 tails: line_xdyi::@2 blocks: line_xdyi::@2 line_xdyi::@3 line_xdyi::@5 line_xdyi::@1 
Loop head: line_ydxd::@1 tails: line_ydxd::@2 blocks: line_ydxd::@2 line_ydxd::@3 line_ydxd::@5 line_ydxd::@1 
Loop head: line_xdyd::@1 tails: line_xdyd::@2 blocks: line_xdyd::@2 line_xdyd::@3 line_xdyd::@5 line_xdyd::@1 
Loop head: init_plot_tables::@1 tails: init_plot_tables::@2 blocks: init_plot_tables::@2 init_plot_tables::@1 init_plot_tables::@10 
Loop head: init_plot_tables::@3 tails: init_plot_tables::@4 blocks: init_plot_tables::@4 init_plot_tables::@3 init_plot_tables::@7 
Loop head: init_screen::@1 tails: init_screen::@1 blocks: init_screen::@1 
Loop head: init_screen::@2 tails: init_screen::@2 blocks: init_screen::@2 

NATURAL LOOPS WITH DEPTH
Found 0 loops in scope []
Found 1 loops in scope [main]
  Loop head: main::@1 tails: main::@5 blocks: main::@5 main::@1 
Found 2 loops in scope [init_screen]
  Loop head: init_screen::@1 tails: init_screen::@1 blocks: init_screen::@1 
  Loop head: init_screen::@2 tails: init_screen::@2 blocks: init_screen::@2 
Found 2 loops in scope [init_plot_tables]
  Loop head: init_plot_tables::@1 tails: init_plot_tables::@2 blocks: init_plot_tables::@2 init_plot_tables::@1 init_plot_tables::@10 
  Loop head: init_plot_tables::@3 tails: init_plot_tables::@4 blocks: init_plot_tables::@4 init_plot_tables::@3 init_plot_tables::@7 
Found 1 loops in scope [lines]
  Loop head: lines::@1 tails: lines::@3 blocks: lines::@3 lines::@1 
Found 0 loops in scope [line]
Found 1 loops in scope [line_xdyi]
  Loop head: line_xdyi::@1 tails: line_xdyi::@2 blocks: line_xdyi::@2 line_xdyi::@3 line_xdyi::@5 line_xdyi::@1 
Found 1 loops in scope [line_ydxi]
  Loop head: line_ydxi::@1 tails: line_ydxi::@2 blocks: line_ydxi::@2 line_ydxi::@3 line_ydxi::@5 line_ydxi::@1 
Found 1 loops in scope [line_xdyd]
  Loop head: line_xdyd::@1 tails: line_xdyd::@2 blocks: line_xdyd::@2 line_xdyd::@3 line_xdyd::@5 line_xdyd::@1 
Found 1 loops in scope [line_ydxd]
  Loop head: line_ydxd::@1 tails: line_ydxd::@2 blocks: line_ydxd::@2 line_ydxd::@3 line_ydxd::@5 line_ydxd::@1 
Found 0 loops in scope [plot]
Loop head: main::@1 tails: main::@5 blocks: main::@5 main::@1  depth: 1
Loop head: lines::@1 tails: lines::@3 blocks: lines::@3 lines::@1  depth: 2
Loop head: line_ydxi::@1 tails: line_ydxi::@2 blocks: line_ydxi::@2 line_ydxi::@3 line_ydxi::@5 line_ydxi::@1  depth: 3
Loop head: line_xdyi::@1 tails: line_xdyi::@2 blocks: line_xdyi::@2 line_xdyi::@3 line_xdyi::@5 line_xdyi::@1  depth: 3
Loop head: line_ydxd::@1 tails: line_ydxd::@2 blocks: line_ydxd::@2 line_ydxd::@3 line_ydxd::@5 line_ydxd::@1  depth: 3
Loop head: line_xdyd::@1 tails: line_xdyd::@2 blocks: line_xdyd::@2 line_xdyd::@3 line_xdyd::@5 line_xdyd::@1  depth: 3
Loop head: init_plot_tables::@1 tails: init_plot_tables::@2 blocks: init_plot_tables::@2 init_plot_tables::@1 init_plot_tables::@10  depth: 1
Loop head: init_plot_tables::@3 tails: init_plot_tables::@4 blocks: init_plot_tables::@4 init_plot_tables::@3 init_plot_tables::@7  depth: 1
Loop head: init_screen::@1 tails: init_screen::@1 blocks: init_screen::@1  depth: 1
Loop head: init_screen::@2 tails: init_screen::@2 blocks: init_screen::@2  depth: 1


VARIABLE REGISTER WEIGHTS
(byte*) BGCOL
(byte*) BITMAP
(byte) BMM
(byte*) D011
(byte*) D018
(byte) DEN
(byte*) FGCOL
(byte) RSEL
(byte*) SCREEN
(void()) init_plot_tables()
(byte~) init_plot_tables::$0 22.0
(byte~) init_plot_tables::$10 22.0
(byte~) init_plot_tables::$6 11.0
(byte~) init_plot_tables::$7 22.0
(byte~) init_plot_tables::$8 22.0
(byte~) init_plot_tables::$9 22.0
(byte) init_plot_tables::bits
(byte) init_plot_tables::bits#1 11.0
(byte) init_plot_tables::bits#3 6.6000000000000005
(byte) init_plot_tables::bits#4 7.333333333333333
(byte) init_plot_tables::x
(byte) init_plot_tables::x#1 16.5
(byte) init_plot_tables::x#2 7.333333333333334
(byte) init_plot_tables::y
(byte) init_plot_tables::y#1 16.5
(byte) init_plot_tables::y#2 6.0
(byte*) init_plot_tables::yoffs
(byte*) init_plot_tables::yoffs#1 22.0
(byte*) init_plot_tables::yoffs#2 6.111111111111112
(byte*) init_plot_tables::yoffs#4 11.0
(void()) init_screen()
(byte*) init_screen::b
(byte*) init_screen::b#1 16.5
(byte*) init_screen::b#2 16.5
(byte*) init_screen::c
(byte*) init_screen::c#1 16.5
(byte*) init_screen::c#2 16.5
(void()) line((byte) line::x0 , (byte) line::x1 , (byte) line::y0 , (byte) line::y1)
(byte) line::x0
(byte) line::x0#0 5.173913043478264
(byte) line::x1
(byte) line::x1#0 5.409090909090908
(byte) line::xd
(byte) line::xd#0 0.7
(byte) line::xd#1 0.7
(byte) line::y0
(byte) line::y0#0 5.952380952380948
(byte) line::y1
(byte) line::y1#0 6.249999999999996
(byte) line::yd
(byte) line::yd#0 0.8888888888888888
(byte) line::yd#1 0.8888888888888888
(byte) line::yd#10 0.8888888888888888
(byte) line::yd#3 0.8888888888888888
(void()) line_xdyd((byte) line_xdyd::x , (byte) line_xdyd::y , (byte) line_xdyd::x1 , (byte) line_xdyd::xd , (byte) line_xdyd::yd)
(byte/word~) line_xdyd::$6 2002.0
(byte) line_xdyd::e
(byte) line_xdyd::e#0 4.0
(byte) line_xdyd::e#1 1334.6666666666667
(byte) line_xdyd::e#2 2002.0
(byte) line_xdyd::e#3 400.79999999999995
(byte) line_xdyd::e#6 1001.0
(byte) line_xdyd::x
(byte) line_xdyd::x#0 0.8
(byte) line_xdyd::x#1 0.8
(byte) line_xdyd::x#2 375.375
(byte) line_xdyd::x#3 751.25
(byte) line_xdyd::x#6 3.0
(byte) line_xdyd::x1
(byte) line_xdyd::x1#0 1.3333333333333333
(byte) line_xdyd::x1#1 1.3333333333333333
(byte) line_xdyd::x1#6 71.78571428571429
(byte) line_xdyd::xd
(byte) line_xdyd::xd#0 2.0
(byte) line_xdyd::xd#1 2.0
(byte) line_xdyd::xd#5 143.28571428571428
(byte) line_xdyd::y
(byte) line_xdyd::y#0 1.0
(byte) line_xdyd::y#1 1.0
(byte) line_xdyd::y#2 1001.0
(byte) line_xdyd::y#3 572.2857142857142
(byte) line_xdyd::y#5 3.0
(byte) line_xdyd::y#6 1001.0
(byte) line_xdyd::yd
(byte) line_xdyd::yd#0 4.0
(byte) line_xdyd::yd#1 4.0
(byte) line_xdyd::yd#2 71.92857142857143
(void()) line_xdyi((byte) line_xdyi::x , (byte) line_xdyi::y , (byte) line_xdyi::x1 , (byte) line_xdyi::xd , (byte) line_xdyi::yd)
(byte/word~) line_xdyi::$6 2002.0
(byte) line_xdyi::e
(byte) line_xdyi::e#0 4.0
(byte) line_xdyi::e#1 1334.6666666666667
(byte) line_xdyi::e#2 2002.0
(byte) line_xdyi::e#3 400.79999999999995
(byte) line_xdyi::e#6 1001.0
(byte) line_xdyi::x
(byte) line_xdyi::x#0 0.8
(byte) line_xdyi::x#1 0.8
(byte) line_xdyi::x#2 375.375
(byte) line_xdyi::x#3 751.25
(byte) line_xdyi::x#6 3.0
(byte) line_xdyi::x1
(byte) line_xdyi::x1#0 1.3333333333333333
(byte) line_xdyi::x1#1 1.3333333333333333
(byte) line_xdyi::x1#6 71.78571428571429
(byte) line_xdyi::xd
(byte) line_xdyi::xd#0 2.0
(byte) line_xdyi::xd#1 2.0
(byte) line_xdyi::xd#5 143.28571428571428
(byte) line_xdyi::y
(byte) line_xdyi::y#0 1.0
(byte) line_xdyi::y#1 1.0
(byte) line_xdyi::y#2 1001.0
(byte) line_xdyi::y#3 572.2857142857142
(byte) line_xdyi::y#5 3.0
(byte) line_xdyi::y#6 1001.0
(byte) line_xdyi::yd
(byte) line_xdyi::yd#0 4.0
(byte) line_xdyi::yd#1 4.0
(byte) line_xdyi::yd#2 71.92857142857143
(void()) line_ydxd((byte) line_ydxd::y , (byte) line_ydxd::x , (byte) line_ydxd::y1 , (byte) line_ydxd::yd , (byte) line_ydxd::xd)
(byte/word~) line_ydxd::$6 2002.0
(byte) line_ydxd::e
(byte) line_ydxd::e#0 4.0
(byte) line_ydxd::e#1 1334.6666666666667
(byte) line_ydxd::e#2 2002.0
(byte) line_ydxd::e#3 400.79999999999995
(byte) line_ydxd::e#6 1001.0
(byte) line_ydxd::x
(byte) line_ydxd::x#0 1.0
(byte) line_ydxd::x#1 1.0
(byte) line_ydxd::x#2 1001.0
(byte) line_ydxd::x#3 572.2857142857142
(byte) line_ydxd::x#5 3.0
(byte) line_ydxd::x#6 1001.0
(byte) line_ydxd::xd
(byte) line_ydxd::xd#0 4.0
(byte) line_ydxd::xd#1 4.0
(byte) line_ydxd::xd#2 71.92857142857143
(byte) line_ydxd::y
(byte) line_ydxd::y#0 0.8
(byte) line_ydxd::y#1 0.8
(byte) line_ydxd::y#2 751.25
(byte) line_ydxd::y#3 375.375
(byte) line_ydxd::y#7 3.0
(byte) line_ydxd::y1
(byte) line_ydxd::y1#0 1.3333333333333333
(byte) line_ydxd::y1#1 1.3333333333333333
(byte) line_ydxd::y1#6 71.78571428571429
(byte) line_ydxd::yd
(byte) line_ydxd::yd#0 2.0
(byte) line_ydxd::yd#1 2.0
(byte) line_ydxd::yd#5 143.28571428571428
(void()) line_ydxi((byte) line_ydxi::y , (byte) line_ydxi::x , (byte) line_ydxi::y1 , (byte) line_ydxi::yd , (byte) line_ydxi::xd)
(byte/word~) line_ydxi::$6 2002.0
(byte) line_ydxi::e
(byte) line_ydxi::e#0 4.0
(byte) line_ydxi::e#1 1334.6666666666667
(byte) line_ydxi::e#2 2002.0
(byte) line_ydxi::e#3 400.79999999999995
(byte) line_ydxi::e#6 1001.0
(byte) line_ydxi::x
(byte) line_ydxi::x#0 1.0
(byte) line_ydxi::x#1 1.0
(byte) line_ydxi::x#2 1001.0
(byte) line_ydxi::x#3 572.2857142857142
(byte) line_ydxi::x#5 3.0
(byte) line_ydxi::x#6 1001.0
(byte) line_ydxi::xd
(byte) line_ydxi::xd#0 4.0
(byte) line_ydxi::xd#1 4.0
(byte) line_ydxi::xd#2 71.92857142857143
(byte) line_ydxi::y
(byte) line_ydxi::y#0 0.8
(byte) line_ydxi::y#1 0.8
(byte) line_ydxi::y#2 375.375
(byte) line_ydxi::y#3 751.25
(byte) line_ydxi::y#6 3.0
(byte) line_ydxi::y1
(byte) line_ydxi::y1#0 1.3333333333333333
(byte) line_ydxi::y1#1 1.3333333333333333
(byte) line_ydxi::y1#6 71.78571428571429
(byte) line_ydxi::yd
(byte) line_ydxi::yd#0 2.0
(byte) line_ydxi::yd#1 2.0
(byte) line_ydxi::yd#5 143.28571428571428
(void()) lines()
(byte) lines::l
(byte) lines::l#1 151.5
(byte) lines::l#2 100.99999999999999
(byte) lines_cnt
(byte[]) lines_x
(byte[]) lines_y
(void()) main()
(void()) plot((byte) plot::x , (byte) plot::y)
(word~) plot::$0 1.0
(byte~) plot::$1 4.0
(byte*) plot::plotter
(word) plot::plotter_x
(word) plot::plotter_x#0 2.0
(word) plot::plotter_y
(word) plot::plotter_y#0 4.0
(byte) plot::x
(byte) plot::x#0 1001.0
(byte) plot::x#1 1001.0
(byte) plot::x#2 1001.0
(byte) plot::x#3 1001.0
(byte) plot::x#4 1002.5
(byte) plot::y
(byte) plot::y#0 2002.0
(byte) plot::y#1 2002.0
(byte) plot::y#2 2002.0
(byte) plot::y#3 2002.0
(byte) plot::y#4 2004.0
(byte[256]) plot_bit
(byte[256]) plot_xhi
(byte[256]) plot_xlo
(byte[256]) plot_yhi
(byte[256]) plot_ylo

Initial phi equivalence classes
[ lines::l#2 lines::l#1 ]
[ line_ydxi::xd#2 line_ydxi::xd#1 line_ydxi::xd#0 ]
[ line_ydxi::yd#5 line_ydxi::yd#1 line_ydxi::yd#0 ]
[ line_ydxi::y1#6 line_ydxi::y1#1 line_ydxi::y1#0 ]
[ line_ydxi::x#3 line_ydxi::x#5 line_ydxi::x#1 line_ydxi::x#0 line_ydxi::x#6 line_ydxi::x#2 ]
[ line_ydxi::y#3 line_ydxi::y#6 line_ydxi::y#1 line_ydxi::y#0 line_ydxi::y#2 ]
[ line_ydxi::e#3 line_ydxi::e#0 line_ydxi::e#6 line_ydxi::e#2 line_ydxi::e#1 ]
[ plot::x#4 plot::x#1 plot::x#0 plot::x#3 plot::x#2 ]
[ plot::y#4 plot::y#1 plot::y#0 plot::y#3 plot::y#2 ]
[ line_xdyi::yd#2 line_xdyi::yd#0 line_xdyi::yd#1 ]
[ line_xdyi::xd#5 line_xdyi::xd#0 line_xdyi::xd#1 ]
[ line_xdyi::x1#6 line_xdyi::x1#0 line_xdyi::x1#1 ]
[ line_xdyi::x#3 line_xdyi::x#6 line_xdyi::x#0 line_xdyi::x#1 line_xdyi::x#2 ]
[ line_xdyi::y#3 line_xdyi::y#5 line_xdyi::y#0 line_xdyi::y#1 line_xdyi::y#6 line_xdyi::y#2 ]
[ line_xdyi::e#3 line_xdyi::e#0 line_xdyi::e#6 line_xdyi::e#2 line_xdyi::e#1 ]
[ line_ydxd::xd#2 line_ydxd::xd#1 line_ydxd::xd#0 ]
[ line_ydxd::yd#5 line_ydxd::yd#1 line_ydxd::yd#0 ]
[ line_ydxd::y1#6 line_ydxd::y1#1 line_ydxd::y1#0 ]
[ line_ydxd::x#3 line_ydxd::x#5 line_ydxd::x#1 line_ydxd::x#0 line_ydxd::x#6 line_ydxd::x#2 ]
[ line_ydxd::y#2 line_ydxd::y#7 line_ydxd::y#1 line_ydxd::y#0 line_ydxd::y#3 ]
[ line_ydxd::e#3 line_ydxd::e#0 line_ydxd::e#6 line_ydxd::e#2 line_ydxd::e#1 ]
[ line_xdyd::yd#2 line_xdyd::yd#0 line_xdyd::yd#1 ]
[ line_xdyd::xd#5 line_xdyd::xd#0 line_xdyd::xd#1 ]
[ line_xdyd::x1#6 line_xdyd::x1#0 line_xdyd::x1#1 ]
[ line_xdyd::x#3 line_xdyd::x#6 line_xdyd::x#0 line_xdyd::x#1 line_xdyd::x#2 ]
[ line_xdyd::y#3 line_xdyd::y#5 line_xdyd::y#0 line_xdyd::y#1 line_xdyd::y#6 line_xdyd::y#2 ]
[ line_xdyd::e#3 line_xdyd::e#0 line_xdyd::e#6 line_xdyd::e#2 line_xdyd::e#1 ]
[ init_plot_tables::x#2 init_plot_tables::x#1 ]
[ init_plot_tables::bits#3 init_plot_tables::bits#4 init_plot_tables::bits#1 ]
[ init_plot_tables::y#2 init_plot_tables::y#1 ]
[ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 ]
[ init_screen::b#2 init_screen::b#1 ]
[ init_screen::c#2 init_screen::c#1 ]
Added variable line::x0#0 to zero page equivalence class [ line::x0#0 ]
Added variable line::x1#0 to zero page equivalence class [ line::x1#0 ]
Added variable line::y0#0 to zero page equivalence class [ line::y0#0 ]
Added variable line::y1#0 to zero page equivalence class [ line::y1#0 ]
Added variable line::xd#1 to zero page equivalence class [ line::xd#1 ]
Added variable line::yd#1 to zero page equivalence class [ line::yd#1 ]
Added variable line::yd#0 to zero page equivalence class [ line::yd#0 ]
Added variable line::xd#0 to zero page equivalence class [ line::xd#0 ]
Added variable line::yd#3 to zero page equivalence class [ line::yd#3 ]
Added variable line::yd#10 to zero page equivalence class [ line::yd#10 ]
Added variable line_ydxi::$6 to zero page equivalence class [ line_ydxi::$6 ]
Added variable plot::plotter_x#0 to zero page equivalence class [ plot::plotter_x#0 ]
Added variable plot::plotter_y#0 to zero page equivalence class [ plot::plotter_y#0 ]
Added variable plot::$0 to zero page equivalence class [ plot::$0 ]
Added variable plot::$1 to zero page equivalence class [ plot::$1 ]
Added variable line_xdyi::$6 to zero page equivalence class [ line_xdyi::$6 ]
Added variable line_ydxd::$6 to zero page equivalence class [ line_ydxd::$6 ]
Added variable line_xdyd::$6 to zero page equivalence class [ line_xdyd::$6 ]
Added variable init_plot_tables::$0 to zero page equivalence class [ init_plot_tables::$0 ]
Added variable init_plot_tables::$6 to zero page equivalence class [ init_plot_tables::$6 ]
Added variable init_plot_tables::$7 to zero page equivalence class [ init_plot_tables::$7 ]
Added variable init_plot_tables::$8 to zero page equivalence class [ init_plot_tables::$8 ]
Added variable init_plot_tables::$9 to zero page equivalence class [ init_plot_tables::$9 ]
Added variable init_plot_tables::$10 to zero page equivalence class [ init_plot_tables::$10 ]
Complete equivalence classes
[ lines::l#2 lines::l#1 ]
[ line_ydxi::xd#2 line_ydxi::xd#1 line_ydxi::xd#0 ]
[ line_ydxi::yd#5 line_ydxi::yd#1 line_ydxi::yd#0 ]
[ line_ydxi::y1#6 line_ydxi::y1#1 line_ydxi::y1#0 ]
[ line_ydxi::x#3 line_ydxi::x#5 line_ydxi::x#1 line_ydxi::x#0 line_ydxi::x#6 line_ydxi::x#2 ]
[ line_ydxi::y#3 line_ydxi::y#6 line_ydxi::y#1 line_ydxi::y#0 line_ydxi::y#2 ]
[ line_ydxi::e#3 line_ydxi::e#0 line_ydxi::e#6 line_ydxi::e#2 line_ydxi::e#1 ]
[ plot::x#4 plot::x#1 plot::x#0 plot::x#3 plot::x#2 ]
[ plot::y#4 plot::y#1 plot::y#0 plot::y#3 plot::y#2 ]
[ line_xdyi::yd#2 line_xdyi::yd#0 line_xdyi::yd#1 ]
[ line_xdyi::xd#5 line_xdyi::xd#0 line_xdyi::xd#1 ]
[ line_xdyi::x1#6 line_xdyi::x1#0 line_xdyi::x1#1 ]
[ line_xdyi::x#3 line_xdyi::x#6 line_xdyi::x#0 line_xdyi::x#1 line_xdyi::x#2 ]
[ line_xdyi::y#3 line_xdyi::y#5 line_xdyi::y#0 line_xdyi::y#1 line_xdyi::y#6 line_xdyi::y#2 ]
[ line_xdyi::e#3 line_xdyi::e#0 line_xdyi::e#6 line_xdyi::e#2 line_xdyi::e#1 ]
[ line_ydxd::xd#2 line_ydxd::xd#1 line_ydxd::xd#0 ]
[ line_ydxd::yd#5 line_ydxd::yd#1 line_ydxd::yd#0 ]
[ line_ydxd::y1#6 line_ydxd::y1#1 line_ydxd::y1#0 ]
[ line_ydxd::x#3 line_ydxd::x#5 line_ydxd::x#1 line_ydxd::x#0 line_ydxd::x#6 line_ydxd::x#2 ]
[ line_ydxd::y#2 line_ydxd::y#7 line_ydxd::y#1 line_ydxd::y#0 line_ydxd::y#3 ]
[ line_ydxd::e#3 line_ydxd::e#0 line_ydxd::e#6 line_ydxd::e#2 line_ydxd::e#1 ]
[ line_xdyd::yd#2 line_xdyd::yd#0 line_xdyd::yd#1 ]
[ line_xdyd::xd#5 line_xdyd::xd#0 line_xdyd::xd#1 ]
[ line_xdyd::x1#6 line_xdyd::x1#0 line_xdyd::x1#1 ]
[ line_xdyd::x#3 line_xdyd::x#6 line_xdyd::x#0 line_xdyd::x#1 line_xdyd::x#2 ]
[ line_xdyd::y#3 line_xdyd::y#5 line_xdyd::y#0 line_xdyd::y#1 line_xdyd::y#6 line_xdyd::y#2 ]
[ line_xdyd::e#3 line_xdyd::e#0 line_xdyd::e#6 line_xdyd::e#2 line_xdyd::e#1 ]
[ init_plot_tables::x#2 init_plot_tables::x#1 ]
[ init_plot_tables::bits#3 init_plot_tables::bits#4 init_plot_tables::bits#1 ]
[ init_plot_tables::y#2 init_plot_tables::y#1 ]
[ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 ]
[ init_screen::b#2 init_screen::b#1 ]
[ init_screen::c#2 init_screen::c#1 ]
[ line::x0#0 ]
[ line::x1#0 ]
[ line::y0#0 ]
[ line::y1#0 ]
[ line::xd#1 ]
[ line::yd#1 ]
[ line::yd#0 ]
[ line::xd#0 ]
[ line::yd#3 ]
[ line::yd#10 ]
[ line_ydxi::$6 ]
[ plot::plotter_x#0 ]
[ plot::plotter_y#0 ]
[ plot::$0 ]
[ plot::$1 ]
[ line_xdyi::$6 ]
[ line_ydxd::$6 ]
[ line_xdyd::$6 ]
[ init_plot_tables::$0 ]
[ init_plot_tables::$6 ]
[ init_plot_tables::$7 ]
[ init_plot_tables::$8 ]
[ init_plot_tables::$9 ]
[ init_plot_tables::$10 ]
Allocated zp ZP_BYTE:2 [ lines::l#2 lines::l#1 ]
Allocated zp ZP_BYTE:3 [ line_ydxi::xd#2 line_ydxi::xd#1 line_ydxi::xd#0 ]
Allocated zp ZP_BYTE:4 [ line_ydxi::yd#5 line_ydxi::yd#1 line_ydxi::yd#0 ]
Allocated zp ZP_BYTE:5 [ line_ydxi::y1#6 line_ydxi::y1#1 line_ydxi::y1#0 ]
Allocated zp ZP_BYTE:6 [ line_ydxi::x#3 line_ydxi::x#5 line_ydxi::x#1 line_ydxi::x#0 line_ydxi::x#6 line_ydxi::x#2 ]
Allocated zp ZP_BYTE:7 [ line_ydxi::y#3 line_ydxi::y#6 line_ydxi::y#1 line_ydxi::y#0 line_ydxi::y#2 ]
Allocated zp ZP_BYTE:8 [ line_ydxi::e#3 line_ydxi::e#0 line_ydxi::e#6 line_ydxi::e#2 line_ydxi::e#1 ]
Allocated zp ZP_BYTE:9 [ plot::x#4 plot::x#1 plot::x#0 plot::x#3 plot::x#2 ]
Allocated zp ZP_BYTE:10 [ plot::y#4 plot::y#1 plot::y#0 plot::y#3 plot::y#2 ]
Allocated zp ZP_BYTE:11 [ line_xdyi::yd#2 line_xdyi::yd#0 line_xdyi::yd#1 ]
Allocated zp ZP_BYTE:12 [ line_xdyi::xd#5 line_xdyi::xd#0 line_xdyi::xd#1 ]
Allocated zp ZP_BYTE:13 [ line_xdyi::x1#6 line_xdyi::x1#0 line_xdyi::x1#1 ]
Allocated zp ZP_BYTE:14 [ line_xdyi::x#3 line_xdyi::x#6 line_xdyi::x#0 line_xdyi::x#1 line_xdyi::x#2 ]
Allocated zp ZP_BYTE:15 [ line_xdyi::y#3 line_xdyi::y#5 line_xdyi::y#0 line_xdyi::y#1 line_xdyi::y#6 line_xdyi::y#2 ]
Allocated zp ZP_BYTE:16 [ line_xdyi::e#3 line_xdyi::e#0 line_xdyi::e#6 line_xdyi::e#2 line_xdyi::e#1 ]
Allocated zp ZP_BYTE:17 [ line_ydxd::xd#2 line_ydxd::xd#1 line_ydxd::xd#0 ]
Allocated zp ZP_BYTE:18 [ line_ydxd::yd#5 line_ydxd::yd#1 line_ydxd::yd#0 ]
Allocated zp ZP_BYTE:19 [ line_ydxd::y1#6 line_ydxd::y1#1 line_ydxd::y1#0 ]
Allocated zp ZP_BYTE:20 [ line_ydxd::x#3 line_ydxd::x#5 line_ydxd::x#1 line_ydxd::x#0 line_ydxd::x#6 line_ydxd::x#2 ]
Allocated zp ZP_BYTE:21 [ line_ydxd::y#2 line_ydxd::y#7 line_ydxd::y#1 line_ydxd::y#0 line_ydxd::y#3 ]
Allocated zp ZP_BYTE:22 [ line_ydxd::e#3 line_ydxd::e#0 line_ydxd::e#6 line_ydxd::e#2 line_ydxd::e#1 ]
Allocated zp ZP_BYTE:23 [ line_xdyd::yd#2 line_xdyd::yd#0 line_xdyd::yd#1 ]
Allocated zp ZP_BYTE:24 [ line_xdyd::xd#5 line_xdyd::xd#0 line_xdyd::xd#1 ]
Allocated zp ZP_BYTE:25 [ line_xdyd::x1#6 line_xdyd::x1#0 line_xdyd::x1#1 ]
Allocated zp ZP_BYTE:26 [ line_xdyd::x#3 line_xdyd::x#6 line_xdyd::x#0 line_xdyd::x#1 line_xdyd::x#2 ]
Allocated zp ZP_BYTE:27 [ line_xdyd::y#3 line_xdyd::y#5 line_xdyd::y#0 line_xdyd::y#1 line_xdyd::y#6 line_xdyd::y#2 ]
Allocated zp ZP_BYTE:28 [ line_xdyd::e#3 line_xdyd::e#0 line_xdyd::e#6 line_xdyd::e#2 line_xdyd::e#1 ]
Allocated zp ZP_BYTE:29 [ init_plot_tables::x#2 init_plot_tables::x#1 ]
Allocated zp ZP_BYTE:30 [ init_plot_tables::bits#3 init_plot_tables::bits#4 init_plot_tables::bits#1 ]
Allocated zp ZP_BYTE:31 [ init_plot_tables::y#2 init_plot_tables::y#1 ]
Allocated zp ZP_WORD:32 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 ]
Allocated zp ZP_WORD:34 [ init_screen::b#2 init_screen::b#1 ]
Allocated zp ZP_WORD:36 [ init_screen::c#2 init_screen::c#1 ]
Allocated zp ZP_BYTE:38 [ line::x0#0 ]
Allocated zp ZP_BYTE:39 [ line::x1#0 ]
Allocated zp ZP_BYTE:40 [ line::y0#0 ]
Allocated zp ZP_BYTE:41 [ line::y1#0 ]
Allocated zp ZP_BYTE:42 [ line::xd#1 ]
Allocated zp ZP_BYTE:43 [ line::yd#1 ]
Allocated zp ZP_BYTE:44 [ line::yd#0 ]
Allocated zp ZP_BYTE:45 [ line::xd#0 ]
Allocated zp ZP_BYTE:46 [ line::yd#3 ]
Allocated zp ZP_BYTE:47 [ line::yd#10 ]
Allocated zp ZP_BYTE:48 [ line_ydxi::$6 ]
Allocated zp ZP_WORD:49 [ plot::plotter_x#0 ]
Allocated zp ZP_WORD:51 [ plot::plotter_y#0 ]
Allocated zp ZP_WORD:53 [ plot::$0 ]
Allocated zp ZP_BYTE:55 [ plot::$1 ]
Allocated zp ZP_BYTE:56 [ line_xdyi::$6 ]
Allocated zp ZP_BYTE:57 [ line_ydxd::$6 ]
Allocated zp ZP_BYTE:58 [ line_xdyd::$6 ]
Allocated zp ZP_BYTE:59 [ init_plot_tables::$0 ]
Allocated zp ZP_BYTE:60 [ init_plot_tables::$6 ]
Allocated zp ZP_BYTE:61 [ init_plot_tables::$7 ]
Allocated zp ZP_BYTE:62 [ init_plot_tables::$8 ]
Allocated zp ZP_BYTE:63 [ init_plot_tables::$9 ]
Allocated zp ZP_BYTE:64 [ init_plot_tables::$10 ]

INITIAL ASM
//SEG0 Basic Upstart
.pc = $801 "Basic"
:BasicUpstart(main)
.pc = $80d "Program"
//SEG1 Global Constants & labels
  .label BGCOL = $d020
  .label FGCOL = $d021
  .label D018 = $d018
  .label D011 = $d011
  .const BMM = $20
  .const DEN = $10
  .const RSEL = 8
  .label SCREEN = $400
  .label BITMAP = $2000
  .const lines_cnt = 8
//SEG2 @begin
bbegin:
//SEG3 [1] phi from @begin to @10 [phi:@begin->@10]
b10_from_bbegin:
  jmp b10
//SEG4 @10
b10:
//SEG5 [2] call main param-assignment [ ] ( )
  jsr main
//SEG6 [3] phi from @10 to @end [phi:@10->@end]
bend_from_b10:
  jmp bend
//SEG7 @end
bend:
//SEG8 main
main: {
  //SEG9 [4] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] ) -- _deref_pbuc1=vbuc2 
    lda #0
    sta BGCOL
  //SEG10 [5] *((const byte*) FGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] ) -- _deref_pbuc1=vbuc2 
    lda #0
    sta FGCOL
  //SEG11 [6] *((const byte*) D011#0) ← (const byte) BMM#0|(const byte) DEN#0|(const byte) RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 [ ] ( main:2 [ ] ) -- _deref_pbuc1=vbuc2 
    lda #BMM|DEN|RSEL|3
    sta D011
  //SEG12 [7] *((const byte*) D018#0) ← ((byte))((word))(const byte*) SCREEN#0/(byte/signed byte/word/signed word/dword/signed dword) 64|((word))(const byte*) BITMAP#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2 [ ] ) -- _deref_pbuc1=vbuc2 
    lda #$ff & ($ffff & SCREEN/$40|$ffff & BITMAP/$400)
    sta D018
  //SEG13 [8] call init_screen param-assignment [ ] ( main:2 [ ] )
  //SEG14 [180] phi from main to init_screen [phi:main->init_screen]
  init_screen_from_main:
    jsr init_screen
  //SEG15 [9] phi from main to main::@3 [phi:main->main::@3]
  b3_from_main:
    jmp b3
  //SEG16 main::@3
  b3:
  //SEG17 [10] call init_plot_tables param-assignment [ ] ( main:2 [ ] )
  //SEG18 [154] phi from main::@3 to init_plot_tables [phi:main::@3->init_plot_tables]
  init_plot_tables_from_b3:
    jsr init_plot_tables
  //SEG19 [11] phi from main::@3 main::@5 to main::@1 [phi:main::@3/main::@5->main::@1]
  b1_from_b3:
  b1_from_b5:
    jmp b1
  //SEG20 main::@1
  b1:
  //SEG21 [12] call lines param-assignment [ ] ( main:2 [ ] )
  //SEG22 [15] phi from main::@1 to lines [phi:main::@1->lines]
  lines_from_b1:
    jsr lines
    jmp b5
  //SEG23 main::@5
  b5:
  //SEG24 [13] if(true) goto main::@1 [ ] ( main:2 [ ] ) -- true_then_la1 
    jmp b1_from_b5
    jmp breturn
  //SEG25 main::@return
  breturn:
  //SEG26 [14] return  [ ] ( main:2 [ ] )
    rts
}
//SEG27 lines
lines: {
    .label l = 2
  //SEG28 [16] phi from lines to lines::@1 [phi:lines->lines::@1]
  b1_from_lines:
  //SEG29 [16] phi (byte) lines::l#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:lines->lines::@1#0] -- vbuz1=vbuc1 
    lda #0
    sta l
    jmp b1
  //SEG30 [16] phi from lines::@3 to lines::@1 [phi:lines::@3->lines::@1]
  b1_from_b3:
  //SEG31 [16] phi (byte) lines::l#2 = (byte) lines::l#1 [phi:lines::@3->lines::@1#0] -- register_copy 
    jmp b1
  //SEG32 lines::@1
  b1:
  //SEG33 [17] (byte) line::x0#0 ← *((const byte[]) lines_x#0 + (byte) lines::l#2) [ lines::l#2 line::x0#0 ] ( main:2::lines:12 [ lines::l#2 line::x0#0 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy l
    lda lines_x,y
    sta line.x0
  //SEG34 [18] (byte) line::x1#0 ← *((const byte[]) lines_x#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) lines::l#2) [ lines::l#2 line::x0#0 line::x1#0 ] ( main:2::lines:12 [ lines::l#2 line::x0#0 line::x1#0 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy l
    lda lines_x+1,y
    sta line.x1
  //SEG35 [19] (byte) line::y0#0 ← *((const byte[]) lines_y#0 + (byte) lines::l#2) [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 ] ( main:2::lines:12 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy l
    lda lines_y,y
    sta line.y0
  //SEG36 [20] (byte) line::y1#0 ← *((const byte[]) lines_y#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) lines::l#2) [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] ( main:2::lines:12 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy l
    lda lines_y+1,y
    sta line.y1
  //SEG37 [21] call line param-assignment [ lines::l#2 ] ( main:2::lines:12 [ lines::l#2 ] )
    jsr line
    jmp b3
  //SEG38 lines::@3
  b3:
  //SEG39 [22] (byte) lines::l#1 ← ++ (byte) lines::l#2 [ lines::l#1 ] ( main:2::lines:12 [ lines::l#1 ] ) -- vbuz1=_inc_vbuz1 
    inc l
  //SEG40 [23] if((byte) lines::l#1<(const byte) lines_cnt#0) goto lines::@1 [ lines::l#1 ] ( main:2::lines:12 [ lines::l#1 ] ) -- vbuz1_lt_vbuc1_then_la1 
    lda l
    cmp #lines_cnt
    bcc b1_from_b3
    jmp breturn
  //SEG41 lines::@return
  breturn:
  //SEG42 [24] return  [ ] ( main:2::lines:12 [ ] )
    rts
}
//SEG43 line
line: {
    .label x0 = $26
    .label x1 = $27
    .label y0 = $28
    .label y1 = $29
    .label xd = $2d
    .label xd_1 = $2a
    .label yd = $2c
    .label yd_1 = $2b
    .label yd_3 = $2e
    .label yd_10 = $2f
  //SEG44 [25] if((byte) line::x0#0>=(byte) line::x1#0) goto line::@1 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] ) -- vbuz1_ge_vbuz2_then_la1 
    lda x0
    cmp x1
    bcs b1
    jmp b15
  //SEG45 line::@15
  b15:
  //SEG46 [26] (byte) line::xd#1 ← (byte) line::x1#0 - (byte) line::x0#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 ] ) -- vbuz1=vbuz2_minus_vbuz3 
    lda x1
    sec
    sbc x0
    sta xd_1
  //SEG47 [27] if((byte) line::y0#0>=(byte) line::y1#0) goto line::@2 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 ] ) -- vbuz1_ge_vbuz2_then_la1 
    lda y0
    cmp y1
    bcs b2
    jmp b16
  //SEG48 line::@16
  b16:
  //SEG49 [28] (byte) line::yd#1 ← (byte) line::y1#0 - (byte) line::y0#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#1 ] ) -- vbuz1=vbuz2_minus_vbuz3 
    lda y1
    sec
    sbc y0
    sta yd_1
  //SEG50 [29] if((byte) line::yd#1>=(byte) line::xd#1) goto line::@3 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#1 ] ) -- vbuz1_ge_vbuz2_then_la1 
    lda yd_1
    cmp xd_1
    bcs b3
    jmp b17
  //SEG51 line::@17
  b17:
  //SEG52 [30] (byte) line_xdyi::x#0 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::xd#1 line::yd#1 line_xdyi::x#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x1#0 line::y0#0 line::xd#1 line::yd#1 line_xdyi::x#0 ] ) -- vbuz1=vbuz2 
    lda x0
    sta line_xdyi.x
  //SEG53 [31] (byte) line_xdyi::y#0 ← (byte) line::y0#0 [ line::x1#0 line::xd#1 line::yd#1 line_xdyi::x#0 line_xdyi::y#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x1#0 line::xd#1 line::yd#1 line_xdyi::x#0 line_xdyi::y#0 ] ) -- vbuz1=vbuz2 
    lda y0
    sta line_xdyi.y
  //SEG54 [32] (byte) line_xdyi::x1#0 ← (byte) line::x1#0 [ line::xd#1 line::yd#1 line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#1 line::yd#1 line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 ] ) -- vbuz1=vbuz2 
    lda x1
    sta line_xdyi.x1
  //SEG55 [33] (byte) line_xdyi::xd#0 ← (byte) line::xd#1 [ line::yd#1 line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::yd#1 line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 ] ) -- vbuz1=vbuz2 
    lda xd_1
    sta line_xdyi.xd
  //SEG56 [34] (byte) line_xdyi::yd#0 ← (byte) line::yd#1 [ line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 ] ) -- vbuz1=vbuz2 
    lda yd_1
    sta line_xdyi.yd
  //SEG57 [35] call line_xdyi param-assignment [ ] ( main:2::lines:12::line:21 [ lines::l#2 ] )
  //SEG58 [109] phi from line::@17 to line_xdyi [phi:line::@17->line_xdyi]
  line_xdyi_from_b17:
  //SEG59 [109] phi (byte) line_xdyi::x1#6 = (byte) line_xdyi::x1#0 [phi:line::@17->line_xdyi#0] -- register_copy 
  //SEG60 [109] phi (byte) line_xdyi::xd#5 = (byte) line_xdyi::xd#0 [phi:line::@17->line_xdyi#1] -- register_copy 
  //SEG61 [109] phi (byte) line_xdyi::y#5 = (byte) line_xdyi::y#0 [phi:line::@17->line_xdyi#2] -- register_copy 
  //SEG62 [109] phi (byte) line_xdyi::x#6 = (byte) line_xdyi::x#0 [phi:line::@17->line_xdyi#3] -- register_copy 
  //SEG63 [109] phi (byte) line_xdyi::yd#2 = (byte) line_xdyi::yd#0 [phi:line::@17->line_xdyi#4] -- register_copy 
    jsr line_xdyi
    jmp breturn
  //SEG64 line::@return
  breturn:
  //SEG65 [36] return  [ ] ( main:2::lines:12::line:21 [ lines::l#2 ] )
    rts
  //SEG66 line::@3
  b3:
  //SEG67 [37] (byte) line_ydxi::y#0 ← (byte) line::y0#0 [ line::x0#0 line::y1#0 line::xd#1 line::yd#1 line_ydxi::y#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::y1#0 line::xd#1 line::yd#1 line_ydxi::y#0 ] ) -- vbuz1=vbuz2 
    lda y0
    sta line_ydxi.y
  //SEG68 [38] (byte) line_ydxi::x#0 ← (byte) line::x0#0 [ line::y1#0 line::xd#1 line::yd#1 line_ydxi::y#0 line_ydxi::x#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::y1#0 line::xd#1 line::yd#1 line_ydxi::y#0 line_ydxi::x#0 ] ) -- vbuz1=vbuz2 
    lda x0
    sta line_ydxi.x
  //SEG69 [39] (byte) line_ydxi::y1#0 ← (byte) line::y1#0 [ line::xd#1 line::yd#1 line_ydxi::y#0 line_ydxi::x#0 line_ydxi::y1#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#1 line::yd#1 line_ydxi::y#0 line_ydxi::x#0 line_ydxi::y1#0 ] ) -- vbuz1=vbuz2 
    lda y1
    sta line_ydxi.y1
  //SEG70 [40] (byte) line_ydxi::yd#0 ← (byte) line::yd#1 [ line::xd#1 line_ydxi::y#0 line_ydxi::x#0 line_ydxi::y1#0 line_ydxi::yd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#1 line_ydxi::y#0 line_ydxi::x#0 line_ydxi::y1#0 line_ydxi::yd#0 ] ) -- vbuz1=vbuz2 
    lda yd_1
    sta line_ydxi.yd
  //SEG71 [41] (byte) line_ydxi::xd#0 ← (byte) line::xd#1 [ line_ydxi::y#0 line_ydxi::x#0 line_ydxi::y1#0 line_ydxi::yd#0 line_ydxi::xd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line_ydxi::y#0 line_ydxi::x#0 line_ydxi::y1#0 line_ydxi::yd#0 line_ydxi::xd#0 ] ) -- vbuz1=vbuz2 
    lda xd_1
    sta line_ydxi.xd
  //SEG72 [42] call line_ydxi param-assignment [ ] ( main:2::lines:12::line:21 [ lines::l#2 ] )
  //SEG73 [87] phi from line::@3 to line_ydxi [phi:line::@3->line_ydxi]
  line_ydxi_from_b3:
  //SEG74 [87] phi (byte) line_ydxi::y1#6 = (byte) line_ydxi::y1#0 [phi:line::@3->line_ydxi#0] -- register_copy 
  //SEG75 [87] phi (byte) line_ydxi::yd#5 = (byte) line_ydxi::yd#0 [phi:line::@3->line_ydxi#1] -- register_copy 
  //SEG76 [87] phi (byte) line_ydxi::y#6 = (byte) line_ydxi::y#0 [phi:line::@3->line_ydxi#2] -- register_copy 
  //SEG77 [87] phi (byte) line_ydxi::x#5 = (byte) line_ydxi::x#0 [phi:line::@3->line_ydxi#3] -- register_copy 
  //SEG78 [87] phi (byte) line_ydxi::xd#2 = (byte) line_ydxi::xd#0 [phi:line::@3->line_ydxi#4] -- register_copy 
    jsr line_ydxi
    jmp breturn
  //SEG79 line::@2
  b2:
  //SEG80 [43] (byte) line::yd#0 ← (byte) line::y0#0 - (byte) line::y1#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#0 ] ) -- vbuz1=vbuz2_minus_vbuz3 
    lda y0
    sec
    sbc y1
    sta yd
  //SEG81 [44] if((byte) line::yd#0>=(byte) line::xd#1) goto line::@6 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#0 ] ) -- vbuz1_ge_vbuz2_then_la1 
    lda yd
    cmp xd_1
    bcs b6
    jmp b20
  //SEG82 line::@20
  b20:
  //SEG83 [45] (byte) line_xdyd::x#0 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::xd#1 line::yd#0 line_xdyd::x#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x1#0 line::y0#0 line::xd#1 line::yd#0 line_xdyd::x#0 ] ) -- vbuz1=vbuz2 
    lda x0
    sta line_xdyd.x
  //SEG84 [46] (byte) line_xdyd::y#0 ← (byte) line::y0#0 [ line::x1#0 line::xd#1 line::yd#0 line_xdyd::x#0 line_xdyd::y#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x1#0 line::xd#1 line::yd#0 line_xdyd::x#0 line_xdyd::y#0 ] ) -- vbuz1=vbuz2 
    lda y0
    sta line_xdyd.y
  //SEG85 [47] (byte) line_xdyd::x1#0 ← (byte) line::x1#0 [ line::xd#1 line::yd#0 line_xdyd::x#0 line_xdyd::y#0 line_xdyd::x1#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#1 line::yd#0 line_xdyd::x#0 line_xdyd::y#0 line_xdyd::x1#0 ] ) -- vbuz1=vbuz2 
    lda x1
    sta line_xdyd.x1
  //SEG86 [48] (byte) line_xdyd::xd#0 ← (byte) line::xd#1 [ line::yd#0 line_xdyd::x#0 line_xdyd::y#0 line_xdyd::x1#0 line_xdyd::xd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::yd#0 line_xdyd::x#0 line_xdyd::y#0 line_xdyd::x1#0 line_xdyd::xd#0 ] ) -- vbuz1=vbuz2 
    lda xd_1
    sta line_xdyd.xd
  //SEG87 [49] (byte) line_xdyd::yd#0 ← (byte) line::yd#0 [ line_xdyd::x#0 line_xdyd::y#0 line_xdyd::x1#0 line_xdyd::xd#0 line_xdyd::yd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line_xdyd::x#0 line_xdyd::y#0 line_xdyd::x1#0 line_xdyd::xd#0 line_xdyd::yd#0 ] ) -- vbuz1=vbuz2 
    lda yd
    sta line_xdyd.yd
  //SEG88 [50] call line_xdyd param-assignment [ ] ( main:2::lines:12::line:21 [ lines::l#2 ] )
  //SEG89 [139] phi from line::@20 to line_xdyd [phi:line::@20->line_xdyd]
  line_xdyd_from_b20:
  //SEG90 [139] phi (byte) line_xdyd::x1#6 = (byte) line_xdyd::x1#0 [phi:line::@20->line_xdyd#0] -- register_copy 
  //SEG91 [139] phi (byte) line_xdyd::xd#5 = (byte) line_xdyd::xd#0 [phi:line::@20->line_xdyd#1] -- register_copy 
  //SEG92 [139] phi (byte) line_xdyd::y#5 = (byte) line_xdyd::y#0 [phi:line::@20->line_xdyd#2] -- register_copy 
  //SEG93 [139] phi (byte) line_xdyd::x#6 = (byte) line_xdyd::x#0 [phi:line::@20->line_xdyd#3] -- register_copy 
  //SEG94 [139] phi (byte) line_xdyd::yd#2 = (byte) line_xdyd::yd#0 [phi:line::@20->line_xdyd#4] -- register_copy 
    jsr line_xdyd
    jmp breturn
  //SEG95 line::@6
  b6:
  //SEG96 [51] (byte) line_ydxd::y#0 ← (byte) line::y1#0 [ line::x1#0 line::y0#0 line::xd#1 line::yd#0 line_ydxd::y#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x1#0 line::y0#0 line::xd#1 line::yd#0 line_ydxd::y#0 ] ) -- vbuz1=vbuz2 
    lda y1
    sta line_ydxd.y
  //SEG97 [52] (byte) line_ydxd::x#0 ← (byte) line::x1#0 [ line::y0#0 line::xd#1 line::yd#0 line_ydxd::y#0 line_ydxd::x#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::y0#0 line::xd#1 line::yd#0 line_ydxd::y#0 line_ydxd::x#0 ] ) -- vbuz1=vbuz2 
    lda x1
    sta line_ydxd.x
  //SEG98 [53] (byte) line_ydxd::y1#0 ← (byte) line::y0#0 [ line::xd#1 line::yd#0 line_ydxd::y#0 line_ydxd::x#0 line_ydxd::y1#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#1 line::yd#0 line_ydxd::y#0 line_ydxd::x#0 line_ydxd::y1#0 ] ) -- vbuz1=vbuz2 
    lda y0
    sta line_ydxd.y1
  //SEG99 [54] (byte) line_ydxd::yd#0 ← (byte) line::yd#0 [ line::xd#1 line_ydxd::y#0 line_ydxd::x#0 line_ydxd::y1#0 line_ydxd::yd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#1 line_ydxd::y#0 line_ydxd::x#0 line_ydxd::y1#0 line_ydxd::yd#0 ] ) -- vbuz1=vbuz2 
    lda yd
    sta line_ydxd.yd
  //SEG100 [55] (byte) line_ydxd::xd#0 ← (byte) line::xd#1 [ line_ydxd::y#0 line_ydxd::x#0 line_ydxd::y1#0 line_ydxd::yd#0 line_ydxd::xd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line_ydxd::y#0 line_ydxd::x#0 line_ydxd::y1#0 line_ydxd::yd#0 line_ydxd::xd#0 ] ) -- vbuz1=vbuz2 
    lda xd_1
    sta line_ydxd.xd
  //SEG101 [56] call line_ydxd param-assignment [ ] ( main:2::lines:12::line:21 [ lines::l#2 ] )
  //SEG102 [124] phi from line::@6 to line_ydxd [phi:line::@6->line_ydxd]
  line_ydxd_from_b6:
  //SEG103 [124] phi (byte) line_ydxd::y1#6 = (byte) line_ydxd::y1#0 [phi:line::@6->line_ydxd#0] -- register_copy 
  //SEG104 [124] phi (byte) line_ydxd::yd#5 = (byte) line_ydxd::yd#0 [phi:line::@6->line_ydxd#1] -- register_copy 
  //SEG105 [124] phi (byte) line_ydxd::y#7 = (byte) line_ydxd::y#0 [phi:line::@6->line_ydxd#2] -- register_copy 
  //SEG106 [124] phi (byte) line_ydxd::x#5 = (byte) line_ydxd::x#0 [phi:line::@6->line_ydxd#3] -- register_copy 
  //SEG107 [124] phi (byte) line_ydxd::xd#2 = (byte) line_ydxd::xd#0 [phi:line::@6->line_ydxd#4] -- register_copy 
    jsr line_ydxd
    jmp breturn
  //SEG108 line::@1
  b1:
  //SEG109 [57] (byte) line::xd#0 ← (byte) line::x0#0 - (byte) line::x1#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 ] ) -- vbuz1=vbuz2_minus_vbuz3 
    lda x0
    sec
    sbc x1
    sta xd
  //SEG110 [58] if((byte) line::y0#0>=(byte) line::y1#0) goto line::@9 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 ] ) -- vbuz1_ge_vbuz2_then_la1 
    lda y0
    cmp y1
    bcs b9
    jmp b23
  //SEG111 line::@23
  b23:
  //SEG112 [59] (byte) line::yd#3 ← (byte) line::y1#0 - (byte) line::y0#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#3 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#3 ] ) -- vbuz1=vbuz2_minus_vbuz3 
    lda y1
    sec
    sbc y0
    sta yd_3
  //SEG113 [60] if((byte) line::yd#3>=(byte) line::xd#0) goto line::@10 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#3 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#3 ] ) -- vbuz1_ge_vbuz2_then_la1 
    lda yd_3
    cmp xd
    bcs b10
    jmp b24
  //SEG114 line::@24
  b24:
  //SEG115 [61] (byte) line_xdyd::x#1 ← (byte) line::x1#0 [ line::x0#0 line::y1#0 line::xd#0 line::yd#3 line_xdyd::x#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::y1#0 line::xd#0 line::yd#3 line_xdyd::x#1 ] ) -- vbuz1=vbuz2 
    lda x1
    sta line_xdyd.x
  //SEG116 [62] (byte) line_xdyd::y#1 ← (byte) line::y1#0 [ line::x0#0 line::xd#0 line::yd#3 line_xdyd::x#1 line_xdyd::y#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::xd#0 line::yd#3 line_xdyd::x#1 line_xdyd::y#1 ] ) -- vbuz1=vbuz2 
    lda y1
    sta line_xdyd.y
  //SEG117 [63] (byte) line_xdyd::x1#1 ← (byte) line::x0#0 [ line::xd#0 line::yd#3 line_xdyd::x#1 line_xdyd::y#1 line_xdyd::x1#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#0 line::yd#3 line_xdyd::x#1 line_xdyd::y#1 line_xdyd::x1#1 ] ) -- vbuz1=vbuz2 
    lda x0
    sta line_xdyd.x1
  //SEG118 [64] (byte) line_xdyd::xd#1 ← (byte) line::xd#0 [ line::yd#3 line_xdyd::x#1 line_xdyd::y#1 line_xdyd::x1#1 line_xdyd::xd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::yd#3 line_xdyd::x#1 line_xdyd::y#1 line_xdyd::x1#1 line_xdyd::xd#1 ] ) -- vbuz1=vbuz2 
    lda xd
    sta line_xdyd.xd
  //SEG119 [65] (byte) line_xdyd::yd#1 ← (byte) line::yd#3 [ line_xdyd::x#1 line_xdyd::y#1 line_xdyd::x1#1 line_xdyd::xd#1 line_xdyd::yd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line_xdyd::x#1 line_xdyd::y#1 line_xdyd::x1#1 line_xdyd::xd#1 line_xdyd::yd#1 ] ) -- vbuz1=vbuz2 
    lda yd_3
    sta line_xdyd.yd
  //SEG120 [66] call line_xdyd param-assignment [ ] ( main:2::lines:12::line:21 [ lines::l#2 ] )
  //SEG121 [139] phi from line::@24 to line_xdyd [phi:line::@24->line_xdyd]
  line_xdyd_from_b24:
  //SEG122 [139] phi (byte) line_xdyd::x1#6 = (byte) line_xdyd::x1#1 [phi:line::@24->line_xdyd#0] -- register_copy 
  //SEG123 [139] phi (byte) line_xdyd::xd#5 = (byte) line_xdyd::xd#1 [phi:line::@24->line_xdyd#1] -- register_copy 
  //SEG124 [139] phi (byte) line_xdyd::y#5 = (byte) line_xdyd::y#1 [phi:line::@24->line_xdyd#2] -- register_copy 
  //SEG125 [139] phi (byte) line_xdyd::x#6 = (byte) line_xdyd::x#1 [phi:line::@24->line_xdyd#3] -- register_copy 
  //SEG126 [139] phi (byte) line_xdyd::yd#2 = (byte) line_xdyd::yd#1 [phi:line::@24->line_xdyd#4] -- register_copy 
    jsr line_xdyd
    jmp breturn
  //SEG127 line::@10
  b10:
  //SEG128 [67] (byte) line_ydxd::y#1 ← (byte) line::y0#0 [ line::x0#0 line::y1#0 line::xd#0 line::yd#3 line_ydxd::y#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::y1#0 line::xd#0 line::yd#3 line_ydxd::y#1 ] ) -- vbuz1=vbuz2 
    lda y0
    sta line_ydxd.y
  //SEG129 [68] (byte) line_ydxd::x#1 ← (byte) line::x0#0 [ line::y1#0 line::xd#0 line::yd#3 line_ydxd::y#1 line_ydxd::x#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::y1#0 line::xd#0 line::yd#3 line_ydxd::y#1 line_ydxd::x#1 ] ) -- vbuz1=vbuz2 
    lda x0
    sta line_ydxd.x
  //SEG130 [69] (byte) line_ydxd::y1#1 ← (byte) line::y1#0 [ line::xd#0 line::yd#3 line_ydxd::y#1 line_ydxd::x#1 line_ydxd::y1#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#0 line::yd#3 line_ydxd::y#1 line_ydxd::x#1 line_ydxd::y1#1 ] ) -- vbuz1=vbuz2 
    lda y1
    sta line_ydxd.y1
  //SEG131 [70] (byte) line_ydxd::yd#1 ← (byte) line::yd#3 [ line::xd#0 line_ydxd::y#1 line_ydxd::x#1 line_ydxd::y1#1 line_ydxd::yd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#0 line_ydxd::y#1 line_ydxd::x#1 line_ydxd::y1#1 line_ydxd::yd#1 ] ) -- vbuz1=vbuz2 
    lda yd_3
    sta line_ydxd.yd
  //SEG132 [71] (byte) line_ydxd::xd#1 ← (byte) line::xd#0 [ line_ydxd::y#1 line_ydxd::x#1 line_ydxd::y1#1 line_ydxd::yd#1 line_ydxd::xd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line_ydxd::y#1 line_ydxd::x#1 line_ydxd::y1#1 line_ydxd::yd#1 line_ydxd::xd#1 ] ) -- vbuz1=vbuz2 
    lda xd
    sta line_ydxd.xd
  //SEG133 [72] call line_ydxd param-assignment [ ] ( main:2::lines:12::line:21 [ lines::l#2 ] )
  //SEG134 [124] phi from line::@10 to line_ydxd [phi:line::@10->line_ydxd]
  line_ydxd_from_b10:
  //SEG135 [124] phi (byte) line_ydxd::y1#6 = (byte) line_ydxd::y1#1 [phi:line::@10->line_ydxd#0] -- register_copy 
  //SEG136 [124] phi (byte) line_ydxd::yd#5 = (byte) line_ydxd::yd#1 [phi:line::@10->line_ydxd#1] -- register_copy 
  //SEG137 [124] phi (byte) line_ydxd::y#7 = (byte) line_ydxd::y#1 [phi:line::@10->line_ydxd#2] -- register_copy 
  //SEG138 [124] phi (byte) line_ydxd::x#5 = (byte) line_ydxd::x#1 [phi:line::@10->line_ydxd#3] -- register_copy 
  //SEG139 [124] phi (byte) line_ydxd::xd#2 = (byte) line_ydxd::xd#1 [phi:line::@10->line_ydxd#4] -- register_copy 
    jsr line_ydxd
    jmp breturn
  //SEG140 line::@9
  b9:
  //SEG141 [73] (byte) line::yd#10 ← (byte) line::y0#0 - (byte) line::y1#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#10 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#10 ] ) -- vbuz1=vbuz2_minus_vbuz3 
    lda y0
    sec
    sbc y1
    sta yd_10
  //SEG142 [74] if((byte) line::yd#10>=(byte) line::xd#0) goto line::@13 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#10 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#10 ] ) -- vbuz1_ge_vbuz2_then_la1 
    lda yd_10
    cmp xd
    bcs b13
    jmp b27
  //SEG143 line::@27
  b27:
  //SEG144 [75] (byte) line_xdyi::x#1 ← (byte) line::x1#0 [ line::x0#0 line::y1#0 line::xd#0 line::yd#10 line_xdyi::x#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::y1#0 line::xd#0 line::yd#10 line_xdyi::x#1 ] ) -- vbuz1=vbuz2 
    lda x1
    sta line_xdyi.x
  //SEG145 [76] (byte) line_xdyi::y#1 ← (byte) line::y1#0 [ line::x0#0 line::xd#0 line::yd#10 line_xdyi::x#1 line_xdyi::y#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::xd#0 line::yd#10 line_xdyi::x#1 line_xdyi::y#1 ] ) -- vbuz1=vbuz2 
    lda y1
    sta line_xdyi.y
  //SEG146 [77] (byte) line_xdyi::x1#1 ← (byte) line::x0#0 [ line::xd#0 line::yd#10 line_xdyi::x#1 line_xdyi::y#1 line_xdyi::x1#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#0 line::yd#10 line_xdyi::x#1 line_xdyi::y#1 line_xdyi::x1#1 ] ) -- vbuz1=vbuz2 
    lda x0
    sta line_xdyi.x1
  //SEG147 [78] (byte) line_xdyi::xd#1 ← (byte) line::xd#0 [ line::yd#10 line_xdyi::x#1 line_xdyi::y#1 line_xdyi::x1#1 line_xdyi::xd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::yd#10 line_xdyi::x#1 line_xdyi::y#1 line_xdyi::x1#1 line_xdyi::xd#1 ] ) -- vbuz1=vbuz2 
    lda xd
    sta line_xdyi.xd
  //SEG148 [79] (byte) line_xdyi::yd#1 ← (byte) line::yd#10 [ line_xdyi::x#1 line_xdyi::y#1 line_xdyi::x1#1 line_xdyi::xd#1 line_xdyi::yd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line_xdyi::x#1 line_xdyi::y#1 line_xdyi::x1#1 line_xdyi::xd#1 line_xdyi::yd#1 ] ) -- vbuz1=vbuz2 
    lda yd_10
    sta line_xdyi.yd
  //SEG149 [80] call line_xdyi param-assignment [ ] ( main:2::lines:12::line:21 [ lines::l#2 ] )
  //SEG150 [109] phi from line::@27 to line_xdyi [phi:line::@27->line_xdyi]
  line_xdyi_from_b27:
  //SEG151 [109] phi (byte) line_xdyi::x1#6 = (byte) line_xdyi::x1#1 [phi:line::@27->line_xdyi#0] -- register_copy 
  //SEG152 [109] phi (byte) line_xdyi::xd#5 = (byte) line_xdyi::xd#1 [phi:line::@27->line_xdyi#1] -- register_copy 
  //SEG153 [109] phi (byte) line_xdyi::y#5 = (byte) line_xdyi::y#1 [phi:line::@27->line_xdyi#2] -- register_copy 
  //SEG154 [109] phi (byte) line_xdyi::x#6 = (byte) line_xdyi::x#1 [phi:line::@27->line_xdyi#3] -- register_copy 
  //SEG155 [109] phi (byte) line_xdyi::yd#2 = (byte) line_xdyi::yd#1 [phi:line::@27->line_xdyi#4] -- register_copy 
    jsr line_xdyi
    jmp breturn
  //SEG156 line::@13
  b13:
  //SEG157 [81] (byte) line_ydxi::y#1 ← (byte) line::y1#0 [ line::x1#0 line::y0#0 line::xd#0 line::yd#10 line_ydxi::y#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x1#0 line::y0#0 line::xd#0 line::yd#10 line_ydxi::y#1 ] ) -- vbuz1=vbuz2 
    lda y1
    sta line_ydxi.y
  //SEG158 [82] (byte) line_ydxi::x#1 ← (byte) line::x1#0 [ line::y0#0 line::xd#0 line::yd#10 line_ydxi::y#1 line_ydxi::x#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::y0#0 line::xd#0 line::yd#10 line_ydxi::y#1 line_ydxi::x#1 ] ) -- vbuz1=vbuz2 
    lda x1
    sta line_ydxi.x
  //SEG159 [83] (byte) line_ydxi::y1#1 ← (byte) line::y0#0 [ line::xd#0 line::yd#10 line_ydxi::y#1 line_ydxi::x#1 line_ydxi::y1#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#0 line::yd#10 line_ydxi::y#1 line_ydxi::x#1 line_ydxi::y1#1 ] ) -- vbuz1=vbuz2 
    lda y0
    sta line_ydxi.y1
  //SEG160 [84] (byte) line_ydxi::yd#1 ← (byte) line::yd#10 [ line::xd#0 line_ydxi::y#1 line_ydxi::x#1 line_ydxi::y1#1 line_ydxi::yd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#0 line_ydxi::y#1 line_ydxi::x#1 line_ydxi::y1#1 line_ydxi::yd#1 ] ) -- vbuz1=vbuz2 
    lda yd_10
    sta line_ydxi.yd
  //SEG161 [85] (byte) line_ydxi::xd#1 ← (byte) line::xd#0 [ line_ydxi::y#1 line_ydxi::x#1 line_ydxi::y1#1 line_ydxi::yd#1 line_ydxi::xd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line_ydxi::y#1 line_ydxi::x#1 line_ydxi::y1#1 line_ydxi::yd#1 line_ydxi::xd#1 ] ) -- vbuz1=vbuz2 
    lda xd
    sta line_ydxi.xd
  //SEG162 [86] call line_ydxi param-assignment [ ] ( main:2::lines:12::line:21 [ lines::l#2 ] )
  //SEG163 [87] phi from line::@13 to line_ydxi [phi:line::@13->line_ydxi]
  line_ydxi_from_b13:
  //SEG164 [87] phi (byte) line_ydxi::y1#6 = (byte) line_ydxi::y1#1 [phi:line::@13->line_ydxi#0] -- register_copy 
  //SEG165 [87] phi (byte) line_ydxi::yd#5 = (byte) line_ydxi::yd#1 [phi:line::@13->line_ydxi#1] -- register_copy 
  //SEG166 [87] phi (byte) line_ydxi::y#6 = (byte) line_ydxi::y#1 [phi:line::@13->line_ydxi#2] -- register_copy 
  //SEG167 [87] phi (byte) line_ydxi::x#5 = (byte) line_ydxi::x#1 [phi:line::@13->line_ydxi#3] -- register_copy 
  //SEG168 [87] phi (byte) line_ydxi::xd#2 = (byte) line_ydxi::xd#1 [phi:line::@13->line_ydxi#4] -- register_copy 
    jsr line_ydxi
    jmp breturn
}
//SEG169 line_ydxi
line_ydxi: {
    .label _6 = $30
    .label y = 7
    .label x = 6
    .label y1 = 5
    .label yd = 4
    .label xd = 3
    .label e = 8
  //SEG170 [88] (byte) line_ydxi::e#0 ← (byte) line_ydxi::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_ydxi::xd#2 line_ydxi::x#5 line_ydxi::y#6 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::e#0 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::x#5 line_ydxi::y#6 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::e#0 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::x#5 line_ydxi::y#6 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::e#0 ] ) -- vbuz1=vbuz2_ror_1 
    lda xd
    lsr
    sta e
  //SEG171 [89] phi from line_ydxi line_ydxi::@2 to line_ydxi::@1 [phi:line_ydxi/line_ydxi::@2->line_ydxi::@1]
  b1_from_line_ydxi:
  b1_from_b2:
  //SEG172 [89] phi (byte) line_ydxi::e#3 = (byte) line_ydxi::e#0 [phi:line_ydxi/line_ydxi::@2->line_ydxi::@1#0] -- register_copy 
  //SEG173 [89] phi (byte) line_ydxi::y#3 = (byte) line_ydxi::y#6 [phi:line_ydxi/line_ydxi::@2->line_ydxi::@1#1] -- register_copy 
  //SEG174 [89] phi (byte) line_ydxi::x#3 = (byte) line_ydxi::x#5 [phi:line_ydxi/line_ydxi::@2->line_ydxi::@1#2] -- register_copy 
    jmp b1
  //SEG175 line_ydxi::@1
  b1:
  //SEG176 [90] (byte) plot::x#2 ← (byte) line_ydxi::x#3 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#2 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#2 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#2 ] ) -- vbuz1=vbuz2 
    lda x
    sta plot.x
  //SEG177 [91] (byte) plot::y#2 ← (byte) line_ydxi::y#3 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#2 plot::y#2 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#2 plot::y#2 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#2 plot::y#2 ] ) -- vbuz1=vbuz2 
    lda y
    sta plot.y
  //SEG178 [92] call plot param-assignment [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] )
  //SEG179 [102] phi from line_ydxi::@1 to plot [phi:line_ydxi::@1->plot]
  plot_from_b1:
  //SEG180 [102] phi (byte) plot::y#4 = (byte) plot::y#2 [phi:line_ydxi::@1->plot#0] -- register_copy 
  //SEG181 [102] phi (byte) plot::x#4 = (byte) plot::x#2 [phi:line_ydxi::@1->plot#1] -- register_copy 
    jsr plot
    jmp b5
  //SEG182 line_ydxi::@5
  b5:
  //SEG183 [93] (byte) line_ydxi::y#2 ← ++ (byte) line_ydxi::y#3 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::e#3 line_ydxi::y#2 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::e#3 line_ydxi::y#2 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::e#3 line_ydxi::y#2 ] ) -- vbuz1=_inc_vbuz1 
    inc y
  //SEG184 [94] (byte) line_ydxi::e#1 ← (byte) line_ydxi::e#3 + (byte) line_ydxi::xd#2 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#2 line_ydxi::e#1 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#2 line_ydxi::e#1 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#2 line_ydxi::e#1 ] ) -- vbuz1=vbuz1_plus_vbuz2 
    lda e
    clc
    adc xd
    sta e
  //SEG185 [95] if((byte) line_ydxi::yd#5>=(byte) line_ydxi::e#1) goto line_ydxi::@2 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#2 line_ydxi::e#1 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#2 line_ydxi::e#1 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#2 line_ydxi::e#1 ] ) -- vbuz1_ge_vbuz2_then_la1 
    lda yd
    cmp e
    bcs b2_from_b5
    jmp b3
  //SEG186 line_ydxi::@3
  b3:
  //SEG187 [96] (byte) line_ydxi::x#2 ← ++ (byte) line_ydxi::x#3 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::e#1 line_ydxi::x#2 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::e#1 line_ydxi::x#2 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::e#1 line_ydxi::x#2 ] ) -- vbuz1=_inc_vbuz1 
    inc x
  //SEG188 [97] (byte) line_ydxi::e#2 ← (byte) line_ydxi::e#1 - (byte) line_ydxi::yd#5 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::x#2 line_ydxi::e#2 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::x#2 line_ydxi::e#2 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::x#2 line_ydxi::e#2 ] ) -- vbuz1=vbuz1_minus_vbuz2 
    lda e
    sec
    sbc yd
    sta e
  //SEG189 [98] phi from line_ydxi::@3 line_ydxi::@5 to line_ydxi::@2 [phi:line_ydxi::@3/line_ydxi::@5->line_ydxi::@2]
  b2_from_b3:
  b2_from_b5:
  //SEG190 [98] phi (byte) line_ydxi::e#6 = (byte) line_ydxi::e#2 [phi:line_ydxi::@3/line_ydxi::@5->line_ydxi::@2#0] -- register_copy 
  //SEG191 [98] phi (byte) line_ydxi::x#6 = (byte) line_ydxi::x#2 [phi:line_ydxi::@3/line_ydxi::@5->line_ydxi::@2#1] -- register_copy 
    jmp b2
  //SEG192 line_ydxi::@2
  b2:
  //SEG193 [99] (byte/word~) line_ydxi::$6 ← (byte) line_ydxi::y1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 line_ydxi::$6 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 line_ydxi::$6 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 line_ydxi::$6 ] ) -- vbuz1=vbuz2_plus_1 
    ldy y1
    iny
    sty _6
  //SEG194 [100] if((byte) line_ydxi::y#2!=(byte/word~) line_ydxi::$6) goto line_ydxi::@1 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 ] ) -- vbuz1_neq_vbuz2_then_la1 
    lda y
    cmp _6
    bne b1_from_b2
    jmp breturn
  //SEG195 line_ydxi::@return
  breturn:
  //SEG196 [101] return  [ ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 ] )
    rts
}
//SEG197 plot
plot: {
    .label _0 = $35
    .label _1 = $37
    .label x = 9
    .label y = $a
    .label plotter_x = $31
    .label plotter_y = $33
  //SEG198 [103] (word) plot::plotter_x#0 ← *((const byte[256]) plot_xhi#0 + (byte) plot::x#4) w= *((const byte[256]) plot_xlo#0 + (byte) plot::x#4) [ plot::x#4 plot::y#4 plot::plotter_x#0 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_xdyi:35::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_xdyi:80::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_ydxd:56::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_ydxd:72::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_xdyd:50::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_xdyd:66::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] ) -- vwuz1=pbuc1_derefidx_vbuz2_word_pbuc2_derefidx_vbuz2 
    ldy x
    lda plot_xhi,y
    sta plotter_x+1
    lda plot_xlo,y
    sta plotter_x
  //SEG199 [104] (word) plot::plotter_y#0 ← *((const byte[256]) plot_yhi#0 + (byte) plot::y#4) w= *((const byte[256]) plot_ylo#0 + (byte) plot::y#4) [ plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_xdyi:35::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_xdyi:80::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_ydxd:56::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_ydxd:72::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_xdyd:50::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_xdyd:66::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] ) -- vwuz1=pbuc1_derefidx_vbuz2_word_pbuc2_derefidx_vbuz2 
    ldy y
    lda plot_yhi,y
    sta plotter_y+1
    lda plot_ylo,y
    sta plotter_y
  //SEG200 [105] (word~) plot::$0 ← (word) plot::plotter_x#0 + (word) plot::plotter_y#0 [ plot::x#4 plot::$0 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_xdyi:35::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_xdyi:80::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_ydxd:56::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_ydxd:72::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_xdyd:50::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_xdyd:66::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::$0 ] ) -- vwuz1=vwuz2_plus_vwuz3 
    lda _0
    clc
    adc plotter_x
    sta plotter_y
    lda _0+1
    adc plotter_x+1
    sta plotter_y+1
  //SEG201 [106] (byte~) plot::$1 ← *((byte*)(word~) plot::$0) | *((const byte[256]) plot_bit#0 + (byte) plot::x#4) [ plot::$0 plot::$1 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_xdyi:35::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_xdyi:80::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_ydxd:56::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_ydxd:72::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_xdyd:50::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_xdyd:66::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::$0 plot::$1 ] ) -- vbuz1=_deref_pbuz2_bor_pbuc1_derefidx_vbuz3 
    ldy #0
    lda (_0),y
    ldy x
    ora plot_bit,y
    sta _1
  //SEG202 [107] *((byte*)(word~) plot::$0) ← (byte~) plot::$1 [ ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:2::lines:12::line:21::line_xdyi:35::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_xdyi:80::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_ydxd:56::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_xdyd:50::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:2::lines:12::line:21::line_xdyd:66::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ) -- _deref_pbuz1=vbuz2 
    lda _1
    ldy #0
    sta (_0),y
    jmp breturn
  //SEG203 plot::@return
  breturn:
  //SEG204 [108] return  [ ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:2::lines:12::line:21::line_xdyi:35::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_xdyi:80::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_ydxd:56::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_xdyd:50::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:2::lines:12::line:21::line_xdyd:66::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
    rts
}
//SEG205 line_xdyi
line_xdyi: {
    .label _6 = $38
    .label x = $e
    .label y = $f
    .label x1 = $d
    .label xd = $c
    .label yd = $b
    .label e = $10
  //SEG206 [110] (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::e#0 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::e#0 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::e#0 ] ) -- vbuz1=vbuz2_ror_1 
    lda yd
    lsr
    sta e
  //SEG207 [111] phi from line_xdyi line_xdyi::@2 to line_xdyi::@1 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1]
  b1_from_line_xdyi:
  b1_from_b2:
  //SEG208 [111] phi (byte) line_xdyi::e#3 = (byte) line_xdyi::e#0 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#0] -- register_copy 
  //SEG209 [111] phi (byte) line_xdyi::y#3 = (byte) line_xdyi::y#5 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#1] -- register_copy 
  //SEG210 [111] phi (byte) line_xdyi::x#3 = (byte) line_xdyi::x#6 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#2] -- register_copy 
    jmp b1
  //SEG211 line_xdyi::@1
  b1:
  //SEG212 [112] (byte) plot::x#0 ← (byte) line_xdyi::x#3 [ plot::x#0 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 plot::x#0 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 plot::x#0 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] ) -- vbuz1=vbuz2 
    lda x
    sta plot.x
  //SEG213 [113] (byte) plot::y#0 ← (byte) line_xdyi::y#3 [ plot::x#0 plot::y#0 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 plot::x#0 plot::y#0 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 plot::x#0 plot::y#0 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] ) -- vbuz1=vbuz2 
    lda y
    sta plot.y
  //SEG214 [114] call plot param-assignment [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] )
  //SEG215 [102] phi from line_xdyi::@1 to plot [phi:line_xdyi::@1->plot]
  plot_from_b1:
  //SEG216 [102] phi (byte) plot::y#4 = (byte) plot::y#0 [phi:line_xdyi::@1->plot#0] -- register_copy 
  //SEG217 [102] phi (byte) plot::x#4 = (byte) plot::x#0 [phi:line_xdyi::@1->plot#1] -- register_copy 
    jsr plot
    jmp b5
  //SEG218 line_xdyi::@5
  b5:
  //SEG219 [115] (byte) line_xdyi::x#2 ← ++ (byte) line_xdyi::x#3 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::e#3 line_xdyi::x#2 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::e#3 line_xdyi::x#2 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::e#3 line_xdyi::x#2 ] ) -- vbuz1=_inc_vbuz1 
    inc x
  //SEG220 [116] (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#2 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] ) -- vbuz1=vbuz1_plus_vbuz2 
    lda e
    clc
    adc yd
    sta e
  //SEG221 [117] if((byte) line_xdyi::xd#5>=(byte) line_xdyi::e#1) goto line_xdyi::@2 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] ) -- vbuz1_ge_vbuz2_then_la1 
    lda xd
    cmp e
    bcs b2_from_b5
    jmp b3
  //SEG222 line_xdyi::@3
  b3:
  //SEG223 [118] (byte) line_xdyi::y#2 ← ++ (byte) line_xdyi::y#3 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::e#1 line_xdyi::y#2 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::e#1 line_xdyi::y#2 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::e#1 line_xdyi::y#2 ] ) -- vbuz1=_inc_vbuz1 
    inc y
  //SEG224 [119] (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#5 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#2 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#2 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#2 ] ) -- vbuz1=vbuz1_minus_vbuz2 
    lda e
    sec
    sbc xd
    sta e
  //SEG225 [120] phi from line_xdyi::@3 line_xdyi::@5 to line_xdyi::@2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2]
  b2_from_b3:
  b2_from_b5:
  //SEG226 [120] phi (byte) line_xdyi::e#6 = (byte) line_xdyi::e#2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2#0] -- register_copy 
  //SEG227 [120] phi (byte) line_xdyi::y#6 = (byte) line_xdyi::y#2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2#1] -- register_copy 
    jmp b2
  //SEG228 line_xdyi::@2
  b2:
  //SEG229 [121] (byte/word~) line_xdyi::$6 ← (byte) line_xdyi::x1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 line_xdyi::$6 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 line_xdyi::$6 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 line_xdyi::$6 ] ) -- vbuz1=vbuz2_plus_1 
    ldy x1
    iny
    sty _6
  //SEG230 [122] if((byte) line_xdyi::x#2!=(byte/word~) line_xdyi::$6) goto line_xdyi::@1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] ) -- vbuz1_neq_vbuz2_then_la1 
    lda x
    cmp _6
    bne b1_from_b2
    jmp breturn
  //SEG231 line_xdyi::@return
  breturn:
  //SEG232 [123] return  [ ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 ] )
    rts
}
//SEG233 line_ydxd
line_ydxd: {
    .label _6 = $39
    .label y = $15
    .label x = $14
    .label y1 = $13
    .label yd = $12
    .label xd = $11
    .label e = $16
  //SEG234 [125] (byte) line_ydxd::e#0 ← (byte) line_ydxd::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] ) -- vbuz1=vbuz2_ror_1 
    lda xd
    lsr
    sta e
  //SEG235 [126] phi from line_ydxd line_ydxd::@2 to line_ydxd::@1 [phi:line_ydxd/line_ydxd::@2->line_ydxd::@1]
  b1_from_line_ydxd:
  b1_from_b2:
  //SEG236 [126] phi (byte) line_ydxd::e#3 = (byte) line_ydxd::e#0 [phi:line_ydxd/line_ydxd::@2->line_ydxd::@1#0] -- register_copy 
  //SEG237 [126] phi (byte) line_ydxd::y#2 = (byte) line_ydxd::y#7 [phi:line_ydxd/line_ydxd::@2->line_ydxd::@1#1] -- register_copy 
  //SEG238 [126] phi (byte) line_ydxd::x#3 = (byte) line_ydxd::x#5 [phi:line_ydxd/line_ydxd::@2->line_ydxd::@1#2] -- register_copy 
    jmp b1
  //SEG239 line_ydxd::@1
  b1:
  //SEG240 [127] (byte) plot::x#3 ← (byte) line_ydxd::x#3 [ plot::x#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 plot::x#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 plot::x#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] ) -- vbuz1=vbuz2 
    lda x
    sta plot.x
  //SEG241 [128] (byte) plot::y#3 ← (byte) line_ydxd::y#2 [ plot::x#3 plot::y#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 plot::x#3 plot::y#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 plot::x#3 plot::y#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] ) -- vbuz1=vbuz2 
    lda y
    sta plot.y
  //SEG242 [129] call plot param-assignment [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] )
  //SEG243 [102] phi from line_ydxd::@1 to plot [phi:line_ydxd::@1->plot]
  plot_from_b1:
  //SEG244 [102] phi (byte) plot::y#4 = (byte) plot::y#3 [phi:line_ydxd::@1->plot#0] -- register_copy 
  //SEG245 [102] phi (byte) plot::x#4 = (byte) plot::x#3 [phi:line_ydxd::@1->plot#1] -- register_copy 
    jsr plot
    jmp b5
  //SEG246 line_ydxd::@5
  b5:
  //SEG247 [130] (byte) line_ydxd::y#3 ← ++ (byte) line_ydxd::y#2 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::e#3 line_ydxd::y#3 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::e#3 line_ydxd::y#3 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::e#3 line_ydxd::y#3 ] ) -- vbuz1=_inc_vbuz1 
    inc y
  //SEG248 [131] (byte) line_ydxd::e#1 ← (byte) line_ydxd::e#3 + (byte) line_ydxd::xd#2 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#1 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#1 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#1 ] ) -- vbuz1=vbuz1_plus_vbuz2 
    lda e
    clc
    adc xd
    sta e
  //SEG249 [132] if((byte) line_ydxd::yd#5>=(byte) line_ydxd::e#1) goto line_ydxd::@2 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#1 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#1 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#1 ] ) -- vbuz1_ge_vbuz2_then_la1 
    lda yd
    cmp e
    bcs b2_from_b5
    jmp b3
  //SEG250 line_ydxd::@3
  b3:
  //SEG251 [133] (byte) line_ydxd::x#2 ← -- (byte) line_ydxd::x#3 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#3 line_ydxd::e#1 line_ydxd::x#2 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#3 line_ydxd::e#1 line_ydxd::x#2 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#3 line_ydxd::e#1 line_ydxd::x#2 ] ) -- vbuz1=_dec_vbuz1 
    dec x
  //SEG252 [134] (byte) line_ydxd::e#2 ← (byte) line_ydxd::e#1 - (byte) line_ydxd::yd#5 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#3 line_ydxd::x#2 line_ydxd::e#2 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#3 line_ydxd::x#2 line_ydxd::e#2 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#3 line_ydxd::x#2 line_ydxd::e#2 ] ) -- vbuz1=vbuz1_minus_vbuz2 
    lda e
    sec
    sbc yd
    sta e
  //SEG253 [135] phi from line_ydxd::@3 line_ydxd::@5 to line_ydxd::@2 [phi:line_ydxd::@3/line_ydxd::@5->line_ydxd::@2]
  b2_from_b3:
  b2_from_b5:
  //SEG254 [135] phi (byte) line_ydxd::e#6 = (byte) line_ydxd::e#2 [phi:line_ydxd::@3/line_ydxd::@5->line_ydxd::@2#0] -- register_copy 
  //SEG255 [135] phi (byte) line_ydxd::x#6 = (byte) line_ydxd::x#2 [phi:line_ydxd::@3/line_ydxd::@5->line_ydxd::@2#1] -- register_copy 
    jmp b2
  //SEG256 line_ydxd::@2
  b2:
  //SEG257 [136] (byte/word~) line_ydxd::$6 ← (byte) line_ydxd::y1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 line_ydxd::$6 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 line_ydxd::$6 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 line_ydxd::$6 ] ) -- vbuz1=vbuz2_plus_1 
    ldy y1
    iny
    sty _6
  //SEG258 [137] if((byte) line_ydxd::y#3!=(byte/word~) line_ydxd::$6) goto line_ydxd::@1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 ] ) -- vbuz1_neq_vbuz2_then_la1 
    lda y
    cmp _6
    bne b1_from_b2
    jmp breturn
  //SEG259 line_ydxd::@return
  breturn:
  //SEG260 [138] return  [ ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 ] )
    rts
}
//SEG261 line_xdyd
line_xdyd: {
    .label _6 = $3a
    .label x = $1a
    .label y = $1b
    .label x1 = $19
    .label xd = $18
    .label yd = $17
    .label e = $1c
  //SEG262 [140] (byte) line_xdyd::e#0 ← (byte) line_xdyd::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::e#0 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::e#0 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::e#0 ] ) -- vbuz1=vbuz2_ror_1 
    lda yd
    lsr
    sta e
  //SEG263 [141] phi from line_xdyd line_xdyd::@2 to line_xdyd::@1 [phi:line_xdyd/line_xdyd::@2->line_xdyd::@1]
  b1_from_line_xdyd:
  b1_from_b2:
  //SEG264 [141] phi (byte) line_xdyd::e#3 = (byte) line_xdyd::e#0 [phi:line_xdyd/line_xdyd::@2->line_xdyd::@1#0] -- register_copy 
  //SEG265 [141] phi (byte) line_xdyd::y#3 = (byte) line_xdyd::y#5 [phi:line_xdyd/line_xdyd::@2->line_xdyd::@1#1] -- register_copy 
  //SEG266 [141] phi (byte) line_xdyd::x#3 = (byte) line_xdyd::x#6 [phi:line_xdyd/line_xdyd::@2->line_xdyd::@1#2] -- register_copy 
    jmp b1
  //SEG267 line_xdyd::@1
  b1:
  //SEG268 [142] (byte) plot::x#1 ← (byte) line_xdyd::x#3 [ plot::x#1 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 plot::x#1 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 plot::x#1 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ) -- vbuz1=vbuz2 
    lda x
    sta plot.x
  //SEG269 [143] (byte) plot::y#1 ← (byte) line_xdyd::y#3 [ plot::x#1 plot::y#1 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 plot::x#1 plot::y#1 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 plot::x#1 plot::y#1 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ) -- vbuz1=vbuz2 
    lda y
    sta plot.y
  //SEG270 [144] call plot param-assignment [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
  //SEG271 [102] phi from line_xdyd::@1 to plot [phi:line_xdyd::@1->plot]
  plot_from_b1:
  //SEG272 [102] phi (byte) plot::y#4 = (byte) plot::y#1 [phi:line_xdyd::@1->plot#0] -- register_copy 
  //SEG273 [102] phi (byte) plot::x#4 = (byte) plot::x#1 [phi:line_xdyd::@1->plot#1] -- register_copy 
    jsr plot
    jmp b5
  //SEG274 line_xdyd::@5
  b5:
  //SEG275 [145] (byte) line_xdyd::x#2 ← ++ (byte) line_xdyd::x#3 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::e#3 line_xdyd::x#2 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::e#3 line_xdyd::x#2 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::e#3 line_xdyd::x#2 ] ) -- vbuz1=_inc_vbuz1 
    inc x
  //SEG276 [146] (byte) line_xdyd::e#1 ← (byte) line_xdyd::e#3 + (byte) line_xdyd::yd#2 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] ) -- vbuz1=vbuz1_plus_vbuz2 
    lda e
    clc
    adc yd
    sta e
  //SEG277 [147] if((byte) line_xdyd::xd#5>=(byte) line_xdyd::e#1) goto line_xdyd::@2 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] ) -- vbuz1_ge_vbuz2_then_la1 
    lda xd
    cmp e
    bcs b2_from_b5
    jmp b3
  //SEG278 line_xdyd::@3
  b3:
  //SEG279 [148] (byte) line_xdyd::y#2 ← -- (byte) line_xdyd::y#3 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::e#1 line_xdyd::y#2 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::e#1 line_xdyd::y#2 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::e#1 line_xdyd::y#2 ] ) -- vbuz1=_dec_vbuz1 
    dec y
  //SEG280 [149] (byte) line_xdyd::e#2 ← (byte) line_xdyd::e#1 - (byte) line_xdyd::xd#5 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#2 line_xdyd::e#2 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#2 line_xdyd::e#2 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#2 line_xdyd::e#2 ] ) -- vbuz1=vbuz1_minus_vbuz2 
    lda e
    sec
    sbc xd
    sta e
  //SEG281 [150] phi from line_xdyd::@3 line_xdyd::@5 to line_xdyd::@2 [phi:line_xdyd::@3/line_xdyd::@5->line_xdyd::@2]
  b2_from_b3:
  b2_from_b5:
  //SEG282 [150] phi (byte) line_xdyd::e#6 = (byte) line_xdyd::e#2 [phi:line_xdyd::@3/line_xdyd::@5->line_xdyd::@2#0] -- register_copy 
  //SEG283 [150] phi (byte) line_xdyd::y#6 = (byte) line_xdyd::y#2 [phi:line_xdyd::@3/line_xdyd::@5->line_xdyd::@2#1] -- register_copy 
    jmp b2
  //SEG284 line_xdyd::@2
  b2:
  //SEG285 [151] (byte/word~) line_xdyd::$6 ← (byte) line_xdyd::x1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 line_xdyd::$6 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 line_xdyd::$6 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 line_xdyd::$6 ] ) -- vbuz1=vbuz2_plus_1 
    ldy x1
    iny
    sty _6
  //SEG286 [152] if((byte) line_xdyd::x#2!=(byte/word~) line_xdyd::$6) goto line_xdyd::@1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] ) -- vbuz1_neq_vbuz2_then_la1 
    lda x
    cmp _6
    bne b1_from_b2
    jmp breturn
  //SEG287 line_xdyd::@return
  breturn:
  //SEG288 [153] return  [ ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 ] )
    rts
}
//SEG289 init_plot_tables
init_plot_tables: {
    .label _0 = $3b
    .label _6 = $3c
    .label _7 = $3d
    .label _8 = $3e
    .label _9 = $3f
    .label _10 = $40
    .label bits = $1e
    .label x = $1d
    .label y = $1f
    .label yoffs = $20
  //SEG290 [155] phi from init_plot_tables to init_plot_tables::@1 [phi:init_plot_tables->init_plot_tables::@1]
  b1_from_init_plot_tables:
  //SEG291 [155] phi (byte) init_plot_tables::bits#3 = (byte/word/signed word/dword/signed dword) 128 [phi:init_plot_tables->init_plot_tables::@1#0] -- vbuz1=vbuc1 
    lda #$80
    sta bits
  //SEG292 [155] phi (byte) init_plot_tables::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:init_plot_tables->init_plot_tables::@1#1] -- vbuz1=vbuc1 
    lda #0
    sta x
    jmp b1
  //SEG293 [155] phi from init_plot_tables::@2 to init_plot_tables::@1 [phi:init_plot_tables::@2->init_plot_tables::@1]
  b1_from_b2:
  //SEG294 [155] phi (byte) init_plot_tables::bits#3 = (byte) init_plot_tables::bits#4 [phi:init_plot_tables::@2->init_plot_tables::@1#0] -- register_copy 
  //SEG295 [155] phi (byte) init_plot_tables::x#2 = (byte) init_plot_tables::x#1 [phi:init_plot_tables::@2->init_plot_tables::@1#1] -- register_copy 
    jmp b1
  //SEG296 init_plot_tables::@1
  b1:
  //SEG297 [156] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte/word/signed word/dword/signed dword) 248 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ) -- vbuz1=vbuz2_band_vbuc1 
    lda #$f8
    and x
    sta _0
  //SEG298 [157] *((const byte[256]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 
    lda _0
    ldy x
    sta plot_xlo,y
  //SEG299 [158] *((const byte[256]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- pbuc1_derefidx_vbuz1=vbuc2 
    ldy x
    lda #>BITMAP
    sta plot_xhi,y
  //SEG300 [159] *((const byte[256]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 
    lda bits
    ldy x
    sta plot_bit,y
  //SEG301 [160] (byte) init_plot_tables::bits#1 ← (byte) init_plot_tables::bits#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ) -- vbuz1=vbuz1_ror_1 
    lsr bits
  //SEG302 [161] if((byte) init_plot_tables::bits#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ) -- vbuz1_neq_0_then_la1 
    lda bits
    bne b10_from_b1
  //SEG303 [162] phi from init_plot_tables::@1 to init_plot_tables::@2 [phi:init_plot_tables::@1->init_plot_tables::@2]
  b2_from_b1:
  //SEG304 [162] phi (byte) init_plot_tables::bits#4 = (byte/word/signed word/dword/signed dword) 128 [phi:init_plot_tables::@1->init_plot_tables::@2#0] -- vbuz1=vbuc1 
    lda #$80
    sta bits
    jmp b2
  //SEG305 init_plot_tables::@2
  b2:
  //SEG306 [163] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) -- vbuz1=_inc_vbuz1 
    inc x
  //SEG307 [164] if((byte) init_plot_tables::x#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) -- vbuz1_neq_0_then_la1 
    lda x
    bne b1_from_b2
  //SEG308 [165] phi from init_plot_tables::@2 to init_plot_tables::@3 [phi:init_plot_tables::@2->init_plot_tables::@3]
  b3_from_b2:
  //SEG309 [165] phi (byte*) init_plot_tables::yoffs#2 = ((byte*))(byte/signed byte/word/signed word/dword/signed dword) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#0] -- pbuz1=pbuc1 
    lda #<0
    sta yoffs
    lda #>0
    sta yoffs+1
  //SEG310 [165] phi (byte) init_plot_tables::y#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#1] -- vbuz1=vbuc1 
    lda #0
    sta y
    jmp b3
  //SEG311 [165] phi from init_plot_tables::@4 to init_plot_tables::@3 [phi:init_plot_tables::@4->init_plot_tables::@3]
  b3_from_b4:
  //SEG312 [165] phi (byte*) init_plot_tables::yoffs#2 = (byte*) init_plot_tables::yoffs#4 [phi:init_plot_tables::@4->init_plot_tables::@3#0] -- register_copy 
  //SEG313 [165] phi (byte) init_plot_tables::y#2 = (byte) init_plot_tables::y#1 [phi:init_plot_tables::@4->init_plot_tables::@3#1] -- register_copy 
    jmp b3
  //SEG314 init_plot_tables::@3
  b3:
  //SEG315 [166] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ) -- vbuz1=vbuz2_band_vbuc1 
    lda #7
    and y
    sta _6
  //SEG316 [167] (byte~) init_plot_tables::$7 ← < (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ) -- vbuz1=_lo_pbuz2 
    lda yoffs
    sta _7
  //SEG317 [168] (byte~) init_plot_tables::$8 ← (byte~) init_plot_tables::$6 | (byte~) init_plot_tables::$7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ) -- vbuz1=vbuz2_bor_vbuz3 
    lda _6
    ora _7
    sta _8
  //SEG318 [169] *((const byte[256]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 
    lda _8
    ldy y
    sta plot_ylo,y
  //SEG319 [170] (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ) -- vbuz1=_hi_pbuz2 
    lda yoffs+1
    sta _9
  //SEG320 [171] *((const byte[256]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 
    lda _9
    ldy y
    sta plot_yhi,y
  //SEG321 [172] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ) -- vbuz1=vbuz2_band_vbuc1 
    lda #7
    and y
    sta _10
  //SEG322 [173] if((byte~) init_plot_tables::$10!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- vbuz1_neq_vbuc1_then_la1 
    lda _10
    cmp #7
    bne b4_from_b3
    jmp b7
  //SEG323 init_plot_tables::@7
  b7:
  //SEG324 [174] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 8 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ) -- pbuz1=pbuz1_plus_vwuc1 
    lda yoffs
    clc
    adc #<$28*8
    sta yoffs
    lda yoffs+1
    adc #>$28*8
    sta yoffs+1
  //SEG325 [175] phi from init_plot_tables::@3 init_plot_tables::@7 to init_plot_tables::@4 [phi:init_plot_tables::@3/init_plot_tables::@7->init_plot_tables::@4]
  b4_from_b3:
  b4_from_b7:
  //SEG326 [175] phi (byte*) init_plot_tables::yoffs#4 = (byte*) init_plot_tables::yoffs#2 [phi:init_plot_tables::@3/init_plot_tables::@7->init_plot_tables::@4#0] -- register_copy 
    jmp b4
  //SEG327 init_plot_tables::@4
  b4:
  //SEG328 [176] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) -- vbuz1=_inc_vbuz1 
    inc y
  //SEG329 [177] if((byte) init_plot_tables::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) -- vbuz1_neq_0_then_la1 
    lda y
    bne b3_from_b4
    jmp breturn
  //SEG330 init_plot_tables::@return
  breturn:
  //SEG331 [178] return  [ ] ( main:2::init_plot_tables:10 [ ] )
    rts
  //SEG332 [179] phi from init_plot_tables::@1 to init_plot_tables::@10 [phi:init_plot_tables::@1->init_plot_tables::@10]
  b10_from_b1:
    jmp b10
  //SEG333 init_plot_tables::@10
  b10:
  //SEG334 [162] phi from init_plot_tables::@10 to init_plot_tables::@2 [phi:init_plot_tables::@10->init_plot_tables::@2]
  b2_from_b10:
  //SEG335 [162] phi (byte) init_plot_tables::bits#4 = (byte) init_plot_tables::bits#1 [phi:init_plot_tables::@10->init_plot_tables::@2#0] -- register_copy 
    jmp b2
}
//SEG336 init_screen
init_screen: {
    .label b = $22
    .label c = $24
  //SEG337 [181] phi from init_screen to init_screen::@1 [phi:init_screen->init_screen::@1]
  b1_from_init_screen:
  //SEG338 [181] phi (byte*) init_screen::b#2 = (const byte*) BITMAP#0 [phi:init_screen->init_screen::@1#0] -- pbuz1=pbuc1 
    lda #<BITMAP
    sta b
    lda #>BITMAP
    sta b+1
    jmp b1
  //SEG339 [181] phi from init_screen::@1 to init_screen::@1 [phi:init_screen::@1->init_screen::@1]
  b1_from_b1:
  //SEG340 [181] phi (byte*) init_screen::b#2 = (byte*) init_screen::b#1 [phi:init_screen::@1->init_screen::@1#0] -- register_copy 
    jmp b1
  //SEG341 init_screen::@1
  b1:
  //SEG342 [182] *((byte*) init_screen::b#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ init_screen::b#2 ] ( main:2::init_screen:8 [ init_screen::b#2 ] ) -- _deref_pbuz1=vbuc1 
    lda #0
    ldy #0
    sta (b),y
  //SEG343 [183] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] ( main:2::init_screen:8 [ init_screen::b#1 ] ) -- pbuz1=_inc_pbuz1 
    inc b
    bne !+
    inc b+1
  !:
  //SEG344 [184] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word/signed word/dword/signed dword) 8192) goto init_screen::@1 [ init_screen::b#1 ] ( main:2::init_screen:8 [ init_screen::b#1 ] ) -- pbuz1_neq_pbuc1_then_la1 
    lda b+1
    cmp #>BITMAP+$2000
    bne b1_from_b1
    lda b
    cmp #<BITMAP+$2000
    bne b1_from_b1
  //SEG345 [185] phi from init_screen::@1 to init_screen::@2 [phi:init_screen::@1->init_screen::@2]
  b2_from_b1:
  //SEG346 [185] phi (byte*) init_screen::c#2 = (const byte*) SCREEN#0 [phi:init_screen::@1->init_screen::@2#0] -- pbuz1=pbuc1 
    lda #<SCREEN
    sta c
    lda #>SCREEN
    sta c+1
    jmp b2
  //SEG347 [185] phi from init_screen::@2 to init_screen::@2 [phi:init_screen::@2->init_screen::@2]
  b2_from_b2:
  //SEG348 [185] phi (byte*) init_screen::c#2 = (byte*) init_screen::c#1 [phi:init_screen::@2->init_screen::@2#0] -- register_copy 
    jmp b2
  //SEG349 init_screen::@2
  b2:
  //SEG350 [186] *((byte*) init_screen::c#2) ← (byte/signed byte/word/signed word/dword/signed dword) 20 [ init_screen::c#2 ] ( main:2::init_screen:8 [ init_screen::c#2 ] ) -- _deref_pbuz1=vbuc1 
    lda #$14
    ldy #0
    sta (c),y
  //SEG351 [187] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] ( main:2::init_screen:8 [ init_screen::c#1 ] ) -- pbuz1=_inc_pbuz1 
    inc c
    bne !+
    inc c+1
  !:
  //SEG352 [188] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word/signed word/dword/signed dword) 1024) goto init_screen::@2 [ init_screen::c#1 ] ( main:2::init_screen:8 [ init_screen::c#1 ] ) -- pbuz1_neq_pbuc1_then_la1 
    lda c+1
    cmp #>SCREEN+$400
    bne b2_from_b2
    lda c
    cmp #<SCREEN+$400
    bne b2_from_b2
    jmp breturn
  //SEG353 init_screen::@return
  breturn:
  //SEG354 [189] return  [ ] ( main:2::init_screen:8 [ ] )
    rts
}
  plot_xlo: .fill $100, 0
  plot_xhi: .fill $100, 0
  plot_ylo: .fill $100, 0
  plot_yhi: .fill $100, 0
  plot_bit: .fill $100, 0
  lines_x: .byte $3c, $50, $6e, $50, $3c, $28, $a, $28, $3c
  lines_y: .byte $a, $28, $3c, $50, $6e, $50, $3c, $28, $a

REGISTER UPLIFT POTENTIAL REGISTERS
Equivalence Class zp ZP_BYTE:61 [ init_plot_tables::$7 ] has ALU potential.
Statement [4] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] ) always clobbers reg byte a 
Statement [5] *((const byte*) FGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] ) always clobbers reg byte a 
Statement [6] *((const byte*) D011#0) ← (const byte) BMM#0|(const byte) DEN#0|(const byte) RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 [ ] ( main:2 [ ] ) always clobbers reg byte a 
Statement [7] *((const byte*) D018#0) ← ((byte))((word))(const byte*) SCREEN#0/(byte/signed byte/word/signed word/dword/signed dword) 64|((word))(const byte*) BITMAP#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2 [ ] ) always clobbers reg byte a 
Statement [26] (byte) line::xd#1 ← (byte) line::x1#0 - (byte) line::x0#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:2 [ lines::l#2 lines::l#1 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:38 [ line::x0#0 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:39 [ line::x1#0 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:40 [ line::y0#0 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:41 [ line::y1#0 ]
Statement [28] (byte) line::yd#1 ← (byte) line::y1#0 - (byte) line::y0#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#1 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:42 [ line::xd#1 ]
Statement [43] (byte) line::yd#0 ← (byte) line::y0#0 - (byte) line::y1#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#0 ] ) always clobbers reg byte a 
Statement [57] (byte) line::xd#0 ← (byte) line::x0#0 - (byte) line::x1#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 ] ) always clobbers reg byte a 
Statement [59] (byte) line::yd#3 ← (byte) line::y1#0 - (byte) line::y0#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#3 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#3 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:45 [ line::xd#0 ]
Statement [73] (byte) line::yd#10 ← (byte) line::y0#0 - (byte) line::y1#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#10 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#10 ] ) always clobbers reg byte a 
Statement [97] (byte) line_ydxi::e#2 ← (byte) line_ydxi::e#1 - (byte) line_ydxi::yd#5 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::x#2 line_ydxi::e#2 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::x#2 line_ydxi::e#2 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::x#2 line_ydxi::e#2 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:3 [ line_ydxi::xd#2 line_ydxi::xd#1 line_ydxi::xd#0 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:4 [ line_ydxi::yd#5 line_ydxi::yd#1 line_ydxi::yd#0 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:5 [ line_ydxi::y1#6 line_ydxi::y1#1 line_ydxi::y1#0 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:7 [ line_ydxi::y#3 line_ydxi::y#6 line_ydxi::y#1 line_ydxi::y#0 line_ydxi::y#2 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:6 [ line_ydxi::x#3 line_ydxi::x#5 line_ydxi::x#1 line_ydxi::x#0 line_ydxi::x#6 line_ydxi::x#2 ]
Statement [103] (word) plot::plotter_x#0 ← *((const byte[256]) plot_xhi#0 + (byte) plot::x#4) w= *((const byte[256]) plot_xlo#0 + (byte) plot::x#4) [ plot::x#4 plot::y#4 plot::plotter_x#0 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_xdyi:35::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_xdyi:80::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_ydxd:56::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_ydxd:72::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_xdyd:50::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_xdyd:66::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:8 [ line_ydxi::e#3 line_ydxi::e#0 line_ydxi::e#6 line_ydxi::e#2 line_ydxi::e#1 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:9 [ plot::x#4 plot::x#1 plot::x#0 plot::x#3 plot::x#2 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:10 [ plot::y#4 plot::y#1 plot::y#0 plot::y#3 plot::y#2 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:11 [ line_xdyi::yd#2 line_xdyi::yd#0 line_xdyi::yd#1 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:12 [ line_xdyi::xd#5 line_xdyi::xd#0 line_xdyi::xd#1 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:13 [ line_xdyi::x1#6 line_xdyi::x1#0 line_xdyi::x1#1 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:14 [ line_xdyi::x#3 line_xdyi::x#6 line_xdyi::x#0 line_xdyi::x#1 line_xdyi::x#2 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:15 [ line_xdyi::y#3 line_xdyi::y#5 line_xdyi::y#0 line_xdyi::y#1 line_xdyi::y#6 line_xdyi::y#2 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:16 [ line_xdyi::e#3 line_xdyi::e#0 line_xdyi::e#6 line_xdyi::e#2 line_xdyi::e#1 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:17 [ line_ydxd::xd#2 line_ydxd::xd#1 line_ydxd::xd#0 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:18 [ line_ydxd::yd#5 line_ydxd::yd#1 line_ydxd::yd#0 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:19 [ line_ydxd::y1#6 line_ydxd::y1#1 line_ydxd::y1#0 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:20 [ line_ydxd::x#3 line_ydxd::x#5 line_ydxd::x#1 line_ydxd::x#0 line_ydxd::x#6 line_ydxd::x#2 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:21 [ line_ydxd::y#2 line_ydxd::y#7 line_ydxd::y#1 line_ydxd::y#0 line_ydxd::y#3 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:22 [ line_ydxd::e#3 line_ydxd::e#0 line_ydxd::e#6 line_ydxd::e#2 line_ydxd::e#1 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:23 [ line_xdyd::yd#2 line_xdyd::yd#0 line_xdyd::yd#1 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:24 [ line_xdyd::xd#5 line_xdyd::xd#0 line_xdyd::xd#1 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:25 [ line_xdyd::x1#6 line_xdyd::x1#0 line_xdyd::x1#1 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:26 [ line_xdyd::x#3 line_xdyd::x#6 line_xdyd::x#0 line_xdyd::x#1 line_xdyd::x#2 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:27 [ line_xdyd::y#3 line_xdyd::y#5 line_xdyd::y#0 line_xdyd::y#1 line_xdyd::y#6 line_xdyd::y#2 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:28 [ line_xdyd::e#3 line_xdyd::e#0 line_xdyd::e#6 line_xdyd::e#2 line_xdyd::e#1 ]
Statement [104] (word) plot::plotter_y#0 ← *((const byte[256]) plot_yhi#0 + (byte) plot::y#4) w= *((const byte[256]) plot_ylo#0 + (byte) plot::y#4) [ plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_xdyi:35::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_xdyi:80::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_ydxd:56::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_ydxd:72::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_xdyd:50::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_xdyd:66::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] ) always clobbers reg byte a 
Statement [105] (word~) plot::$0 ← (word) plot::plotter_x#0 + (word) plot::plotter_y#0 [ plot::x#4 plot::$0 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_xdyi:35::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_xdyi:80::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_ydxd:56::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_ydxd:72::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_xdyd:50::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_xdyd:66::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::$0 ] ) always clobbers reg byte a 
Statement [106] (byte~) plot::$1 ← *((byte*)(word~) plot::$0) | *((const byte[256]) plot_bit#0 + (byte) plot::x#4) [ plot::$0 plot::$1 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_xdyi:35::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_xdyi:80::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_ydxd:56::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_ydxd:72::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_xdyd:50::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_xdyd:66::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::$0 plot::$1 ] ) always clobbers reg byte a reg byte y 
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:2 [ lines::l#2 lines::l#1 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:3 [ line_ydxi::xd#2 line_ydxi::xd#1 line_ydxi::xd#0 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:4 [ line_ydxi::yd#5 line_ydxi::yd#1 line_ydxi::yd#0 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:5 [ line_ydxi::y1#6 line_ydxi::y1#1 line_ydxi::y1#0 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:6 [ line_ydxi::x#3 line_ydxi::x#5 line_ydxi::x#1 line_ydxi::x#0 line_ydxi::x#6 line_ydxi::x#2 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:7 [ line_ydxi::y#3 line_ydxi::y#6 line_ydxi::y#1 line_ydxi::y#0 line_ydxi::y#2 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:8 [ line_ydxi::e#3 line_ydxi::e#0 line_ydxi::e#6 line_ydxi::e#2 line_ydxi::e#1 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:11 [ line_xdyi::yd#2 line_xdyi::yd#0 line_xdyi::yd#1 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:12 [ line_xdyi::xd#5 line_xdyi::xd#0 line_xdyi::xd#1 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:13 [ line_xdyi::x1#6 line_xdyi::x1#0 line_xdyi::x1#1 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:14 [ line_xdyi::x#3 line_xdyi::x#6 line_xdyi::x#0 line_xdyi::x#1 line_xdyi::x#2 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:15 [ line_xdyi::y#3 line_xdyi::y#5 line_xdyi::y#0 line_xdyi::y#1 line_xdyi::y#6 line_xdyi::y#2 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:16 [ line_xdyi::e#3 line_xdyi::e#0 line_xdyi::e#6 line_xdyi::e#2 line_xdyi::e#1 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:17 [ line_ydxd::xd#2 line_ydxd::xd#1 line_ydxd::xd#0 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:18 [ line_ydxd::yd#5 line_ydxd::yd#1 line_ydxd::yd#0 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:19 [ line_ydxd::y1#6 line_ydxd::y1#1 line_ydxd::y1#0 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:20 [ line_ydxd::x#3 line_ydxd::x#5 line_ydxd::x#1 line_ydxd::x#0 line_ydxd::x#6 line_ydxd::x#2 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:21 [ line_ydxd::y#2 line_ydxd::y#7 line_ydxd::y#1 line_ydxd::y#0 line_ydxd::y#3 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:22 [ line_ydxd::e#3 line_ydxd::e#0 line_ydxd::e#6 line_ydxd::e#2 line_ydxd::e#1 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:23 [ line_xdyd::yd#2 line_xdyd::yd#0 line_xdyd::yd#1 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:24 [ line_xdyd::xd#5 line_xdyd::xd#0 line_xdyd::xd#1 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:25 [ line_xdyd::x1#6 line_xdyd::x1#0 line_xdyd::x1#1 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:26 [ line_xdyd::x#3 line_xdyd::x#6 line_xdyd::x#0 line_xdyd::x#1 line_xdyd::x#2 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:27 [ line_xdyd::y#3 line_xdyd::y#5 line_xdyd::y#0 line_xdyd::y#1 line_xdyd::y#6 line_xdyd::y#2 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:28 [ line_xdyd::e#3 line_xdyd::e#0 line_xdyd::e#6 line_xdyd::e#2 line_xdyd::e#1 ]
Statement [107] *((byte*)(word~) plot::$0) ← (byte~) plot::$1 [ ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:2::lines:12::line:21::line_xdyi:35::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_xdyi:80::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_ydxd:56::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_xdyd:50::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:2::lines:12::line:21::line_xdyd:66::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ) always clobbers reg byte y 
Statement [110] (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::e#0 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::e#0 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::e#0 ] ) always clobbers reg byte a 
Statement [116] (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#2 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] ) always clobbers reg byte a 
Statement [119] (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#5 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#2 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#2 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#2 ] ) always clobbers reg byte a 
Statement [125] (byte) line_ydxd::e#0 ← (byte) line_ydxd::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] ) always clobbers reg byte a 
Statement [131] (byte) line_ydxd::e#1 ← (byte) line_ydxd::e#3 + (byte) line_ydxd::xd#2 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#1 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#1 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#1 ] ) always clobbers reg byte a 
Statement [134] (byte) line_ydxd::e#2 ← (byte) line_ydxd::e#1 - (byte) line_ydxd::yd#5 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#3 line_ydxd::x#2 line_ydxd::e#2 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#3 line_ydxd::x#2 line_ydxd::e#2 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#3 line_ydxd::x#2 line_ydxd::e#2 ] ) always clobbers reg byte a 
Statement [140] (byte) line_xdyd::e#0 ← (byte) line_xdyd::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::e#0 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::e#0 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::e#0 ] ) always clobbers reg byte a 
Statement [146] (byte) line_xdyd::e#1 ← (byte) line_xdyd::e#3 + (byte) line_xdyd::yd#2 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] ) always clobbers reg byte a 
Statement [149] (byte) line_xdyd::e#2 ← (byte) line_xdyd::e#1 - (byte) line_xdyd::xd#5 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#2 line_xdyd::e#2 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#2 line_xdyd::e#2 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#2 line_xdyd::e#2 ] ) always clobbers reg byte a 
Statement [156] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte/word/signed word/dword/signed dword) 248 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:29 [ init_plot_tables::x#2 init_plot_tables::x#1 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:30 [ init_plot_tables::bits#3 init_plot_tables::bits#4 init_plot_tables::bits#1 ]
Statement [158] *((const byte[256]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) always clobbers reg byte a 
Statement [159] *((const byte[256]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) always clobbers reg byte a 
Statement [166] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:31 [ init_plot_tables::y#2 init_plot_tables::y#1 ]
Statement [172] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ) always clobbers reg byte a 
Statement [174] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 8 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ) always clobbers reg byte a 
Statement [182] *((byte*) init_screen::b#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ init_screen::b#2 ] ( main:2::init_screen:8 [ init_screen::b#2 ] ) always clobbers reg byte a reg byte y 
Statement [184] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word/signed word/dword/signed dword) 8192) goto init_screen::@1 [ init_screen::b#1 ] ( main:2::init_screen:8 [ init_screen::b#1 ] ) always clobbers reg byte a 
Statement [186] *((byte*) init_screen::c#2) ← (byte/signed byte/word/signed word/dword/signed dword) 20 [ init_screen::c#2 ] ( main:2::init_screen:8 [ init_screen::c#2 ] ) always clobbers reg byte a reg byte y 
Statement [188] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word/signed word/dword/signed dword) 1024) goto init_screen::@2 [ init_screen::c#1 ] ( main:2::init_screen:8 [ init_screen::c#1 ] ) always clobbers reg byte a 
Statement [4] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] ) always clobbers reg byte a 
Statement [5] *((const byte*) FGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] ) always clobbers reg byte a 
Statement [6] *((const byte*) D011#0) ← (const byte) BMM#0|(const byte) DEN#0|(const byte) RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 [ ] ( main:2 [ ] ) always clobbers reg byte a 
Statement [7] *((const byte*) D018#0) ← ((byte))((word))(const byte*) SCREEN#0/(byte/signed byte/word/signed word/dword/signed dword) 64|((word))(const byte*) BITMAP#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2 [ ] ) always clobbers reg byte a 
Statement [26] (byte) line::xd#1 ← (byte) line::x1#0 - (byte) line::x0#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 ] ) always clobbers reg byte a 
Statement [28] (byte) line::yd#1 ← (byte) line::y1#0 - (byte) line::y0#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#1 ] ) always clobbers reg byte a 
Statement [43] (byte) line::yd#0 ← (byte) line::y0#0 - (byte) line::y1#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#0 ] ) always clobbers reg byte a 
Statement [57] (byte) line::xd#0 ← (byte) line::x0#0 - (byte) line::x1#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 ] ) always clobbers reg byte a 
Statement [59] (byte) line::yd#3 ← (byte) line::y1#0 - (byte) line::y0#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#3 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#3 ] ) always clobbers reg byte a 
Statement [73] (byte) line::yd#10 ← (byte) line::y0#0 - (byte) line::y1#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#10 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#10 ] ) always clobbers reg byte a 
Statement [88] (byte) line_ydxi::e#0 ← (byte) line_ydxi::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_ydxi::xd#2 line_ydxi::x#5 line_ydxi::y#6 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::e#0 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::x#5 line_ydxi::y#6 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::e#0 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::x#5 line_ydxi::y#6 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::e#0 ] ) always clobbers reg byte a 
Statement [94] (byte) line_ydxi::e#1 ← (byte) line_ydxi::e#3 + (byte) line_ydxi::xd#2 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#2 line_ydxi::e#1 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#2 line_ydxi::e#1 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#2 line_ydxi::e#1 ] ) always clobbers reg byte a 
Statement [97] (byte) line_ydxi::e#2 ← (byte) line_ydxi::e#1 - (byte) line_ydxi::yd#5 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::x#2 line_ydxi::e#2 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::x#2 line_ydxi::e#2 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::x#2 line_ydxi::e#2 ] ) always clobbers reg byte a 
Statement [103] (word) plot::plotter_x#0 ← *((const byte[256]) plot_xhi#0 + (byte) plot::x#4) w= *((const byte[256]) plot_xlo#0 + (byte) plot::x#4) [ plot::x#4 plot::y#4 plot::plotter_x#0 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_xdyi:35::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_xdyi:80::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_ydxd:56::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_ydxd:72::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_xdyd:50::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_xdyd:66::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] ) always clobbers reg byte a 
Statement [104] (word) plot::plotter_y#0 ← *((const byte[256]) plot_yhi#0 + (byte) plot::y#4) w= *((const byte[256]) plot_ylo#0 + (byte) plot::y#4) [ plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_xdyi:35::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_xdyi:80::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_ydxd:56::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_ydxd:72::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_xdyd:50::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_xdyd:66::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] ) always clobbers reg byte a 
Statement [105] (word~) plot::$0 ← (word) plot::plotter_x#0 + (word) plot::plotter_y#0 [ plot::x#4 plot::$0 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_xdyi:35::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_xdyi:80::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_ydxd:56::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_ydxd:72::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_xdyd:50::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_xdyd:66::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::$0 ] ) always clobbers reg byte a 
Statement [106] (byte~) plot::$1 ← *((byte*)(word~) plot::$0) | *((const byte[256]) plot_bit#0 + (byte) plot::x#4) [ plot::$0 plot::$1 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_xdyi:35::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_xdyi:80::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_ydxd:56::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_ydxd:72::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_xdyd:50::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_xdyd:66::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::$0 plot::$1 ] ) always clobbers reg byte a reg byte y 
Statement [107] *((byte*)(word~) plot::$0) ← (byte~) plot::$1 [ ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:2::lines:12::line:21::line_xdyi:35::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_xdyi:80::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_ydxd:56::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_xdyd:50::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:2::lines:12::line:21::line_xdyd:66::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ) always clobbers reg byte y 
Statement [110] (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::e#0 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::e#0 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::e#0 ] ) always clobbers reg byte a 
Statement [116] (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#2 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] ) always clobbers reg byte a 
Statement [119] (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#5 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#2 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#2 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#2 ] ) always clobbers reg byte a 
Statement [125] (byte) line_ydxd::e#0 ← (byte) line_ydxd::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] ) always clobbers reg byte a 
Statement [131] (byte) line_ydxd::e#1 ← (byte) line_ydxd::e#3 + (byte) line_ydxd::xd#2 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#1 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#1 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#1 ] ) always clobbers reg byte a 
Statement [134] (byte) line_ydxd::e#2 ← (byte) line_ydxd::e#1 - (byte) line_ydxd::yd#5 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#3 line_ydxd::x#2 line_ydxd::e#2 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#3 line_ydxd::x#2 line_ydxd::e#2 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#3 line_ydxd::x#2 line_ydxd::e#2 ] ) always clobbers reg byte a 
Statement [140] (byte) line_xdyd::e#0 ← (byte) line_xdyd::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::e#0 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::e#0 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::e#0 ] ) always clobbers reg byte a 
Statement [146] (byte) line_xdyd::e#1 ← (byte) line_xdyd::e#3 + (byte) line_xdyd::yd#2 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] ) always clobbers reg byte a 
Statement [149] (byte) line_xdyd::e#2 ← (byte) line_xdyd::e#1 - (byte) line_xdyd::xd#5 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#2 line_xdyd::e#2 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#2 line_xdyd::e#2 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#2 line_xdyd::e#2 ] ) always clobbers reg byte a 
Statement [156] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte/word/signed word/dword/signed dword) 248 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ) always clobbers reg byte a 
Statement [158] *((const byte[256]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) always clobbers reg byte a 
Statement [159] *((const byte[256]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) always clobbers reg byte a 
Statement [166] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ) always clobbers reg byte a 
Statement [172] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ) always clobbers reg byte a 
Statement [174] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 8 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ) always clobbers reg byte a 
Statement [182] *((byte*) init_screen::b#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ init_screen::b#2 ] ( main:2::init_screen:8 [ init_screen::b#2 ] ) always clobbers reg byte a reg byte y 
Statement [184] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word/signed word/dword/signed dword) 8192) goto init_screen::@1 [ init_screen::b#1 ] ( main:2::init_screen:8 [ init_screen::b#1 ] ) always clobbers reg byte a 
Statement [186] *((byte*) init_screen::c#2) ← (byte/signed byte/word/signed word/dword/signed dword) 20 [ init_screen::c#2 ] ( main:2::init_screen:8 [ init_screen::c#2 ] ) always clobbers reg byte a reg byte y 
Statement [188] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word/signed word/dword/signed dword) 1024) goto init_screen::@2 [ init_screen::c#1 ] ( main:2::init_screen:8 [ init_screen::c#1 ] ) always clobbers reg byte a 
Potential registers zp ZP_BYTE:2 [ lines::l#2 lines::l#1 ] : zp ZP_BYTE:2 , reg byte x , 
Potential registers zp ZP_BYTE:3 [ line_ydxi::xd#2 line_ydxi::xd#1 line_ydxi::xd#0 ] : zp ZP_BYTE:3 , reg byte x , 
Potential registers zp ZP_BYTE:4 [ line_ydxi::yd#5 line_ydxi::yd#1 line_ydxi::yd#0 ] : zp ZP_BYTE:4 , reg byte x , 
Potential registers zp ZP_BYTE:5 [ line_ydxi::y1#6 line_ydxi::y1#1 line_ydxi::y1#0 ] : zp ZP_BYTE:5 , reg byte x , 
Potential registers zp ZP_BYTE:6 [ line_ydxi::x#3 line_ydxi::x#5 line_ydxi::x#1 line_ydxi::x#0 line_ydxi::x#6 line_ydxi::x#2 ] : zp ZP_BYTE:6 , reg byte x , 
Potential registers zp ZP_BYTE:7 [ line_ydxi::y#3 line_ydxi::y#6 line_ydxi::y#1 line_ydxi::y#0 line_ydxi::y#2 ] : zp ZP_BYTE:7 , reg byte x , 
Potential registers zp ZP_BYTE:8 [ line_ydxi::e#3 line_ydxi::e#0 line_ydxi::e#6 line_ydxi::e#2 line_ydxi::e#1 ] : zp ZP_BYTE:8 , reg byte x , 
Potential registers zp ZP_BYTE:9 [ plot::x#4 plot::x#1 plot::x#0 plot::x#3 plot::x#2 ] : zp ZP_BYTE:9 , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:10 [ plot::y#4 plot::y#1 plot::y#0 plot::y#3 plot::y#2 ] : zp ZP_BYTE:10 , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:11 [ line_xdyi::yd#2 line_xdyi::yd#0 line_xdyi::yd#1 ] : zp ZP_BYTE:11 , reg byte x , 
Potential registers zp ZP_BYTE:12 [ line_xdyi::xd#5 line_xdyi::xd#0 line_xdyi::xd#1 ] : zp ZP_BYTE:12 , reg byte x , 
Potential registers zp ZP_BYTE:13 [ line_xdyi::x1#6 line_xdyi::x1#0 line_xdyi::x1#1 ] : zp ZP_BYTE:13 , reg byte x , 
Potential registers zp ZP_BYTE:14 [ line_xdyi::x#3 line_xdyi::x#6 line_xdyi::x#0 line_xdyi::x#1 line_xdyi::x#2 ] : zp ZP_BYTE:14 , reg byte x , 
Potential registers zp ZP_BYTE:15 [ line_xdyi::y#3 line_xdyi::y#5 line_xdyi::y#0 line_xdyi::y#1 line_xdyi::y#6 line_xdyi::y#2 ] : zp ZP_BYTE:15 , reg byte x , 
Potential registers zp ZP_BYTE:16 [ line_xdyi::e#3 line_xdyi::e#0 line_xdyi::e#6 line_xdyi::e#2 line_xdyi::e#1 ] : zp ZP_BYTE:16 , reg byte x , 
Potential registers zp ZP_BYTE:17 [ line_ydxd::xd#2 line_ydxd::xd#1 line_ydxd::xd#0 ] : zp ZP_BYTE:17 , reg byte x , 
Potential registers zp ZP_BYTE:18 [ line_ydxd::yd#5 line_ydxd::yd#1 line_ydxd::yd#0 ] : zp ZP_BYTE:18 , reg byte x , 
Potential registers zp ZP_BYTE:19 [ line_ydxd::y1#6 line_ydxd::y1#1 line_ydxd::y1#0 ] : zp ZP_BYTE:19 , reg byte x , 
Potential registers zp ZP_BYTE:20 [ line_ydxd::x#3 line_ydxd::x#5 line_ydxd::x#1 line_ydxd::x#0 line_ydxd::x#6 line_ydxd::x#2 ] : zp ZP_BYTE:20 , reg byte x , 
Potential registers zp ZP_BYTE:21 [ line_ydxd::y#2 line_ydxd::y#7 line_ydxd::y#1 line_ydxd::y#0 line_ydxd::y#3 ] : zp ZP_BYTE:21 , reg byte x , 
Potential registers zp ZP_BYTE:22 [ line_ydxd::e#3 line_ydxd::e#0 line_ydxd::e#6 line_ydxd::e#2 line_ydxd::e#1 ] : zp ZP_BYTE:22 , reg byte x , 
Potential registers zp ZP_BYTE:23 [ line_xdyd::yd#2 line_xdyd::yd#0 line_xdyd::yd#1 ] : zp ZP_BYTE:23 , reg byte x , 
Potential registers zp ZP_BYTE:24 [ line_xdyd::xd#5 line_xdyd::xd#0 line_xdyd::xd#1 ] : zp ZP_BYTE:24 , reg byte x , 
Potential registers zp ZP_BYTE:25 [ line_xdyd::x1#6 line_xdyd::x1#0 line_xdyd::x1#1 ] : zp ZP_BYTE:25 , reg byte x , 
Potential registers zp ZP_BYTE:26 [ line_xdyd::x#3 line_xdyd::x#6 line_xdyd::x#0 line_xdyd::x#1 line_xdyd::x#2 ] : zp ZP_BYTE:26 , reg byte x , 
Potential registers zp ZP_BYTE:27 [ line_xdyd::y#3 line_xdyd::y#5 line_xdyd::y#0 line_xdyd::y#1 line_xdyd::y#6 line_xdyd::y#2 ] : zp ZP_BYTE:27 , reg byte x , 
Potential registers zp ZP_BYTE:28 [ line_xdyd::e#3 line_xdyd::e#0 line_xdyd::e#6 line_xdyd::e#2 line_xdyd::e#1 ] : zp ZP_BYTE:28 , reg byte x , 
Potential registers zp ZP_BYTE:29 [ init_plot_tables::x#2 init_plot_tables::x#1 ] : zp ZP_BYTE:29 , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:30 [ init_plot_tables::bits#3 init_plot_tables::bits#4 init_plot_tables::bits#1 ] : zp ZP_BYTE:30 , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:31 [ init_plot_tables::y#2 init_plot_tables::y#1 ] : zp ZP_BYTE:31 , reg byte x , reg byte y , 
Potential registers zp ZP_WORD:32 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 ] : zp ZP_WORD:32 , 
Potential registers zp ZP_WORD:34 [ init_screen::b#2 init_screen::b#1 ] : zp ZP_WORD:34 , 
Potential registers zp ZP_WORD:36 [ init_screen::c#2 init_screen::c#1 ] : zp ZP_WORD:36 , 
Potential registers zp ZP_BYTE:38 [ line::x0#0 ] : zp ZP_BYTE:38 , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:39 [ line::x1#0 ] : zp ZP_BYTE:39 , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:40 [ line::y0#0 ] : zp ZP_BYTE:40 , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:41 [ line::y1#0 ] : zp ZP_BYTE:41 , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:42 [ line::xd#1 ] : zp ZP_BYTE:42 , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:43 [ line::yd#1 ] : zp ZP_BYTE:43 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:44 [ line::yd#0 ] : zp ZP_BYTE:44 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:45 [ line::xd#0 ] : zp ZP_BYTE:45 , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:46 [ line::yd#3 ] : zp ZP_BYTE:46 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:47 [ line::yd#10 ] : zp ZP_BYTE:47 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:48 [ line_ydxi::$6 ] : zp ZP_BYTE:48 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_WORD:49 [ plot::plotter_x#0 ] : zp ZP_WORD:49 , 
Potential registers zp ZP_WORD:51 [ plot::plotter_y#0 ] : zp ZP_WORD:51 , 
Potential registers zp ZP_WORD:53 [ plot::$0 ] : zp ZP_WORD:53 , 
Potential registers zp ZP_BYTE:55 [ plot::$1 ] : zp ZP_BYTE:55 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:56 [ line_xdyi::$6 ] : zp ZP_BYTE:56 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:57 [ line_ydxd::$6 ] : zp ZP_BYTE:57 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:58 [ line_xdyd::$6 ] : zp ZP_BYTE:58 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:59 [ init_plot_tables::$0 ] : zp ZP_BYTE:59 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:60 [ init_plot_tables::$6 ] : zp ZP_BYTE:60 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:61 [ init_plot_tables::$7 ] : zp ZP_BYTE:61 , reg byte a , reg byte x , reg byte y , reg byte alu , 
Potential registers zp ZP_BYTE:62 [ init_plot_tables::$8 ] : zp ZP_BYTE:62 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:63 [ init_plot_tables::$9 ] : zp ZP_BYTE:63 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:64 [ init_plot_tables::$10 ] : zp ZP_BYTE:64 , reg byte a , reg byte x , reg byte y , 

REGISTER UPLIFT SCOPES
Uplift Scope [plot] 10,012: zp ZP_BYTE:10 [ plot::y#4 plot::y#1 plot::y#0 plot::y#3 plot::y#2 ] 5,006.5: zp ZP_BYTE:9 [ plot::x#4 plot::x#1 plot::x#0 plot::x#3 plot::x#2 ] 4: zp ZP_WORD:51 [ plot::plotter_y#0 ] 4: zp ZP_BYTE:55 [ plot::$1 ] 2: zp ZP_WORD:49 [ plot::plotter_x#0 ] 1: zp ZP_WORD:53 [ plot::$0 ] 
Uplift Scope [line_xdyi] 4,742.47: zp ZP_BYTE:16 [ line_xdyi::e#3 line_xdyi::e#0 line_xdyi::e#6 line_xdyi::e#2 line_xdyi::e#1 ] 2,579.29: zp ZP_BYTE:15 [ line_xdyi::y#3 line_xdyi::y#5 line_xdyi::y#0 line_xdyi::y#1 line_xdyi::y#6 line_xdyi::y#2 ] 2,002: zp ZP_BYTE:56 [ line_xdyi::$6 ] 1,131.22: zp ZP_BYTE:14 [ line_xdyi::x#3 line_xdyi::x#6 line_xdyi::x#0 line_xdyi::x#1 line_xdyi::x#2 ] 147.29: zp ZP_BYTE:12 [ line_xdyi::xd#5 line_xdyi::xd#0 line_xdyi::xd#1 ] 79.93: zp ZP_BYTE:11 [ line_xdyi::yd#2 line_xdyi::yd#0 line_xdyi::yd#1 ] 74.45: zp ZP_BYTE:13 [ line_xdyi::x1#6 line_xdyi::x1#0 line_xdyi::x1#1 ] 
Uplift Scope [line_xdyd] 4,742.47: zp ZP_BYTE:28 [ line_xdyd::e#3 line_xdyd::e#0 line_xdyd::e#6 line_xdyd::e#2 line_xdyd::e#1 ] 2,579.29: zp ZP_BYTE:27 [ line_xdyd::y#3 line_xdyd::y#5 line_xdyd::y#0 line_xdyd::y#1 line_xdyd::y#6 line_xdyd::y#2 ] 2,002: zp ZP_BYTE:58 [ line_xdyd::$6 ] 1,131.22: zp ZP_BYTE:26 [ line_xdyd::x#3 line_xdyd::x#6 line_xdyd::x#0 line_xdyd::x#1 line_xdyd::x#2 ] 147.29: zp ZP_BYTE:24 [ line_xdyd::xd#5 line_xdyd::xd#0 line_xdyd::xd#1 ] 79.93: zp ZP_BYTE:23 [ line_xdyd::yd#2 line_xdyd::yd#0 line_xdyd::yd#1 ] 74.45: zp ZP_BYTE:25 [ line_xdyd::x1#6 line_xdyd::x1#0 line_xdyd::x1#1 ] 
Uplift Scope [line_ydxi] 4,742.47: zp ZP_BYTE:8 [ line_ydxi::e#3 line_ydxi::e#0 line_ydxi::e#6 line_ydxi::e#2 line_ydxi::e#1 ] 2,579.29: zp ZP_BYTE:6 [ line_ydxi::x#3 line_ydxi::x#5 line_ydxi::x#1 line_ydxi::x#0 line_ydxi::x#6 line_ydxi::x#2 ] 2,002: zp ZP_BYTE:48 [ line_ydxi::$6 ] 1,131.22: zp ZP_BYTE:7 [ line_ydxi::y#3 line_ydxi::y#6 line_ydxi::y#1 line_ydxi::y#0 line_ydxi::y#2 ] 147.29: zp ZP_BYTE:4 [ line_ydxi::yd#5 line_ydxi::yd#1 line_ydxi::yd#0 ] 79.93: zp ZP_BYTE:3 [ line_ydxi::xd#2 line_ydxi::xd#1 line_ydxi::xd#0 ] 74.45: zp ZP_BYTE:5 [ line_ydxi::y1#6 line_ydxi::y1#1 line_ydxi::y1#0 ] 
Uplift Scope [line_ydxd] 4,742.47: zp ZP_BYTE:22 [ line_ydxd::e#3 line_ydxd::e#0 line_ydxd::e#6 line_ydxd::e#2 line_ydxd::e#1 ] 2,579.29: zp ZP_BYTE:20 [ line_ydxd::x#3 line_ydxd::x#5 line_ydxd::x#1 line_ydxd::x#0 line_ydxd::x#6 line_ydxd::x#2 ] 2,002: zp ZP_BYTE:57 [ line_ydxd::$6 ] 1,131.22: zp ZP_BYTE:21 [ line_ydxd::y#2 line_ydxd::y#7 line_ydxd::y#1 line_ydxd::y#0 line_ydxd::y#3 ] 147.29: zp ZP_BYTE:18 [ line_ydxd::yd#5 line_ydxd::yd#1 line_ydxd::yd#0 ] 79.93: zp ZP_BYTE:17 [ line_ydxd::xd#2 line_ydxd::xd#1 line_ydxd::xd#0 ] 74.45: zp ZP_BYTE:19 [ line_ydxd::y1#6 line_ydxd::y1#1 line_ydxd::y1#0 ] 
Uplift Scope [lines] 252.5: zp ZP_BYTE:2 [ lines::l#2 lines::l#1 ] 
Uplift Scope [init_plot_tables] 39.11: zp ZP_WORD:32 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 ] 24.93: zp ZP_BYTE:30 [ init_plot_tables::bits#3 init_plot_tables::bits#4 init_plot_tables::bits#1 ] 23.83: zp ZP_BYTE:29 [ init_plot_tables::x#2 init_plot_tables::x#1 ] 22.5: zp ZP_BYTE:31 [ init_plot_tables::y#2 init_plot_tables::y#1 ] 22: zp ZP_BYTE:59 [ init_plot_tables::$0 ] 22: zp ZP_BYTE:61 [ init_plot_tables::$7 ] 22: zp ZP_BYTE:62 [ init_plot_tables::$8 ] 22: zp ZP_BYTE:63 [ init_plot_tables::$9 ] 22: zp ZP_BYTE:64 [ init_plot_tables::$10 ] 11: zp ZP_BYTE:60 [ init_plot_tables::$6 ] 
Uplift Scope [init_screen] 33: zp ZP_WORD:34 [ init_screen::b#2 init_screen::b#1 ] 33: zp ZP_WORD:36 [ init_screen::c#2 init_screen::c#1 ] 
Uplift Scope [line] 6.25: zp ZP_BYTE:41 [ line::y1#0 ] 5.95: zp ZP_BYTE:40 [ line::y0#0 ] 5.41: zp ZP_BYTE:39 [ line::x1#0 ] 5.17: zp ZP_BYTE:38 [ line::x0#0 ] 0.89: zp ZP_BYTE:43 [ line::yd#1 ] 0.89: zp ZP_BYTE:44 [ line::yd#0 ] 0.89: zp ZP_BYTE:46 [ line::yd#3 ] 0.89: zp ZP_BYTE:47 [ line::yd#10 ] 0.7: zp ZP_BYTE:42 [ line::xd#1 ] 0.7: zp ZP_BYTE:45 [ line::xd#0 ] 
Uplift Scope [main] 
Uplift Scope [] 

Uplifting [plot] best 311816 combination reg byte y [ plot::y#4 plot::y#1 plot::y#0 plot::y#3 plot::y#2 ] reg byte x [ plot::x#4 plot::x#1 plot::x#0 plot::x#3 plot::x#2 ] zp ZP_WORD:51 [ plot::plotter_y#0 ] reg byte a [ plot::$1 ] zp ZP_WORD:49 [ plot::plotter_x#0 ] zp ZP_WORD:53 [ plot::$0 ] 
Uplifting [line_xdyi] best 302810 combination zp ZP_BYTE:16 [ line_xdyi::e#3 line_xdyi::e#0 line_xdyi::e#6 line_xdyi::e#2 line_xdyi::e#1 ] zp ZP_BYTE:15 [ line_xdyi::y#3 line_xdyi::y#5 line_xdyi::y#0 line_xdyi::y#1 line_xdyi::y#6 line_xdyi::y#2 ] zp ZP_BYTE:56 [ line_xdyi::$6 ] reg byte x [ line_xdyi::x#3 line_xdyi::x#6 line_xdyi::x#0 line_xdyi::x#1 line_xdyi::x#2 ] zp ZP_BYTE:12 [ line_xdyi::xd#5 line_xdyi::xd#0 line_xdyi::xd#1 ] zp ZP_BYTE:11 [ line_xdyi::yd#2 line_xdyi::yd#0 line_xdyi::yd#1 ] zp ZP_BYTE:13 [ line_xdyi::x1#6 line_xdyi::x1#0 line_xdyi::x1#1 ] 
Uplifting [line_xdyd] best 293804 combination zp ZP_BYTE:28 [ line_xdyd::e#3 line_xdyd::e#0 line_xdyd::e#6 line_xdyd::e#2 line_xdyd::e#1 ] zp ZP_BYTE:27 [ line_xdyd::y#3 line_xdyd::y#5 line_xdyd::y#0 line_xdyd::y#1 line_xdyd::y#6 line_xdyd::y#2 ] zp ZP_BYTE:58 [ line_xdyd::$6 ] reg byte x [ line_xdyd::x#3 line_xdyd::x#6 line_xdyd::x#0 line_xdyd::x#1 line_xdyd::x#2 ] zp ZP_BYTE:24 [ line_xdyd::xd#5 line_xdyd::xd#0 line_xdyd::xd#1 ] zp ZP_BYTE:23 [ line_xdyd::yd#2 line_xdyd::yd#0 line_xdyd::yd#1 ] zp ZP_BYTE:25 [ line_xdyd::x1#6 line_xdyd::x1#0 line_xdyd::x1#1 ] 
Uplifting [line_ydxi] best 281798 combination zp ZP_BYTE:8 [ line_ydxi::e#3 line_ydxi::e#0 line_ydxi::e#6 line_ydxi::e#2 line_ydxi::e#1 ] reg byte x [ line_ydxi::x#3 line_ydxi::x#5 line_ydxi::x#1 line_ydxi::x#0 line_ydxi::x#6 line_ydxi::x#2 ] reg byte y [ line_ydxi::$6 ] zp ZP_BYTE:7 [ line_ydxi::y#3 line_ydxi::y#6 line_ydxi::y#1 line_ydxi::y#0 line_ydxi::y#2 ] zp ZP_BYTE:4 [ line_ydxi::yd#5 line_ydxi::yd#1 line_ydxi::yd#0 ] zp ZP_BYTE:3 [ line_ydxi::xd#2 line_ydxi::xd#1 line_ydxi::xd#0 ] zp ZP_BYTE:5 [ line_ydxi::y1#6 line_ydxi::y1#1 line_ydxi::y1#0 ] 
Uplifting [line_ydxd] best 269792 combination zp ZP_BYTE:22 [ line_ydxd::e#3 line_ydxd::e#0 line_ydxd::e#6 line_ydxd::e#2 line_ydxd::e#1 ] reg byte x [ line_ydxd::x#3 line_ydxd::x#5 line_ydxd::x#1 line_ydxd::x#0 line_ydxd::x#6 line_ydxd::x#2 ] reg byte y [ line_ydxd::$6 ] zp ZP_BYTE:21 [ line_ydxd::y#2 line_ydxd::y#7 line_ydxd::y#1 line_ydxd::y#0 line_ydxd::y#3 ] zp ZP_BYTE:18 [ line_ydxd::yd#5 line_ydxd::yd#1 line_ydxd::yd#0 ] zp ZP_BYTE:17 [ line_ydxd::xd#2 line_ydxd::xd#1 line_ydxd::xd#0 ] zp ZP_BYTE:19 [ line_ydxd::y1#6 line_ydxd::y1#1 line_ydxd::y1#0 ] 
Uplifting [lines] best 269792 combination zp ZP_BYTE:2 [ lines::l#2 lines::l#1 ] 
Uplift attempts [init_plot_tables] 10000/138240 (limiting to 10000)
Uplifting [init_plot_tables] best 269162 combination zp ZP_WORD:32 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 ] reg byte y [ init_plot_tables::bits#3 init_plot_tables::bits#4 init_plot_tables::bits#1 ] reg byte x [ init_plot_tables::x#2 init_plot_tables::x#1 ] reg byte x [ init_plot_tables::y#2 init_plot_tables::y#1 ] reg byte a [ init_plot_tables::$0 ] reg byte a [ init_plot_tables::$7 ] reg byte a [ init_plot_tables::$8 ] reg byte a [ init_plot_tables::$9 ] zp ZP_BYTE:64 [ init_plot_tables::$10 ] zp ZP_BYTE:60 [ init_plot_tables::$6 ] 
Limited combination testing to 10000 combinations of 138240 possible.
Uplifting [init_screen] best 269162 combination zp ZP_WORD:34 [ init_screen::b#2 init_screen::b#1 ] zp ZP_WORD:36 [ init_screen::c#2 init_screen::c#1 ] 
Uplift attempts [line] 10000/186624 (limiting to 10000)
Uplifting [line] best 268850 combination reg byte y [ line::y1#0 ] zp ZP_BYTE:40 [ line::y0#0 ] zp ZP_BYTE:39 [ line::x1#0 ] zp ZP_BYTE:38 [ line::x0#0 ] zp ZP_BYTE:43 [ line::yd#1 ] zp ZP_BYTE:44 [ line::yd#0 ] zp ZP_BYTE:46 [ line::yd#3 ] zp ZP_BYTE:47 [ line::yd#10 ] zp ZP_BYTE:42 [ line::xd#1 ] zp ZP_BYTE:45 [ line::xd#0 ] 
Limited combination testing to 10000 combinations of 186624 possible.
Uplifting [main] best 268850 combination 
Uplifting [] best 268850 combination 
Attempting to uplift remaining variables inzp ZP_BYTE:8 [ line_ydxi::e#3 line_ydxi::e#0 line_ydxi::e#6 line_ydxi::e#2 line_ydxi::e#1 ]
Uplifting [line_ydxi] best 268850 combination zp ZP_BYTE:8 [ line_ydxi::e#3 line_ydxi::e#0 line_ydxi::e#6 line_ydxi::e#2 line_ydxi::e#1 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:16 [ line_xdyi::e#3 line_xdyi::e#0 line_xdyi::e#6 line_xdyi::e#2 line_xdyi::e#1 ]
Uplifting [line_xdyi] best 268850 combination zp ZP_BYTE:16 [ line_xdyi::e#3 line_xdyi::e#0 line_xdyi::e#6 line_xdyi::e#2 line_xdyi::e#1 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:22 [ line_ydxd::e#3 line_ydxd::e#0 line_ydxd::e#6 line_ydxd::e#2 line_ydxd::e#1 ]
Uplifting [line_ydxd] best 268850 combination zp ZP_BYTE:22 [ line_ydxd::e#3 line_ydxd::e#0 line_ydxd::e#6 line_ydxd::e#2 line_ydxd::e#1 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:28 [ line_xdyd::e#3 line_xdyd::e#0 line_xdyd::e#6 line_xdyd::e#2 line_xdyd::e#1 ]
Uplifting [line_xdyd] best 268850 combination zp ZP_BYTE:28 [ line_xdyd::e#3 line_xdyd::e#0 line_xdyd::e#6 line_xdyd::e#2 line_xdyd::e#1 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:15 [ line_xdyi::y#3 line_xdyi::y#5 line_xdyi::y#0 line_xdyi::y#1 line_xdyi::y#6 line_xdyi::y#2 ]
Uplifting [line_xdyi] best 268850 combination zp ZP_BYTE:15 [ line_xdyi::y#3 line_xdyi::y#5 line_xdyi::y#0 line_xdyi::y#1 line_xdyi::y#6 line_xdyi::y#2 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:27 [ line_xdyd::y#3 line_xdyd::y#5 line_xdyd::y#0 line_xdyd::y#1 line_xdyd::y#6 line_xdyd::y#2 ]
Uplifting [line_xdyd] best 268850 combination zp ZP_BYTE:27 [ line_xdyd::y#3 line_xdyd::y#5 line_xdyd::y#0 line_xdyd::y#1 line_xdyd::y#6 line_xdyd::y#2 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:56 [ line_xdyi::$6 ]
Uplifting [line_xdyi] best 268850 combination zp ZP_BYTE:56 [ line_xdyi::$6 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:58 [ line_xdyd::$6 ]
Uplifting [line_xdyd] best 268850 combination zp ZP_BYTE:58 [ line_xdyd::$6 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:7 [ line_ydxi::y#3 line_ydxi::y#6 line_ydxi::y#1 line_ydxi::y#0 line_ydxi::y#2 ]
Uplifting [line_ydxi] best 268850 combination zp ZP_BYTE:7 [ line_ydxi::y#3 line_ydxi::y#6 line_ydxi::y#1 line_ydxi::y#0 line_ydxi::y#2 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:21 [ line_ydxd::y#2 line_ydxd::y#7 line_ydxd::y#1 line_ydxd::y#0 line_ydxd::y#3 ]
Uplifting [line_ydxd] best 268850 combination zp ZP_BYTE:21 [ line_ydxd::y#2 line_ydxd::y#7 line_ydxd::y#1 line_ydxd::y#0 line_ydxd::y#3 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:2 [ lines::l#2 lines::l#1 ]
Uplifting [lines] best 268850 combination zp ZP_BYTE:2 [ lines::l#2 lines::l#1 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:4 [ line_ydxi::yd#5 line_ydxi::yd#1 line_ydxi::yd#0 ]
Uplifting [line_ydxi] best 268850 combination zp ZP_BYTE:4 [ line_ydxi::yd#5 line_ydxi::yd#1 line_ydxi::yd#0 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:12 [ line_xdyi::xd#5 line_xdyi::xd#0 line_xdyi::xd#1 ]
Uplifting [line_xdyi] best 268850 combination zp ZP_BYTE:12 [ line_xdyi::xd#5 line_xdyi::xd#0 line_xdyi::xd#1 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:18 [ line_ydxd::yd#5 line_ydxd::yd#1 line_ydxd::yd#0 ]
Uplifting [line_ydxd] best 268850 combination zp ZP_BYTE:18 [ line_ydxd::yd#5 line_ydxd::yd#1 line_ydxd::yd#0 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:24 [ line_xdyd::xd#5 line_xdyd::xd#0 line_xdyd::xd#1 ]
Uplifting [line_xdyd] best 268850 combination zp ZP_BYTE:24 [ line_xdyd::xd#5 line_xdyd::xd#0 line_xdyd::xd#1 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:3 [ line_ydxi::xd#2 line_ydxi::xd#1 line_ydxi::xd#0 ]
Uplifting [line_ydxi] best 268850 combination zp ZP_BYTE:3 [ line_ydxi::xd#2 line_ydxi::xd#1 line_ydxi::xd#0 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:11 [ line_xdyi::yd#2 line_xdyi::yd#0 line_xdyi::yd#1 ]
Uplifting [line_xdyi] best 268850 combination zp ZP_BYTE:11 [ line_xdyi::yd#2 line_xdyi::yd#0 line_xdyi::yd#1 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:17 [ line_ydxd::xd#2 line_ydxd::xd#1 line_ydxd::xd#0 ]
Uplifting [line_ydxd] best 268850 combination zp ZP_BYTE:17 [ line_ydxd::xd#2 line_ydxd::xd#1 line_ydxd::xd#0 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:23 [ line_xdyd::yd#2 line_xdyd::yd#0 line_xdyd::yd#1 ]
Uplifting [line_xdyd] best 268850 combination zp ZP_BYTE:23 [ line_xdyd::yd#2 line_xdyd::yd#0 line_xdyd::yd#1 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:5 [ line_ydxi::y1#6 line_ydxi::y1#1 line_ydxi::y1#0 ]
Uplifting [line_ydxi] best 268850 combination zp ZP_BYTE:5 [ line_ydxi::y1#6 line_ydxi::y1#1 line_ydxi::y1#0 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:13 [ line_xdyi::x1#6 line_xdyi::x1#0 line_xdyi::x1#1 ]
Uplifting [line_xdyi] best 268850 combination zp ZP_BYTE:13 [ line_xdyi::x1#6 line_xdyi::x1#0 line_xdyi::x1#1 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:19 [ line_ydxd::y1#6 line_ydxd::y1#1 line_ydxd::y1#0 ]
Uplifting [line_ydxd] best 268850 combination zp ZP_BYTE:19 [ line_ydxd::y1#6 line_ydxd::y1#1 line_ydxd::y1#0 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:25 [ line_xdyd::x1#6 line_xdyd::x1#0 line_xdyd::x1#1 ]
Uplifting [line_xdyd] best 268850 combination zp ZP_BYTE:25 [ line_xdyd::x1#6 line_xdyd::x1#0 line_xdyd::x1#1 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:64 [ init_plot_tables::$10 ]
Uplifting [init_plot_tables] best 268790 combination reg byte a [ init_plot_tables::$10 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:60 [ init_plot_tables::$6 ]
Uplifting [init_plot_tables] best 268790 combination zp ZP_BYTE:60 [ init_plot_tables::$6 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:40 [ line::y0#0 ]
Uplifting [line] best 268790 combination zp ZP_BYTE:40 [ line::y0#0 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:39 [ line::x1#0 ]
Uplifting [line] best 268790 combination zp ZP_BYTE:39 [ line::x1#0 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:38 [ line::x0#0 ]
Uplifting [line] best 268790 combination zp ZP_BYTE:38 [ line::x0#0 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:43 [ line::yd#1 ]
Uplifting [line] best 268790 combination zp ZP_BYTE:43 [ line::yd#1 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:44 [ line::yd#0 ]
Uplifting [line] best 268790 combination zp ZP_BYTE:44 [ line::yd#0 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:46 [ line::yd#3 ]
Uplifting [line] best 268790 combination zp ZP_BYTE:46 [ line::yd#3 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:47 [ line::yd#10 ]
Uplifting [line] best 268790 combination zp ZP_BYTE:47 [ line::yd#10 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:42 [ line::xd#1 ]
Uplifting [line] best 268790 combination zp ZP_BYTE:42 [ line::xd#1 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:45 [ line::xd#0 ]
Uplifting [line] best 268790 combination zp ZP_BYTE:45 [ line::xd#0 ] 
Coalescing zero page register [ zp ZP_BYTE:3 [ line_ydxi::xd#2 line_ydxi::xd#1 line_ydxi::xd#0 ] ] with [ zp ZP_BYTE:42 [ line::xd#1 ] ]
Coalescing zero page register [ zp ZP_BYTE:3 [ line_ydxi::xd#2 line_ydxi::xd#1 line_ydxi::xd#0 line::xd#1 ] ] with [ zp ZP_BYTE:12 [ line_xdyi::xd#5 line_xdyi::xd#0 line_xdyi::xd#1 ] ]
Coalescing zero page register [ zp ZP_BYTE:3 [ line_ydxi::xd#2 line_ydxi::xd#1 line_ydxi::xd#0 line::xd#1 line_xdyi::xd#5 line_xdyi::xd#0 line_xdyi::xd#1 ] ] with [ zp ZP_BYTE:45 [ line::xd#0 ] ]
Coalescing zero page register [ zp ZP_BYTE:3 [ line_ydxi::xd#2 line_ydxi::xd#1 line_ydxi::xd#0 line::xd#1 line_xdyi::xd#5 line_xdyi::xd#0 line_xdyi::xd#1 line::xd#0 ] ] with [ zp ZP_BYTE:17 [ line_ydxd::xd#2 line_ydxd::xd#1 line_ydxd::xd#0 ] ]
Coalescing zero page register [ zp ZP_BYTE:3 [ line_ydxi::xd#2 line_ydxi::xd#1 line_ydxi::xd#0 line::xd#1 line_xdyi::xd#5 line_xdyi::xd#0 line_xdyi::xd#1 line::xd#0 line_ydxd::xd#2 line_ydxd::xd#1 line_ydxd::xd#0 ] ] with [ zp ZP_BYTE:24 [ line_xdyd::xd#5 line_xdyd::xd#0 line_xdyd::xd#1 ] ]
Coalescing zero page register [ zp ZP_BYTE:4 [ line_ydxi::yd#5 line_ydxi::yd#1 line_ydxi::yd#0 ] ] with [ zp ZP_BYTE:43 [ line::yd#1 ] ]
Coalescing zero page register [ zp ZP_BYTE:4 [ line_ydxi::yd#5 line_ydxi::yd#1 line_ydxi::yd#0 line::yd#1 ] ] with [ zp ZP_BYTE:11 [ line_xdyi::yd#2 line_xdyi::yd#0 line_xdyi::yd#1 ] ]
Coalescing zero page register [ zp ZP_BYTE:4 [ line_ydxi::yd#5 line_ydxi::yd#1 line_ydxi::yd#0 line::yd#1 line_xdyi::yd#2 line_xdyi::yd#0 line_xdyi::yd#1 ] ] with [ zp ZP_BYTE:47 [ line::yd#10 ] ]
Coalescing zero page register [ zp ZP_BYTE:5 [ line_ydxi::y1#6 line_ydxi::y1#1 line_ydxi::y1#0 ] ] with [ zp ZP_BYTE:40 [ line::y0#0 ] ]
Coalescing zero page register [ zp ZP_BYTE:5 [ line_ydxi::y1#6 line_ydxi::y1#1 line_ydxi::y1#0 line::y0#0 ] ] with [ zp ZP_BYTE:15 [ line_xdyi::y#3 line_xdyi::y#5 line_xdyi::y#0 line_xdyi::y#1 line_xdyi::y#6 line_xdyi::y#2 ] ]
Coalescing zero page register [ zp ZP_BYTE:5 [ line_ydxi::y1#6 line_ydxi::y1#1 line_ydxi::y1#0 line::y0#0 line_xdyi::y#3 line_xdyi::y#5 line_xdyi::y#0 line_xdyi::y#1 line_xdyi::y#6 line_xdyi::y#2 ] ] with [ zp ZP_BYTE:19 [ line_ydxd::y1#6 line_ydxd::y1#1 line_ydxd::y1#0 ] ]
Coalescing zero page register [ zp ZP_BYTE:5 [ line_ydxi::y1#6 line_ydxi::y1#1 line_ydxi::y1#0 line::y0#0 line_xdyi::y#3 line_xdyi::y#5 line_xdyi::y#0 line_xdyi::y#1 line_xdyi::y#6 line_xdyi::y#2 line_ydxd::y1#6 line_ydxd::y1#1 line_ydxd::y1#0 ] ] with [ zp ZP_BYTE:27 [ line_xdyd::y#3 line_xdyd::y#5 line_xdyd::y#0 line_xdyd::y#1 line_xdyd::y#6 line_xdyd::y#2 ] ]
Coalescing zero page register [ zp ZP_BYTE:13 [ line_xdyi::x1#6 line_xdyi::x1#0 line_xdyi::x1#1 ] ] with [ zp ZP_BYTE:38 [ line::x0#0 ] ]
Coalescing zero page register [ zp ZP_BYTE:13 [ line_xdyi::x1#6 line_xdyi::x1#0 line_xdyi::x1#1 line::x0#0 ] ] with [ zp ZP_BYTE:25 [ line_xdyd::x1#6 line_xdyd::x1#0 line_xdyd::x1#1 ] ]
Coalescing zero page register [ zp ZP_BYTE:18 [ line_ydxd::yd#5 line_ydxd::yd#1 line_ydxd::yd#0 ] ] with [ zp ZP_BYTE:44 [ line::yd#0 ] ]
Coalescing zero page register [ zp ZP_BYTE:18 [ line_ydxd::yd#5 line_ydxd::yd#1 line_ydxd::yd#0 line::yd#0 ] ] with [ zp ZP_BYTE:23 [ line_xdyd::yd#2 line_xdyd::yd#0 line_xdyd::yd#1 ] ]
Coalescing zero page register [ zp ZP_BYTE:18 [ line_ydxd::yd#5 line_ydxd::yd#1 line_ydxd::yd#0 line::yd#0 line_xdyd::yd#2 line_xdyd::yd#0 line_xdyd::yd#1 ] ] with [ zp ZP_BYTE:46 [ line::yd#3 ] ]
Coalescing zero page register [ zp ZP_WORD:49 [ plot::plotter_x#0 ] ] with [ zp ZP_WORD:53 [ plot::$0 ] ]
Allocated (was zp ZP_BYTE:7) zp ZP_BYTE:6 [ line_ydxi::y#3 line_ydxi::y#6 line_ydxi::y#1 line_ydxi::y#0 line_ydxi::y#2 ]
Allocated (was zp ZP_BYTE:8) zp ZP_BYTE:7 [ line_ydxi::e#3 line_ydxi::e#0 line_ydxi::e#6 line_ydxi::e#2 line_ydxi::e#1 ]
Allocated (was zp ZP_BYTE:13) zp ZP_BYTE:8 [ line_xdyi::x1#6 line_xdyi::x1#0 line_xdyi::x1#1 line::x0#0 line_xdyd::x1#6 line_xdyd::x1#0 line_xdyd::x1#1 ]
Allocated (was zp ZP_BYTE:16) zp ZP_BYTE:9 [ line_xdyi::e#3 line_xdyi::e#0 line_xdyi::e#6 line_xdyi::e#2 line_xdyi::e#1 ]
Allocated (was zp ZP_BYTE:18) zp ZP_BYTE:10 [ line_ydxd::yd#5 line_ydxd::yd#1 line_ydxd::yd#0 line::yd#0 line_xdyd::yd#2 line_xdyd::yd#0 line_xdyd::yd#1 line::yd#3 ]
Allocated (was zp ZP_BYTE:21) zp ZP_BYTE:11 [ line_ydxd::y#2 line_ydxd::y#7 line_ydxd::y#1 line_ydxd::y#0 line_ydxd::y#3 ]
Allocated (was zp ZP_BYTE:22) zp ZP_BYTE:12 [ line_ydxd::e#3 line_ydxd::e#0 line_ydxd::e#6 line_ydxd::e#2 line_ydxd::e#1 ]
Allocated (was zp ZP_BYTE:28) zp ZP_BYTE:13 [ line_xdyd::e#3 line_xdyd::e#0 line_xdyd::e#6 line_xdyd::e#2 line_xdyd::e#1 ]
Allocated (was zp ZP_WORD:32) zp ZP_WORD:14 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 ]
Allocated (was zp ZP_WORD:34) zp ZP_WORD:16 [ init_screen::b#2 init_screen::b#1 ]
Allocated (was zp ZP_WORD:36) zp ZP_WORD:18 [ init_screen::c#2 init_screen::c#1 ]
Allocated (was zp ZP_BYTE:39) zp ZP_BYTE:20 [ line::x1#0 ]
Allocated (was zp ZP_WORD:49) zp ZP_WORD:21 [ plot::plotter_x#0 plot::$0 ]
Allocated (was zp ZP_WORD:51) zp ZP_WORD:23 [ plot::plotter_y#0 ]
Allocated (was zp ZP_BYTE:56) zp ZP_BYTE:25 [ line_xdyi::$6 ]
Allocated (was zp ZP_BYTE:58) zp ZP_BYTE:26 [ line_xdyd::$6 ]
Allocated (was zp ZP_BYTE:60) zp ZP_BYTE:27 [ init_plot_tables::$6 ]

ASSEMBLER BEFORE OPTIMIZATION
//SEG0 Basic Upstart
.pc = $801 "Basic"
:BasicUpstart(main)
.pc = $80d "Program"
//SEG1 Global Constants & labels
  .label BGCOL = $d020
  .label FGCOL = $d021
  .label D018 = $d018
  .label D011 = $d011
  .const BMM = $20
  .const DEN = $10
  .const RSEL = 8
  .label SCREEN = $400
  .label BITMAP = $2000
  .const lines_cnt = 8
//SEG2 @begin
bbegin:
//SEG3 [1] phi from @begin to @10 [phi:@begin->@10]
b10_from_bbegin:
  jmp b10
//SEG4 @10
b10:
//SEG5 [2] call main param-assignment [ ] ( )
  jsr main
//SEG6 [3] phi from @10 to @end [phi:@10->@end]
bend_from_b10:
  jmp bend
//SEG7 @end
bend:
//SEG8 main
main: {
  //SEG9 [4] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] ) -- _deref_pbuc1=vbuc2 
    lda #0
    sta BGCOL
  //SEG10 [5] *((const byte*) FGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] ) -- _deref_pbuc1=vbuc2 
    lda #0
    sta FGCOL
  //SEG11 [6] *((const byte*) D011#0) ← (const byte) BMM#0|(const byte) DEN#0|(const byte) RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 [ ] ( main:2 [ ] ) -- _deref_pbuc1=vbuc2 
    lda #BMM|DEN|RSEL|3
    sta D011
  //SEG12 [7] *((const byte*) D018#0) ← ((byte))((word))(const byte*) SCREEN#0/(byte/signed byte/word/signed word/dword/signed dword) 64|((word))(const byte*) BITMAP#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2 [ ] ) -- _deref_pbuc1=vbuc2 
    lda #$ff & ($ffff & SCREEN/$40|$ffff & BITMAP/$400)
    sta D018
  //SEG13 [8] call init_screen param-assignment [ ] ( main:2 [ ] )
  //SEG14 [180] phi from main to init_screen [phi:main->init_screen]
  init_screen_from_main:
    jsr init_screen
  //SEG15 [9] phi from main to main::@3 [phi:main->main::@3]
  b3_from_main:
    jmp b3
  //SEG16 main::@3
  b3:
  //SEG17 [10] call init_plot_tables param-assignment [ ] ( main:2 [ ] )
  //SEG18 [154] phi from main::@3 to init_plot_tables [phi:main::@3->init_plot_tables]
  init_plot_tables_from_b3:
    jsr init_plot_tables
  //SEG19 [11] phi from main::@3 main::@5 to main::@1 [phi:main::@3/main::@5->main::@1]
  b1_from_b3:
  b1_from_b5:
    jmp b1
  //SEG20 main::@1
  b1:
  //SEG21 [12] call lines param-assignment [ ] ( main:2 [ ] )
  //SEG22 [15] phi from main::@1 to lines [phi:main::@1->lines]
  lines_from_b1:
    jsr lines
    jmp b5
  //SEG23 main::@5
  b5:
  //SEG24 [13] if(true) goto main::@1 [ ] ( main:2 [ ] ) -- true_then_la1 
    jmp b1_from_b5
    jmp breturn
  //SEG25 main::@return
  breturn:
  //SEG26 [14] return  [ ] ( main:2 [ ] )
    rts
}
//SEG27 lines
lines: {
    .label l = 2
  //SEG28 [16] phi from lines to lines::@1 [phi:lines->lines::@1]
  b1_from_lines:
  //SEG29 [16] phi (byte) lines::l#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:lines->lines::@1#0] -- vbuz1=vbuc1 
    lda #0
    sta l
    jmp b1
  //SEG30 [16] phi from lines::@3 to lines::@1 [phi:lines::@3->lines::@1]
  b1_from_b3:
  //SEG31 [16] phi (byte) lines::l#2 = (byte) lines::l#1 [phi:lines::@3->lines::@1#0] -- register_copy 
    jmp b1
  //SEG32 lines::@1
  b1:
  //SEG33 [17] (byte) line::x0#0 ← *((const byte[]) lines_x#0 + (byte) lines::l#2) [ lines::l#2 line::x0#0 ] ( main:2::lines:12 [ lines::l#2 line::x0#0 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy l
    lda lines_x,y
    sta line.x0
  //SEG34 [18] (byte) line::x1#0 ← *((const byte[]) lines_x#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) lines::l#2) [ lines::l#2 line::x0#0 line::x1#0 ] ( main:2::lines:12 [ lines::l#2 line::x0#0 line::x1#0 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy l
    lda lines_x+1,y
    sta line.x1
  //SEG35 [19] (byte) line::y0#0 ← *((const byte[]) lines_y#0 + (byte) lines::l#2) [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 ] ( main:2::lines:12 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy l
    lda lines_y,y
    sta line.y0
  //SEG36 [20] (byte) line::y1#0 ← *((const byte[]) lines_y#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) lines::l#2) [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] ( main:2::lines:12 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] ) -- vbuyy=pbuc1_derefidx_vbuz1 
    ldx l
    ldy lines_y+1,x
  //SEG37 [21] call line param-assignment [ lines::l#2 ] ( main:2::lines:12 [ lines::l#2 ] )
    jsr line
    jmp b3
  //SEG38 lines::@3
  b3:
  //SEG39 [22] (byte) lines::l#1 ← ++ (byte) lines::l#2 [ lines::l#1 ] ( main:2::lines:12 [ lines::l#1 ] ) -- vbuz1=_inc_vbuz1 
    inc l
  //SEG40 [23] if((byte) lines::l#1<(const byte) lines_cnt#0) goto lines::@1 [ lines::l#1 ] ( main:2::lines:12 [ lines::l#1 ] ) -- vbuz1_lt_vbuc1_then_la1 
    lda l
    cmp #lines_cnt
    bcc b1_from_b3
    jmp breturn
  //SEG41 lines::@return
  breturn:
  //SEG42 [24] return  [ ] ( main:2::lines:12 [ ] )
    rts
}
//SEG43 line
line: {
    .label x0 = 8
    .label x1 = $14
    .label y0 = 5
    .label xd = 3
    .label yd = $a
    .label yd_1 = 4
    .label yd_10 = 4
  //SEG44 [25] if((byte) line::x0#0>=(byte) line::x1#0) goto line::@1 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] ) -- vbuz1_ge_vbuz2_then_la1 
    lda x0
    cmp x1
    bcs b1
    jmp b15
  //SEG45 line::@15
  b15:
  //SEG46 [26] (byte) line::xd#1 ← (byte) line::x1#0 - (byte) line::x0#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 ] ) -- vbuz1=vbuz2_minus_vbuz3 
    lda x1
    sec
    sbc x0
    sta xd
  //SEG47 [27] if((byte) line::y0#0>=(byte) line::y1#0) goto line::@2 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 ] ) -- vbuz1_ge_vbuyy_then_la1 
    lda y0
    sty $ff
    cmp $ff
    bcs b2
    jmp b16
  //SEG48 line::@16
  b16:
  //SEG49 [28] (byte) line::yd#1 ← (byte) line::y1#0 - (byte) line::y0#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#1 ] ) -- vbuz1=vbuyy_minus_vbuz2 
    tya
    sec
    sbc y0
    sta yd_1
  //SEG50 [29] if((byte) line::yd#1>=(byte) line::xd#1) goto line::@3 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#1 ] ) -- vbuz1_ge_vbuz2_then_la1 
    lda yd_1
    cmp xd
    bcs b3
    jmp b17
  //SEG51 line::@17
  b17:
  //SEG52 [30] (byte) line_xdyi::x#0 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::xd#1 line::yd#1 line_xdyi::x#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x1#0 line::y0#0 line::xd#1 line::yd#1 line_xdyi::x#0 ] ) -- vbuxx=vbuz1 
    ldx x0
  //SEG53 [31] (byte) line_xdyi::y#0 ← (byte) line::y0#0 [ line::x1#0 line::xd#1 line::yd#1 line_xdyi::x#0 line_xdyi::y#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x1#0 line::xd#1 line::yd#1 line_xdyi::x#0 line_xdyi::y#0 ] )
    // (byte) line_xdyi::y#0 = (byte) line::y0#0  // register copy zp ZP_BYTE:5
  //SEG54 [32] (byte) line_xdyi::x1#0 ← (byte) line::x1#0 [ line::xd#1 line::yd#1 line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#1 line::yd#1 line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 ] ) -- vbuz1=vbuz2 
    lda x1
    sta line_xdyi.x1
  //SEG55 [33] (byte) line_xdyi::xd#0 ← (byte) line::xd#1 [ line::yd#1 line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::yd#1 line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 ] )
    // (byte) line_xdyi::xd#0 = (byte) line::xd#1  // register copy zp ZP_BYTE:3
  //SEG56 [34] (byte) line_xdyi::yd#0 ← (byte) line::yd#1 [ line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 ] )
    // (byte) line_xdyi::yd#0 = (byte) line::yd#1  // register copy zp ZP_BYTE:4
  //SEG57 [35] call line_xdyi param-assignment [ ] ( main:2::lines:12::line:21 [ lines::l#2 ] )
  //SEG58 [109] phi from line::@17 to line_xdyi [phi:line::@17->line_xdyi]
  line_xdyi_from_b17:
  //SEG59 [109] phi (byte) line_xdyi::x1#6 = (byte) line_xdyi::x1#0 [phi:line::@17->line_xdyi#0] -- register_copy 
  //SEG60 [109] phi (byte) line_xdyi::xd#5 = (byte) line_xdyi::xd#0 [phi:line::@17->line_xdyi#1] -- register_copy 
  //SEG61 [109] phi (byte) line_xdyi::y#5 = (byte) line_xdyi::y#0 [phi:line::@17->line_xdyi#2] -- register_copy 
  //SEG62 [109] phi (byte) line_xdyi::x#6 = (byte) line_xdyi::x#0 [phi:line::@17->line_xdyi#3] -- register_copy 
  //SEG63 [109] phi (byte) line_xdyi::yd#2 = (byte) line_xdyi::yd#0 [phi:line::@17->line_xdyi#4] -- register_copy 
    jsr line_xdyi
    jmp breturn
  //SEG64 line::@return
  breturn:
  //SEG65 [36] return  [ ] ( main:2::lines:12::line:21 [ lines::l#2 ] )
    rts
  //SEG66 line::@3
  b3:
  //SEG67 [37] (byte) line_ydxi::y#0 ← (byte) line::y0#0 [ line::x0#0 line::y1#0 line::xd#1 line::yd#1 line_ydxi::y#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::y1#0 line::xd#1 line::yd#1 line_ydxi::y#0 ] ) -- vbuz1=vbuz2 
    lda y0
    sta line_ydxi.y
  //SEG68 [38] (byte) line_ydxi::x#0 ← (byte) line::x0#0 [ line::y1#0 line::xd#1 line::yd#1 line_ydxi::y#0 line_ydxi::x#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::y1#0 line::xd#1 line::yd#1 line_ydxi::y#0 line_ydxi::x#0 ] ) -- vbuxx=vbuz1 
    ldx x0
  //SEG69 [39] (byte) line_ydxi::y1#0 ← (byte) line::y1#0 [ line::xd#1 line::yd#1 line_ydxi::y#0 line_ydxi::x#0 line_ydxi::y1#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#1 line::yd#1 line_ydxi::y#0 line_ydxi::x#0 line_ydxi::y1#0 ] ) -- vbuz1=vbuyy 
    sty line_ydxi.y1
  //SEG70 [40] (byte) line_ydxi::yd#0 ← (byte) line::yd#1 [ line::xd#1 line_ydxi::y#0 line_ydxi::x#0 line_ydxi::y1#0 line_ydxi::yd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#1 line_ydxi::y#0 line_ydxi::x#0 line_ydxi::y1#0 line_ydxi::yd#0 ] )
    // (byte) line_ydxi::yd#0 = (byte) line::yd#1  // register copy zp ZP_BYTE:4
  //SEG71 [41] (byte) line_ydxi::xd#0 ← (byte) line::xd#1 [ line_ydxi::y#0 line_ydxi::x#0 line_ydxi::y1#0 line_ydxi::yd#0 line_ydxi::xd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line_ydxi::y#0 line_ydxi::x#0 line_ydxi::y1#0 line_ydxi::yd#0 line_ydxi::xd#0 ] )
    // (byte) line_ydxi::xd#0 = (byte) line::xd#1  // register copy zp ZP_BYTE:3
  //SEG72 [42] call line_ydxi param-assignment [ ] ( main:2::lines:12::line:21 [ lines::l#2 ] )
  //SEG73 [87] phi from line::@3 to line_ydxi [phi:line::@3->line_ydxi]
  line_ydxi_from_b3:
  //SEG74 [87] phi (byte) line_ydxi::y1#6 = (byte) line_ydxi::y1#0 [phi:line::@3->line_ydxi#0] -- register_copy 
  //SEG75 [87] phi (byte) line_ydxi::yd#5 = (byte) line_ydxi::yd#0 [phi:line::@3->line_ydxi#1] -- register_copy 
  //SEG76 [87] phi (byte) line_ydxi::y#6 = (byte) line_ydxi::y#0 [phi:line::@3->line_ydxi#2] -- register_copy 
  //SEG77 [87] phi (byte) line_ydxi::x#5 = (byte) line_ydxi::x#0 [phi:line::@3->line_ydxi#3] -- register_copy 
  //SEG78 [87] phi (byte) line_ydxi::xd#2 = (byte) line_ydxi::xd#0 [phi:line::@3->line_ydxi#4] -- register_copy 
    jsr line_ydxi
    jmp breturn
  //SEG79 line::@2
  b2:
  //SEG80 [43] (byte) line::yd#0 ← (byte) line::y0#0 - (byte) line::y1#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#0 ] ) -- vbuz1=vbuz2_minus_vbuyy 
    tya
    eor #$ff
    sec
    adc y0
    sta yd
  //SEG81 [44] if((byte) line::yd#0>=(byte) line::xd#1) goto line::@6 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#0 ] ) -- vbuz1_ge_vbuz2_then_la1 
    lda yd
    cmp xd
    bcs b6
    jmp b20
  //SEG82 line::@20
  b20:
  //SEG83 [45] (byte) line_xdyd::x#0 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::xd#1 line::yd#0 line_xdyd::x#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x1#0 line::y0#0 line::xd#1 line::yd#0 line_xdyd::x#0 ] ) -- vbuxx=vbuz1 
    ldx x0
  //SEG84 [46] (byte) line_xdyd::y#0 ← (byte) line::y0#0 [ line::x1#0 line::xd#1 line::yd#0 line_xdyd::x#0 line_xdyd::y#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x1#0 line::xd#1 line::yd#0 line_xdyd::x#0 line_xdyd::y#0 ] )
    // (byte) line_xdyd::y#0 = (byte) line::y0#0  // register copy zp ZP_BYTE:5
  //SEG85 [47] (byte) line_xdyd::x1#0 ← (byte) line::x1#0 [ line::xd#1 line::yd#0 line_xdyd::x#0 line_xdyd::y#0 line_xdyd::x1#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#1 line::yd#0 line_xdyd::x#0 line_xdyd::y#0 line_xdyd::x1#0 ] ) -- vbuz1=vbuz2 
    lda x1
    sta line_xdyd.x1
  //SEG86 [48] (byte) line_xdyd::xd#0 ← (byte) line::xd#1 [ line::yd#0 line_xdyd::x#0 line_xdyd::y#0 line_xdyd::x1#0 line_xdyd::xd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::yd#0 line_xdyd::x#0 line_xdyd::y#0 line_xdyd::x1#0 line_xdyd::xd#0 ] )
    // (byte) line_xdyd::xd#0 = (byte) line::xd#1  // register copy zp ZP_BYTE:3
  //SEG87 [49] (byte) line_xdyd::yd#0 ← (byte) line::yd#0 [ line_xdyd::x#0 line_xdyd::y#0 line_xdyd::x1#0 line_xdyd::xd#0 line_xdyd::yd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line_xdyd::x#0 line_xdyd::y#0 line_xdyd::x1#0 line_xdyd::xd#0 line_xdyd::yd#0 ] )
    // (byte) line_xdyd::yd#0 = (byte) line::yd#0  // register copy zp ZP_BYTE:10
  //SEG88 [50] call line_xdyd param-assignment [ ] ( main:2::lines:12::line:21 [ lines::l#2 ] )
  //SEG89 [139] phi from line::@20 to line_xdyd [phi:line::@20->line_xdyd]
  line_xdyd_from_b20:
  //SEG90 [139] phi (byte) line_xdyd::x1#6 = (byte) line_xdyd::x1#0 [phi:line::@20->line_xdyd#0] -- register_copy 
  //SEG91 [139] phi (byte) line_xdyd::xd#5 = (byte) line_xdyd::xd#0 [phi:line::@20->line_xdyd#1] -- register_copy 
  //SEG92 [139] phi (byte) line_xdyd::y#5 = (byte) line_xdyd::y#0 [phi:line::@20->line_xdyd#2] -- register_copy 
  //SEG93 [139] phi (byte) line_xdyd::x#6 = (byte) line_xdyd::x#0 [phi:line::@20->line_xdyd#3] -- register_copy 
  //SEG94 [139] phi (byte) line_xdyd::yd#2 = (byte) line_xdyd::yd#0 [phi:line::@20->line_xdyd#4] -- register_copy 
    jsr line_xdyd
    jmp breturn
  //SEG95 line::@6
  b6:
  //SEG96 [51] (byte) line_ydxd::y#0 ← (byte) line::y1#0 [ line::x1#0 line::y0#0 line::xd#1 line::yd#0 line_ydxd::y#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x1#0 line::y0#0 line::xd#1 line::yd#0 line_ydxd::y#0 ] ) -- vbuz1=vbuyy 
    sty line_ydxd.y
  //SEG97 [52] (byte) line_ydxd::x#0 ← (byte) line::x1#0 [ line::y0#0 line::xd#1 line::yd#0 line_ydxd::y#0 line_ydxd::x#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::y0#0 line::xd#1 line::yd#0 line_ydxd::y#0 line_ydxd::x#0 ] ) -- vbuxx=vbuz1 
    ldx x1
  //SEG98 [53] (byte) line_ydxd::y1#0 ← (byte) line::y0#0 [ line::xd#1 line::yd#0 line_ydxd::y#0 line_ydxd::x#0 line_ydxd::y1#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#1 line::yd#0 line_ydxd::y#0 line_ydxd::x#0 line_ydxd::y1#0 ] )
    // (byte) line_ydxd::y1#0 = (byte) line::y0#0  // register copy zp ZP_BYTE:5
  //SEG99 [54] (byte) line_ydxd::yd#0 ← (byte) line::yd#0 [ line::xd#1 line_ydxd::y#0 line_ydxd::x#0 line_ydxd::y1#0 line_ydxd::yd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#1 line_ydxd::y#0 line_ydxd::x#0 line_ydxd::y1#0 line_ydxd::yd#0 ] )
    // (byte) line_ydxd::yd#0 = (byte) line::yd#0  // register copy zp ZP_BYTE:10
  //SEG100 [55] (byte) line_ydxd::xd#0 ← (byte) line::xd#1 [ line_ydxd::y#0 line_ydxd::x#0 line_ydxd::y1#0 line_ydxd::yd#0 line_ydxd::xd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line_ydxd::y#0 line_ydxd::x#0 line_ydxd::y1#0 line_ydxd::yd#0 line_ydxd::xd#0 ] )
    // (byte) line_ydxd::xd#0 = (byte) line::xd#1  // register copy zp ZP_BYTE:3
  //SEG101 [56] call line_ydxd param-assignment [ ] ( main:2::lines:12::line:21 [ lines::l#2 ] )
  //SEG102 [124] phi from line::@6 to line_ydxd [phi:line::@6->line_ydxd]
  line_ydxd_from_b6:
  //SEG103 [124] phi (byte) line_ydxd::y1#6 = (byte) line_ydxd::y1#0 [phi:line::@6->line_ydxd#0] -- register_copy 
  //SEG104 [124] phi (byte) line_ydxd::yd#5 = (byte) line_ydxd::yd#0 [phi:line::@6->line_ydxd#1] -- register_copy 
  //SEG105 [124] phi (byte) line_ydxd::y#7 = (byte) line_ydxd::y#0 [phi:line::@6->line_ydxd#2] -- register_copy 
  //SEG106 [124] phi (byte) line_ydxd::x#5 = (byte) line_ydxd::x#0 [phi:line::@6->line_ydxd#3] -- register_copy 
  //SEG107 [124] phi (byte) line_ydxd::xd#2 = (byte) line_ydxd::xd#0 [phi:line::@6->line_ydxd#4] -- register_copy 
    jsr line_ydxd
    jmp breturn
  //SEG108 line::@1
  b1:
  //SEG109 [57] (byte) line::xd#0 ← (byte) line::x0#0 - (byte) line::x1#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 ] ) -- vbuz1=vbuz2_minus_vbuz3 
    lda x0
    sec
    sbc x1
    sta xd
  //SEG110 [58] if((byte) line::y0#0>=(byte) line::y1#0) goto line::@9 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 ] ) -- vbuz1_ge_vbuyy_then_la1 
    lda y0
    sty $ff
    cmp $ff
    bcs b9
    jmp b23
  //SEG111 line::@23
  b23:
  //SEG112 [59] (byte) line::yd#3 ← (byte) line::y1#0 - (byte) line::y0#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#3 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#3 ] ) -- vbuz1=vbuyy_minus_vbuz2 
    tya
    sec
    sbc y0
    sta yd
  //SEG113 [60] if((byte) line::yd#3>=(byte) line::xd#0) goto line::@10 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#3 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#3 ] ) -- vbuz1_ge_vbuz2_then_la1 
    lda yd
    cmp xd
    bcs b10
    jmp b24
  //SEG114 line::@24
  b24:
  //SEG115 [61] (byte) line_xdyd::x#1 ← (byte) line::x1#0 [ line::x0#0 line::y1#0 line::xd#0 line::yd#3 line_xdyd::x#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::y1#0 line::xd#0 line::yd#3 line_xdyd::x#1 ] ) -- vbuxx=vbuz1 
    ldx x1
  //SEG116 [62] (byte) line_xdyd::y#1 ← (byte) line::y1#0 [ line::x0#0 line::xd#0 line::yd#3 line_xdyd::x#1 line_xdyd::y#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::xd#0 line::yd#3 line_xdyd::x#1 line_xdyd::y#1 ] ) -- vbuz1=vbuyy 
    sty line_xdyd.y
  //SEG117 [63] (byte) line_xdyd::x1#1 ← (byte) line::x0#0 [ line::xd#0 line::yd#3 line_xdyd::x#1 line_xdyd::y#1 line_xdyd::x1#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#0 line::yd#3 line_xdyd::x#1 line_xdyd::y#1 line_xdyd::x1#1 ] )
    // (byte) line_xdyd::x1#1 = (byte) line::x0#0  // register copy zp ZP_BYTE:8
  //SEG118 [64] (byte) line_xdyd::xd#1 ← (byte) line::xd#0 [ line::yd#3 line_xdyd::x#1 line_xdyd::y#1 line_xdyd::x1#1 line_xdyd::xd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::yd#3 line_xdyd::x#1 line_xdyd::y#1 line_xdyd::x1#1 line_xdyd::xd#1 ] )
    // (byte) line_xdyd::xd#1 = (byte) line::xd#0  // register copy zp ZP_BYTE:3
  //SEG119 [65] (byte) line_xdyd::yd#1 ← (byte) line::yd#3 [ line_xdyd::x#1 line_xdyd::y#1 line_xdyd::x1#1 line_xdyd::xd#1 line_xdyd::yd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line_xdyd::x#1 line_xdyd::y#1 line_xdyd::x1#1 line_xdyd::xd#1 line_xdyd::yd#1 ] )
    // (byte) line_xdyd::yd#1 = (byte) line::yd#3  // register copy zp ZP_BYTE:10
  //SEG120 [66] call line_xdyd param-assignment [ ] ( main:2::lines:12::line:21 [ lines::l#2 ] )
  //SEG121 [139] phi from line::@24 to line_xdyd [phi:line::@24->line_xdyd]
  line_xdyd_from_b24:
  //SEG122 [139] phi (byte) line_xdyd::x1#6 = (byte) line_xdyd::x1#1 [phi:line::@24->line_xdyd#0] -- register_copy 
  //SEG123 [139] phi (byte) line_xdyd::xd#5 = (byte) line_xdyd::xd#1 [phi:line::@24->line_xdyd#1] -- register_copy 
  //SEG124 [139] phi (byte) line_xdyd::y#5 = (byte) line_xdyd::y#1 [phi:line::@24->line_xdyd#2] -- register_copy 
  //SEG125 [139] phi (byte) line_xdyd::x#6 = (byte) line_xdyd::x#1 [phi:line::@24->line_xdyd#3] -- register_copy 
  //SEG126 [139] phi (byte) line_xdyd::yd#2 = (byte) line_xdyd::yd#1 [phi:line::@24->line_xdyd#4] -- register_copy 
    jsr line_xdyd
    jmp breturn
  //SEG127 line::@10
  b10:
  //SEG128 [67] (byte) line_ydxd::y#1 ← (byte) line::y0#0 [ line::x0#0 line::y1#0 line::xd#0 line::yd#3 line_ydxd::y#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::y1#0 line::xd#0 line::yd#3 line_ydxd::y#1 ] ) -- vbuz1=vbuz2 
    lda y0
    sta line_ydxd.y
  //SEG129 [68] (byte) line_ydxd::x#1 ← (byte) line::x0#0 [ line::y1#0 line::xd#0 line::yd#3 line_ydxd::y#1 line_ydxd::x#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::y1#0 line::xd#0 line::yd#3 line_ydxd::y#1 line_ydxd::x#1 ] ) -- vbuxx=vbuz1 
    ldx x0
  //SEG130 [69] (byte) line_ydxd::y1#1 ← (byte) line::y1#0 [ line::xd#0 line::yd#3 line_ydxd::y#1 line_ydxd::x#1 line_ydxd::y1#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#0 line::yd#3 line_ydxd::y#1 line_ydxd::x#1 line_ydxd::y1#1 ] ) -- vbuz1=vbuyy 
    sty line_ydxd.y1
  //SEG131 [70] (byte) line_ydxd::yd#1 ← (byte) line::yd#3 [ line::xd#0 line_ydxd::y#1 line_ydxd::x#1 line_ydxd::y1#1 line_ydxd::yd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#0 line_ydxd::y#1 line_ydxd::x#1 line_ydxd::y1#1 line_ydxd::yd#1 ] )
    // (byte) line_ydxd::yd#1 = (byte) line::yd#3  // register copy zp ZP_BYTE:10
  //SEG132 [71] (byte) line_ydxd::xd#1 ← (byte) line::xd#0 [ line_ydxd::y#1 line_ydxd::x#1 line_ydxd::y1#1 line_ydxd::yd#1 line_ydxd::xd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line_ydxd::y#1 line_ydxd::x#1 line_ydxd::y1#1 line_ydxd::yd#1 line_ydxd::xd#1 ] )
    // (byte) line_ydxd::xd#1 = (byte) line::xd#0  // register copy zp ZP_BYTE:3
  //SEG133 [72] call line_ydxd param-assignment [ ] ( main:2::lines:12::line:21 [ lines::l#2 ] )
  //SEG134 [124] phi from line::@10 to line_ydxd [phi:line::@10->line_ydxd]
  line_ydxd_from_b10:
  //SEG135 [124] phi (byte) line_ydxd::y1#6 = (byte) line_ydxd::y1#1 [phi:line::@10->line_ydxd#0] -- register_copy 
  //SEG136 [124] phi (byte) line_ydxd::yd#5 = (byte) line_ydxd::yd#1 [phi:line::@10->line_ydxd#1] -- register_copy 
  //SEG137 [124] phi (byte) line_ydxd::y#7 = (byte) line_ydxd::y#1 [phi:line::@10->line_ydxd#2] -- register_copy 
  //SEG138 [124] phi (byte) line_ydxd::x#5 = (byte) line_ydxd::x#1 [phi:line::@10->line_ydxd#3] -- register_copy 
  //SEG139 [124] phi (byte) line_ydxd::xd#2 = (byte) line_ydxd::xd#1 [phi:line::@10->line_ydxd#4] -- register_copy 
    jsr line_ydxd
    jmp breturn
  //SEG140 line::@9
  b9:
  //SEG141 [73] (byte) line::yd#10 ← (byte) line::y0#0 - (byte) line::y1#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#10 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#10 ] ) -- vbuz1=vbuz2_minus_vbuyy 
    tya
    eor #$ff
    sec
    adc y0
    sta yd_10
  //SEG142 [74] if((byte) line::yd#10>=(byte) line::xd#0) goto line::@13 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#10 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#10 ] ) -- vbuz1_ge_vbuz2_then_la1 
    lda yd_10
    cmp xd
    bcs b13
    jmp b27
  //SEG143 line::@27
  b27:
  //SEG144 [75] (byte) line_xdyi::x#1 ← (byte) line::x1#0 [ line::x0#0 line::y1#0 line::xd#0 line::yd#10 line_xdyi::x#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::y1#0 line::xd#0 line::yd#10 line_xdyi::x#1 ] ) -- vbuxx=vbuz1 
    ldx x1
  //SEG145 [76] (byte) line_xdyi::y#1 ← (byte) line::y1#0 [ line::x0#0 line::xd#0 line::yd#10 line_xdyi::x#1 line_xdyi::y#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::xd#0 line::yd#10 line_xdyi::x#1 line_xdyi::y#1 ] ) -- vbuz1=vbuyy 
    sty line_xdyi.y
  //SEG146 [77] (byte) line_xdyi::x1#1 ← (byte) line::x0#0 [ line::xd#0 line::yd#10 line_xdyi::x#1 line_xdyi::y#1 line_xdyi::x1#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#0 line::yd#10 line_xdyi::x#1 line_xdyi::y#1 line_xdyi::x1#1 ] )
    // (byte) line_xdyi::x1#1 = (byte) line::x0#0  // register copy zp ZP_BYTE:8
  //SEG147 [78] (byte) line_xdyi::xd#1 ← (byte) line::xd#0 [ line::yd#10 line_xdyi::x#1 line_xdyi::y#1 line_xdyi::x1#1 line_xdyi::xd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::yd#10 line_xdyi::x#1 line_xdyi::y#1 line_xdyi::x1#1 line_xdyi::xd#1 ] )
    // (byte) line_xdyi::xd#1 = (byte) line::xd#0  // register copy zp ZP_BYTE:3
  //SEG148 [79] (byte) line_xdyi::yd#1 ← (byte) line::yd#10 [ line_xdyi::x#1 line_xdyi::y#1 line_xdyi::x1#1 line_xdyi::xd#1 line_xdyi::yd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line_xdyi::x#1 line_xdyi::y#1 line_xdyi::x1#1 line_xdyi::xd#1 line_xdyi::yd#1 ] )
    // (byte) line_xdyi::yd#1 = (byte) line::yd#10  // register copy zp ZP_BYTE:4
  //SEG149 [80] call line_xdyi param-assignment [ ] ( main:2::lines:12::line:21 [ lines::l#2 ] )
  //SEG150 [109] phi from line::@27 to line_xdyi [phi:line::@27->line_xdyi]
  line_xdyi_from_b27:
  //SEG151 [109] phi (byte) line_xdyi::x1#6 = (byte) line_xdyi::x1#1 [phi:line::@27->line_xdyi#0] -- register_copy 
  //SEG152 [109] phi (byte) line_xdyi::xd#5 = (byte) line_xdyi::xd#1 [phi:line::@27->line_xdyi#1] -- register_copy 
  //SEG153 [109] phi (byte) line_xdyi::y#5 = (byte) line_xdyi::y#1 [phi:line::@27->line_xdyi#2] -- register_copy 
  //SEG154 [109] phi (byte) line_xdyi::x#6 = (byte) line_xdyi::x#1 [phi:line::@27->line_xdyi#3] -- register_copy 
  //SEG155 [109] phi (byte) line_xdyi::yd#2 = (byte) line_xdyi::yd#1 [phi:line::@27->line_xdyi#4] -- register_copy 
    jsr line_xdyi
    jmp breturn
  //SEG156 line::@13
  b13:
  //SEG157 [81] (byte) line_ydxi::y#1 ← (byte) line::y1#0 [ line::x1#0 line::y0#0 line::xd#0 line::yd#10 line_ydxi::y#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x1#0 line::y0#0 line::xd#0 line::yd#10 line_ydxi::y#1 ] ) -- vbuz1=vbuyy 
    sty line_ydxi.y
  //SEG158 [82] (byte) line_ydxi::x#1 ← (byte) line::x1#0 [ line::y0#0 line::xd#0 line::yd#10 line_ydxi::y#1 line_ydxi::x#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::y0#0 line::xd#0 line::yd#10 line_ydxi::y#1 line_ydxi::x#1 ] ) -- vbuxx=vbuz1 
    ldx x1
  //SEG159 [83] (byte) line_ydxi::y1#1 ← (byte) line::y0#0 [ line::xd#0 line::yd#10 line_ydxi::y#1 line_ydxi::x#1 line_ydxi::y1#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#0 line::yd#10 line_ydxi::y#1 line_ydxi::x#1 line_ydxi::y1#1 ] )
    // (byte) line_ydxi::y1#1 = (byte) line::y0#0  // register copy zp ZP_BYTE:5
  //SEG160 [84] (byte) line_ydxi::yd#1 ← (byte) line::yd#10 [ line::xd#0 line_ydxi::y#1 line_ydxi::x#1 line_ydxi::y1#1 line_ydxi::yd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#0 line_ydxi::y#1 line_ydxi::x#1 line_ydxi::y1#1 line_ydxi::yd#1 ] )
    // (byte) line_ydxi::yd#1 = (byte) line::yd#10  // register copy zp ZP_BYTE:4
  //SEG161 [85] (byte) line_ydxi::xd#1 ← (byte) line::xd#0 [ line_ydxi::y#1 line_ydxi::x#1 line_ydxi::y1#1 line_ydxi::yd#1 line_ydxi::xd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line_ydxi::y#1 line_ydxi::x#1 line_ydxi::y1#1 line_ydxi::yd#1 line_ydxi::xd#1 ] )
    // (byte) line_ydxi::xd#1 = (byte) line::xd#0  // register copy zp ZP_BYTE:3
  //SEG162 [86] call line_ydxi param-assignment [ ] ( main:2::lines:12::line:21 [ lines::l#2 ] )
  //SEG163 [87] phi from line::@13 to line_ydxi [phi:line::@13->line_ydxi]
  line_ydxi_from_b13:
  //SEG164 [87] phi (byte) line_ydxi::y1#6 = (byte) line_ydxi::y1#1 [phi:line::@13->line_ydxi#0] -- register_copy 
  //SEG165 [87] phi (byte) line_ydxi::yd#5 = (byte) line_ydxi::yd#1 [phi:line::@13->line_ydxi#1] -- register_copy 
  //SEG166 [87] phi (byte) line_ydxi::y#6 = (byte) line_ydxi::y#1 [phi:line::@13->line_ydxi#2] -- register_copy 
  //SEG167 [87] phi (byte) line_ydxi::x#5 = (byte) line_ydxi::x#1 [phi:line::@13->line_ydxi#3] -- register_copy 
  //SEG168 [87] phi (byte) line_ydxi::xd#2 = (byte) line_ydxi::xd#1 [phi:line::@13->line_ydxi#4] -- register_copy 
    jsr line_ydxi
    jmp breturn
}
//SEG169 line_ydxi
line_ydxi: {
    .label y = 6
    .label y1 = 5
    .label yd = 4
    .label xd = 3
    .label e = 7
  //SEG170 [88] (byte) line_ydxi::e#0 ← (byte) line_ydxi::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_ydxi::xd#2 line_ydxi::x#5 line_ydxi::y#6 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::e#0 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::x#5 line_ydxi::y#6 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::e#0 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::x#5 line_ydxi::y#6 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::e#0 ] ) -- vbuz1=vbuz2_ror_1 
    lda xd
    lsr
    sta e
  //SEG171 [89] phi from line_ydxi line_ydxi::@2 to line_ydxi::@1 [phi:line_ydxi/line_ydxi::@2->line_ydxi::@1]
  b1_from_line_ydxi:
  b1_from_b2:
  //SEG172 [89] phi (byte) line_ydxi::e#3 = (byte) line_ydxi::e#0 [phi:line_ydxi/line_ydxi::@2->line_ydxi::@1#0] -- register_copy 
  //SEG173 [89] phi (byte) line_ydxi::y#3 = (byte) line_ydxi::y#6 [phi:line_ydxi/line_ydxi::@2->line_ydxi::@1#1] -- register_copy 
  //SEG174 [89] phi (byte) line_ydxi::x#3 = (byte) line_ydxi::x#5 [phi:line_ydxi/line_ydxi::@2->line_ydxi::@1#2] -- register_copy 
    jmp b1
  //SEG175 line_ydxi::@1
  b1:
  //SEG176 [90] (byte) plot::x#2 ← (byte) line_ydxi::x#3 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#2 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#2 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#2 ] )
    // (byte) plot::x#2 = (byte) line_ydxi::x#3  // register copy reg byte x
  //SEG177 [91] (byte) plot::y#2 ← (byte) line_ydxi::y#3 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#2 plot::y#2 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#2 plot::y#2 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#2 plot::y#2 ] ) -- vbuyy=vbuz1 
    ldy y
  //SEG178 [92] call plot param-assignment [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] )
  //SEG179 [102] phi from line_ydxi::@1 to plot [phi:line_ydxi::@1->plot]
  plot_from_b1:
  //SEG180 [102] phi (byte) plot::y#4 = (byte) plot::y#2 [phi:line_ydxi::@1->plot#0] -- register_copy 
  //SEG181 [102] phi (byte) plot::x#4 = (byte) plot::x#2 [phi:line_ydxi::@1->plot#1] -- register_copy 
    jsr plot
    jmp b5
  //SEG182 line_ydxi::@5
  b5:
  //SEG183 [93] (byte) line_ydxi::y#2 ← ++ (byte) line_ydxi::y#3 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::e#3 line_ydxi::y#2 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::e#3 line_ydxi::y#2 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::e#3 line_ydxi::y#2 ] ) -- vbuz1=_inc_vbuz1 
    inc y
  //SEG184 [94] (byte) line_ydxi::e#1 ← (byte) line_ydxi::e#3 + (byte) line_ydxi::xd#2 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#2 line_ydxi::e#1 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#2 line_ydxi::e#1 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#2 line_ydxi::e#1 ] ) -- vbuz1=vbuz1_plus_vbuz2 
    lda e
    clc
    adc xd
    sta e
  //SEG185 [95] if((byte) line_ydxi::yd#5>=(byte) line_ydxi::e#1) goto line_ydxi::@2 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#2 line_ydxi::e#1 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#2 line_ydxi::e#1 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#2 line_ydxi::e#1 ] ) -- vbuz1_ge_vbuz2_then_la1 
    lda yd
    cmp e
    bcs b2_from_b5
    jmp b3
  //SEG186 line_ydxi::@3
  b3:
  //SEG187 [96] (byte) line_ydxi::x#2 ← ++ (byte) line_ydxi::x#3 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::e#1 line_ydxi::x#2 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::e#1 line_ydxi::x#2 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::e#1 line_ydxi::x#2 ] ) -- vbuxx=_inc_vbuxx 
    inx
  //SEG188 [97] (byte) line_ydxi::e#2 ← (byte) line_ydxi::e#1 - (byte) line_ydxi::yd#5 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::x#2 line_ydxi::e#2 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::x#2 line_ydxi::e#2 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::x#2 line_ydxi::e#2 ] ) -- vbuz1=vbuz1_minus_vbuz2 
    lda e
    sec
    sbc yd
    sta e
  //SEG189 [98] phi from line_ydxi::@3 line_ydxi::@5 to line_ydxi::@2 [phi:line_ydxi::@3/line_ydxi::@5->line_ydxi::@2]
  b2_from_b3:
  b2_from_b5:
  //SEG190 [98] phi (byte) line_ydxi::e#6 = (byte) line_ydxi::e#2 [phi:line_ydxi::@3/line_ydxi::@5->line_ydxi::@2#0] -- register_copy 
  //SEG191 [98] phi (byte) line_ydxi::x#6 = (byte) line_ydxi::x#2 [phi:line_ydxi::@3/line_ydxi::@5->line_ydxi::@2#1] -- register_copy 
    jmp b2
  //SEG192 line_ydxi::@2
  b2:
  //SEG193 [99] (byte/word~) line_ydxi::$6 ← (byte) line_ydxi::y1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 line_ydxi::$6 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 line_ydxi::$6 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 line_ydxi::$6 ] ) -- vbuyy=vbuz1_plus_1 
    ldy y1
    iny
  //SEG194 [100] if((byte) line_ydxi::y#2!=(byte/word~) line_ydxi::$6) goto line_ydxi::@1 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 ] ) -- vbuz1_neq_vbuyy_then_la1 
    cpy y
    bne b1_from_b2
    jmp breturn
  //SEG195 line_ydxi::@return
  breturn:
  //SEG196 [101] return  [ ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 ] )
    rts
}
//SEG197 plot
plot: {
    .label _0 = $15
    .label plotter_x = $15
    .label plotter_y = $17
  //SEG198 [103] (word) plot::plotter_x#0 ← *((const byte[256]) plot_xhi#0 + (byte) plot::x#4) w= *((const byte[256]) plot_xlo#0 + (byte) plot::x#4) [ plot::x#4 plot::y#4 plot::plotter_x#0 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_xdyi:35::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_xdyi:80::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_ydxd:56::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_ydxd:72::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_xdyd:50::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_xdyd:66::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] ) -- vwuz1=pbuc1_derefidx_vbuxx_word_pbuc2_derefidx_vbuxx 
    lda plot_xhi,x
    sta plotter_x+1
    lda plot_xlo,x
    sta plotter_x
  //SEG199 [104] (word) plot::plotter_y#0 ← *((const byte[256]) plot_yhi#0 + (byte) plot::y#4) w= *((const byte[256]) plot_ylo#0 + (byte) plot::y#4) [ plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_xdyi:35::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_xdyi:80::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_ydxd:56::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_ydxd:72::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_xdyd:50::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_xdyd:66::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] ) -- vwuz1=pbuc1_derefidx_vbuyy_word_pbuc2_derefidx_vbuyy 
    lda plot_yhi,y
    sta plotter_y+1
    lda plot_ylo,y
    sta plotter_y
  //SEG200 [105] (word~) plot::$0 ← (word) plot::plotter_x#0 + (word) plot::plotter_y#0 [ plot::x#4 plot::$0 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_xdyi:35::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_xdyi:80::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_ydxd:56::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_ydxd:72::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_xdyd:50::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_xdyd:66::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::$0 ] ) -- vwuz1=vwuz1_plus_vwuz2 
    lda _0
    clc
    adc plotter_y
    sta _0
    lda _0+1
    adc plotter_y+1
    sta _0+1
  //SEG201 [106] (byte~) plot::$1 ← *((byte*)(word~) plot::$0) | *((const byte[256]) plot_bit#0 + (byte) plot::x#4) [ plot::$0 plot::$1 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_xdyi:35::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_xdyi:80::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_ydxd:56::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_ydxd:72::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_xdyd:50::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_xdyd:66::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::$0 plot::$1 ] ) -- vbuaa=_deref_pbuz1_bor_pbuc1_derefidx_vbuxx 
    lda plot_bit,x
    ldy #0
    ora (_0),y
  //SEG202 [107] *((byte*)(word~) plot::$0) ← (byte~) plot::$1 [ ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:2::lines:12::line:21::line_xdyi:35::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_xdyi:80::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_ydxd:56::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_xdyd:50::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:2::lines:12::line:21::line_xdyd:66::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ) -- _deref_pbuz1=vbuaa 
    ldy #0
    sta (_0),y
    jmp breturn
  //SEG203 plot::@return
  breturn:
  //SEG204 [108] return  [ ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:2::lines:12::line:21::line_xdyi:35::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_xdyi:80::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_ydxd:56::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_xdyd:50::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:2::lines:12::line:21::line_xdyd:66::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
    rts
}
//SEG205 line_xdyi
line_xdyi: {
    .label _6 = $19
    .label y = 5
    .label x1 = 8
    .label xd = 3
    .label yd = 4
    .label e = 9
  //SEG206 [110] (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::e#0 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::e#0 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::e#0 ] ) -- vbuz1=vbuz2_ror_1 
    lda yd
    lsr
    sta e
  //SEG207 [111] phi from line_xdyi line_xdyi::@2 to line_xdyi::@1 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1]
  b1_from_line_xdyi:
  b1_from_b2:
  //SEG208 [111] phi (byte) line_xdyi::e#3 = (byte) line_xdyi::e#0 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#0] -- register_copy 
  //SEG209 [111] phi (byte) line_xdyi::y#3 = (byte) line_xdyi::y#5 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#1] -- register_copy 
  //SEG210 [111] phi (byte) line_xdyi::x#3 = (byte) line_xdyi::x#6 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#2] -- register_copy 
    jmp b1
  //SEG211 line_xdyi::@1
  b1:
  //SEG212 [112] (byte) plot::x#0 ← (byte) line_xdyi::x#3 [ plot::x#0 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 plot::x#0 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 plot::x#0 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] )
    // (byte) plot::x#0 = (byte) line_xdyi::x#3  // register copy reg byte x
  //SEG213 [113] (byte) plot::y#0 ← (byte) line_xdyi::y#3 [ plot::x#0 plot::y#0 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 plot::x#0 plot::y#0 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 plot::x#0 plot::y#0 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] ) -- vbuyy=vbuz1 
    ldy y
  //SEG214 [114] call plot param-assignment [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] )
  //SEG215 [102] phi from line_xdyi::@1 to plot [phi:line_xdyi::@1->plot]
  plot_from_b1:
  //SEG216 [102] phi (byte) plot::y#4 = (byte) plot::y#0 [phi:line_xdyi::@1->plot#0] -- register_copy 
  //SEG217 [102] phi (byte) plot::x#4 = (byte) plot::x#0 [phi:line_xdyi::@1->plot#1] -- register_copy 
    jsr plot
    jmp b5
  //SEG218 line_xdyi::@5
  b5:
  //SEG219 [115] (byte) line_xdyi::x#2 ← ++ (byte) line_xdyi::x#3 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::e#3 line_xdyi::x#2 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::e#3 line_xdyi::x#2 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::e#3 line_xdyi::x#2 ] ) -- vbuxx=_inc_vbuxx 
    inx
  //SEG220 [116] (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#2 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] ) -- vbuz1=vbuz1_plus_vbuz2 
    lda e
    clc
    adc yd
    sta e
  //SEG221 [117] if((byte) line_xdyi::xd#5>=(byte) line_xdyi::e#1) goto line_xdyi::@2 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] ) -- vbuz1_ge_vbuz2_then_la1 
    lda xd
    cmp e
    bcs b2_from_b5
    jmp b3
  //SEG222 line_xdyi::@3
  b3:
  //SEG223 [118] (byte) line_xdyi::y#2 ← ++ (byte) line_xdyi::y#3 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::e#1 line_xdyi::y#2 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::e#1 line_xdyi::y#2 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::e#1 line_xdyi::y#2 ] ) -- vbuz1=_inc_vbuz1 
    inc y
  //SEG224 [119] (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#5 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#2 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#2 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#2 ] ) -- vbuz1=vbuz1_minus_vbuz2 
    lda e
    sec
    sbc xd
    sta e
  //SEG225 [120] phi from line_xdyi::@3 line_xdyi::@5 to line_xdyi::@2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2]
  b2_from_b3:
  b2_from_b5:
  //SEG226 [120] phi (byte) line_xdyi::e#6 = (byte) line_xdyi::e#2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2#0] -- register_copy 
  //SEG227 [120] phi (byte) line_xdyi::y#6 = (byte) line_xdyi::y#2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2#1] -- register_copy 
    jmp b2
  //SEG228 line_xdyi::@2
  b2:
  //SEG229 [121] (byte/word~) line_xdyi::$6 ← (byte) line_xdyi::x1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 line_xdyi::$6 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 line_xdyi::$6 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 line_xdyi::$6 ] ) -- vbuz1=vbuz2_plus_1 
    ldy x1
    iny
    sty _6
  //SEG230 [122] if((byte) line_xdyi::x#2!=(byte/word~) line_xdyi::$6) goto line_xdyi::@1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] ) -- vbuxx_neq_vbuz1_then_la1 
    cpx _6
    bne b1_from_b2
    jmp breturn
  //SEG231 line_xdyi::@return
  breturn:
  //SEG232 [123] return  [ ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 ] )
    rts
}
//SEG233 line_ydxd
line_ydxd: {
    .label y = $b
    .label y1 = 5
    .label yd = $a
    .label xd = 3
    .label e = $c
  //SEG234 [125] (byte) line_ydxd::e#0 ← (byte) line_ydxd::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] ) -- vbuz1=vbuz2_ror_1 
    lda xd
    lsr
    sta e
  //SEG235 [126] phi from line_ydxd line_ydxd::@2 to line_ydxd::@1 [phi:line_ydxd/line_ydxd::@2->line_ydxd::@1]
  b1_from_line_ydxd:
  b1_from_b2:
  //SEG236 [126] phi (byte) line_ydxd::e#3 = (byte) line_ydxd::e#0 [phi:line_ydxd/line_ydxd::@2->line_ydxd::@1#0] -- register_copy 
  //SEG237 [126] phi (byte) line_ydxd::y#2 = (byte) line_ydxd::y#7 [phi:line_ydxd/line_ydxd::@2->line_ydxd::@1#1] -- register_copy 
  //SEG238 [126] phi (byte) line_ydxd::x#3 = (byte) line_ydxd::x#5 [phi:line_ydxd/line_ydxd::@2->line_ydxd::@1#2] -- register_copy 
    jmp b1
  //SEG239 line_ydxd::@1
  b1:
  //SEG240 [127] (byte) plot::x#3 ← (byte) line_ydxd::x#3 [ plot::x#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 plot::x#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 plot::x#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] )
    // (byte) plot::x#3 = (byte) line_ydxd::x#3  // register copy reg byte x
  //SEG241 [128] (byte) plot::y#3 ← (byte) line_ydxd::y#2 [ plot::x#3 plot::y#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 plot::x#3 plot::y#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 plot::x#3 plot::y#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] ) -- vbuyy=vbuz1 
    ldy y
  //SEG242 [129] call plot param-assignment [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] )
  //SEG243 [102] phi from line_ydxd::@1 to plot [phi:line_ydxd::@1->plot]
  plot_from_b1:
  //SEG244 [102] phi (byte) plot::y#4 = (byte) plot::y#3 [phi:line_ydxd::@1->plot#0] -- register_copy 
  //SEG245 [102] phi (byte) plot::x#4 = (byte) plot::x#3 [phi:line_ydxd::@1->plot#1] -- register_copy 
    jsr plot
    jmp b5
  //SEG246 line_ydxd::@5
  b5:
  //SEG247 [130] (byte) line_ydxd::y#3 ← ++ (byte) line_ydxd::y#2 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::e#3 line_ydxd::y#3 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::e#3 line_ydxd::y#3 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::e#3 line_ydxd::y#3 ] ) -- vbuz1=_inc_vbuz1 
    inc y
  //SEG248 [131] (byte) line_ydxd::e#1 ← (byte) line_ydxd::e#3 + (byte) line_ydxd::xd#2 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#1 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#1 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#1 ] ) -- vbuz1=vbuz1_plus_vbuz2 
    lda e
    clc
    adc xd
    sta e
  //SEG249 [132] if((byte) line_ydxd::yd#5>=(byte) line_ydxd::e#1) goto line_ydxd::@2 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#1 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#1 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#1 ] ) -- vbuz1_ge_vbuz2_then_la1 
    lda yd
    cmp e
    bcs b2_from_b5
    jmp b3
  //SEG250 line_ydxd::@3
  b3:
  //SEG251 [133] (byte) line_ydxd::x#2 ← -- (byte) line_ydxd::x#3 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#3 line_ydxd::e#1 line_ydxd::x#2 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#3 line_ydxd::e#1 line_ydxd::x#2 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#3 line_ydxd::e#1 line_ydxd::x#2 ] ) -- vbuxx=_dec_vbuxx 
    dex
  //SEG252 [134] (byte) line_ydxd::e#2 ← (byte) line_ydxd::e#1 - (byte) line_ydxd::yd#5 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#3 line_ydxd::x#2 line_ydxd::e#2 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#3 line_ydxd::x#2 line_ydxd::e#2 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#3 line_ydxd::x#2 line_ydxd::e#2 ] ) -- vbuz1=vbuz1_minus_vbuz2 
    lda e
    sec
    sbc yd
    sta e
  //SEG253 [135] phi from line_ydxd::@3 line_ydxd::@5 to line_ydxd::@2 [phi:line_ydxd::@3/line_ydxd::@5->line_ydxd::@2]
  b2_from_b3:
  b2_from_b5:
  //SEG254 [135] phi (byte) line_ydxd::e#6 = (byte) line_ydxd::e#2 [phi:line_ydxd::@3/line_ydxd::@5->line_ydxd::@2#0] -- register_copy 
  //SEG255 [135] phi (byte) line_ydxd::x#6 = (byte) line_ydxd::x#2 [phi:line_ydxd::@3/line_ydxd::@5->line_ydxd::@2#1] -- register_copy 
    jmp b2
  //SEG256 line_ydxd::@2
  b2:
  //SEG257 [136] (byte/word~) line_ydxd::$6 ← (byte) line_ydxd::y1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 line_ydxd::$6 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 line_ydxd::$6 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 line_ydxd::$6 ] ) -- vbuyy=vbuz1_plus_1 
    ldy y1
    iny
  //SEG258 [137] if((byte) line_ydxd::y#3!=(byte/word~) line_ydxd::$6) goto line_ydxd::@1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 ] ) -- vbuz1_neq_vbuyy_then_la1 
    cpy y
    bne b1_from_b2
    jmp breturn
  //SEG259 line_ydxd::@return
  breturn:
  //SEG260 [138] return  [ ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 ] )
    rts
}
//SEG261 line_xdyd
line_xdyd: {
    .label _6 = $1a
    .label y = 5
    .label x1 = 8
    .label xd = 3
    .label yd = $a
    .label e = $d
  //SEG262 [140] (byte) line_xdyd::e#0 ← (byte) line_xdyd::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::e#0 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::e#0 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::e#0 ] ) -- vbuz1=vbuz2_ror_1 
    lda yd
    lsr
    sta e
  //SEG263 [141] phi from line_xdyd line_xdyd::@2 to line_xdyd::@1 [phi:line_xdyd/line_xdyd::@2->line_xdyd::@1]
  b1_from_line_xdyd:
  b1_from_b2:
  //SEG264 [141] phi (byte) line_xdyd::e#3 = (byte) line_xdyd::e#0 [phi:line_xdyd/line_xdyd::@2->line_xdyd::@1#0] -- register_copy 
  //SEG265 [141] phi (byte) line_xdyd::y#3 = (byte) line_xdyd::y#5 [phi:line_xdyd/line_xdyd::@2->line_xdyd::@1#1] -- register_copy 
  //SEG266 [141] phi (byte) line_xdyd::x#3 = (byte) line_xdyd::x#6 [phi:line_xdyd/line_xdyd::@2->line_xdyd::@1#2] -- register_copy 
    jmp b1
  //SEG267 line_xdyd::@1
  b1:
  //SEG268 [142] (byte) plot::x#1 ← (byte) line_xdyd::x#3 [ plot::x#1 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 plot::x#1 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 plot::x#1 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
    // (byte) plot::x#1 = (byte) line_xdyd::x#3  // register copy reg byte x
  //SEG269 [143] (byte) plot::y#1 ← (byte) line_xdyd::y#3 [ plot::x#1 plot::y#1 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 plot::x#1 plot::y#1 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 plot::x#1 plot::y#1 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ) -- vbuyy=vbuz1 
    ldy y
  //SEG270 [144] call plot param-assignment [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
  //SEG271 [102] phi from line_xdyd::@1 to plot [phi:line_xdyd::@1->plot]
  plot_from_b1:
  //SEG272 [102] phi (byte) plot::y#4 = (byte) plot::y#1 [phi:line_xdyd::@1->plot#0] -- register_copy 
  //SEG273 [102] phi (byte) plot::x#4 = (byte) plot::x#1 [phi:line_xdyd::@1->plot#1] -- register_copy 
    jsr plot
    jmp b5
  //SEG274 line_xdyd::@5
  b5:
  //SEG275 [145] (byte) line_xdyd::x#2 ← ++ (byte) line_xdyd::x#3 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::e#3 line_xdyd::x#2 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::e#3 line_xdyd::x#2 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::e#3 line_xdyd::x#2 ] ) -- vbuxx=_inc_vbuxx 
    inx
  //SEG276 [146] (byte) line_xdyd::e#1 ← (byte) line_xdyd::e#3 + (byte) line_xdyd::yd#2 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] ) -- vbuz1=vbuz1_plus_vbuz2 
    lda e
    clc
    adc yd
    sta e
  //SEG277 [147] if((byte) line_xdyd::xd#5>=(byte) line_xdyd::e#1) goto line_xdyd::@2 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] ) -- vbuz1_ge_vbuz2_then_la1 
    lda xd
    cmp e
    bcs b2_from_b5
    jmp b3
  //SEG278 line_xdyd::@3
  b3:
  //SEG279 [148] (byte) line_xdyd::y#2 ← -- (byte) line_xdyd::y#3 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::e#1 line_xdyd::y#2 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::e#1 line_xdyd::y#2 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::e#1 line_xdyd::y#2 ] ) -- vbuz1=_dec_vbuz1 
    dec y
  //SEG280 [149] (byte) line_xdyd::e#2 ← (byte) line_xdyd::e#1 - (byte) line_xdyd::xd#5 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#2 line_xdyd::e#2 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#2 line_xdyd::e#2 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#2 line_xdyd::e#2 ] ) -- vbuz1=vbuz1_minus_vbuz2 
    lda e
    sec
    sbc xd
    sta e
  //SEG281 [150] phi from line_xdyd::@3 line_xdyd::@5 to line_xdyd::@2 [phi:line_xdyd::@3/line_xdyd::@5->line_xdyd::@2]
  b2_from_b3:
  b2_from_b5:
  //SEG282 [150] phi (byte) line_xdyd::e#6 = (byte) line_xdyd::e#2 [phi:line_xdyd::@3/line_xdyd::@5->line_xdyd::@2#0] -- register_copy 
  //SEG283 [150] phi (byte) line_xdyd::y#6 = (byte) line_xdyd::y#2 [phi:line_xdyd::@3/line_xdyd::@5->line_xdyd::@2#1] -- register_copy 
    jmp b2
  //SEG284 line_xdyd::@2
  b2:
  //SEG285 [151] (byte/word~) line_xdyd::$6 ← (byte) line_xdyd::x1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 line_xdyd::$6 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 line_xdyd::$6 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 line_xdyd::$6 ] ) -- vbuz1=vbuz2_plus_1 
    ldy x1
    iny
    sty _6
  //SEG286 [152] if((byte) line_xdyd::x#2!=(byte/word~) line_xdyd::$6) goto line_xdyd::@1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] ) -- vbuxx_neq_vbuz1_then_la1 
    cpx _6
    bne b1_from_b2
    jmp breturn
  //SEG287 line_xdyd::@return
  breturn:
  //SEG288 [153] return  [ ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 ] )
    rts
}
//SEG289 init_plot_tables
init_plot_tables: {
    .label _6 = $1b
    .label yoffs = $e
  //SEG290 [155] phi from init_plot_tables to init_plot_tables::@1 [phi:init_plot_tables->init_plot_tables::@1]
  b1_from_init_plot_tables:
  //SEG291 [155] phi (byte) init_plot_tables::bits#3 = (byte/word/signed word/dword/signed dword) 128 [phi:init_plot_tables->init_plot_tables::@1#0] -- vbuyy=vbuc1 
    ldy #$80
  //SEG292 [155] phi (byte) init_plot_tables::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:init_plot_tables->init_plot_tables::@1#1] -- vbuxx=vbuc1 
    ldx #0
    jmp b1
  //SEG293 [155] phi from init_plot_tables::@2 to init_plot_tables::@1 [phi:init_plot_tables::@2->init_plot_tables::@1]
  b1_from_b2:
  //SEG294 [155] phi (byte) init_plot_tables::bits#3 = (byte) init_plot_tables::bits#4 [phi:init_plot_tables::@2->init_plot_tables::@1#0] -- register_copy 
  //SEG295 [155] phi (byte) init_plot_tables::x#2 = (byte) init_plot_tables::x#1 [phi:init_plot_tables::@2->init_plot_tables::@1#1] -- register_copy 
    jmp b1
  //SEG296 init_plot_tables::@1
  b1:
  //SEG297 [156] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte/word/signed word/dword/signed dword) 248 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ) -- vbuaa=vbuxx_band_vbuc1 
    txa
    and #$f8
  //SEG298 [157] *((const byte[256]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- pbuc1_derefidx_vbuxx=vbuaa 
    sta plot_xlo,x
  //SEG299 [158] *((const byte[256]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- pbuc1_derefidx_vbuxx=vbuc2 
    lda #>BITMAP
    sta plot_xhi,x
  //SEG300 [159] *((const byte[256]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- pbuc1_derefidx_vbuxx=vbuyy 
    tya
    sta plot_bit,x
  //SEG301 [160] (byte) init_plot_tables::bits#1 ← (byte) init_plot_tables::bits#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ) -- vbuyy=vbuyy_ror_1 
    tya
    lsr
    tay
  //SEG302 [161] if((byte) init_plot_tables::bits#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ) -- vbuyy_neq_0_then_la1 
    cpy #0
    bne b10_from_b1
  //SEG303 [162] phi from init_plot_tables::@1 to init_plot_tables::@2 [phi:init_plot_tables::@1->init_plot_tables::@2]
  b2_from_b1:
  //SEG304 [162] phi (byte) init_plot_tables::bits#4 = (byte/word/signed word/dword/signed dword) 128 [phi:init_plot_tables::@1->init_plot_tables::@2#0] -- vbuyy=vbuc1 
    ldy #$80
    jmp b2
  //SEG305 init_plot_tables::@2
  b2:
  //SEG306 [163] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) -- vbuxx=_inc_vbuxx 
    inx
  //SEG307 [164] if((byte) init_plot_tables::x#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) -- vbuxx_neq_0_then_la1 
    cpx #0
    bne b1_from_b2
  //SEG308 [165] phi from init_plot_tables::@2 to init_plot_tables::@3 [phi:init_plot_tables::@2->init_plot_tables::@3]
  b3_from_b2:
  //SEG309 [165] phi (byte*) init_plot_tables::yoffs#2 = ((byte*))(byte/signed byte/word/signed word/dword/signed dword) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#0] -- pbuz1=pbuc1 
    lda #<0
    sta yoffs
    lda #>0
    sta yoffs+1
  //SEG310 [165] phi (byte) init_plot_tables::y#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#1] -- vbuxx=vbuc1 
    ldx #0
    jmp b3
  //SEG311 [165] phi from init_plot_tables::@4 to init_plot_tables::@3 [phi:init_plot_tables::@4->init_plot_tables::@3]
  b3_from_b4:
  //SEG312 [165] phi (byte*) init_plot_tables::yoffs#2 = (byte*) init_plot_tables::yoffs#4 [phi:init_plot_tables::@4->init_plot_tables::@3#0] -- register_copy 
  //SEG313 [165] phi (byte) init_plot_tables::y#2 = (byte) init_plot_tables::y#1 [phi:init_plot_tables::@4->init_plot_tables::@3#1] -- register_copy 
    jmp b3
  //SEG314 init_plot_tables::@3
  b3:
  //SEG315 [166] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ) -- vbuz1=vbuxx_band_vbuc1 
    txa
    and #7
    sta _6
  //SEG316 [167] (byte~) init_plot_tables::$7 ← < (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ) -- vbuaa=_lo_pbuz1 
    lda yoffs
  //SEG317 [168] (byte~) init_plot_tables::$8 ← (byte~) init_plot_tables::$6 | (byte~) init_plot_tables::$7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ) -- vbuaa=vbuz1_bor_vbuaa 
    ora _6
  //SEG318 [169] *((const byte[256]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- pbuc1_derefidx_vbuxx=vbuaa 
    sta plot_ylo,x
  //SEG319 [170] (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ) -- vbuaa=_hi_pbuz1 
    lda yoffs+1
  //SEG320 [171] *((const byte[256]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- pbuc1_derefidx_vbuxx=vbuaa 
    sta plot_yhi,x
  //SEG321 [172] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ) -- vbuaa=vbuxx_band_vbuc1 
    txa
    and #7
  //SEG322 [173] if((byte~) init_plot_tables::$10!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- vbuaa_neq_vbuc1_then_la1 
    cmp #7
    bne b4_from_b3
    jmp b7
  //SEG323 init_plot_tables::@7
  b7:
  //SEG324 [174] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 8 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ) -- pbuz1=pbuz1_plus_vwuc1 
    lda yoffs
    clc
    adc #<$28*8
    sta yoffs
    lda yoffs+1
    adc #>$28*8
    sta yoffs+1
  //SEG325 [175] phi from init_plot_tables::@3 init_plot_tables::@7 to init_plot_tables::@4 [phi:init_plot_tables::@3/init_plot_tables::@7->init_plot_tables::@4]
  b4_from_b3:
  b4_from_b7:
  //SEG326 [175] phi (byte*) init_plot_tables::yoffs#4 = (byte*) init_plot_tables::yoffs#2 [phi:init_plot_tables::@3/init_plot_tables::@7->init_plot_tables::@4#0] -- register_copy 
    jmp b4
  //SEG327 init_plot_tables::@4
  b4:
  //SEG328 [176] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) -- vbuxx=_inc_vbuxx 
    inx
  //SEG329 [177] if((byte) init_plot_tables::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) -- vbuxx_neq_0_then_la1 
    cpx #0
    bne b3_from_b4
    jmp breturn
  //SEG330 init_plot_tables::@return
  breturn:
  //SEG331 [178] return  [ ] ( main:2::init_plot_tables:10 [ ] )
    rts
  //SEG332 [179] phi from init_plot_tables::@1 to init_plot_tables::@10 [phi:init_plot_tables::@1->init_plot_tables::@10]
  b10_from_b1:
    jmp b10
  //SEG333 init_plot_tables::@10
  b10:
  //SEG334 [162] phi from init_plot_tables::@10 to init_plot_tables::@2 [phi:init_plot_tables::@10->init_plot_tables::@2]
  b2_from_b10:
  //SEG335 [162] phi (byte) init_plot_tables::bits#4 = (byte) init_plot_tables::bits#1 [phi:init_plot_tables::@10->init_plot_tables::@2#0] -- register_copy 
    jmp b2
}
//SEG336 init_screen
init_screen: {
    .label b = $10
    .label c = $12
  //SEG337 [181] phi from init_screen to init_screen::@1 [phi:init_screen->init_screen::@1]
  b1_from_init_screen:
  //SEG338 [181] phi (byte*) init_screen::b#2 = (const byte*) BITMAP#0 [phi:init_screen->init_screen::@1#0] -- pbuz1=pbuc1 
    lda #<BITMAP
    sta b
    lda #>BITMAP
    sta b+1
    jmp b1
  //SEG339 [181] phi from init_screen::@1 to init_screen::@1 [phi:init_screen::@1->init_screen::@1]
  b1_from_b1:
  //SEG340 [181] phi (byte*) init_screen::b#2 = (byte*) init_screen::b#1 [phi:init_screen::@1->init_screen::@1#0] -- register_copy 
    jmp b1
  //SEG341 init_screen::@1
  b1:
  //SEG342 [182] *((byte*) init_screen::b#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ init_screen::b#2 ] ( main:2::init_screen:8 [ init_screen::b#2 ] ) -- _deref_pbuz1=vbuc1 
    lda #0
    ldy #0
    sta (b),y
  //SEG343 [183] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] ( main:2::init_screen:8 [ init_screen::b#1 ] ) -- pbuz1=_inc_pbuz1 
    inc b
    bne !+
    inc b+1
  !:
  //SEG344 [184] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word/signed word/dword/signed dword) 8192) goto init_screen::@1 [ init_screen::b#1 ] ( main:2::init_screen:8 [ init_screen::b#1 ] ) -- pbuz1_neq_pbuc1_then_la1 
    lda b+1
    cmp #>BITMAP+$2000
    bne b1_from_b1
    lda b
    cmp #<BITMAP+$2000
    bne b1_from_b1
  //SEG345 [185] phi from init_screen::@1 to init_screen::@2 [phi:init_screen::@1->init_screen::@2]
  b2_from_b1:
  //SEG346 [185] phi (byte*) init_screen::c#2 = (const byte*) SCREEN#0 [phi:init_screen::@1->init_screen::@2#0] -- pbuz1=pbuc1 
    lda #<SCREEN
    sta c
    lda #>SCREEN
    sta c+1
    jmp b2
  //SEG347 [185] phi from init_screen::@2 to init_screen::@2 [phi:init_screen::@2->init_screen::@2]
  b2_from_b2:
  //SEG348 [185] phi (byte*) init_screen::c#2 = (byte*) init_screen::c#1 [phi:init_screen::@2->init_screen::@2#0] -- register_copy 
    jmp b2
  //SEG349 init_screen::@2
  b2:
  //SEG350 [186] *((byte*) init_screen::c#2) ← (byte/signed byte/word/signed word/dword/signed dword) 20 [ init_screen::c#2 ] ( main:2::init_screen:8 [ init_screen::c#2 ] ) -- _deref_pbuz1=vbuc1 
    lda #$14
    ldy #0
    sta (c),y
  //SEG351 [187] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] ( main:2::init_screen:8 [ init_screen::c#1 ] ) -- pbuz1=_inc_pbuz1 
    inc c
    bne !+
    inc c+1
  !:
  //SEG352 [188] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word/signed word/dword/signed dword) 1024) goto init_screen::@2 [ init_screen::c#1 ] ( main:2::init_screen:8 [ init_screen::c#1 ] ) -- pbuz1_neq_pbuc1_then_la1 
    lda c+1
    cmp #>SCREEN+$400
    bne b2_from_b2
    lda c
    cmp #<SCREEN+$400
    bne b2_from_b2
    jmp breturn
  //SEG353 init_screen::@return
  breturn:
  //SEG354 [189] return  [ ] ( main:2::init_screen:8 [ ] )
    rts
}
  plot_xlo: .fill $100, 0
  plot_xhi: .fill $100, 0
  plot_ylo: .fill $100, 0
  plot_yhi: .fill $100, 0
  plot_bit: .fill $100, 0
  lines_x: .byte $3c, $50, $6e, $50, $3c, $28, $a, $28, $3c
  lines_y: .byte $a, $28, $3c, $50, $6e, $50, $3c, $28, $a

ASSEMBLER OPTIMIZATIONS
Removing instruction jmp b10
Removing instruction jmp bend
Removing instruction jmp b3
Removing instruction jmp b1
Removing instruction jmp b5
Removing instruction jmp breturn
Removing instruction jmp b1
Removing instruction jmp b3
Removing instruction jmp breturn
Removing instruction jmp b15
Removing instruction jmp b16
Removing instruction jmp b17
Removing instruction jmp breturn
Removing instruction jmp b20
Removing instruction jmp b23
Removing instruction jmp b24
Removing instruction jmp b27
Removing instruction jmp b1
Removing instruction jmp b5
Removing instruction jmp b3
Removing instruction jmp b2
Removing instruction jmp breturn
Removing instruction jmp breturn
Removing instruction jmp b1
Removing instruction jmp b5
Removing instruction jmp b3
Removing instruction jmp b2
Removing instruction jmp breturn
Removing instruction jmp b1
Removing instruction jmp b5
Removing instruction jmp b3
Removing instruction jmp b2
Removing instruction jmp breturn
Removing instruction jmp b1
Removing instruction jmp b5
Removing instruction jmp b3
Removing instruction jmp b2
Removing instruction jmp breturn
Removing instruction jmp b1
Removing instruction jmp b2
Removing instruction jmp b3
Removing instruction jmp b7
Removing instruction jmp b4
Removing instruction jmp breturn
Removing instruction jmp b10
Removing instruction jmp b1
Removing instruction jmp b2
Removing instruction jmp breturn
Succesful ASM optimization Pass5NextJumpElimination
Removing instruction lda #0
Removing instruction ldy l
Removing instruction ldy l
Removing instruction lda yd_1
Removing instruction lda yd
Removing instruction lda yd
Removing instruction lda yd_10
Removing instruction ldy #0
Removing instruction lda #>0
Replacing instruction ldx #0 with TAX
Replacing instruction ldy #0 with TAY
Succesful ASM optimization Pass5UnnecesaryLoadElimination
Replacing label b1_from_b5 with b1
Replacing label b1_from_b3 with b1
Replacing label b2_from_b5 with b2
Replacing label b1_from_b2 with b1
Replacing label b2_from_b5 with b2
Replacing label b1_from_b2 with b1
Replacing label b2_from_b5 with b2
Replacing label b1_from_b2 with b1
Replacing label b2_from_b5 with b2
Replacing label b1_from_b2 with b1
Replacing label b10_from_b1 with b10
Replacing label b1_from_b2 with b1
Replacing label b4_from_b3 with b4
Replacing label b3_from_b4 with b3
Replacing label b1_from_b1 with b1
Replacing label b1_from_b1 with b1
Replacing label b2_from_b2 with b2
Replacing label b2_from_b2 with b2
Removing instruction bbegin:
Removing instruction b10_from_bbegin:
Removing instruction bend_from_b10:
Removing instruction b3_from_main:
Removing instruction init_plot_tables_from_b3:
Removing instruction b1_from_b3:
Removing instruction b1_from_b5:
Removing instruction lines_from_b1:
Removing instruction b1_from_b3:
Removing instruction b1_from_line_ydxi:
Removing instruction b1_from_b2:
Removing instruction b2_from_b3:
Removing instruction b2_from_b5:
Removing instruction b1_from_line_xdyi:
Removing instruction b1_from_b2:
Removing instruction b2_from_b3:
Removing instruction b2_from_b5:
Removing instruction b1_from_line_ydxd:
Removing instruction b1_from_b2:
Removing instruction b2_from_b3:
Removing instruction b2_from_b5:
Removing instruction b1_from_line_xdyd:
Removing instruction b1_from_b2:
Removing instruction b2_from_b3:
Removing instruction b2_from_b5:
Removing instruction b1_from_b2:
Removing instruction b3_from_b4:
Removing instruction b4_from_b3:
Removing instruction b4_from_b7:
Removing instruction b10_from_b1:
Removing instruction b2_from_b10:
Removing instruction b1_from_b1:
Removing instruction b2_from_b2:
Succesful ASM optimization Pass5RedundantLabelElimination
Removing instruction b10:
Removing instruction bend:
Removing instruction init_screen_from_main:
Removing instruction b3:
Removing instruction b5:
Removing instruction breturn:
Removing instruction b1_from_lines:
Removing instruction b3:
Removing instruction breturn:
Removing instruction b15:
Removing instruction b16:
Removing instruction b17:
Removing instruction line_xdyi_from_b17:
Removing instruction line_ydxi_from_b3:
Removing instruction b20:
Removing instruction line_xdyd_from_b20:
Removing instruction line_ydxd_from_b6:
Removing instruction b23:
Removing instruction b24:
Removing instruction line_xdyd_from_b24:
Removing instruction line_ydxd_from_b10:
Removing instruction b27:
Removing instruction line_xdyi_from_b27:
Removing instruction line_ydxi_from_b13:
Removing instruction plot_from_b1:
Removing instruction b5:
Removing instruction b3:
Removing instruction breturn:
Removing instruction breturn:
Removing instruction plot_from_b1:
Removing instruction b5:
Removing instruction b3:
Removing instruction breturn:
Removing instruction plot_from_b1:
Removing instruction b5:
Removing instruction b3:
Removing instruction breturn:
Removing instruction plot_from_b1:
Removing instruction b5:
Removing instruction b3:
Removing instruction breturn:
Removing instruction b1_from_init_plot_tables:
Removing instruction b2_from_b1:
Removing instruction b3_from_b2:
Removing instruction b7:
Removing instruction breturn:
Removing instruction b1_from_init_screen:
Removing instruction b2_from_b1:
Removing instruction breturn:
Succesful ASM optimization Pass5UnusedLabelElimination
Skipping double jump to b2 in bne b10
Succesful ASM optimization Pass5DoubleJumpElimination
Removing unreachable instruction rts
Succesful ASM optimization Pass5UnreachableCodeElimination
Removing instruction jmp b1
Removing instruction jmp b1
Removing instruction jmp b3
Removing instruction jmp b1
Removing instruction jmp b2
Succesful ASM optimization Pass5NextJumpElimination
Removing instruction b10:
Succesful ASM optimization Pass5UnusedLabelElimination
Removing unreachable instruction jmp b2
Succesful ASM optimization Pass5UnreachableCodeElimination

FINAL SYMBOL TABLE
(label) @10
(label) @begin
(label) @end
(byte*) BGCOL
(const byte*) BGCOL#0 BGCOL = ((byte*))(word/dword/signed dword) 53280
(byte*) BITMAP
(const byte*) BITMAP#0 BITMAP = ((byte*))(word/signed word/dword/signed dword) 8192
(byte) BMM
(const byte) BMM#0 BMM = (byte/signed byte/word/signed word/dword/signed dword) 32
(byte*) D011
(const byte*) D011#0 D011 = ((byte*))(word/dword/signed dword) 53265
(byte*) D018
(const byte*) D018#0 D018 = ((byte*))(word/dword/signed dword) 53272
(byte) DEN
(const byte) DEN#0 DEN = (byte/signed byte/word/signed word/dword/signed dword) 16
(byte*) FGCOL
(const byte*) FGCOL#0 FGCOL = ((byte*))(word/dword/signed dword) 53281
(byte) RSEL
(const byte) RSEL#0 RSEL = (byte/signed byte/word/signed word/dword/signed dword) 8
(byte*) SCREEN
(const byte*) SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) 1024
(void()) init_plot_tables()
(byte~) init_plot_tables::$0 reg byte a 22.0
(byte~) init_plot_tables::$10 reg byte a 22.0
(byte~) init_plot_tables::$6 $6 zp ZP_BYTE:27 11.0
(byte~) init_plot_tables::$7 reg byte a 22.0
(byte~) init_plot_tables::$8 reg byte a 22.0
(byte~) init_plot_tables::$9 reg byte a 22.0
(label) init_plot_tables::@1
(label) init_plot_tables::@10
(label) init_plot_tables::@2
(label) init_plot_tables::@3
(label) init_plot_tables::@4
(label) init_plot_tables::@7
(label) init_plot_tables::@return
(byte) init_plot_tables::bits
(byte) init_plot_tables::bits#1 reg byte y 11.0
(byte) init_plot_tables::bits#3 reg byte y 6.6000000000000005
(byte) init_plot_tables::bits#4 reg byte y 7.333333333333333
(byte) init_plot_tables::x
(byte) init_plot_tables::x#1 reg byte x 16.5
(byte) init_plot_tables::x#2 reg byte x 7.333333333333334
(byte) init_plot_tables::y
(byte) init_plot_tables::y#1 reg byte x 16.5
(byte) init_plot_tables::y#2 reg byte x 6.0
(byte*) init_plot_tables::yoffs
(byte*) init_plot_tables::yoffs#1 yoffs zp ZP_WORD:14 22.0
(byte*) init_plot_tables::yoffs#2 yoffs zp ZP_WORD:14 6.111111111111112
(byte*) init_plot_tables::yoffs#4 yoffs zp ZP_WORD:14 11.0
(void()) init_screen()
(label) init_screen::@1
(label) init_screen::@2
(label) init_screen::@return
(byte*) init_screen::b
(byte*) init_screen::b#1 b zp ZP_WORD:16 16.5
(byte*) init_screen::b#2 b zp ZP_WORD:16 16.5
(byte*) init_screen::c
(byte*) init_screen::c#1 c zp ZP_WORD:18 16.5
(byte*) init_screen::c#2 c zp ZP_WORD:18 16.5
(void()) line((byte) line::x0 , (byte) line::x1 , (byte) line::y0 , (byte) line::y1)
(label) line::@1
(label) line::@10
(label) line::@13
(label) line::@15
(label) line::@16
(label) line::@17
(label) line::@2
(label) line::@20
(label) line::@23
(label) line::@24
(label) line::@27
(label) line::@3
(label) line::@6
(label) line::@9
(label) line::@return
(byte) line::x0
(byte) line::x0#0 x0 zp ZP_BYTE:8 5.173913043478264
(byte) line::x1
(byte) line::x1#0 x1 zp ZP_BYTE:20 5.409090909090908
(byte) line::xd
(byte) line::xd#0 xd zp ZP_BYTE:3 0.7
(byte) line::xd#1 xd zp ZP_BYTE:3 0.7
(byte) line::y0
(byte) line::y0#0 y0 zp ZP_BYTE:5 5.952380952380948
(byte) line::y1
(byte) line::y1#0 reg byte y 6.249999999999996
(byte) line::yd
(byte) line::yd#0 yd zp ZP_BYTE:10 0.8888888888888888
(byte) line::yd#1 yd#1 zp ZP_BYTE:4 0.8888888888888888
(byte) line::yd#10 yd#10 zp ZP_BYTE:4 0.8888888888888888
(byte) line::yd#3 yd zp ZP_BYTE:10 0.8888888888888888
(void()) line_xdyd((byte) line_xdyd::x , (byte) line_xdyd::y , (byte) line_xdyd::x1 , (byte) line_xdyd::xd , (byte) line_xdyd::yd)
(byte/word~) line_xdyd::$6 $6 zp ZP_BYTE:26 2002.0
(label) line_xdyd::@1
(label) line_xdyd::@2
(label) line_xdyd::@3
(label) line_xdyd::@5
(label) line_xdyd::@return
(byte) line_xdyd::e
(byte) line_xdyd::e#0 e zp ZP_BYTE:13 4.0
(byte) line_xdyd::e#1 e zp ZP_BYTE:13 1334.6666666666667
(byte) line_xdyd::e#2 e zp ZP_BYTE:13 2002.0
(byte) line_xdyd::e#3 e zp ZP_BYTE:13 400.79999999999995
(byte) line_xdyd::e#6 e zp ZP_BYTE:13 1001.0
(byte) line_xdyd::x
(byte) line_xdyd::x#0 reg byte x 0.8
(byte) line_xdyd::x#1 reg byte x 0.8
(byte) line_xdyd::x#2 reg byte x 375.375
(byte) line_xdyd::x#3 reg byte x 751.25
(byte) line_xdyd::x#6 reg byte x 3.0
(byte) line_xdyd::x1
(byte) line_xdyd::x1#0 x1 zp ZP_BYTE:8 1.3333333333333333
(byte) line_xdyd::x1#1 x1 zp ZP_BYTE:8 1.3333333333333333
(byte) line_xdyd::x1#6 x1 zp ZP_BYTE:8 71.78571428571429
(byte) line_xdyd::xd
(byte) line_xdyd::xd#0 xd zp ZP_BYTE:3 2.0
(byte) line_xdyd::xd#1 xd zp ZP_BYTE:3 2.0
(byte) line_xdyd::xd#5 xd zp ZP_BYTE:3 143.28571428571428
(byte) line_xdyd::y
(byte) line_xdyd::y#0 y zp ZP_BYTE:5 1.0
(byte) line_xdyd::y#1 y zp ZP_BYTE:5 1.0
(byte) line_xdyd::y#2 y zp ZP_BYTE:5 1001.0
(byte) line_xdyd::y#3 y zp ZP_BYTE:5 572.2857142857142
(byte) line_xdyd::y#5 y zp ZP_BYTE:5 3.0
(byte) line_xdyd::y#6 y zp ZP_BYTE:5 1001.0
(byte) line_xdyd::yd
(byte) line_xdyd::yd#0 yd zp ZP_BYTE:10 4.0
(byte) line_xdyd::yd#1 yd zp ZP_BYTE:10 4.0
(byte) line_xdyd::yd#2 yd zp ZP_BYTE:10 71.92857142857143
(void()) line_xdyi((byte) line_xdyi::x , (byte) line_xdyi::y , (byte) line_xdyi::x1 , (byte) line_xdyi::xd , (byte) line_xdyi::yd)
(byte/word~) line_xdyi::$6 $6 zp ZP_BYTE:25 2002.0
(label) line_xdyi::@1
(label) line_xdyi::@2
(label) line_xdyi::@3
(label) line_xdyi::@5
(label) line_xdyi::@return
(byte) line_xdyi::e
(byte) line_xdyi::e#0 e zp ZP_BYTE:9 4.0
(byte) line_xdyi::e#1 e zp ZP_BYTE:9 1334.6666666666667
(byte) line_xdyi::e#2 e zp ZP_BYTE:9 2002.0
(byte) line_xdyi::e#3 e zp ZP_BYTE:9 400.79999999999995
(byte) line_xdyi::e#6 e zp ZP_BYTE:9 1001.0
(byte) line_xdyi::x
(byte) line_xdyi::x#0 reg byte x 0.8
(byte) line_xdyi::x#1 reg byte x 0.8
(byte) line_xdyi::x#2 reg byte x 375.375
(byte) line_xdyi::x#3 reg byte x 751.25
(byte) line_xdyi::x#6 reg byte x 3.0
(byte) line_xdyi::x1
(byte) line_xdyi::x1#0 x1 zp ZP_BYTE:8 1.3333333333333333
(byte) line_xdyi::x1#1 x1 zp ZP_BYTE:8 1.3333333333333333
(byte) line_xdyi::x1#6 x1 zp ZP_BYTE:8 71.78571428571429
(byte) line_xdyi::xd
(byte) line_xdyi::xd#0 xd zp ZP_BYTE:3 2.0
(byte) line_xdyi::xd#1 xd zp ZP_BYTE:3 2.0
(byte) line_xdyi::xd#5 xd zp ZP_BYTE:3 143.28571428571428
(byte) line_xdyi::y
(byte) line_xdyi::y#0 y zp ZP_BYTE:5 1.0
(byte) line_xdyi::y#1 y zp ZP_BYTE:5 1.0
(byte) line_xdyi::y#2 y zp ZP_BYTE:5 1001.0
(byte) line_xdyi::y#3 y zp ZP_BYTE:5 572.2857142857142
(byte) line_xdyi::y#5 y zp ZP_BYTE:5 3.0
(byte) line_xdyi::y#6 y zp ZP_BYTE:5 1001.0
(byte) line_xdyi::yd
(byte) line_xdyi::yd#0 yd zp ZP_BYTE:4 4.0
(byte) line_xdyi::yd#1 yd zp ZP_BYTE:4 4.0
(byte) line_xdyi::yd#2 yd zp ZP_BYTE:4 71.92857142857143
(void()) line_ydxd((byte) line_ydxd::y , (byte) line_ydxd::x , (byte) line_ydxd::y1 , (byte) line_ydxd::yd , (byte) line_ydxd::xd)
(byte/word~) line_ydxd::$6 reg byte y 2002.0
(label) line_ydxd::@1
(label) line_ydxd::@2
(label) line_ydxd::@3
(label) line_ydxd::@5
(label) line_ydxd::@return
(byte) line_ydxd::e
(byte) line_ydxd::e#0 e zp ZP_BYTE:12 4.0
(byte) line_ydxd::e#1 e zp ZP_BYTE:12 1334.6666666666667
(byte) line_ydxd::e#2 e zp ZP_BYTE:12 2002.0
(byte) line_ydxd::e#3 e zp ZP_BYTE:12 400.79999999999995
(byte) line_ydxd::e#6 e zp ZP_BYTE:12 1001.0
(byte) line_ydxd::x
(byte) line_ydxd::x#0 reg byte x 1.0
(byte) line_ydxd::x#1 reg byte x 1.0
(byte) line_ydxd::x#2 reg byte x 1001.0
(byte) line_ydxd::x#3 reg byte x 572.2857142857142
(byte) line_ydxd::x#5 reg byte x 3.0
(byte) line_ydxd::x#6 reg byte x 1001.0
(byte) line_ydxd::xd
(byte) line_ydxd::xd#0 xd zp ZP_BYTE:3 4.0
(byte) line_ydxd::xd#1 xd zp ZP_BYTE:3 4.0
(byte) line_ydxd::xd#2 xd zp ZP_BYTE:3 71.92857142857143
(byte) line_ydxd::y
(byte) line_ydxd::y#0 y zp ZP_BYTE:11 0.8
(byte) line_ydxd::y#1 y zp ZP_BYTE:11 0.8
(byte) line_ydxd::y#2 y zp ZP_BYTE:11 751.25
(byte) line_ydxd::y#3 y zp ZP_BYTE:11 375.375
(byte) line_ydxd::y#7 y zp ZP_BYTE:11 3.0
(byte) line_ydxd::y1
(byte) line_ydxd::y1#0 y1 zp ZP_BYTE:5 1.3333333333333333
(byte) line_ydxd::y1#1 y1 zp ZP_BYTE:5 1.3333333333333333
(byte) line_ydxd::y1#6 y1 zp ZP_BYTE:5 71.78571428571429
(byte) line_ydxd::yd
(byte) line_ydxd::yd#0 yd zp ZP_BYTE:10 2.0
(byte) line_ydxd::yd#1 yd zp ZP_BYTE:10 2.0
(byte) line_ydxd::yd#5 yd zp ZP_BYTE:10 143.28571428571428
(void()) line_ydxi((byte) line_ydxi::y , (byte) line_ydxi::x , (byte) line_ydxi::y1 , (byte) line_ydxi::yd , (byte) line_ydxi::xd)
(byte/word~) line_ydxi::$6 reg byte y 2002.0
(label) line_ydxi::@1
(label) line_ydxi::@2
(label) line_ydxi::@3
(label) line_ydxi::@5
(label) line_ydxi::@return
(byte) line_ydxi::e
(byte) line_ydxi::e#0 e zp ZP_BYTE:7 4.0
(byte) line_ydxi::e#1 e zp ZP_BYTE:7 1334.6666666666667
(byte) line_ydxi::e#2 e zp ZP_BYTE:7 2002.0
(byte) line_ydxi::e#3 e zp ZP_BYTE:7 400.79999999999995
(byte) line_ydxi::e#6 e zp ZP_BYTE:7 1001.0
(byte) line_ydxi::x
(byte) line_ydxi::x#0 reg byte x 1.0
(byte) line_ydxi::x#1 reg byte x 1.0
(byte) line_ydxi::x#2 reg byte x 1001.0
(byte) line_ydxi::x#3 reg byte x 572.2857142857142
(byte) line_ydxi::x#5 reg byte x 3.0
(byte) line_ydxi::x#6 reg byte x 1001.0
(byte) line_ydxi::xd
(byte) line_ydxi::xd#0 xd zp ZP_BYTE:3 4.0
(byte) line_ydxi::xd#1 xd zp ZP_BYTE:3 4.0
(byte) line_ydxi::xd#2 xd zp ZP_BYTE:3 71.92857142857143
(byte) line_ydxi::y
(byte) line_ydxi::y#0 y zp ZP_BYTE:6 0.8
(byte) line_ydxi::y#1 y zp ZP_BYTE:6 0.8
(byte) line_ydxi::y#2 y zp ZP_BYTE:6 375.375
(byte) line_ydxi::y#3 y zp ZP_BYTE:6 751.25
(byte) line_ydxi::y#6 y zp ZP_BYTE:6 3.0
(byte) line_ydxi::y1
(byte) line_ydxi::y1#0 y1 zp ZP_BYTE:5 1.3333333333333333
(byte) line_ydxi::y1#1 y1 zp ZP_BYTE:5 1.3333333333333333
(byte) line_ydxi::y1#6 y1 zp ZP_BYTE:5 71.78571428571429
(byte) line_ydxi::yd
(byte) line_ydxi::yd#0 yd zp ZP_BYTE:4 2.0
(byte) line_ydxi::yd#1 yd zp ZP_BYTE:4 2.0
(byte) line_ydxi::yd#5 yd zp ZP_BYTE:4 143.28571428571428
(void()) lines()
(label) lines::@1
(label) lines::@3
(label) lines::@return
(byte) lines::l
(byte) lines::l#1 l zp ZP_BYTE:2 151.5
(byte) lines::l#2 l zp ZP_BYTE:2 100.99999999999999
(byte) lines_cnt
(const byte) lines_cnt#0 lines_cnt = (byte/signed byte/word/signed word/dword/signed dword) 8
(byte[]) lines_x
(const byte[]) lines_x#0 lines_x = { (byte/signed byte/word/signed word/dword/signed dword) 60, (byte/signed byte/word/signed word/dword/signed dword) 80, (byte/signed byte/word/signed word/dword/signed dword) 110, (byte/signed byte/word/signed word/dword/signed dword) 80, (byte/signed byte/word/signed word/dword/signed dword) 60, (byte/signed byte/word/signed word/dword/signed dword) 40, (byte/signed byte/word/signed word/dword/signed dword) 10, (byte/signed byte/word/signed word/dword/signed dword) 40, (byte/signed byte/word/signed word/dword/signed dword) 60 }
(byte[]) lines_y
(const byte[]) lines_y#0 lines_y = { (byte/signed byte/word/signed word/dword/signed dword) 10, (byte/signed byte/word/signed word/dword/signed dword) 40, (byte/signed byte/word/signed word/dword/signed dword) 60, (byte/signed byte/word/signed word/dword/signed dword) 80, (byte/signed byte/word/signed word/dword/signed dword) 110, (byte/signed byte/word/signed word/dword/signed dword) 80, (byte/signed byte/word/signed word/dword/signed dword) 60, (byte/signed byte/word/signed word/dword/signed dword) 40, (byte/signed byte/word/signed word/dword/signed dword) 10 }
(void()) main()
(label) main::@1
(label) main::@3
(label) main::@5
(label) main::@return
(void()) plot((byte) plot::x , (byte) plot::y)
(word~) plot::$0 $0 zp ZP_WORD:21 1.0
(byte~) plot::$1 reg byte a 4.0
(label) plot::@return
(byte*) plot::plotter
(word) plot::plotter_x
(word) plot::plotter_x#0 plotter_x zp ZP_WORD:21 2.0
(word) plot::plotter_y
(word) plot::plotter_y#0 plotter_y zp ZP_WORD:23 4.0
(byte) plot::x
(byte) plot::x#0 reg byte x 1001.0
(byte) plot::x#1 reg byte x 1001.0
(byte) plot::x#2 reg byte x 1001.0
(byte) plot::x#3 reg byte x 1001.0
(byte) plot::x#4 reg byte x 1002.5
(byte) plot::y
(byte) plot::y#0 reg byte y 2002.0
(byte) plot::y#1 reg byte y 2002.0
(byte) plot::y#2 reg byte y 2002.0
(byte) plot::y#3 reg byte y 2002.0
(byte) plot::y#4 reg byte y 2004.0
(byte[256]) plot_bit
(const byte[256]) plot_bit#0 plot_bit = { fill( 256, 0) }
(byte[256]) plot_xhi
(const byte[256]) plot_xhi#0 plot_xhi = { fill( 256, 0) }
(byte[256]) plot_xlo
(const byte[256]) plot_xlo#0 plot_xlo = { fill( 256, 0) }
(byte[256]) plot_yhi
(const byte[256]) plot_yhi#0 plot_yhi = { fill( 256, 0) }
(byte[256]) plot_ylo
(const byte[256]) plot_ylo#0 plot_ylo = { fill( 256, 0) }

zp ZP_BYTE:2 [ lines::l#2 lines::l#1 ]
zp ZP_BYTE:3 [ line_ydxi::xd#2 line_ydxi::xd#1 line_ydxi::xd#0 line::xd#1 line_xdyi::xd#5 line_xdyi::xd#0 line_xdyi::xd#1 line::xd#0 line_ydxd::xd#2 line_ydxd::xd#1 line_ydxd::xd#0 line_xdyd::xd#5 line_xdyd::xd#0 line_xdyd::xd#1 ]
zp ZP_BYTE:4 [ line_ydxi::yd#5 line_ydxi::yd#1 line_ydxi::yd#0 line::yd#1 line_xdyi::yd#2 line_xdyi::yd#0 line_xdyi::yd#1 line::yd#10 ]
zp ZP_BYTE:5 [ line_ydxi::y1#6 line_ydxi::y1#1 line_ydxi::y1#0 line::y0#0 line_xdyi::y#3 line_xdyi::y#5 line_xdyi::y#0 line_xdyi::y#1 line_xdyi::y#6 line_xdyi::y#2 line_ydxd::y1#6 line_ydxd::y1#1 line_ydxd::y1#0 line_xdyd::y#3 line_xdyd::y#5 line_xdyd::y#0 line_xdyd::y#1 line_xdyd::y#6 line_xdyd::y#2 ]
reg byte x [ line_ydxi::x#3 line_ydxi::x#5 line_ydxi::x#1 line_ydxi::x#0 line_ydxi::x#6 line_ydxi::x#2 ]
zp ZP_BYTE:6 [ line_ydxi::y#3 line_ydxi::y#6 line_ydxi::y#1 line_ydxi::y#0 line_ydxi::y#2 ]
zp ZP_BYTE:7 [ line_ydxi::e#3 line_ydxi::e#0 line_ydxi::e#6 line_ydxi::e#2 line_ydxi::e#1 ]
reg byte x [ plot::x#4 plot::x#1 plot::x#0 plot::x#3 plot::x#2 ]
reg byte y [ plot::y#4 plot::y#1 plot::y#0 plot::y#3 plot::y#2 ]
zp ZP_BYTE:8 [ line_xdyi::x1#6 line_xdyi::x1#0 line_xdyi::x1#1 line::x0#0 line_xdyd::x1#6 line_xdyd::x1#0 line_xdyd::x1#1 ]
reg byte x [ line_xdyi::x#3 line_xdyi::x#6 line_xdyi::x#0 line_xdyi::x#1 line_xdyi::x#2 ]
zp ZP_BYTE:9 [ line_xdyi::e#3 line_xdyi::e#0 line_xdyi::e#6 line_xdyi::e#2 line_xdyi::e#1 ]
zp ZP_BYTE:10 [ line_ydxd::yd#5 line_ydxd::yd#1 line_ydxd::yd#0 line::yd#0 line_xdyd::yd#2 line_xdyd::yd#0 line_xdyd::yd#1 line::yd#3 ]
reg byte x [ line_ydxd::x#3 line_ydxd::x#5 line_ydxd::x#1 line_ydxd::x#0 line_ydxd::x#6 line_ydxd::x#2 ]
zp ZP_BYTE:11 [ line_ydxd::y#2 line_ydxd::y#7 line_ydxd::y#1 line_ydxd::y#0 line_ydxd::y#3 ]
zp ZP_BYTE:12 [ line_ydxd::e#3 line_ydxd::e#0 line_ydxd::e#6 line_ydxd::e#2 line_ydxd::e#1 ]
reg byte x [ line_xdyd::x#3 line_xdyd::x#6 line_xdyd::x#0 line_xdyd::x#1 line_xdyd::x#2 ]
zp ZP_BYTE:13 [ line_xdyd::e#3 line_xdyd::e#0 line_xdyd::e#6 line_xdyd::e#2 line_xdyd::e#1 ]
reg byte x [ init_plot_tables::x#2 init_plot_tables::x#1 ]
reg byte y [ init_plot_tables::bits#3 init_plot_tables::bits#4 init_plot_tables::bits#1 ]
reg byte x [ init_plot_tables::y#2 init_plot_tables::y#1 ]
zp ZP_WORD:14 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 ]
zp ZP_WORD:16 [ init_screen::b#2 init_screen::b#1 ]
zp ZP_WORD:18 [ init_screen::c#2 init_screen::c#1 ]
zp ZP_BYTE:20 [ line::x1#0 ]
reg byte y [ line::y1#0 ]
reg byte y [ line_ydxi::$6 ]
zp ZP_WORD:21 [ plot::plotter_x#0 plot::$0 ]
zp ZP_WORD:23 [ plot::plotter_y#0 ]
reg byte a [ plot::$1 ]
zp ZP_BYTE:25 [ line_xdyi::$6 ]
reg byte y [ line_ydxd::$6 ]
zp ZP_BYTE:26 [ line_xdyd::$6 ]
reg byte a [ init_plot_tables::$0 ]
zp ZP_BYTE:27 [ init_plot_tables::$6 ]
reg byte a [ init_plot_tables::$7 ]
reg byte a [ init_plot_tables::$8 ]
reg byte a [ init_plot_tables::$9 ]
reg byte a [ init_plot_tables::$10 ]


FINAL ASSEMBLER
Score: 218255

//SEG0 Basic Upstart
.pc = $801 "Basic"
:BasicUpstart(main)
.pc = $80d "Program"
//SEG1 Global Constants & labels
  .label BGCOL = $d020
  .label FGCOL = $d021
  .label D018 = $d018
  .label D011 = $d011
  .const BMM = $20
  .const DEN = $10
  .const RSEL = 8
  .label SCREEN = $400
  .label BITMAP = $2000
  .const lines_cnt = 8
//SEG2 @begin
//SEG3 [1] phi from @begin to @10 [phi:@begin->@10]
//SEG4 @10
//SEG5 [2] call main param-assignment [ ] ( )
  jsr main
//SEG6 [3] phi from @10 to @end [phi:@10->@end]
//SEG7 @end
//SEG8 main
main: {
  //SEG9 [4] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] ) -- _deref_pbuc1=vbuc2 
    lda #0
    sta BGCOL
  //SEG10 [5] *((const byte*) FGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2 [ ] ) -- _deref_pbuc1=vbuc2 
    sta FGCOL
  //SEG11 [6] *((const byte*) D011#0) ← (const byte) BMM#0|(const byte) DEN#0|(const byte) RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 [ ] ( main:2 [ ] ) -- _deref_pbuc1=vbuc2 
    lda #BMM|DEN|RSEL|3
    sta D011
  //SEG12 [7] *((const byte*) D018#0) ← ((byte))((word))(const byte*) SCREEN#0/(byte/signed byte/word/signed word/dword/signed dword) 64|((word))(const byte*) BITMAP#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2 [ ] ) -- _deref_pbuc1=vbuc2 
    lda #$ff & ($ffff & SCREEN/$40|$ffff & BITMAP/$400)
    sta D018
  //SEG13 [8] call init_screen param-assignment [ ] ( main:2 [ ] )
  //SEG14 [180] phi from main to init_screen [phi:main->init_screen]
    jsr init_screen
  //SEG15 [9] phi from main to main::@3 [phi:main->main::@3]
  //SEG16 main::@3
  //SEG17 [10] call init_plot_tables param-assignment [ ] ( main:2 [ ] )
  //SEG18 [154] phi from main::@3 to init_plot_tables [phi:main::@3->init_plot_tables]
    jsr init_plot_tables
  //SEG19 [11] phi from main::@3 main::@5 to main::@1 [phi:main::@3/main::@5->main::@1]
  //SEG20 main::@1
  b1:
  //SEG21 [12] call lines param-assignment [ ] ( main:2 [ ] )
  //SEG22 [15] phi from main::@1 to lines [phi:main::@1->lines]
    jsr lines
  //SEG23 main::@5
  //SEG24 [13] if(true) goto main::@1 [ ] ( main:2 [ ] ) -- true_then_la1 
    jmp b1
  //SEG25 main::@return
  //SEG26 [14] return  [ ] ( main:2 [ ] )
}
//SEG27 lines
lines: {
    .label l = 2
  //SEG28 [16] phi from lines to lines::@1 [phi:lines->lines::@1]
  //SEG29 [16] phi (byte) lines::l#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:lines->lines::@1#0] -- vbuz1=vbuc1 
    lda #0
    sta l
  //SEG30 [16] phi from lines::@3 to lines::@1 [phi:lines::@3->lines::@1]
  //SEG31 [16] phi (byte) lines::l#2 = (byte) lines::l#1 [phi:lines::@3->lines::@1#0] -- register_copy 
  //SEG32 lines::@1
  b1:
  //SEG33 [17] (byte) line::x0#0 ← *((const byte[]) lines_x#0 + (byte) lines::l#2) [ lines::l#2 line::x0#0 ] ( main:2::lines:12 [ lines::l#2 line::x0#0 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy l
    lda lines_x,y
    sta line.x0
  //SEG34 [18] (byte) line::x1#0 ← *((const byte[]) lines_x#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) lines::l#2) [ lines::l#2 line::x0#0 line::x1#0 ] ( main:2::lines:12 [ lines::l#2 line::x0#0 line::x1#0 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 
    lda lines_x+1,y
    sta line.x1
  //SEG35 [19] (byte) line::y0#0 ← *((const byte[]) lines_y#0 + (byte) lines::l#2) [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 ] ( main:2::lines:12 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 
    lda lines_y,y
    sta line.y0
  //SEG36 [20] (byte) line::y1#0 ← *((const byte[]) lines_y#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) lines::l#2) [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] ( main:2::lines:12 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] ) -- vbuyy=pbuc1_derefidx_vbuz1 
    ldx l
    ldy lines_y+1,x
  //SEG37 [21] call line param-assignment [ lines::l#2 ] ( main:2::lines:12 [ lines::l#2 ] )
    jsr line
  //SEG38 lines::@3
  //SEG39 [22] (byte) lines::l#1 ← ++ (byte) lines::l#2 [ lines::l#1 ] ( main:2::lines:12 [ lines::l#1 ] ) -- vbuz1=_inc_vbuz1 
    inc l
  //SEG40 [23] if((byte) lines::l#1<(const byte) lines_cnt#0) goto lines::@1 [ lines::l#1 ] ( main:2::lines:12 [ lines::l#1 ] ) -- vbuz1_lt_vbuc1_then_la1 
    lda l
    cmp #lines_cnt
    bcc b1
  //SEG41 lines::@return
  //SEG42 [24] return  [ ] ( main:2::lines:12 [ ] )
    rts
}
//SEG43 line
line: {
    .label x0 = 8
    .label x1 = $14
    .label y0 = 5
    .label xd = 3
    .label yd = $a
    .label yd_1 = 4
    .label yd_10 = 4
  //SEG44 [25] if((byte) line::x0#0>=(byte) line::x1#0) goto line::@1 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] ) -- vbuz1_ge_vbuz2_then_la1 
    lda x0
    cmp x1
    bcs b1
  //SEG45 line::@15
  //SEG46 [26] (byte) line::xd#1 ← (byte) line::x1#0 - (byte) line::x0#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 ] ) -- vbuz1=vbuz2_minus_vbuz3 
    lda x1
    sec
    sbc x0
    sta xd
  //SEG47 [27] if((byte) line::y0#0>=(byte) line::y1#0) goto line::@2 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 ] ) -- vbuz1_ge_vbuyy_then_la1 
    lda y0
    sty $ff
    cmp $ff
    bcs b2
  //SEG48 line::@16
  //SEG49 [28] (byte) line::yd#1 ← (byte) line::y1#0 - (byte) line::y0#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#1 ] ) -- vbuz1=vbuyy_minus_vbuz2 
    tya
    sec
    sbc y0
    sta yd_1
  //SEG50 [29] if((byte) line::yd#1>=(byte) line::xd#1) goto line::@3 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#1 ] ) -- vbuz1_ge_vbuz2_then_la1 
    cmp xd
    bcs b3
  //SEG51 line::@17
  //SEG52 [30] (byte) line_xdyi::x#0 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::xd#1 line::yd#1 line_xdyi::x#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x1#0 line::y0#0 line::xd#1 line::yd#1 line_xdyi::x#0 ] ) -- vbuxx=vbuz1 
    ldx x0
  //SEG53 [31] (byte) line_xdyi::y#0 ← (byte) line::y0#0 [ line::x1#0 line::xd#1 line::yd#1 line_xdyi::x#0 line_xdyi::y#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x1#0 line::xd#1 line::yd#1 line_xdyi::x#0 line_xdyi::y#0 ] )
    // (byte) line_xdyi::y#0 = (byte) line::y0#0  // register copy zp ZP_BYTE:5
  //SEG54 [32] (byte) line_xdyi::x1#0 ← (byte) line::x1#0 [ line::xd#1 line::yd#1 line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#1 line::yd#1 line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 ] ) -- vbuz1=vbuz2 
    lda x1
    sta line_xdyi.x1
  //SEG55 [33] (byte) line_xdyi::xd#0 ← (byte) line::xd#1 [ line::yd#1 line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::yd#1 line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 ] )
    // (byte) line_xdyi::xd#0 = (byte) line::xd#1  // register copy zp ZP_BYTE:3
  //SEG56 [34] (byte) line_xdyi::yd#0 ← (byte) line::yd#1 [ line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 ] )
    // (byte) line_xdyi::yd#0 = (byte) line::yd#1  // register copy zp ZP_BYTE:4
  //SEG57 [35] call line_xdyi param-assignment [ ] ( main:2::lines:12::line:21 [ lines::l#2 ] )
  //SEG58 [109] phi from line::@17 to line_xdyi [phi:line::@17->line_xdyi]
  //SEG59 [109] phi (byte) line_xdyi::x1#6 = (byte) line_xdyi::x1#0 [phi:line::@17->line_xdyi#0] -- register_copy 
  //SEG60 [109] phi (byte) line_xdyi::xd#5 = (byte) line_xdyi::xd#0 [phi:line::@17->line_xdyi#1] -- register_copy 
  //SEG61 [109] phi (byte) line_xdyi::y#5 = (byte) line_xdyi::y#0 [phi:line::@17->line_xdyi#2] -- register_copy 
  //SEG62 [109] phi (byte) line_xdyi::x#6 = (byte) line_xdyi::x#0 [phi:line::@17->line_xdyi#3] -- register_copy 
  //SEG63 [109] phi (byte) line_xdyi::yd#2 = (byte) line_xdyi::yd#0 [phi:line::@17->line_xdyi#4] -- register_copy 
    jsr line_xdyi
  //SEG64 line::@return
  breturn:
  //SEG65 [36] return  [ ] ( main:2::lines:12::line:21 [ lines::l#2 ] )
    rts
  //SEG66 line::@3
  b3:
  //SEG67 [37] (byte) line_ydxi::y#0 ← (byte) line::y0#0 [ line::x0#0 line::y1#0 line::xd#1 line::yd#1 line_ydxi::y#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::y1#0 line::xd#1 line::yd#1 line_ydxi::y#0 ] ) -- vbuz1=vbuz2 
    lda y0
    sta line_ydxi.y
  //SEG68 [38] (byte) line_ydxi::x#0 ← (byte) line::x0#0 [ line::y1#0 line::xd#1 line::yd#1 line_ydxi::y#0 line_ydxi::x#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::y1#0 line::xd#1 line::yd#1 line_ydxi::y#0 line_ydxi::x#0 ] ) -- vbuxx=vbuz1 
    ldx x0
  //SEG69 [39] (byte) line_ydxi::y1#0 ← (byte) line::y1#0 [ line::xd#1 line::yd#1 line_ydxi::y#0 line_ydxi::x#0 line_ydxi::y1#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#1 line::yd#1 line_ydxi::y#0 line_ydxi::x#0 line_ydxi::y1#0 ] ) -- vbuz1=vbuyy 
    sty line_ydxi.y1
  //SEG70 [40] (byte) line_ydxi::yd#0 ← (byte) line::yd#1 [ line::xd#1 line_ydxi::y#0 line_ydxi::x#0 line_ydxi::y1#0 line_ydxi::yd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#1 line_ydxi::y#0 line_ydxi::x#0 line_ydxi::y1#0 line_ydxi::yd#0 ] )
    // (byte) line_ydxi::yd#0 = (byte) line::yd#1  // register copy zp ZP_BYTE:4
  //SEG71 [41] (byte) line_ydxi::xd#0 ← (byte) line::xd#1 [ line_ydxi::y#0 line_ydxi::x#0 line_ydxi::y1#0 line_ydxi::yd#0 line_ydxi::xd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line_ydxi::y#0 line_ydxi::x#0 line_ydxi::y1#0 line_ydxi::yd#0 line_ydxi::xd#0 ] )
    // (byte) line_ydxi::xd#0 = (byte) line::xd#1  // register copy zp ZP_BYTE:3
  //SEG72 [42] call line_ydxi param-assignment [ ] ( main:2::lines:12::line:21 [ lines::l#2 ] )
  //SEG73 [87] phi from line::@3 to line_ydxi [phi:line::@3->line_ydxi]
  //SEG74 [87] phi (byte) line_ydxi::y1#6 = (byte) line_ydxi::y1#0 [phi:line::@3->line_ydxi#0] -- register_copy 
  //SEG75 [87] phi (byte) line_ydxi::yd#5 = (byte) line_ydxi::yd#0 [phi:line::@3->line_ydxi#1] -- register_copy 
  //SEG76 [87] phi (byte) line_ydxi::y#6 = (byte) line_ydxi::y#0 [phi:line::@3->line_ydxi#2] -- register_copy 
  //SEG77 [87] phi (byte) line_ydxi::x#5 = (byte) line_ydxi::x#0 [phi:line::@3->line_ydxi#3] -- register_copy 
  //SEG78 [87] phi (byte) line_ydxi::xd#2 = (byte) line_ydxi::xd#0 [phi:line::@3->line_ydxi#4] -- register_copy 
    jsr line_ydxi
    jmp breturn
  //SEG79 line::@2
  b2:
  //SEG80 [43] (byte) line::yd#0 ← (byte) line::y0#0 - (byte) line::y1#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#0 ] ) -- vbuz1=vbuz2_minus_vbuyy 
    tya
    eor #$ff
    sec
    adc y0
    sta yd
  //SEG81 [44] if((byte) line::yd#0>=(byte) line::xd#1) goto line::@6 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#0 ] ) -- vbuz1_ge_vbuz2_then_la1 
    cmp xd
    bcs b6
  //SEG82 line::@20
  //SEG83 [45] (byte) line_xdyd::x#0 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::xd#1 line::yd#0 line_xdyd::x#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x1#0 line::y0#0 line::xd#1 line::yd#0 line_xdyd::x#0 ] ) -- vbuxx=vbuz1 
    ldx x0
  //SEG84 [46] (byte) line_xdyd::y#0 ← (byte) line::y0#0 [ line::x1#0 line::xd#1 line::yd#0 line_xdyd::x#0 line_xdyd::y#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x1#0 line::xd#1 line::yd#0 line_xdyd::x#0 line_xdyd::y#0 ] )
    // (byte) line_xdyd::y#0 = (byte) line::y0#0  // register copy zp ZP_BYTE:5
  //SEG85 [47] (byte) line_xdyd::x1#0 ← (byte) line::x1#0 [ line::xd#1 line::yd#0 line_xdyd::x#0 line_xdyd::y#0 line_xdyd::x1#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#1 line::yd#0 line_xdyd::x#0 line_xdyd::y#0 line_xdyd::x1#0 ] ) -- vbuz1=vbuz2 
    lda x1
    sta line_xdyd.x1
  //SEG86 [48] (byte) line_xdyd::xd#0 ← (byte) line::xd#1 [ line::yd#0 line_xdyd::x#0 line_xdyd::y#0 line_xdyd::x1#0 line_xdyd::xd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::yd#0 line_xdyd::x#0 line_xdyd::y#0 line_xdyd::x1#0 line_xdyd::xd#0 ] )
    // (byte) line_xdyd::xd#0 = (byte) line::xd#1  // register copy zp ZP_BYTE:3
  //SEG87 [49] (byte) line_xdyd::yd#0 ← (byte) line::yd#0 [ line_xdyd::x#0 line_xdyd::y#0 line_xdyd::x1#0 line_xdyd::xd#0 line_xdyd::yd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line_xdyd::x#0 line_xdyd::y#0 line_xdyd::x1#0 line_xdyd::xd#0 line_xdyd::yd#0 ] )
    // (byte) line_xdyd::yd#0 = (byte) line::yd#0  // register copy zp ZP_BYTE:10
  //SEG88 [50] call line_xdyd param-assignment [ ] ( main:2::lines:12::line:21 [ lines::l#2 ] )
  //SEG89 [139] phi from line::@20 to line_xdyd [phi:line::@20->line_xdyd]
  //SEG90 [139] phi (byte) line_xdyd::x1#6 = (byte) line_xdyd::x1#0 [phi:line::@20->line_xdyd#0] -- register_copy 
  //SEG91 [139] phi (byte) line_xdyd::xd#5 = (byte) line_xdyd::xd#0 [phi:line::@20->line_xdyd#1] -- register_copy 
  //SEG92 [139] phi (byte) line_xdyd::y#5 = (byte) line_xdyd::y#0 [phi:line::@20->line_xdyd#2] -- register_copy 
  //SEG93 [139] phi (byte) line_xdyd::x#6 = (byte) line_xdyd::x#0 [phi:line::@20->line_xdyd#3] -- register_copy 
  //SEG94 [139] phi (byte) line_xdyd::yd#2 = (byte) line_xdyd::yd#0 [phi:line::@20->line_xdyd#4] -- register_copy 
    jsr line_xdyd
    jmp breturn
  //SEG95 line::@6
  b6:
  //SEG96 [51] (byte) line_ydxd::y#0 ← (byte) line::y1#0 [ line::x1#0 line::y0#0 line::xd#1 line::yd#0 line_ydxd::y#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x1#0 line::y0#0 line::xd#1 line::yd#0 line_ydxd::y#0 ] ) -- vbuz1=vbuyy 
    sty line_ydxd.y
  //SEG97 [52] (byte) line_ydxd::x#0 ← (byte) line::x1#0 [ line::y0#0 line::xd#1 line::yd#0 line_ydxd::y#0 line_ydxd::x#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::y0#0 line::xd#1 line::yd#0 line_ydxd::y#0 line_ydxd::x#0 ] ) -- vbuxx=vbuz1 
    ldx x1
  //SEG98 [53] (byte) line_ydxd::y1#0 ← (byte) line::y0#0 [ line::xd#1 line::yd#0 line_ydxd::y#0 line_ydxd::x#0 line_ydxd::y1#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#1 line::yd#0 line_ydxd::y#0 line_ydxd::x#0 line_ydxd::y1#0 ] )
    // (byte) line_ydxd::y1#0 = (byte) line::y0#0  // register copy zp ZP_BYTE:5
  //SEG99 [54] (byte) line_ydxd::yd#0 ← (byte) line::yd#0 [ line::xd#1 line_ydxd::y#0 line_ydxd::x#0 line_ydxd::y1#0 line_ydxd::yd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#1 line_ydxd::y#0 line_ydxd::x#0 line_ydxd::y1#0 line_ydxd::yd#0 ] )
    // (byte) line_ydxd::yd#0 = (byte) line::yd#0  // register copy zp ZP_BYTE:10
  //SEG100 [55] (byte) line_ydxd::xd#0 ← (byte) line::xd#1 [ line_ydxd::y#0 line_ydxd::x#0 line_ydxd::y1#0 line_ydxd::yd#0 line_ydxd::xd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line_ydxd::y#0 line_ydxd::x#0 line_ydxd::y1#0 line_ydxd::yd#0 line_ydxd::xd#0 ] )
    // (byte) line_ydxd::xd#0 = (byte) line::xd#1  // register copy zp ZP_BYTE:3
  //SEG101 [56] call line_ydxd param-assignment [ ] ( main:2::lines:12::line:21 [ lines::l#2 ] )
  //SEG102 [124] phi from line::@6 to line_ydxd [phi:line::@6->line_ydxd]
  //SEG103 [124] phi (byte) line_ydxd::y1#6 = (byte) line_ydxd::y1#0 [phi:line::@6->line_ydxd#0] -- register_copy 
  //SEG104 [124] phi (byte) line_ydxd::yd#5 = (byte) line_ydxd::yd#0 [phi:line::@6->line_ydxd#1] -- register_copy 
  //SEG105 [124] phi (byte) line_ydxd::y#7 = (byte) line_ydxd::y#0 [phi:line::@6->line_ydxd#2] -- register_copy 
  //SEG106 [124] phi (byte) line_ydxd::x#5 = (byte) line_ydxd::x#0 [phi:line::@6->line_ydxd#3] -- register_copy 
  //SEG107 [124] phi (byte) line_ydxd::xd#2 = (byte) line_ydxd::xd#0 [phi:line::@6->line_ydxd#4] -- register_copy 
    jsr line_ydxd
    jmp breturn
  //SEG108 line::@1
  b1:
  //SEG109 [57] (byte) line::xd#0 ← (byte) line::x0#0 - (byte) line::x1#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 ] ) -- vbuz1=vbuz2_minus_vbuz3 
    lda x0
    sec
    sbc x1
    sta xd
  //SEG110 [58] if((byte) line::y0#0>=(byte) line::y1#0) goto line::@9 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 ] ) -- vbuz1_ge_vbuyy_then_la1 
    lda y0
    sty $ff
    cmp $ff
    bcs b9
  //SEG111 line::@23
  //SEG112 [59] (byte) line::yd#3 ← (byte) line::y1#0 - (byte) line::y0#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#3 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#3 ] ) -- vbuz1=vbuyy_minus_vbuz2 
    tya
    sec
    sbc y0
    sta yd
  //SEG113 [60] if((byte) line::yd#3>=(byte) line::xd#0) goto line::@10 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#3 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#3 ] ) -- vbuz1_ge_vbuz2_then_la1 
    cmp xd
    bcs b10
  //SEG114 line::@24
  //SEG115 [61] (byte) line_xdyd::x#1 ← (byte) line::x1#0 [ line::x0#0 line::y1#0 line::xd#0 line::yd#3 line_xdyd::x#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::y1#0 line::xd#0 line::yd#3 line_xdyd::x#1 ] ) -- vbuxx=vbuz1 
    ldx x1
  //SEG116 [62] (byte) line_xdyd::y#1 ← (byte) line::y1#0 [ line::x0#0 line::xd#0 line::yd#3 line_xdyd::x#1 line_xdyd::y#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::xd#0 line::yd#3 line_xdyd::x#1 line_xdyd::y#1 ] ) -- vbuz1=vbuyy 
    sty line_xdyd.y
  //SEG117 [63] (byte) line_xdyd::x1#1 ← (byte) line::x0#0 [ line::xd#0 line::yd#3 line_xdyd::x#1 line_xdyd::y#1 line_xdyd::x1#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#0 line::yd#3 line_xdyd::x#1 line_xdyd::y#1 line_xdyd::x1#1 ] )
    // (byte) line_xdyd::x1#1 = (byte) line::x0#0  // register copy zp ZP_BYTE:8
  //SEG118 [64] (byte) line_xdyd::xd#1 ← (byte) line::xd#0 [ line::yd#3 line_xdyd::x#1 line_xdyd::y#1 line_xdyd::x1#1 line_xdyd::xd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::yd#3 line_xdyd::x#1 line_xdyd::y#1 line_xdyd::x1#1 line_xdyd::xd#1 ] )
    // (byte) line_xdyd::xd#1 = (byte) line::xd#0  // register copy zp ZP_BYTE:3
  //SEG119 [65] (byte) line_xdyd::yd#1 ← (byte) line::yd#3 [ line_xdyd::x#1 line_xdyd::y#1 line_xdyd::x1#1 line_xdyd::xd#1 line_xdyd::yd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line_xdyd::x#1 line_xdyd::y#1 line_xdyd::x1#1 line_xdyd::xd#1 line_xdyd::yd#1 ] )
    // (byte) line_xdyd::yd#1 = (byte) line::yd#3  // register copy zp ZP_BYTE:10
  //SEG120 [66] call line_xdyd param-assignment [ ] ( main:2::lines:12::line:21 [ lines::l#2 ] )
  //SEG121 [139] phi from line::@24 to line_xdyd [phi:line::@24->line_xdyd]
  //SEG122 [139] phi (byte) line_xdyd::x1#6 = (byte) line_xdyd::x1#1 [phi:line::@24->line_xdyd#0] -- register_copy 
  //SEG123 [139] phi (byte) line_xdyd::xd#5 = (byte) line_xdyd::xd#1 [phi:line::@24->line_xdyd#1] -- register_copy 
  //SEG124 [139] phi (byte) line_xdyd::y#5 = (byte) line_xdyd::y#1 [phi:line::@24->line_xdyd#2] -- register_copy 
  //SEG125 [139] phi (byte) line_xdyd::x#6 = (byte) line_xdyd::x#1 [phi:line::@24->line_xdyd#3] -- register_copy 
  //SEG126 [139] phi (byte) line_xdyd::yd#2 = (byte) line_xdyd::yd#1 [phi:line::@24->line_xdyd#4] -- register_copy 
    jsr line_xdyd
    jmp breturn
  //SEG127 line::@10
  b10:
  //SEG128 [67] (byte) line_ydxd::y#1 ← (byte) line::y0#0 [ line::x0#0 line::y1#0 line::xd#0 line::yd#3 line_ydxd::y#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::y1#0 line::xd#0 line::yd#3 line_ydxd::y#1 ] ) -- vbuz1=vbuz2 
    lda y0
    sta line_ydxd.y
  //SEG129 [68] (byte) line_ydxd::x#1 ← (byte) line::x0#0 [ line::y1#0 line::xd#0 line::yd#3 line_ydxd::y#1 line_ydxd::x#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::y1#0 line::xd#0 line::yd#3 line_ydxd::y#1 line_ydxd::x#1 ] ) -- vbuxx=vbuz1 
    ldx x0
  //SEG130 [69] (byte) line_ydxd::y1#1 ← (byte) line::y1#0 [ line::xd#0 line::yd#3 line_ydxd::y#1 line_ydxd::x#1 line_ydxd::y1#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#0 line::yd#3 line_ydxd::y#1 line_ydxd::x#1 line_ydxd::y1#1 ] ) -- vbuz1=vbuyy 
    sty line_ydxd.y1
  //SEG131 [70] (byte) line_ydxd::yd#1 ← (byte) line::yd#3 [ line::xd#0 line_ydxd::y#1 line_ydxd::x#1 line_ydxd::y1#1 line_ydxd::yd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#0 line_ydxd::y#1 line_ydxd::x#1 line_ydxd::y1#1 line_ydxd::yd#1 ] )
    // (byte) line_ydxd::yd#1 = (byte) line::yd#3  // register copy zp ZP_BYTE:10
  //SEG132 [71] (byte) line_ydxd::xd#1 ← (byte) line::xd#0 [ line_ydxd::y#1 line_ydxd::x#1 line_ydxd::y1#1 line_ydxd::yd#1 line_ydxd::xd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line_ydxd::y#1 line_ydxd::x#1 line_ydxd::y1#1 line_ydxd::yd#1 line_ydxd::xd#1 ] )
    // (byte) line_ydxd::xd#1 = (byte) line::xd#0  // register copy zp ZP_BYTE:3
  //SEG133 [72] call line_ydxd param-assignment [ ] ( main:2::lines:12::line:21 [ lines::l#2 ] )
  //SEG134 [124] phi from line::@10 to line_ydxd [phi:line::@10->line_ydxd]
  //SEG135 [124] phi (byte) line_ydxd::y1#6 = (byte) line_ydxd::y1#1 [phi:line::@10->line_ydxd#0] -- register_copy 
  //SEG136 [124] phi (byte) line_ydxd::yd#5 = (byte) line_ydxd::yd#1 [phi:line::@10->line_ydxd#1] -- register_copy 
  //SEG137 [124] phi (byte) line_ydxd::y#7 = (byte) line_ydxd::y#1 [phi:line::@10->line_ydxd#2] -- register_copy 
  //SEG138 [124] phi (byte) line_ydxd::x#5 = (byte) line_ydxd::x#1 [phi:line::@10->line_ydxd#3] -- register_copy 
  //SEG139 [124] phi (byte) line_ydxd::xd#2 = (byte) line_ydxd::xd#1 [phi:line::@10->line_ydxd#4] -- register_copy 
    jsr line_ydxd
    jmp breturn
  //SEG140 line::@9
  b9:
  //SEG141 [73] (byte) line::yd#10 ← (byte) line::y0#0 - (byte) line::y1#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#10 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#10 ] ) -- vbuz1=vbuz2_minus_vbuyy 
    tya
    eor #$ff
    sec
    adc y0
    sta yd_10
  //SEG142 [74] if((byte) line::yd#10>=(byte) line::xd#0) goto line::@13 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#10 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#0 line::yd#10 ] ) -- vbuz1_ge_vbuz2_then_la1 
    cmp xd
    bcs b13
  //SEG143 line::@27
  //SEG144 [75] (byte) line_xdyi::x#1 ← (byte) line::x1#0 [ line::x0#0 line::y1#0 line::xd#0 line::yd#10 line_xdyi::x#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::y1#0 line::xd#0 line::yd#10 line_xdyi::x#1 ] ) -- vbuxx=vbuz1 
    ldx x1
  //SEG145 [76] (byte) line_xdyi::y#1 ← (byte) line::y1#0 [ line::x0#0 line::xd#0 line::yd#10 line_xdyi::x#1 line_xdyi::y#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x0#0 line::xd#0 line::yd#10 line_xdyi::x#1 line_xdyi::y#1 ] ) -- vbuz1=vbuyy 
    sty line_xdyi.y
  //SEG146 [77] (byte) line_xdyi::x1#1 ← (byte) line::x0#0 [ line::xd#0 line::yd#10 line_xdyi::x#1 line_xdyi::y#1 line_xdyi::x1#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#0 line::yd#10 line_xdyi::x#1 line_xdyi::y#1 line_xdyi::x1#1 ] )
    // (byte) line_xdyi::x1#1 = (byte) line::x0#0  // register copy zp ZP_BYTE:8
  //SEG147 [78] (byte) line_xdyi::xd#1 ← (byte) line::xd#0 [ line::yd#10 line_xdyi::x#1 line_xdyi::y#1 line_xdyi::x1#1 line_xdyi::xd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::yd#10 line_xdyi::x#1 line_xdyi::y#1 line_xdyi::x1#1 line_xdyi::xd#1 ] )
    // (byte) line_xdyi::xd#1 = (byte) line::xd#0  // register copy zp ZP_BYTE:3
  //SEG148 [79] (byte) line_xdyi::yd#1 ← (byte) line::yd#10 [ line_xdyi::x#1 line_xdyi::y#1 line_xdyi::x1#1 line_xdyi::xd#1 line_xdyi::yd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line_xdyi::x#1 line_xdyi::y#1 line_xdyi::x1#1 line_xdyi::xd#1 line_xdyi::yd#1 ] )
    // (byte) line_xdyi::yd#1 = (byte) line::yd#10  // register copy zp ZP_BYTE:4
  //SEG149 [80] call line_xdyi param-assignment [ ] ( main:2::lines:12::line:21 [ lines::l#2 ] )
  //SEG150 [109] phi from line::@27 to line_xdyi [phi:line::@27->line_xdyi]
  //SEG151 [109] phi (byte) line_xdyi::x1#6 = (byte) line_xdyi::x1#1 [phi:line::@27->line_xdyi#0] -- register_copy 
  //SEG152 [109] phi (byte) line_xdyi::xd#5 = (byte) line_xdyi::xd#1 [phi:line::@27->line_xdyi#1] -- register_copy 
  //SEG153 [109] phi (byte) line_xdyi::y#5 = (byte) line_xdyi::y#1 [phi:line::@27->line_xdyi#2] -- register_copy 
  //SEG154 [109] phi (byte) line_xdyi::x#6 = (byte) line_xdyi::x#1 [phi:line::@27->line_xdyi#3] -- register_copy 
  //SEG155 [109] phi (byte) line_xdyi::yd#2 = (byte) line_xdyi::yd#1 [phi:line::@27->line_xdyi#4] -- register_copy 
    jsr line_xdyi
    jmp breturn
  //SEG156 line::@13
  b13:
  //SEG157 [81] (byte) line_ydxi::y#1 ← (byte) line::y1#0 [ line::x1#0 line::y0#0 line::xd#0 line::yd#10 line_ydxi::y#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::x1#0 line::y0#0 line::xd#0 line::yd#10 line_ydxi::y#1 ] ) -- vbuz1=vbuyy 
    sty line_ydxi.y
  //SEG158 [82] (byte) line_ydxi::x#1 ← (byte) line::x1#0 [ line::y0#0 line::xd#0 line::yd#10 line_ydxi::y#1 line_ydxi::x#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::y0#0 line::xd#0 line::yd#10 line_ydxi::y#1 line_ydxi::x#1 ] ) -- vbuxx=vbuz1 
    ldx x1
  //SEG159 [83] (byte) line_ydxi::y1#1 ← (byte) line::y0#0 [ line::xd#0 line::yd#10 line_ydxi::y#1 line_ydxi::x#1 line_ydxi::y1#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#0 line::yd#10 line_ydxi::y#1 line_ydxi::x#1 line_ydxi::y1#1 ] )
    // (byte) line_ydxi::y1#1 = (byte) line::y0#0  // register copy zp ZP_BYTE:5
  //SEG160 [84] (byte) line_ydxi::yd#1 ← (byte) line::yd#10 [ line::xd#0 line_ydxi::y#1 line_ydxi::x#1 line_ydxi::y1#1 line_ydxi::yd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line::xd#0 line_ydxi::y#1 line_ydxi::x#1 line_ydxi::y1#1 line_ydxi::yd#1 ] )
    // (byte) line_ydxi::yd#1 = (byte) line::yd#10  // register copy zp ZP_BYTE:4
  //SEG161 [85] (byte) line_ydxi::xd#1 ← (byte) line::xd#0 [ line_ydxi::y#1 line_ydxi::x#1 line_ydxi::y1#1 line_ydxi::yd#1 line_ydxi::xd#1 ] ( main:2::lines:12::line:21 [ lines::l#2 line_ydxi::y#1 line_ydxi::x#1 line_ydxi::y1#1 line_ydxi::yd#1 line_ydxi::xd#1 ] )
    // (byte) line_ydxi::xd#1 = (byte) line::xd#0  // register copy zp ZP_BYTE:3
  //SEG162 [86] call line_ydxi param-assignment [ ] ( main:2::lines:12::line:21 [ lines::l#2 ] )
  //SEG163 [87] phi from line::@13 to line_ydxi [phi:line::@13->line_ydxi]
  //SEG164 [87] phi (byte) line_ydxi::y1#6 = (byte) line_ydxi::y1#1 [phi:line::@13->line_ydxi#0] -- register_copy 
  //SEG165 [87] phi (byte) line_ydxi::yd#5 = (byte) line_ydxi::yd#1 [phi:line::@13->line_ydxi#1] -- register_copy 
  //SEG166 [87] phi (byte) line_ydxi::y#6 = (byte) line_ydxi::y#1 [phi:line::@13->line_ydxi#2] -- register_copy 
  //SEG167 [87] phi (byte) line_ydxi::x#5 = (byte) line_ydxi::x#1 [phi:line::@13->line_ydxi#3] -- register_copy 
  //SEG168 [87] phi (byte) line_ydxi::xd#2 = (byte) line_ydxi::xd#1 [phi:line::@13->line_ydxi#4] -- register_copy 
    jsr line_ydxi
    jmp breturn
}
//SEG169 line_ydxi
line_ydxi: {
    .label y = 6
    .label y1 = 5
    .label yd = 4
    .label xd = 3
    .label e = 7
  //SEG170 [88] (byte) line_ydxi::e#0 ← (byte) line_ydxi::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_ydxi::xd#2 line_ydxi::x#5 line_ydxi::y#6 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::e#0 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::x#5 line_ydxi::y#6 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::e#0 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::x#5 line_ydxi::y#6 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::e#0 ] ) -- vbuz1=vbuz2_ror_1 
    lda xd
    lsr
    sta e
  //SEG171 [89] phi from line_ydxi line_ydxi::@2 to line_ydxi::@1 [phi:line_ydxi/line_ydxi::@2->line_ydxi::@1]
  //SEG172 [89] phi (byte) line_ydxi::e#3 = (byte) line_ydxi::e#0 [phi:line_ydxi/line_ydxi::@2->line_ydxi::@1#0] -- register_copy 
  //SEG173 [89] phi (byte) line_ydxi::y#3 = (byte) line_ydxi::y#6 [phi:line_ydxi/line_ydxi::@2->line_ydxi::@1#1] -- register_copy 
  //SEG174 [89] phi (byte) line_ydxi::x#3 = (byte) line_ydxi::x#5 [phi:line_ydxi/line_ydxi::@2->line_ydxi::@1#2] -- register_copy 
  //SEG175 line_ydxi::@1
  b1:
  //SEG176 [90] (byte) plot::x#2 ← (byte) line_ydxi::x#3 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#2 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#2 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#2 ] )
    // (byte) plot::x#2 = (byte) line_ydxi::x#3  // register copy reg byte x
  //SEG177 [91] (byte) plot::y#2 ← (byte) line_ydxi::y#3 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#2 plot::y#2 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#2 plot::y#2 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#2 plot::y#2 ] ) -- vbuyy=vbuz1 
    ldy y
  //SEG178 [92] call plot param-assignment [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] )
  //SEG179 [102] phi from line_ydxi::@1 to plot [phi:line_ydxi::@1->plot]
  //SEG180 [102] phi (byte) plot::y#4 = (byte) plot::y#2 [phi:line_ydxi::@1->plot#0] -- register_copy 
  //SEG181 [102] phi (byte) plot::x#4 = (byte) plot::x#2 [phi:line_ydxi::@1->plot#1] -- register_copy 
    jsr plot
  //SEG182 line_ydxi::@5
  //SEG183 [93] (byte) line_ydxi::y#2 ← ++ (byte) line_ydxi::y#3 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::e#3 line_ydxi::y#2 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::e#3 line_ydxi::y#2 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::e#3 line_ydxi::y#2 ] ) -- vbuz1=_inc_vbuz1 
    inc y
  //SEG184 [94] (byte) line_ydxi::e#1 ← (byte) line_ydxi::e#3 + (byte) line_ydxi::xd#2 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#2 line_ydxi::e#1 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#2 line_ydxi::e#1 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#2 line_ydxi::e#1 ] ) -- vbuz1=vbuz1_plus_vbuz2 
    lda e
    clc
    adc xd
    sta e
  //SEG185 [95] if((byte) line_ydxi::yd#5>=(byte) line_ydxi::e#1) goto line_ydxi::@2 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#2 line_ydxi::e#1 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#2 line_ydxi::e#1 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#2 line_ydxi::e#1 ] ) -- vbuz1_ge_vbuz2_then_la1 
    lda yd
    cmp e
    bcs b2
  //SEG186 line_ydxi::@3
  //SEG187 [96] (byte) line_ydxi::x#2 ← ++ (byte) line_ydxi::x#3 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::e#1 line_ydxi::x#2 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::e#1 line_ydxi::x#2 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::e#1 line_ydxi::x#2 ] ) -- vbuxx=_inc_vbuxx 
    inx
  //SEG188 [97] (byte) line_ydxi::e#2 ← (byte) line_ydxi::e#1 - (byte) line_ydxi::yd#5 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::x#2 line_ydxi::e#2 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::x#2 line_ydxi::e#2 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::x#2 line_ydxi::e#2 ] ) -- vbuz1=vbuz1_minus_vbuz2 
    lda e
    sec
    sbc yd
    sta e
  //SEG189 [98] phi from line_ydxi::@3 line_ydxi::@5 to line_ydxi::@2 [phi:line_ydxi::@3/line_ydxi::@5->line_ydxi::@2]
  //SEG190 [98] phi (byte) line_ydxi::e#6 = (byte) line_ydxi::e#2 [phi:line_ydxi::@3/line_ydxi::@5->line_ydxi::@2#0] -- register_copy 
  //SEG191 [98] phi (byte) line_ydxi::x#6 = (byte) line_ydxi::x#2 [phi:line_ydxi::@3/line_ydxi::@5->line_ydxi::@2#1] -- register_copy 
  //SEG192 line_ydxi::@2
  b2:
  //SEG193 [99] (byte/word~) line_ydxi::$6 ← (byte) line_ydxi::y1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 line_ydxi::$6 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 line_ydxi::$6 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 line_ydxi::$6 ] ) -- vbuyy=vbuz1_plus_1 
    ldy y1
    iny
  //SEG194 [100] if((byte) line_ydxi::y#2!=(byte/word~) line_ydxi::$6) goto line_ydxi::@1 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 ] ) -- vbuz1_neq_vbuyy_then_la1 
    cpy y
    bne b1
  //SEG195 line_ydxi::@return
  //SEG196 [101] return  [ ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 ] )
    rts
}
//SEG197 plot
plot: {
    .label _0 = $15
    .label plotter_x = $15
    .label plotter_y = $17
  //SEG198 [103] (word) plot::plotter_x#0 ← *((const byte[256]) plot_xhi#0 + (byte) plot::x#4) w= *((const byte[256]) plot_xlo#0 + (byte) plot::x#4) [ plot::x#4 plot::y#4 plot::plotter_x#0 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_xdyi:35::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_xdyi:80::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_ydxd:56::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_ydxd:72::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_xdyd:50::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_xdyd:66::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] ) -- vwuz1=pbuc1_derefidx_vbuxx_word_pbuc2_derefidx_vbuxx 
    lda plot_xhi,x
    sta plotter_x+1
    lda plot_xlo,x
    sta plotter_x
  //SEG199 [104] (word) plot::plotter_y#0 ← *((const byte[256]) plot_yhi#0 + (byte) plot::y#4) w= *((const byte[256]) plot_ylo#0 + (byte) plot::y#4) [ plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_xdyi:35::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_xdyi:80::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_ydxd:56::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_ydxd:72::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_xdyd:50::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_xdyd:66::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] ) -- vwuz1=pbuc1_derefidx_vbuyy_word_pbuc2_derefidx_vbuyy 
    lda plot_yhi,y
    sta plotter_y+1
    lda plot_ylo,y
    sta plotter_y
  //SEG200 [105] (word~) plot::$0 ← (word) plot::plotter_x#0 + (word) plot::plotter_y#0 [ plot::x#4 plot::$0 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_xdyi:35::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_xdyi:80::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_ydxd:56::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_ydxd:72::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_xdyd:50::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_xdyd:66::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::$0 ] ) -- vwuz1=vwuz1_plus_vwuz2 
    lda _0
    clc
    adc plotter_y
    sta _0
    lda _0+1
    adc plotter_y+1
    sta _0+1
  //SEG201 [106] (byte~) plot::$1 ← *((byte*)(word~) plot::$0) | *((const byte[256]) plot_bit#0 + (byte) plot::x#4) [ plot::$0 plot::$1 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_xdyi:35::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_xdyi:80::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_ydxd:56::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_ydxd:72::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_xdyd:50::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::$0 plot::$1 ] main:2::lines:12::line:21::line_xdyd:66::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::$0 plot::$1 ] ) -- vbuaa=_deref_pbuz1_bor_pbuc1_derefidx_vbuxx 
    lda plot_bit,x
    ldy #0
    ora (_0),y
  //SEG202 [107] *((byte*)(word~) plot::$0) ← (byte~) plot::$1 [ ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:2::lines:12::line:21::line_xdyi:35::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_xdyi:80::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_ydxd:56::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_xdyd:50::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:2::lines:12::line:21::line_xdyd:66::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ) -- _deref_pbuz1=vbuaa 
    sta (_0),y
  //SEG203 plot::@return
  //SEG204 [108] return  [ ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:2::lines:12::line:21::line_xdyi:35::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_xdyi:80::plot:114 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_ydxd:56::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72::plot:129 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_xdyd:50::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:2::lines:12::line:21::line_xdyd:66::plot:144 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
    rts
}
//SEG205 line_xdyi
line_xdyi: {
    .label _6 = $19
    .label y = 5
    .label x1 = 8
    .label xd = 3
    .label yd = 4
    .label e = 9
  //SEG206 [110] (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::e#0 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::e#0 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::e#0 ] ) -- vbuz1=vbuz2_ror_1 
    lda yd
    lsr
    sta e
  //SEG207 [111] phi from line_xdyi line_xdyi::@2 to line_xdyi::@1 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1]
  //SEG208 [111] phi (byte) line_xdyi::e#3 = (byte) line_xdyi::e#0 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#0] -- register_copy 
  //SEG209 [111] phi (byte) line_xdyi::y#3 = (byte) line_xdyi::y#5 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#1] -- register_copy 
  //SEG210 [111] phi (byte) line_xdyi::x#3 = (byte) line_xdyi::x#6 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#2] -- register_copy 
  //SEG211 line_xdyi::@1
  b1:
  //SEG212 [112] (byte) plot::x#0 ← (byte) line_xdyi::x#3 [ plot::x#0 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 plot::x#0 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 plot::x#0 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] )
    // (byte) plot::x#0 = (byte) line_xdyi::x#3  // register copy reg byte x
  //SEG213 [113] (byte) plot::y#0 ← (byte) line_xdyi::y#3 [ plot::x#0 plot::y#0 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 plot::x#0 plot::y#0 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 plot::x#0 plot::y#0 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] ) -- vbuyy=vbuz1 
    ldy y
  //SEG214 [114] call plot param-assignment [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] )
  //SEG215 [102] phi from line_xdyi::@1 to plot [phi:line_xdyi::@1->plot]
  //SEG216 [102] phi (byte) plot::y#4 = (byte) plot::y#0 [phi:line_xdyi::@1->plot#0] -- register_copy 
  //SEG217 [102] phi (byte) plot::x#4 = (byte) plot::x#0 [phi:line_xdyi::@1->plot#1] -- register_copy 
    jsr plot
  //SEG218 line_xdyi::@5
  //SEG219 [115] (byte) line_xdyi::x#2 ← ++ (byte) line_xdyi::x#3 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::e#3 line_xdyi::x#2 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::e#3 line_xdyi::x#2 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::e#3 line_xdyi::x#2 ] ) -- vbuxx=_inc_vbuxx 
    inx
  //SEG220 [116] (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#2 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] ) -- vbuz1=vbuz1_plus_vbuz2 
    lda e
    clc
    adc yd
    sta e
  //SEG221 [117] if((byte) line_xdyi::xd#5>=(byte) line_xdyi::e#1) goto line_xdyi::@2 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] ) -- vbuz1_ge_vbuz2_then_la1 
    lda xd
    cmp e
    bcs b2
  //SEG222 line_xdyi::@3
  //SEG223 [118] (byte) line_xdyi::y#2 ← ++ (byte) line_xdyi::y#3 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::e#1 line_xdyi::y#2 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::e#1 line_xdyi::y#2 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::e#1 line_xdyi::y#2 ] ) -- vbuz1=_inc_vbuz1 
    inc y
  //SEG224 [119] (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#5 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#2 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#2 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#2 ] ) -- vbuz1=vbuz1_minus_vbuz2 
    lda e
    sec
    sbc xd
    sta e
  //SEG225 [120] phi from line_xdyi::@3 line_xdyi::@5 to line_xdyi::@2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2]
  //SEG226 [120] phi (byte) line_xdyi::e#6 = (byte) line_xdyi::e#2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2#0] -- register_copy 
  //SEG227 [120] phi (byte) line_xdyi::y#6 = (byte) line_xdyi::y#2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2#1] -- register_copy 
  //SEG228 line_xdyi::@2
  b2:
  //SEG229 [121] (byte/word~) line_xdyi::$6 ← (byte) line_xdyi::x1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 line_xdyi::$6 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 line_xdyi::$6 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 line_xdyi::$6 ] ) -- vbuz1=vbuz2_plus_1 
    ldy x1
    iny
    sty _6
  //SEG230 [122] if((byte) line_xdyi::x#2!=(byte/word~) line_xdyi::$6) goto line_xdyi::@1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] ) -- vbuxx_neq_vbuz1_then_la1 
    cpx _6
    bne b1
  //SEG231 line_xdyi::@return
  //SEG232 [123] return  [ ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 ] )
    rts
}
//SEG233 line_ydxd
line_ydxd: {
    .label y = $b
    .label y1 = 5
    .label yd = $a
    .label xd = 3
    .label e = $c
  //SEG234 [125] (byte) line_ydxd::e#0 ← (byte) line_ydxd::xd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] ) -- vbuz1=vbuz2_ror_1 
    lda xd
    lsr
    sta e
  //SEG235 [126] phi from line_ydxd line_ydxd::@2 to line_ydxd::@1 [phi:line_ydxd/line_ydxd::@2->line_ydxd::@1]
  //SEG236 [126] phi (byte) line_ydxd::e#3 = (byte) line_ydxd::e#0 [phi:line_ydxd/line_ydxd::@2->line_ydxd::@1#0] -- register_copy 
  //SEG237 [126] phi (byte) line_ydxd::y#2 = (byte) line_ydxd::y#7 [phi:line_ydxd/line_ydxd::@2->line_ydxd::@1#1] -- register_copy 
  //SEG238 [126] phi (byte) line_ydxd::x#3 = (byte) line_ydxd::x#5 [phi:line_ydxd/line_ydxd::@2->line_ydxd::@1#2] -- register_copy 
  //SEG239 line_ydxd::@1
  b1:
  //SEG240 [127] (byte) plot::x#3 ← (byte) line_ydxd::x#3 [ plot::x#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 plot::x#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 plot::x#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] )
    // (byte) plot::x#3 = (byte) line_ydxd::x#3  // register copy reg byte x
  //SEG241 [128] (byte) plot::y#3 ← (byte) line_ydxd::y#2 [ plot::x#3 plot::y#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 plot::x#3 plot::y#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 plot::x#3 plot::y#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] ) -- vbuyy=vbuz1 
    ldy y
  //SEG242 [129] call plot param-assignment [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] )
  //SEG243 [102] phi from line_ydxd::@1 to plot [phi:line_ydxd::@1->plot]
  //SEG244 [102] phi (byte) plot::y#4 = (byte) plot::y#3 [phi:line_ydxd::@1->plot#0] -- register_copy 
  //SEG245 [102] phi (byte) plot::x#4 = (byte) plot::x#3 [phi:line_ydxd::@1->plot#1] -- register_copy 
    jsr plot
  //SEG246 line_ydxd::@5
  //SEG247 [130] (byte) line_ydxd::y#3 ← ++ (byte) line_ydxd::y#2 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::e#3 line_ydxd::y#3 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::e#3 line_ydxd::y#3 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::e#3 line_ydxd::y#3 ] ) -- vbuz1=_inc_vbuz1 
    inc y
  //SEG248 [131] (byte) line_ydxd::e#1 ← (byte) line_ydxd::e#3 + (byte) line_ydxd::xd#2 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#1 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#1 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#1 ] ) -- vbuz1=vbuz1_plus_vbuz2 
    lda e
    clc
    adc xd
    sta e
  //SEG249 [132] if((byte) line_ydxd::yd#5>=(byte) line_ydxd::e#1) goto line_ydxd::@2 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#1 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#1 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#1 ] ) -- vbuz1_ge_vbuz2_then_la1 
    lda yd
    cmp e
    bcs b2
  //SEG250 line_ydxd::@3
  //SEG251 [133] (byte) line_ydxd::x#2 ← -- (byte) line_ydxd::x#3 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#3 line_ydxd::e#1 line_ydxd::x#2 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#3 line_ydxd::e#1 line_ydxd::x#2 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#3 line_ydxd::e#1 line_ydxd::x#2 ] ) -- vbuxx=_dec_vbuxx 
    dex
  //SEG252 [134] (byte) line_ydxd::e#2 ← (byte) line_ydxd::e#1 - (byte) line_ydxd::yd#5 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#3 line_ydxd::x#2 line_ydxd::e#2 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#3 line_ydxd::x#2 line_ydxd::e#2 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#3 line_ydxd::x#2 line_ydxd::e#2 ] ) -- vbuz1=vbuz1_minus_vbuz2 
    lda e
    sec
    sbc yd
    sta e
  //SEG253 [135] phi from line_ydxd::@3 line_ydxd::@5 to line_ydxd::@2 [phi:line_ydxd::@3/line_ydxd::@5->line_ydxd::@2]
  //SEG254 [135] phi (byte) line_ydxd::e#6 = (byte) line_ydxd::e#2 [phi:line_ydxd::@3/line_ydxd::@5->line_ydxd::@2#0] -- register_copy 
  //SEG255 [135] phi (byte) line_ydxd::x#6 = (byte) line_ydxd::x#2 [phi:line_ydxd::@3/line_ydxd::@5->line_ydxd::@2#1] -- register_copy 
  //SEG256 line_ydxd::@2
  b2:
  //SEG257 [136] (byte/word~) line_ydxd::$6 ← (byte) line_ydxd::y1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 line_ydxd::$6 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 line_ydxd::$6 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 line_ydxd::$6 ] ) -- vbuyy=vbuz1_plus_1 
    ldy y1
    iny
  //SEG258 [137] if((byte) line_ydxd::y#3!=(byte/word~) line_ydxd::$6) goto line_ydxd::@1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 ] ) -- vbuz1_neq_vbuyy_then_la1 
    cpy y
    bne b1
  //SEG259 line_ydxd::@return
  //SEG260 [138] return  [ ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 ] )
    rts
}
//SEG261 line_xdyd
line_xdyd: {
    .label _6 = $1a
    .label y = 5
    .label x1 = 8
    .label xd = 3
    .label yd = $a
    .label e = $d
  //SEG262 [140] (byte) line_xdyd::e#0 ← (byte) line_xdyd::yd#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::e#0 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::e#0 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::e#0 ] ) -- vbuz1=vbuz2_ror_1 
    lda yd
    lsr
    sta e
  //SEG263 [141] phi from line_xdyd line_xdyd::@2 to line_xdyd::@1 [phi:line_xdyd/line_xdyd::@2->line_xdyd::@1]
  //SEG264 [141] phi (byte) line_xdyd::e#3 = (byte) line_xdyd::e#0 [phi:line_xdyd/line_xdyd::@2->line_xdyd::@1#0] -- register_copy 
  //SEG265 [141] phi (byte) line_xdyd::y#3 = (byte) line_xdyd::y#5 [phi:line_xdyd/line_xdyd::@2->line_xdyd::@1#1] -- register_copy 
  //SEG266 [141] phi (byte) line_xdyd::x#3 = (byte) line_xdyd::x#6 [phi:line_xdyd/line_xdyd::@2->line_xdyd::@1#2] -- register_copy 
  //SEG267 line_xdyd::@1
  b1:
  //SEG268 [142] (byte) plot::x#1 ← (byte) line_xdyd::x#3 [ plot::x#1 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 plot::x#1 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 plot::x#1 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
    // (byte) plot::x#1 = (byte) line_xdyd::x#3  // register copy reg byte x
  //SEG269 [143] (byte) plot::y#1 ← (byte) line_xdyd::y#3 [ plot::x#1 plot::y#1 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 plot::x#1 plot::y#1 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 plot::x#1 plot::y#1 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ) -- vbuyy=vbuz1 
    ldy y
  //SEG270 [144] call plot param-assignment [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
  //SEG271 [102] phi from line_xdyd::@1 to plot [phi:line_xdyd::@1->plot]
  //SEG272 [102] phi (byte) plot::y#4 = (byte) plot::y#1 [phi:line_xdyd::@1->plot#0] -- register_copy 
  //SEG273 [102] phi (byte) plot::x#4 = (byte) plot::x#1 [phi:line_xdyd::@1->plot#1] -- register_copy 
    jsr plot
  //SEG274 line_xdyd::@5
  //SEG275 [145] (byte) line_xdyd::x#2 ← ++ (byte) line_xdyd::x#3 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::e#3 line_xdyd::x#2 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::e#3 line_xdyd::x#2 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::e#3 line_xdyd::x#2 ] ) -- vbuxx=_inc_vbuxx 
    inx
  //SEG276 [146] (byte) line_xdyd::e#1 ← (byte) line_xdyd::e#3 + (byte) line_xdyd::yd#2 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] ) -- vbuz1=vbuz1_plus_vbuz2 
    lda e
    clc
    adc yd
    sta e
  //SEG277 [147] if((byte) line_xdyd::xd#5>=(byte) line_xdyd::e#1) goto line_xdyd::@2 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] ) -- vbuz1_ge_vbuz2_then_la1 
    lda xd
    cmp e
    bcs b2
  //SEG278 line_xdyd::@3
  //SEG279 [148] (byte) line_xdyd::y#2 ← -- (byte) line_xdyd::y#3 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::e#1 line_xdyd::y#2 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::e#1 line_xdyd::y#2 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::e#1 line_xdyd::y#2 ] ) -- vbuz1=_dec_vbuz1 
    dec y
  //SEG280 [149] (byte) line_xdyd::e#2 ← (byte) line_xdyd::e#1 - (byte) line_xdyd::xd#5 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#2 line_xdyd::e#2 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#2 line_xdyd::e#2 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#2 line_xdyd::e#2 ] ) -- vbuz1=vbuz1_minus_vbuz2 
    lda e
    sec
    sbc xd
    sta e
  //SEG281 [150] phi from line_xdyd::@3 line_xdyd::@5 to line_xdyd::@2 [phi:line_xdyd::@3/line_xdyd::@5->line_xdyd::@2]
  //SEG282 [150] phi (byte) line_xdyd::e#6 = (byte) line_xdyd::e#2 [phi:line_xdyd::@3/line_xdyd::@5->line_xdyd::@2#0] -- register_copy 
  //SEG283 [150] phi (byte) line_xdyd::y#6 = (byte) line_xdyd::y#2 [phi:line_xdyd::@3/line_xdyd::@5->line_xdyd::@2#1] -- register_copy 
  //SEG284 line_xdyd::@2
  b2:
  //SEG285 [151] (byte/word~) line_xdyd::$6 ← (byte) line_xdyd::x1#6 + (byte/signed byte/word/signed word/dword/signed dword) 1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 line_xdyd::$6 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 line_xdyd::$6 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 line_xdyd::$6 ] ) -- vbuz1=vbuz2_plus_1 
    ldy x1
    iny
    sty _6
  //SEG286 [152] if((byte) line_xdyd::x#2!=(byte/word~) line_xdyd::$6) goto line_xdyd::@1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] ) -- vbuxx_neq_vbuz1_then_la1 
    cpx _6
    bne b1
  //SEG287 line_xdyd::@return
  //SEG288 [153] return  [ ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 ] )
    rts
}
//SEG289 init_plot_tables
init_plot_tables: {
    .label _6 = $1b
    .label yoffs = $e
  //SEG290 [155] phi from init_plot_tables to init_plot_tables::@1 [phi:init_plot_tables->init_plot_tables::@1]
  //SEG291 [155] phi (byte) init_plot_tables::bits#3 = (byte/word/signed word/dword/signed dword) 128 [phi:init_plot_tables->init_plot_tables::@1#0] -- vbuyy=vbuc1 
    ldy #$80
  //SEG292 [155] phi (byte) init_plot_tables::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:init_plot_tables->init_plot_tables::@1#1] -- vbuxx=vbuc1 
    ldx #0
  //SEG293 [155] phi from init_plot_tables::@2 to init_plot_tables::@1 [phi:init_plot_tables::@2->init_plot_tables::@1]
  //SEG294 [155] phi (byte) init_plot_tables::bits#3 = (byte) init_plot_tables::bits#4 [phi:init_plot_tables::@2->init_plot_tables::@1#0] -- register_copy 
  //SEG295 [155] phi (byte) init_plot_tables::x#2 = (byte) init_plot_tables::x#1 [phi:init_plot_tables::@2->init_plot_tables::@1#1] -- register_copy 
  //SEG296 init_plot_tables::@1
  b1:
  //SEG297 [156] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte/word/signed word/dword/signed dword) 248 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ) -- vbuaa=vbuxx_band_vbuc1 
    txa
    and #$f8
  //SEG298 [157] *((const byte[256]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- pbuc1_derefidx_vbuxx=vbuaa 
    sta plot_xlo,x
  //SEG299 [158] *((const byte[256]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- pbuc1_derefidx_vbuxx=vbuc2 
    lda #>BITMAP
    sta plot_xhi,x
  //SEG300 [159] *((const byte[256]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ) -- pbuc1_derefidx_vbuxx=vbuyy 
    tya
    sta plot_bit,x
  //SEG301 [160] (byte) init_plot_tables::bits#1 ← (byte) init_plot_tables::bits#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ) -- vbuyy=vbuyy_ror_1 
    tya
    lsr
    tay
  //SEG302 [161] if((byte) init_plot_tables::bits#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ) -- vbuyy_neq_0_then_la1 
    cpy #0
    bne b2
  //SEG303 [162] phi from init_plot_tables::@1 to init_plot_tables::@2 [phi:init_plot_tables::@1->init_plot_tables::@2]
  //SEG304 [162] phi (byte) init_plot_tables::bits#4 = (byte/word/signed word/dword/signed dword) 128 [phi:init_plot_tables::@1->init_plot_tables::@2#0] -- vbuyy=vbuc1 
    ldy #$80
  //SEG305 init_plot_tables::@2
  b2:
  //SEG306 [163] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) -- vbuxx=_inc_vbuxx 
    inx
  //SEG307 [164] if((byte) init_plot_tables::x#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:2::init_plot_tables:10 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ) -- vbuxx_neq_0_then_la1 
    cpx #0
    bne b1
  //SEG308 [165] phi from init_plot_tables::@2 to init_plot_tables::@3 [phi:init_plot_tables::@2->init_plot_tables::@3]
  //SEG309 [165] phi (byte*) init_plot_tables::yoffs#2 = ((byte*))(byte/signed byte/word/signed word/dword/signed dword) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#0] -- pbuz1=pbuc1 
    lda #<0
    sta yoffs
    sta yoffs+1
  //SEG310 [165] phi (byte) init_plot_tables::y#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#1] -- vbuxx=vbuc1 
    tax
  //SEG311 [165] phi from init_plot_tables::@4 to init_plot_tables::@3 [phi:init_plot_tables::@4->init_plot_tables::@3]
  //SEG312 [165] phi (byte*) init_plot_tables::yoffs#2 = (byte*) init_plot_tables::yoffs#4 [phi:init_plot_tables::@4->init_plot_tables::@3#0] -- register_copy 
  //SEG313 [165] phi (byte) init_plot_tables::y#2 = (byte) init_plot_tables::y#1 [phi:init_plot_tables::@4->init_plot_tables::@3#1] -- register_copy 
  //SEG314 init_plot_tables::@3
  b3:
  //SEG315 [166] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ) -- vbuz1=vbuxx_band_vbuc1 
    txa
    and #7
    sta _6
  //SEG316 [167] (byte~) init_plot_tables::$7 ← < (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ) -- vbuaa=_lo_pbuz1 
    lda yoffs
  //SEG317 [168] (byte~) init_plot_tables::$8 ← (byte~) init_plot_tables::$6 | (byte~) init_plot_tables::$7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ) -- vbuaa=vbuz1_bor_vbuaa 
    ora _6
  //SEG318 [169] *((const byte[256]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- pbuc1_derefidx_vbuxx=vbuaa 
    sta plot_ylo,x
  //SEG319 [170] (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ) -- vbuaa=_hi_pbuz1 
    lda yoffs+1
  //SEG320 [171] *((const byte[256]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- pbuc1_derefidx_vbuxx=vbuaa 
    sta plot_yhi,x
  //SEG321 [172] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ) -- vbuaa=vbuxx_band_vbuc1 
    txa
    and #7
  //SEG322 [173] if((byte~) init_plot_tables::$10!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ) -- vbuaa_neq_vbuc1_then_la1 
    cmp #7
    bne b4
  //SEG323 init_plot_tables::@7
  //SEG324 [174] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 8 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ) -- pbuz1=pbuz1_plus_vwuc1 
    lda yoffs
    clc
    adc #<$28*8
    sta yoffs
    lda yoffs+1
    adc #>$28*8
    sta yoffs+1
  //SEG325 [175] phi from init_plot_tables::@3 init_plot_tables::@7 to init_plot_tables::@4 [phi:init_plot_tables::@3/init_plot_tables::@7->init_plot_tables::@4]
  //SEG326 [175] phi (byte*) init_plot_tables::yoffs#4 = (byte*) init_plot_tables::yoffs#2 [phi:init_plot_tables::@3/init_plot_tables::@7->init_plot_tables::@4#0] -- register_copy 
  //SEG327 init_plot_tables::@4
  b4:
  //SEG328 [176] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) -- vbuxx=_inc_vbuxx 
    inx
  //SEG329 [177] if((byte) init_plot_tables::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:2::init_plot_tables:10 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ) -- vbuxx_neq_0_then_la1 
    cpx #0
    bne b3
  //SEG330 init_plot_tables::@return
  //SEG331 [178] return  [ ] ( main:2::init_plot_tables:10 [ ] )
    rts
  //SEG332 [179] phi from init_plot_tables::@1 to init_plot_tables::@10 [phi:init_plot_tables::@1->init_plot_tables::@10]
  //SEG333 init_plot_tables::@10
  //SEG334 [162] phi from init_plot_tables::@10 to init_plot_tables::@2 [phi:init_plot_tables::@10->init_plot_tables::@2]
  //SEG335 [162] phi (byte) init_plot_tables::bits#4 = (byte) init_plot_tables::bits#1 [phi:init_plot_tables::@10->init_plot_tables::@2#0] -- register_copy 
}
//SEG336 init_screen
init_screen: {
    .label b = $10
    .label c = $12
  //SEG337 [181] phi from init_screen to init_screen::@1 [phi:init_screen->init_screen::@1]
  //SEG338 [181] phi (byte*) init_screen::b#2 = (const byte*) BITMAP#0 [phi:init_screen->init_screen::@1#0] -- pbuz1=pbuc1 
    lda #<BITMAP
    sta b
    lda #>BITMAP
    sta b+1
  //SEG339 [181] phi from init_screen::@1 to init_screen::@1 [phi:init_screen::@1->init_screen::@1]
  //SEG340 [181] phi (byte*) init_screen::b#2 = (byte*) init_screen::b#1 [phi:init_screen::@1->init_screen::@1#0] -- register_copy 
  //SEG341 init_screen::@1
  b1:
  //SEG342 [182] *((byte*) init_screen::b#2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ init_screen::b#2 ] ( main:2::init_screen:8 [ init_screen::b#2 ] ) -- _deref_pbuz1=vbuc1 
    lda #0
    tay
    sta (b),y
  //SEG343 [183] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] ( main:2::init_screen:8 [ init_screen::b#1 ] ) -- pbuz1=_inc_pbuz1 
    inc b
    bne !+
    inc b+1
  !:
  //SEG344 [184] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word/signed word/dword/signed dword) 8192) goto init_screen::@1 [ init_screen::b#1 ] ( main:2::init_screen:8 [ init_screen::b#1 ] ) -- pbuz1_neq_pbuc1_then_la1 
    lda b+1
    cmp #>BITMAP+$2000
    bne b1
    lda b
    cmp #<BITMAP+$2000
    bne b1
  //SEG345 [185] phi from init_screen::@1 to init_screen::@2 [phi:init_screen::@1->init_screen::@2]
  //SEG346 [185] phi (byte*) init_screen::c#2 = (const byte*) SCREEN#0 [phi:init_screen::@1->init_screen::@2#0] -- pbuz1=pbuc1 
    lda #<SCREEN
    sta c
    lda #>SCREEN
    sta c+1
  //SEG347 [185] phi from init_screen::@2 to init_screen::@2 [phi:init_screen::@2->init_screen::@2]
  //SEG348 [185] phi (byte*) init_screen::c#2 = (byte*) init_screen::c#1 [phi:init_screen::@2->init_screen::@2#0] -- register_copy 
  //SEG349 init_screen::@2
  b2:
  //SEG350 [186] *((byte*) init_screen::c#2) ← (byte/signed byte/word/signed word/dword/signed dword) 20 [ init_screen::c#2 ] ( main:2::init_screen:8 [ init_screen::c#2 ] ) -- _deref_pbuz1=vbuc1 
    lda #$14
    ldy #0
    sta (c),y
  //SEG351 [187] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] ( main:2::init_screen:8 [ init_screen::c#1 ] ) -- pbuz1=_inc_pbuz1 
    inc c
    bne !+
    inc c+1
  !:
  //SEG352 [188] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word/signed word/dword/signed dword) 1024) goto init_screen::@2 [ init_screen::c#1 ] ( main:2::init_screen:8 [ init_screen::c#1 ] ) -- pbuz1_neq_pbuc1_then_la1 
    lda c+1
    cmp #>SCREEN+$400
    bne b2
    lda c
    cmp #<SCREEN+$400
    bne b2
  //SEG353 init_screen::@return
  //SEG354 [189] return  [ ] ( main:2::init_screen:8 [ ] )
    rts
}
  plot_xlo: .fill $100, 0
  plot_xhi: .fill $100, 0
  plot_ylo: .fill $100, 0
  plot_yhi: .fill $100, 0
  plot_bit: .fill $100, 0
  lines_x: .byte $3c, $50, $6e, $50, $3c, $28, $a, $28, $3c
  lines_y: .byte $a, $28, $3c, $50, $6e, $50, $3c, $28, $a

