diff --git a/src/main/java/dk/camelot64/kickc/asm/AsmBasicUpstart.java b/src/main/java/dk/camelot64/kickc/asm/AsmBasicUpstart.java new file mode 100644 index 000000000..a0f8b2748 --- /dev/null +++ b/src/main/java/dk/camelot64/kickc/asm/AsmBasicUpstart.java @@ -0,0 +1,37 @@ +package dk.camelot64.kickc.asm; + +/** Set the program counter */ +public class AsmBasicUpstart implements AsmLine { + + private final String function; + private int index; + + public AsmBasicUpstart(String function) { + this.function = function; + } + + @Override + public int getLineBytes() { + return 0; + } + + @Override + public double getLineCycles() { + return 0; + } + + @Override + public String getAsm() { + return ":BasicUpstart("+function+")"; + } + + @Override + public int getIndex() { + return index; + } + + @Override + public void setIndex(int index) { + this.index = index; + } +} diff --git a/src/main/java/dk/camelot64/kickc/asm/AsmLabelDecl.java b/src/main/java/dk/camelot64/kickc/asm/AsmLabelDecl.java index fa0b0d90b..d64550f4f 100644 --- a/src/main/java/dk/camelot64/kickc/asm/AsmLabelDecl.java +++ b/src/main/java/dk/camelot64/kickc/asm/AsmLabelDecl.java @@ -1,5 +1,7 @@ package dk.camelot64.kickc.asm; +import dk.camelot64.kickc.fragment.AsmFragment; + /** A label declaration .label lbl = val */ public class AsmLabelDecl implements AsmLine { private final String name; @@ -24,7 +26,7 @@ public class AsmLabelDecl implements AsmLine { @Override public String getAsm() { - return ".label "+name+" = "+address; + return ".label "+name+" = "+ AsmFragment.getAsmNumber(address); } @Override diff --git a/src/main/java/dk/camelot64/kickc/asm/AsmSetPc.java b/src/main/java/dk/camelot64/kickc/asm/AsmSetPc.java new file mode 100644 index 000000000..8a73071f7 --- /dev/null +++ b/src/main/java/dk/camelot64/kickc/asm/AsmSetPc.java @@ -0,0 +1,42 @@ +package dk.camelot64.kickc.asm; + +import dk.camelot64.kickc.NumberParser; +import dk.camelot64.kickc.fragment.AsmFragment; + +/** Set the program counter */ +public class AsmSetPc implements AsmLine { + + private final String name; + private final int address; + private int index; + + public AsmSetPc(String name, int address) { + this.name = name; + this.address = address; + } + + @Override + public int getLineBytes() { + return 0; + } + + @Override + public double getLineCycles() { + return 0; + } + + @Override + public String getAsm() { + return ".pc = "+ AsmFragment.getAsmNumber(address)+" \""+name+"\""; + } + + @Override + public int getIndex() { + return index; + } + + @Override + public void setIndex(int index) { + this.index = index; + } +} diff --git a/src/main/java/dk/camelot64/kickc/fragment/AsmFragment.java b/src/main/java/dk/camelot64/kickc/fragment/AsmFragment.java index 948f308dd..0fa286161 100644 --- a/src/main/java/dk/camelot64/kickc/fragment/AsmFragment.java +++ b/src/main/java/dk/camelot64/kickc/fragment/AsmFragment.java @@ -486,7 +486,6 @@ public class AsmFragment { return getAsmParamName(varScope, asmName, getCodeScope()); } - /** * Get the ASM parameter for a specific bound constant * @param boundVar The constant diff --git a/src/main/java/dk/camelot64/kickc/model/StatementAsm.java b/src/main/java/dk/camelot64/kickc/model/StatementAsm.java new file mode 100644 index 000000000..b73aaad03 --- /dev/null +++ b/src/main/java/dk/camelot64/kickc/model/StatementAsm.java @@ -0,0 +1,15 @@ +package dk.camelot64.kickc.model; + +/** Inline ASM code */ +public class StatementAsm extends StatementBase { + + + public StatementAsm(Integer index) { + super(index); + } + + @Override + public String toString(Program program) { + return null; + } +} diff --git a/src/main/java/dk/camelot64/kickc/model/StatementBase.java b/src/main/java/dk/camelot64/kickc/model/StatementBase.java index e3553c6ac..fa745ef88 100644 --- a/src/main/java/dk/camelot64/kickc/model/StatementBase.java +++ b/src/main/java/dk/camelot64/kickc/model/StatementBase.java @@ -25,9 +25,7 @@ public abstract class StatementBase implements Statement { public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; - StatementBase that = (StatementBase) o; - return index != null ? index.equals(that.index) : that.index == null; } @@ -60,4 +58,5 @@ public abstract class StatementBase implements Statement { str.append("]"); return str.toString(); } + } diff --git a/src/main/java/dk/camelot64/kickc/passes/Pass1GenerateStatementSequence.java b/src/main/java/dk/camelot64/kickc/passes/Pass1GenerateStatementSequence.java index 19e176707..60f5339be 100644 --- a/src/main/java/dk/camelot64/kickc/passes/Pass1GenerateStatementSequence.java +++ b/src/main/java/dk/camelot64/kickc/passes/Pass1GenerateStatementSequence.java @@ -47,6 +47,7 @@ public class Pass1GenerateStatementSequence extends KickCBaseVisitor { public void generate(KickCParser.FileContext file) { this.visit(file); + sequence.addStatement(new StatementCall(null, "main", new ArrayList())); } @Override diff --git a/src/main/java/dk/camelot64/kickc/passes/Pass1TypeInference.java b/src/main/java/dk/camelot64/kickc/passes/Pass1TypeInference.java index 2034273c8..50730c637 100644 --- a/src/main/java/dk/camelot64/kickc/passes/Pass1TypeInference.java +++ b/src/main/java/dk/camelot64/kickc/passes/Pass1TypeInference.java @@ -57,13 +57,13 @@ public class Pass1TypeInference { } else if(statement instanceof StatementCall) { StatementCall call = (StatementCall) statement; LValue lValue = call.getlValue(); + String procedureName = call.getProcedureName(); + Procedure procedure = scopes.peek().getProcedure(procedureName); + call.setProcedure(procedure.getRef()); + if(procedure.getParameters().size()!=call.getParameters().size()) { + throw new RuntimeException("Wrong number of parameters in call. Expected " +procedure.getParameters().size()+". "+statement.toString()); + } if(lValue instanceof VariableRef) { - String procedureName = call.getProcedureName(); - Procedure procedure = scopes.peek().getProcedure(procedureName); - call.setProcedure(procedure.getRef()); - if(procedure.getParameters().size()!=call.getParameters().size()) { - throw new RuntimeException("Wrong number of parameters in call. Expected " +procedure.getParameters().size()+". "+statement.toString()); - } Variable lValueVar = programScope.getVariable((VariableRef) lValue); lValueVar.setTypeInferred(procedure.getReturnType()); } diff --git a/src/main/java/dk/camelot64/kickc/passes/Pass4CodeGeneration.java b/src/main/java/dk/camelot64/kickc/passes/Pass4CodeGeneration.java index 10229ff03..b5bc9c7dd 100644 --- a/src/main/java/dk/camelot64/kickc/passes/Pass4CodeGeneration.java +++ b/src/main/java/dk/camelot64/kickc/passes/Pass4CodeGeneration.java @@ -29,6 +29,11 @@ public class Pass4CodeGeneration { AsmProgram asm = new AsmProgram(); ScopeRef currentScope = ScopeRef.ROOT; + asm.startSegment(null, "Basic Upstart"); + asm.addLine(new AsmSetPc("Basic", 0x0801)); + asm.addLine(new AsmBasicUpstart("main")); + asm.addLine(new AsmSetPc("Program", 0x080d)); + // Generate global ZP labels asm.startSegment(null, "Global Constants & labels"); addConstants(asm, currentScope); diff --git a/src/main/java/dk/camelot64/kickc/test/TestErrors.java b/src/main/java/dk/camelot64/kickc/test/TestErrors.java index bc3d1216a..4bdaabd41 100644 --- a/src/main/java/dk/camelot64/kickc/test/TestErrors.java +++ b/src/main/java/dk/camelot64/kickc/test/TestErrors.java @@ -24,6 +24,10 @@ public class TestErrors extends TestCase { helper = new ReferenceHelper("dk/camelot64/kickc/test/ref/"); } + public void testOverlapAllocation() throws IOException, URISyntaxException { + compileAndCompare("overlap-allocation"); + } + public void testIncD020() throws IOException, URISyntaxException { compileAndCompare("incd020"); } diff --git a/src/main/java/dk/camelot64/kickc/test/bitmap-bresenham.kc b/src/main/java/dk/camelot64/kickc/test/bitmap-bresenham.kc index b36ad8fc6..13878e9af 100644 --- a/src/main/java/dk/camelot64/kickc/test/bitmap-bresenham.kc +++ b/src/main/java/dk/camelot64/kickc/test/bitmap-bresenham.kc @@ -56,21 +56,32 @@ void line(byte x0, byte x1, byte y0, byte y1) { if(yd>1; + do { + plot(x,y); + x = x + 1; + e = e+yd; + if(xd>1; + do { + plot(x,y); + y = y + 1; + e = e+xd; + if(yd>1; + do { + plot(x,y); + y = y + 1; + e = e+xd; + if(ydBITMAP diff --git a/src/main/java/dk/camelot64/kickc/test/ref/bitmap-bresenham.cfg b/src/main/java/dk/camelot64/kickc/test/ref/bitmap-bresenham.cfg index f3f01899b..a8d42265f 100644 --- a/src/main/java/dk/camelot64/kickc/test/ref/bitmap-bresenham.cfg +++ b/src/main/java/dk/camelot64/kickc/test/ref/bitmap-bresenham.cfg @@ -1,10 +1,10 @@ @begin: scope:[] from - to:@7 -@7: scope:[] from @begin + to:@10 +@10: scope:[] from @begin [0] call main param-assignment [ ] to:@end -@end: scope:[] from @7 -main: scope:[main] from @7 +@end: scope:[] from @10 +main: scope:[main] from @10 [1] *((const byte*) BGCOL#0) ← (byte) 0 [ ] [2] *((const byte*) FGCOL#0) ← (byte) 0 [ ] [3] *((const byte*) D011#0) ← (const byte) BMM#0|(const byte) DEN#0|(const byte) RSEL#0|(byte) 3 [ ] @@ -47,177 +47,312 @@ lines::@return: scope:[lines] from lines::@3 to:@return line: scope:[line] from lines::@1 [24] if((byte) line::x0#0>=(byte) line::x1#0) goto line::@1 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] - to:line::@9 -line::@9: scope:[line] from line + to:line::@15 +line::@15: scope:[line] from line [25] (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 ] [26] 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 ] - to:line::@10 -line::@10: scope:[line] from line::@9 - [27] (byte) line::yd#0 ← (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#0 ] - [28] if((byte) line::yd#0>=(byte) line::xd#1) goto line::@3 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#0 ] - to:line::@11 -line::@11: scope:[line] from line::@10 - [29] (byte) line_xdyi::x#0 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::xd#1 line::yd#0 line_xdyi::x#0 ] - [30] (byte) line_xdyi::y#0 ← (byte) line::y0#0 [ line::x1#0 line::xd#1 line::yd#0 line_xdyi::x#0 line_xdyi::y#0 ] - [31] (byte) line_xdyi::x1#0 ← (byte) line::x1#0 [ line::xd#1 line::yd#0 line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 ] - [32] (byte) line_xdyi::xd#0 ← (byte) line::xd#1 [ line::yd#0 line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 ] - [33] (byte) line_xdyi::yd#0 ← (byte) line::yd#0 [ line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 ] + to:line::@16 +line::@16: scope:[line] from line::@15 + [27] (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 ] + [28] 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 ] + to:line::@17 +line::@17: scope:[line] from line::@16 + [29] (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 ] + [30] (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 ] + [31] (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 ] + [32] (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 ] + [33] (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 ] [34] call line_xdyi param-assignment [ ] to:line::@return -line::@return: scope:[line] from line::@11 line::@17 line::@19 line::@22 line::@24 +line::@return: scope:[line] from line::@10 line::@13 line::@17 line::@20 line::@24 line::@27 line::@3 line::@6 [35] return [ ] to:@return -line::@3: scope:[line] from line::@10 - [36] (byte) plot::x#2 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#2 ] - [37] (byte) plot::y#2 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#2 plot::y#2 ] - [38] call plot param-assignment [ line::x1#0 line::y1#0 ] - to:line::@19 -line::@19: scope:[line] from line::@3 - [39] (byte) plot::x#3 ← (byte) line::x1#0 [ line::y1#0 plot::x#3 ] - [40] (byte) plot::y#3 ← (byte) line::y1#0 [ plot::x#3 plot::y#3 ] - [41] call plot param-assignment [ ] +line::@3: scope:[line] from line::@16 + [36] (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 ] + [37] (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 ] + [38] (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 ] + [39] (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 ] + [40] (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 ] + [41] call line_ydxi param-assignment [ ] to:line::@return -line::@2: scope:[line] from line::@9 - [42] (byte) plot::x#0 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#0 ] - [43] (byte) plot::y#0 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#0 plot::y#0 ] - [44] call plot param-assignment [ line::x1#0 line::y1#0 ] - to:line::@17 -line::@17: scope:[line] from line::@2 - [45] (byte) plot::x#1 ← (byte) line::x1#0 [ line::y1#0 plot::x#1 ] - [46] (byte) plot::y#1 ← (byte) line::y1#0 [ plot::x#1 plot::y#1 ] - [47] call plot param-assignment [ ] +line::@2: scope:[line] from line::@15 + [42] (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 ] + [43] 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 ] + to:line::@20 +line::@20: scope:[line] from line::@2 + [44] (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 ] + [45] (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 ] + [46] (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 ] + [47] (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 ] + [48] (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 ] + [49] call line_xdyd param-assignment [ ] + to:line::@return +line::@6: scope:[line] from line::@2 + [50] (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 ] + [51] (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 ] + [52] (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 ] + [53] (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 ] + [54] (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 ] + [55] call line_ydxd param-assignment [ ] to:line::@return line::@1: scope:[line] from line - [48] (byte) line::xd#0 ← (byte) line::x1#0 - (byte) line::x0#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] - [49] if((byte) line::y0#0>=(byte) line::y1#0) goto line::@7 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] - to:line::@15 -line::@15: scope:[line] from line::@1 - [50] (byte) plot::x#6 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#6 ] - [51] (byte) plot::y#6 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#6 plot::y#6 ] - [52] call plot param-assignment [ line::x1#0 line::y1#0 ] + [56] (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 ] + [57] 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 ] + to:line::@23 +line::@23: scope:[line] from line::@1 + [58] (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 ] + [59] 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 ] to:line::@24 -line::@24: scope:[line] from line::@15 - [53] (byte) plot::x#7 ← (byte) line::x1#0 [ line::y1#0 plot::x#7 ] - [54] (byte) plot::y#7 ← (byte) line::y1#0 [ plot::x#7 plot::y#7 ] - [55] call plot param-assignment [ ] +line::@24: scope:[line] from line::@23 + [60] (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 ] + [61] (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 ] + [62] (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 ] + [63] (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 ] + [64] (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 ] + [65] call line_xdyd param-assignment [ ] to:line::@return -line::@7: scope:[line] from line::@1 - [56] (byte) plot::x#4 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#4 ] - [57] (byte) plot::y#4 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#4 plot::y#4 ] - [58] call plot param-assignment [ line::x1#0 line::y1#0 ] - to:line::@22 -line::@22: scope:[line] from line::@7 - [59] (byte) plot::x#5 ← (byte) line::x1#0 [ line::y1#0 plot::x#5 ] - [60] (byte) plot::y#5 ← (byte) line::y1#0 [ plot::x#5 plot::y#5 ] - [61] call plot param-assignment [ ] +line::@10: scope:[line] from line::@23 + [66] (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 ] + [67] (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 ] + [68] (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 ] + [69] (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 ] + [70] (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 ] + [71] call line_ydxd param-assignment [ ] to:line::@return -plot: scope:[plot] from line::@15 line::@17 line::@19 line::@2 line::@22 line::@24 line::@3 line::@7 line_xdyi::@1 - [62] (byte) plot::y#9 ← phi( line::@15/(byte) plot::y#6 line::@17/(byte) plot::y#1 line::@19/(byte) plot::y#3 line::@2/(byte) plot::y#0 line::@22/(byte) plot::y#5 line::@24/(byte) plot::y#7 line::@3/(byte) plot::y#2 line::@7/(byte) plot::y#4 line_xdyi::@1/(byte) plot::y#8 ) [ plot::x#9 plot::y#9 ] - [62] (byte) plot::x#9 ← phi( line::@15/(byte) plot::x#6 line::@17/(byte) plot::x#1 line::@19/(byte) plot::x#3 line::@2/(byte) plot::x#0 line::@22/(byte) plot::x#5 line::@24/(byte) plot::x#7 line::@3/(byte) plot::x#2 line::@7/(byte) plot::x#4 line_xdyi::@1/(byte) plot::x#8 ) [ plot::x#9 plot::y#9 ] - [63] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#9 [ plot::x#9 plot::y#9 plot::$0 ] - [64] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#9 plot::y#9 plot::plotter_x#1 ] - [65] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#9 [ plot::x#9 plot::y#9 plot::plotter_x#1 plot::$1 ] - [66] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#9 plot::y#9 plot::plotter_x#2 ] - [67] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#9 [ plot::x#9 plot::y#9 plot::plotter_x#2 plot::$2 ] - [68] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#9 plot::y#9 plot::plotter_x#2 plot::plotter_y#1 ] - [69] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#9 [ plot::x#9 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] - [70] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#9 plot::plotter_x#2 plot::plotter_y#2 ] - [71] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#9 plot::plotter#0 ] - [72] (byte~) plot::$5 ← * (byte*) plot::plotter#0 [ plot::x#9 plot::plotter#0 plot::$5 ] - [73] (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#9 [ plot::plotter#0 plot::$5 plot::$6 ] - [74] (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 [ plot::plotter#0 plot::$7 ] - [75] *((byte*) plot::plotter#0) ← (byte~) plot::$7 [ ] +line::@9: scope:[line] from line::@1 + [72] (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 ] + [73] 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 ] + to:line::@27 +line::@27: scope:[line] from line::@9 + [74] (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 ] + [75] (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 ] + [76] (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 ] + [77] (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 ] + [78] (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 ] + [79] call line_xdyi param-assignment [ ] + to:line::@return +line::@13: scope:[line] from line::@9 + [80] (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 ] + [81] (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 ] + [82] (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 ] + [83] (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 ] + [84] (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 ] + [85] call line_ydxi param-assignment [ ] + to:line::@return +line_ydxi: scope:[line_ydxi] from line::@13 line::@3 + [86] (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 ] + [86] (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 ] + [86] (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 ] + [86] (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 ] + [86] (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 ] + [87] (byte) line_ydxi::e#0 ← (byte) line_ydxi::xd#2 >> (byte) 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 ] + to:line_ydxi::@1 +line_ydxi::@1: scope:[line_ydxi] from line_ydxi line_ydxi::@2 + [88] (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 ] + [88] (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 ] + [88] (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 ] + [89] (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 ] + [90] (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 ] + [91] 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 ] + to:line_ydxi::@5 +line_ydxi::@5: scope:[line_ydxi] from line_ydxi::@1 + [92] (byte) line_ydxi::y#2 ← (byte) line_ydxi::y#3 + (byte) 1 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::e#3 line_ydxi::y#2 ] + [93] (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 ] + [94] 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 ] + to:line_ydxi::@3 +line_ydxi::@3: scope:[line_ydxi] from line_ydxi::@5 + [95] (byte) line_ydxi::x#2 ← (byte) line_ydxi::x#3 + (byte) 1 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::e#1 line_ydxi::x#2 ] + [96] (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 ] + to:line_ydxi::@2 +line_ydxi::@2: scope:[line_ydxi] from line_ydxi::@3 line_ydxi::@5 + [97] (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 ] + [97] (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 ] + [98] (byte~) line_ydxi::$8 ← (byte) line_ydxi::y1#6 + (byte) 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::$8 ] + [99] if((byte) line_ydxi::y#2<(byte~) line_ydxi::$8) 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 ] + to:line_ydxi::@return +line_ydxi::@return: scope:[line_ydxi] from line_ydxi::@2 + [100] return [ ] + to:@return +plot: scope:[plot] from line_xdyd::@1 line_xdyi::@1 line_ydxd::@1 line_ydxi::@1 + [101] (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 ] + [101] (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 ] + [102] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#4 [ plot::x#4 plot::y#4 plot::$0 ] + [103] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#4 plot::y#4 plot::plotter_x#1 ] + [104] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#4 [ plot::x#4 plot::y#4 plot::plotter_x#1 plot::$1 ] + [105] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#4 plot::y#4 plot::plotter_x#2 ] + [106] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#4 [ plot::x#4 plot::y#4 plot::plotter_x#2 plot::$2 ] + [107] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#4 plot::y#4 plot::plotter_x#2 plot::plotter_y#1 ] + [108] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#4 [ plot::x#4 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] + [109] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#4 plot::plotter_x#2 plot::plotter_y#2 ] + [110] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#4 plot::plotter#0 ] + [111] (byte~) plot::$5 ← * (byte*) plot::plotter#0 [ plot::x#4 plot::plotter#0 plot::$5 ] + [112] (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#4 [ plot::plotter#0 plot::$5 plot::$6 ] + [113] (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 [ plot::plotter#0 plot::$7 ] + [114] *((byte*) plot::plotter#0) ← (byte~) plot::$7 [ ] to:plot::@return plot::@return: scope:[plot] from plot - [76] return [ ] + [115] return [ ] to:@return -line_xdyi: scope:[line_xdyi] from line::@11 - [77] (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#0 >> (byte) 1 [ line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::e#0 ] +line_xdyi: scope:[line_xdyi] from line::@17 line::@27 + [116] (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 ] + [116] (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 ] + [116] (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 ] + [116] (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 ] + [116] (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 ] + [117] (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#2 >> (byte) 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 ] to:line_xdyi::@1 line_xdyi::@1: scope:[line_xdyi] from line_xdyi line_xdyi::@2 - [78] (byte) line_xdyi::e#3 ← phi( line_xdyi/(byte) line_xdyi::e#0 line_xdyi::@2/(byte) line_xdyi::e#6 ) [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] - [78] (byte) line_xdyi::y#2 ← phi( line_xdyi/(byte) line_xdyi::y#0 line_xdyi::@2/(byte) line_xdyi::y#5 ) [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] - [78] (byte) line_xdyi::x#2 ← phi( line_xdyi/(byte) line_xdyi::x#0 line_xdyi::@2/(byte) line_xdyi::x#1 ) [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] - [79] (byte) plot::x#8 ← (byte) line_xdyi::x#2 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 plot::x#8 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] - [80] (byte) plot::y#8 ← (byte) line_xdyi::y#2 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 plot::x#8 plot::y#8 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] - [81] call plot param-assignment [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] + [118] (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 ] + [118] (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 ] + [118] (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 ] + [119] (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 ] + [120] (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 ] + [121] 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 ] to:line_xdyi::@5 line_xdyi::@5: scope:[line_xdyi] from line_xdyi::@1 - [82] (byte) line_xdyi::x#1 ← (byte) line_xdyi::x#2 + (byte) 1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::y#2 line_xdyi::e#3 line_xdyi::x#1 ] - [83] (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#0 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::y#2 line_xdyi::x#1 line_xdyi::e#1 ] - [84] if((byte) line_xdyi::xd#0>=(byte) line_xdyi::e#1) goto line_xdyi::@2 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::y#2 line_xdyi::x#1 line_xdyi::e#1 ] + [122] (byte) line_xdyi::x#2 ← (byte) line_xdyi::x#3 + (byte) 1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::e#3 line_xdyi::x#2 ] + [123] (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 ] + [124] 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 ] to:line_xdyi::@3 line_xdyi::@3: scope:[line_xdyi] from line_xdyi::@5 - [85] (byte) line_xdyi::y#1 ← (byte) line_xdyi::y#2 + (byte) 1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::e#1 line_xdyi::y#1 ] - [86] (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#0 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#1 line_xdyi::e#2 ] + [125] (byte) line_xdyi::y#2 ← (byte) line_xdyi::y#3 + (byte) 1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::e#1 line_xdyi::y#2 ] + [126] (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 ] to:line_xdyi::@2 line_xdyi::@2: scope:[line_xdyi] from line_xdyi::@3 line_xdyi::@5 - [87] (byte) line_xdyi::e#6 ← phi( line_xdyi::@3/(byte) line_xdyi::e#2 line_xdyi::@5/(byte) line_xdyi::e#1 ) [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#5 line_xdyi::e#6 ] - [87] (byte) line_xdyi::y#5 ← phi( line_xdyi::@3/(byte) line_xdyi::y#1 line_xdyi::@5/(byte) line_xdyi::y#2 ) [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#5 line_xdyi::e#6 ] - [88] (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#0 + (byte) 1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#5 line_xdyi::e#6 line_xdyi::$8 ] - [89] if((byte) line_xdyi::x#1<(byte~) line_xdyi::$8) goto line_xdyi::@1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#5 line_xdyi::e#6 ] + [127] (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 ] + [127] (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 ] + [128] (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#6 + (byte) 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::$8 ] + [129] if((byte) line_xdyi::x#2<(byte~) line_xdyi::$8) 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 ] to:line_xdyi::@return line_xdyi::@return: scope:[line_xdyi] from line_xdyi::@2 - [90] return [ ] + [130] return [ ] + to:@return +line_ydxd: scope:[line_ydxd] from line::@10 line::@6 + [131] (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#6 line_ydxd::yd#5 line_ydxd::y1#6 ] + [131] (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#6 line_ydxd::yd#5 line_ydxd::y1#6 ] + [131] (byte) line_ydxd::y#6 ← 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#6 line_ydxd::yd#5 line_ydxd::y1#6 ] + [131] (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#6 line_ydxd::yd#5 line_ydxd::y1#6 ] + [131] (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#6 line_ydxd::yd#5 line_ydxd::y1#6 ] + [132] (byte) line_ydxd::e#0 ← (byte) line_ydxd::xd#2 >> (byte) 1 [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 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 + [133] (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#3 line_ydxd::e#3 ] + [133] (byte) line_ydxd::y#3 ← phi( line_ydxd/(byte) line_ydxd::y#6 line_ydxd::@2/(byte) line_ydxd::y#2 ) [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] + [133] (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#3 line_ydxd::e#3 ] + [134] (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#3 line_ydxd::e#3 ] + [135] (byte) plot::y#3 ← (byte) line_ydxd::y#3 [ 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#3 line_ydxd::e#3 ] + [136] call plot param-assignment [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] + to:line_ydxd::@5 +line_ydxd::@5: scope:[line_ydxd] from line_ydxd::@1 + [137] (byte) line_ydxd::y#2 ← (byte) line_ydxd::y#3 + (byte) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::e#3 line_ydxd::y#2 ] + [138] (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#2 line_ydxd::e#1 ] + [139] 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#2 line_ydxd::e#1 ] + to:line_ydxd::@3 +line_ydxd::@3: scope:[line_ydxd] from line_ydxd::@5 + [140] (byte) line_ydxd::x#2 ← (byte) line_ydxd::x#3 - (byte) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#2 line_ydxd::e#1 line_ydxd::x#2 ] + [141] (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#2 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 + [142] (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#2 line_ydxd::e#6 ] + [142] (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#2 line_ydxd::e#6 ] + [143] (byte~) line_ydxd::$8 ← (byte) line_ydxd::y1#6 + (byte) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 line_ydxd::$8 ] + [144] if((byte) line_ydxd::y#2<(byte~) line_ydxd::$8) goto line_ydxd::@1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 ] + to:line_ydxd::@return +line_ydxd::@return: scope:[line_ydxd] from line_ydxd::@2 + [145] return [ ] + to:@return +line_xdyd: scope:[line_xdyd] from line::@20 line::@24 + [146] (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 ] + [146] (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 ] + [146] (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 ] + [146] (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 ] + [146] (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 ] + [147] (byte) line_xdyd::e#0 ← (byte) line_xdyd::yd#2 >> (byte) 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 ] + to:line_xdyd::@1 +line_xdyd::@1: scope:[line_xdyd] from line_xdyd line_xdyd::@2 + [148] (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 ] + [148] (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 ] + [148] (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 ] + [149] (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 ] + [150] (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 ] + [151] 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 ] + to:line_xdyd::@5 +line_xdyd::@5: scope:[line_xdyd] from line_xdyd::@1 + [152] (byte) line_xdyd::x#2 ← (byte) line_xdyd::x#3 + (byte) 1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::e#3 line_xdyd::x#2 ] + [153] (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 ] + [154] 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 ] + to:line_xdyd::@3 +line_xdyd::@3: scope:[line_xdyd] from line_xdyd::@5 + [155] (byte) line_xdyd::y#2 ← (byte) line_xdyd::y#3 - (byte) 1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::e#1 line_xdyd::y#2 ] + [156] (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 ] + to:line_xdyd::@2 +line_xdyd::@2: scope:[line_xdyd] from line_xdyd::@3 line_xdyd::@5 + [157] (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 ] + [157] (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 ] + [158] (byte~) line_xdyd::$8 ← (byte) line_xdyd::x1#6 + (byte) 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::$8 ] + [159] if((byte) line_xdyd::x#2<(byte~) line_xdyd::$8) 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 ] + to:line_xdyd::@return +line_xdyd::@return: scope:[line_xdyd] from line_xdyd::@2 + [160] return [ ] to:@return init_plot_tables: scope:[init_plot_tables] from main::@3 - [91] phi() [ ] + [161] phi() [ ] to:init_plot_tables::@1 init_plot_tables::@1: scope:[init_plot_tables] from init_plot_tables init_plot_tables::@2 - [92] (byte) init_plot_tables::bit#3 ← phi( init_plot_tables/(byte) 128 init_plot_tables::@2/(byte) init_plot_tables::bit#4 ) [ init_plot_tables::x#2 init_plot_tables::bit#3 ] - [92] (byte) init_plot_tables::x#2 ← phi( init_plot_tables/(byte) 0 init_plot_tables::@2/(byte) init_plot_tables::x#1 ) [ init_plot_tables::x#2 init_plot_tables::bit#3 ] - [93] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bit#3 init_plot_tables::$0 ] - [94] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] - [95] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] - [96] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bit#3 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] - [97] (byte) init_plot_tables::bit#1 ← (byte) init_plot_tables::bit#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bit#1 ] - [98] if((byte) init_plot_tables::bit#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] + [162] (byte) init_plot_tables::bit#3 ← phi( init_plot_tables/(byte) 128 init_plot_tables::@2/(byte) init_plot_tables::bit#4 ) [ init_plot_tables::x#2 init_plot_tables::bit#3 ] + [162] (byte) init_plot_tables::x#2 ← phi( init_plot_tables/(byte) 0 init_plot_tables::@2/(byte) init_plot_tables::x#1 ) [ init_plot_tables::x#2 init_plot_tables::bit#3 ] + [163] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bit#3 init_plot_tables::$0 ] + [164] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] + [165] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] + [166] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bit#3 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] + [167] (byte) init_plot_tables::bit#1 ← (byte) init_plot_tables::bit#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bit#1 ] + [168] if((byte) init_plot_tables::bit#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] to:init_plot_tables::@2 init_plot_tables::@2: scope:[init_plot_tables] from init_plot_tables::@1 init_plot_tables::@10 - [99] (byte) init_plot_tables::bit#4 ← phi( init_plot_tables::@10/(byte) init_plot_tables::bit#1 init_plot_tables::@1/(byte) 128 ) [ init_plot_tables::x#2 init_plot_tables::bit#4 ] - [100] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bit#4 ] - [101] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bit#4 ] + [169] (byte) init_plot_tables::bit#4 ← phi( init_plot_tables::@10/(byte) init_plot_tables::bit#1 init_plot_tables::@1/(byte) 128 ) [ init_plot_tables::x#2 init_plot_tables::bit#4 ] + [170] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bit#4 ] + [171] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bit#4 ] to:init_plot_tables::@3 init_plot_tables::@3: scope:[init_plot_tables] from init_plot_tables::@2 init_plot_tables::@4 - [102] (byte*) init_plot_tables::yoffs#2 ← phi( init_plot_tables::@4/(byte*) init_plot_tables::yoffs#4 init_plot_tables::@2/(byte) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] - [102] (byte) init_plot_tables::y#2 ← phi( init_plot_tables::@4/(byte) init_plot_tables::y#1 init_plot_tables::@2/(byte) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] - [103] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] - [104] (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 ] - [105] (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 ] - [106] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] - [107] (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 ] - [108] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] - [109] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] - [110] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] + [172] (byte*) init_plot_tables::yoffs#2 ← phi( init_plot_tables::@4/(byte*) init_plot_tables::yoffs#4 init_plot_tables::@2/(byte) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] + [172] (byte) init_plot_tables::y#2 ← phi( init_plot_tables::@4/(byte) init_plot_tables::y#1 init_plot_tables::@2/(byte) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] + [173] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] + [174] (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 ] + [175] (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 ] + [176] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] + [177] (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 ] + [178] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] + [179] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] + [180] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ 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 - [111] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] + [181] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ 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 - [112] (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 ] - [113] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] - [114] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] + [182] (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 ] + [183] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] + [184] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ 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 - [115] return [ ] + [185] return [ ] to:@return init_plot_tables::@10: scope:[init_plot_tables] from init_plot_tables::@1 to:init_plot_tables::@2 init_screen: scope:[init_screen] from main - [116] phi() [ ] + [186] phi() [ ] to:init_screen::@1 init_screen::@1: scope:[init_screen] from init_screen init_screen::@1 - [117] (byte*) init_screen::b#2 ← phi( init_screen/(const byte*) BITMAP#0 init_screen::@1/(byte*) init_screen::b#1 ) [ init_screen::b#2 ] - [118] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] - [119] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] - [120] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] + [187] (byte*) init_screen::b#2 ← phi( init_screen/(const byte*) BITMAP#0 init_screen::@1/(byte*) init_screen::b#1 ) [ init_screen::b#2 ] + [188] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] + [189] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] + [190] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] to:init_screen::@2 init_screen::@2: scope:[init_screen] from init_screen::@1 init_screen::@2 - [121] (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 ] - [122] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] - [123] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] - [124] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] + [191] (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 ] + [192] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] + [193] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] + [194] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] to:init_screen::@return init_screen::@return: scope:[init_screen] from init_screen::@2 - [125] return [ ] + [195] return [ ] to:@return diff --git a/src/main/java/dk/camelot64/kickc/test/ref/bitmap-bresenham.log b/src/main/java/dk/camelot64/kickc/test/ref/bitmap-bresenham.log index 6c3d2b4aa..ebedddbad 100644 --- a/src/main/java/dk/camelot64/kickc/test/ref/bitmap-bresenham.log +++ b/src/main/java/dk/camelot64/kickc/test/ref/bitmap-bresenham.log @@ -56,21 +56,32 @@ void line(byte x0, byte x1, byte y0, byte y1) { if(yd>1; + do { + plot(x,y); + x = x + 1; + e = e+yd; + if(xd>1; + do { + plot(x,y); + y = y + 1; + e = e+xd; + if(yd>1; + do { + plot(x,y); + y = y + 1; + e = e+xd; + if(yd> (byte) 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::$2 ← (byte) line_xdyd::x + (byte) 1 + (byte) line_xdyd::x ← (byte~) line_xdyd::$2 + (byte~) line_xdyd::$3 ← (byte) line_xdyd::e + (byte) line_xdyd::yd + (byte) line_xdyd::e ← (byte~) line_xdyd::$3 + (boolean~) line_xdyd::$4 ← (byte) line_xdyd::xd < (byte) line_xdyd::e + (boolean~) line_xdyd::$5 ← ! (boolean~) line_xdyd::$4 + if((boolean~) line_xdyd::$5) goto line_xdyd::@2 + (byte~) line_xdyd::$6 ← (byte) line_xdyd::y - (byte) 1 + (byte) line_xdyd::y ← (byte~) line_xdyd::$6 + (byte~) line_xdyd::$7 ← (byte) line_xdyd::e - (byte) line_xdyd::xd + (byte) line_xdyd::e ← (byte~) line_xdyd::$7 +line_xdyd::@2: + (byte~) line_xdyd::$8 ← (byte) line_xdyd::x1 + (byte) 1 + (boolean~) line_xdyd::$9 ← (byte) line_xdyd::x < (byte~) line_xdyd::$8 + if((boolean~) line_xdyd::$9) 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) 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::$2 ← (byte) line_ydxi::y + (byte) 1 + (byte) line_ydxi::y ← (byte~) line_ydxi::$2 + (byte~) line_ydxi::$3 ← (byte) line_ydxi::e + (byte) line_ydxi::xd + (byte) line_ydxi::e ← (byte~) line_ydxi::$3 + (boolean~) line_ydxi::$4 ← (byte) line_ydxi::yd < (byte) line_ydxi::e + (boolean~) line_ydxi::$5 ← ! (boolean~) line_ydxi::$4 + if((boolean~) line_ydxi::$5) goto line_ydxi::@2 + (byte~) line_ydxi::$6 ← (byte) line_ydxi::x + (byte) 1 + (byte) line_ydxi::x ← (byte~) line_ydxi::$6 + (byte~) line_ydxi::$7 ← (byte) line_ydxi::e - (byte) line_ydxi::yd + (byte) line_ydxi::e ← (byte~) line_ydxi::$7 +line_ydxi::@2: + (byte~) line_ydxi::$8 ← (byte) line_ydxi::y1 + (byte) 1 + (boolean~) line_ydxi::$9 ← (byte) line_ydxi::y < (byte~) line_ydxi::$8 + if((boolean~) line_ydxi::$9) 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) 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::$2 ← (byte) line_ydxd::y + (byte) 1 + (byte) line_ydxd::y ← (byte~) line_ydxd::$2 + (byte~) line_ydxd::$3 ← (byte) line_ydxd::e + (byte) line_ydxd::xd + (byte) line_ydxd::e ← (byte~) line_ydxd::$3 + (boolean~) line_ydxd::$4 ← (byte) line_ydxd::yd < (byte) line_ydxd::e + (boolean~) line_ydxd::$5 ← ! (boolean~) line_ydxd::$4 + if((boolean~) line_ydxd::$5) goto line_ydxd::@2 + (byte~) line_ydxd::$6 ← (byte) line_ydxd::x - (byte) 1 + (byte) line_ydxd::x ← (byte~) line_ydxd::$6 + (byte~) line_ydxd::$7 ← (byte) line_ydxd::e - (byte) line_ydxd::yd + (byte) line_ydxd::e ← (byte~) line_ydxd::$7 +line_ydxd::@2: + (byte~) line_ydxd::$8 ← (byte) line_ydxd::y1 + (byte) 1 + (boolean~) line_ydxd::$9 ← (byte) line_ydxd::y < (byte~) line_ydxd::$8 + if((boolean~) line_ydxd::$9) goto line_ydxd::@1 +line_ydxd::@return: + return +endproc // line_ydxd() proc (void()) plot((byte) plot::x , (byte) plot::y) (byte*) plot::plotter_x ← (byte) 0 (byte*) plot::plotter_y ← (byte) 0 @@ -398,17 +540,25 @@ SYMBOLS (void()) line((byte) line::x0 , (byte) line::x1 , (byte) line::y0 , (byte) line::y1) (boolean~) line::$0 (boolean~) line::$1 -(void~) line::$10 -(void~) line::$11 -(void~) line::$12 -(byte~) line::$13 -(boolean~) line::$14 -(boolean~) line::$15 -(void~) line::$16 -(void~) line::$17 -(void~) line::$18 -(void~) line::$19 +(byte~) line::$10 +(boolean~) line::$11 +(boolean~) line::$12 +(void~) line::$13 +(void~) line::$14 +(byte~) line::$15 +(boolean~) line::$16 +(boolean~) line::$17 +(byte~) line::$18 +(boolean~) line::$19 (byte~) line::$2 +(boolean~) line::$20 +(void~) line::$21 +(void~) line::$22 +(byte~) line::$23 +(boolean~) line::$24 +(boolean~) line::$25 +(void~) line::$26 +(void~) line::$27 (boolean~) line::$3 (boolean~) line::$4 (byte~) line::$5 @@ -417,6 +567,11 @@ SYMBOLS (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 @@ -424,6 +579,7 @@ SYMBOLS (label) line::@6 (label) line::@7 (label) line::@8 +(label) line::@9 (label) line::@return (byte) line::x0 (byte) line::x1 @@ -431,6 +587,26 @@ SYMBOLS (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~) line_xdyd::$2 +(byte~) line_xdyd::$3 +(boolean~) line_xdyd::$4 +(boolean~) line_xdyd::$5 +(byte~) line_xdyd::$6 +(byte~) line_xdyd::$7 +(byte~) line_xdyd::$8 +(boolean~) line_xdyd::$9 +(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 @@ -451,6 +627,46 @@ SYMBOLS (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~) line_ydxd::$2 +(byte~) line_ydxd::$3 +(boolean~) line_ydxd::$4 +(boolean~) line_ydxd::$5 +(byte~) line_ydxd::$6 +(byte~) line_ydxd::$7 +(byte~) line_ydxd::$8 +(boolean~) line_ydxd::$9 +(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~) line_ydxi::$2 +(byte~) line_ydxi::$3 +(boolean~) line_ydxi::$4 +(boolean~) line_ydxi::$5 +(byte~) line_ydxi::$6 +(byte~) line_ydxi::$7 +(byte~) line_ydxi::$8 +(boolean~) line_ydxi::$9 +(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~) lines::$0 (byte~) lines::$1 @@ -571,64 +787,102 @@ 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::@9 -line::@1: scope:[line] from line line::@14 - (byte~) line::$13 ← (byte) line::x1 - (byte) line::x0 - (byte) line::xd ← (byte~) line::$13 - (boolean~) line::$14 ← (byte) line::y0 < (byte) line::y1 - (boolean~) line::$15 ← ! (boolean~) line::$14 - if((boolean~) line::$15) goto line::@7 to:line::@15 -line::@9: scope:[line] from line +line::@1: scope:[line] from line line::@22 + (byte~) line::$15 ← (byte) line::x0 - (byte) line::x1 + (byte) line::xd ← (byte~) 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~) line::$2 ← (byte) line::x1 - (byte) line::x0 (byte) line::xd ← (byte~) 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::@10 -line::@2: scope:[line] from line::@13 line::@9 - (void~) line::$11 ← call plot (byte) line::x0 (byte) line::y0 - (void~) line::$12 ← call plot (byte) line::x1 (byte) line::y1 - to:line::@5 -line::@10: scope:[line] from line::@9 + to:line::@16 +line::@2: scope:[line] from line::@15 line::@19 + (byte~) line::$10 ← (byte) line::y0 - (byte) line::y1 + (byte) line::yd ← (byte~) 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~) line::$5 ← (byte) line::y1 - (byte) line::y0 (byte) line::yd ← (byte~) 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::@11 -line::@3: scope:[line] from line::@10 line::@12 - (void~) line::$9 ← call plot (byte) line::x0 (byte) line::y0 - (void~) line::$10 ← call plot (byte) line::x1 (byte) line::y1 + 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::@11: scope:[line] from line::@10 +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::@11 line::@3 +line::@4: scope:[line] from line::@17 line::@3 to:line::@5 -line::@12: scope:[line] from +line::@18: scope:[line] from to:line::@3 -line::@5: scope:[line] from line::@2 line::@4 - to:line::@6 -line::@13: scope:[line] from +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::@5 line::@8 - to:line::@return -line::@14: scope:[line] from - to:line::@1 -line::@7: scope:[line] from line::@1 line::@16 - (void~) line::$18 ← call plot (byte) line::x0 (byte) line::y0 - (void~) line::$19 ← call plot (byte) line::x1 (byte) line::y1 - to:line::@8 -line::@15: scope:[line] from line::@1 - (void~) line::$16 ← call plot (byte) line::x0 (byte) line::y0 - (void~) line::$17 ← call plot (byte) line::x1 (byte) line::y1 - to:line::@8 -line::@8: scope:[line] from line::@15 line::@7 - to:line::@6 -line::@16: scope:[line] from +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::@return: scope:[line] from line::@6 +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~) line::$23 ← (byte) line::y0 - (byte) line::y1 + (byte) line::yd ← (byte~) 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~) line::$18 ← (byte) line::y1 - (byte) line::y0 + (byte) line::yd ← (byte~) 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 @@ -665,6 +919,102 @@ line_xdyi::@return: scope:[line_xdyi] from line_xdyi::@4 to:@return @4: scope:[] from @3 to:@5 +line_xdyd: scope:[line_xdyd] from + (byte~) line_xdyd::$0 ← (byte) line_xdyd::yd >> (byte) 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::$2 ← (byte) line_xdyd::x + (byte) 1 + (byte) line_xdyd::x ← (byte~) line_xdyd::$2 + (byte~) line_xdyd::$3 ← (byte) line_xdyd::e + (byte) line_xdyd::yd + (byte) line_xdyd::e ← (byte~) line_xdyd::$3 + (boolean~) line_xdyd::$4 ← (byte) line_xdyd::xd < (byte) line_xdyd::e + (boolean~) line_xdyd::$5 ← ! (boolean~) line_xdyd::$4 + if((boolean~) line_xdyd::$5) goto line_xdyd::@2 + to:line_xdyd::@3 +line_xdyd::@2: scope:[line_xdyd] from line_xdyd::@1 line_xdyd::@3 + (byte~) line_xdyd::$8 ← (byte) line_xdyd::x1 + (byte) 1 + (boolean~) line_xdyd::$9 ← (byte) line_xdyd::x < (byte~) line_xdyd::$8 + if((boolean~) line_xdyd::$9) goto line_xdyd::@1 + to:line_xdyd::@4 +line_xdyd::@3: scope:[line_xdyd] from line_xdyd::@1 + (byte~) line_xdyd::$6 ← (byte) line_xdyd::y - (byte) 1 + (byte) line_xdyd::y ← (byte~) line_xdyd::$6 + (byte~) line_xdyd::$7 ← (byte) line_xdyd::e - (byte) line_xdyd::xd + (byte) line_xdyd::e ← (byte~) line_xdyd::$7 + 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) 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::$2 ← (byte) line_ydxi::y + (byte) 1 + (byte) line_ydxi::y ← (byte~) line_ydxi::$2 + (byte~) line_ydxi::$3 ← (byte) line_ydxi::e + (byte) line_ydxi::xd + (byte) line_ydxi::e ← (byte~) line_ydxi::$3 + (boolean~) line_ydxi::$4 ← (byte) line_ydxi::yd < (byte) line_ydxi::e + (boolean~) line_ydxi::$5 ← ! (boolean~) line_ydxi::$4 + if((boolean~) line_ydxi::$5) goto line_ydxi::@2 + to:line_ydxi::@3 +line_ydxi::@2: scope:[line_ydxi] from line_ydxi::@1 line_ydxi::@3 + (byte~) line_ydxi::$8 ← (byte) line_ydxi::y1 + (byte) 1 + (boolean~) line_ydxi::$9 ← (byte) line_ydxi::y < (byte~) line_ydxi::$8 + if((boolean~) line_ydxi::$9) goto line_ydxi::@1 + to:line_ydxi::@4 +line_ydxi::@3: scope:[line_ydxi] from line_ydxi::@1 + (byte~) line_ydxi::$6 ← (byte) line_ydxi::x + (byte) 1 + (byte) line_ydxi::x ← (byte~) line_ydxi::$6 + (byte~) line_ydxi::$7 ← (byte) line_ydxi::e - (byte) line_ydxi::yd + (byte) line_ydxi::e ← (byte~) line_ydxi::$7 + 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) 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::$2 ← (byte) line_ydxd::y + (byte) 1 + (byte) line_ydxd::y ← (byte~) line_ydxd::$2 + (byte~) line_ydxd::$3 ← (byte) line_ydxd::e + (byte) line_ydxd::xd + (byte) line_ydxd::e ← (byte~) line_ydxd::$3 + (boolean~) line_ydxd::$4 ← (byte) line_ydxd::yd < (byte) line_ydxd::e + (boolean~) line_ydxd::$5 ← ! (boolean~) line_ydxd::$4 + if((boolean~) line_ydxd::$5) goto line_ydxd::@2 + to:line_ydxd::@3 +line_ydxd::@2: scope:[line_ydxd] from line_ydxd::@1 line_ydxd::@3 + (byte~) line_ydxd::$8 ← (byte) line_ydxd::y1 + (byte) 1 + (boolean~) line_ydxd::$9 ← (byte) line_ydxd::y < (byte~) line_ydxd::$8 + if((boolean~) line_ydxd::$9) goto line_ydxd::@1 + to:line_ydxd::@4 +line_ydxd::@3: scope:[line_ydxd] from line_ydxd::@1 + (byte~) line_ydxd::$6 ← (byte) line_ydxd::x - (byte) 1 + (byte) line_ydxd::x ← (byte~) line_ydxd::$6 + (byte~) line_ydxd::$7 ← (byte) line_ydxd::e - (byte) line_ydxd::yd + (byte) line_ydxd::e ← (byte~) line_ydxd::$7 + 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 (byte*) plot::plotter_x ← (byte) 0 (byte*) plot::plotter_y ← (byte) 0 @@ -686,8 +1036,8 @@ plot: scope:[plot] from plot::@return: scope:[plot] from plot return to:@return -@5: scope:[] from @4 - to:@6 +@8: scope:[] from @7 + to:@9 init_plot_tables: scope:[init_plot_tables] from (byte) init_plot_tables::bit ← (byte) 128 (byte) init_plot_tables::x ← (byte) 0 @@ -742,8 +1092,8 @@ init_plot_tables::@8: scope:[init_plot_tables] from init_plot_tables::@4 init_plot_tables::@return: scope:[init_plot_tables] from init_plot_tables::@8 return to:@return -@6: scope:[] from @5 - to:@7 +@9: scope:[] from @8 + to:@10 init_screen: scope:[init_screen] from (byte*) init_screen::b ← (byte*) BITMAP to:init_screen::@1 @@ -769,29 +1119,41 @@ init_screen::@4: scope:[init_screen] from init_screen::@2 init_screen::@return: scope:[init_screen] from init_screen::@4 return to:@return -@7: scope:[] from @6 +@10: scope:[] from @9 (void~) $0 ← call main to:@end -@end: scope:[] from @7 +@end: scope:[] from @10 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::@12 +Removing empty block line::@18 Removing empty block line::@5 -Removing empty block line::@13 -Removing empty block line::@6 -Removing empty block line::@14 +Removing empty block line::@19 +Removing empty block line::@7 +Removing empty block line::@21 Removing empty block line::@8 -Removing empty block line::@16 +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 init_plot_tables::@8 +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 CONTROL FLOW GRAPH @begin: scope:[] from @@ -819,7 +1181,7 @@ CONTROL FLOW GRAPH (byte[]) lines_x ← { (byte) 60, (byte) 80, (byte) 110, (byte) 80, (byte) 60, (byte) 40, (byte) 10, (byte) 40, (byte) 60 } (byte[]) lines_y ← { (byte) 10, (byte) 40, (byte) 60, (byte) 80, (byte) 110, (byte) 80, (byte) 60, (byte) 40, (byte) 10 } (byte) lines_cnt ← (byte) 8 - to:@7 + to:@10 main: scope:[main] from *((byte*) BGCOL) ← (byte) 0 *((byte*) FGCOL) ← (byte) 0 @@ -860,48 +1222,74 @@ 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::@9 -line::@1: scope:[line] from line - (byte~) line::$13 ← (byte) line::x1 - (byte) line::x0 - (byte) line::xd ← (byte~) line::$13 - (boolean~) line::$14 ← (byte) line::y0 < (byte) line::y1 - (boolean~) line::$15 ← ! (boolean~) line::$14 - if((boolean~) line::$15) goto line::@7 to:line::@15 -line::@9: scope:[line] from line +line::@1: scope:[line] from line + (byte~) line::$15 ← (byte) line::x0 - (byte) line::x1 + (byte) line::xd ← (byte~) 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~) line::$2 ← (byte) line::x1 - (byte) line::x0 (byte) line::xd ← (byte~) 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::@10 -line::@2: scope:[line] from line::@9 - (void~) line::$11 ← call plot (byte) line::x0 (byte) line::y0 - (void~) line::$12 ← call plot (byte) line::x1 (byte) line::y1 - to:line::@return -line::@10: scope:[line] from line::@9 + to:line::@16 +line::@2: scope:[line] from line::@15 + (byte~) line::$10 ← (byte) line::y0 - (byte) line::y1 + (byte) line::yd ← (byte~) 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~) line::$5 ← (byte) line::y1 - (byte) line::y0 (byte) line::yd ← (byte~) 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::@11 -line::@3: scope:[line] from line::@10 - (void~) line::$9 ← call plot (byte) line::x0 (byte) line::y0 - (void~) line::$10 ← call plot (byte) line::x1 (byte) line::y1 + to:line::@17 +line::@3: scope:[line] from line::@16 + (void~) line::$9 ← call line_ydxi (byte) line::y0 (byte) line::x0 (byte) line::y1 (byte) line::yd (byte) line::xd to:line::@return -line::@11: scope:[line] from line::@10 +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::@return -line::@7: scope:[line] from line::@1 - (void~) line::$18 ← call plot (byte) line::x0 (byte) line::y0 - (void~) line::$19 ← call plot (byte) line::x1 (byte) line::y1 +line::@6: scope:[line] from line::@2 + (void~) line::$14 ← call line_ydxd (byte) line::y1 (byte) line::x1 (byte) line::y0 (byte) line::yd (byte) line::xd to:line::@return -line::@15: scope:[line] from line::@1 - (void~) line::$16 ← call plot (byte) line::x0 (byte) line::y0 - (void~) line::$17 ← call plot (byte) line::x1 (byte) line::y1 +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::@return -line::@return: scope:[line] from line::@11 line::@15 line::@2 line::@3 line::@7 +line::@9: scope:[line] from line::@1 + (byte~) line::$23 ← (byte) line::y0 - (byte) line::y1 + (byte) line::yd ← (byte~) 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~) line::$18 ← (byte) line::y1 - (byte) line::y0 + (byte) line::yd ← (byte~) 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 + (void~) line::$22 ← call line_ydxd (byte) line::y0 (byte) line::x0 (byte) line::y1 (byte) line::yd (byte) line::xd + to:line::@return +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::@return +line::@13: scope:[line] from 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::@return +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::@return +line::@return: scope:[line] from line::@10 line::@13 line::@17 line::@20 line::@24 line::@27 line::@3 line::@6 return to:@return line_xdyi: scope:[line_xdyi] from @@ -932,6 +1320,90 @@ line_xdyi::@3: scope:[line_xdyi] from line_xdyi::@1 line_xdyi::@return: scope:[line_xdyi] from line_xdyi::@2 return to:@return +line_xdyd: scope:[line_xdyd] from + (byte~) line_xdyd::$0 ← (byte) line_xdyd::yd >> (byte) 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::$2 ← (byte) line_xdyd::x + (byte) 1 + (byte) line_xdyd::x ← (byte~) line_xdyd::$2 + (byte~) line_xdyd::$3 ← (byte) line_xdyd::e + (byte) line_xdyd::yd + (byte) line_xdyd::e ← (byte~) line_xdyd::$3 + (boolean~) line_xdyd::$4 ← (byte) line_xdyd::xd < (byte) line_xdyd::e + (boolean~) line_xdyd::$5 ← ! (boolean~) line_xdyd::$4 + if((boolean~) line_xdyd::$5) goto line_xdyd::@2 + to:line_xdyd::@3 +line_xdyd::@2: scope:[line_xdyd] from line_xdyd::@1 line_xdyd::@3 + (byte~) line_xdyd::$8 ← (byte) line_xdyd::x1 + (byte) 1 + (boolean~) line_xdyd::$9 ← (byte) line_xdyd::x < (byte~) line_xdyd::$8 + if((boolean~) line_xdyd::$9) goto line_xdyd::@1 + to:line_xdyd::@return +line_xdyd::@3: scope:[line_xdyd] from line_xdyd::@1 + (byte~) line_xdyd::$6 ← (byte) line_xdyd::y - (byte) 1 + (byte) line_xdyd::y ← (byte~) line_xdyd::$6 + (byte~) line_xdyd::$7 ← (byte) line_xdyd::e - (byte) line_xdyd::xd + (byte) line_xdyd::e ← (byte~) line_xdyd::$7 + to:line_xdyd::@2 +line_xdyd::@return: scope:[line_xdyd] from line_xdyd::@2 + return + to:@return +line_ydxi: scope:[line_ydxi] from + (byte~) line_ydxi::$0 ← (byte) line_ydxi::xd >> (byte) 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::$2 ← (byte) line_ydxi::y + (byte) 1 + (byte) line_ydxi::y ← (byte~) line_ydxi::$2 + (byte~) line_ydxi::$3 ← (byte) line_ydxi::e + (byte) line_ydxi::xd + (byte) line_ydxi::e ← (byte~) line_ydxi::$3 + (boolean~) line_ydxi::$4 ← (byte) line_ydxi::yd < (byte) line_ydxi::e + (boolean~) line_ydxi::$5 ← ! (boolean~) line_ydxi::$4 + if((boolean~) line_ydxi::$5) goto line_ydxi::@2 + to:line_ydxi::@3 +line_ydxi::@2: scope:[line_ydxi] from line_ydxi::@1 line_ydxi::@3 + (byte~) line_ydxi::$8 ← (byte) line_ydxi::y1 + (byte) 1 + (boolean~) line_ydxi::$9 ← (byte) line_ydxi::y < (byte~) line_ydxi::$8 + if((boolean~) line_ydxi::$9) goto line_ydxi::@1 + to:line_ydxi::@return +line_ydxi::@3: scope:[line_ydxi] from line_ydxi::@1 + (byte~) line_ydxi::$6 ← (byte) line_ydxi::x + (byte) 1 + (byte) line_ydxi::x ← (byte~) line_ydxi::$6 + (byte~) line_ydxi::$7 ← (byte) line_ydxi::e - (byte) line_ydxi::yd + (byte) line_ydxi::e ← (byte~) line_ydxi::$7 + to:line_ydxi::@2 +line_ydxi::@return: scope:[line_ydxi] from line_ydxi::@2 + return + to:@return +line_ydxd: scope:[line_ydxd] from + (byte~) line_ydxd::$0 ← (byte) line_ydxd::xd >> (byte) 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::$2 ← (byte) line_ydxd::y + (byte) 1 + (byte) line_ydxd::y ← (byte~) line_ydxd::$2 + (byte~) line_ydxd::$3 ← (byte) line_ydxd::e + (byte) line_ydxd::xd + (byte) line_ydxd::e ← (byte~) line_ydxd::$3 + (boolean~) line_ydxd::$4 ← (byte) line_ydxd::yd < (byte) line_ydxd::e + (boolean~) line_ydxd::$5 ← ! (boolean~) line_ydxd::$4 + if((boolean~) line_ydxd::$5) goto line_ydxd::@2 + to:line_ydxd::@3 +line_ydxd::@2: scope:[line_ydxd] from line_ydxd::@1 line_ydxd::@3 + (byte~) line_ydxd::$8 ← (byte) line_ydxd::y1 + (byte) 1 + (boolean~) line_ydxd::$9 ← (byte) line_ydxd::y < (byte~) line_ydxd::$8 + if((boolean~) line_ydxd::$9) goto line_ydxd::@1 + to:line_ydxd::@return +line_ydxd::@3: scope:[line_ydxd] from line_ydxd::@1 + (byte~) line_ydxd::$6 ← (byte) line_ydxd::x - (byte) 1 + (byte) line_ydxd::x ← (byte~) line_ydxd::$6 + (byte~) line_ydxd::$7 ← (byte) line_ydxd::e - (byte) line_ydxd::yd + (byte) line_ydxd::e ← (byte~) line_ydxd::$7 + to:line_ydxd::@2 +line_ydxd::@return: scope:[line_ydxd] from line_ydxd::@2 + return + to:@return plot: scope:[plot] from (byte*) plot::plotter_x ← (byte) 0 (byte*) plot::plotter_y ← (byte) 0 @@ -1028,10 +1500,10 @@ init_screen::@2: scope:[init_screen] from init_screen::@2 init_screen::@3 init_screen::@return: scope:[init_screen] from init_screen::@2 return to:@return -@7: scope:[] from @begin +@10: scope:[] from @begin (void~) $0 ← call main to:@end -@end: scope:[] from @7 +@end: scope:[] from @10 PROCEDURE MODIFY VARIABLE ANALYSIS @@ -1061,8 +1533,8 @@ CONTROL FLOW GRAPH WITH ASSIGNMENT CALL (byte[]) lines_x ← { (byte) 60, (byte) 80, (byte) 110, (byte) 80, (byte) 60, (byte) 40, (byte) 10, (byte) 40, (byte) 60 } (byte[]) lines_y ← { (byte) 10, (byte) 40, (byte) 60, (byte) 80, (byte) 110, (byte) 80, (byte) 60, (byte) 40, (byte) 10 } (byte) lines_cnt ← (byte) 8 - to:@7 -main: scope:[main] from @7 + to:@10 +main: scope:[main] from @10 *((byte*) BGCOL) ← (byte) 0 *((byte*) FGCOL) ← (byte) 0 (byte~) main::$0 ← (byte) BMM | (byte) DEN @@ -1114,90 +1586,133 @@ line: scope:[line] from lines::@1 (boolean~) line::$0 ← (byte) line::x0 < (byte) line::x1 (boolean~) line::$1 ← ! (boolean~) line::$0 if((boolean~) line::$1) goto line::@1 - to:line::@9 -line::@1: scope:[line] from line - (byte~) line::$13 ← (byte) line::x1 - (byte) line::x0 - (byte) line::xd ← (byte~) line::$13 - (boolean~) line::$14 ← (byte) line::y0 < (byte) line::y1 - (boolean~) line::$15 ← ! (boolean~) line::$14 - if((boolean~) line::$15) goto line::@7 to:line::@15 -line::@9: scope:[line] from line +line::@1: scope:[line] from line + (byte~) line::$15 ← (byte) line::x0 - (byte) line::x1 + (byte) line::xd ← (byte~) 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~) line::$2 ← (byte) line::x1 - (byte) line::x0 (byte) line::xd ← (byte~) 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::@10 -line::@2: scope:[line] from line::@9 - (byte) plot::x ← (byte) line::x0 - (byte) plot::y ← (byte) line::y0 - call plot param-assignment - to:line::@17 -line::@17: scope:[line] from line::@2 - (byte) plot::x ← (byte) line::x1 - (byte) plot::y ← (byte) line::y1 - call plot param-assignment - to:line::@18 -line::@18: scope:[line] from line::@17 - to:line::@return -line::@10: scope:[line] from line::@9 + to:line::@16 +line::@2: scope:[line] from line::@15 + (byte~) line::$10 ← (byte) line::y0 - (byte) line::y1 + (byte) line::yd ← (byte~) 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~) line::$5 ← (byte) line::y1 - (byte) line::y0 (byte) line::yd ← (byte~) 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::@11 -line::@3: scope:[line] from line::@10 - (byte) plot::x ← (byte) line::x0 - (byte) plot::y ← (byte) line::y0 - call plot param-assignment - to:line::@19 -line::@19: scope:[line] from line::@3 - (byte) plot::x ← (byte) line::x1 - (byte) plot::y ← (byte) line::y1 - call plot param-assignment - to:line::@20 -line::@20: scope:[line] from line::@19 + to:line::@17 +line::@3: scope:[line] from line::@16 + (byte) line_ydxi::y ← (byte) line::y0 + (byte) line_ydxi::x ← (byte) line::x0 + (byte) line_ydxi::y1 ← (byte) line::y1 + (byte) line_ydxi::yd ← (byte) line::yd + (byte) line_ydxi::xd ← (byte) line::xd + call line_ydxi param-assignment + to:line::@29 +line::@29: scope:[line] from line::@3 to:line::@return -line::@11: scope:[line] from line::@10 +line::@17: scope:[line] from line::@16 (byte) line_xdyi::x ← (byte) line::x0 (byte) line_xdyi::y ← (byte) line::y0 (byte) line_xdyi::x1 ← (byte) line::x1 (byte) line_xdyi::xd ← (byte) line::xd (byte) line_xdyi::yd ← (byte) line::yd call line_xdyi param-assignment - to:line::@21 -line::@21: scope:[line] from line::@11 + to:line::@30 +line::@30: scope:[line] from line::@17 to:line::@return -line::@7: scope:[line] from line::@1 - (byte) plot::x ← (byte) line::x0 - (byte) plot::y ← (byte) line::y0 - call plot param-assignment - to:line::@22 -line::@22: scope:[line] from line::@7 - (byte) plot::x ← (byte) line::x1 - (byte) plot::y ← (byte) line::y1 - call plot param-assignment - to:line::@23 -line::@23: scope:[line] from line::@22 +line::@6: scope:[line] from line::@2 + (byte) line_ydxd::y ← (byte) line::y1 + (byte) line_ydxd::x ← (byte) line::x1 + (byte) line_ydxd::y1 ← (byte) line::y0 + (byte) line_ydxd::yd ← (byte) line::yd + (byte) line_ydxd::xd ← (byte) line::xd + call line_ydxd param-assignment + to:line::@31 +line::@31: scope:[line] from line::@6 to:line::@return -line::@15: scope:[line] from line::@1 - (byte) plot::x ← (byte) line::x0 - (byte) plot::y ← (byte) line::y0 - call plot param-assignment +line::@20: scope:[line] from line::@2 + (byte) line_xdyd::x ← (byte) line::x0 + (byte) line_xdyd::y ← (byte) line::y0 + (byte) line_xdyd::x1 ← (byte) line::x1 + (byte) line_xdyd::xd ← (byte) line::xd + (byte) line_xdyd::yd ← (byte) line::yd + 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::$23 ← (byte) line::y0 - (byte) line::y1 + (byte) line::yd ← (byte~) 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~) line::$18 ← (byte) line::y1 - (byte) line::y0 + (byte) line::yd ← (byte~) 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::@24: scope:[line] from line::@15 - (byte) plot::x ← (byte) line::x1 - (byte) plot::y ← (byte) line::y1 - call plot param-assignment - to:line::@25 -line::@25: scope:[line] from line::@24 +line::@10: scope:[line] from line::@23 + (byte) line_ydxd::y ← (byte) line::y0 + (byte) line_ydxd::x ← (byte) line::x0 + (byte) line_ydxd::y1 ← (byte) line::y1 + (byte) line_ydxd::yd ← (byte) line::yd + (byte) line_ydxd::xd ← (byte) line::xd + call line_ydxd param-assignment + to:line::@33 +line::@33: scope:[line] from line::@10 to:line::@return -line::@return: scope:[line] from line::@18 line::@20 line::@21 line::@23 line::@25 +line::@24: scope:[line] from line::@23 + (byte) line_xdyd::x ← (byte) line::x1 + (byte) line_xdyd::y ← (byte) line::y1 + (byte) line_xdyd::x1 ← (byte) line::x0 + (byte) line_xdyd::xd ← (byte) line::xd + (byte) line_xdyd::yd ← (byte) line::yd + 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_ydxi::y ← (byte) line::y1 + (byte) line_ydxi::x ← (byte) line::x1 + (byte) line_ydxi::y1 ← (byte) line::y0 + (byte) line_ydxi::yd ← (byte) line::yd + (byte) line_ydxi::xd ← (byte) line::xd + 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_xdyi::x ← (byte) line::x1 + (byte) line_xdyi::y ← (byte) line::y1 + (byte) line_xdyi::x1 ← (byte) line::x0 + (byte) line_xdyi::xd ← (byte) line::xd + (byte) line_xdyi::yd ← (byte) line::yd + 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::@11 +line_xdyi: scope:[line_xdyi] from line::@17 line::@27 (byte~) line_xdyi::$0 ← (byte) line_xdyi::yd >> (byte) 1 (byte) line_xdyi::e ← (byte~) line_xdyi::$0 to:line_xdyi::@1 @@ -1229,7 +1744,103 @@ line_xdyi::@3: scope:[line_xdyi] from line_xdyi::@5 line_xdyi::@return: scope:[line_xdyi] from line_xdyi::@2 return to:@return -plot: scope:[plot] from line::@15 line::@17 line::@19 line::@2 line::@22 line::@24 line::@3 line::@7 line_xdyi::@1 +line_xdyd: scope:[line_xdyd] from line::@20 line::@24 + (byte~) line_xdyd::$0 ← (byte) line_xdyd::yd >> (byte) 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 + (byte) plot::x ← (byte) line_xdyd::x + (byte) plot::y ← (byte) line_xdyd::y + call plot param-assignment + to:line_xdyd::@5 +line_xdyd::@5: scope:[line_xdyd] from line_xdyd::@1 + (byte~) line_xdyd::$2 ← (byte) line_xdyd::x + (byte) 1 + (byte) line_xdyd::x ← (byte~) line_xdyd::$2 + (byte~) line_xdyd::$3 ← (byte) line_xdyd::e + (byte) line_xdyd::yd + (byte) line_xdyd::e ← (byte~) line_xdyd::$3 + (boolean~) line_xdyd::$4 ← (byte) line_xdyd::xd < (byte) line_xdyd::e + (boolean~) line_xdyd::$5 ← ! (boolean~) line_xdyd::$4 + if((boolean~) line_xdyd::$5) goto line_xdyd::@2 + to:line_xdyd::@3 +line_xdyd::@2: scope:[line_xdyd] from line_xdyd::@3 line_xdyd::@5 + (byte~) line_xdyd::$8 ← (byte) line_xdyd::x1 + (byte) 1 + (boolean~) line_xdyd::$9 ← (byte) line_xdyd::x < (byte~) line_xdyd::$8 + if((boolean~) line_xdyd::$9) goto line_xdyd::@1 + to:line_xdyd::@return +line_xdyd::@3: scope:[line_xdyd] from line_xdyd::@5 + (byte~) line_xdyd::$6 ← (byte) line_xdyd::y - (byte) 1 + (byte) line_xdyd::y ← (byte~) line_xdyd::$6 + (byte~) line_xdyd::$7 ← (byte) line_xdyd::e - (byte) line_xdyd::xd + (byte) line_xdyd::e ← (byte~) line_xdyd::$7 + 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::$0 ← (byte) line_ydxi::xd >> (byte) 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 + (byte) plot::x ← (byte) line_ydxi::x + (byte) plot::y ← (byte) line_ydxi::y + call plot param-assignment + to:line_ydxi::@5 +line_ydxi::@5: scope:[line_ydxi] from line_ydxi::@1 + (byte~) line_ydxi::$2 ← (byte) line_ydxi::y + (byte) 1 + (byte) line_ydxi::y ← (byte~) line_ydxi::$2 + (byte~) line_ydxi::$3 ← (byte) line_ydxi::e + (byte) line_ydxi::xd + (byte) line_ydxi::e ← (byte~) line_ydxi::$3 + (boolean~) line_ydxi::$4 ← (byte) line_ydxi::yd < (byte) line_ydxi::e + (boolean~) line_ydxi::$5 ← ! (boolean~) line_ydxi::$4 + if((boolean~) line_ydxi::$5) goto line_ydxi::@2 + to:line_ydxi::@3 +line_ydxi::@2: scope:[line_ydxi] from line_ydxi::@3 line_ydxi::@5 + (byte~) line_ydxi::$8 ← (byte) line_ydxi::y1 + (byte) 1 + (boolean~) line_ydxi::$9 ← (byte) line_ydxi::y < (byte~) line_ydxi::$8 + if((boolean~) line_ydxi::$9) goto line_ydxi::@1 + to:line_ydxi::@return +line_ydxi::@3: scope:[line_ydxi] from line_ydxi::@5 + (byte~) line_ydxi::$6 ← (byte) line_ydxi::x + (byte) 1 + (byte) line_ydxi::x ← (byte~) line_ydxi::$6 + (byte~) line_ydxi::$7 ← (byte) line_ydxi::e - (byte) line_ydxi::yd + (byte) line_ydxi::e ← (byte~) line_ydxi::$7 + 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::$0 ← (byte) line_ydxd::xd >> (byte) 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 + (byte) plot::x ← (byte) line_ydxd::x + (byte) plot::y ← (byte) line_ydxd::y + call plot param-assignment + to:line_ydxd::@5 +line_ydxd::@5: scope:[line_ydxd] from line_ydxd::@1 + (byte~) line_ydxd::$2 ← (byte) line_ydxd::y + (byte) 1 + (byte) line_ydxd::y ← (byte~) line_ydxd::$2 + (byte~) line_ydxd::$3 ← (byte) line_ydxd::e + (byte) line_ydxd::xd + (byte) line_ydxd::e ← (byte~) line_ydxd::$3 + (boolean~) line_ydxd::$4 ← (byte) line_ydxd::yd < (byte) line_ydxd::e + (boolean~) line_ydxd::$5 ← ! (boolean~) line_ydxd::$4 + if((boolean~) line_ydxd::$5) goto line_ydxd::@2 + to:line_ydxd::@3 +line_ydxd::@2: scope:[line_ydxd] from line_ydxd::@3 line_ydxd::@5 + (byte~) line_ydxd::$8 ← (byte) line_ydxd::y1 + (byte) 1 + (boolean~) line_ydxd::$9 ← (byte) line_ydxd::y < (byte~) line_ydxd::$8 + if((boolean~) line_ydxd::$9) goto line_ydxd::@1 + to:line_ydxd::@return +line_ydxd::@3: scope:[line_ydxd] from line_ydxd::@5 + (byte~) line_ydxd::$6 ← (byte) line_ydxd::x - (byte) 1 + (byte) line_ydxd::x ← (byte~) line_ydxd::$6 + (byte~) line_ydxd::$7 ← (byte) line_ydxd::e - (byte) line_ydxd::yd + (byte) line_ydxd::e ← (byte~) line_ydxd::$7 + 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::plotter_x ← (byte) 0 (byte*) plot::plotter_y ← (byte) 0 (byte~) plot::$0 ← (byte[]) plot_xhi *idx (byte) plot::x @@ -1325,12 +1936,12 @@ init_screen::@2: scope:[init_screen] from init_screen::@2 init_screen::@3 init_screen::@return: scope:[init_screen] from init_screen::@2 return to:@return -@7: scope:[] from @begin +@10: scope:[] from @begin call main param-assignment - to:@8 -@8: scope:[] from @7 + to:@11 +@11: scope:[] from @10 to:@end -@end: scope:[] from @8 +@end: scope:[] from @11 Completing Phi functions... Completing Phi functions... @@ -1340,6 +1951,9 @@ 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 @begin: scope:[] from (byte*) COLS#0 ← (word) 55296 @@ -1366,25 +1980,25 @@ CONTROL FLOW GRAPH SSA (byte[]) lines_x#0 ← { (byte) 60, (byte) 80, (byte) 110, (byte) 80, (byte) 60, (byte) 40, (byte) 10, (byte) 40, (byte) 60 } (byte[]) lines_y#0 ← { (byte) 10, (byte) 40, (byte) 60, (byte) 80, (byte) 110, (byte) 80, (byte) 60, (byte) 40, (byte) 10 } (byte) lines_cnt#0 ← (byte) 8 - to:@7 -main: scope:[main] from @7 - (byte[]) plot_yhi#32 ← phi( @7/(byte[]) plot_yhi#34 ) - (byte[]) plot_ylo#32 ← phi( @7/(byte[]) plot_ylo#34 ) - (byte) lines_cnt#8 ← phi( @7/(byte) lines_cnt#9 ) - (byte[]) lines_y#8 ← phi( @7/(byte[]) lines_y#9 ) - (byte[]) lines_x#8 ← phi( @7/(byte[]) lines_x#9 ) - (byte*) SCREEN#5 ← phi( @7/(byte*) SCREEN#6 ) - (byte[]) plot_bit#21 ← phi( @7/(byte[]) plot_bit#26 ) - (byte[]) plot_xhi#21 ← phi( @7/(byte[]) plot_xhi#26 ) - (byte[]) plot_xlo#21 ← phi( @7/(byte[]) plot_xlo#26 ) - (byte*) BITMAP#6 ← phi( @7/(byte*) BITMAP#7 ) - (byte*) D018#1 ← phi( @7/(byte*) D018#2 ) - (byte*) D011#1 ← phi( @7/(byte*) D011#2 ) - (byte) RSEL#1 ← phi( @7/(byte) RSEL#2 ) - (byte) DEN#1 ← phi( @7/(byte) DEN#2 ) - (byte) BMM#1 ← phi( @7/(byte) BMM#2 ) - (byte*) FGCOL#1 ← phi( @7/(byte*) FGCOL#2 ) - (byte*) BGCOL#1 ← phi( @7/(byte*) BGCOL#2 ) + to:@10 +main: scope:[main] from @10 + (byte[]) plot_yhi#45 ← phi( @10/(byte[]) plot_yhi#47 ) + (byte[]) plot_ylo#45 ← phi( @10/(byte[]) plot_ylo#47 ) + (byte) lines_cnt#8 ← phi( @10/(byte) lines_cnt#9 ) + (byte[]) lines_y#8 ← phi( @10/(byte[]) lines_y#9 ) + (byte[]) lines_x#8 ← phi( @10/(byte[]) lines_x#9 ) + (byte*) SCREEN#5 ← phi( @10/(byte*) SCREEN#6 ) + (byte[]) plot_bit#19 ← phi( @10/(byte[]) plot_bit#36 ) + (byte[]) plot_xhi#19 ← phi( @10/(byte[]) plot_xhi#36 ) + (byte[]) plot_xlo#19 ← phi( @10/(byte[]) plot_xlo#36 ) + (byte*) BITMAP#6 ← phi( @10/(byte*) BITMAP#7 ) + (byte*) D018#1 ← phi( @10/(byte*) D018#2 ) + (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) 0 *((byte*) FGCOL#1) ← (byte) 0 (byte~) main::$0 ← (byte) BMM#1 | (byte) DEN#1 @@ -1395,44 +2009,44 @@ main: scope:[main] from @7 call init_screen param-assignment to:main::@3 main::@3: scope:[main] from main - (byte[]) plot_yhi#31 ← phi( main/(byte[]) plot_yhi#32 ) - (byte[]) plot_ylo#31 ← phi( main/(byte[]) plot_ylo#32 ) + (byte[]) plot_yhi#44 ← phi( main/(byte[]) plot_yhi#45 ) + (byte[]) plot_ylo#44 ← phi( main/(byte[]) plot_ylo#45 ) (byte) lines_cnt#7 ← phi( main/(byte) lines_cnt#8 ) (byte[]) lines_y#7 ← phi( main/(byte[]) lines_y#8 ) (byte[]) lines_x#7 ← phi( main/(byte[]) lines_x#8 ) - (byte[]) plot_bit#19 ← phi( main/(byte[]) plot_bit#21 ) - (byte[]) plot_xhi#19 ← phi( main/(byte[]) plot_xhi#21 ) + (byte[]) plot_bit#17 ← phi( main/(byte[]) plot_bit#19 ) + (byte[]) plot_xhi#17 ← phi( main/(byte[]) plot_xhi#19 ) (byte*) BITMAP#8 ← phi( main/(byte*) BITMAP#6 ) - (byte[]) plot_xlo#19 ← phi( main/(byte[]) plot_xlo#21 ) + (byte[]) plot_xlo#17 ← phi( main/(byte[]) plot_xlo#19 ) call init_plot_tables param-assignment to:main::@4 main::@4: scope:[main] from main::@3 - (byte[]) plot_bit#31 ← phi( main::@3/(byte[]) plot_bit#19 ) - (byte[]) plot_ylo#35 ← phi( main::@3/(byte[]) plot_ylo#31 ) - (byte[]) plot_yhi#35 ← phi( main::@3/(byte[]) plot_yhi#31 ) - (byte[]) plot_xlo#31 ← phi( main::@3/(byte[]) plot_xlo#19 ) - (byte[]) plot_xhi#31 ← phi( main::@3/(byte[]) plot_xhi#19 ) + (byte[]) plot_bit#48 ← phi( main::@3/(byte[]) plot_bit#17 ) + (byte[]) plot_ylo#52 ← phi( main::@3/(byte[]) plot_ylo#44 ) + (byte[]) plot_yhi#52 ← phi( main::@3/(byte[]) plot_yhi#44 ) + (byte[]) plot_xlo#48 ← phi( main::@3/(byte[]) plot_xlo#17 ) + (byte[]) plot_xhi#48 ← phi( main::@3/(byte[]) plot_xhi#17 ) (byte) lines_cnt#5 ← phi( main::@3/(byte) lines_cnt#7 ) (byte[]) lines_y#5 ← phi( main::@3/(byte[]) lines_y#7 ) (byte[]) lines_x#5 ← phi( main::@3/(byte[]) lines_x#7 ) to:main::@1 main::@1: scope:[main] from main::@4 main::@5 - (byte[]) plot_bit#30 ← phi( main::@4/(byte[]) plot_bit#31 main::@5/(byte[]) plot_bit#32 ) - (byte[]) plot_ylo#33 ← phi( main::@4/(byte[]) plot_ylo#35 main::@5/(byte[]) plot_ylo#36 ) - (byte[]) plot_yhi#33 ← phi( main::@4/(byte[]) plot_yhi#35 main::@5/(byte[]) plot_yhi#36 ) - (byte[]) plot_xlo#30 ← phi( main::@4/(byte[]) plot_xlo#31 main::@5/(byte[]) plot_xlo#32 ) - (byte[]) plot_xhi#30 ← phi( main::@4/(byte[]) plot_xhi#31 main::@5/(byte[]) plot_xhi#32 ) + (byte[]) plot_bit#47 ← phi( main::@4/(byte[]) plot_bit#48 main::@5/(byte[]) plot_bit#49 ) + (byte[]) plot_ylo#51 ← phi( main::@4/(byte[]) plot_ylo#52 main::@5/(byte[]) plot_ylo#53 ) + (byte[]) plot_yhi#51 ← phi( main::@4/(byte[]) plot_yhi#52 main::@5/(byte[]) plot_yhi#53 ) + (byte[]) plot_xlo#47 ← phi( main::@4/(byte[]) plot_xlo#48 main::@5/(byte[]) plot_xlo#49 ) + (byte[]) plot_xhi#47 ← phi( main::@4/(byte[]) plot_xhi#48 main::@5/(byte[]) plot_xhi#49 ) (byte) lines_cnt#4 ← phi( main::@4/(byte) lines_cnt#5 main::@5/(byte) lines_cnt#6 ) (byte[]) lines_y#4 ← phi( main::@4/(byte[]) lines_y#5 main::@5/(byte[]) lines_y#6 ) (byte[]) lines_x#4 ← phi( main::@4/(byte[]) lines_x#5 main::@5/(byte[]) lines_x#6 ) call lines param-assignment to:main::@5 main::@5: scope:[main] from main::@1 - (byte[]) plot_bit#32 ← phi( main::@1/(byte[]) plot_bit#30 ) - (byte[]) plot_ylo#36 ← phi( main::@1/(byte[]) plot_ylo#33 ) - (byte[]) plot_yhi#36 ← phi( main::@1/(byte[]) plot_yhi#33 ) - (byte[]) plot_xlo#32 ← phi( main::@1/(byte[]) plot_xlo#30 ) - (byte[]) plot_xhi#32 ← phi( main::@1/(byte[]) plot_xhi#30 ) + (byte[]) plot_bit#49 ← phi( main::@1/(byte[]) plot_bit#47 ) + (byte[]) plot_ylo#53 ← phi( main::@1/(byte[]) plot_ylo#51 ) + (byte[]) plot_yhi#53 ← phi( main::@1/(byte[]) plot_yhi#51 ) + (byte[]) plot_xlo#49 ← phi( main::@1/(byte[]) plot_xlo#47 ) + (byte[]) plot_xhi#49 ← phi( main::@1/(byte[]) plot_xhi#47 ) (byte) lines_cnt#6 ← phi( main::@1/(byte) lines_cnt#4 ) (byte[]) lines_y#6 ← phi( main::@1/(byte[]) lines_y#4 ) (byte[]) lines_x#6 ← phi( main::@1/(byte[]) lines_x#4 ) @@ -1442,22 +2056,22 @@ main::@return: scope:[main] from main::@5 return to:@return lines: scope:[lines] from main::@1 - (byte[]) plot_bit#28 ← phi( main::@1/(byte[]) plot_bit#30 ) - (byte[]) plot_ylo#29 ← phi( main::@1/(byte[]) plot_ylo#33 ) - (byte[]) plot_yhi#29 ← phi( main::@1/(byte[]) plot_yhi#33 ) - (byte[]) plot_xlo#28 ← phi( main::@1/(byte[]) plot_xlo#30 ) - (byte[]) plot_xhi#28 ← phi( main::@1/(byte[]) plot_xhi#30 ) + (byte[]) plot_bit#45 ← phi( main::@1/(byte[]) plot_bit#47 ) + (byte[]) plot_ylo#49 ← phi( main::@1/(byte[]) plot_ylo#51 ) + (byte[]) plot_yhi#49 ← phi( main::@1/(byte[]) plot_yhi#51 ) + (byte[]) plot_xlo#45 ← phi( main::@1/(byte[]) plot_xlo#47 ) + (byte[]) plot_xhi#45 ← phi( main::@1/(byte[]) plot_xhi#47 ) (byte) lines_cnt#3 ← phi( main::@1/(byte) lines_cnt#4 ) (byte[]) lines_y#2 ← phi( main::@1/(byte[]) lines_y#4 ) (byte[]) lines_x#2 ← phi( main::@1/(byte[]) lines_x#4 ) (byte) lines::l#0 ← (byte) 0 to:lines::@1 lines::@1: scope:[lines] from lines lines::@3 - (byte[]) plot_bit#27 ← phi( lines/(byte[]) plot_bit#28 lines::@3/(byte[]) plot_bit#29 ) - (byte[]) plot_ylo#27 ← phi( lines/(byte[]) plot_ylo#29 lines::@3/(byte[]) plot_ylo#30 ) - (byte[]) plot_yhi#27 ← phi( lines/(byte[]) plot_yhi#29 lines::@3/(byte[]) plot_yhi#30 ) - (byte[]) plot_xlo#27 ← phi( lines/(byte[]) plot_xlo#28 lines::@3/(byte[]) plot_xlo#29 ) - (byte[]) plot_xhi#27 ← phi( lines/(byte[]) plot_xhi#28 lines::@3/(byte[]) plot_xhi#29 ) + (byte[]) plot_bit#44 ← phi( lines/(byte[]) plot_bit#45 lines::@3/(byte[]) plot_bit#46 ) + (byte[]) plot_ylo#48 ← phi( lines/(byte[]) plot_ylo#49 lines::@3/(byte[]) plot_ylo#50 ) + (byte[]) plot_yhi#48 ← phi( lines/(byte[]) plot_yhi#49 lines::@3/(byte[]) plot_yhi#50 ) + (byte[]) plot_xlo#44 ← phi( lines/(byte[]) plot_xlo#45 lines::@3/(byte[]) plot_xlo#46 ) + (byte[]) plot_xhi#44 ← phi( lines/(byte[]) plot_xhi#45 lines::@3/(byte[]) plot_xhi#46 ) (byte) lines_cnt#2 ← phi( lines/(byte) lines_cnt#3 lines::@3/(byte) lines_cnt#1 ) (byte[]) lines_y#1 ← phi( lines/(byte[]) lines_y#2 lines::@3/(byte[]) lines_y#3 ) (byte) lines::l#2 ← phi( lines/(byte) lines::l#0 lines::@3/(byte) lines::l#1 ) @@ -1475,11 +2089,11 @@ lines::@1: scope:[lines] from lines lines::@3 call line param-assignment to:lines::@3 lines::@3: scope:[lines] from lines::@1 - (byte[]) plot_bit#29 ← phi( lines::@1/(byte[]) plot_bit#27 ) - (byte[]) plot_ylo#30 ← phi( lines::@1/(byte[]) plot_ylo#27 ) - (byte[]) plot_yhi#30 ← phi( lines::@1/(byte[]) plot_yhi#27 ) - (byte[]) plot_xlo#29 ← phi( lines::@1/(byte[]) plot_xlo#27 ) - (byte[]) plot_xhi#29 ← phi( lines::@1/(byte[]) plot_xhi#27 ) + (byte[]) plot_bit#46 ← phi( lines::@1/(byte[]) plot_bit#44 ) + (byte[]) plot_ylo#50 ← phi( lines::@1/(byte[]) plot_ylo#48 ) + (byte[]) plot_yhi#50 ← phi( lines::@1/(byte[]) plot_yhi#48 ) + (byte[]) plot_xlo#46 ← phi( lines::@1/(byte[]) plot_xlo#44 ) + (byte[]) plot_xhi#46 ← phi( lines::@1/(byte[]) plot_xhi#44 ) (byte[]) lines_y#3 ← phi( lines::@1/(byte[]) lines_y#1 ) (byte[]) lines_x#3 ← phi( lines::@1/(byte[]) lines_x#1 ) (byte) lines_cnt#1 ← phi( lines::@1/(byte) lines_cnt#2 ) @@ -1492,43 +2106,43 @@ lines::@return: scope:[lines] from lines::@3 return to:@return line: scope:[line] from lines::@1 - (byte[]) plot_bit#22 ← phi( lines::@1/(byte[]) plot_bit#27 ) - (byte[]) plot_ylo#21 ← phi( lines::@1/(byte[]) plot_ylo#27 ) - (byte[]) plot_yhi#21 ← phi( lines::@1/(byte[]) plot_yhi#27 ) - (byte[]) plot_xlo#22 ← phi( lines::@1/(byte[]) plot_xlo#27 ) - (byte[]) plot_xhi#22 ← phi( lines::@1/(byte[]) plot_xhi#27 ) - (byte) line::y1#8 ← phi( lines::@1/(byte) line::y1#0 ) - (byte) line::y0#9 ← phi( lines::@1/(byte) line::y0#0 ) + (byte[]) plot_bit#43 ← phi( lines::@1/(byte[]) plot_bit#44 ) + (byte[]) plot_ylo#46 ← phi( lines::@1/(byte[]) plot_ylo#48 ) + (byte[]) plot_yhi#46 ← phi( lines::@1/(byte[]) plot_yhi#48 ) + (byte[]) plot_xlo#43 ← phi( lines::@1/(byte[]) plot_xlo#44 ) + (byte[]) plot_xhi#43 ← phi( lines::@1/(byte[]) plot_xhi#44 ) + (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::@9 -line::@1: scope:[line] from line - (byte[]) plot_bit#16 ← phi( line/(byte[]) plot_bit#22 ) - (byte[]) plot_ylo#16 ← phi( line/(byte[]) plot_ylo#21 ) - (byte[]) plot_yhi#16 ← phi( line/(byte[]) plot_yhi#21 ) - (byte[]) plot_xlo#16 ← phi( line/(byte[]) plot_xlo#22 ) - (byte[]) plot_xhi#16 ← phi( line/(byte[]) plot_xhi#22 ) - (byte) line::y1#1 ← phi( line/(byte) line::y1#8 ) - (byte) line::y0#1 ← phi( line/(byte) line::y0#9 ) - (byte) line::x0#2 ← phi( line/(byte) line::x0#1 ) - (byte) line::x1#2 ← phi( line/(byte) line::x1#1 ) - (byte~) line::$13 ← (byte) line::x1#2 - (byte) line::x0#2 - (byte) line::xd#0 ← (byte~) line::$13 - (boolean~) line::$14 ← (byte) line::y0#1 < (byte) line::y1#1 - (boolean~) line::$15 ← ! (boolean~) line::$14 - if((boolean~) line::$15) goto line::@7 to:line::@15 -line::@9: scope:[line] from line - (byte[]) plot_bit#14 ← phi( line/(byte[]) plot_bit#22 ) - (byte[]) plot_ylo#14 ← phi( line/(byte[]) plot_ylo#21 ) - (byte[]) plot_yhi#14 ← phi( line/(byte[]) plot_yhi#21 ) - (byte[]) plot_xlo#14 ← phi( line/(byte[]) plot_xlo#22 ) - (byte[]) plot_xhi#14 ← phi( line/(byte[]) plot_xhi#22 ) - (byte) line::y1#2 ← phi( line/(byte) line::y1#8 ) - (byte) line::y0#2 ← phi( line/(byte) line::y0#9 ) +line::@1: scope:[line] from line + (byte[]) plot_bit#42 ← phi( line/(byte[]) plot_bit#43 ) + (byte[]) plot_ylo#43 ← phi( line/(byte[]) plot_ylo#46 ) + (byte[]) plot_yhi#43 ← phi( line/(byte[]) plot_yhi#46 ) + (byte[]) plot_xlo#42 ← phi( line/(byte[]) plot_xlo#43 ) + (byte[]) plot_xhi#42 ← phi( line/(byte[]) plot_xhi#43 ) + (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~) line::$15 ← (byte) line::x0#2 - (byte) line::x1#2 + (byte) line::xd#0 ← (byte~) 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[]) plot_bit#41 ← phi( line/(byte[]) plot_bit#43 ) + (byte[]) plot_ylo#42 ← phi( line/(byte[]) plot_ylo#46 ) + (byte[]) plot_yhi#42 ← phi( line/(byte[]) plot_yhi#46 ) + (byte[]) plot_xlo#41 ← phi( line/(byte[]) plot_xlo#43 ) + (byte[]) plot_xhi#41 ← phi( line/(byte[]) plot_xhi#43 ) + (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~) line::$2 ← (byte) line::x1#3 - (byte) line::x0#3 @@ -1536,267 +2150,604 @@ line::@9: scope:[line] from line (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::@10 -line::@2: scope:[line] from line::@9 - (byte[]) plot_bit#6 ← phi( line::@9/(byte[]) plot_bit#14 ) - (byte[]) plot_ylo#6 ← phi( line::@9/(byte[]) plot_ylo#14 ) - (byte[]) plot_yhi#6 ← phi( line::@9/(byte[]) plot_yhi#14 ) - (byte[]) plot_xlo#6 ← phi( line::@9/(byte[]) plot_xlo#14 ) - (byte[]) plot_xhi#6 ← phi( line::@9/(byte[]) plot_xhi#14 ) - (byte) line::y1#9 ← phi( line::@9/(byte) line::y1#2 ) - (byte) line::x1#9 ← phi( line::@9/(byte) line::x1#3 ) - (byte) line::y0#3 ← phi( line::@9/(byte) line::y0#2 ) - (byte) line::x0#4 ← phi( line::@9/(byte) line::x0#3 ) - (byte) plot::x#0 ← (byte) line::x0#4 - (byte) plot::y#0 ← (byte) line::y0#3 - call plot param-assignment - to:line::@17 -line::@17: scope:[line] from line::@2 - (byte[]) plot_bit#4 ← phi( line::@2/(byte[]) plot_bit#6 ) - (byte[]) plot_ylo#4 ← phi( line::@2/(byte[]) plot_ylo#6 ) - (byte[]) plot_yhi#4 ← phi( line::@2/(byte[]) plot_yhi#6 ) - (byte[]) plot_xlo#4 ← phi( line::@2/(byte[]) plot_xlo#6 ) - (byte[]) plot_xhi#4 ← phi( line::@2/(byte[]) plot_xhi#6 ) - (byte) line::y1#3 ← phi( line::@2/(byte) line::y1#9 ) - (byte) line::x1#4 ← phi( line::@2/(byte) line::x1#9 ) - (byte) plot::x#1 ← (byte) line::x1#4 - (byte) plot::y#1 ← (byte) line::y1#3 - call plot param-assignment - to:line::@18 -line::@18: scope:[line] from line::@17 - to:line::@return -line::@10: scope:[line] from line::@9 - (byte[]) plot_bit#15 ← phi( line::@9/(byte[]) plot_bit#14 ) - (byte[]) plot_ylo#15 ← phi( line::@9/(byte[]) plot_ylo#14 ) - (byte[]) plot_yhi#15 ← phi( line::@9/(byte[]) plot_yhi#14 ) - (byte[]) plot_xlo#15 ← phi( line::@9/(byte[]) plot_xlo#14 ) - (byte[]) plot_xhi#15 ← phi( line::@9/(byte[]) plot_xhi#14 ) - (byte) line::x1#11 ← phi( line::@9/(byte) line::x1#3 ) - (byte) line::x0#9 ← phi( line::@9/(byte) line::x0#3 ) - (byte) line::xd#2 ← phi( line::@9/(byte) line::xd#1 ) - (byte) line::y0#4 ← phi( line::@9/(byte) line::y0#2 ) - (byte) line::y1#4 ← phi( line::@9/(byte) line::y1#2 ) + to:line::@16 +line::@2: scope:[line] from line::@15 + (byte[]) plot_bit#38 ← phi( line::@15/(byte[]) plot_bit#41 ) + (byte[]) plot_ylo#38 ← phi( line::@15/(byte[]) plot_ylo#42 ) + (byte[]) plot_yhi#38 ← phi( line::@15/(byte[]) plot_yhi#42 ) + (byte[]) plot_xlo#38 ← phi( line::@15/(byte[]) plot_xlo#41 ) + (byte[]) plot_xhi#38 ← phi( line::@15/(byte[]) plot_xhi#41 ) + (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~) line::$10 ← (byte) line::y0#3 - (byte) line::y1#3 + (byte) line::yd#0 ← (byte~) 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[]) plot_bit#37 ← phi( line::@15/(byte[]) plot_bit#41 ) + (byte[]) plot_ylo#37 ← phi( line::@15/(byte[]) plot_ylo#42 ) + (byte[]) plot_yhi#37 ← phi( line::@15/(byte[]) plot_yhi#42 ) + (byte[]) plot_xlo#37 ← phi( line::@15/(byte[]) plot_xlo#41 ) + (byte[]) plot_xhi#37 ← phi( line::@15/(byte[]) plot_xhi#41 ) + (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~) line::$5 ← (byte) line::y1#4 - (byte) line::y0#4 - (byte) line::yd#0 ← (byte~) line::$5 - (boolean~) line::$6 ← (byte) line::yd#0 < (byte) line::xd#2 + (byte) line::yd#1 ← (byte~) 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::@11 -line::@3: scope:[line] from line::@10 - (byte[]) plot_bit#9 ← phi( line::@10/(byte[]) plot_bit#15 ) - (byte[]) plot_ylo#9 ← phi( line::@10/(byte[]) plot_ylo#15 ) - (byte[]) plot_yhi#9 ← phi( line::@10/(byte[]) plot_yhi#15 ) - (byte[]) plot_xlo#9 ← phi( line::@10/(byte[]) plot_xlo#15 ) - (byte[]) plot_xhi#9 ← phi( line::@10/(byte[]) plot_xhi#15 ) - (byte) line::y1#10 ← phi( line::@10/(byte) line::y1#4 ) - (byte) line::x1#10 ← phi( line::@10/(byte) line::x1#11 ) - (byte) line::y0#5 ← phi( line::@10/(byte) line::y0#4 ) - (byte) line::x0#5 ← phi( line::@10/(byte) line::x0#9 ) - (byte) plot::x#2 ← (byte) line::x0#5 - (byte) plot::y#2 ← (byte) line::y0#5 - call plot param-assignment - to:line::@19 -line::@19: scope:[line] from line::@3 - (byte[]) plot_bit#5 ← phi( line::@3/(byte[]) plot_bit#9 ) - (byte[]) plot_ylo#5 ← phi( line::@3/(byte[]) plot_ylo#9 ) - (byte[]) plot_yhi#5 ← phi( line::@3/(byte[]) plot_yhi#9 ) - (byte[]) plot_xlo#5 ← phi( line::@3/(byte[]) plot_xlo#9 ) - (byte[]) plot_xhi#5 ← phi( line::@3/(byte[]) plot_xhi#9 ) - (byte) line::y1#5 ← phi( line::@3/(byte) line::y1#10 ) - (byte) line::x1#5 ← phi( line::@3/(byte) line::x1#10 ) - (byte) plot::x#3 ← (byte) line::x1#5 - (byte) plot::y#3 ← (byte) line::y1#5 - call plot param-assignment - to:line::@20 -line::@20: scope:[line] from line::@19 + to:line::@17 +line::@3: scope:[line] from line::@16 + (byte[]) plot_bit#29 ← phi( line::@16/(byte[]) plot_bit#37 ) + (byte[]) plot_ylo#28 ← phi( line::@16/(byte[]) plot_ylo#37 ) + (byte[]) plot_yhi#28 ← phi( line::@16/(byte[]) plot_yhi#37 ) + (byte[]) plot_xlo#29 ← phi( line::@16/(byte[]) plot_xlo#37 ) + (byte[]) plot_xhi#29 ← phi( line::@16/(byte[]) plot_xhi#37 ) + (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::@11: scope:[line] from line::@10 - (byte[]) plot_bit#23 ← phi( line::@10/(byte[]) plot_bit#15 ) - (byte[]) plot_ylo#22 ← phi( line::@10/(byte[]) plot_ylo#15 ) - (byte[]) plot_yhi#22 ← phi( line::@10/(byte[]) plot_yhi#15 ) - (byte[]) plot_xlo#23 ← phi( line::@10/(byte[]) plot_xlo#15 ) - (byte[]) plot_xhi#23 ← phi( line::@10/(byte[]) plot_xhi#15 ) - (byte) line::yd#1 ← phi( line::@10/(byte) line::yd#0 ) - (byte) line::xd#3 ← phi( line::@10/(byte) line::xd#2 ) - (byte) line::x1#6 ← phi( line::@10/(byte) line::x1#11 ) - (byte) line::y0#6 ← phi( line::@10/(byte) line::y0#4 ) - (byte) line::x0#6 ← phi( line::@10/(byte) line::x0#9 ) - (byte) line_xdyi::x#0 ← (byte) line::x0#6 +line::@17: scope:[line] from line::@16 + (byte[]) plot_bit#20 ← phi( line::@16/(byte[]) plot_bit#37 ) + (byte[]) plot_ylo#19 ← phi( line::@16/(byte[]) plot_ylo#37 ) + (byte[]) plot_yhi#19 ← phi( line::@16/(byte[]) plot_yhi#37 ) + (byte[]) plot_xlo#20 ← phi( line::@16/(byte[]) plot_xlo#37 ) + (byte[]) plot_xhi#20 ← phi( line::@16/(byte[]) plot_xhi#37 ) + (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#6 - (byte) line_xdyi::xd#0 ← (byte) line::xd#3 - (byte) line_xdyi::yd#0 ← (byte) line::yd#1 + (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::@21 -line::@21: scope:[line] from line::@11 + to:line::@30 +line::@30: scope:[line] from line::@17 to:line::@return -line::@7: scope:[line] from line::@1 - (byte[]) plot_bit#10 ← phi( line::@1/(byte[]) plot_bit#16 ) - (byte[]) plot_ylo#10 ← phi( line::@1/(byte[]) plot_ylo#16 ) - (byte[]) plot_yhi#10 ← phi( line::@1/(byte[]) plot_yhi#16 ) - (byte[]) plot_xlo#10 ← phi( line::@1/(byte[]) plot_xlo#16 ) - (byte[]) plot_xhi#10 ← phi( line::@1/(byte[]) plot_xhi#16 ) - (byte) line::y1#11 ← phi( line::@1/(byte) line::y1#1 ) - (byte) line::x1#12 ← phi( line::@1/(byte) line::x1#2 ) - (byte) line::y0#7 ← phi( line::@1/(byte) line::y0#1 ) - (byte) line::x0#7 ← phi( line::@1/(byte) line::x0#2 ) - (byte) plot::x#4 ← (byte) line::x0#7 - (byte) plot::y#4 ← (byte) line::y0#7 - call plot param-assignment - to:line::@22 -line::@22: scope:[line] from line::@7 - (byte[]) plot_bit#7 ← phi( line::@7/(byte[]) plot_bit#10 ) - (byte[]) plot_ylo#7 ← phi( line::@7/(byte[]) plot_ylo#10 ) - (byte[]) plot_yhi#7 ← phi( line::@7/(byte[]) plot_yhi#10 ) - (byte[]) plot_xlo#7 ← phi( line::@7/(byte[]) plot_xlo#10 ) - (byte[]) plot_xhi#7 ← phi( line::@7/(byte[]) plot_xhi#10 ) - (byte) line::y1#6 ← phi( line::@7/(byte) line::y1#11 ) - (byte) line::x1#7 ← phi( line::@7/(byte) line::x1#12 ) - (byte) plot::x#5 ← (byte) line::x1#7 - (byte) plot::y#5 ← (byte) line::y1#6 - call plot param-assignment - to:line::@23 -line::@23: scope:[line] from line::@22 +line::@6: scope:[line] from line::@2 + (byte[]) plot_bit#33 ← phi( line::@2/(byte[]) plot_bit#38 ) + (byte[]) plot_ylo#32 ← phi( line::@2/(byte[]) plot_ylo#38 ) + (byte[]) plot_yhi#32 ← phi( line::@2/(byte[]) plot_yhi#38 ) + (byte[]) plot_xlo#33 ← phi( line::@2/(byte[]) plot_xlo#38 ) + (byte[]) plot_xhi#33 ← phi( line::@2/(byte[]) plot_xhi#38 ) + (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::@15: scope:[line] from line::@1 - (byte[]) plot_bit#3 ← phi( line::@1/(byte[]) plot_bit#16 ) - (byte[]) plot_ylo#3 ← phi( line::@1/(byte[]) plot_ylo#16 ) - (byte[]) plot_yhi#3 ← phi( line::@1/(byte[]) plot_yhi#16 ) - (byte[]) plot_xlo#3 ← phi( line::@1/(byte[]) plot_xlo#16 ) - (byte[]) plot_xhi#3 ← phi( line::@1/(byte[]) plot_xhi#16 ) - (byte) line::y1#12 ← phi( line::@1/(byte) line::y1#1 ) +line::@20: scope:[line] from line::@2 + (byte[]) plot_bit#24 ← phi( line::@2/(byte[]) plot_bit#38 ) + (byte[]) plot_ylo#23 ← phi( line::@2/(byte[]) plot_ylo#38 ) + (byte[]) plot_yhi#23 ← phi( line::@2/(byte[]) plot_yhi#38 ) + (byte[]) plot_xlo#24 ← phi( line::@2/(byte[]) plot_xlo#38 ) + (byte[]) plot_xhi#24 ← phi( line::@2/(byte[]) plot_xhi#38 ) + (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[]) plot_bit#40 ← phi( line::@1/(byte[]) plot_bit#42 ) + (byte[]) plot_ylo#40 ← phi( line::@1/(byte[]) plot_ylo#43 ) + (byte[]) plot_yhi#40 ← phi( line::@1/(byte[]) plot_yhi#43 ) + (byte[]) plot_xlo#40 ← phi( line::@1/(byte[]) plot_xlo#42 ) + (byte[]) plot_xhi#40 ← phi( line::@1/(byte[]) plot_xhi#42 ) + (byte) line::x0#13 ← phi( line::@1/(byte) line::x0#2 ) (byte) line::x1#13 ← phi( line::@1/(byte) line::x1#2 ) - (byte) line::y0#8 ← phi( line::@1/(byte) line::y0#1 ) - (byte) line::x0#8 ← phi( line::@1/(byte) line::x0#2 ) - (byte) plot::x#6 ← (byte) line::x0#8 - (byte) plot::y#6 ← (byte) line::y0#8 - call plot param-assignment + (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~) line::$23 ← (byte) line::y0#9 - (byte) line::y1#7 + (byte) line::yd#2 ← (byte~) 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[]) plot_bit#39 ← phi( line::@1/(byte[]) plot_bit#42 ) + (byte[]) plot_ylo#39 ← phi( line::@1/(byte[]) plot_ylo#43 ) + (byte[]) plot_yhi#39 ← phi( line::@1/(byte[]) plot_yhi#43 ) + (byte[]) plot_xlo#39 ← phi( line::@1/(byte[]) plot_xlo#42 ) + (byte[]) plot_xhi#39 ← phi( line::@1/(byte[]) plot_xhi#42 ) + (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~) line::$18 ← (byte) line::y1#8 - (byte) line::y0#10 + (byte) line::yd#3 ← (byte~) 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::@24: scope:[line] from line::@15 - (byte[]) plot_bit#8 ← phi( line::@15/(byte[]) plot_bit#3 ) - (byte[]) plot_ylo#8 ← phi( line::@15/(byte[]) plot_ylo#3 ) - (byte[]) plot_yhi#8 ← phi( line::@15/(byte[]) plot_yhi#3 ) - (byte[]) plot_xlo#8 ← phi( line::@15/(byte[]) plot_xlo#3 ) - (byte[]) plot_xhi#8 ← phi( line::@15/(byte[]) plot_xhi#3 ) - (byte) line::y1#7 ← phi( line::@15/(byte) line::y1#12 ) - (byte) line::x1#8 ← phi( line::@15/(byte) line::x1#13 ) - (byte) plot::x#7 ← (byte) line::x1#8 - (byte) plot::y#7 ← (byte) line::y1#7 - call plot param-assignment - to:line::@25 -line::@25: scope:[line] from line::@24 +line::@10: scope:[line] from line::@23 + (byte[]) plot_bit#32 ← phi( line::@23/(byte[]) plot_bit#39 ) + (byte[]) plot_ylo#31 ← phi( line::@23/(byte[]) plot_ylo#39 ) + (byte[]) plot_yhi#31 ← phi( line::@23/(byte[]) plot_yhi#39 ) + (byte[]) plot_xlo#32 ← phi( line::@23/(byte[]) plot_xlo#39 ) + (byte[]) plot_xhi#32 ← phi( line::@23/(byte[]) plot_xhi#39 ) + (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::@return: scope:[line] from line::@18 line::@20 line::@21 line::@23 line::@25 +line::@24: scope:[line] from line::@23 + (byte[]) plot_bit#25 ← phi( line::@23/(byte[]) plot_bit#39 ) + (byte[]) plot_ylo#24 ← phi( line::@23/(byte[]) plot_ylo#39 ) + (byte[]) plot_yhi#24 ← phi( line::@23/(byte[]) plot_yhi#39 ) + (byte[]) plot_xlo#25 ← phi( line::@23/(byte[]) plot_xlo#39 ) + (byte[]) plot_xhi#25 ← phi( line::@23/(byte[]) plot_xhi#39 ) + (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[]) plot_bit#28 ← phi( line::@9/(byte[]) plot_bit#40 ) + (byte[]) plot_ylo#27 ← phi( line::@9/(byte[]) plot_ylo#40 ) + (byte[]) plot_yhi#27 ← phi( line::@9/(byte[]) plot_yhi#40 ) + (byte[]) plot_xlo#28 ← phi( line::@9/(byte[]) plot_xlo#40 ) + (byte[]) plot_xhi#28 ← phi( line::@9/(byte[]) plot_xhi#40 ) + (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[]) plot_bit#21 ← phi( line::@9/(byte[]) plot_bit#40 ) + (byte[]) plot_ylo#20 ← phi( line::@9/(byte[]) plot_ylo#40 ) + (byte[]) plot_yhi#20 ← phi( line::@9/(byte[]) plot_yhi#40 ) + (byte[]) plot_xlo#21 ← phi( line::@9/(byte[]) plot_xlo#40 ) + (byte[]) plot_xhi#21 ← phi( line::@9/(byte[]) plot_xhi#40 ) + (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::@11 - (byte) line_xdyi::x1#5 ← phi( line::@11/(byte) line_xdyi::x1#0 ) - (byte[]) plot_bit#17 ← phi( line::@11/(byte[]) plot_bit#23 ) - (byte[]) plot_ylo#17 ← phi( line::@11/(byte[]) plot_ylo#22 ) - (byte[]) plot_yhi#17 ← phi( line::@11/(byte[]) plot_yhi#22 ) - (byte[]) plot_xlo#17 ← phi( line::@11/(byte[]) plot_xlo#23 ) - (byte[]) plot_xhi#17 ← phi( line::@11/(byte[]) plot_xhi#23 ) - (byte) line_xdyi::xd#4 ← phi( line::@11/(byte) line_xdyi::xd#0 ) - (byte) line_xdyi::y#4 ← phi( line::@11/(byte) line_xdyi::y#0 ) - (byte) line_xdyi::x#5 ← phi( line::@11/(byte) line_xdyi::x#0 ) - (byte) line_xdyi::yd#1 ← phi( line::@11/(byte) line_xdyi::yd#0 ) - (byte~) line_xdyi::$0 ← (byte) line_xdyi::yd#1 >> (byte) 1 +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[]) plot_bit#9 ← phi( line::@17/(byte[]) plot_bit#20 line::@27/(byte[]) plot_bit#21 ) + (byte[]) plot_ylo#9 ← phi( line::@17/(byte[]) plot_ylo#19 line::@27/(byte[]) plot_ylo#20 ) + (byte[]) plot_yhi#9 ← phi( line::@17/(byte[]) plot_yhi#19 line::@27/(byte[]) plot_yhi#20 ) + (byte[]) plot_xlo#9 ← phi( line::@17/(byte[]) plot_xlo#20 line::@27/(byte[]) plot_xlo#21 ) + (byte[]) plot_xhi#9 ← phi( line::@17/(byte[]) plot_xhi#20 line::@27/(byte[]) plot_xhi#21 ) + (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) 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#4 ← phi( line_xdyi/(byte) line_xdyi::x1#5 line_xdyi::@2/(byte) line_xdyi::x1#1 ) - (byte[]) plot_bit#11 ← phi( line_xdyi/(byte[]) plot_bit#17 line_xdyi::@2/(byte[]) plot_bit#18 ) - (byte[]) plot_ylo#11 ← phi( line_xdyi/(byte[]) plot_ylo#17 line_xdyi::@2/(byte[]) plot_ylo#18 ) - (byte[]) plot_yhi#11 ← phi( line_xdyi/(byte[]) plot_yhi#17 line_xdyi::@2/(byte[]) plot_yhi#18 ) - (byte[]) plot_xlo#11 ← phi( line_xdyi/(byte[]) plot_xlo#17 line_xdyi::@2/(byte[]) plot_xlo#18 ) - (byte[]) plot_xhi#11 ← phi( line_xdyi/(byte[]) plot_xhi#17 line_xdyi::@2/(byte[]) plot_xhi#18 ) - (byte) line_xdyi::xd#3 ← phi( line_xdyi/(byte) line_xdyi::xd#4 line_xdyi::@2/(byte) line_xdyi::xd#5 ) - (byte) line_xdyi::yd#3 ← phi( line_xdyi/(byte) line_xdyi::yd#1 line_xdyi::@2/(byte) line_xdyi::yd#4 ) + (byte) line_xdyi::x1#5 ← phi( line_xdyi/(byte) line_xdyi::x1#6 line_xdyi::@2/(byte) line_xdyi::x1#2 ) + (byte[]) plot_bit#4 ← phi( line_xdyi/(byte[]) plot_bit#9 line_xdyi::@2/(byte[]) plot_bit#10 ) + (byte[]) plot_ylo#4 ← phi( line_xdyi/(byte[]) plot_ylo#9 line_xdyi::@2/(byte[]) plot_ylo#10 ) + (byte[]) plot_yhi#4 ← phi( line_xdyi/(byte[]) plot_yhi#9 line_xdyi::@2/(byte[]) plot_yhi#10 ) + (byte[]) plot_xlo#4 ← phi( line_xdyi/(byte[]) plot_xlo#9 line_xdyi::@2/(byte[]) plot_xlo#10 ) + (byte[]) plot_xhi#4 ← phi( line_xdyi/(byte[]) plot_xhi#9 line_xdyi::@2/(byte[]) plot_xhi#10 ) + (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#2 ← phi( line_xdyi/(byte) line_xdyi::y#4 line_xdyi::@2/(byte) line_xdyi::y#5 ) - (byte) line_xdyi::x#2 ← phi( line_xdyi/(byte) line_xdyi::x#5 line_xdyi::@2/(byte) line_xdyi::x#4 ) - (byte) plot::x#8 ← (byte) line_xdyi::x#2 - (byte) plot::y#8 ← (byte) line_xdyi::y#2 + (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[]) plot_bit#25 ← phi( line_xdyi::@1/(byte[]) plot_bit#11 ) - (byte[]) plot_ylo#24 ← phi( line_xdyi::@1/(byte[]) plot_ylo#11 ) - (byte[]) plot_yhi#24 ← phi( line_xdyi::@1/(byte[]) plot_yhi#11 ) - (byte[]) plot_xlo#25 ← phi( line_xdyi::@1/(byte[]) plot_xlo#11 ) - (byte[]) plot_xhi#25 ← phi( line_xdyi::@1/(byte[]) plot_xhi#11 ) - (byte) line_xdyi::y#6 ← phi( line_xdyi::@1/(byte) line_xdyi::y#2 ) - (byte) line_xdyi::x1#3 ← phi( line_xdyi::@1/(byte) line_xdyi::x1#4 ) - (byte) line_xdyi::xd#1 ← phi( line_xdyi::@1/(byte) line_xdyi::xd#3 ) - (byte) line_xdyi::yd#2 ← phi( line_xdyi::@1/(byte) line_xdyi::yd#3 ) + (byte[]) plot_bit#23 ← phi( line_xdyi::@1/(byte[]) plot_bit#4 ) + (byte[]) plot_ylo#22 ← phi( line_xdyi::@1/(byte[]) plot_ylo#4 ) + (byte[]) plot_yhi#22 ← phi( line_xdyi::@1/(byte[]) plot_yhi#4 ) + (byte[]) plot_xlo#23 ← phi( line_xdyi::@1/(byte[]) plot_xlo#4 ) + (byte[]) plot_xhi#23 ← phi( line_xdyi::@1/(byte[]) plot_xhi#4 ) + (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#3 ← phi( line_xdyi::@1/(byte) line_xdyi::x#2 ) - (byte~) line_xdyi::$2 ← (byte) line_xdyi::x#3 + (byte) 1 - (byte) line_xdyi::x#1 ← (byte~) line_xdyi::$2 - (byte~) line_xdyi::$3 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#2 + (byte) line_xdyi::x#4 ← phi( line_xdyi::@1/(byte) line_xdyi::x#3 ) + (byte~) line_xdyi::$2 ← (byte) line_xdyi::x#4 + (byte) 1 + (byte) line_xdyi::x#2 ← (byte~) line_xdyi::$2 + (byte~) line_xdyi::$3 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#3 (byte) line_xdyi::e#1 ← (byte~) line_xdyi::$3 - (boolean~) line_xdyi::$4 ← (byte) line_xdyi::xd#1 < (byte) line_xdyi::e#1 + (boolean~) line_xdyi::$4 ← (byte) line_xdyi::xd#2 < (byte) line_xdyi::e#1 (boolean~) line_xdyi::$5 ← ! (boolean~) line_xdyi::$4 if((boolean~) line_xdyi::$5) goto line_xdyi::@2 to:line_xdyi::@3 line_xdyi::@2: scope:[line_xdyi] from line_xdyi::@3 line_xdyi::@5 - (byte[]) plot_bit#18 ← phi( line_xdyi::@3/(byte[]) plot_bit#24 line_xdyi::@5/(byte[]) plot_bit#25 ) - (byte[]) plot_ylo#18 ← phi( line_xdyi::@3/(byte[]) plot_ylo#23 line_xdyi::@5/(byte[]) plot_ylo#24 ) - (byte[]) plot_yhi#18 ← phi( line_xdyi::@3/(byte[]) plot_yhi#23 line_xdyi::@5/(byte[]) plot_yhi#24 ) - (byte[]) plot_xlo#18 ← phi( line_xdyi::@3/(byte[]) plot_xlo#24 line_xdyi::@5/(byte[]) plot_xlo#25 ) - (byte[]) plot_xhi#18 ← phi( line_xdyi::@3/(byte[]) plot_xhi#24 line_xdyi::@5/(byte[]) plot_xhi#25 ) - (byte) line_xdyi::xd#5 ← phi( line_xdyi::@3/(byte) line_xdyi::xd#2 line_xdyi::@5/(byte) line_xdyi::xd#1 ) - (byte) line_xdyi::yd#4 ← phi( line_xdyi::@3/(byte) line_xdyi::yd#5 line_xdyi::@5/(byte) line_xdyi::yd#2 ) + (byte[]) plot_bit#10 ← phi( line_xdyi::@3/(byte[]) plot_bit#22 line_xdyi::@5/(byte[]) plot_bit#23 ) + (byte[]) plot_ylo#10 ← phi( line_xdyi::@3/(byte[]) plot_ylo#21 line_xdyi::@5/(byte[]) plot_ylo#22 ) + (byte[]) plot_yhi#10 ← phi( line_xdyi::@3/(byte[]) plot_yhi#21 line_xdyi::@5/(byte[]) plot_yhi#22 ) + (byte[]) plot_xlo#10 ← phi( line_xdyi::@3/(byte[]) plot_xlo#22 line_xdyi::@5/(byte[]) plot_xlo#23 ) + (byte[]) plot_xhi#10 ← phi( line_xdyi::@3/(byte[]) plot_xhi#22 line_xdyi::@5/(byte[]) plot_xhi#23 ) + (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#5 ← phi( line_xdyi::@3/(byte) line_xdyi::y#1 line_xdyi::@5/(byte) line_xdyi::y#6 ) - (byte) line_xdyi::x#4 ← phi( line_xdyi::@3/(byte) line_xdyi::x#6 line_xdyi::@5/(byte) line_xdyi::x#1 ) - (byte) line_xdyi::x1#1 ← phi( line_xdyi::@3/(byte) line_xdyi::x1#2 line_xdyi::@5/(byte) line_xdyi::x1#3 ) - (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#1 + (byte) 1 - (boolean~) line_xdyi::$9 ← (byte) line_xdyi::x#4 < (byte~) line_xdyi::$8 + (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~) line_xdyi::$8 ← (byte) line_xdyi::x1#2 + (byte) 1 + (boolean~) line_xdyi::$9 ← (byte) line_xdyi::x#5 < (byte~) line_xdyi::$8 if((boolean~) line_xdyi::$9) goto line_xdyi::@1 to:line_xdyi::@return line_xdyi::@3: scope:[line_xdyi] from line_xdyi::@5 - (byte[]) plot_bit#24 ← phi( line_xdyi::@5/(byte[]) plot_bit#25 ) - (byte[]) plot_ylo#23 ← phi( line_xdyi::@5/(byte[]) plot_ylo#24 ) - (byte[]) plot_yhi#23 ← phi( line_xdyi::@5/(byte[]) plot_yhi#24 ) - (byte[]) plot_xlo#24 ← phi( line_xdyi::@5/(byte[]) plot_xlo#25 ) - (byte[]) plot_xhi#24 ← phi( line_xdyi::@5/(byte[]) plot_xhi#25 ) - (byte) line_xdyi::yd#5 ← phi( line_xdyi::@5/(byte) line_xdyi::yd#2 ) - (byte) line_xdyi::x#6 ← phi( line_xdyi::@5/(byte) line_xdyi::x#1 ) - (byte) line_xdyi::x1#2 ← phi( line_xdyi::@5/(byte) line_xdyi::x1#3 ) - (byte) line_xdyi::xd#2 ← phi( line_xdyi::@5/(byte) line_xdyi::xd#1 ) + (byte[]) plot_bit#22 ← phi( line_xdyi::@5/(byte[]) plot_bit#23 ) + (byte[]) plot_ylo#21 ← phi( line_xdyi::@5/(byte[]) plot_ylo#22 ) + (byte[]) plot_yhi#21 ← phi( line_xdyi::@5/(byte[]) plot_yhi#22 ) + (byte[]) plot_xlo#22 ← phi( line_xdyi::@5/(byte[]) plot_xlo#23 ) + (byte[]) plot_xhi#22 ← phi( line_xdyi::@5/(byte[]) plot_xhi#23 ) + (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#3 ← phi( line_xdyi::@5/(byte) line_xdyi::y#6 ) - (byte~) line_xdyi::$6 ← (byte) line_xdyi::y#3 + (byte) 1 - (byte) line_xdyi::y#1 ← (byte~) line_xdyi::$6 - (byte~) line_xdyi::$7 ← (byte) line_xdyi::e#4 - (byte) line_xdyi::xd#2 + (byte) line_xdyi::y#4 ← phi( line_xdyi::@5/(byte) line_xdyi::y#7 ) + (byte~) line_xdyi::$6 ← (byte) line_xdyi::y#4 + (byte) 1 + (byte) line_xdyi::y#2 ← (byte~) line_xdyi::$6 + (byte~) line_xdyi::$7 ← (byte) line_xdyi::e#4 - (byte) line_xdyi::xd#3 (byte) line_xdyi::e#2 ← (byte~) line_xdyi::$7 to:line_xdyi::@2 line_xdyi::@return: scope:[line_xdyi] from line_xdyi::@2 return to:@return -plot: scope:[plot] from line::@15 line::@17 line::@19 line::@2 line::@22 line::@24 line::@3 line::@7 line_xdyi::@1 - (byte[]) plot_bit#1 ← phi( line::@15/(byte[]) plot_bit#3 line::@17/(byte[]) plot_bit#4 line::@19/(byte[]) plot_bit#5 line::@2/(byte[]) plot_bit#6 line::@22/(byte[]) plot_bit#7 line::@24/(byte[]) plot_bit#8 line::@3/(byte[]) plot_bit#9 line::@7/(byte[]) plot_bit#10 line_xdyi::@1/(byte[]) plot_bit#11 ) - (byte[]) plot_ylo#1 ← phi( line::@15/(byte[]) plot_ylo#3 line::@17/(byte[]) plot_ylo#4 line::@19/(byte[]) plot_ylo#5 line::@2/(byte[]) plot_ylo#6 line::@22/(byte[]) plot_ylo#7 line::@24/(byte[]) plot_ylo#8 line::@3/(byte[]) plot_ylo#9 line::@7/(byte[]) plot_ylo#10 line_xdyi::@1/(byte[]) plot_ylo#11 ) - (byte) plot::y#9 ← phi( line::@15/(byte) plot::y#6 line::@17/(byte) plot::y#1 line::@19/(byte) plot::y#3 line::@2/(byte) plot::y#0 line::@22/(byte) plot::y#5 line::@24/(byte) plot::y#7 line::@3/(byte) plot::y#2 line::@7/(byte) plot::y#4 line_xdyi::@1/(byte) plot::y#8 ) - (byte[]) plot_yhi#1 ← phi( line::@15/(byte[]) plot_yhi#3 line::@17/(byte[]) plot_yhi#4 line::@19/(byte[]) plot_yhi#5 line::@2/(byte[]) plot_yhi#6 line::@22/(byte[]) plot_yhi#7 line::@24/(byte[]) plot_yhi#8 line::@3/(byte[]) plot_yhi#9 line::@7/(byte[]) plot_yhi#10 line_xdyi::@1/(byte[]) plot_yhi#11 ) - (byte[]) plot_xlo#1 ← phi( line::@15/(byte[]) plot_xlo#3 line::@17/(byte[]) plot_xlo#4 line::@19/(byte[]) plot_xlo#5 line::@2/(byte[]) plot_xlo#6 line::@22/(byte[]) plot_xlo#7 line::@24/(byte[]) plot_xlo#8 line::@3/(byte[]) plot_xlo#9 line::@7/(byte[]) plot_xlo#10 line_xdyi::@1/(byte[]) plot_xlo#11 ) - (byte) plot::x#9 ← phi( line::@15/(byte) plot::x#6 line::@17/(byte) plot::x#1 line::@19/(byte) plot::x#3 line::@2/(byte) plot::x#0 line::@22/(byte) plot::x#5 line::@24/(byte) plot::x#7 line::@3/(byte) plot::x#2 line::@7/(byte) plot::x#4 line_xdyi::@1/(byte) plot::x#8 ) - (byte[]) plot_xhi#1 ← phi( line::@15/(byte[]) plot_xhi#3 line::@17/(byte[]) plot_xhi#4 line::@19/(byte[]) plot_xhi#5 line::@2/(byte[]) plot_xhi#6 line::@22/(byte[]) plot_xhi#7 line::@24/(byte[]) plot_xhi#8 line::@3/(byte[]) plot_xhi#9 line::@7/(byte[]) plot_xhi#10 line_xdyi::@1/(byte[]) plot_xhi#11 ) +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[]) plot_bit#11 ← phi( line::@20/(byte[]) plot_bit#24 line::@24/(byte[]) plot_bit#25 ) + (byte[]) plot_ylo#11 ← phi( line::@20/(byte[]) plot_ylo#23 line::@24/(byte[]) plot_ylo#24 ) + (byte[]) plot_yhi#11 ← phi( line::@20/(byte[]) plot_yhi#23 line::@24/(byte[]) plot_yhi#24 ) + (byte[]) plot_xlo#11 ← phi( line::@20/(byte[]) plot_xlo#24 line::@24/(byte[]) plot_xlo#25 ) + (byte[]) plot_xhi#11 ← phi( line::@20/(byte[]) plot_xhi#24 line::@24/(byte[]) plot_xhi#25 ) + (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) 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[]) plot_bit#3 ← phi( line_xdyd/(byte[]) plot_bit#11 line_xdyd::@2/(byte[]) plot_bit#12 ) + (byte[]) plot_ylo#3 ← phi( line_xdyd/(byte[]) plot_ylo#11 line_xdyd::@2/(byte[]) plot_ylo#12 ) + (byte[]) plot_yhi#3 ← phi( line_xdyd/(byte[]) plot_yhi#11 line_xdyd::@2/(byte[]) plot_yhi#12 ) + (byte[]) plot_xlo#3 ← phi( line_xdyd/(byte[]) plot_xlo#11 line_xdyd::@2/(byte[]) plot_xlo#12 ) + (byte[]) plot_xhi#3 ← phi( line_xdyd/(byte[]) plot_xhi#11 line_xdyd::@2/(byte[]) plot_xhi#12 ) + (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[]) plot_bit#27 ← phi( line_xdyd::@1/(byte[]) plot_bit#3 ) + (byte[]) plot_ylo#26 ← phi( line_xdyd::@1/(byte[]) plot_ylo#3 ) + (byte[]) plot_yhi#26 ← phi( line_xdyd::@1/(byte[]) plot_yhi#3 ) + (byte[]) plot_xlo#27 ← phi( line_xdyd::@1/(byte[]) plot_xlo#3 ) + (byte[]) plot_xhi#27 ← phi( line_xdyd::@1/(byte[]) plot_xhi#3 ) + (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::$2 ← (byte) line_xdyd::x#4 + (byte) 1 + (byte) line_xdyd::x#2 ← (byte~) line_xdyd::$2 + (byte~) line_xdyd::$3 ← (byte) line_xdyd::e#3 + (byte) line_xdyd::yd#3 + (byte) line_xdyd::e#1 ← (byte~) line_xdyd::$3 + (boolean~) line_xdyd::$4 ← (byte) line_xdyd::xd#2 < (byte) line_xdyd::e#1 + (boolean~) line_xdyd::$5 ← ! (boolean~) line_xdyd::$4 + if((boolean~) line_xdyd::$5) goto line_xdyd::@2 + to:line_xdyd::@3 +line_xdyd::@2: scope:[line_xdyd] from line_xdyd::@3 line_xdyd::@5 + (byte[]) plot_bit#12 ← phi( line_xdyd::@3/(byte[]) plot_bit#26 line_xdyd::@5/(byte[]) plot_bit#27 ) + (byte[]) plot_ylo#12 ← phi( line_xdyd::@3/(byte[]) plot_ylo#25 line_xdyd::@5/(byte[]) plot_ylo#26 ) + (byte[]) plot_yhi#12 ← phi( line_xdyd::@3/(byte[]) plot_yhi#25 line_xdyd::@5/(byte[]) plot_yhi#26 ) + (byte[]) plot_xlo#12 ← phi( line_xdyd::@3/(byte[]) plot_xlo#26 line_xdyd::@5/(byte[]) plot_xlo#27 ) + (byte[]) plot_xhi#12 ← phi( line_xdyd::@3/(byte[]) plot_xhi#26 line_xdyd::@5/(byte[]) plot_xhi#27 ) + (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~) line_xdyd::$8 ← (byte) line_xdyd::x1#2 + (byte) 1 + (boolean~) line_xdyd::$9 ← (byte) line_xdyd::x#5 < (byte~) line_xdyd::$8 + if((boolean~) line_xdyd::$9) goto line_xdyd::@1 + to:line_xdyd::@return +line_xdyd::@3: scope:[line_xdyd] from line_xdyd::@5 + (byte[]) plot_bit#26 ← phi( line_xdyd::@5/(byte[]) plot_bit#27 ) + (byte[]) plot_ylo#25 ← phi( line_xdyd::@5/(byte[]) plot_ylo#26 ) + (byte[]) plot_yhi#25 ← phi( line_xdyd::@5/(byte[]) plot_yhi#26 ) + (byte[]) plot_xlo#26 ← phi( line_xdyd::@5/(byte[]) plot_xlo#27 ) + (byte[]) plot_xhi#26 ← phi( line_xdyd::@5/(byte[]) plot_xhi#27 ) + (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::$6 ← (byte) line_xdyd::y#4 - (byte) 1 + (byte) line_xdyd::y#2 ← (byte~) line_xdyd::$6 + (byte~) line_xdyd::$7 ← (byte) line_xdyd::e#4 - (byte) line_xdyd::xd#3 + (byte) line_xdyd::e#2 ← (byte~) line_xdyd::$7 + 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[]) plot_bit#13 ← phi( line::@13/(byte[]) plot_bit#28 line::@3/(byte[]) plot_bit#29 ) + (byte[]) plot_ylo#13 ← phi( line::@13/(byte[]) plot_ylo#27 line::@3/(byte[]) plot_ylo#28 ) + (byte[]) plot_yhi#13 ← phi( line::@13/(byte[]) plot_yhi#27 line::@3/(byte[]) plot_yhi#28 ) + (byte[]) plot_xlo#13 ← phi( line::@13/(byte[]) plot_xlo#28 line::@3/(byte[]) plot_xlo#29 ) + (byte[]) plot_xhi#13 ← phi( line::@13/(byte[]) plot_xhi#28 line::@3/(byte[]) plot_xhi#29 ) + (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) 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[]) plot_bit#6 ← phi( line_ydxi/(byte[]) plot_bit#13 line_ydxi::@2/(byte[]) plot_bit#14 ) + (byte[]) plot_ylo#6 ← phi( line_ydxi/(byte[]) plot_ylo#13 line_ydxi::@2/(byte[]) plot_ylo#14 ) + (byte[]) plot_yhi#6 ← phi( line_ydxi/(byte[]) plot_yhi#13 line_ydxi::@2/(byte[]) plot_yhi#14 ) + (byte[]) plot_xlo#6 ← phi( line_ydxi/(byte[]) plot_xlo#13 line_ydxi::@2/(byte[]) plot_xlo#14 ) + (byte[]) plot_xhi#6 ← phi( line_ydxi/(byte[]) plot_xhi#13 line_ydxi::@2/(byte[]) plot_xhi#14 ) + (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[]) plot_bit#31 ← phi( line_ydxi::@1/(byte[]) plot_bit#6 ) + (byte[]) plot_ylo#30 ← phi( line_ydxi::@1/(byte[]) plot_ylo#6 ) + (byte[]) plot_yhi#30 ← phi( line_ydxi::@1/(byte[]) plot_yhi#6 ) + (byte[]) plot_xlo#31 ← phi( line_ydxi::@1/(byte[]) plot_xlo#6 ) + (byte[]) plot_xhi#31 ← phi( line_ydxi::@1/(byte[]) plot_xhi#6 ) + (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::$2 ← (byte) line_ydxi::y#4 + (byte) 1 + (byte) line_ydxi::y#2 ← (byte~) line_ydxi::$2 + (byte~) line_ydxi::$3 ← (byte) line_ydxi::e#3 + (byte) line_ydxi::xd#3 + (byte) line_ydxi::e#1 ← (byte~) line_ydxi::$3 + (boolean~) line_ydxi::$4 ← (byte) line_ydxi::yd#2 < (byte) line_ydxi::e#1 + (boolean~) line_ydxi::$5 ← ! (boolean~) line_ydxi::$4 + if((boolean~) line_ydxi::$5) goto line_ydxi::@2 + to:line_ydxi::@3 +line_ydxi::@2: scope:[line_ydxi] from line_ydxi::@3 line_ydxi::@5 + (byte[]) plot_bit#14 ← phi( line_ydxi::@3/(byte[]) plot_bit#30 line_ydxi::@5/(byte[]) plot_bit#31 ) + (byte[]) plot_ylo#14 ← phi( line_ydxi::@3/(byte[]) plot_ylo#29 line_ydxi::@5/(byte[]) plot_ylo#30 ) + (byte[]) plot_yhi#14 ← phi( line_ydxi::@3/(byte[]) plot_yhi#29 line_ydxi::@5/(byte[]) plot_yhi#30 ) + (byte[]) plot_xlo#14 ← phi( line_ydxi::@3/(byte[]) plot_xlo#30 line_ydxi::@5/(byte[]) plot_xlo#31 ) + (byte[]) plot_xhi#14 ← phi( line_ydxi::@3/(byte[]) plot_xhi#30 line_ydxi::@5/(byte[]) plot_xhi#31 ) + (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~) line_ydxi::$8 ← (byte) line_ydxi::y1#2 + (byte) 1 + (boolean~) line_ydxi::$9 ← (byte) line_ydxi::y#5 < (byte~) line_ydxi::$8 + if((boolean~) line_ydxi::$9) goto line_ydxi::@1 + to:line_ydxi::@return +line_ydxi::@3: scope:[line_ydxi] from line_ydxi::@5 + (byte[]) plot_bit#30 ← phi( line_ydxi::@5/(byte[]) plot_bit#31 ) + (byte[]) plot_ylo#29 ← phi( line_ydxi::@5/(byte[]) plot_ylo#30 ) + (byte[]) plot_yhi#29 ← phi( line_ydxi::@5/(byte[]) plot_yhi#30 ) + (byte[]) plot_xlo#30 ← phi( line_ydxi::@5/(byte[]) plot_xlo#31 ) + (byte[]) plot_xhi#30 ← phi( line_ydxi::@5/(byte[]) plot_xhi#31 ) + (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::$6 ← (byte) line_ydxi::x#4 + (byte) 1 + (byte) line_ydxi::x#2 ← (byte~) line_ydxi::$6 + (byte~) line_ydxi::$7 ← (byte) line_ydxi::e#4 - (byte) line_ydxi::yd#3 + (byte) line_ydxi::e#2 ← (byte~) line_ydxi::$7 + 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[]) plot_bit#15 ← phi( line::@10/(byte[]) plot_bit#32 line::@6/(byte[]) plot_bit#33 ) + (byte[]) plot_ylo#15 ← phi( line::@10/(byte[]) plot_ylo#31 line::@6/(byte[]) plot_ylo#32 ) + (byte[]) plot_yhi#15 ← phi( line::@10/(byte[]) plot_yhi#31 line::@6/(byte[]) plot_yhi#32 ) + (byte[]) plot_xlo#15 ← phi( line::@10/(byte[]) plot_xlo#32 line::@6/(byte[]) plot_xlo#33 ) + (byte[]) plot_xhi#15 ← phi( line::@10/(byte[]) plot_xhi#32 line::@6/(byte[]) plot_xhi#33 ) + (byte) line_ydxd::yd#5 ← phi( line::@10/(byte) line_ydxd::yd#1 line::@6/(byte) line_ydxd::yd#0 ) + (byte) line_ydxd::y#6 ← 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) 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[]) plot_bit#5 ← phi( line_ydxd/(byte[]) plot_bit#15 line_ydxd::@2/(byte[]) plot_bit#16 ) + (byte[]) plot_ylo#5 ← phi( line_ydxd/(byte[]) plot_ylo#15 line_ydxd::@2/(byte[]) plot_ylo#16 ) + (byte[]) plot_yhi#5 ← phi( line_ydxd/(byte[]) plot_yhi#15 line_ydxd::@2/(byte[]) plot_yhi#16 ) + (byte[]) plot_xlo#5 ← phi( line_ydxd/(byte[]) plot_xlo#15 line_ydxd::@2/(byte[]) plot_xlo#16 ) + (byte[]) plot_xhi#5 ← phi( line_ydxd/(byte[]) plot_xhi#15 line_ydxd::@2/(byte[]) plot_xhi#16 ) + (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#3 ← phi( line_ydxd/(byte) line_ydxd::y#6 line_ydxd::@2/(byte) line_ydxd::y#5 ) + (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#3 + call plot param-assignment + to:line_ydxd::@5 +line_ydxd::@5: scope:[line_ydxd] from line_ydxd::@1 + (byte[]) plot_bit#35 ← phi( line_ydxd::@1/(byte[]) plot_bit#5 ) + (byte[]) plot_ylo#34 ← phi( line_ydxd::@1/(byte[]) plot_ylo#5 ) + (byte[]) plot_yhi#34 ← phi( line_ydxd::@1/(byte[]) plot_yhi#5 ) + (byte[]) plot_xlo#35 ← phi( line_ydxd::@1/(byte[]) plot_xlo#5 ) + (byte[]) plot_xhi#35 ← phi( line_ydxd::@1/(byte[]) plot_xhi#5 ) + (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#4 ← phi( line_ydxd::@1/(byte) line_ydxd::y#3 ) + (byte~) line_ydxd::$2 ← (byte) line_ydxd::y#4 + (byte) 1 + (byte) line_ydxd::y#2 ← (byte~) line_ydxd::$2 + (byte~) line_ydxd::$3 ← (byte) line_ydxd::e#3 + (byte) line_ydxd::xd#3 + (byte) line_ydxd::e#1 ← (byte~) line_ydxd::$3 + (boolean~) line_ydxd::$4 ← (byte) line_ydxd::yd#2 < (byte) line_ydxd::e#1 + (boolean~) line_ydxd::$5 ← ! (boolean~) line_ydxd::$4 + if((boolean~) line_ydxd::$5) goto line_ydxd::@2 + to:line_ydxd::@3 +line_ydxd::@2: scope:[line_ydxd] from line_ydxd::@3 line_ydxd::@5 + (byte[]) plot_bit#16 ← phi( line_ydxd::@3/(byte[]) plot_bit#34 line_ydxd::@5/(byte[]) plot_bit#35 ) + (byte[]) plot_ylo#16 ← phi( line_ydxd::@3/(byte[]) plot_ylo#33 line_ydxd::@5/(byte[]) plot_ylo#34 ) + (byte[]) plot_yhi#16 ← phi( line_ydxd::@3/(byte[]) plot_yhi#33 line_ydxd::@5/(byte[]) plot_yhi#34 ) + (byte[]) plot_xlo#16 ← phi( line_ydxd::@3/(byte[]) plot_xlo#34 line_ydxd::@5/(byte[]) plot_xlo#35 ) + (byte[]) plot_xhi#16 ← phi( line_ydxd::@3/(byte[]) plot_xhi#34 line_ydxd::@5/(byte[]) plot_xhi#35 ) + (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#5 ← phi( line_ydxd::@3/(byte) line_ydxd::y#7 line_ydxd::@5/(byte) line_ydxd::y#2 ) + (byte) line_ydxd::y1#2 ← phi( line_ydxd::@3/(byte) line_ydxd::y1#3 line_ydxd::@5/(byte) line_ydxd::y1#4 ) + (byte~) line_ydxd::$8 ← (byte) line_ydxd::y1#2 + (byte) 1 + (boolean~) line_ydxd::$9 ← (byte) line_ydxd::y#5 < (byte~) line_ydxd::$8 + if((boolean~) line_ydxd::$9) goto line_ydxd::@1 + to:line_ydxd::@return +line_ydxd::@3: scope:[line_ydxd] from line_ydxd::@5 + (byte[]) plot_bit#34 ← phi( line_ydxd::@5/(byte[]) plot_bit#35 ) + (byte[]) plot_ylo#33 ← phi( line_ydxd::@5/(byte[]) plot_ylo#34 ) + (byte[]) plot_yhi#33 ← phi( line_ydxd::@5/(byte[]) plot_yhi#34 ) + (byte[]) plot_xlo#34 ← phi( line_ydxd::@5/(byte[]) plot_xlo#35 ) + (byte[]) plot_xhi#34 ← phi( line_ydxd::@5/(byte[]) plot_xhi#35 ) + (byte) line_ydxd::xd#6 ← phi( line_ydxd::@5/(byte) line_ydxd::xd#3 ) + (byte) line_ydxd::y#7 ← phi( line_ydxd::@5/(byte) line_ydxd::y#2 ) + (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::$6 ← (byte) line_ydxd::x#4 - (byte) 1 + (byte) line_ydxd::x#2 ← (byte~) line_ydxd::$6 + (byte~) line_ydxd::$7 ← (byte) line_ydxd::e#4 - (byte) line_ydxd::yd#3 + (byte) line_ydxd::e#2 ← (byte~) line_ydxd::$7 + 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_bit#1 ← phi( line_xdyd::@1/(byte[]) plot_bit#3 line_xdyi::@1/(byte[]) plot_bit#4 line_ydxd::@1/(byte[]) plot_bit#5 line_ydxi::@1/(byte[]) plot_bit#6 ) + (byte[]) plot_ylo#1 ← phi( line_xdyd::@1/(byte[]) plot_ylo#3 line_xdyi::@1/(byte[]) plot_ylo#4 line_ydxd::@1/(byte[]) plot_ylo#5 line_ydxi::@1/(byte[]) plot_ylo#6 ) + (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_yhi#1 ← phi( line_xdyd::@1/(byte[]) plot_yhi#3 line_xdyi::@1/(byte[]) plot_yhi#4 line_ydxd::@1/(byte[]) plot_yhi#5 line_ydxi::@1/(byte[]) plot_yhi#6 ) + (byte[]) plot_xlo#1 ← phi( line_xdyd::@1/(byte[]) plot_xlo#3 line_xdyi::@1/(byte[]) plot_xlo#4 line_ydxd::@1/(byte[]) plot_xlo#5 line_ydxi::@1/(byte[]) plot_xlo#6 ) + (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 ) + (byte[]) plot_xhi#1 ← phi( line_xdyd::@1/(byte[]) plot_xhi#3 line_xdyi::@1/(byte[]) plot_xhi#4 line_ydxd::@1/(byte[]) plot_xhi#5 line_ydxi::@1/(byte[]) plot_xhi#6 ) (byte*) plot::plotter_x#0 ← (byte) 0 (byte*) plot::plotter_y#0 ← (byte) 0 - (byte~) plot::$0 ← (byte[]) plot_xhi#1 *idx (byte) plot::x#9 + (byte~) plot::$0 ← (byte[]) plot_xhi#1 *idx (byte) plot::x#4 (byte*) plot::plotter_x#1 ← (byte*) plot::plotter_x#0 hi= (byte~) plot::$0 - (byte~) plot::$1 ← (byte[]) plot_xlo#1 *idx (byte) plot::x#9 + (byte~) plot::$1 ← (byte[]) plot_xlo#1 *idx (byte) plot::x#4 (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 - (byte~) plot::$2 ← (byte[]) plot_yhi#1 *idx (byte) plot::y#9 + (byte~) plot::$2 ← (byte[]) plot_yhi#1 *idx (byte) plot::y#4 (byte*) plot::plotter_y#1 ← (byte*) plot::plotter_y#0 hi= (byte~) plot::$2 - (byte~) plot::$3 ← (byte[]) plot_ylo#1 *idx (byte) plot::y#9 + (byte~) plot::$3 ← (byte[]) plot_ylo#1 *idx (byte) plot::y#4 (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 (byte~) plot::$4 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 (byte*) plot::plotter#0 ← (byte~) plot::$4 (byte~) plot::$5 ← * (byte*) plot::plotter#0 - (byte~) plot::$6 ← (byte[]) plot_bit#1 *idx (byte) plot::x#9 + (byte~) plot::$6 ← (byte[]) plot_bit#1 *idx (byte) plot::x#4 (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 *((byte*) plot::plotter#0) ← (byte~) plot::$7 to:plot::@return @@ -1804,23 +2755,23 @@ plot::@return: scope:[plot] from plot return to:@return init_plot_tables: scope:[init_plot_tables] from main::@3 - (byte[]) plot_yhi#28 ← phi( main::@3/(byte[]) plot_yhi#31 ) - (byte[]) plot_ylo#28 ← phi( main::@3/(byte[]) plot_ylo#31 ) - (byte[]) plot_bit#12 ← phi( main::@3/(byte[]) plot_bit#19 ) - (byte[]) plot_xhi#12 ← phi( main::@3/(byte[]) plot_xhi#19 ) + (byte[]) plot_yhi#41 ← phi( main::@3/(byte[]) plot_yhi#44 ) + (byte[]) plot_ylo#41 ← phi( main::@3/(byte[]) plot_ylo#44 ) + (byte[]) plot_bit#7 ← phi( main::@3/(byte[]) plot_bit#17 ) + (byte[]) plot_xhi#7 ← phi( main::@3/(byte[]) plot_xhi#17 ) (byte*) BITMAP#4 ← phi( main::@3/(byte*) BITMAP#8 ) - (byte[]) plot_xlo#12 ← phi( main::@3/(byte[]) plot_xlo#19 ) + (byte[]) plot_xlo#7 ← phi( main::@3/(byte[]) plot_xlo#17 ) (byte) init_plot_tables::bit#0 ← (byte) 128 (byte) init_plot_tables::x#0 ← (byte) 0 to:init_plot_tables::@1 init_plot_tables::@1: scope:[init_plot_tables] from init_plot_tables init_plot_tables::@2 - (byte[]) plot_yhi#25 ← phi( init_plot_tables/(byte[]) plot_yhi#28 init_plot_tables::@2/(byte[]) plot_yhi#19 ) - (byte[]) plot_ylo#25 ← phi( init_plot_tables/(byte[]) plot_ylo#28 init_plot_tables::@2/(byte[]) plot_ylo#19 ) - (byte[]) plot_bit#2 ← phi( init_plot_tables/(byte[]) plot_bit#12 init_plot_tables::@2/(byte[]) plot_bit#13 ) + (byte[]) plot_yhi#35 ← phi( init_plot_tables/(byte[]) plot_yhi#41 init_plot_tables::@2/(byte[]) plot_yhi#17 ) + (byte[]) plot_ylo#35 ← phi( init_plot_tables/(byte[]) plot_ylo#41 init_plot_tables::@2/(byte[]) plot_ylo#17 ) + (byte[]) plot_bit#2 ← phi( init_plot_tables/(byte[]) plot_bit#7 init_plot_tables::@2/(byte[]) plot_bit#8 ) (byte) init_plot_tables::bit#3 ← phi( init_plot_tables/(byte) init_plot_tables::bit#0 init_plot_tables::@2/(byte) init_plot_tables::bit#4 ) - (byte[]) plot_xhi#2 ← phi( init_plot_tables/(byte[]) plot_xhi#12 init_plot_tables::@2/(byte[]) plot_xhi#13 ) + (byte[]) plot_xhi#2 ← phi( init_plot_tables/(byte[]) plot_xhi#7 init_plot_tables::@2/(byte[]) plot_xhi#8 ) (byte*) BITMAP#1 ← phi( init_plot_tables/(byte*) BITMAP#4 init_plot_tables::@2/(byte*) BITMAP#5 ) - (byte[]) plot_xlo#2 ← phi( init_plot_tables/(byte[]) plot_xlo#12 init_plot_tables::@2/(byte[]) plot_xlo#13 ) + (byte[]) plot_xlo#2 ← phi( init_plot_tables/(byte[]) plot_xlo#7 init_plot_tables::@2/(byte[]) plot_xlo#8 ) (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) 248 *((byte[]) plot_xlo#2 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 @@ -1834,37 +2785,37 @@ init_plot_tables::@1: scope:[init_plot_tables] from init_plot_tables init_plot_ 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[]) plot_yhi#19 ← phi( init_plot_tables::@1/(byte[]) plot_yhi#25 init_plot_tables::@5/(byte[]) plot_yhi#26 ) - (byte[]) plot_ylo#19 ← phi( init_plot_tables::@1/(byte[]) plot_ylo#25 init_plot_tables::@5/(byte[]) plot_ylo#26 ) - (byte[]) plot_bit#13 ← phi( init_plot_tables::@1/(byte[]) plot_bit#2 init_plot_tables::@5/(byte[]) plot_bit#20 ) + (byte[]) plot_yhi#17 ← phi( init_plot_tables::@1/(byte[]) plot_yhi#35 init_plot_tables::@5/(byte[]) plot_yhi#36 ) + (byte[]) plot_ylo#17 ← phi( init_plot_tables::@1/(byte[]) plot_ylo#35 init_plot_tables::@5/(byte[]) plot_ylo#36 ) + (byte[]) plot_bit#8 ← phi( init_plot_tables::@1/(byte[]) plot_bit#2 init_plot_tables::@5/(byte[]) plot_bit#18 ) (byte) init_plot_tables::bit#4 ← phi( init_plot_tables::@1/(byte) init_plot_tables::bit#1 init_plot_tables::@5/(byte) init_plot_tables::bit#2 ) - (byte[]) plot_xhi#13 ← phi( init_plot_tables::@1/(byte[]) plot_xhi#2 init_plot_tables::@5/(byte[]) plot_xhi#20 ) + (byte[]) plot_xhi#8 ← phi( init_plot_tables::@1/(byte[]) plot_xhi#2 init_plot_tables::@5/(byte[]) plot_xhi#18 ) (byte*) BITMAP#5 ← phi( init_plot_tables::@1/(byte*) BITMAP#1 init_plot_tables::@5/(byte*) BITMAP#9 ) - (byte[]) plot_xlo#13 ← phi( init_plot_tables::@1/(byte[]) plot_xlo#2 init_plot_tables::@5/(byte[]) plot_xlo#20 ) + (byte[]) plot_xlo#8 ← phi( init_plot_tables::@1/(byte[]) plot_xlo#2 init_plot_tables::@5/(byte[]) plot_xlo#18 ) (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) 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[]) plot_yhi#26 ← phi( init_plot_tables::@1/(byte[]) plot_yhi#25 ) - (byte[]) plot_ylo#26 ← phi( init_plot_tables::@1/(byte[]) plot_ylo#25 ) - (byte[]) plot_bit#20 ← phi( init_plot_tables::@1/(byte[]) plot_bit#2 ) - (byte[]) plot_xhi#20 ← phi( init_plot_tables::@1/(byte[]) plot_xhi#2 ) + (byte[]) plot_yhi#36 ← phi( init_plot_tables::@1/(byte[]) plot_yhi#35 ) + (byte[]) plot_ylo#36 ← phi( init_plot_tables::@1/(byte[]) plot_ylo#35 ) + (byte[]) plot_bit#18 ← phi( init_plot_tables::@1/(byte[]) plot_bit#2 ) + (byte[]) plot_xhi#18 ← phi( init_plot_tables::@1/(byte[]) plot_xhi#2 ) (byte*) BITMAP#9 ← phi( init_plot_tables::@1/(byte*) BITMAP#1 ) - (byte[]) plot_xlo#20 ← phi( init_plot_tables::@1/(byte[]) plot_xlo#2 ) + (byte[]) plot_xlo#18 ← phi( init_plot_tables::@1/(byte[]) plot_xlo#2 ) (byte) init_plot_tables::x#4 ← phi( init_plot_tables::@1/(byte) init_plot_tables::x#2 ) (byte) init_plot_tables::bit#2 ← (byte) 128 to:init_plot_tables::@2 init_plot_tables::@6: scope:[init_plot_tables] from init_plot_tables::@2 - (byte[]) plot_yhi#13 ← phi( init_plot_tables::@2/(byte[]) plot_yhi#19 ) - (byte[]) plot_ylo#13 ← phi( init_plot_tables::@2/(byte[]) plot_ylo#19 ) + (byte[]) plot_yhi#8 ← phi( init_plot_tables::@2/(byte[]) plot_yhi#17 ) + (byte[]) plot_ylo#8 ← phi( init_plot_tables::@2/(byte[]) plot_ylo#17 ) (byte*) init_plot_tables::yoffs#0 ← (byte) 0 (byte) init_plot_tables::y#0 ← (byte) 0 to:init_plot_tables::@3 init_plot_tables::@3: scope:[init_plot_tables] from init_plot_tables::@4 init_plot_tables::@6 - (byte[]) plot_yhi#2 ← phi( init_plot_tables::@4/(byte[]) plot_yhi#12 init_plot_tables::@6/(byte[]) plot_yhi#13 ) - (byte[]) plot_ylo#2 ← phi( init_plot_tables::@4/(byte[]) plot_ylo#12 init_plot_tables::@6/(byte[]) plot_ylo#13 ) + (byte[]) plot_yhi#2 ← phi( init_plot_tables::@4/(byte[]) plot_yhi#7 init_plot_tables::@6/(byte[]) plot_yhi#8 ) + (byte[]) plot_ylo#2 ← phi( init_plot_tables::@4/(byte[]) plot_ylo#7 init_plot_tables::@6/(byte[]) plot_ylo#8 ) (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) 7 @@ -1879,8 +2830,8 @@ init_plot_tables::@3: scope:[init_plot_tables] from init_plot_tables::@4 init_p 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[]) plot_yhi#12 ← phi( init_plot_tables::@3/(byte[]) plot_yhi#2 init_plot_tables::@7/(byte[]) plot_yhi#20 ) - (byte[]) plot_ylo#12 ← phi( init_plot_tables::@3/(byte[]) plot_ylo#2 init_plot_tables::@7/(byte[]) plot_ylo#20 ) + (byte[]) plot_yhi#7 ← phi( init_plot_tables::@3/(byte[]) plot_yhi#2 init_plot_tables::@7/(byte[]) plot_yhi#18 ) + (byte[]) plot_ylo#7 ← phi( init_plot_tables::@3/(byte[]) plot_ylo#2 init_plot_tables::@7/(byte[]) plot_ylo#18 ) (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 @@ -1888,8 +2839,8 @@ init_plot_tables::@4: scope:[init_plot_tables] from init_plot_tables::@3 init_p if((boolean~) init_plot_tables::$14) goto init_plot_tables::@3 to:init_plot_tables::@return init_plot_tables::@7: scope:[init_plot_tables] from init_plot_tables::@3 - (byte[]) plot_yhi#20 ← phi( init_plot_tables::@3/(byte[]) plot_yhi#2 ) - (byte[]) plot_ylo#20 ← phi( init_plot_tables::@3/(byte[]) plot_ylo#2 ) + (byte[]) plot_yhi#18 ← phi( init_plot_tables::@3/(byte[]) plot_yhi#2 ) + (byte[]) plot_ylo#18 ← phi( init_plot_tables::@3/(byte[]) plot_ylo#2 ) (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 ) (byte*~) init_plot_tables::$13 ← (byte*) init_plot_tables::yoffs#3 + (word) 320 @@ -1929,16 +2880,16 @@ init_screen::@2: scope:[init_screen] from init_screen::@2 init_screen::@3 init_screen::@return: scope:[init_screen] from init_screen::@2 return to:@return -@7: scope:[] from @begin - (byte[]) plot_yhi#34 ← phi( @begin/(byte[]) plot_yhi#0 ) - (byte[]) plot_ylo#34 ← phi( @begin/(byte[]) plot_ylo#0 ) +@10: scope:[] from @begin + (byte[]) plot_yhi#47 ← phi( @begin/(byte[]) plot_yhi#0 ) + (byte[]) plot_ylo#47 ← phi( @begin/(byte[]) plot_ylo#0 ) (byte) lines_cnt#9 ← phi( @begin/(byte) lines_cnt#0 ) (byte[]) lines_y#9 ← phi( @begin/(byte[]) lines_y#0 ) (byte[]) lines_x#9 ← phi( @begin/(byte[]) lines_x#0 ) (byte*) SCREEN#6 ← phi( @begin/(byte*) SCREEN#0 ) - (byte[]) plot_bit#26 ← phi( @begin/(byte[]) plot_bit#0 ) - (byte[]) plot_xhi#26 ← phi( @begin/(byte[]) plot_xhi#0 ) - (byte[]) plot_xlo#26 ← phi( @begin/(byte[]) plot_xlo#0 ) + (byte[]) plot_bit#36 ← phi( @begin/(byte[]) plot_bit#0 ) + (byte[]) plot_xhi#36 ← phi( @begin/(byte[]) plot_xhi#0 ) + (byte[]) plot_xlo#36 ← phi( @begin/(byte[]) plot_xlo#0 ) (byte*) BITMAP#7 ← phi( @begin/(byte*) BITMAP#0 ) (byte*) D018#2 ← phi( @begin/(byte*) D018#0 ) (byte*) D011#2 ← phi( @begin/(byte*) D011#0 ) @@ -1948,10 +2899,10 @@ init_screen::@return: scope:[init_screen] from init_screen::@2 (byte*) FGCOL#2 ← phi( @begin/(byte*) FGCOL#0 ) (byte*) BGCOL#2 ← phi( @begin/(byte*) BGCOL#0 ) call main param-assignment - to:@8 -@8: scope:[] from @7 + to:@11 +@11: scope:[] from @10 to:@end -@end: scope:[] from @8 +@end: scope:[] from @11 CONTROL FLOW GRAPH WITH ASSIGNMENT CALL & RETURN @begin: scope:[] from @@ -1979,25 +2930,25 @@ CONTROL FLOW GRAPH WITH ASSIGNMENT CALL & RETURN (byte[]) lines_x#0 ← { (byte) 60, (byte) 80, (byte) 110, (byte) 80, (byte) 60, (byte) 40, (byte) 10, (byte) 40, (byte) 60 } (byte[]) lines_y#0 ← { (byte) 10, (byte) 40, (byte) 60, (byte) 80, (byte) 110, (byte) 80, (byte) 60, (byte) 40, (byte) 10 } (byte) lines_cnt#0 ← (byte) 8 - to:@7 -main: scope:[main] from @7 - (byte[]) plot_yhi#32 ← phi( @7/(byte[]) plot_yhi#34 ) - (byte[]) plot_ylo#32 ← phi( @7/(byte[]) plot_ylo#34 ) - (byte) lines_cnt#8 ← phi( @7/(byte) lines_cnt#9 ) - (byte[]) lines_y#8 ← phi( @7/(byte[]) lines_y#9 ) - (byte[]) lines_x#8 ← phi( @7/(byte[]) lines_x#9 ) - (byte*) SCREEN#5 ← phi( @7/(byte*) SCREEN#6 ) - (byte[]) plot_bit#21 ← phi( @7/(byte[]) plot_bit#26 ) - (byte[]) plot_xhi#21 ← phi( @7/(byte[]) plot_xhi#26 ) - (byte[]) plot_xlo#21 ← phi( @7/(byte[]) plot_xlo#26 ) - (byte*) BITMAP#6 ← phi( @7/(byte*) BITMAP#7 ) - (byte*) D018#1 ← phi( @7/(byte*) D018#2 ) - (byte*) D011#1 ← phi( @7/(byte*) D011#2 ) - (byte) RSEL#1 ← phi( @7/(byte) RSEL#2 ) - (byte) DEN#1 ← phi( @7/(byte) DEN#2 ) - (byte) BMM#1 ← phi( @7/(byte) BMM#2 ) - (byte*) FGCOL#1 ← phi( @7/(byte*) FGCOL#2 ) - (byte*) BGCOL#1 ← phi( @7/(byte*) BGCOL#2 ) + to:@10 +main: scope:[main] from @10 + (byte[]) plot_yhi#45 ← phi( @10/(byte[]) plot_yhi#47 ) + (byte[]) plot_ylo#45 ← phi( @10/(byte[]) plot_ylo#47 ) + (byte) lines_cnt#8 ← phi( @10/(byte) lines_cnt#9 ) + (byte[]) lines_y#8 ← phi( @10/(byte[]) lines_y#9 ) + (byte[]) lines_x#8 ← phi( @10/(byte[]) lines_x#9 ) + (byte*) SCREEN#5 ← phi( @10/(byte*) SCREEN#6 ) + (byte[]) plot_bit#19 ← phi( @10/(byte[]) plot_bit#36 ) + (byte[]) plot_xhi#19 ← phi( @10/(byte[]) plot_xhi#36 ) + (byte[]) plot_xlo#19 ← phi( @10/(byte[]) plot_xlo#36 ) + (byte*) BITMAP#6 ← phi( @10/(byte*) BITMAP#7 ) + (byte*) D018#1 ← phi( @10/(byte*) D018#2 ) + (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) 0 *((byte*) FGCOL#1) ← (byte) 0 (byte~) main::$0 ← (byte) BMM#1 | (byte) DEN#1 @@ -2008,44 +2959,44 @@ main: scope:[main] from @7 call init_screen param-assignment to:main::@3 main::@3: scope:[main] from main - (byte[]) plot_yhi#31 ← phi( main/(byte[]) plot_yhi#32 ) - (byte[]) plot_ylo#31 ← phi( main/(byte[]) plot_ylo#32 ) + (byte[]) plot_yhi#44 ← phi( main/(byte[]) plot_yhi#45 ) + (byte[]) plot_ylo#44 ← phi( main/(byte[]) plot_ylo#45 ) (byte) lines_cnt#7 ← phi( main/(byte) lines_cnt#8 ) (byte[]) lines_y#7 ← phi( main/(byte[]) lines_y#8 ) (byte[]) lines_x#7 ← phi( main/(byte[]) lines_x#8 ) - (byte[]) plot_bit#19 ← phi( main/(byte[]) plot_bit#21 ) - (byte[]) plot_xhi#19 ← phi( main/(byte[]) plot_xhi#21 ) + (byte[]) plot_bit#17 ← phi( main/(byte[]) plot_bit#19 ) + (byte[]) plot_xhi#17 ← phi( main/(byte[]) plot_xhi#19 ) (byte*) BITMAP#8 ← phi( main/(byte*) BITMAP#6 ) - (byte[]) plot_xlo#19 ← phi( main/(byte[]) plot_xlo#21 ) + (byte[]) plot_xlo#17 ← phi( main/(byte[]) plot_xlo#19 ) call init_plot_tables param-assignment to:main::@4 main::@4: scope:[main] from main::@3 - (byte[]) plot_bit#31 ← phi( main::@3/(byte[]) plot_bit#19 ) - (byte[]) plot_ylo#35 ← phi( main::@3/(byte[]) plot_ylo#31 ) - (byte[]) plot_yhi#35 ← phi( main::@3/(byte[]) plot_yhi#31 ) - (byte[]) plot_xlo#31 ← phi( main::@3/(byte[]) plot_xlo#19 ) - (byte[]) plot_xhi#31 ← phi( main::@3/(byte[]) plot_xhi#19 ) + (byte[]) plot_bit#48 ← phi( main::@3/(byte[]) plot_bit#17 ) + (byte[]) plot_ylo#52 ← phi( main::@3/(byte[]) plot_ylo#44 ) + (byte[]) plot_yhi#52 ← phi( main::@3/(byte[]) plot_yhi#44 ) + (byte[]) plot_xlo#48 ← phi( main::@3/(byte[]) plot_xlo#17 ) + (byte[]) plot_xhi#48 ← phi( main::@3/(byte[]) plot_xhi#17 ) (byte) lines_cnt#5 ← phi( main::@3/(byte) lines_cnt#7 ) (byte[]) lines_y#5 ← phi( main::@3/(byte[]) lines_y#7 ) (byte[]) lines_x#5 ← phi( main::@3/(byte[]) lines_x#7 ) to:main::@1 main::@1: scope:[main] from main::@4 main::@5 - (byte[]) plot_bit#30 ← phi( main::@4/(byte[]) plot_bit#31 main::@5/(byte[]) plot_bit#32 ) - (byte[]) plot_ylo#33 ← phi( main::@4/(byte[]) plot_ylo#35 main::@5/(byte[]) plot_ylo#36 ) - (byte[]) plot_yhi#33 ← phi( main::@4/(byte[]) plot_yhi#35 main::@5/(byte[]) plot_yhi#36 ) - (byte[]) plot_xlo#30 ← phi( main::@4/(byte[]) plot_xlo#31 main::@5/(byte[]) plot_xlo#32 ) - (byte[]) plot_xhi#30 ← phi( main::@4/(byte[]) plot_xhi#31 main::@5/(byte[]) plot_xhi#32 ) + (byte[]) plot_bit#47 ← phi( main::@4/(byte[]) plot_bit#48 main::@5/(byte[]) plot_bit#49 ) + (byte[]) plot_ylo#51 ← phi( main::@4/(byte[]) plot_ylo#52 main::@5/(byte[]) plot_ylo#53 ) + (byte[]) plot_yhi#51 ← phi( main::@4/(byte[]) plot_yhi#52 main::@5/(byte[]) plot_yhi#53 ) + (byte[]) plot_xlo#47 ← phi( main::@4/(byte[]) plot_xlo#48 main::@5/(byte[]) plot_xlo#49 ) + (byte[]) plot_xhi#47 ← phi( main::@4/(byte[]) plot_xhi#48 main::@5/(byte[]) plot_xhi#49 ) (byte) lines_cnt#4 ← phi( main::@4/(byte) lines_cnt#5 main::@5/(byte) lines_cnt#6 ) (byte[]) lines_y#4 ← phi( main::@4/(byte[]) lines_y#5 main::@5/(byte[]) lines_y#6 ) (byte[]) lines_x#4 ← phi( main::@4/(byte[]) lines_x#5 main::@5/(byte[]) lines_x#6 ) call lines param-assignment to:main::@5 main::@5: scope:[main] from main::@1 - (byte[]) plot_bit#32 ← phi( main::@1/(byte[]) plot_bit#30 ) - (byte[]) plot_ylo#36 ← phi( main::@1/(byte[]) plot_ylo#33 ) - (byte[]) plot_yhi#36 ← phi( main::@1/(byte[]) plot_yhi#33 ) - (byte[]) plot_xlo#32 ← phi( main::@1/(byte[]) plot_xlo#30 ) - (byte[]) plot_xhi#32 ← phi( main::@1/(byte[]) plot_xhi#30 ) + (byte[]) plot_bit#49 ← phi( main::@1/(byte[]) plot_bit#47 ) + (byte[]) plot_ylo#53 ← phi( main::@1/(byte[]) plot_ylo#51 ) + (byte[]) plot_yhi#53 ← phi( main::@1/(byte[]) plot_yhi#51 ) + (byte[]) plot_xlo#49 ← phi( main::@1/(byte[]) plot_xlo#47 ) + (byte[]) plot_xhi#49 ← phi( main::@1/(byte[]) plot_xhi#47 ) (byte) lines_cnt#6 ← phi( main::@1/(byte) lines_cnt#4 ) (byte[]) lines_y#6 ← phi( main::@1/(byte[]) lines_y#4 ) (byte[]) lines_x#6 ← phi( main::@1/(byte[]) lines_x#4 ) @@ -2055,22 +3006,22 @@ main::@return: scope:[main] from main::@5 return to:@return lines: scope:[lines] from main::@1 - (byte[]) plot_bit#28 ← phi( main::@1/(byte[]) plot_bit#30 ) - (byte[]) plot_ylo#29 ← phi( main::@1/(byte[]) plot_ylo#33 ) - (byte[]) plot_yhi#29 ← phi( main::@1/(byte[]) plot_yhi#33 ) - (byte[]) plot_xlo#28 ← phi( main::@1/(byte[]) plot_xlo#30 ) - (byte[]) plot_xhi#28 ← phi( main::@1/(byte[]) plot_xhi#30 ) + (byte[]) plot_bit#45 ← phi( main::@1/(byte[]) plot_bit#47 ) + (byte[]) plot_ylo#49 ← phi( main::@1/(byte[]) plot_ylo#51 ) + (byte[]) plot_yhi#49 ← phi( main::@1/(byte[]) plot_yhi#51 ) + (byte[]) plot_xlo#45 ← phi( main::@1/(byte[]) plot_xlo#47 ) + (byte[]) plot_xhi#45 ← phi( main::@1/(byte[]) plot_xhi#47 ) (byte) lines_cnt#3 ← phi( main::@1/(byte) lines_cnt#4 ) (byte[]) lines_y#2 ← phi( main::@1/(byte[]) lines_y#4 ) (byte[]) lines_x#2 ← phi( main::@1/(byte[]) lines_x#4 ) (byte) lines::l#0 ← (byte) 0 to:lines::@1 lines::@1: scope:[lines] from lines lines::@3 - (byte[]) plot_bit#27 ← phi( lines/(byte[]) plot_bit#28 lines::@3/(byte[]) plot_bit#29 ) - (byte[]) plot_ylo#27 ← phi( lines/(byte[]) plot_ylo#29 lines::@3/(byte[]) plot_ylo#30 ) - (byte[]) plot_yhi#27 ← phi( lines/(byte[]) plot_yhi#29 lines::@3/(byte[]) plot_yhi#30 ) - (byte[]) plot_xlo#27 ← phi( lines/(byte[]) plot_xlo#28 lines::@3/(byte[]) plot_xlo#29 ) - (byte[]) plot_xhi#27 ← phi( lines/(byte[]) plot_xhi#28 lines::@3/(byte[]) plot_xhi#29 ) + (byte[]) plot_bit#44 ← phi( lines/(byte[]) plot_bit#45 lines::@3/(byte[]) plot_bit#46 ) + (byte[]) plot_ylo#48 ← phi( lines/(byte[]) plot_ylo#49 lines::@3/(byte[]) plot_ylo#50 ) + (byte[]) plot_yhi#48 ← phi( lines/(byte[]) plot_yhi#49 lines::@3/(byte[]) plot_yhi#50 ) + (byte[]) plot_xlo#44 ← phi( lines/(byte[]) plot_xlo#45 lines::@3/(byte[]) plot_xlo#46 ) + (byte[]) plot_xhi#44 ← phi( lines/(byte[]) plot_xhi#45 lines::@3/(byte[]) plot_xhi#46 ) (byte) lines_cnt#2 ← phi( lines/(byte) lines_cnt#3 lines::@3/(byte) lines_cnt#1 ) (byte[]) lines_y#1 ← phi( lines/(byte[]) lines_y#2 lines::@3/(byte[]) lines_y#3 ) (byte) lines::l#2 ← phi( lines/(byte) lines::l#0 lines::@3/(byte) lines::l#1 ) @@ -2088,11 +3039,11 @@ lines::@1: scope:[lines] from lines lines::@3 call line param-assignment to:lines::@3 lines::@3: scope:[lines] from lines::@1 - (byte[]) plot_bit#29 ← phi( lines::@1/(byte[]) plot_bit#27 ) - (byte[]) plot_ylo#30 ← phi( lines::@1/(byte[]) plot_ylo#27 ) - (byte[]) plot_yhi#30 ← phi( lines::@1/(byte[]) plot_yhi#27 ) - (byte[]) plot_xlo#29 ← phi( lines::@1/(byte[]) plot_xlo#27 ) - (byte[]) plot_xhi#29 ← phi( lines::@1/(byte[]) plot_xhi#27 ) + (byte[]) plot_bit#46 ← phi( lines::@1/(byte[]) plot_bit#44 ) + (byte[]) plot_ylo#50 ← phi( lines::@1/(byte[]) plot_ylo#48 ) + (byte[]) plot_yhi#50 ← phi( lines::@1/(byte[]) plot_yhi#48 ) + (byte[]) plot_xlo#46 ← phi( lines::@1/(byte[]) plot_xlo#44 ) + (byte[]) plot_xhi#46 ← phi( lines::@1/(byte[]) plot_xhi#44 ) (byte[]) lines_y#3 ← phi( lines::@1/(byte[]) lines_y#1 ) (byte[]) lines_x#3 ← phi( lines::@1/(byte[]) lines_x#1 ) (byte) lines_cnt#1 ← phi( lines::@1/(byte) lines_cnt#2 ) @@ -2105,43 +3056,43 @@ lines::@return: scope:[lines] from lines::@3 return to:@return line: scope:[line] from lines::@1 - (byte[]) plot_bit#22 ← phi( lines::@1/(byte[]) plot_bit#27 ) - (byte[]) plot_ylo#21 ← phi( lines::@1/(byte[]) plot_ylo#27 ) - (byte[]) plot_yhi#21 ← phi( lines::@1/(byte[]) plot_yhi#27 ) - (byte[]) plot_xlo#22 ← phi( lines::@1/(byte[]) plot_xlo#27 ) - (byte[]) plot_xhi#22 ← phi( lines::@1/(byte[]) plot_xhi#27 ) - (byte) line::y1#8 ← phi( lines::@1/(byte) line::y1#0 ) - (byte) line::y0#9 ← phi( lines::@1/(byte) line::y0#0 ) + (byte[]) plot_bit#43 ← phi( lines::@1/(byte[]) plot_bit#44 ) + (byte[]) plot_ylo#46 ← phi( lines::@1/(byte[]) plot_ylo#48 ) + (byte[]) plot_yhi#46 ← phi( lines::@1/(byte[]) plot_yhi#48 ) + (byte[]) plot_xlo#43 ← phi( lines::@1/(byte[]) plot_xlo#44 ) + (byte[]) plot_xhi#43 ← phi( lines::@1/(byte[]) plot_xhi#44 ) + (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::@9 -line::@1: scope:[line] from line - (byte[]) plot_bit#16 ← phi( line/(byte[]) plot_bit#22 ) - (byte[]) plot_ylo#16 ← phi( line/(byte[]) plot_ylo#21 ) - (byte[]) plot_yhi#16 ← phi( line/(byte[]) plot_yhi#21 ) - (byte[]) plot_xlo#16 ← phi( line/(byte[]) plot_xlo#22 ) - (byte[]) plot_xhi#16 ← phi( line/(byte[]) plot_xhi#22 ) - (byte) line::y1#1 ← phi( line/(byte) line::y1#8 ) - (byte) line::y0#1 ← phi( line/(byte) line::y0#9 ) - (byte) line::x0#2 ← phi( line/(byte) line::x0#1 ) - (byte) line::x1#2 ← phi( line/(byte) line::x1#1 ) - (byte~) line::$13 ← (byte) line::x1#2 - (byte) line::x0#2 - (byte) line::xd#0 ← (byte~) line::$13 - (boolean~) line::$14 ← (byte) line::y0#1 < (byte) line::y1#1 - (boolean~) line::$15 ← ! (boolean~) line::$14 - if((boolean~) line::$15) goto line::@7 to:line::@15 -line::@9: scope:[line] from line - (byte[]) plot_bit#14 ← phi( line/(byte[]) plot_bit#22 ) - (byte[]) plot_ylo#14 ← phi( line/(byte[]) plot_ylo#21 ) - (byte[]) plot_yhi#14 ← phi( line/(byte[]) plot_yhi#21 ) - (byte[]) plot_xlo#14 ← phi( line/(byte[]) plot_xlo#22 ) - (byte[]) plot_xhi#14 ← phi( line/(byte[]) plot_xhi#22 ) - (byte) line::y1#2 ← phi( line/(byte) line::y1#8 ) - (byte) line::y0#2 ← phi( line/(byte) line::y0#9 ) +line::@1: scope:[line] from line + (byte[]) plot_bit#42 ← phi( line/(byte[]) plot_bit#43 ) + (byte[]) plot_ylo#43 ← phi( line/(byte[]) plot_ylo#46 ) + (byte[]) plot_yhi#43 ← phi( line/(byte[]) plot_yhi#46 ) + (byte[]) plot_xlo#42 ← phi( line/(byte[]) plot_xlo#43 ) + (byte[]) plot_xhi#42 ← phi( line/(byte[]) plot_xhi#43 ) + (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~) line::$15 ← (byte) line::x0#2 - (byte) line::x1#2 + (byte) line::xd#0 ← (byte~) 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[]) plot_bit#41 ← phi( line/(byte[]) plot_bit#43 ) + (byte[]) plot_ylo#42 ← phi( line/(byte[]) plot_ylo#46 ) + (byte[]) plot_yhi#42 ← phi( line/(byte[]) plot_yhi#46 ) + (byte[]) plot_xlo#41 ← phi( line/(byte[]) plot_xlo#43 ) + (byte[]) plot_xhi#41 ← phi( line/(byte[]) plot_xhi#43 ) + (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~) line::$2 ← (byte) line::x1#3 - (byte) line::x0#3 @@ -2149,267 +3100,604 @@ line::@9: scope:[line] from line (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::@10 -line::@2: scope:[line] from line::@9 - (byte[]) plot_bit#6 ← phi( line::@9/(byte[]) plot_bit#14 ) - (byte[]) plot_ylo#6 ← phi( line::@9/(byte[]) plot_ylo#14 ) - (byte[]) plot_yhi#6 ← phi( line::@9/(byte[]) plot_yhi#14 ) - (byte[]) plot_xlo#6 ← phi( line::@9/(byte[]) plot_xlo#14 ) - (byte[]) plot_xhi#6 ← phi( line::@9/(byte[]) plot_xhi#14 ) - (byte) line::y1#9 ← phi( line::@9/(byte) line::y1#2 ) - (byte) line::x1#9 ← phi( line::@9/(byte) line::x1#3 ) - (byte) line::y0#3 ← phi( line::@9/(byte) line::y0#2 ) - (byte) line::x0#4 ← phi( line::@9/(byte) line::x0#3 ) - (byte) plot::x#0 ← (byte) line::x0#4 - (byte) plot::y#0 ← (byte) line::y0#3 - call plot param-assignment - to:line::@17 -line::@17: scope:[line] from line::@2 - (byte[]) plot_bit#4 ← phi( line::@2/(byte[]) plot_bit#6 ) - (byte[]) plot_ylo#4 ← phi( line::@2/(byte[]) plot_ylo#6 ) - (byte[]) plot_yhi#4 ← phi( line::@2/(byte[]) plot_yhi#6 ) - (byte[]) plot_xlo#4 ← phi( line::@2/(byte[]) plot_xlo#6 ) - (byte[]) plot_xhi#4 ← phi( line::@2/(byte[]) plot_xhi#6 ) - (byte) line::y1#3 ← phi( line::@2/(byte) line::y1#9 ) - (byte) line::x1#4 ← phi( line::@2/(byte) line::x1#9 ) - (byte) plot::x#1 ← (byte) line::x1#4 - (byte) plot::y#1 ← (byte) line::y1#3 - call plot param-assignment - to:line::@18 -line::@18: scope:[line] from line::@17 - to:line::@return -line::@10: scope:[line] from line::@9 - (byte[]) plot_bit#15 ← phi( line::@9/(byte[]) plot_bit#14 ) - (byte[]) plot_ylo#15 ← phi( line::@9/(byte[]) plot_ylo#14 ) - (byte[]) plot_yhi#15 ← phi( line::@9/(byte[]) plot_yhi#14 ) - (byte[]) plot_xlo#15 ← phi( line::@9/(byte[]) plot_xlo#14 ) - (byte[]) plot_xhi#15 ← phi( line::@9/(byte[]) plot_xhi#14 ) - (byte) line::x1#11 ← phi( line::@9/(byte) line::x1#3 ) - (byte) line::x0#9 ← phi( line::@9/(byte) line::x0#3 ) - (byte) line::xd#2 ← phi( line::@9/(byte) line::xd#1 ) - (byte) line::y0#4 ← phi( line::@9/(byte) line::y0#2 ) - (byte) line::y1#4 ← phi( line::@9/(byte) line::y1#2 ) + to:line::@16 +line::@2: scope:[line] from line::@15 + (byte[]) plot_bit#38 ← phi( line::@15/(byte[]) plot_bit#41 ) + (byte[]) plot_ylo#38 ← phi( line::@15/(byte[]) plot_ylo#42 ) + (byte[]) plot_yhi#38 ← phi( line::@15/(byte[]) plot_yhi#42 ) + (byte[]) plot_xlo#38 ← phi( line::@15/(byte[]) plot_xlo#41 ) + (byte[]) plot_xhi#38 ← phi( line::@15/(byte[]) plot_xhi#41 ) + (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~) line::$10 ← (byte) line::y0#3 - (byte) line::y1#3 + (byte) line::yd#0 ← (byte~) 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[]) plot_bit#37 ← phi( line::@15/(byte[]) plot_bit#41 ) + (byte[]) plot_ylo#37 ← phi( line::@15/(byte[]) plot_ylo#42 ) + (byte[]) plot_yhi#37 ← phi( line::@15/(byte[]) plot_yhi#42 ) + (byte[]) plot_xlo#37 ← phi( line::@15/(byte[]) plot_xlo#41 ) + (byte[]) plot_xhi#37 ← phi( line::@15/(byte[]) plot_xhi#41 ) + (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~) line::$5 ← (byte) line::y1#4 - (byte) line::y0#4 - (byte) line::yd#0 ← (byte~) line::$5 - (boolean~) line::$6 ← (byte) line::yd#0 < (byte) line::xd#2 + (byte) line::yd#1 ← (byte~) 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::@11 -line::@3: scope:[line] from line::@10 - (byte[]) plot_bit#9 ← phi( line::@10/(byte[]) plot_bit#15 ) - (byte[]) plot_ylo#9 ← phi( line::@10/(byte[]) plot_ylo#15 ) - (byte[]) plot_yhi#9 ← phi( line::@10/(byte[]) plot_yhi#15 ) - (byte[]) plot_xlo#9 ← phi( line::@10/(byte[]) plot_xlo#15 ) - (byte[]) plot_xhi#9 ← phi( line::@10/(byte[]) plot_xhi#15 ) - (byte) line::y1#10 ← phi( line::@10/(byte) line::y1#4 ) - (byte) line::x1#10 ← phi( line::@10/(byte) line::x1#11 ) - (byte) line::y0#5 ← phi( line::@10/(byte) line::y0#4 ) - (byte) line::x0#5 ← phi( line::@10/(byte) line::x0#9 ) - (byte) plot::x#2 ← (byte) line::x0#5 - (byte) plot::y#2 ← (byte) line::y0#5 - call plot param-assignment - to:line::@19 -line::@19: scope:[line] from line::@3 - (byte[]) plot_bit#5 ← phi( line::@3/(byte[]) plot_bit#9 ) - (byte[]) plot_ylo#5 ← phi( line::@3/(byte[]) plot_ylo#9 ) - (byte[]) plot_yhi#5 ← phi( line::@3/(byte[]) plot_yhi#9 ) - (byte[]) plot_xlo#5 ← phi( line::@3/(byte[]) plot_xlo#9 ) - (byte[]) plot_xhi#5 ← phi( line::@3/(byte[]) plot_xhi#9 ) - (byte) line::y1#5 ← phi( line::@3/(byte) line::y1#10 ) - (byte) line::x1#5 ← phi( line::@3/(byte) line::x1#10 ) - (byte) plot::x#3 ← (byte) line::x1#5 - (byte) plot::y#3 ← (byte) line::y1#5 - call plot param-assignment - to:line::@20 -line::@20: scope:[line] from line::@19 + to:line::@17 +line::@3: scope:[line] from line::@16 + (byte[]) plot_bit#29 ← phi( line::@16/(byte[]) plot_bit#37 ) + (byte[]) plot_ylo#28 ← phi( line::@16/(byte[]) plot_ylo#37 ) + (byte[]) plot_yhi#28 ← phi( line::@16/(byte[]) plot_yhi#37 ) + (byte[]) plot_xlo#29 ← phi( line::@16/(byte[]) plot_xlo#37 ) + (byte[]) plot_xhi#29 ← phi( line::@16/(byte[]) plot_xhi#37 ) + (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::@11: scope:[line] from line::@10 - (byte[]) plot_bit#23 ← phi( line::@10/(byte[]) plot_bit#15 ) - (byte[]) plot_ylo#22 ← phi( line::@10/(byte[]) plot_ylo#15 ) - (byte[]) plot_yhi#22 ← phi( line::@10/(byte[]) plot_yhi#15 ) - (byte[]) plot_xlo#23 ← phi( line::@10/(byte[]) plot_xlo#15 ) - (byte[]) plot_xhi#23 ← phi( line::@10/(byte[]) plot_xhi#15 ) - (byte) line::yd#1 ← phi( line::@10/(byte) line::yd#0 ) - (byte) line::xd#3 ← phi( line::@10/(byte) line::xd#2 ) - (byte) line::x1#6 ← phi( line::@10/(byte) line::x1#11 ) - (byte) line::y0#6 ← phi( line::@10/(byte) line::y0#4 ) - (byte) line::x0#6 ← phi( line::@10/(byte) line::x0#9 ) - (byte) line_xdyi::x#0 ← (byte) line::x0#6 +line::@17: scope:[line] from line::@16 + (byte[]) plot_bit#20 ← phi( line::@16/(byte[]) plot_bit#37 ) + (byte[]) plot_ylo#19 ← phi( line::@16/(byte[]) plot_ylo#37 ) + (byte[]) plot_yhi#19 ← phi( line::@16/(byte[]) plot_yhi#37 ) + (byte[]) plot_xlo#20 ← phi( line::@16/(byte[]) plot_xlo#37 ) + (byte[]) plot_xhi#20 ← phi( line::@16/(byte[]) plot_xhi#37 ) + (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#6 - (byte) line_xdyi::xd#0 ← (byte) line::xd#3 - (byte) line_xdyi::yd#0 ← (byte) line::yd#1 + (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::@21 -line::@21: scope:[line] from line::@11 + to:line::@30 +line::@30: scope:[line] from line::@17 to:line::@return -line::@7: scope:[line] from line::@1 - (byte[]) plot_bit#10 ← phi( line::@1/(byte[]) plot_bit#16 ) - (byte[]) plot_ylo#10 ← phi( line::@1/(byte[]) plot_ylo#16 ) - (byte[]) plot_yhi#10 ← phi( line::@1/(byte[]) plot_yhi#16 ) - (byte[]) plot_xlo#10 ← phi( line::@1/(byte[]) plot_xlo#16 ) - (byte[]) plot_xhi#10 ← phi( line::@1/(byte[]) plot_xhi#16 ) - (byte) line::y1#11 ← phi( line::@1/(byte) line::y1#1 ) - (byte) line::x1#12 ← phi( line::@1/(byte) line::x1#2 ) - (byte) line::y0#7 ← phi( line::@1/(byte) line::y0#1 ) - (byte) line::x0#7 ← phi( line::@1/(byte) line::x0#2 ) - (byte) plot::x#4 ← (byte) line::x0#7 - (byte) plot::y#4 ← (byte) line::y0#7 - call plot param-assignment - to:line::@22 -line::@22: scope:[line] from line::@7 - (byte[]) plot_bit#7 ← phi( line::@7/(byte[]) plot_bit#10 ) - (byte[]) plot_ylo#7 ← phi( line::@7/(byte[]) plot_ylo#10 ) - (byte[]) plot_yhi#7 ← phi( line::@7/(byte[]) plot_yhi#10 ) - (byte[]) plot_xlo#7 ← phi( line::@7/(byte[]) plot_xlo#10 ) - (byte[]) plot_xhi#7 ← phi( line::@7/(byte[]) plot_xhi#10 ) - (byte) line::y1#6 ← phi( line::@7/(byte) line::y1#11 ) - (byte) line::x1#7 ← phi( line::@7/(byte) line::x1#12 ) - (byte) plot::x#5 ← (byte) line::x1#7 - (byte) plot::y#5 ← (byte) line::y1#6 - call plot param-assignment - to:line::@23 -line::@23: scope:[line] from line::@22 +line::@6: scope:[line] from line::@2 + (byte[]) plot_bit#33 ← phi( line::@2/(byte[]) plot_bit#38 ) + (byte[]) plot_ylo#32 ← phi( line::@2/(byte[]) plot_ylo#38 ) + (byte[]) plot_yhi#32 ← phi( line::@2/(byte[]) plot_yhi#38 ) + (byte[]) plot_xlo#33 ← phi( line::@2/(byte[]) plot_xlo#38 ) + (byte[]) plot_xhi#33 ← phi( line::@2/(byte[]) plot_xhi#38 ) + (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::@15: scope:[line] from line::@1 - (byte[]) plot_bit#3 ← phi( line::@1/(byte[]) plot_bit#16 ) - (byte[]) plot_ylo#3 ← phi( line::@1/(byte[]) plot_ylo#16 ) - (byte[]) plot_yhi#3 ← phi( line::@1/(byte[]) plot_yhi#16 ) - (byte[]) plot_xlo#3 ← phi( line::@1/(byte[]) plot_xlo#16 ) - (byte[]) plot_xhi#3 ← phi( line::@1/(byte[]) plot_xhi#16 ) - (byte) line::y1#12 ← phi( line::@1/(byte) line::y1#1 ) +line::@20: scope:[line] from line::@2 + (byte[]) plot_bit#24 ← phi( line::@2/(byte[]) plot_bit#38 ) + (byte[]) plot_ylo#23 ← phi( line::@2/(byte[]) plot_ylo#38 ) + (byte[]) plot_yhi#23 ← phi( line::@2/(byte[]) plot_yhi#38 ) + (byte[]) plot_xlo#24 ← phi( line::@2/(byte[]) plot_xlo#38 ) + (byte[]) plot_xhi#24 ← phi( line::@2/(byte[]) plot_xhi#38 ) + (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[]) plot_bit#40 ← phi( line::@1/(byte[]) plot_bit#42 ) + (byte[]) plot_ylo#40 ← phi( line::@1/(byte[]) plot_ylo#43 ) + (byte[]) plot_yhi#40 ← phi( line::@1/(byte[]) plot_yhi#43 ) + (byte[]) plot_xlo#40 ← phi( line::@1/(byte[]) plot_xlo#42 ) + (byte[]) plot_xhi#40 ← phi( line::@1/(byte[]) plot_xhi#42 ) + (byte) line::x0#13 ← phi( line::@1/(byte) line::x0#2 ) (byte) line::x1#13 ← phi( line::@1/(byte) line::x1#2 ) - (byte) line::y0#8 ← phi( line::@1/(byte) line::y0#1 ) - (byte) line::x0#8 ← phi( line::@1/(byte) line::x0#2 ) - (byte) plot::x#6 ← (byte) line::x0#8 - (byte) plot::y#6 ← (byte) line::y0#8 - call plot param-assignment + (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~) line::$23 ← (byte) line::y0#9 - (byte) line::y1#7 + (byte) line::yd#2 ← (byte~) 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[]) plot_bit#39 ← phi( line::@1/(byte[]) plot_bit#42 ) + (byte[]) plot_ylo#39 ← phi( line::@1/(byte[]) plot_ylo#43 ) + (byte[]) plot_yhi#39 ← phi( line::@1/(byte[]) plot_yhi#43 ) + (byte[]) plot_xlo#39 ← phi( line::@1/(byte[]) plot_xlo#42 ) + (byte[]) plot_xhi#39 ← phi( line::@1/(byte[]) plot_xhi#42 ) + (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~) line::$18 ← (byte) line::y1#8 - (byte) line::y0#10 + (byte) line::yd#3 ← (byte~) 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::@24: scope:[line] from line::@15 - (byte[]) plot_bit#8 ← phi( line::@15/(byte[]) plot_bit#3 ) - (byte[]) plot_ylo#8 ← phi( line::@15/(byte[]) plot_ylo#3 ) - (byte[]) plot_yhi#8 ← phi( line::@15/(byte[]) plot_yhi#3 ) - (byte[]) plot_xlo#8 ← phi( line::@15/(byte[]) plot_xlo#3 ) - (byte[]) plot_xhi#8 ← phi( line::@15/(byte[]) plot_xhi#3 ) - (byte) line::y1#7 ← phi( line::@15/(byte) line::y1#12 ) - (byte) line::x1#8 ← phi( line::@15/(byte) line::x1#13 ) - (byte) plot::x#7 ← (byte) line::x1#8 - (byte) plot::y#7 ← (byte) line::y1#7 - call plot param-assignment - to:line::@25 -line::@25: scope:[line] from line::@24 +line::@10: scope:[line] from line::@23 + (byte[]) plot_bit#32 ← phi( line::@23/(byte[]) plot_bit#39 ) + (byte[]) plot_ylo#31 ← phi( line::@23/(byte[]) plot_ylo#39 ) + (byte[]) plot_yhi#31 ← phi( line::@23/(byte[]) plot_yhi#39 ) + (byte[]) plot_xlo#32 ← phi( line::@23/(byte[]) plot_xlo#39 ) + (byte[]) plot_xhi#32 ← phi( line::@23/(byte[]) plot_xhi#39 ) + (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::@return: scope:[line] from line::@18 line::@20 line::@21 line::@23 line::@25 +line::@24: scope:[line] from line::@23 + (byte[]) plot_bit#25 ← phi( line::@23/(byte[]) plot_bit#39 ) + (byte[]) plot_ylo#24 ← phi( line::@23/(byte[]) plot_ylo#39 ) + (byte[]) plot_yhi#24 ← phi( line::@23/(byte[]) plot_yhi#39 ) + (byte[]) plot_xlo#25 ← phi( line::@23/(byte[]) plot_xlo#39 ) + (byte[]) plot_xhi#25 ← phi( line::@23/(byte[]) plot_xhi#39 ) + (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[]) plot_bit#28 ← phi( line::@9/(byte[]) plot_bit#40 ) + (byte[]) plot_ylo#27 ← phi( line::@9/(byte[]) plot_ylo#40 ) + (byte[]) plot_yhi#27 ← phi( line::@9/(byte[]) plot_yhi#40 ) + (byte[]) plot_xlo#28 ← phi( line::@9/(byte[]) plot_xlo#40 ) + (byte[]) plot_xhi#28 ← phi( line::@9/(byte[]) plot_xhi#40 ) + (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[]) plot_bit#21 ← phi( line::@9/(byte[]) plot_bit#40 ) + (byte[]) plot_ylo#20 ← phi( line::@9/(byte[]) plot_ylo#40 ) + (byte[]) plot_yhi#20 ← phi( line::@9/(byte[]) plot_yhi#40 ) + (byte[]) plot_xlo#21 ← phi( line::@9/(byte[]) plot_xlo#40 ) + (byte[]) plot_xhi#21 ← phi( line::@9/(byte[]) plot_xhi#40 ) + (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::@11 - (byte) line_xdyi::x1#5 ← phi( line::@11/(byte) line_xdyi::x1#0 ) - (byte[]) plot_bit#17 ← phi( line::@11/(byte[]) plot_bit#23 ) - (byte[]) plot_ylo#17 ← phi( line::@11/(byte[]) plot_ylo#22 ) - (byte[]) plot_yhi#17 ← phi( line::@11/(byte[]) plot_yhi#22 ) - (byte[]) plot_xlo#17 ← phi( line::@11/(byte[]) plot_xlo#23 ) - (byte[]) plot_xhi#17 ← phi( line::@11/(byte[]) plot_xhi#23 ) - (byte) line_xdyi::xd#4 ← phi( line::@11/(byte) line_xdyi::xd#0 ) - (byte) line_xdyi::y#4 ← phi( line::@11/(byte) line_xdyi::y#0 ) - (byte) line_xdyi::x#5 ← phi( line::@11/(byte) line_xdyi::x#0 ) - (byte) line_xdyi::yd#1 ← phi( line::@11/(byte) line_xdyi::yd#0 ) - (byte~) line_xdyi::$0 ← (byte) line_xdyi::yd#1 >> (byte) 1 +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[]) plot_bit#9 ← phi( line::@17/(byte[]) plot_bit#20 line::@27/(byte[]) plot_bit#21 ) + (byte[]) plot_ylo#9 ← phi( line::@17/(byte[]) plot_ylo#19 line::@27/(byte[]) plot_ylo#20 ) + (byte[]) plot_yhi#9 ← phi( line::@17/(byte[]) plot_yhi#19 line::@27/(byte[]) plot_yhi#20 ) + (byte[]) plot_xlo#9 ← phi( line::@17/(byte[]) plot_xlo#20 line::@27/(byte[]) plot_xlo#21 ) + (byte[]) plot_xhi#9 ← phi( line::@17/(byte[]) plot_xhi#20 line::@27/(byte[]) plot_xhi#21 ) + (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) 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#4 ← phi( line_xdyi/(byte) line_xdyi::x1#5 line_xdyi::@2/(byte) line_xdyi::x1#1 ) - (byte[]) plot_bit#11 ← phi( line_xdyi/(byte[]) plot_bit#17 line_xdyi::@2/(byte[]) plot_bit#18 ) - (byte[]) plot_ylo#11 ← phi( line_xdyi/(byte[]) plot_ylo#17 line_xdyi::@2/(byte[]) plot_ylo#18 ) - (byte[]) plot_yhi#11 ← phi( line_xdyi/(byte[]) plot_yhi#17 line_xdyi::@2/(byte[]) plot_yhi#18 ) - (byte[]) plot_xlo#11 ← phi( line_xdyi/(byte[]) plot_xlo#17 line_xdyi::@2/(byte[]) plot_xlo#18 ) - (byte[]) plot_xhi#11 ← phi( line_xdyi/(byte[]) plot_xhi#17 line_xdyi::@2/(byte[]) plot_xhi#18 ) - (byte) line_xdyi::xd#3 ← phi( line_xdyi/(byte) line_xdyi::xd#4 line_xdyi::@2/(byte) line_xdyi::xd#5 ) - (byte) line_xdyi::yd#3 ← phi( line_xdyi/(byte) line_xdyi::yd#1 line_xdyi::@2/(byte) line_xdyi::yd#4 ) + (byte) line_xdyi::x1#5 ← phi( line_xdyi/(byte) line_xdyi::x1#6 line_xdyi::@2/(byte) line_xdyi::x1#2 ) + (byte[]) plot_bit#4 ← phi( line_xdyi/(byte[]) plot_bit#9 line_xdyi::@2/(byte[]) plot_bit#10 ) + (byte[]) plot_ylo#4 ← phi( line_xdyi/(byte[]) plot_ylo#9 line_xdyi::@2/(byte[]) plot_ylo#10 ) + (byte[]) plot_yhi#4 ← phi( line_xdyi/(byte[]) plot_yhi#9 line_xdyi::@2/(byte[]) plot_yhi#10 ) + (byte[]) plot_xlo#4 ← phi( line_xdyi/(byte[]) plot_xlo#9 line_xdyi::@2/(byte[]) plot_xlo#10 ) + (byte[]) plot_xhi#4 ← phi( line_xdyi/(byte[]) plot_xhi#9 line_xdyi::@2/(byte[]) plot_xhi#10 ) + (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#2 ← phi( line_xdyi/(byte) line_xdyi::y#4 line_xdyi::@2/(byte) line_xdyi::y#5 ) - (byte) line_xdyi::x#2 ← phi( line_xdyi/(byte) line_xdyi::x#5 line_xdyi::@2/(byte) line_xdyi::x#4 ) - (byte) plot::x#8 ← (byte) line_xdyi::x#2 - (byte) plot::y#8 ← (byte) line_xdyi::y#2 + (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[]) plot_bit#25 ← phi( line_xdyi::@1/(byte[]) plot_bit#11 ) - (byte[]) plot_ylo#24 ← phi( line_xdyi::@1/(byte[]) plot_ylo#11 ) - (byte[]) plot_yhi#24 ← phi( line_xdyi::@1/(byte[]) plot_yhi#11 ) - (byte[]) plot_xlo#25 ← phi( line_xdyi::@1/(byte[]) plot_xlo#11 ) - (byte[]) plot_xhi#25 ← phi( line_xdyi::@1/(byte[]) plot_xhi#11 ) - (byte) line_xdyi::y#6 ← phi( line_xdyi::@1/(byte) line_xdyi::y#2 ) - (byte) line_xdyi::x1#3 ← phi( line_xdyi::@1/(byte) line_xdyi::x1#4 ) - (byte) line_xdyi::xd#1 ← phi( line_xdyi::@1/(byte) line_xdyi::xd#3 ) - (byte) line_xdyi::yd#2 ← phi( line_xdyi::@1/(byte) line_xdyi::yd#3 ) + (byte[]) plot_bit#23 ← phi( line_xdyi::@1/(byte[]) plot_bit#4 ) + (byte[]) plot_ylo#22 ← phi( line_xdyi::@1/(byte[]) plot_ylo#4 ) + (byte[]) plot_yhi#22 ← phi( line_xdyi::@1/(byte[]) plot_yhi#4 ) + (byte[]) plot_xlo#23 ← phi( line_xdyi::@1/(byte[]) plot_xlo#4 ) + (byte[]) plot_xhi#23 ← phi( line_xdyi::@1/(byte[]) plot_xhi#4 ) + (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#3 ← phi( line_xdyi::@1/(byte) line_xdyi::x#2 ) - (byte~) line_xdyi::$2 ← (byte) line_xdyi::x#3 + (byte) 1 - (byte) line_xdyi::x#1 ← (byte~) line_xdyi::$2 - (byte~) line_xdyi::$3 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#2 + (byte) line_xdyi::x#4 ← phi( line_xdyi::@1/(byte) line_xdyi::x#3 ) + (byte~) line_xdyi::$2 ← (byte) line_xdyi::x#4 + (byte) 1 + (byte) line_xdyi::x#2 ← (byte~) line_xdyi::$2 + (byte~) line_xdyi::$3 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#3 (byte) line_xdyi::e#1 ← (byte~) line_xdyi::$3 - (boolean~) line_xdyi::$4 ← (byte) line_xdyi::xd#1 < (byte) line_xdyi::e#1 + (boolean~) line_xdyi::$4 ← (byte) line_xdyi::xd#2 < (byte) line_xdyi::e#1 (boolean~) line_xdyi::$5 ← ! (boolean~) line_xdyi::$4 if((boolean~) line_xdyi::$5) goto line_xdyi::@2 to:line_xdyi::@3 line_xdyi::@2: scope:[line_xdyi] from line_xdyi::@3 line_xdyi::@5 - (byte[]) plot_bit#18 ← phi( line_xdyi::@3/(byte[]) plot_bit#24 line_xdyi::@5/(byte[]) plot_bit#25 ) - (byte[]) plot_ylo#18 ← phi( line_xdyi::@3/(byte[]) plot_ylo#23 line_xdyi::@5/(byte[]) plot_ylo#24 ) - (byte[]) plot_yhi#18 ← phi( line_xdyi::@3/(byte[]) plot_yhi#23 line_xdyi::@5/(byte[]) plot_yhi#24 ) - (byte[]) plot_xlo#18 ← phi( line_xdyi::@3/(byte[]) plot_xlo#24 line_xdyi::@5/(byte[]) plot_xlo#25 ) - (byte[]) plot_xhi#18 ← phi( line_xdyi::@3/(byte[]) plot_xhi#24 line_xdyi::@5/(byte[]) plot_xhi#25 ) - (byte) line_xdyi::xd#5 ← phi( line_xdyi::@3/(byte) line_xdyi::xd#2 line_xdyi::@5/(byte) line_xdyi::xd#1 ) - (byte) line_xdyi::yd#4 ← phi( line_xdyi::@3/(byte) line_xdyi::yd#5 line_xdyi::@5/(byte) line_xdyi::yd#2 ) + (byte[]) plot_bit#10 ← phi( line_xdyi::@3/(byte[]) plot_bit#22 line_xdyi::@5/(byte[]) plot_bit#23 ) + (byte[]) plot_ylo#10 ← phi( line_xdyi::@3/(byte[]) plot_ylo#21 line_xdyi::@5/(byte[]) plot_ylo#22 ) + (byte[]) plot_yhi#10 ← phi( line_xdyi::@3/(byte[]) plot_yhi#21 line_xdyi::@5/(byte[]) plot_yhi#22 ) + (byte[]) plot_xlo#10 ← phi( line_xdyi::@3/(byte[]) plot_xlo#22 line_xdyi::@5/(byte[]) plot_xlo#23 ) + (byte[]) plot_xhi#10 ← phi( line_xdyi::@3/(byte[]) plot_xhi#22 line_xdyi::@5/(byte[]) plot_xhi#23 ) + (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#5 ← phi( line_xdyi::@3/(byte) line_xdyi::y#1 line_xdyi::@5/(byte) line_xdyi::y#6 ) - (byte) line_xdyi::x#4 ← phi( line_xdyi::@3/(byte) line_xdyi::x#6 line_xdyi::@5/(byte) line_xdyi::x#1 ) - (byte) line_xdyi::x1#1 ← phi( line_xdyi::@3/(byte) line_xdyi::x1#2 line_xdyi::@5/(byte) line_xdyi::x1#3 ) - (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#1 + (byte) 1 - (boolean~) line_xdyi::$9 ← (byte) line_xdyi::x#4 < (byte~) line_xdyi::$8 + (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~) line_xdyi::$8 ← (byte) line_xdyi::x1#2 + (byte) 1 + (boolean~) line_xdyi::$9 ← (byte) line_xdyi::x#5 < (byte~) line_xdyi::$8 if((boolean~) line_xdyi::$9) goto line_xdyi::@1 to:line_xdyi::@return line_xdyi::@3: scope:[line_xdyi] from line_xdyi::@5 - (byte[]) plot_bit#24 ← phi( line_xdyi::@5/(byte[]) plot_bit#25 ) - (byte[]) plot_ylo#23 ← phi( line_xdyi::@5/(byte[]) plot_ylo#24 ) - (byte[]) plot_yhi#23 ← phi( line_xdyi::@5/(byte[]) plot_yhi#24 ) - (byte[]) plot_xlo#24 ← phi( line_xdyi::@5/(byte[]) plot_xlo#25 ) - (byte[]) plot_xhi#24 ← phi( line_xdyi::@5/(byte[]) plot_xhi#25 ) - (byte) line_xdyi::yd#5 ← phi( line_xdyi::@5/(byte) line_xdyi::yd#2 ) - (byte) line_xdyi::x#6 ← phi( line_xdyi::@5/(byte) line_xdyi::x#1 ) - (byte) line_xdyi::x1#2 ← phi( line_xdyi::@5/(byte) line_xdyi::x1#3 ) - (byte) line_xdyi::xd#2 ← phi( line_xdyi::@5/(byte) line_xdyi::xd#1 ) + (byte[]) plot_bit#22 ← phi( line_xdyi::@5/(byte[]) plot_bit#23 ) + (byte[]) plot_ylo#21 ← phi( line_xdyi::@5/(byte[]) plot_ylo#22 ) + (byte[]) plot_yhi#21 ← phi( line_xdyi::@5/(byte[]) plot_yhi#22 ) + (byte[]) plot_xlo#22 ← phi( line_xdyi::@5/(byte[]) plot_xlo#23 ) + (byte[]) plot_xhi#22 ← phi( line_xdyi::@5/(byte[]) plot_xhi#23 ) + (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#3 ← phi( line_xdyi::@5/(byte) line_xdyi::y#6 ) - (byte~) line_xdyi::$6 ← (byte) line_xdyi::y#3 + (byte) 1 - (byte) line_xdyi::y#1 ← (byte~) line_xdyi::$6 - (byte~) line_xdyi::$7 ← (byte) line_xdyi::e#4 - (byte) line_xdyi::xd#2 + (byte) line_xdyi::y#4 ← phi( line_xdyi::@5/(byte) line_xdyi::y#7 ) + (byte~) line_xdyi::$6 ← (byte) line_xdyi::y#4 + (byte) 1 + (byte) line_xdyi::y#2 ← (byte~) line_xdyi::$6 + (byte~) line_xdyi::$7 ← (byte) line_xdyi::e#4 - (byte) line_xdyi::xd#3 (byte) line_xdyi::e#2 ← (byte~) line_xdyi::$7 to:line_xdyi::@2 line_xdyi::@return: scope:[line_xdyi] from line_xdyi::@2 return to:@return -plot: scope:[plot] from line::@15 line::@17 line::@19 line::@2 line::@22 line::@24 line::@3 line::@7 line_xdyi::@1 - (byte[]) plot_bit#1 ← phi( line::@15/(byte[]) plot_bit#3 line::@17/(byte[]) plot_bit#4 line::@19/(byte[]) plot_bit#5 line::@2/(byte[]) plot_bit#6 line::@22/(byte[]) plot_bit#7 line::@24/(byte[]) plot_bit#8 line::@3/(byte[]) plot_bit#9 line::@7/(byte[]) plot_bit#10 line_xdyi::@1/(byte[]) plot_bit#11 ) - (byte[]) plot_ylo#1 ← phi( line::@15/(byte[]) plot_ylo#3 line::@17/(byte[]) plot_ylo#4 line::@19/(byte[]) plot_ylo#5 line::@2/(byte[]) plot_ylo#6 line::@22/(byte[]) plot_ylo#7 line::@24/(byte[]) plot_ylo#8 line::@3/(byte[]) plot_ylo#9 line::@7/(byte[]) plot_ylo#10 line_xdyi::@1/(byte[]) plot_ylo#11 ) - (byte) plot::y#9 ← phi( line::@15/(byte) plot::y#6 line::@17/(byte) plot::y#1 line::@19/(byte) plot::y#3 line::@2/(byte) plot::y#0 line::@22/(byte) plot::y#5 line::@24/(byte) plot::y#7 line::@3/(byte) plot::y#2 line::@7/(byte) plot::y#4 line_xdyi::@1/(byte) plot::y#8 ) - (byte[]) plot_yhi#1 ← phi( line::@15/(byte[]) plot_yhi#3 line::@17/(byte[]) plot_yhi#4 line::@19/(byte[]) plot_yhi#5 line::@2/(byte[]) plot_yhi#6 line::@22/(byte[]) plot_yhi#7 line::@24/(byte[]) plot_yhi#8 line::@3/(byte[]) plot_yhi#9 line::@7/(byte[]) plot_yhi#10 line_xdyi::@1/(byte[]) plot_yhi#11 ) - (byte[]) plot_xlo#1 ← phi( line::@15/(byte[]) plot_xlo#3 line::@17/(byte[]) plot_xlo#4 line::@19/(byte[]) plot_xlo#5 line::@2/(byte[]) plot_xlo#6 line::@22/(byte[]) plot_xlo#7 line::@24/(byte[]) plot_xlo#8 line::@3/(byte[]) plot_xlo#9 line::@7/(byte[]) plot_xlo#10 line_xdyi::@1/(byte[]) plot_xlo#11 ) - (byte) plot::x#9 ← phi( line::@15/(byte) plot::x#6 line::@17/(byte) plot::x#1 line::@19/(byte) plot::x#3 line::@2/(byte) plot::x#0 line::@22/(byte) plot::x#5 line::@24/(byte) plot::x#7 line::@3/(byte) plot::x#2 line::@7/(byte) plot::x#4 line_xdyi::@1/(byte) plot::x#8 ) - (byte[]) plot_xhi#1 ← phi( line::@15/(byte[]) plot_xhi#3 line::@17/(byte[]) plot_xhi#4 line::@19/(byte[]) plot_xhi#5 line::@2/(byte[]) plot_xhi#6 line::@22/(byte[]) plot_xhi#7 line::@24/(byte[]) plot_xhi#8 line::@3/(byte[]) plot_xhi#9 line::@7/(byte[]) plot_xhi#10 line_xdyi::@1/(byte[]) plot_xhi#11 ) +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[]) plot_bit#11 ← phi( line::@20/(byte[]) plot_bit#24 line::@24/(byte[]) plot_bit#25 ) + (byte[]) plot_ylo#11 ← phi( line::@20/(byte[]) plot_ylo#23 line::@24/(byte[]) plot_ylo#24 ) + (byte[]) plot_yhi#11 ← phi( line::@20/(byte[]) plot_yhi#23 line::@24/(byte[]) plot_yhi#24 ) + (byte[]) plot_xlo#11 ← phi( line::@20/(byte[]) plot_xlo#24 line::@24/(byte[]) plot_xlo#25 ) + (byte[]) plot_xhi#11 ← phi( line::@20/(byte[]) plot_xhi#24 line::@24/(byte[]) plot_xhi#25 ) + (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) 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[]) plot_bit#3 ← phi( line_xdyd/(byte[]) plot_bit#11 line_xdyd::@2/(byte[]) plot_bit#12 ) + (byte[]) plot_ylo#3 ← phi( line_xdyd/(byte[]) plot_ylo#11 line_xdyd::@2/(byte[]) plot_ylo#12 ) + (byte[]) plot_yhi#3 ← phi( line_xdyd/(byte[]) plot_yhi#11 line_xdyd::@2/(byte[]) plot_yhi#12 ) + (byte[]) plot_xlo#3 ← phi( line_xdyd/(byte[]) plot_xlo#11 line_xdyd::@2/(byte[]) plot_xlo#12 ) + (byte[]) plot_xhi#3 ← phi( line_xdyd/(byte[]) plot_xhi#11 line_xdyd::@2/(byte[]) plot_xhi#12 ) + (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[]) plot_bit#27 ← phi( line_xdyd::@1/(byte[]) plot_bit#3 ) + (byte[]) plot_ylo#26 ← phi( line_xdyd::@1/(byte[]) plot_ylo#3 ) + (byte[]) plot_yhi#26 ← phi( line_xdyd::@1/(byte[]) plot_yhi#3 ) + (byte[]) plot_xlo#27 ← phi( line_xdyd::@1/(byte[]) plot_xlo#3 ) + (byte[]) plot_xhi#27 ← phi( line_xdyd::@1/(byte[]) plot_xhi#3 ) + (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::$2 ← (byte) line_xdyd::x#4 + (byte) 1 + (byte) line_xdyd::x#2 ← (byte~) line_xdyd::$2 + (byte~) line_xdyd::$3 ← (byte) line_xdyd::e#3 + (byte) line_xdyd::yd#3 + (byte) line_xdyd::e#1 ← (byte~) line_xdyd::$3 + (boolean~) line_xdyd::$4 ← (byte) line_xdyd::xd#2 < (byte) line_xdyd::e#1 + (boolean~) line_xdyd::$5 ← ! (boolean~) line_xdyd::$4 + if((boolean~) line_xdyd::$5) goto line_xdyd::@2 + to:line_xdyd::@3 +line_xdyd::@2: scope:[line_xdyd] from line_xdyd::@3 line_xdyd::@5 + (byte[]) plot_bit#12 ← phi( line_xdyd::@3/(byte[]) plot_bit#26 line_xdyd::@5/(byte[]) plot_bit#27 ) + (byte[]) plot_ylo#12 ← phi( line_xdyd::@3/(byte[]) plot_ylo#25 line_xdyd::@5/(byte[]) plot_ylo#26 ) + (byte[]) plot_yhi#12 ← phi( line_xdyd::@3/(byte[]) plot_yhi#25 line_xdyd::@5/(byte[]) plot_yhi#26 ) + (byte[]) plot_xlo#12 ← phi( line_xdyd::@3/(byte[]) plot_xlo#26 line_xdyd::@5/(byte[]) plot_xlo#27 ) + (byte[]) plot_xhi#12 ← phi( line_xdyd::@3/(byte[]) plot_xhi#26 line_xdyd::@5/(byte[]) plot_xhi#27 ) + (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~) line_xdyd::$8 ← (byte) line_xdyd::x1#2 + (byte) 1 + (boolean~) line_xdyd::$9 ← (byte) line_xdyd::x#5 < (byte~) line_xdyd::$8 + if((boolean~) line_xdyd::$9) goto line_xdyd::@1 + to:line_xdyd::@return +line_xdyd::@3: scope:[line_xdyd] from line_xdyd::@5 + (byte[]) plot_bit#26 ← phi( line_xdyd::@5/(byte[]) plot_bit#27 ) + (byte[]) plot_ylo#25 ← phi( line_xdyd::@5/(byte[]) plot_ylo#26 ) + (byte[]) plot_yhi#25 ← phi( line_xdyd::@5/(byte[]) plot_yhi#26 ) + (byte[]) plot_xlo#26 ← phi( line_xdyd::@5/(byte[]) plot_xlo#27 ) + (byte[]) plot_xhi#26 ← phi( line_xdyd::@5/(byte[]) plot_xhi#27 ) + (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::$6 ← (byte) line_xdyd::y#4 - (byte) 1 + (byte) line_xdyd::y#2 ← (byte~) line_xdyd::$6 + (byte~) line_xdyd::$7 ← (byte) line_xdyd::e#4 - (byte) line_xdyd::xd#3 + (byte) line_xdyd::e#2 ← (byte~) line_xdyd::$7 + 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[]) plot_bit#13 ← phi( line::@13/(byte[]) plot_bit#28 line::@3/(byte[]) plot_bit#29 ) + (byte[]) plot_ylo#13 ← phi( line::@13/(byte[]) plot_ylo#27 line::@3/(byte[]) plot_ylo#28 ) + (byte[]) plot_yhi#13 ← phi( line::@13/(byte[]) plot_yhi#27 line::@3/(byte[]) plot_yhi#28 ) + (byte[]) plot_xlo#13 ← phi( line::@13/(byte[]) plot_xlo#28 line::@3/(byte[]) plot_xlo#29 ) + (byte[]) plot_xhi#13 ← phi( line::@13/(byte[]) plot_xhi#28 line::@3/(byte[]) plot_xhi#29 ) + (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) 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[]) plot_bit#6 ← phi( line_ydxi/(byte[]) plot_bit#13 line_ydxi::@2/(byte[]) plot_bit#14 ) + (byte[]) plot_ylo#6 ← phi( line_ydxi/(byte[]) plot_ylo#13 line_ydxi::@2/(byte[]) plot_ylo#14 ) + (byte[]) plot_yhi#6 ← phi( line_ydxi/(byte[]) plot_yhi#13 line_ydxi::@2/(byte[]) plot_yhi#14 ) + (byte[]) plot_xlo#6 ← phi( line_ydxi/(byte[]) plot_xlo#13 line_ydxi::@2/(byte[]) plot_xlo#14 ) + (byte[]) plot_xhi#6 ← phi( line_ydxi/(byte[]) plot_xhi#13 line_ydxi::@2/(byte[]) plot_xhi#14 ) + (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[]) plot_bit#31 ← phi( line_ydxi::@1/(byte[]) plot_bit#6 ) + (byte[]) plot_ylo#30 ← phi( line_ydxi::@1/(byte[]) plot_ylo#6 ) + (byte[]) plot_yhi#30 ← phi( line_ydxi::@1/(byte[]) plot_yhi#6 ) + (byte[]) plot_xlo#31 ← phi( line_ydxi::@1/(byte[]) plot_xlo#6 ) + (byte[]) plot_xhi#31 ← phi( line_ydxi::@1/(byte[]) plot_xhi#6 ) + (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::$2 ← (byte) line_ydxi::y#4 + (byte) 1 + (byte) line_ydxi::y#2 ← (byte~) line_ydxi::$2 + (byte~) line_ydxi::$3 ← (byte) line_ydxi::e#3 + (byte) line_ydxi::xd#3 + (byte) line_ydxi::e#1 ← (byte~) line_ydxi::$3 + (boolean~) line_ydxi::$4 ← (byte) line_ydxi::yd#2 < (byte) line_ydxi::e#1 + (boolean~) line_ydxi::$5 ← ! (boolean~) line_ydxi::$4 + if((boolean~) line_ydxi::$5) goto line_ydxi::@2 + to:line_ydxi::@3 +line_ydxi::@2: scope:[line_ydxi] from line_ydxi::@3 line_ydxi::@5 + (byte[]) plot_bit#14 ← phi( line_ydxi::@3/(byte[]) plot_bit#30 line_ydxi::@5/(byte[]) plot_bit#31 ) + (byte[]) plot_ylo#14 ← phi( line_ydxi::@3/(byte[]) plot_ylo#29 line_ydxi::@5/(byte[]) plot_ylo#30 ) + (byte[]) plot_yhi#14 ← phi( line_ydxi::@3/(byte[]) plot_yhi#29 line_ydxi::@5/(byte[]) plot_yhi#30 ) + (byte[]) plot_xlo#14 ← phi( line_ydxi::@3/(byte[]) plot_xlo#30 line_ydxi::@5/(byte[]) plot_xlo#31 ) + (byte[]) plot_xhi#14 ← phi( line_ydxi::@3/(byte[]) plot_xhi#30 line_ydxi::@5/(byte[]) plot_xhi#31 ) + (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~) line_ydxi::$8 ← (byte) line_ydxi::y1#2 + (byte) 1 + (boolean~) line_ydxi::$9 ← (byte) line_ydxi::y#5 < (byte~) line_ydxi::$8 + if((boolean~) line_ydxi::$9) goto line_ydxi::@1 + to:line_ydxi::@return +line_ydxi::@3: scope:[line_ydxi] from line_ydxi::@5 + (byte[]) plot_bit#30 ← phi( line_ydxi::@5/(byte[]) plot_bit#31 ) + (byte[]) plot_ylo#29 ← phi( line_ydxi::@5/(byte[]) plot_ylo#30 ) + (byte[]) plot_yhi#29 ← phi( line_ydxi::@5/(byte[]) plot_yhi#30 ) + (byte[]) plot_xlo#30 ← phi( line_ydxi::@5/(byte[]) plot_xlo#31 ) + (byte[]) plot_xhi#30 ← phi( line_ydxi::@5/(byte[]) plot_xhi#31 ) + (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::$6 ← (byte) line_ydxi::x#4 + (byte) 1 + (byte) line_ydxi::x#2 ← (byte~) line_ydxi::$6 + (byte~) line_ydxi::$7 ← (byte) line_ydxi::e#4 - (byte) line_ydxi::yd#3 + (byte) line_ydxi::e#2 ← (byte~) line_ydxi::$7 + 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[]) plot_bit#15 ← phi( line::@10/(byte[]) plot_bit#32 line::@6/(byte[]) plot_bit#33 ) + (byte[]) plot_ylo#15 ← phi( line::@10/(byte[]) plot_ylo#31 line::@6/(byte[]) plot_ylo#32 ) + (byte[]) plot_yhi#15 ← phi( line::@10/(byte[]) plot_yhi#31 line::@6/(byte[]) plot_yhi#32 ) + (byte[]) plot_xlo#15 ← phi( line::@10/(byte[]) plot_xlo#32 line::@6/(byte[]) plot_xlo#33 ) + (byte[]) plot_xhi#15 ← phi( line::@10/(byte[]) plot_xhi#32 line::@6/(byte[]) plot_xhi#33 ) + (byte) line_ydxd::yd#5 ← phi( line::@10/(byte) line_ydxd::yd#1 line::@6/(byte) line_ydxd::yd#0 ) + (byte) line_ydxd::y#6 ← 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) 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[]) plot_bit#5 ← phi( line_ydxd/(byte[]) plot_bit#15 line_ydxd::@2/(byte[]) plot_bit#16 ) + (byte[]) plot_ylo#5 ← phi( line_ydxd/(byte[]) plot_ylo#15 line_ydxd::@2/(byte[]) plot_ylo#16 ) + (byte[]) plot_yhi#5 ← phi( line_ydxd/(byte[]) plot_yhi#15 line_ydxd::@2/(byte[]) plot_yhi#16 ) + (byte[]) plot_xlo#5 ← phi( line_ydxd/(byte[]) plot_xlo#15 line_ydxd::@2/(byte[]) plot_xlo#16 ) + (byte[]) plot_xhi#5 ← phi( line_ydxd/(byte[]) plot_xhi#15 line_ydxd::@2/(byte[]) plot_xhi#16 ) + (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#3 ← phi( line_ydxd/(byte) line_ydxd::y#6 line_ydxd::@2/(byte) line_ydxd::y#5 ) + (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#3 + call plot param-assignment + to:line_ydxd::@5 +line_ydxd::@5: scope:[line_ydxd] from line_ydxd::@1 + (byte[]) plot_bit#35 ← phi( line_ydxd::@1/(byte[]) plot_bit#5 ) + (byte[]) plot_ylo#34 ← phi( line_ydxd::@1/(byte[]) plot_ylo#5 ) + (byte[]) plot_yhi#34 ← phi( line_ydxd::@1/(byte[]) plot_yhi#5 ) + (byte[]) plot_xlo#35 ← phi( line_ydxd::@1/(byte[]) plot_xlo#5 ) + (byte[]) plot_xhi#35 ← phi( line_ydxd::@1/(byte[]) plot_xhi#5 ) + (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#4 ← phi( line_ydxd::@1/(byte) line_ydxd::y#3 ) + (byte~) line_ydxd::$2 ← (byte) line_ydxd::y#4 + (byte) 1 + (byte) line_ydxd::y#2 ← (byte~) line_ydxd::$2 + (byte~) line_ydxd::$3 ← (byte) line_ydxd::e#3 + (byte) line_ydxd::xd#3 + (byte) line_ydxd::e#1 ← (byte~) line_ydxd::$3 + (boolean~) line_ydxd::$4 ← (byte) line_ydxd::yd#2 < (byte) line_ydxd::e#1 + (boolean~) line_ydxd::$5 ← ! (boolean~) line_ydxd::$4 + if((boolean~) line_ydxd::$5) goto line_ydxd::@2 + to:line_ydxd::@3 +line_ydxd::@2: scope:[line_ydxd] from line_ydxd::@3 line_ydxd::@5 + (byte[]) plot_bit#16 ← phi( line_ydxd::@3/(byte[]) plot_bit#34 line_ydxd::@5/(byte[]) plot_bit#35 ) + (byte[]) plot_ylo#16 ← phi( line_ydxd::@3/(byte[]) plot_ylo#33 line_ydxd::@5/(byte[]) plot_ylo#34 ) + (byte[]) plot_yhi#16 ← phi( line_ydxd::@3/(byte[]) plot_yhi#33 line_ydxd::@5/(byte[]) plot_yhi#34 ) + (byte[]) plot_xlo#16 ← phi( line_ydxd::@3/(byte[]) plot_xlo#34 line_ydxd::@5/(byte[]) plot_xlo#35 ) + (byte[]) plot_xhi#16 ← phi( line_ydxd::@3/(byte[]) plot_xhi#34 line_ydxd::@5/(byte[]) plot_xhi#35 ) + (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#5 ← phi( line_ydxd::@3/(byte) line_ydxd::y#7 line_ydxd::@5/(byte) line_ydxd::y#2 ) + (byte) line_ydxd::y1#2 ← phi( line_ydxd::@3/(byte) line_ydxd::y1#3 line_ydxd::@5/(byte) line_ydxd::y1#4 ) + (byte~) line_ydxd::$8 ← (byte) line_ydxd::y1#2 + (byte) 1 + (boolean~) line_ydxd::$9 ← (byte) line_ydxd::y#5 < (byte~) line_ydxd::$8 + if((boolean~) line_ydxd::$9) goto line_ydxd::@1 + to:line_ydxd::@return +line_ydxd::@3: scope:[line_ydxd] from line_ydxd::@5 + (byte[]) plot_bit#34 ← phi( line_ydxd::@5/(byte[]) plot_bit#35 ) + (byte[]) plot_ylo#33 ← phi( line_ydxd::@5/(byte[]) plot_ylo#34 ) + (byte[]) plot_yhi#33 ← phi( line_ydxd::@5/(byte[]) plot_yhi#34 ) + (byte[]) plot_xlo#34 ← phi( line_ydxd::@5/(byte[]) plot_xlo#35 ) + (byte[]) plot_xhi#34 ← phi( line_ydxd::@5/(byte[]) plot_xhi#35 ) + (byte) line_ydxd::xd#6 ← phi( line_ydxd::@5/(byte) line_ydxd::xd#3 ) + (byte) line_ydxd::y#7 ← phi( line_ydxd::@5/(byte) line_ydxd::y#2 ) + (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::$6 ← (byte) line_ydxd::x#4 - (byte) 1 + (byte) line_ydxd::x#2 ← (byte~) line_ydxd::$6 + (byte~) line_ydxd::$7 ← (byte) line_ydxd::e#4 - (byte) line_ydxd::yd#3 + (byte) line_ydxd::e#2 ← (byte~) line_ydxd::$7 + 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_bit#1 ← phi( line_xdyd::@1/(byte[]) plot_bit#3 line_xdyi::@1/(byte[]) plot_bit#4 line_ydxd::@1/(byte[]) plot_bit#5 line_ydxi::@1/(byte[]) plot_bit#6 ) + (byte[]) plot_ylo#1 ← phi( line_xdyd::@1/(byte[]) plot_ylo#3 line_xdyi::@1/(byte[]) plot_ylo#4 line_ydxd::@1/(byte[]) plot_ylo#5 line_ydxi::@1/(byte[]) plot_ylo#6 ) + (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_yhi#1 ← phi( line_xdyd::@1/(byte[]) plot_yhi#3 line_xdyi::@1/(byte[]) plot_yhi#4 line_ydxd::@1/(byte[]) plot_yhi#5 line_ydxi::@1/(byte[]) plot_yhi#6 ) + (byte[]) plot_xlo#1 ← phi( line_xdyd::@1/(byte[]) plot_xlo#3 line_xdyi::@1/(byte[]) plot_xlo#4 line_ydxd::@1/(byte[]) plot_xlo#5 line_ydxi::@1/(byte[]) plot_xlo#6 ) + (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 ) + (byte[]) plot_xhi#1 ← phi( line_xdyd::@1/(byte[]) plot_xhi#3 line_xdyi::@1/(byte[]) plot_xhi#4 line_ydxd::@1/(byte[]) plot_xhi#5 line_ydxi::@1/(byte[]) plot_xhi#6 ) (byte*) plot::plotter_x#0 ← (byte) 0 (byte*) plot::plotter_y#0 ← (byte) 0 - (byte~) plot::$0 ← (byte[]) plot_xhi#1 *idx (byte) plot::x#9 + (byte~) plot::$0 ← (byte[]) plot_xhi#1 *idx (byte) plot::x#4 (byte*) plot::plotter_x#1 ← (byte*) plot::plotter_x#0 hi= (byte~) plot::$0 - (byte~) plot::$1 ← (byte[]) plot_xlo#1 *idx (byte) plot::x#9 + (byte~) plot::$1 ← (byte[]) plot_xlo#1 *idx (byte) plot::x#4 (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 - (byte~) plot::$2 ← (byte[]) plot_yhi#1 *idx (byte) plot::y#9 + (byte~) plot::$2 ← (byte[]) plot_yhi#1 *idx (byte) plot::y#4 (byte*) plot::plotter_y#1 ← (byte*) plot::plotter_y#0 hi= (byte~) plot::$2 - (byte~) plot::$3 ← (byte[]) plot_ylo#1 *idx (byte) plot::y#9 + (byte~) plot::$3 ← (byte[]) plot_ylo#1 *idx (byte) plot::y#4 (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 (byte~) plot::$4 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 (byte*) plot::plotter#0 ← (byte~) plot::$4 (byte~) plot::$5 ← * (byte*) plot::plotter#0 - (byte~) plot::$6 ← (byte[]) plot_bit#1 *idx (byte) plot::x#9 + (byte~) plot::$6 ← (byte[]) plot_bit#1 *idx (byte) plot::x#4 (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 *((byte*) plot::plotter#0) ← (byte~) plot::$7 to:plot::@return @@ -2417,23 +3705,23 @@ plot::@return: scope:[plot] from plot return to:@return init_plot_tables: scope:[init_plot_tables] from main::@3 - (byte[]) plot_yhi#28 ← phi( main::@3/(byte[]) plot_yhi#31 ) - (byte[]) plot_ylo#28 ← phi( main::@3/(byte[]) plot_ylo#31 ) - (byte[]) plot_bit#12 ← phi( main::@3/(byte[]) plot_bit#19 ) - (byte[]) plot_xhi#12 ← phi( main::@3/(byte[]) plot_xhi#19 ) + (byte[]) plot_yhi#41 ← phi( main::@3/(byte[]) plot_yhi#44 ) + (byte[]) plot_ylo#41 ← phi( main::@3/(byte[]) plot_ylo#44 ) + (byte[]) plot_bit#7 ← phi( main::@3/(byte[]) plot_bit#17 ) + (byte[]) plot_xhi#7 ← phi( main::@3/(byte[]) plot_xhi#17 ) (byte*) BITMAP#4 ← phi( main::@3/(byte*) BITMAP#8 ) - (byte[]) plot_xlo#12 ← phi( main::@3/(byte[]) plot_xlo#19 ) + (byte[]) plot_xlo#7 ← phi( main::@3/(byte[]) plot_xlo#17 ) (byte) init_plot_tables::bit#0 ← (byte) 128 (byte) init_plot_tables::x#0 ← (byte) 0 to:init_plot_tables::@1 init_plot_tables::@1: scope:[init_plot_tables] from init_plot_tables init_plot_tables::@2 - (byte[]) plot_yhi#25 ← phi( init_plot_tables/(byte[]) plot_yhi#28 init_plot_tables::@2/(byte[]) plot_yhi#19 ) - (byte[]) plot_ylo#25 ← phi( init_plot_tables/(byte[]) plot_ylo#28 init_plot_tables::@2/(byte[]) plot_ylo#19 ) - (byte[]) plot_bit#2 ← phi( init_plot_tables/(byte[]) plot_bit#12 init_plot_tables::@2/(byte[]) plot_bit#13 ) + (byte[]) plot_yhi#35 ← phi( init_plot_tables/(byte[]) plot_yhi#41 init_plot_tables::@2/(byte[]) plot_yhi#17 ) + (byte[]) plot_ylo#35 ← phi( init_plot_tables/(byte[]) plot_ylo#41 init_plot_tables::@2/(byte[]) plot_ylo#17 ) + (byte[]) plot_bit#2 ← phi( init_plot_tables/(byte[]) plot_bit#7 init_plot_tables::@2/(byte[]) plot_bit#8 ) (byte) init_plot_tables::bit#3 ← phi( init_plot_tables/(byte) init_plot_tables::bit#0 init_plot_tables::@2/(byte) init_plot_tables::bit#4 ) - (byte[]) plot_xhi#2 ← phi( init_plot_tables/(byte[]) plot_xhi#12 init_plot_tables::@2/(byte[]) plot_xhi#13 ) + (byte[]) plot_xhi#2 ← phi( init_plot_tables/(byte[]) plot_xhi#7 init_plot_tables::@2/(byte[]) plot_xhi#8 ) (byte*) BITMAP#1 ← phi( init_plot_tables/(byte*) BITMAP#4 init_plot_tables::@2/(byte*) BITMAP#5 ) - (byte[]) plot_xlo#2 ← phi( init_plot_tables/(byte[]) plot_xlo#12 init_plot_tables::@2/(byte[]) plot_xlo#13 ) + (byte[]) plot_xlo#2 ← phi( init_plot_tables/(byte[]) plot_xlo#7 init_plot_tables::@2/(byte[]) plot_xlo#8 ) (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) 248 *((byte[]) plot_xlo#2 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 @@ -2447,37 +3735,37 @@ init_plot_tables::@1: scope:[init_plot_tables] from init_plot_tables init_plot_ 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[]) plot_yhi#19 ← phi( init_plot_tables::@1/(byte[]) plot_yhi#25 init_plot_tables::@5/(byte[]) plot_yhi#26 ) - (byte[]) plot_ylo#19 ← phi( init_plot_tables::@1/(byte[]) plot_ylo#25 init_plot_tables::@5/(byte[]) plot_ylo#26 ) - (byte[]) plot_bit#13 ← phi( init_plot_tables::@1/(byte[]) plot_bit#2 init_plot_tables::@5/(byte[]) plot_bit#20 ) + (byte[]) plot_yhi#17 ← phi( init_plot_tables::@1/(byte[]) plot_yhi#35 init_plot_tables::@5/(byte[]) plot_yhi#36 ) + (byte[]) plot_ylo#17 ← phi( init_plot_tables::@1/(byte[]) plot_ylo#35 init_plot_tables::@5/(byte[]) plot_ylo#36 ) + (byte[]) plot_bit#8 ← phi( init_plot_tables::@1/(byte[]) plot_bit#2 init_plot_tables::@5/(byte[]) plot_bit#18 ) (byte) init_plot_tables::bit#4 ← phi( init_plot_tables::@1/(byte) init_plot_tables::bit#1 init_plot_tables::@5/(byte) init_plot_tables::bit#2 ) - (byte[]) plot_xhi#13 ← phi( init_plot_tables::@1/(byte[]) plot_xhi#2 init_plot_tables::@5/(byte[]) plot_xhi#20 ) + (byte[]) plot_xhi#8 ← phi( init_plot_tables::@1/(byte[]) plot_xhi#2 init_plot_tables::@5/(byte[]) plot_xhi#18 ) (byte*) BITMAP#5 ← phi( init_plot_tables::@1/(byte*) BITMAP#1 init_plot_tables::@5/(byte*) BITMAP#9 ) - (byte[]) plot_xlo#13 ← phi( init_plot_tables::@1/(byte[]) plot_xlo#2 init_plot_tables::@5/(byte[]) plot_xlo#20 ) + (byte[]) plot_xlo#8 ← phi( init_plot_tables::@1/(byte[]) plot_xlo#2 init_plot_tables::@5/(byte[]) plot_xlo#18 ) (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) 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[]) plot_yhi#26 ← phi( init_plot_tables::@1/(byte[]) plot_yhi#25 ) - (byte[]) plot_ylo#26 ← phi( init_plot_tables::@1/(byte[]) plot_ylo#25 ) - (byte[]) plot_bit#20 ← phi( init_plot_tables::@1/(byte[]) plot_bit#2 ) - (byte[]) plot_xhi#20 ← phi( init_plot_tables::@1/(byte[]) plot_xhi#2 ) + (byte[]) plot_yhi#36 ← phi( init_plot_tables::@1/(byte[]) plot_yhi#35 ) + (byte[]) plot_ylo#36 ← phi( init_plot_tables::@1/(byte[]) plot_ylo#35 ) + (byte[]) plot_bit#18 ← phi( init_plot_tables::@1/(byte[]) plot_bit#2 ) + (byte[]) plot_xhi#18 ← phi( init_plot_tables::@1/(byte[]) plot_xhi#2 ) (byte*) BITMAP#9 ← phi( init_plot_tables::@1/(byte*) BITMAP#1 ) - (byte[]) plot_xlo#20 ← phi( init_plot_tables::@1/(byte[]) plot_xlo#2 ) + (byte[]) plot_xlo#18 ← phi( init_plot_tables::@1/(byte[]) plot_xlo#2 ) (byte) init_plot_tables::x#4 ← phi( init_plot_tables::@1/(byte) init_plot_tables::x#2 ) (byte) init_plot_tables::bit#2 ← (byte) 128 to:init_plot_tables::@2 init_plot_tables::@6: scope:[init_plot_tables] from init_plot_tables::@2 - (byte[]) plot_yhi#13 ← phi( init_plot_tables::@2/(byte[]) plot_yhi#19 ) - (byte[]) plot_ylo#13 ← phi( init_plot_tables::@2/(byte[]) plot_ylo#19 ) + (byte[]) plot_yhi#8 ← phi( init_plot_tables::@2/(byte[]) plot_yhi#17 ) + (byte[]) plot_ylo#8 ← phi( init_plot_tables::@2/(byte[]) plot_ylo#17 ) (byte*) init_plot_tables::yoffs#0 ← (byte) 0 (byte) init_plot_tables::y#0 ← (byte) 0 to:init_plot_tables::@3 init_plot_tables::@3: scope:[init_plot_tables] from init_plot_tables::@4 init_plot_tables::@6 - (byte[]) plot_yhi#2 ← phi( init_plot_tables::@4/(byte[]) plot_yhi#12 init_plot_tables::@6/(byte[]) plot_yhi#13 ) - (byte[]) plot_ylo#2 ← phi( init_plot_tables::@4/(byte[]) plot_ylo#12 init_plot_tables::@6/(byte[]) plot_ylo#13 ) + (byte[]) plot_yhi#2 ← phi( init_plot_tables::@4/(byte[]) plot_yhi#7 init_plot_tables::@6/(byte[]) plot_yhi#8 ) + (byte[]) plot_ylo#2 ← phi( init_plot_tables::@4/(byte[]) plot_ylo#7 init_plot_tables::@6/(byte[]) plot_ylo#8 ) (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) 7 @@ -2492,8 +3780,8 @@ init_plot_tables::@3: scope:[init_plot_tables] from init_plot_tables::@4 init_p 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[]) plot_yhi#12 ← phi( init_plot_tables::@3/(byte[]) plot_yhi#2 init_plot_tables::@7/(byte[]) plot_yhi#20 ) - (byte[]) plot_ylo#12 ← phi( init_plot_tables::@3/(byte[]) plot_ylo#2 init_plot_tables::@7/(byte[]) plot_ylo#20 ) + (byte[]) plot_yhi#7 ← phi( init_plot_tables::@3/(byte[]) plot_yhi#2 init_plot_tables::@7/(byte[]) plot_yhi#18 ) + (byte[]) plot_ylo#7 ← phi( init_plot_tables::@3/(byte[]) plot_ylo#2 init_plot_tables::@7/(byte[]) plot_ylo#18 ) (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 @@ -2501,8 +3789,8 @@ init_plot_tables::@4: scope:[init_plot_tables] from init_plot_tables::@3 init_p if((boolean~) init_plot_tables::$14) goto init_plot_tables::@3 to:init_plot_tables::@return init_plot_tables::@7: scope:[init_plot_tables] from init_plot_tables::@3 - (byte[]) plot_yhi#20 ← phi( init_plot_tables::@3/(byte[]) plot_yhi#2 ) - (byte[]) plot_ylo#20 ← phi( init_plot_tables::@3/(byte[]) plot_ylo#2 ) + (byte[]) plot_yhi#18 ← phi( init_plot_tables::@3/(byte[]) plot_yhi#2 ) + (byte[]) plot_ylo#18 ← phi( init_plot_tables::@3/(byte[]) plot_ylo#2 ) (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 ) (byte*~) init_plot_tables::$13 ← (byte*) init_plot_tables::yoffs#3 + (word) 320 @@ -2542,16 +3830,16 @@ init_screen::@2: scope:[init_screen] from init_screen::@2 init_screen::@3 init_screen::@return: scope:[init_screen] from init_screen::@2 return to:@return -@7: scope:[] from @begin - (byte[]) plot_yhi#34 ← phi( @begin/(byte[]) plot_yhi#0 ) - (byte[]) plot_ylo#34 ← phi( @begin/(byte[]) plot_ylo#0 ) +@10: scope:[] from @begin + (byte[]) plot_yhi#47 ← phi( @begin/(byte[]) plot_yhi#0 ) + (byte[]) plot_ylo#47 ← phi( @begin/(byte[]) plot_ylo#0 ) (byte) lines_cnt#9 ← phi( @begin/(byte) lines_cnt#0 ) (byte[]) lines_y#9 ← phi( @begin/(byte[]) lines_y#0 ) (byte[]) lines_x#9 ← phi( @begin/(byte[]) lines_x#0 ) (byte*) SCREEN#6 ← phi( @begin/(byte*) SCREEN#0 ) - (byte[]) plot_bit#26 ← phi( @begin/(byte[]) plot_bit#0 ) - (byte[]) plot_xhi#26 ← phi( @begin/(byte[]) plot_xhi#0 ) - (byte[]) plot_xlo#26 ← phi( @begin/(byte[]) plot_xlo#0 ) + (byte[]) plot_bit#36 ← phi( @begin/(byte[]) plot_bit#0 ) + (byte[]) plot_xhi#36 ← phi( @begin/(byte[]) plot_xhi#0 ) + (byte[]) plot_xlo#36 ← phi( @begin/(byte[]) plot_xlo#0 ) (byte*) BITMAP#7 ← phi( @begin/(byte*) BITMAP#0 ) (byte*) D018#2 ← phi( @begin/(byte*) D018#0 ) (byte*) D011#2 ← phi( @begin/(byte*) D011#0 ) @@ -2561,14 +3849,14 @@ init_screen::@return: scope:[init_screen] from init_screen::@2 (byte*) FGCOL#2 ← phi( @begin/(byte*) FGCOL#0 ) (byte*) BGCOL#2 ← phi( @begin/(byte*) BGCOL#0 ) call main param-assignment - to:@8 -@8: scope:[] from @7 + to:@11 +@11: scope:[] from @10 to:@end -@end: scope:[] from @8 +@end: scope:[] from @11 INITIAL SSA SYMBOL TABLE -(label) @7 -(label) @8 +(label) @10 +(label) @11 (label) @begin (label) @end (byte*) BGCOL @@ -2700,10 +3988,19 @@ INITIAL SSA SYMBOL TABLE (void()) line((byte) line::x0 , (byte) line::x1 , (byte) line::y0 , (byte) line::y1) (boolean~) line::$0 (boolean~) line::$1 -(byte~) line::$13 -(boolean~) line::$14 -(boolean~) line::$15 +(byte~) line::$10 +(boolean~) line::$11 +(boolean~) line::$12 +(byte~) line::$15 +(boolean~) line::$16 +(boolean~) line::$17 +(byte~) line::$18 +(boolean~) line::$19 (byte~) line::$2 +(boolean~) line::$20 +(byte~) line::$23 +(boolean~) line::$24 +(boolean~) line::$25 (boolean~) line::$3 (boolean~) line::$4 (byte~) line::$5 @@ -2711,25 +4008,34 @@ INITIAL SSA SYMBOL TABLE (boolean~) line::$7 (label) line::@1 (label) line::@10 -(label) line::@11 +(label) line::@13 (label) line::@15 +(label) line::@16 (label) line::@17 -(label) line::@18 -(label) line::@19 (label) line::@2 (label) line::@20 -(label) line::@21 -(label) line::@22 (label) line::@23 (label) line::@24 -(label) line::@25 +(label) line::@27 +(label) line::@29 (label) line::@3 -(label) line::@7 +(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 @@ -2756,11 +4062,25 @@ INITIAL SSA SYMBOL TABLE (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 @@ -2775,6 +4095,7 @@ INITIAL SSA SYMBOL TABLE (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 @@ -2786,6 +4107,81 @@ INITIAL SSA SYMBOL TABLE (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~) line_xdyd::$2 +(byte~) line_xdyd::$3 +(boolean~) line_xdyd::$4 +(boolean~) line_xdyd::$5 +(byte~) line_xdyd::$6 +(byte~) line_xdyd::$7 +(byte~) line_xdyd::$8 +(boolean~) line_xdyd::$9 +(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~) line_xdyi::$2 @@ -2817,6 +4213,7 @@ INITIAL SSA SYMBOL TABLE (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 @@ -2824,6 +4221,7 @@ INITIAL SSA SYMBOL TABLE (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 @@ -2831,6 +4229,7 @@ INITIAL SSA SYMBOL TABLE (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 @@ -2839,6 +4238,7 @@ INITIAL SSA SYMBOL TABLE (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 @@ -2846,6 +4246,137 @@ INITIAL SSA SYMBOL TABLE (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~) line_ydxd::$2 +(byte~) line_ydxd::$3 +(boolean~) line_ydxd::$4 +(boolean~) line_ydxd::$5 +(byte~) line_ydxd::$6 +(byte~) line_ydxd::$7 +(byte~) line_ydxd::$8 +(boolean~) line_ydxd::$9 +(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::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~) line_ydxi::$2 +(byte~) line_ydxi::$3 +(boolean~) line_ydxi::$4 +(boolean~) line_ydxi::$5 +(byte~) line_ydxi::$6 +(byte~) line_ydxi::$7 +(byte~) line_ydxi::$8 +(boolean~) line_ydxi::$9 +(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~) lines::$0 (byte~) lines::$1 @@ -2930,22 +4461,12 @@ INITIAL SSA SYMBOL TABLE (byte) plot::x#2 (byte) plot::x#3 (byte) plot::x#4 -(byte) plot::x#5 -(byte) plot::x#6 -(byte) plot::x#7 -(byte) plot::x#8 -(byte) plot::x#9 (byte) plot::y (byte) plot::y#0 (byte) plot::y#1 (byte) plot::y#2 (byte) plot::y#3 (byte) plot::y#4 -(byte) plot::y#5 -(byte) plot::y#6 -(byte) plot::y#7 -(byte) plot::y#8 -(byte) plot::y#9 (byte[]) plot_bit (byte[]) plot_bit#0 (byte[]) plot_bit#1 @@ -2974,7 +4495,24 @@ INITIAL SSA SYMBOL TABLE (byte[]) plot_bit#30 (byte[]) plot_bit#31 (byte[]) plot_bit#32 +(byte[]) plot_bit#33 +(byte[]) plot_bit#34 +(byte[]) plot_bit#35 +(byte[]) plot_bit#36 +(byte[]) plot_bit#37 +(byte[]) plot_bit#38 +(byte[]) plot_bit#39 (byte[]) plot_bit#4 +(byte[]) plot_bit#40 +(byte[]) plot_bit#41 +(byte[]) plot_bit#42 +(byte[]) plot_bit#43 +(byte[]) plot_bit#44 +(byte[]) plot_bit#45 +(byte[]) plot_bit#46 +(byte[]) plot_bit#47 +(byte[]) plot_bit#48 +(byte[]) plot_bit#49 (byte[]) plot_bit#5 (byte[]) plot_bit#6 (byte[]) plot_bit#7 @@ -3008,7 +4546,24 @@ INITIAL SSA SYMBOL TABLE (byte[]) plot_xhi#30 (byte[]) plot_xhi#31 (byte[]) plot_xhi#32 +(byte[]) plot_xhi#33 +(byte[]) plot_xhi#34 +(byte[]) plot_xhi#35 +(byte[]) plot_xhi#36 +(byte[]) plot_xhi#37 +(byte[]) plot_xhi#38 +(byte[]) plot_xhi#39 (byte[]) plot_xhi#4 +(byte[]) plot_xhi#40 +(byte[]) plot_xhi#41 +(byte[]) plot_xhi#42 +(byte[]) plot_xhi#43 +(byte[]) plot_xhi#44 +(byte[]) plot_xhi#45 +(byte[]) plot_xhi#46 +(byte[]) plot_xhi#47 +(byte[]) plot_xhi#48 +(byte[]) plot_xhi#49 (byte[]) plot_xhi#5 (byte[]) plot_xhi#6 (byte[]) plot_xhi#7 @@ -3042,7 +4597,24 @@ INITIAL SSA SYMBOL TABLE (byte[]) plot_xlo#30 (byte[]) plot_xlo#31 (byte[]) plot_xlo#32 +(byte[]) plot_xlo#33 +(byte[]) plot_xlo#34 +(byte[]) plot_xlo#35 +(byte[]) plot_xlo#36 +(byte[]) plot_xlo#37 +(byte[]) plot_xlo#38 +(byte[]) plot_xlo#39 (byte[]) plot_xlo#4 +(byte[]) plot_xlo#40 +(byte[]) plot_xlo#41 +(byte[]) plot_xlo#42 +(byte[]) plot_xlo#43 +(byte[]) plot_xlo#44 +(byte[]) plot_xlo#45 +(byte[]) plot_xlo#46 +(byte[]) plot_xlo#47 +(byte[]) plot_xlo#48 +(byte[]) plot_xlo#49 (byte[]) plot_xlo#5 (byte[]) plot_xlo#6 (byte[]) plot_xlo#7 @@ -3080,8 +4652,25 @@ INITIAL SSA SYMBOL TABLE (byte[]) plot_yhi#34 (byte[]) plot_yhi#35 (byte[]) plot_yhi#36 +(byte[]) plot_yhi#37 +(byte[]) plot_yhi#38 +(byte[]) plot_yhi#39 (byte[]) plot_yhi#4 +(byte[]) plot_yhi#40 +(byte[]) plot_yhi#41 +(byte[]) plot_yhi#42 +(byte[]) plot_yhi#43 +(byte[]) plot_yhi#44 +(byte[]) plot_yhi#45 +(byte[]) plot_yhi#46 +(byte[]) plot_yhi#47 +(byte[]) plot_yhi#48 +(byte[]) plot_yhi#49 (byte[]) plot_yhi#5 +(byte[]) plot_yhi#50 +(byte[]) plot_yhi#51 +(byte[]) plot_yhi#52 +(byte[]) plot_yhi#53 (byte[]) plot_yhi#6 (byte[]) plot_yhi#7 (byte[]) plot_yhi#8 @@ -3118,19 +4707,39 @@ INITIAL SSA SYMBOL TABLE (byte[]) plot_ylo#34 (byte[]) plot_ylo#35 (byte[]) plot_ylo#36 +(byte[]) plot_ylo#37 +(byte[]) plot_ylo#38 +(byte[]) plot_ylo#39 (byte[]) plot_ylo#4 +(byte[]) plot_ylo#40 +(byte[]) plot_ylo#41 +(byte[]) plot_ylo#42 +(byte[]) plot_ylo#43 +(byte[]) plot_ylo#44 +(byte[]) plot_ylo#45 +(byte[]) plot_ylo#46 +(byte[]) plot_ylo#47 +(byte[]) plot_ylo#48 +(byte[]) plot_ylo#49 (byte[]) plot_ylo#5 +(byte[]) plot_ylo#50 +(byte[]) plot_ylo#51 +(byte[]) plot_ylo#52 +(byte[]) plot_ylo#53 (byte[]) plot_ylo#6 (byte[]) plot_ylo#7 (byte[]) plot_ylo#8 (byte[]) plot_ylo#9 -Culled Empty Block (label) line::@18 -Culled Empty Block (label) line::@20 -Culled Empty Block (label) line::@21 -Culled Empty Block (label) line::@23 -Culled Empty Block (label) line::@25 -Culled Empty Block (label) @8 +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 CONTROL FLOW GRAPH @begin: scope:[] from @@ -3158,25 +4767,25 @@ CONTROL FLOW GRAPH (byte[]) lines_x#0 ← { (byte) 60, (byte) 80, (byte) 110, (byte) 80, (byte) 60, (byte) 40, (byte) 10, (byte) 40, (byte) 60 } (byte[]) lines_y#0 ← { (byte) 10, (byte) 40, (byte) 60, (byte) 80, (byte) 110, (byte) 80, (byte) 60, (byte) 40, (byte) 10 } (byte) lines_cnt#0 ← (byte) 8 - to:@7 -main: scope:[main] from @7 - (byte[]) plot_yhi#32 ← phi( @7/(byte[]) plot_yhi#34 ) - (byte[]) plot_ylo#32 ← phi( @7/(byte[]) plot_ylo#34 ) - (byte) lines_cnt#8 ← phi( @7/(byte) lines_cnt#9 ) - (byte[]) lines_y#8 ← phi( @7/(byte[]) lines_y#9 ) - (byte[]) lines_x#8 ← phi( @7/(byte[]) lines_x#9 ) - (byte*) SCREEN#5 ← phi( @7/(byte*) SCREEN#6 ) - (byte[]) plot_bit#21 ← phi( @7/(byte[]) plot_bit#26 ) - (byte[]) plot_xhi#21 ← phi( @7/(byte[]) plot_xhi#26 ) - (byte[]) plot_xlo#21 ← phi( @7/(byte[]) plot_xlo#26 ) - (byte*) BITMAP#6 ← phi( @7/(byte*) BITMAP#7 ) - (byte*) D018#1 ← phi( @7/(byte*) D018#2 ) - (byte*) D011#1 ← phi( @7/(byte*) D011#2 ) - (byte) RSEL#1 ← phi( @7/(byte) RSEL#2 ) - (byte) DEN#1 ← phi( @7/(byte) DEN#2 ) - (byte) BMM#1 ← phi( @7/(byte) BMM#2 ) - (byte*) FGCOL#1 ← phi( @7/(byte*) FGCOL#2 ) - (byte*) BGCOL#1 ← phi( @7/(byte*) BGCOL#2 ) + to:@10 +main: scope:[main] from @10 + (byte[]) plot_yhi#45 ← phi( @10/(byte[]) plot_yhi#47 ) + (byte[]) plot_ylo#45 ← phi( @10/(byte[]) plot_ylo#47 ) + (byte) lines_cnt#8 ← phi( @10/(byte) lines_cnt#9 ) + (byte[]) lines_y#8 ← phi( @10/(byte[]) lines_y#9 ) + (byte[]) lines_x#8 ← phi( @10/(byte[]) lines_x#9 ) + (byte*) SCREEN#5 ← phi( @10/(byte*) SCREEN#6 ) + (byte[]) plot_bit#19 ← phi( @10/(byte[]) plot_bit#36 ) + (byte[]) plot_xhi#19 ← phi( @10/(byte[]) plot_xhi#36 ) + (byte[]) plot_xlo#19 ← phi( @10/(byte[]) plot_xlo#36 ) + (byte*) BITMAP#6 ← phi( @10/(byte*) BITMAP#7 ) + (byte*) D018#1 ← phi( @10/(byte*) D018#2 ) + (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) 0 *((byte*) FGCOL#1) ← (byte) 0 (byte~) main::$0 ← (byte) BMM#1 | (byte) DEN#1 @@ -3187,44 +4796,44 @@ main: scope:[main] from @7 call init_screen param-assignment to:main::@3 main::@3: scope:[main] from main - (byte[]) plot_yhi#31 ← phi( main/(byte[]) plot_yhi#32 ) - (byte[]) plot_ylo#31 ← phi( main/(byte[]) plot_ylo#32 ) + (byte[]) plot_yhi#44 ← phi( main/(byte[]) plot_yhi#45 ) + (byte[]) plot_ylo#44 ← phi( main/(byte[]) plot_ylo#45 ) (byte) lines_cnt#7 ← phi( main/(byte) lines_cnt#8 ) (byte[]) lines_y#7 ← phi( main/(byte[]) lines_y#8 ) (byte[]) lines_x#7 ← phi( main/(byte[]) lines_x#8 ) - (byte[]) plot_bit#19 ← phi( main/(byte[]) plot_bit#21 ) - (byte[]) plot_xhi#19 ← phi( main/(byte[]) plot_xhi#21 ) + (byte[]) plot_bit#17 ← phi( main/(byte[]) plot_bit#19 ) + (byte[]) plot_xhi#17 ← phi( main/(byte[]) plot_xhi#19 ) (byte*) BITMAP#8 ← phi( main/(byte*) BITMAP#6 ) - (byte[]) plot_xlo#19 ← phi( main/(byte[]) plot_xlo#21 ) + (byte[]) plot_xlo#17 ← phi( main/(byte[]) plot_xlo#19 ) call init_plot_tables param-assignment to:main::@4 main::@4: scope:[main] from main::@3 - (byte[]) plot_bit#31 ← phi( main::@3/(byte[]) plot_bit#19 ) - (byte[]) plot_ylo#35 ← phi( main::@3/(byte[]) plot_ylo#31 ) - (byte[]) plot_yhi#35 ← phi( main::@3/(byte[]) plot_yhi#31 ) - (byte[]) plot_xlo#31 ← phi( main::@3/(byte[]) plot_xlo#19 ) - (byte[]) plot_xhi#31 ← phi( main::@3/(byte[]) plot_xhi#19 ) + (byte[]) plot_bit#48 ← phi( main::@3/(byte[]) plot_bit#17 ) + (byte[]) plot_ylo#52 ← phi( main::@3/(byte[]) plot_ylo#44 ) + (byte[]) plot_yhi#52 ← phi( main::@3/(byte[]) plot_yhi#44 ) + (byte[]) plot_xlo#48 ← phi( main::@3/(byte[]) plot_xlo#17 ) + (byte[]) plot_xhi#48 ← phi( main::@3/(byte[]) plot_xhi#17 ) (byte) lines_cnt#5 ← phi( main::@3/(byte) lines_cnt#7 ) (byte[]) lines_y#5 ← phi( main::@3/(byte[]) lines_y#7 ) (byte[]) lines_x#5 ← phi( main::@3/(byte[]) lines_x#7 ) to:main::@1 main::@1: scope:[main] from main::@4 main::@5 - (byte[]) plot_bit#30 ← phi( main::@4/(byte[]) plot_bit#31 main::@5/(byte[]) plot_bit#32 ) - (byte[]) plot_ylo#33 ← phi( main::@4/(byte[]) plot_ylo#35 main::@5/(byte[]) plot_ylo#36 ) - (byte[]) plot_yhi#33 ← phi( main::@4/(byte[]) plot_yhi#35 main::@5/(byte[]) plot_yhi#36 ) - (byte[]) plot_xlo#30 ← phi( main::@4/(byte[]) plot_xlo#31 main::@5/(byte[]) plot_xlo#32 ) - (byte[]) plot_xhi#30 ← phi( main::@4/(byte[]) plot_xhi#31 main::@5/(byte[]) plot_xhi#32 ) + (byte[]) plot_bit#47 ← phi( main::@4/(byte[]) plot_bit#48 main::@5/(byte[]) plot_bit#49 ) + (byte[]) plot_ylo#51 ← phi( main::@4/(byte[]) plot_ylo#52 main::@5/(byte[]) plot_ylo#53 ) + (byte[]) plot_yhi#51 ← phi( main::@4/(byte[]) plot_yhi#52 main::@5/(byte[]) plot_yhi#53 ) + (byte[]) plot_xlo#47 ← phi( main::@4/(byte[]) plot_xlo#48 main::@5/(byte[]) plot_xlo#49 ) + (byte[]) plot_xhi#47 ← phi( main::@4/(byte[]) plot_xhi#48 main::@5/(byte[]) plot_xhi#49 ) (byte) lines_cnt#4 ← phi( main::@4/(byte) lines_cnt#5 main::@5/(byte) lines_cnt#6 ) (byte[]) lines_y#4 ← phi( main::@4/(byte[]) lines_y#5 main::@5/(byte[]) lines_y#6 ) (byte[]) lines_x#4 ← phi( main::@4/(byte[]) lines_x#5 main::@5/(byte[]) lines_x#6 ) call lines param-assignment to:main::@5 main::@5: scope:[main] from main::@1 - (byte[]) plot_bit#32 ← phi( main::@1/(byte[]) plot_bit#30 ) - (byte[]) plot_ylo#36 ← phi( main::@1/(byte[]) plot_ylo#33 ) - (byte[]) plot_yhi#36 ← phi( main::@1/(byte[]) plot_yhi#33 ) - (byte[]) plot_xlo#32 ← phi( main::@1/(byte[]) plot_xlo#30 ) - (byte[]) plot_xhi#32 ← phi( main::@1/(byte[]) plot_xhi#30 ) + (byte[]) plot_bit#49 ← phi( main::@1/(byte[]) plot_bit#47 ) + (byte[]) plot_ylo#53 ← phi( main::@1/(byte[]) plot_ylo#51 ) + (byte[]) plot_yhi#53 ← phi( main::@1/(byte[]) plot_yhi#51 ) + (byte[]) plot_xlo#49 ← phi( main::@1/(byte[]) plot_xlo#47 ) + (byte[]) plot_xhi#49 ← phi( main::@1/(byte[]) plot_xhi#47 ) (byte) lines_cnt#6 ← phi( main::@1/(byte) lines_cnt#4 ) (byte[]) lines_y#6 ← phi( main::@1/(byte[]) lines_y#4 ) (byte[]) lines_x#6 ← phi( main::@1/(byte[]) lines_x#4 ) @@ -3234,22 +4843,22 @@ main::@return: scope:[main] from main::@5 return to:@return lines: scope:[lines] from main::@1 - (byte[]) plot_bit#28 ← phi( main::@1/(byte[]) plot_bit#30 ) - (byte[]) plot_ylo#29 ← phi( main::@1/(byte[]) plot_ylo#33 ) - (byte[]) plot_yhi#29 ← phi( main::@1/(byte[]) plot_yhi#33 ) - (byte[]) plot_xlo#28 ← phi( main::@1/(byte[]) plot_xlo#30 ) - (byte[]) plot_xhi#28 ← phi( main::@1/(byte[]) plot_xhi#30 ) + (byte[]) plot_bit#45 ← phi( main::@1/(byte[]) plot_bit#47 ) + (byte[]) plot_ylo#49 ← phi( main::@1/(byte[]) plot_ylo#51 ) + (byte[]) plot_yhi#49 ← phi( main::@1/(byte[]) plot_yhi#51 ) + (byte[]) plot_xlo#45 ← phi( main::@1/(byte[]) plot_xlo#47 ) + (byte[]) plot_xhi#45 ← phi( main::@1/(byte[]) plot_xhi#47 ) (byte) lines_cnt#3 ← phi( main::@1/(byte) lines_cnt#4 ) (byte[]) lines_y#2 ← phi( main::@1/(byte[]) lines_y#4 ) (byte[]) lines_x#2 ← phi( main::@1/(byte[]) lines_x#4 ) (byte) lines::l#0 ← (byte) 0 to:lines::@1 lines::@1: scope:[lines] from lines lines::@3 - (byte[]) plot_bit#27 ← phi( lines/(byte[]) plot_bit#28 lines::@3/(byte[]) plot_bit#29 ) - (byte[]) plot_ylo#27 ← phi( lines/(byte[]) plot_ylo#29 lines::@3/(byte[]) plot_ylo#30 ) - (byte[]) plot_yhi#27 ← phi( lines/(byte[]) plot_yhi#29 lines::@3/(byte[]) plot_yhi#30 ) - (byte[]) plot_xlo#27 ← phi( lines/(byte[]) plot_xlo#28 lines::@3/(byte[]) plot_xlo#29 ) - (byte[]) plot_xhi#27 ← phi( lines/(byte[]) plot_xhi#28 lines::@3/(byte[]) plot_xhi#29 ) + (byte[]) plot_bit#44 ← phi( lines/(byte[]) plot_bit#45 lines::@3/(byte[]) plot_bit#46 ) + (byte[]) plot_ylo#48 ← phi( lines/(byte[]) plot_ylo#49 lines::@3/(byte[]) plot_ylo#50 ) + (byte[]) plot_yhi#48 ← phi( lines/(byte[]) plot_yhi#49 lines::@3/(byte[]) plot_yhi#50 ) + (byte[]) plot_xlo#44 ← phi( lines/(byte[]) plot_xlo#45 lines::@3/(byte[]) plot_xlo#46 ) + (byte[]) plot_xhi#44 ← phi( lines/(byte[]) plot_xhi#45 lines::@3/(byte[]) plot_xhi#46 ) (byte) lines_cnt#2 ← phi( lines/(byte) lines_cnt#3 lines::@3/(byte) lines_cnt#1 ) (byte[]) lines_y#1 ← phi( lines/(byte[]) lines_y#2 lines::@3/(byte[]) lines_y#3 ) (byte) lines::l#2 ← phi( lines/(byte) lines::l#0 lines::@3/(byte) lines::l#1 ) @@ -3267,11 +4876,11 @@ lines::@1: scope:[lines] from lines lines::@3 call line param-assignment to:lines::@3 lines::@3: scope:[lines] from lines::@1 - (byte[]) plot_bit#29 ← phi( lines::@1/(byte[]) plot_bit#27 ) - (byte[]) plot_ylo#30 ← phi( lines::@1/(byte[]) plot_ylo#27 ) - (byte[]) plot_yhi#30 ← phi( lines::@1/(byte[]) plot_yhi#27 ) - (byte[]) plot_xlo#29 ← phi( lines::@1/(byte[]) plot_xlo#27 ) - (byte[]) plot_xhi#29 ← phi( lines::@1/(byte[]) plot_xhi#27 ) + (byte[]) plot_bit#46 ← phi( lines::@1/(byte[]) plot_bit#44 ) + (byte[]) plot_ylo#50 ← phi( lines::@1/(byte[]) plot_ylo#48 ) + (byte[]) plot_yhi#50 ← phi( lines::@1/(byte[]) plot_yhi#48 ) + (byte[]) plot_xlo#46 ← phi( lines::@1/(byte[]) plot_xlo#44 ) + (byte[]) plot_xhi#46 ← phi( lines::@1/(byte[]) plot_xhi#44 ) (byte[]) lines_y#3 ← phi( lines::@1/(byte[]) lines_y#1 ) (byte[]) lines_x#3 ← phi( lines::@1/(byte[]) lines_x#1 ) (byte) lines_cnt#1 ← phi( lines::@1/(byte) lines_cnt#2 ) @@ -3284,43 +4893,43 @@ lines::@return: scope:[lines] from lines::@3 return to:@return line: scope:[line] from lines::@1 - (byte[]) plot_bit#22 ← phi( lines::@1/(byte[]) plot_bit#27 ) - (byte[]) plot_ylo#21 ← phi( lines::@1/(byte[]) plot_ylo#27 ) - (byte[]) plot_yhi#21 ← phi( lines::@1/(byte[]) plot_yhi#27 ) - (byte[]) plot_xlo#22 ← phi( lines::@1/(byte[]) plot_xlo#27 ) - (byte[]) plot_xhi#22 ← phi( lines::@1/(byte[]) plot_xhi#27 ) - (byte) line::y1#8 ← phi( lines::@1/(byte) line::y1#0 ) - (byte) line::y0#9 ← phi( lines::@1/(byte) line::y0#0 ) + (byte[]) plot_bit#43 ← phi( lines::@1/(byte[]) plot_bit#44 ) + (byte[]) plot_ylo#46 ← phi( lines::@1/(byte[]) plot_ylo#48 ) + (byte[]) plot_yhi#46 ← phi( lines::@1/(byte[]) plot_yhi#48 ) + (byte[]) plot_xlo#43 ← phi( lines::@1/(byte[]) plot_xlo#44 ) + (byte[]) plot_xhi#43 ← phi( lines::@1/(byte[]) plot_xhi#44 ) + (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::@9 -line::@1: scope:[line] from line - (byte[]) plot_bit#16 ← phi( line/(byte[]) plot_bit#22 ) - (byte[]) plot_ylo#16 ← phi( line/(byte[]) plot_ylo#21 ) - (byte[]) plot_yhi#16 ← phi( line/(byte[]) plot_yhi#21 ) - (byte[]) plot_xlo#16 ← phi( line/(byte[]) plot_xlo#22 ) - (byte[]) plot_xhi#16 ← phi( line/(byte[]) plot_xhi#22 ) - (byte) line::y1#1 ← phi( line/(byte) line::y1#8 ) - (byte) line::y0#1 ← phi( line/(byte) line::y0#9 ) - (byte) line::x0#2 ← phi( line/(byte) line::x0#1 ) - (byte) line::x1#2 ← phi( line/(byte) line::x1#1 ) - (byte~) line::$13 ← (byte) line::x1#2 - (byte) line::x0#2 - (byte) line::xd#0 ← (byte~) line::$13 - (boolean~) line::$14 ← (byte) line::y0#1 < (byte) line::y1#1 - (boolean~) line::$15 ← ! (boolean~) line::$14 - if((boolean~) line::$15) goto line::@7 to:line::@15 -line::@9: scope:[line] from line - (byte[]) plot_bit#14 ← phi( line/(byte[]) plot_bit#22 ) - (byte[]) plot_ylo#14 ← phi( line/(byte[]) plot_ylo#21 ) - (byte[]) plot_yhi#14 ← phi( line/(byte[]) plot_yhi#21 ) - (byte[]) plot_xlo#14 ← phi( line/(byte[]) plot_xlo#22 ) - (byte[]) plot_xhi#14 ← phi( line/(byte[]) plot_xhi#22 ) - (byte) line::y1#2 ← phi( line/(byte) line::y1#8 ) - (byte) line::y0#2 ← phi( line/(byte) line::y0#9 ) +line::@1: scope:[line] from line + (byte[]) plot_bit#42 ← phi( line/(byte[]) plot_bit#43 ) + (byte[]) plot_ylo#43 ← phi( line/(byte[]) plot_ylo#46 ) + (byte[]) plot_yhi#43 ← phi( line/(byte[]) plot_yhi#46 ) + (byte[]) plot_xlo#42 ← phi( line/(byte[]) plot_xlo#43 ) + (byte[]) plot_xhi#42 ← phi( line/(byte[]) plot_xhi#43 ) + (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~) line::$15 ← (byte) line::x0#2 - (byte) line::x1#2 + (byte) line::xd#0 ← (byte~) 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[]) plot_bit#41 ← phi( line/(byte[]) plot_bit#43 ) + (byte[]) plot_ylo#42 ← phi( line/(byte[]) plot_ylo#46 ) + (byte[]) plot_yhi#42 ← phi( line/(byte[]) plot_yhi#46 ) + (byte[]) plot_xlo#41 ← phi( line/(byte[]) plot_xlo#43 ) + (byte[]) plot_xhi#41 ← phi( line/(byte[]) plot_xhi#43 ) + (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~) line::$2 ← (byte) line::x1#3 - (byte) line::x0#3 @@ -3328,257 +4937,588 @@ line::@9: scope:[line] from line (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::@10 -line::@2: scope:[line] from line::@9 - (byte[]) plot_bit#6 ← phi( line::@9/(byte[]) plot_bit#14 ) - (byte[]) plot_ylo#6 ← phi( line::@9/(byte[]) plot_ylo#14 ) - (byte[]) plot_yhi#6 ← phi( line::@9/(byte[]) plot_yhi#14 ) - (byte[]) plot_xlo#6 ← phi( line::@9/(byte[]) plot_xlo#14 ) - (byte[]) plot_xhi#6 ← phi( line::@9/(byte[]) plot_xhi#14 ) - (byte) line::y1#9 ← phi( line::@9/(byte) line::y1#2 ) - (byte) line::x1#9 ← phi( line::@9/(byte) line::x1#3 ) - (byte) line::y0#3 ← phi( line::@9/(byte) line::y0#2 ) - (byte) line::x0#4 ← phi( line::@9/(byte) line::x0#3 ) - (byte) plot::x#0 ← (byte) line::x0#4 - (byte) plot::y#0 ← (byte) line::y0#3 - call plot param-assignment - to:line::@17 -line::@17: scope:[line] from line::@2 - (byte[]) plot_bit#4 ← phi( line::@2/(byte[]) plot_bit#6 ) - (byte[]) plot_ylo#4 ← phi( line::@2/(byte[]) plot_ylo#6 ) - (byte[]) plot_yhi#4 ← phi( line::@2/(byte[]) plot_yhi#6 ) - (byte[]) plot_xlo#4 ← phi( line::@2/(byte[]) plot_xlo#6 ) - (byte[]) plot_xhi#4 ← phi( line::@2/(byte[]) plot_xhi#6 ) - (byte) line::y1#3 ← phi( line::@2/(byte) line::y1#9 ) - (byte) line::x1#4 ← phi( line::@2/(byte) line::x1#9 ) - (byte) plot::x#1 ← (byte) line::x1#4 - (byte) plot::y#1 ← (byte) line::y1#3 - call plot param-assignment - to:line::@return -line::@10: scope:[line] from line::@9 - (byte[]) plot_bit#15 ← phi( line::@9/(byte[]) plot_bit#14 ) - (byte[]) plot_ylo#15 ← phi( line::@9/(byte[]) plot_ylo#14 ) - (byte[]) plot_yhi#15 ← phi( line::@9/(byte[]) plot_yhi#14 ) - (byte[]) plot_xlo#15 ← phi( line::@9/(byte[]) plot_xlo#14 ) - (byte[]) plot_xhi#15 ← phi( line::@9/(byte[]) plot_xhi#14 ) - (byte) line::x1#11 ← phi( line::@9/(byte) line::x1#3 ) - (byte) line::x0#9 ← phi( line::@9/(byte) line::x0#3 ) - (byte) line::xd#2 ← phi( line::@9/(byte) line::xd#1 ) - (byte) line::y0#4 ← phi( line::@9/(byte) line::y0#2 ) - (byte) line::y1#4 ← phi( line::@9/(byte) line::y1#2 ) + to:line::@16 +line::@2: scope:[line] from line::@15 + (byte[]) plot_bit#38 ← phi( line::@15/(byte[]) plot_bit#41 ) + (byte[]) plot_ylo#38 ← phi( line::@15/(byte[]) plot_ylo#42 ) + (byte[]) plot_yhi#38 ← phi( line::@15/(byte[]) plot_yhi#42 ) + (byte[]) plot_xlo#38 ← phi( line::@15/(byte[]) plot_xlo#41 ) + (byte[]) plot_xhi#38 ← phi( line::@15/(byte[]) plot_xhi#41 ) + (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~) line::$10 ← (byte) line::y0#3 - (byte) line::y1#3 + (byte) line::yd#0 ← (byte~) 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[]) plot_bit#37 ← phi( line::@15/(byte[]) plot_bit#41 ) + (byte[]) plot_ylo#37 ← phi( line::@15/(byte[]) plot_ylo#42 ) + (byte[]) plot_yhi#37 ← phi( line::@15/(byte[]) plot_yhi#42 ) + (byte[]) plot_xlo#37 ← phi( line::@15/(byte[]) plot_xlo#41 ) + (byte[]) plot_xhi#37 ← phi( line::@15/(byte[]) plot_xhi#41 ) + (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~) line::$5 ← (byte) line::y1#4 - (byte) line::y0#4 - (byte) line::yd#0 ← (byte~) line::$5 - (boolean~) line::$6 ← (byte) line::yd#0 < (byte) line::xd#2 + (byte) line::yd#1 ← (byte~) 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::@11 -line::@3: scope:[line] from line::@10 - (byte[]) plot_bit#9 ← phi( line::@10/(byte[]) plot_bit#15 ) - (byte[]) plot_ylo#9 ← phi( line::@10/(byte[]) plot_ylo#15 ) - (byte[]) plot_yhi#9 ← phi( line::@10/(byte[]) plot_yhi#15 ) - (byte[]) plot_xlo#9 ← phi( line::@10/(byte[]) plot_xlo#15 ) - (byte[]) plot_xhi#9 ← phi( line::@10/(byte[]) plot_xhi#15 ) - (byte) line::y1#10 ← phi( line::@10/(byte) line::y1#4 ) - (byte) line::x1#10 ← phi( line::@10/(byte) line::x1#11 ) - (byte) line::y0#5 ← phi( line::@10/(byte) line::y0#4 ) - (byte) line::x0#5 ← phi( line::@10/(byte) line::x0#9 ) - (byte) plot::x#2 ← (byte) line::x0#5 - (byte) plot::y#2 ← (byte) line::y0#5 - call plot param-assignment - to:line::@19 -line::@19: scope:[line] from line::@3 - (byte[]) plot_bit#5 ← phi( line::@3/(byte[]) plot_bit#9 ) - (byte[]) plot_ylo#5 ← phi( line::@3/(byte[]) plot_ylo#9 ) - (byte[]) plot_yhi#5 ← phi( line::@3/(byte[]) plot_yhi#9 ) - (byte[]) plot_xlo#5 ← phi( line::@3/(byte[]) plot_xlo#9 ) - (byte[]) plot_xhi#5 ← phi( line::@3/(byte[]) plot_xhi#9 ) - (byte) line::y1#5 ← phi( line::@3/(byte) line::y1#10 ) - (byte) line::x1#5 ← phi( line::@3/(byte) line::x1#10 ) - (byte) plot::x#3 ← (byte) line::x1#5 - (byte) plot::y#3 ← (byte) line::y1#5 - call plot param-assignment + to:line::@17 +line::@3: scope:[line] from line::@16 + (byte[]) plot_bit#29 ← phi( line::@16/(byte[]) plot_bit#37 ) + (byte[]) plot_ylo#28 ← phi( line::@16/(byte[]) plot_ylo#37 ) + (byte[]) plot_yhi#28 ← phi( line::@16/(byte[]) plot_yhi#37 ) + (byte[]) plot_xlo#29 ← phi( line::@16/(byte[]) plot_xlo#37 ) + (byte[]) plot_xhi#29 ← phi( line::@16/(byte[]) plot_xhi#37 ) + (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::@return -line::@11: scope:[line] from line::@10 - (byte[]) plot_bit#23 ← phi( line::@10/(byte[]) plot_bit#15 ) - (byte[]) plot_ylo#22 ← phi( line::@10/(byte[]) plot_ylo#15 ) - (byte[]) plot_yhi#22 ← phi( line::@10/(byte[]) plot_yhi#15 ) - (byte[]) plot_xlo#23 ← phi( line::@10/(byte[]) plot_xlo#15 ) - (byte[]) plot_xhi#23 ← phi( line::@10/(byte[]) plot_xhi#15 ) - (byte) line::yd#1 ← phi( line::@10/(byte) line::yd#0 ) - (byte) line::xd#3 ← phi( line::@10/(byte) line::xd#2 ) - (byte) line::x1#6 ← phi( line::@10/(byte) line::x1#11 ) - (byte) line::y0#6 ← phi( line::@10/(byte) line::y0#4 ) - (byte) line::x0#6 ← phi( line::@10/(byte) line::x0#9 ) - (byte) line_xdyi::x#0 ← (byte) line::x0#6 +line::@17: scope:[line] from line::@16 + (byte[]) plot_bit#20 ← phi( line::@16/(byte[]) plot_bit#37 ) + (byte[]) plot_ylo#19 ← phi( line::@16/(byte[]) plot_ylo#37 ) + (byte[]) plot_yhi#19 ← phi( line::@16/(byte[]) plot_yhi#37 ) + (byte[]) plot_xlo#20 ← phi( line::@16/(byte[]) plot_xlo#37 ) + (byte[]) plot_xhi#20 ← phi( line::@16/(byte[]) plot_xhi#37 ) + (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#6 - (byte) line_xdyi::xd#0 ← (byte) line::xd#3 - (byte) line_xdyi::yd#0 ← (byte) line::yd#1 + (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::@return -line::@7: scope:[line] from line::@1 - (byte[]) plot_bit#10 ← phi( line::@1/(byte[]) plot_bit#16 ) - (byte[]) plot_ylo#10 ← phi( line::@1/(byte[]) plot_ylo#16 ) - (byte[]) plot_yhi#10 ← phi( line::@1/(byte[]) plot_yhi#16 ) - (byte[]) plot_xlo#10 ← phi( line::@1/(byte[]) plot_xlo#16 ) - (byte[]) plot_xhi#10 ← phi( line::@1/(byte[]) plot_xhi#16 ) - (byte) line::y1#11 ← phi( line::@1/(byte) line::y1#1 ) - (byte) line::x1#12 ← phi( line::@1/(byte) line::x1#2 ) - (byte) line::y0#7 ← phi( line::@1/(byte) line::y0#1 ) - (byte) line::x0#7 ← phi( line::@1/(byte) line::x0#2 ) - (byte) plot::x#4 ← (byte) line::x0#7 - (byte) plot::y#4 ← (byte) line::y0#7 - call plot param-assignment - to:line::@22 -line::@22: scope:[line] from line::@7 - (byte[]) plot_bit#7 ← phi( line::@7/(byte[]) plot_bit#10 ) - (byte[]) plot_ylo#7 ← phi( line::@7/(byte[]) plot_ylo#10 ) - (byte[]) plot_yhi#7 ← phi( line::@7/(byte[]) plot_yhi#10 ) - (byte[]) plot_xlo#7 ← phi( line::@7/(byte[]) plot_xlo#10 ) - (byte[]) plot_xhi#7 ← phi( line::@7/(byte[]) plot_xhi#10 ) - (byte) line::y1#6 ← phi( line::@7/(byte) line::y1#11 ) - (byte) line::x1#7 ← phi( line::@7/(byte) line::x1#12 ) - (byte) plot::x#5 ← (byte) line::x1#7 - (byte) plot::y#5 ← (byte) line::y1#6 - call plot param-assignment +line::@6: scope:[line] from line::@2 + (byte[]) plot_bit#33 ← phi( line::@2/(byte[]) plot_bit#38 ) + (byte[]) plot_ylo#32 ← phi( line::@2/(byte[]) plot_ylo#38 ) + (byte[]) plot_yhi#32 ← phi( line::@2/(byte[]) plot_yhi#38 ) + (byte[]) plot_xlo#33 ← phi( line::@2/(byte[]) plot_xlo#38 ) + (byte[]) plot_xhi#33 ← phi( line::@2/(byte[]) plot_xhi#38 ) + (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::@return -line::@15: scope:[line] from line::@1 - (byte[]) plot_bit#3 ← phi( line::@1/(byte[]) plot_bit#16 ) - (byte[]) plot_ylo#3 ← phi( line::@1/(byte[]) plot_ylo#16 ) - (byte[]) plot_yhi#3 ← phi( line::@1/(byte[]) plot_yhi#16 ) - (byte[]) plot_xlo#3 ← phi( line::@1/(byte[]) plot_xlo#16 ) - (byte[]) plot_xhi#3 ← phi( line::@1/(byte[]) plot_xhi#16 ) - (byte) line::y1#12 ← phi( line::@1/(byte) line::y1#1 ) +line::@20: scope:[line] from line::@2 + (byte[]) plot_bit#24 ← phi( line::@2/(byte[]) plot_bit#38 ) + (byte[]) plot_ylo#23 ← phi( line::@2/(byte[]) plot_ylo#38 ) + (byte[]) plot_yhi#23 ← phi( line::@2/(byte[]) plot_yhi#38 ) + (byte[]) plot_xlo#24 ← phi( line::@2/(byte[]) plot_xlo#38 ) + (byte[]) plot_xhi#24 ← phi( line::@2/(byte[]) plot_xhi#38 ) + (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::@return +line::@9: scope:[line] from line::@1 + (byte[]) plot_bit#40 ← phi( line::@1/(byte[]) plot_bit#42 ) + (byte[]) plot_ylo#40 ← phi( line::@1/(byte[]) plot_ylo#43 ) + (byte[]) plot_yhi#40 ← phi( line::@1/(byte[]) plot_yhi#43 ) + (byte[]) plot_xlo#40 ← phi( line::@1/(byte[]) plot_xlo#42 ) + (byte[]) plot_xhi#40 ← phi( line::@1/(byte[]) plot_xhi#42 ) + (byte) line::x0#13 ← phi( line::@1/(byte) line::x0#2 ) (byte) line::x1#13 ← phi( line::@1/(byte) line::x1#2 ) - (byte) line::y0#8 ← phi( line::@1/(byte) line::y0#1 ) - (byte) line::x0#8 ← phi( line::@1/(byte) line::x0#2 ) - (byte) plot::x#6 ← (byte) line::x0#8 - (byte) plot::y#6 ← (byte) line::y0#8 - call plot param-assignment + (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~) line::$23 ← (byte) line::y0#9 - (byte) line::y1#7 + (byte) line::yd#2 ← (byte~) 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[]) plot_bit#39 ← phi( line::@1/(byte[]) plot_bit#42 ) + (byte[]) plot_ylo#39 ← phi( line::@1/(byte[]) plot_ylo#43 ) + (byte[]) plot_yhi#39 ← phi( line::@1/(byte[]) plot_yhi#43 ) + (byte[]) plot_xlo#39 ← phi( line::@1/(byte[]) plot_xlo#42 ) + (byte[]) plot_xhi#39 ← phi( line::@1/(byte[]) plot_xhi#42 ) + (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~) line::$18 ← (byte) line::y1#8 - (byte) line::y0#10 + (byte) line::yd#3 ← (byte~) 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::@24: scope:[line] from line::@15 - (byte[]) plot_bit#8 ← phi( line::@15/(byte[]) plot_bit#3 ) - (byte[]) plot_ylo#8 ← phi( line::@15/(byte[]) plot_ylo#3 ) - (byte[]) plot_yhi#8 ← phi( line::@15/(byte[]) plot_yhi#3 ) - (byte[]) plot_xlo#8 ← phi( line::@15/(byte[]) plot_xlo#3 ) - (byte[]) plot_xhi#8 ← phi( line::@15/(byte[]) plot_xhi#3 ) - (byte) line::y1#7 ← phi( line::@15/(byte) line::y1#12 ) - (byte) line::x1#8 ← phi( line::@15/(byte) line::x1#13 ) - (byte) plot::x#7 ← (byte) line::x1#8 - (byte) plot::y#7 ← (byte) line::y1#7 - call plot param-assignment +line::@10: scope:[line] from line::@23 + (byte[]) plot_bit#32 ← phi( line::@23/(byte[]) plot_bit#39 ) + (byte[]) plot_ylo#31 ← phi( line::@23/(byte[]) plot_ylo#39 ) + (byte[]) plot_yhi#31 ← phi( line::@23/(byte[]) plot_yhi#39 ) + (byte[]) plot_xlo#32 ← phi( line::@23/(byte[]) plot_xlo#39 ) + (byte[]) plot_xhi#32 ← phi( line::@23/(byte[]) plot_xhi#39 ) + (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::@return -line::@return: scope:[line] from line::@11 line::@17 line::@19 line::@22 line::@24 +line::@24: scope:[line] from line::@23 + (byte[]) plot_bit#25 ← phi( line::@23/(byte[]) plot_bit#39 ) + (byte[]) plot_ylo#24 ← phi( line::@23/(byte[]) plot_ylo#39 ) + (byte[]) plot_yhi#24 ← phi( line::@23/(byte[]) plot_yhi#39 ) + (byte[]) plot_xlo#25 ← phi( line::@23/(byte[]) plot_xlo#39 ) + (byte[]) plot_xhi#25 ← phi( line::@23/(byte[]) plot_xhi#39 ) + (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::@return +line::@13: scope:[line] from line::@9 + (byte[]) plot_bit#28 ← phi( line::@9/(byte[]) plot_bit#40 ) + (byte[]) plot_ylo#27 ← phi( line::@9/(byte[]) plot_ylo#40 ) + (byte[]) plot_yhi#27 ← phi( line::@9/(byte[]) plot_yhi#40 ) + (byte[]) plot_xlo#28 ← phi( line::@9/(byte[]) plot_xlo#40 ) + (byte[]) plot_xhi#28 ← phi( line::@9/(byte[]) plot_xhi#40 ) + (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::@return +line::@27: scope:[line] from line::@9 + (byte[]) plot_bit#21 ← phi( line::@9/(byte[]) plot_bit#40 ) + (byte[]) plot_ylo#20 ← phi( line::@9/(byte[]) plot_ylo#40 ) + (byte[]) plot_yhi#20 ← phi( line::@9/(byte[]) plot_yhi#40 ) + (byte[]) plot_xlo#21 ← phi( line::@9/(byte[]) plot_xlo#40 ) + (byte[]) plot_xhi#21 ← phi( line::@9/(byte[]) plot_xhi#40 ) + (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::@return +line::@return: scope:[line] from line::@10 line::@13 line::@17 line::@20 line::@24 line::@27 line::@3 line::@6 return to:@return -line_xdyi: scope:[line_xdyi] from line::@11 - (byte) line_xdyi::x1#5 ← phi( line::@11/(byte) line_xdyi::x1#0 ) - (byte[]) plot_bit#17 ← phi( line::@11/(byte[]) plot_bit#23 ) - (byte[]) plot_ylo#17 ← phi( line::@11/(byte[]) plot_ylo#22 ) - (byte[]) plot_yhi#17 ← phi( line::@11/(byte[]) plot_yhi#22 ) - (byte[]) plot_xlo#17 ← phi( line::@11/(byte[]) plot_xlo#23 ) - (byte[]) plot_xhi#17 ← phi( line::@11/(byte[]) plot_xhi#23 ) - (byte) line_xdyi::xd#4 ← phi( line::@11/(byte) line_xdyi::xd#0 ) - (byte) line_xdyi::y#4 ← phi( line::@11/(byte) line_xdyi::y#0 ) - (byte) line_xdyi::x#5 ← phi( line::@11/(byte) line_xdyi::x#0 ) - (byte) line_xdyi::yd#1 ← phi( line::@11/(byte) line_xdyi::yd#0 ) - (byte~) line_xdyi::$0 ← (byte) line_xdyi::yd#1 >> (byte) 1 +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[]) plot_bit#9 ← phi( line::@17/(byte[]) plot_bit#20 line::@27/(byte[]) plot_bit#21 ) + (byte[]) plot_ylo#9 ← phi( line::@17/(byte[]) plot_ylo#19 line::@27/(byte[]) plot_ylo#20 ) + (byte[]) plot_yhi#9 ← phi( line::@17/(byte[]) plot_yhi#19 line::@27/(byte[]) plot_yhi#20 ) + (byte[]) plot_xlo#9 ← phi( line::@17/(byte[]) plot_xlo#20 line::@27/(byte[]) plot_xlo#21 ) + (byte[]) plot_xhi#9 ← phi( line::@17/(byte[]) plot_xhi#20 line::@27/(byte[]) plot_xhi#21 ) + (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) 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#4 ← phi( line_xdyi/(byte) line_xdyi::x1#5 line_xdyi::@2/(byte) line_xdyi::x1#1 ) - (byte[]) plot_bit#11 ← phi( line_xdyi/(byte[]) plot_bit#17 line_xdyi::@2/(byte[]) plot_bit#18 ) - (byte[]) plot_ylo#11 ← phi( line_xdyi/(byte[]) plot_ylo#17 line_xdyi::@2/(byte[]) plot_ylo#18 ) - (byte[]) plot_yhi#11 ← phi( line_xdyi/(byte[]) plot_yhi#17 line_xdyi::@2/(byte[]) plot_yhi#18 ) - (byte[]) plot_xlo#11 ← phi( line_xdyi/(byte[]) plot_xlo#17 line_xdyi::@2/(byte[]) plot_xlo#18 ) - (byte[]) plot_xhi#11 ← phi( line_xdyi/(byte[]) plot_xhi#17 line_xdyi::@2/(byte[]) plot_xhi#18 ) - (byte) line_xdyi::xd#3 ← phi( line_xdyi/(byte) line_xdyi::xd#4 line_xdyi::@2/(byte) line_xdyi::xd#5 ) - (byte) line_xdyi::yd#3 ← phi( line_xdyi/(byte) line_xdyi::yd#1 line_xdyi::@2/(byte) line_xdyi::yd#4 ) + (byte) line_xdyi::x1#5 ← phi( line_xdyi/(byte) line_xdyi::x1#6 line_xdyi::@2/(byte) line_xdyi::x1#2 ) + (byte[]) plot_bit#4 ← phi( line_xdyi/(byte[]) plot_bit#9 line_xdyi::@2/(byte[]) plot_bit#10 ) + (byte[]) plot_ylo#4 ← phi( line_xdyi/(byte[]) plot_ylo#9 line_xdyi::@2/(byte[]) plot_ylo#10 ) + (byte[]) plot_yhi#4 ← phi( line_xdyi/(byte[]) plot_yhi#9 line_xdyi::@2/(byte[]) plot_yhi#10 ) + (byte[]) plot_xlo#4 ← phi( line_xdyi/(byte[]) plot_xlo#9 line_xdyi::@2/(byte[]) plot_xlo#10 ) + (byte[]) plot_xhi#4 ← phi( line_xdyi/(byte[]) plot_xhi#9 line_xdyi::@2/(byte[]) plot_xhi#10 ) + (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#2 ← phi( line_xdyi/(byte) line_xdyi::y#4 line_xdyi::@2/(byte) line_xdyi::y#5 ) - (byte) line_xdyi::x#2 ← phi( line_xdyi/(byte) line_xdyi::x#5 line_xdyi::@2/(byte) line_xdyi::x#4 ) - (byte) plot::x#8 ← (byte) line_xdyi::x#2 - (byte) plot::y#8 ← (byte) line_xdyi::y#2 + (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[]) plot_bit#25 ← phi( line_xdyi::@1/(byte[]) plot_bit#11 ) - (byte[]) plot_ylo#24 ← phi( line_xdyi::@1/(byte[]) plot_ylo#11 ) - (byte[]) plot_yhi#24 ← phi( line_xdyi::@1/(byte[]) plot_yhi#11 ) - (byte[]) plot_xlo#25 ← phi( line_xdyi::@1/(byte[]) plot_xlo#11 ) - (byte[]) plot_xhi#25 ← phi( line_xdyi::@1/(byte[]) plot_xhi#11 ) - (byte) line_xdyi::y#6 ← phi( line_xdyi::@1/(byte) line_xdyi::y#2 ) - (byte) line_xdyi::x1#3 ← phi( line_xdyi::@1/(byte) line_xdyi::x1#4 ) - (byte) line_xdyi::xd#1 ← phi( line_xdyi::@1/(byte) line_xdyi::xd#3 ) - (byte) line_xdyi::yd#2 ← phi( line_xdyi::@1/(byte) line_xdyi::yd#3 ) + (byte[]) plot_bit#23 ← phi( line_xdyi::@1/(byte[]) plot_bit#4 ) + (byte[]) plot_ylo#22 ← phi( line_xdyi::@1/(byte[]) plot_ylo#4 ) + (byte[]) plot_yhi#22 ← phi( line_xdyi::@1/(byte[]) plot_yhi#4 ) + (byte[]) plot_xlo#23 ← phi( line_xdyi::@1/(byte[]) plot_xlo#4 ) + (byte[]) plot_xhi#23 ← phi( line_xdyi::@1/(byte[]) plot_xhi#4 ) + (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#3 ← phi( line_xdyi::@1/(byte) line_xdyi::x#2 ) - (byte~) line_xdyi::$2 ← (byte) line_xdyi::x#3 + (byte) 1 - (byte) line_xdyi::x#1 ← (byte~) line_xdyi::$2 - (byte~) line_xdyi::$3 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#2 + (byte) line_xdyi::x#4 ← phi( line_xdyi::@1/(byte) line_xdyi::x#3 ) + (byte~) line_xdyi::$2 ← (byte) line_xdyi::x#4 + (byte) 1 + (byte) line_xdyi::x#2 ← (byte~) line_xdyi::$2 + (byte~) line_xdyi::$3 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#3 (byte) line_xdyi::e#1 ← (byte~) line_xdyi::$3 - (boolean~) line_xdyi::$4 ← (byte) line_xdyi::xd#1 < (byte) line_xdyi::e#1 + (boolean~) line_xdyi::$4 ← (byte) line_xdyi::xd#2 < (byte) line_xdyi::e#1 (boolean~) line_xdyi::$5 ← ! (boolean~) line_xdyi::$4 if((boolean~) line_xdyi::$5) goto line_xdyi::@2 to:line_xdyi::@3 line_xdyi::@2: scope:[line_xdyi] from line_xdyi::@3 line_xdyi::@5 - (byte[]) plot_bit#18 ← phi( line_xdyi::@3/(byte[]) plot_bit#24 line_xdyi::@5/(byte[]) plot_bit#25 ) - (byte[]) plot_ylo#18 ← phi( line_xdyi::@3/(byte[]) plot_ylo#23 line_xdyi::@5/(byte[]) plot_ylo#24 ) - (byte[]) plot_yhi#18 ← phi( line_xdyi::@3/(byte[]) plot_yhi#23 line_xdyi::@5/(byte[]) plot_yhi#24 ) - (byte[]) plot_xlo#18 ← phi( line_xdyi::@3/(byte[]) plot_xlo#24 line_xdyi::@5/(byte[]) plot_xlo#25 ) - (byte[]) plot_xhi#18 ← phi( line_xdyi::@3/(byte[]) plot_xhi#24 line_xdyi::@5/(byte[]) plot_xhi#25 ) - (byte) line_xdyi::xd#5 ← phi( line_xdyi::@3/(byte) line_xdyi::xd#2 line_xdyi::@5/(byte) line_xdyi::xd#1 ) - (byte) line_xdyi::yd#4 ← phi( line_xdyi::@3/(byte) line_xdyi::yd#5 line_xdyi::@5/(byte) line_xdyi::yd#2 ) + (byte[]) plot_bit#10 ← phi( line_xdyi::@3/(byte[]) plot_bit#22 line_xdyi::@5/(byte[]) plot_bit#23 ) + (byte[]) plot_ylo#10 ← phi( line_xdyi::@3/(byte[]) plot_ylo#21 line_xdyi::@5/(byte[]) plot_ylo#22 ) + (byte[]) plot_yhi#10 ← phi( line_xdyi::@3/(byte[]) plot_yhi#21 line_xdyi::@5/(byte[]) plot_yhi#22 ) + (byte[]) plot_xlo#10 ← phi( line_xdyi::@3/(byte[]) plot_xlo#22 line_xdyi::@5/(byte[]) plot_xlo#23 ) + (byte[]) plot_xhi#10 ← phi( line_xdyi::@3/(byte[]) plot_xhi#22 line_xdyi::@5/(byte[]) plot_xhi#23 ) + (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#5 ← phi( line_xdyi::@3/(byte) line_xdyi::y#1 line_xdyi::@5/(byte) line_xdyi::y#6 ) - (byte) line_xdyi::x#4 ← phi( line_xdyi::@3/(byte) line_xdyi::x#6 line_xdyi::@5/(byte) line_xdyi::x#1 ) - (byte) line_xdyi::x1#1 ← phi( line_xdyi::@3/(byte) line_xdyi::x1#2 line_xdyi::@5/(byte) line_xdyi::x1#3 ) - (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#1 + (byte) 1 - (boolean~) line_xdyi::$9 ← (byte) line_xdyi::x#4 < (byte~) line_xdyi::$8 + (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~) line_xdyi::$8 ← (byte) line_xdyi::x1#2 + (byte) 1 + (boolean~) line_xdyi::$9 ← (byte) line_xdyi::x#5 < (byte~) line_xdyi::$8 if((boolean~) line_xdyi::$9) goto line_xdyi::@1 to:line_xdyi::@return line_xdyi::@3: scope:[line_xdyi] from line_xdyi::@5 - (byte[]) plot_bit#24 ← phi( line_xdyi::@5/(byte[]) plot_bit#25 ) - (byte[]) plot_ylo#23 ← phi( line_xdyi::@5/(byte[]) plot_ylo#24 ) - (byte[]) plot_yhi#23 ← phi( line_xdyi::@5/(byte[]) plot_yhi#24 ) - (byte[]) plot_xlo#24 ← phi( line_xdyi::@5/(byte[]) plot_xlo#25 ) - (byte[]) plot_xhi#24 ← phi( line_xdyi::@5/(byte[]) plot_xhi#25 ) - (byte) line_xdyi::yd#5 ← phi( line_xdyi::@5/(byte) line_xdyi::yd#2 ) - (byte) line_xdyi::x#6 ← phi( line_xdyi::@5/(byte) line_xdyi::x#1 ) - (byte) line_xdyi::x1#2 ← phi( line_xdyi::@5/(byte) line_xdyi::x1#3 ) - (byte) line_xdyi::xd#2 ← phi( line_xdyi::@5/(byte) line_xdyi::xd#1 ) + (byte[]) plot_bit#22 ← phi( line_xdyi::@5/(byte[]) plot_bit#23 ) + (byte[]) plot_ylo#21 ← phi( line_xdyi::@5/(byte[]) plot_ylo#22 ) + (byte[]) plot_yhi#21 ← phi( line_xdyi::@5/(byte[]) plot_yhi#22 ) + (byte[]) plot_xlo#22 ← phi( line_xdyi::@5/(byte[]) plot_xlo#23 ) + (byte[]) plot_xhi#22 ← phi( line_xdyi::@5/(byte[]) plot_xhi#23 ) + (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#3 ← phi( line_xdyi::@5/(byte) line_xdyi::y#6 ) - (byte~) line_xdyi::$6 ← (byte) line_xdyi::y#3 + (byte) 1 - (byte) line_xdyi::y#1 ← (byte~) line_xdyi::$6 - (byte~) line_xdyi::$7 ← (byte) line_xdyi::e#4 - (byte) line_xdyi::xd#2 + (byte) line_xdyi::y#4 ← phi( line_xdyi::@5/(byte) line_xdyi::y#7 ) + (byte~) line_xdyi::$6 ← (byte) line_xdyi::y#4 + (byte) 1 + (byte) line_xdyi::y#2 ← (byte~) line_xdyi::$6 + (byte~) line_xdyi::$7 ← (byte) line_xdyi::e#4 - (byte) line_xdyi::xd#3 (byte) line_xdyi::e#2 ← (byte~) line_xdyi::$7 to:line_xdyi::@2 line_xdyi::@return: scope:[line_xdyi] from line_xdyi::@2 return to:@return -plot: scope:[plot] from line::@15 line::@17 line::@19 line::@2 line::@22 line::@24 line::@3 line::@7 line_xdyi::@1 - (byte[]) plot_bit#1 ← phi( line::@15/(byte[]) plot_bit#3 line::@17/(byte[]) plot_bit#4 line::@19/(byte[]) plot_bit#5 line::@2/(byte[]) plot_bit#6 line::@22/(byte[]) plot_bit#7 line::@24/(byte[]) plot_bit#8 line::@3/(byte[]) plot_bit#9 line::@7/(byte[]) plot_bit#10 line_xdyi::@1/(byte[]) plot_bit#11 ) - (byte[]) plot_ylo#1 ← phi( line::@15/(byte[]) plot_ylo#3 line::@17/(byte[]) plot_ylo#4 line::@19/(byte[]) plot_ylo#5 line::@2/(byte[]) plot_ylo#6 line::@22/(byte[]) plot_ylo#7 line::@24/(byte[]) plot_ylo#8 line::@3/(byte[]) plot_ylo#9 line::@7/(byte[]) plot_ylo#10 line_xdyi::@1/(byte[]) plot_ylo#11 ) - (byte) plot::y#9 ← phi( line::@15/(byte) plot::y#6 line::@17/(byte) plot::y#1 line::@19/(byte) plot::y#3 line::@2/(byte) plot::y#0 line::@22/(byte) plot::y#5 line::@24/(byte) plot::y#7 line::@3/(byte) plot::y#2 line::@7/(byte) plot::y#4 line_xdyi::@1/(byte) plot::y#8 ) - (byte[]) plot_yhi#1 ← phi( line::@15/(byte[]) plot_yhi#3 line::@17/(byte[]) plot_yhi#4 line::@19/(byte[]) plot_yhi#5 line::@2/(byte[]) plot_yhi#6 line::@22/(byte[]) plot_yhi#7 line::@24/(byte[]) plot_yhi#8 line::@3/(byte[]) plot_yhi#9 line::@7/(byte[]) plot_yhi#10 line_xdyi::@1/(byte[]) plot_yhi#11 ) - (byte[]) plot_xlo#1 ← phi( line::@15/(byte[]) plot_xlo#3 line::@17/(byte[]) plot_xlo#4 line::@19/(byte[]) plot_xlo#5 line::@2/(byte[]) plot_xlo#6 line::@22/(byte[]) plot_xlo#7 line::@24/(byte[]) plot_xlo#8 line::@3/(byte[]) plot_xlo#9 line::@7/(byte[]) plot_xlo#10 line_xdyi::@1/(byte[]) plot_xlo#11 ) - (byte) plot::x#9 ← phi( line::@15/(byte) plot::x#6 line::@17/(byte) plot::x#1 line::@19/(byte) plot::x#3 line::@2/(byte) plot::x#0 line::@22/(byte) plot::x#5 line::@24/(byte) plot::x#7 line::@3/(byte) plot::x#2 line::@7/(byte) plot::x#4 line_xdyi::@1/(byte) plot::x#8 ) - (byte[]) plot_xhi#1 ← phi( line::@15/(byte[]) plot_xhi#3 line::@17/(byte[]) plot_xhi#4 line::@19/(byte[]) plot_xhi#5 line::@2/(byte[]) plot_xhi#6 line::@22/(byte[]) plot_xhi#7 line::@24/(byte[]) plot_xhi#8 line::@3/(byte[]) plot_xhi#9 line::@7/(byte[]) plot_xhi#10 line_xdyi::@1/(byte[]) plot_xhi#11 ) +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[]) plot_bit#11 ← phi( line::@20/(byte[]) plot_bit#24 line::@24/(byte[]) plot_bit#25 ) + (byte[]) plot_ylo#11 ← phi( line::@20/(byte[]) plot_ylo#23 line::@24/(byte[]) plot_ylo#24 ) + (byte[]) plot_yhi#11 ← phi( line::@20/(byte[]) plot_yhi#23 line::@24/(byte[]) plot_yhi#24 ) + (byte[]) plot_xlo#11 ← phi( line::@20/(byte[]) plot_xlo#24 line::@24/(byte[]) plot_xlo#25 ) + (byte[]) plot_xhi#11 ← phi( line::@20/(byte[]) plot_xhi#24 line::@24/(byte[]) plot_xhi#25 ) + (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) 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[]) plot_bit#3 ← phi( line_xdyd/(byte[]) plot_bit#11 line_xdyd::@2/(byte[]) plot_bit#12 ) + (byte[]) plot_ylo#3 ← phi( line_xdyd/(byte[]) plot_ylo#11 line_xdyd::@2/(byte[]) plot_ylo#12 ) + (byte[]) plot_yhi#3 ← phi( line_xdyd/(byte[]) plot_yhi#11 line_xdyd::@2/(byte[]) plot_yhi#12 ) + (byte[]) plot_xlo#3 ← phi( line_xdyd/(byte[]) plot_xlo#11 line_xdyd::@2/(byte[]) plot_xlo#12 ) + (byte[]) plot_xhi#3 ← phi( line_xdyd/(byte[]) plot_xhi#11 line_xdyd::@2/(byte[]) plot_xhi#12 ) + (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[]) plot_bit#27 ← phi( line_xdyd::@1/(byte[]) plot_bit#3 ) + (byte[]) plot_ylo#26 ← phi( line_xdyd::@1/(byte[]) plot_ylo#3 ) + (byte[]) plot_yhi#26 ← phi( line_xdyd::@1/(byte[]) plot_yhi#3 ) + (byte[]) plot_xlo#27 ← phi( line_xdyd::@1/(byte[]) plot_xlo#3 ) + (byte[]) plot_xhi#27 ← phi( line_xdyd::@1/(byte[]) plot_xhi#3 ) + (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::$2 ← (byte) line_xdyd::x#4 + (byte) 1 + (byte) line_xdyd::x#2 ← (byte~) line_xdyd::$2 + (byte~) line_xdyd::$3 ← (byte) line_xdyd::e#3 + (byte) line_xdyd::yd#3 + (byte) line_xdyd::e#1 ← (byte~) line_xdyd::$3 + (boolean~) line_xdyd::$4 ← (byte) line_xdyd::xd#2 < (byte) line_xdyd::e#1 + (boolean~) line_xdyd::$5 ← ! (boolean~) line_xdyd::$4 + if((boolean~) line_xdyd::$5) goto line_xdyd::@2 + to:line_xdyd::@3 +line_xdyd::@2: scope:[line_xdyd] from line_xdyd::@3 line_xdyd::@5 + (byte[]) plot_bit#12 ← phi( line_xdyd::@3/(byte[]) plot_bit#26 line_xdyd::@5/(byte[]) plot_bit#27 ) + (byte[]) plot_ylo#12 ← phi( line_xdyd::@3/(byte[]) plot_ylo#25 line_xdyd::@5/(byte[]) plot_ylo#26 ) + (byte[]) plot_yhi#12 ← phi( line_xdyd::@3/(byte[]) plot_yhi#25 line_xdyd::@5/(byte[]) plot_yhi#26 ) + (byte[]) plot_xlo#12 ← phi( line_xdyd::@3/(byte[]) plot_xlo#26 line_xdyd::@5/(byte[]) plot_xlo#27 ) + (byte[]) plot_xhi#12 ← phi( line_xdyd::@3/(byte[]) plot_xhi#26 line_xdyd::@5/(byte[]) plot_xhi#27 ) + (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~) line_xdyd::$8 ← (byte) line_xdyd::x1#2 + (byte) 1 + (boolean~) line_xdyd::$9 ← (byte) line_xdyd::x#5 < (byte~) line_xdyd::$8 + if((boolean~) line_xdyd::$9) goto line_xdyd::@1 + to:line_xdyd::@return +line_xdyd::@3: scope:[line_xdyd] from line_xdyd::@5 + (byte[]) plot_bit#26 ← phi( line_xdyd::@5/(byte[]) plot_bit#27 ) + (byte[]) plot_ylo#25 ← phi( line_xdyd::@5/(byte[]) plot_ylo#26 ) + (byte[]) plot_yhi#25 ← phi( line_xdyd::@5/(byte[]) plot_yhi#26 ) + (byte[]) plot_xlo#26 ← phi( line_xdyd::@5/(byte[]) plot_xlo#27 ) + (byte[]) plot_xhi#26 ← phi( line_xdyd::@5/(byte[]) plot_xhi#27 ) + (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::$6 ← (byte) line_xdyd::y#4 - (byte) 1 + (byte) line_xdyd::y#2 ← (byte~) line_xdyd::$6 + (byte~) line_xdyd::$7 ← (byte) line_xdyd::e#4 - (byte) line_xdyd::xd#3 + (byte) line_xdyd::e#2 ← (byte~) line_xdyd::$7 + 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[]) plot_bit#13 ← phi( line::@13/(byte[]) plot_bit#28 line::@3/(byte[]) plot_bit#29 ) + (byte[]) plot_ylo#13 ← phi( line::@13/(byte[]) plot_ylo#27 line::@3/(byte[]) plot_ylo#28 ) + (byte[]) plot_yhi#13 ← phi( line::@13/(byte[]) plot_yhi#27 line::@3/(byte[]) plot_yhi#28 ) + (byte[]) plot_xlo#13 ← phi( line::@13/(byte[]) plot_xlo#28 line::@3/(byte[]) plot_xlo#29 ) + (byte[]) plot_xhi#13 ← phi( line::@13/(byte[]) plot_xhi#28 line::@3/(byte[]) plot_xhi#29 ) + (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) 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[]) plot_bit#6 ← phi( line_ydxi/(byte[]) plot_bit#13 line_ydxi::@2/(byte[]) plot_bit#14 ) + (byte[]) plot_ylo#6 ← phi( line_ydxi/(byte[]) plot_ylo#13 line_ydxi::@2/(byte[]) plot_ylo#14 ) + (byte[]) plot_yhi#6 ← phi( line_ydxi/(byte[]) plot_yhi#13 line_ydxi::@2/(byte[]) plot_yhi#14 ) + (byte[]) plot_xlo#6 ← phi( line_ydxi/(byte[]) plot_xlo#13 line_ydxi::@2/(byte[]) plot_xlo#14 ) + (byte[]) plot_xhi#6 ← phi( line_ydxi/(byte[]) plot_xhi#13 line_ydxi::@2/(byte[]) plot_xhi#14 ) + (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[]) plot_bit#31 ← phi( line_ydxi::@1/(byte[]) plot_bit#6 ) + (byte[]) plot_ylo#30 ← phi( line_ydxi::@1/(byte[]) plot_ylo#6 ) + (byte[]) plot_yhi#30 ← phi( line_ydxi::@1/(byte[]) plot_yhi#6 ) + (byte[]) plot_xlo#31 ← phi( line_ydxi::@1/(byte[]) plot_xlo#6 ) + (byte[]) plot_xhi#31 ← phi( line_ydxi::@1/(byte[]) plot_xhi#6 ) + (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::$2 ← (byte) line_ydxi::y#4 + (byte) 1 + (byte) line_ydxi::y#2 ← (byte~) line_ydxi::$2 + (byte~) line_ydxi::$3 ← (byte) line_ydxi::e#3 + (byte) line_ydxi::xd#3 + (byte) line_ydxi::e#1 ← (byte~) line_ydxi::$3 + (boolean~) line_ydxi::$4 ← (byte) line_ydxi::yd#2 < (byte) line_ydxi::e#1 + (boolean~) line_ydxi::$5 ← ! (boolean~) line_ydxi::$4 + if((boolean~) line_ydxi::$5) goto line_ydxi::@2 + to:line_ydxi::@3 +line_ydxi::@2: scope:[line_ydxi] from line_ydxi::@3 line_ydxi::@5 + (byte[]) plot_bit#14 ← phi( line_ydxi::@3/(byte[]) plot_bit#30 line_ydxi::@5/(byte[]) plot_bit#31 ) + (byte[]) plot_ylo#14 ← phi( line_ydxi::@3/(byte[]) plot_ylo#29 line_ydxi::@5/(byte[]) plot_ylo#30 ) + (byte[]) plot_yhi#14 ← phi( line_ydxi::@3/(byte[]) plot_yhi#29 line_ydxi::@5/(byte[]) plot_yhi#30 ) + (byte[]) plot_xlo#14 ← phi( line_ydxi::@3/(byte[]) plot_xlo#30 line_ydxi::@5/(byte[]) plot_xlo#31 ) + (byte[]) plot_xhi#14 ← phi( line_ydxi::@3/(byte[]) plot_xhi#30 line_ydxi::@5/(byte[]) plot_xhi#31 ) + (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~) line_ydxi::$8 ← (byte) line_ydxi::y1#2 + (byte) 1 + (boolean~) line_ydxi::$9 ← (byte) line_ydxi::y#5 < (byte~) line_ydxi::$8 + if((boolean~) line_ydxi::$9) goto line_ydxi::@1 + to:line_ydxi::@return +line_ydxi::@3: scope:[line_ydxi] from line_ydxi::@5 + (byte[]) plot_bit#30 ← phi( line_ydxi::@5/(byte[]) plot_bit#31 ) + (byte[]) plot_ylo#29 ← phi( line_ydxi::@5/(byte[]) plot_ylo#30 ) + (byte[]) plot_yhi#29 ← phi( line_ydxi::@5/(byte[]) plot_yhi#30 ) + (byte[]) plot_xlo#30 ← phi( line_ydxi::@5/(byte[]) plot_xlo#31 ) + (byte[]) plot_xhi#30 ← phi( line_ydxi::@5/(byte[]) plot_xhi#31 ) + (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::$6 ← (byte) line_ydxi::x#4 + (byte) 1 + (byte) line_ydxi::x#2 ← (byte~) line_ydxi::$6 + (byte~) line_ydxi::$7 ← (byte) line_ydxi::e#4 - (byte) line_ydxi::yd#3 + (byte) line_ydxi::e#2 ← (byte~) line_ydxi::$7 + 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[]) plot_bit#15 ← phi( line::@10/(byte[]) plot_bit#32 line::@6/(byte[]) plot_bit#33 ) + (byte[]) plot_ylo#15 ← phi( line::@10/(byte[]) plot_ylo#31 line::@6/(byte[]) plot_ylo#32 ) + (byte[]) plot_yhi#15 ← phi( line::@10/(byte[]) plot_yhi#31 line::@6/(byte[]) plot_yhi#32 ) + (byte[]) plot_xlo#15 ← phi( line::@10/(byte[]) plot_xlo#32 line::@6/(byte[]) plot_xlo#33 ) + (byte[]) plot_xhi#15 ← phi( line::@10/(byte[]) plot_xhi#32 line::@6/(byte[]) plot_xhi#33 ) + (byte) line_ydxd::yd#5 ← phi( line::@10/(byte) line_ydxd::yd#1 line::@6/(byte) line_ydxd::yd#0 ) + (byte) line_ydxd::y#6 ← 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) 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[]) plot_bit#5 ← phi( line_ydxd/(byte[]) plot_bit#15 line_ydxd::@2/(byte[]) plot_bit#16 ) + (byte[]) plot_ylo#5 ← phi( line_ydxd/(byte[]) plot_ylo#15 line_ydxd::@2/(byte[]) plot_ylo#16 ) + (byte[]) plot_yhi#5 ← phi( line_ydxd/(byte[]) plot_yhi#15 line_ydxd::@2/(byte[]) plot_yhi#16 ) + (byte[]) plot_xlo#5 ← phi( line_ydxd/(byte[]) plot_xlo#15 line_ydxd::@2/(byte[]) plot_xlo#16 ) + (byte[]) plot_xhi#5 ← phi( line_ydxd/(byte[]) plot_xhi#15 line_ydxd::@2/(byte[]) plot_xhi#16 ) + (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#3 ← phi( line_ydxd/(byte) line_ydxd::y#6 line_ydxd::@2/(byte) line_ydxd::y#5 ) + (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#3 + call plot param-assignment + to:line_ydxd::@5 +line_ydxd::@5: scope:[line_ydxd] from line_ydxd::@1 + (byte[]) plot_bit#35 ← phi( line_ydxd::@1/(byte[]) plot_bit#5 ) + (byte[]) plot_ylo#34 ← phi( line_ydxd::@1/(byte[]) plot_ylo#5 ) + (byte[]) plot_yhi#34 ← phi( line_ydxd::@1/(byte[]) plot_yhi#5 ) + (byte[]) plot_xlo#35 ← phi( line_ydxd::@1/(byte[]) plot_xlo#5 ) + (byte[]) plot_xhi#35 ← phi( line_ydxd::@1/(byte[]) plot_xhi#5 ) + (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#4 ← phi( line_ydxd::@1/(byte) line_ydxd::y#3 ) + (byte~) line_ydxd::$2 ← (byte) line_ydxd::y#4 + (byte) 1 + (byte) line_ydxd::y#2 ← (byte~) line_ydxd::$2 + (byte~) line_ydxd::$3 ← (byte) line_ydxd::e#3 + (byte) line_ydxd::xd#3 + (byte) line_ydxd::e#1 ← (byte~) line_ydxd::$3 + (boolean~) line_ydxd::$4 ← (byte) line_ydxd::yd#2 < (byte) line_ydxd::e#1 + (boolean~) line_ydxd::$5 ← ! (boolean~) line_ydxd::$4 + if((boolean~) line_ydxd::$5) goto line_ydxd::@2 + to:line_ydxd::@3 +line_ydxd::@2: scope:[line_ydxd] from line_ydxd::@3 line_ydxd::@5 + (byte[]) plot_bit#16 ← phi( line_ydxd::@3/(byte[]) plot_bit#34 line_ydxd::@5/(byte[]) plot_bit#35 ) + (byte[]) plot_ylo#16 ← phi( line_ydxd::@3/(byte[]) plot_ylo#33 line_ydxd::@5/(byte[]) plot_ylo#34 ) + (byte[]) plot_yhi#16 ← phi( line_ydxd::@3/(byte[]) plot_yhi#33 line_ydxd::@5/(byte[]) plot_yhi#34 ) + (byte[]) plot_xlo#16 ← phi( line_ydxd::@3/(byte[]) plot_xlo#34 line_ydxd::@5/(byte[]) plot_xlo#35 ) + (byte[]) plot_xhi#16 ← phi( line_ydxd::@3/(byte[]) plot_xhi#34 line_ydxd::@5/(byte[]) plot_xhi#35 ) + (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#5 ← phi( line_ydxd::@3/(byte) line_ydxd::y#7 line_ydxd::@5/(byte) line_ydxd::y#2 ) + (byte) line_ydxd::y1#2 ← phi( line_ydxd::@3/(byte) line_ydxd::y1#3 line_ydxd::@5/(byte) line_ydxd::y1#4 ) + (byte~) line_ydxd::$8 ← (byte) line_ydxd::y1#2 + (byte) 1 + (boolean~) line_ydxd::$9 ← (byte) line_ydxd::y#5 < (byte~) line_ydxd::$8 + if((boolean~) line_ydxd::$9) goto line_ydxd::@1 + to:line_ydxd::@return +line_ydxd::@3: scope:[line_ydxd] from line_ydxd::@5 + (byte[]) plot_bit#34 ← phi( line_ydxd::@5/(byte[]) plot_bit#35 ) + (byte[]) plot_ylo#33 ← phi( line_ydxd::@5/(byte[]) plot_ylo#34 ) + (byte[]) plot_yhi#33 ← phi( line_ydxd::@5/(byte[]) plot_yhi#34 ) + (byte[]) plot_xlo#34 ← phi( line_ydxd::@5/(byte[]) plot_xlo#35 ) + (byte[]) plot_xhi#34 ← phi( line_ydxd::@5/(byte[]) plot_xhi#35 ) + (byte) line_ydxd::xd#6 ← phi( line_ydxd::@5/(byte) line_ydxd::xd#3 ) + (byte) line_ydxd::y#7 ← phi( line_ydxd::@5/(byte) line_ydxd::y#2 ) + (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::$6 ← (byte) line_ydxd::x#4 - (byte) 1 + (byte) line_ydxd::x#2 ← (byte~) line_ydxd::$6 + (byte~) line_ydxd::$7 ← (byte) line_ydxd::e#4 - (byte) line_ydxd::yd#3 + (byte) line_ydxd::e#2 ← (byte~) line_ydxd::$7 + 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_bit#1 ← phi( line_xdyd::@1/(byte[]) plot_bit#3 line_xdyi::@1/(byte[]) plot_bit#4 line_ydxd::@1/(byte[]) plot_bit#5 line_ydxi::@1/(byte[]) plot_bit#6 ) + (byte[]) plot_ylo#1 ← phi( line_xdyd::@1/(byte[]) plot_ylo#3 line_xdyi::@1/(byte[]) plot_ylo#4 line_ydxd::@1/(byte[]) plot_ylo#5 line_ydxi::@1/(byte[]) plot_ylo#6 ) + (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_yhi#1 ← phi( line_xdyd::@1/(byte[]) plot_yhi#3 line_xdyi::@1/(byte[]) plot_yhi#4 line_ydxd::@1/(byte[]) plot_yhi#5 line_ydxi::@1/(byte[]) plot_yhi#6 ) + (byte[]) plot_xlo#1 ← phi( line_xdyd::@1/(byte[]) plot_xlo#3 line_xdyi::@1/(byte[]) plot_xlo#4 line_ydxd::@1/(byte[]) plot_xlo#5 line_ydxi::@1/(byte[]) plot_xlo#6 ) + (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 ) + (byte[]) plot_xhi#1 ← phi( line_xdyd::@1/(byte[]) plot_xhi#3 line_xdyi::@1/(byte[]) plot_xhi#4 line_ydxd::@1/(byte[]) plot_xhi#5 line_ydxi::@1/(byte[]) plot_xhi#6 ) (byte*) plot::plotter_x#0 ← (byte) 0 (byte*) plot::plotter_y#0 ← (byte) 0 - (byte~) plot::$0 ← (byte[]) plot_xhi#1 *idx (byte) plot::x#9 + (byte~) plot::$0 ← (byte[]) plot_xhi#1 *idx (byte) plot::x#4 (byte*) plot::plotter_x#1 ← (byte*) plot::plotter_x#0 hi= (byte~) plot::$0 - (byte~) plot::$1 ← (byte[]) plot_xlo#1 *idx (byte) plot::x#9 + (byte~) plot::$1 ← (byte[]) plot_xlo#1 *idx (byte) plot::x#4 (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 - (byte~) plot::$2 ← (byte[]) plot_yhi#1 *idx (byte) plot::y#9 + (byte~) plot::$2 ← (byte[]) plot_yhi#1 *idx (byte) plot::y#4 (byte*) plot::plotter_y#1 ← (byte*) plot::plotter_y#0 hi= (byte~) plot::$2 - (byte~) plot::$3 ← (byte[]) plot_ylo#1 *idx (byte) plot::y#9 + (byte~) plot::$3 ← (byte[]) plot_ylo#1 *idx (byte) plot::y#4 (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 (byte~) plot::$4 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 (byte*) plot::plotter#0 ← (byte~) plot::$4 (byte~) plot::$5 ← * (byte*) plot::plotter#0 - (byte~) plot::$6 ← (byte[]) plot_bit#1 *idx (byte) plot::x#9 + (byte~) plot::$6 ← (byte[]) plot_bit#1 *idx (byte) plot::x#4 (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 *((byte*) plot::plotter#0) ← (byte~) plot::$7 to:plot::@return @@ -3586,23 +5526,23 @@ plot::@return: scope:[plot] from plot return to:@return init_plot_tables: scope:[init_plot_tables] from main::@3 - (byte[]) plot_yhi#28 ← phi( main::@3/(byte[]) plot_yhi#31 ) - (byte[]) plot_ylo#28 ← phi( main::@3/(byte[]) plot_ylo#31 ) - (byte[]) plot_bit#12 ← phi( main::@3/(byte[]) plot_bit#19 ) - (byte[]) plot_xhi#12 ← phi( main::@3/(byte[]) plot_xhi#19 ) + (byte[]) plot_yhi#41 ← phi( main::@3/(byte[]) plot_yhi#44 ) + (byte[]) plot_ylo#41 ← phi( main::@3/(byte[]) plot_ylo#44 ) + (byte[]) plot_bit#7 ← phi( main::@3/(byte[]) plot_bit#17 ) + (byte[]) plot_xhi#7 ← phi( main::@3/(byte[]) plot_xhi#17 ) (byte*) BITMAP#4 ← phi( main::@3/(byte*) BITMAP#8 ) - (byte[]) plot_xlo#12 ← phi( main::@3/(byte[]) plot_xlo#19 ) + (byte[]) plot_xlo#7 ← phi( main::@3/(byte[]) plot_xlo#17 ) (byte) init_plot_tables::bit#0 ← (byte) 128 (byte) init_plot_tables::x#0 ← (byte) 0 to:init_plot_tables::@1 init_plot_tables::@1: scope:[init_plot_tables] from init_plot_tables init_plot_tables::@2 - (byte[]) plot_yhi#25 ← phi( init_plot_tables/(byte[]) plot_yhi#28 init_plot_tables::@2/(byte[]) plot_yhi#19 ) - (byte[]) plot_ylo#25 ← phi( init_plot_tables/(byte[]) plot_ylo#28 init_plot_tables::@2/(byte[]) plot_ylo#19 ) - (byte[]) plot_bit#2 ← phi( init_plot_tables/(byte[]) plot_bit#12 init_plot_tables::@2/(byte[]) plot_bit#13 ) + (byte[]) plot_yhi#35 ← phi( init_plot_tables/(byte[]) plot_yhi#41 init_plot_tables::@2/(byte[]) plot_yhi#17 ) + (byte[]) plot_ylo#35 ← phi( init_plot_tables/(byte[]) plot_ylo#41 init_plot_tables::@2/(byte[]) plot_ylo#17 ) + (byte[]) plot_bit#2 ← phi( init_plot_tables/(byte[]) plot_bit#7 init_plot_tables::@2/(byte[]) plot_bit#8 ) (byte) init_plot_tables::bit#3 ← phi( init_plot_tables/(byte) init_plot_tables::bit#0 init_plot_tables::@2/(byte) init_plot_tables::bit#4 ) - (byte[]) plot_xhi#2 ← phi( init_plot_tables/(byte[]) plot_xhi#12 init_plot_tables::@2/(byte[]) plot_xhi#13 ) + (byte[]) plot_xhi#2 ← phi( init_plot_tables/(byte[]) plot_xhi#7 init_plot_tables::@2/(byte[]) plot_xhi#8 ) (byte*) BITMAP#1 ← phi( init_plot_tables/(byte*) BITMAP#4 init_plot_tables::@2/(byte*) BITMAP#5 ) - (byte[]) plot_xlo#2 ← phi( init_plot_tables/(byte[]) plot_xlo#12 init_plot_tables::@2/(byte[]) plot_xlo#13 ) + (byte[]) plot_xlo#2 ← phi( init_plot_tables/(byte[]) plot_xlo#7 init_plot_tables::@2/(byte[]) plot_xlo#8 ) (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) 248 *((byte[]) plot_xlo#2 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 @@ -3616,37 +5556,37 @@ init_plot_tables::@1: scope:[init_plot_tables] from init_plot_tables init_plot_ 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[]) plot_yhi#19 ← phi( init_plot_tables::@1/(byte[]) plot_yhi#25 init_plot_tables::@5/(byte[]) plot_yhi#26 ) - (byte[]) plot_ylo#19 ← phi( init_plot_tables::@1/(byte[]) plot_ylo#25 init_plot_tables::@5/(byte[]) plot_ylo#26 ) - (byte[]) plot_bit#13 ← phi( init_plot_tables::@1/(byte[]) plot_bit#2 init_plot_tables::@5/(byte[]) plot_bit#20 ) + (byte[]) plot_yhi#17 ← phi( init_plot_tables::@1/(byte[]) plot_yhi#35 init_plot_tables::@5/(byte[]) plot_yhi#36 ) + (byte[]) plot_ylo#17 ← phi( init_plot_tables::@1/(byte[]) plot_ylo#35 init_plot_tables::@5/(byte[]) plot_ylo#36 ) + (byte[]) plot_bit#8 ← phi( init_plot_tables::@1/(byte[]) plot_bit#2 init_plot_tables::@5/(byte[]) plot_bit#18 ) (byte) init_plot_tables::bit#4 ← phi( init_plot_tables::@1/(byte) init_plot_tables::bit#1 init_plot_tables::@5/(byte) init_plot_tables::bit#2 ) - (byte[]) plot_xhi#13 ← phi( init_plot_tables::@1/(byte[]) plot_xhi#2 init_plot_tables::@5/(byte[]) plot_xhi#20 ) + (byte[]) plot_xhi#8 ← phi( init_plot_tables::@1/(byte[]) plot_xhi#2 init_plot_tables::@5/(byte[]) plot_xhi#18 ) (byte*) BITMAP#5 ← phi( init_plot_tables::@1/(byte*) BITMAP#1 init_plot_tables::@5/(byte*) BITMAP#9 ) - (byte[]) plot_xlo#13 ← phi( init_plot_tables::@1/(byte[]) plot_xlo#2 init_plot_tables::@5/(byte[]) plot_xlo#20 ) + (byte[]) plot_xlo#8 ← phi( init_plot_tables::@1/(byte[]) plot_xlo#2 init_plot_tables::@5/(byte[]) plot_xlo#18 ) (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) 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[]) plot_yhi#26 ← phi( init_plot_tables::@1/(byte[]) plot_yhi#25 ) - (byte[]) plot_ylo#26 ← phi( init_plot_tables::@1/(byte[]) plot_ylo#25 ) - (byte[]) plot_bit#20 ← phi( init_plot_tables::@1/(byte[]) plot_bit#2 ) - (byte[]) plot_xhi#20 ← phi( init_plot_tables::@1/(byte[]) plot_xhi#2 ) + (byte[]) plot_yhi#36 ← phi( init_plot_tables::@1/(byte[]) plot_yhi#35 ) + (byte[]) plot_ylo#36 ← phi( init_plot_tables::@1/(byte[]) plot_ylo#35 ) + (byte[]) plot_bit#18 ← phi( init_plot_tables::@1/(byte[]) plot_bit#2 ) + (byte[]) plot_xhi#18 ← phi( init_plot_tables::@1/(byte[]) plot_xhi#2 ) (byte*) BITMAP#9 ← phi( init_plot_tables::@1/(byte*) BITMAP#1 ) - (byte[]) plot_xlo#20 ← phi( init_plot_tables::@1/(byte[]) plot_xlo#2 ) + (byte[]) plot_xlo#18 ← phi( init_plot_tables::@1/(byte[]) plot_xlo#2 ) (byte) init_plot_tables::x#4 ← phi( init_plot_tables::@1/(byte) init_plot_tables::x#2 ) (byte) init_plot_tables::bit#2 ← (byte) 128 to:init_plot_tables::@2 init_plot_tables::@6: scope:[init_plot_tables] from init_plot_tables::@2 - (byte[]) plot_yhi#13 ← phi( init_plot_tables::@2/(byte[]) plot_yhi#19 ) - (byte[]) plot_ylo#13 ← phi( init_plot_tables::@2/(byte[]) plot_ylo#19 ) + (byte[]) plot_yhi#8 ← phi( init_plot_tables::@2/(byte[]) plot_yhi#17 ) + (byte[]) plot_ylo#8 ← phi( init_plot_tables::@2/(byte[]) plot_ylo#17 ) (byte*) init_plot_tables::yoffs#0 ← (byte) 0 (byte) init_plot_tables::y#0 ← (byte) 0 to:init_plot_tables::@3 init_plot_tables::@3: scope:[init_plot_tables] from init_plot_tables::@4 init_plot_tables::@6 - (byte[]) plot_yhi#2 ← phi( init_plot_tables::@4/(byte[]) plot_yhi#12 init_plot_tables::@6/(byte[]) plot_yhi#13 ) - (byte[]) plot_ylo#2 ← phi( init_plot_tables::@4/(byte[]) plot_ylo#12 init_plot_tables::@6/(byte[]) plot_ylo#13 ) + (byte[]) plot_yhi#2 ← phi( init_plot_tables::@4/(byte[]) plot_yhi#7 init_plot_tables::@6/(byte[]) plot_yhi#8 ) + (byte[]) plot_ylo#2 ← phi( init_plot_tables::@4/(byte[]) plot_ylo#7 init_plot_tables::@6/(byte[]) plot_ylo#8 ) (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) 7 @@ -3661,8 +5601,8 @@ init_plot_tables::@3: scope:[init_plot_tables] from init_plot_tables::@4 init_p 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[]) plot_yhi#12 ← phi( init_plot_tables::@3/(byte[]) plot_yhi#2 init_plot_tables::@7/(byte[]) plot_yhi#20 ) - (byte[]) plot_ylo#12 ← phi( init_plot_tables::@3/(byte[]) plot_ylo#2 init_plot_tables::@7/(byte[]) plot_ylo#20 ) + (byte[]) plot_yhi#7 ← phi( init_plot_tables::@3/(byte[]) plot_yhi#2 init_plot_tables::@7/(byte[]) plot_yhi#18 ) + (byte[]) plot_ylo#7 ← phi( init_plot_tables::@3/(byte[]) plot_ylo#2 init_plot_tables::@7/(byte[]) plot_ylo#18 ) (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 @@ -3670,8 +5610,8 @@ init_plot_tables::@4: scope:[init_plot_tables] from init_plot_tables::@3 init_p if((boolean~) init_plot_tables::$14) goto init_plot_tables::@3 to:init_plot_tables::@return init_plot_tables::@7: scope:[init_plot_tables] from init_plot_tables::@3 - (byte[]) plot_yhi#20 ← phi( init_plot_tables::@3/(byte[]) plot_yhi#2 ) - (byte[]) plot_ylo#20 ← phi( init_plot_tables::@3/(byte[]) plot_ylo#2 ) + (byte[]) plot_yhi#18 ← phi( init_plot_tables::@3/(byte[]) plot_yhi#2 ) + (byte[]) plot_ylo#18 ← phi( init_plot_tables::@3/(byte[]) plot_ylo#2 ) (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 ) (byte*~) init_plot_tables::$13 ← (byte*) init_plot_tables::yoffs#3 + (word) 320 @@ -3711,16 +5651,16 @@ init_screen::@2: scope:[init_screen] from init_screen::@2 init_screen::@3 init_screen::@return: scope:[init_screen] from init_screen::@2 return to:@return -@7: scope:[] from @begin - (byte[]) plot_yhi#34 ← phi( @begin/(byte[]) plot_yhi#0 ) - (byte[]) plot_ylo#34 ← phi( @begin/(byte[]) plot_ylo#0 ) +@10: scope:[] from @begin + (byte[]) plot_yhi#47 ← phi( @begin/(byte[]) plot_yhi#0 ) + (byte[]) plot_ylo#47 ← phi( @begin/(byte[]) plot_ylo#0 ) (byte) lines_cnt#9 ← phi( @begin/(byte) lines_cnt#0 ) (byte[]) lines_y#9 ← phi( @begin/(byte[]) lines_y#0 ) (byte[]) lines_x#9 ← phi( @begin/(byte[]) lines_x#0 ) (byte*) SCREEN#6 ← phi( @begin/(byte*) SCREEN#0 ) - (byte[]) plot_bit#26 ← phi( @begin/(byte[]) plot_bit#0 ) - (byte[]) plot_xhi#26 ← phi( @begin/(byte[]) plot_xhi#0 ) - (byte[]) plot_xlo#26 ← phi( @begin/(byte[]) plot_xlo#0 ) + (byte[]) plot_bit#36 ← phi( @begin/(byte[]) plot_bit#0 ) + (byte[]) plot_xhi#36 ← phi( @begin/(byte[]) plot_xhi#0 ) + (byte[]) plot_xlo#36 ← phi( @begin/(byte[]) plot_xlo#0 ) (byte*) BITMAP#7 ← phi( @begin/(byte*) BITMAP#0 ) (byte*) D018#2 ← phi( @begin/(byte*) D018#0 ) (byte*) D011#2 ← phi( @begin/(byte*) D011#0 ) @@ -3731,13 +5671,19 @@ init_screen::@return: scope:[init_screen] from init_screen::@2 (byte*) BGCOL#2 ← phi( @begin/(byte*) BGCOL#0 ) call main param-assignment to:@end -@end: scope:[] from @7 +@end: scope:[] from @10 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::$15 ← (byte) line::y0#1 >= (byte) line::y1#1 from (boolean~) line::$14 ← (byte) line::y0#1 < (byte) line::y1#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::$7 ← (byte) line::yd#0 >= (byte) line::xd#2 from (boolean~) line::$6 ← (byte) line::yd#0 < (byte) line::xd#2 -Inversing boolean not (boolean~) line_xdyi::$5 ← (byte) line_xdyi::xd#1 >= (byte) line_xdyi::e#1 from (boolean~) line_xdyi::$4 ← (byte) line_xdyi::xd#1 < (byte) line_xdyi::e#1 +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::$5 ← (byte) line_xdyi::xd#2 >= (byte) line_xdyi::e#1 from (boolean~) line_xdyi::$4 ← (byte) line_xdyi::xd#2 < (byte) line_xdyi::e#1 +Inversing boolean not (boolean~) line_xdyd::$5 ← (byte) line_xdyd::xd#2 >= (byte) line_xdyd::e#1 from (boolean~) line_xdyd::$4 ← (byte) line_xdyd::xd#2 < (byte) line_xdyd::e#1 +Inversing boolean not (boolean~) line_ydxi::$5 ← (byte) line_ydxi::yd#2 >= (byte) line_ydxi::e#1 from (boolean~) line_ydxi::$4 ← (byte) line_ydxi::yd#2 < (byte) line_ydxi::e#1 +Inversing boolean not (boolean~) line_ydxd::$5 ← (byte) line_ydxd::yd#2 >= (byte) line_ydxd::e#1 from (boolean~) line_ydxd::$4 ← (byte) line_ydxd::yd#2 < (byte) line_ydxd::e#1 Inversing boolean not (boolean~) init_plot_tables::$4 ← (byte) init_plot_tables::bit#1 != (byte) 0 from (boolean~) init_plot_tables::$3 ← (byte) init_plot_tables::bit#1 == (byte) 0 Inversing boolean not (boolean~) init_plot_tables::$12 ← (byte~) init_plot_tables::$10 != (byte) 7 from (boolean~) init_plot_tables::$11 ← (byte~) init_plot_tables::$10 == (byte) 7 Succesful SSA optimization Pass2UnaryNotSimplification @@ -3767,25 +5713,25 @@ CONTROL FLOW GRAPH (byte[]) lines_x#0 ← { (byte) 60, (byte) 80, (byte) 110, (byte) 80, (byte) 60, (byte) 40, (byte) 10, (byte) 40, (byte) 60 } (byte[]) lines_y#0 ← { (byte) 10, (byte) 40, (byte) 60, (byte) 80, (byte) 110, (byte) 80, (byte) 60, (byte) 40, (byte) 10 } (byte) lines_cnt#0 ← (byte) 8 - to:@7 -main: scope:[main] from @7 - (byte[]) plot_yhi#32 ← phi( @7/(byte[]) plot_yhi#34 ) - (byte[]) plot_ylo#32 ← phi( @7/(byte[]) plot_ylo#34 ) - (byte) lines_cnt#8 ← phi( @7/(byte) lines_cnt#9 ) - (byte[]) lines_y#8 ← phi( @7/(byte[]) lines_y#9 ) - (byte[]) lines_x#8 ← phi( @7/(byte[]) lines_x#9 ) - (byte*) SCREEN#5 ← phi( @7/(byte*) SCREEN#6 ) - (byte[]) plot_bit#21 ← phi( @7/(byte[]) plot_bit#26 ) - (byte[]) plot_xhi#21 ← phi( @7/(byte[]) plot_xhi#26 ) - (byte[]) plot_xlo#21 ← phi( @7/(byte[]) plot_xlo#26 ) - (byte*) BITMAP#6 ← phi( @7/(byte*) BITMAP#7 ) - (byte*) D018#1 ← phi( @7/(byte*) D018#2 ) - (byte*) D011#1 ← phi( @7/(byte*) D011#2 ) - (byte) RSEL#1 ← phi( @7/(byte) RSEL#2 ) - (byte) DEN#1 ← phi( @7/(byte) DEN#2 ) - (byte) BMM#1 ← phi( @7/(byte) BMM#2 ) - (byte*) FGCOL#1 ← phi( @7/(byte*) FGCOL#2 ) - (byte*) BGCOL#1 ← phi( @7/(byte*) BGCOL#2 ) + to:@10 +main: scope:[main] from @10 + (byte[]) plot_yhi#45 ← phi( @10/(byte[]) plot_yhi#47 ) + (byte[]) plot_ylo#45 ← phi( @10/(byte[]) plot_ylo#47 ) + (byte) lines_cnt#8 ← phi( @10/(byte) lines_cnt#9 ) + (byte[]) lines_y#8 ← phi( @10/(byte[]) lines_y#9 ) + (byte[]) lines_x#8 ← phi( @10/(byte[]) lines_x#9 ) + (byte*) SCREEN#5 ← phi( @10/(byte*) SCREEN#6 ) + (byte[]) plot_bit#19 ← phi( @10/(byte[]) plot_bit#36 ) + (byte[]) plot_xhi#19 ← phi( @10/(byte[]) plot_xhi#36 ) + (byte[]) plot_xlo#19 ← phi( @10/(byte[]) plot_xlo#36 ) + (byte*) BITMAP#6 ← phi( @10/(byte*) BITMAP#7 ) + (byte*) D018#1 ← phi( @10/(byte*) D018#2 ) + (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) 0 *((byte*) FGCOL#1) ← (byte) 0 (byte~) main::$0 ← (byte) BMM#1 | (byte) DEN#1 @@ -3796,44 +5742,44 @@ main: scope:[main] from @7 call init_screen param-assignment to:main::@3 main::@3: scope:[main] from main - (byte[]) plot_yhi#31 ← phi( main/(byte[]) plot_yhi#32 ) - (byte[]) plot_ylo#31 ← phi( main/(byte[]) plot_ylo#32 ) + (byte[]) plot_yhi#44 ← phi( main/(byte[]) plot_yhi#45 ) + (byte[]) plot_ylo#44 ← phi( main/(byte[]) plot_ylo#45 ) (byte) lines_cnt#7 ← phi( main/(byte) lines_cnt#8 ) (byte[]) lines_y#7 ← phi( main/(byte[]) lines_y#8 ) (byte[]) lines_x#7 ← phi( main/(byte[]) lines_x#8 ) - (byte[]) plot_bit#19 ← phi( main/(byte[]) plot_bit#21 ) - (byte[]) plot_xhi#19 ← phi( main/(byte[]) plot_xhi#21 ) + (byte[]) plot_bit#17 ← phi( main/(byte[]) plot_bit#19 ) + (byte[]) plot_xhi#17 ← phi( main/(byte[]) plot_xhi#19 ) (byte*) BITMAP#8 ← phi( main/(byte*) BITMAP#6 ) - (byte[]) plot_xlo#19 ← phi( main/(byte[]) plot_xlo#21 ) + (byte[]) plot_xlo#17 ← phi( main/(byte[]) plot_xlo#19 ) call init_plot_tables param-assignment to:main::@4 main::@4: scope:[main] from main::@3 - (byte[]) plot_bit#31 ← phi( main::@3/(byte[]) plot_bit#19 ) - (byte[]) plot_ylo#35 ← phi( main::@3/(byte[]) plot_ylo#31 ) - (byte[]) plot_yhi#35 ← phi( main::@3/(byte[]) plot_yhi#31 ) - (byte[]) plot_xlo#31 ← phi( main::@3/(byte[]) plot_xlo#19 ) - (byte[]) plot_xhi#31 ← phi( main::@3/(byte[]) plot_xhi#19 ) + (byte[]) plot_bit#48 ← phi( main::@3/(byte[]) plot_bit#17 ) + (byte[]) plot_ylo#52 ← phi( main::@3/(byte[]) plot_ylo#44 ) + (byte[]) plot_yhi#52 ← phi( main::@3/(byte[]) plot_yhi#44 ) + (byte[]) plot_xlo#48 ← phi( main::@3/(byte[]) plot_xlo#17 ) + (byte[]) plot_xhi#48 ← phi( main::@3/(byte[]) plot_xhi#17 ) (byte) lines_cnt#5 ← phi( main::@3/(byte) lines_cnt#7 ) (byte[]) lines_y#5 ← phi( main::@3/(byte[]) lines_y#7 ) (byte[]) lines_x#5 ← phi( main::@3/(byte[]) lines_x#7 ) to:main::@1 main::@1: scope:[main] from main::@4 main::@5 - (byte[]) plot_bit#30 ← phi( main::@4/(byte[]) plot_bit#31 main::@5/(byte[]) plot_bit#32 ) - (byte[]) plot_ylo#33 ← phi( main::@4/(byte[]) plot_ylo#35 main::@5/(byte[]) plot_ylo#36 ) - (byte[]) plot_yhi#33 ← phi( main::@4/(byte[]) plot_yhi#35 main::@5/(byte[]) plot_yhi#36 ) - (byte[]) plot_xlo#30 ← phi( main::@4/(byte[]) plot_xlo#31 main::@5/(byte[]) plot_xlo#32 ) - (byte[]) plot_xhi#30 ← phi( main::@4/(byte[]) plot_xhi#31 main::@5/(byte[]) plot_xhi#32 ) + (byte[]) plot_bit#47 ← phi( main::@4/(byte[]) plot_bit#48 main::@5/(byte[]) plot_bit#49 ) + (byte[]) plot_ylo#51 ← phi( main::@4/(byte[]) plot_ylo#52 main::@5/(byte[]) plot_ylo#53 ) + (byte[]) plot_yhi#51 ← phi( main::@4/(byte[]) plot_yhi#52 main::@5/(byte[]) plot_yhi#53 ) + (byte[]) plot_xlo#47 ← phi( main::@4/(byte[]) plot_xlo#48 main::@5/(byte[]) plot_xlo#49 ) + (byte[]) plot_xhi#47 ← phi( main::@4/(byte[]) plot_xhi#48 main::@5/(byte[]) plot_xhi#49 ) (byte) lines_cnt#4 ← phi( main::@4/(byte) lines_cnt#5 main::@5/(byte) lines_cnt#6 ) (byte[]) lines_y#4 ← phi( main::@4/(byte[]) lines_y#5 main::@5/(byte[]) lines_y#6 ) (byte[]) lines_x#4 ← phi( main::@4/(byte[]) lines_x#5 main::@5/(byte[]) lines_x#6 ) call lines param-assignment to:main::@5 main::@5: scope:[main] from main::@1 - (byte[]) plot_bit#32 ← phi( main::@1/(byte[]) plot_bit#30 ) - (byte[]) plot_ylo#36 ← phi( main::@1/(byte[]) plot_ylo#33 ) - (byte[]) plot_yhi#36 ← phi( main::@1/(byte[]) plot_yhi#33 ) - (byte[]) plot_xlo#32 ← phi( main::@1/(byte[]) plot_xlo#30 ) - (byte[]) plot_xhi#32 ← phi( main::@1/(byte[]) plot_xhi#30 ) + (byte[]) plot_bit#49 ← phi( main::@1/(byte[]) plot_bit#47 ) + (byte[]) plot_ylo#53 ← phi( main::@1/(byte[]) plot_ylo#51 ) + (byte[]) plot_yhi#53 ← phi( main::@1/(byte[]) plot_yhi#51 ) + (byte[]) plot_xlo#49 ← phi( main::@1/(byte[]) plot_xlo#47 ) + (byte[]) plot_xhi#49 ← phi( main::@1/(byte[]) plot_xhi#47 ) (byte) lines_cnt#6 ← phi( main::@1/(byte) lines_cnt#4 ) (byte[]) lines_y#6 ← phi( main::@1/(byte[]) lines_y#4 ) (byte[]) lines_x#6 ← phi( main::@1/(byte[]) lines_x#4 ) @@ -3843,22 +5789,22 @@ main::@return: scope:[main] from main::@5 return to:@return lines: scope:[lines] from main::@1 - (byte[]) plot_bit#28 ← phi( main::@1/(byte[]) plot_bit#30 ) - (byte[]) plot_ylo#29 ← phi( main::@1/(byte[]) plot_ylo#33 ) - (byte[]) plot_yhi#29 ← phi( main::@1/(byte[]) plot_yhi#33 ) - (byte[]) plot_xlo#28 ← phi( main::@1/(byte[]) plot_xlo#30 ) - (byte[]) plot_xhi#28 ← phi( main::@1/(byte[]) plot_xhi#30 ) + (byte[]) plot_bit#45 ← phi( main::@1/(byte[]) plot_bit#47 ) + (byte[]) plot_ylo#49 ← phi( main::@1/(byte[]) plot_ylo#51 ) + (byte[]) plot_yhi#49 ← phi( main::@1/(byte[]) plot_yhi#51 ) + (byte[]) plot_xlo#45 ← phi( main::@1/(byte[]) plot_xlo#47 ) + (byte[]) plot_xhi#45 ← phi( main::@1/(byte[]) plot_xhi#47 ) (byte) lines_cnt#3 ← phi( main::@1/(byte) lines_cnt#4 ) (byte[]) lines_y#2 ← phi( main::@1/(byte[]) lines_y#4 ) (byte[]) lines_x#2 ← phi( main::@1/(byte[]) lines_x#4 ) (byte) lines::l#0 ← (byte) 0 to:lines::@1 lines::@1: scope:[lines] from lines lines::@3 - (byte[]) plot_bit#27 ← phi( lines/(byte[]) plot_bit#28 lines::@3/(byte[]) plot_bit#29 ) - (byte[]) plot_ylo#27 ← phi( lines/(byte[]) plot_ylo#29 lines::@3/(byte[]) plot_ylo#30 ) - (byte[]) plot_yhi#27 ← phi( lines/(byte[]) plot_yhi#29 lines::@3/(byte[]) plot_yhi#30 ) - (byte[]) plot_xlo#27 ← phi( lines/(byte[]) plot_xlo#28 lines::@3/(byte[]) plot_xlo#29 ) - (byte[]) plot_xhi#27 ← phi( lines/(byte[]) plot_xhi#28 lines::@3/(byte[]) plot_xhi#29 ) + (byte[]) plot_bit#44 ← phi( lines/(byte[]) plot_bit#45 lines::@3/(byte[]) plot_bit#46 ) + (byte[]) plot_ylo#48 ← phi( lines/(byte[]) plot_ylo#49 lines::@3/(byte[]) plot_ylo#50 ) + (byte[]) plot_yhi#48 ← phi( lines/(byte[]) plot_yhi#49 lines::@3/(byte[]) plot_yhi#50 ) + (byte[]) plot_xlo#44 ← phi( lines/(byte[]) plot_xlo#45 lines::@3/(byte[]) plot_xlo#46 ) + (byte[]) plot_xhi#44 ← phi( lines/(byte[]) plot_xhi#45 lines::@3/(byte[]) plot_xhi#46 ) (byte) lines_cnt#2 ← phi( lines/(byte) lines_cnt#3 lines::@3/(byte) lines_cnt#1 ) (byte[]) lines_y#1 ← phi( lines/(byte[]) lines_y#2 lines::@3/(byte[]) lines_y#3 ) (byte) lines::l#2 ← phi( lines/(byte) lines::l#0 lines::@3/(byte) lines::l#1 ) @@ -3876,11 +5822,11 @@ lines::@1: scope:[lines] from lines lines::@3 call line param-assignment to:lines::@3 lines::@3: scope:[lines] from lines::@1 - (byte[]) plot_bit#29 ← phi( lines::@1/(byte[]) plot_bit#27 ) - (byte[]) plot_ylo#30 ← phi( lines::@1/(byte[]) plot_ylo#27 ) - (byte[]) plot_yhi#30 ← phi( lines::@1/(byte[]) plot_yhi#27 ) - (byte[]) plot_xlo#29 ← phi( lines::@1/(byte[]) plot_xlo#27 ) - (byte[]) plot_xhi#29 ← phi( lines::@1/(byte[]) plot_xhi#27 ) + (byte[]) plot_bit#46 ← phi( lines::@1/(byte[]) plot_bit#44 ) + (byte[]) plot_ylo#50 ← phi( lines::@1/(byte[]) plot_ylo#48 ) + (byte[]) plot_yhi#50 ← phi( lines::@1/(byte[]) plot_yhi#48 ) + (byte[]) plot_xlo#46 ← phi( lines::@1/(byte[]) plot_xlo#44 ) + (byte[]) plot_xhi#46 ← phi( lines::@1/(byte[]) plot_xhi#44 ) (byte[]) lines_y#3 ← phi( lines::@1/(byte[]) lines_y#1 ) (byte[]) lines_x#3 ← phi( lines::@1/(byte[]) lines_x#1 ) (byte) lines_cnt#1 ← phi( lines::@1/(byte) lines_cnt#2 ) @@ -3893,296 +5839,621 @@ lines::@return: scope:[lines] from lines::@3 return to:@return line: scope:[line] from lines::@1 - (byte[]) plot_bit#22 ← phi( lines::@1/(byte[]) plot_bit#27 ) - (byte[]) plot_ylo#21 ← phi( lines::@1/(byte[]) plot_ylo#27 ) - (byte[]) plot_yhi#21 ← phi( lines::@1/(byte[]) plot_yhi#27 ) - (byte[]) plot_xlo#22 ← phi( lines::@1/(byte[]) plot_xlo#27 ) - (byte[]) plot_xhi#22 ← phi( lines::@1/(byte[]) plot_xhi#27 ) - (byte) line::y1#8 ← phi( lines::@1/(byte) line::y1#0 ) - (byte) line::y0#9 ← phi( lines::@1/(byte) line::y0#0 ) + (byte[]) plot_bit#43 ← phi( lines::@1/(byte[]) plot_bit#44 ) + (byte[]) plot_ylo#46 ← phi( lines::@1/(byte[]) plot_ylo#48 ) + (byte[]) plot_yhi#46 ← phi( lines::@1/(byte[]) plot_yhi#48 ) + (byte[]) plot_xlo#43 ← phi( lines::@1/(byte[]) plot_xlo#44 ) + (byte[]) plot_xhi#43 ← phi( lines::@1/(byte[]) plot_xhi#44 ) + (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::$1 ← (byte) line::x0#1 >= (byte) line::x1#1 if((boolean~) line::$1) goto line::@1 - to:line::@9 -line::@1: scope:[line] from line - (byte[]) plot_bit#16 ← phi( line/(byte[]) plot_bit#22 ) - (byte[]) plot_ylo#16 ← phi( line/(byte[]) plot_ylo#21 ) - (byte[]) plot_yhi#16 ← phi( line/(byte[]) plot_yhi#21 ) - (byte[]) plot_xlo#16 ← phi( line/(byte[]) plot_xlo#22 ) - (byte[]) plot_xhi#16 ← phi( line/(byte[]) plot_xhi#22 ) - (byte) line::y1#1 ← phi( line/(byte) line::y1#8 ) - (byte) line::y0#1 ← phi( line/(byte) line::y0#9 ) - (byte) line::x0#2 ← phi( line/(byte) line::x0#1 ) - (byte) line::x1#2 ← phi( line/(byte) line::x1#1 ) - (byte~) line::$13 ← (byte) line::x1#2 - (byte) line::x0#2 - (byte) line::xd#0 ← (byte~) line::$13 - (boolean~) line::$15 ← (byte) line::y0#1 >= (byte) line::y1#1 - if((boolean~) line::$15) goto line::@7 to:line::@15 -line::@9: scope:[line] from line - (byte[]) plot_bit#14 ← phi( line/(byte[]) plot_bit#22 ) - (byte[]) plot_ylo#14 ← phi( line/(byte[]) plot_ylo#21 ) - (byte[]) plot_yhi#14 ← phi( line/(byte[]) plot_yhi#21 ) - (byte[]) plot_xlo#14 ← phi( line/(byte[]) plot_xlo#22 ) - (byte[]) plot_xhi#14 ← phi( line/(byte[]) plot_xhi#22 ) - (byte) line::y1#2 ← phi( line/(byte) line::y1#8 ) - (byte) line::y0#2 ← phi( line/(byte) line::y0#9 ) +line::@1: scope:[line] from line + (byte[]) plot_bit#42 ← phi( line/(byte[]) plot_bit#43 ) + (byte[]) plot_ylo#43 ← phi( line/(byte[]) plot_ylo#46 ) + (byte[]) plot_yhi#43 ← phi( line/(byte[]) plot_yhi#46 ) + (byte[]) plot_xlo#42 ← phi( line/(byte[]) plot_xlo#43 ) + (byte[]) plot_xhi#42 ← phi( line/(byte[]) plot_xhi#43 ) + (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~) line::$15 ← (byte) line::x0#2 - (byte) line::x1#2 + (byte) line::xd#0 ← (byte~) line::$15 + (boolean~) line::$17 ← (byte) line::y0#1 >= (byte) line::y1#1 + if((boolean~) line::$17) goto line::@9 + to:line::@23 +line::@15: scope:[line] from line + (byte[]) plot_bit#41 ← phi( line/(byte[]) plot_bit#43 ) + (byte[]) plot_ylo#42 ← phi( line/(byte[]) plot_ylo#46 ) + (byte[]) plot_yhi#42 ← phi( line/(byte[]) plot_yhi#46 ) + (byte[]) plot_xlo#41 ← phi( line/(byte[]) plot_xlo#43 ) + (byte[]) plot_xhi#41 ← phi( line/(byte[]) plot_xhi#43 ) + (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~) line::$2 ← (byte) line::x1#3 - (byte) line::x0#3 (byte) line::xd#1 ← (byte~) line::$2 (boolean~) line::$4 ← (byte) line::y0#2 >= (byte) line::y1#2 if((boolean~) line::$4) goto line::@2 - to:line::@10 -line::@2: scope:[line] from line::@9 - (byte[]) plot_bit#6 ← phi( line::@9/(byte[]) plot_bit#14 ) - (byte[]) plot_ylo#6 ← phi( line::@9/(byte[]) plot_ylo#14 ) - (byte[]) plot_yhi#6 ← phi( line::@9/(byte[]) plot_yhi#14 ) - (byte[]) plot_xlo#6 ← phi( line::@9/(byte[]) plot_xlo#14 ) - (byte[]) plot_xhi#6 ← phi( line::@9/(byte[]) plot_xhi#14 ) - (byte) line::y1#9 ← phi( line::@9/(byte) line::y1#2 ) - (byte) line::x1#9 ← phi( line::@9/(byte) line::x1#3 ) - (byte) line::y0#3 ← phi( line::@9/(byte) line::y0#2 ) - (byte) line::x0#4 ← phi( line::@9/(byte) line::x0#3 ) - (byte) plot::x#0 ← (byte) line::x0#4 - (byte) plot::y#0 ← (byte) line::y0#3 - call plot param-assignment - to:line::@17 -line::@17: scope:[line] from line::@2 - (byte[]) plot_bit#4 ← phi( line::@2/(byte[]) plot_bit#6 ) - (byte[]) plot_ylo#4 ← phi( line::@2/(byte[]) plot_ylo#6 ) - (byte[]) plot_yhi#4 ← phi( line::@2/(byte[]) plot_yhi#6 ) - (byte[]) plot_xlo#4 ← phi( line::@2/(byte[]) plot_xlo#6 ) - (byte[]) plot_xhi#4 ← phi( line::@2/(byte[]) plot_xhi#6 ) - (byte) line::y1#3 ← phi( line::@2/(byte) line::y1#9 ) - (byte) line::x1#4 ← phi( line::@2/(byte) line::x1#9 ) - (byte) plot::x#1 ← (byte) line::x1#4 - (byte) plot::y#1 ← (byte) line::y1#3 - call plot param-assignment - to:line::@return -line::@10: scope:[line] from line::@9 - (byte[]) plot_bit#15 ← phi( line::@9/(byte[]) plot_bit#14 ) - (byte[]) plot_ylo#15 ← phi( line::@9/(byte[]) plot_ylo#14 ) - (byte[]) plot_yhi#15 ← phi( line::@9/(byte[]) plot_yhi#14 ) - (byte[]) plot_xlo#15 ← phi( line::@9/(byte[]) plot_xlo#14 ) - (byte[]) plot_xhi#15 ← phi( line::@9/(byte[]) plot_xhi#14 ) - (byte) line::x1#11 ← phi( line::@9/(byte) line::x1#3 ) - (byte) line::x0#9 ← phi( line::@9/(byte) line::x0#3 ) - (byte) line::xd#2 ← phi( line::@9/(byte) line::xd#1 ) - (byte) line::y0#4 ← phi( line::@9/(byte) line::y0#2 ) - (byte) line::y1#4 ← phi( line::@9/(byte) line::y1#2 ) + to:line::@16 +line::@2: scope:[line] from line::@15 + (byte[]) plot_bit#38 ← phi( line::@15/(byte[]) plot_bit#41 ) + (byte[]) plot_ylo#38 ← phi( line::@15/(byte[]) plot_ylo#42 ) + (byte[]) plot_yhi#38 ← phi( line::@15/(byte[]) plot_yhi#42 ) + (byte[]) plot_xlo#38 ← phi( line::@15/(byte[]) plot_xlo#41 ) + (byte[]) plot_xhi#38 ← phi( line::@15/(byte[]) plot_xhi#41 ) + (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~) line::$10 ← (byte) line::y0#3 - (byte) line::y1#3 + (byte) line::yd#0 ← (byte~) line::$10 + (boolean~) line::$12 ← (byte) line::yd#0 >= (byte) line::xd#2 + if((boolean~) line::$12) goto line::@6 + to:line::@20 +line::@16: scope:[line] from line::@15 + (byte[]) plot_bit#37 ← phi( line::@15/(byte[]) plot_bit#41 ) + (byte[]) plot_ylo#37 ← phi( line::@15/(byte[]) plot_ylo#42 ) + (byte[]) plot_yhi#37 ← phi( line::@15/(byte[]) plot_yhi#42 ) + (byte[]) plot_xlo#37 ← phi( line::@15/(byte[]) plot_xlo#41 ) + (byte[]) plot_xhi#37 ← phi( line::@15/(byte[]) plot_xhi#41 ) + (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~) line::$5 ← (byte) line::y1#4 - (byte) line::y0#4 - (byte) line::yd#0 ← (byte~) line::$5 - (boolean~) line::$7 ← (byte) line::yd#0 >= (byte) line::xd#2 + (byte) line::yd#1 ← (byte~) line::$5 + (boolean~) line::$7 ← (byte) line::yd#1 >= (byte) line::xd#3 if((boolean~) line::$7) goto line::@3 - to:line::@11 -line::@3: scope:[line] from line::@10 - (byte[]) plot_bit#9 ← phi( line::@10/(byte[]) plot_bit#15 ) - (byte[]) plot_ylo#9 ← phi( line::@10/(byte[]) plot_ylo#15 ) - (byte[]) plot_yhi#9 ← phi( line::@10/(byte[]) plot_yhi#15 ) - (byte[]) plot_xlo#9 ← phi( line::@10/(byte[]) plot_xlo#15 ) - (byte[]) plot_xhi#9 ← phi( line::@10/(byte[]) plot_xhi#15 ) - (byte) line::y1#10 ← phi( line::@10/(byte) line::y1#4 ) - (byte) line::x1#10 ← phi( line::@10/(byte) line::x1#11 ) - (byte) line::y0#5 ← phi( line::@10/(byte) line::y0#4 ) - (byte) line::x0#5 ← phi( line::@10/(byte) line::x0#9 ) - (byte) plot::x#2 ← (byte) line::x0#5 - (byte) plot::y#2 ← (byte) line::y0#5 - call plot param-assignment - to:line::@19 -line::@19: scope:[line] from line::@3 - (byte[]) plot_bit#5 ← phi( line::@3/(byte[]) plot_bit#9 ) - (byte[]) plot_ylo#5 ← phi( line::@3/(byte[]) plot_ylo#9 ) - (byte[]) plot_yhi#5 ← phi( line::@3/(byte[]) plot_yhi#9 ) - (byte[]) plot_xlo#5 ← phi( line::@3/(byte[]) plot_xlo#9 ) - (byte[]) plot_xhi#5 ← phi( line::@3/(byte[]) plot_xhi#9 ) - (byte) line::y1#5 ← phi( line::@3/(byte) line::y1#10 ) - (byte) line::x1#5 ← phi( line::@3/(byte) line::x1#10 ) - (byte) plot::x#3 ← (byte) line::x1#5 - (byte) plot::y#3 ← (byte) line::y1#5 - call plot param-assignment + to:line::@17 +line::@3: scope:[line] from line::@16 + (byte[]) plot_bit#29 ← phi( line::@16/(byte[]) plot_bit#37 ) + (byte[]) plot_ylo#28 ← phi( line::@16/(byte[]) plot_ylo#37 ) + (byte[]) plot_yhi#28 ← phi( line::@16/(byte[]) plot_yhi#37 ) + (byte[]) plot_xlo#29 ← phi( line::@16/(byte[]) plot_xlo#37 ) + (byte[]) plot_xhi#29 ← phi( line::@16/(byte[]) plot_xhi#37 ) + (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::@return -line::@11: scope:[line] from line::@10 - (byte[]) plot_bit#23 ← phi( line::@10/(byte[]) plot_bit#15 ) - (byte[]) plot_ylo#22 ← phi( line::@10/(byte[]) plot_ylo#15 ) - (byte[]) plot_yhi#22 ← phi( line::@10/(byte[]) plot_yhi#15 ) - (byte[]) plot_xlo#23 ← phi( line::@10/(byte[]) plot_xlo#15 ) - (byte[]) plot_xhi#23 ← phi( line::@10/(byte[]) plot_xhi#15 ) - (byte) line::yd#1 ← phi( line::@10/(byte) line::yd#0 ) - (byte) line::xd#3 ← phi( line::@10/(byte) line::xd#2 ) - (byte) line::x1#6 ← phi( line::@10/(byte) line::x1#11 ) - (byte) line::y0#6 ← phi( line::@10/(byte) line::y0#4 ) - (byte) line::x0#6 ← phi( line::@10/(byte) line::x0#9 ) - (byte) line_xdyi::x#0 ← (byte) line::x0#6 +line::@17: scope:[line] from line::@16 + (byte[]) plot_bit#20 ← phi( line::@16/(byte[]) plot_bit#37 ) + (byte[]) plot_ylo#19 ← phi( line::@16/(byte[]) plot_ylo#37 ) + (byte[]) plot_yhi#19 ← phi( line::@16/(byte[]) plot_yhi#37 ) + (byte[]) plot_xlo#20 ← phi( line::@16/(byte[]) plot_xlo#37 ) + (byte[]) plot_xhi#20 ← phi( line::@16/(byte[]) plot_xhi#37 ) + (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#6 - (byte) line_xdyi::xd#0 ← (byte) line::xd#3 - (byte) line_xdyi::yd#0 ← (byte) line::yd#1 + (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::@return -line::@7: scope:[line] from line::@1 - (byte[]) plot_bit#10 ← phi( line::@1/(byte[]) plot_bit#16 ) - (byte[]) plot_ylo#10 ← phi( line::@1/(byte[]) plot_ylo#16 ) - (byte[]) plot_yhi#10 ← phi( line::@1/(byte[]) plot_yhi#16 ) - (byte[]) plot_xlo#10 ← phi( line::@1/(byte[]) plot_xlo#16 ) - (byte[]) plot_xhi#10 ← phi( line::@1/(byte[]) plot_xhi#16 ) - (byte) line::y1#11 ← phi( line::@1/(byte) line::y1#1 ) - (byte) line::x1#12 ← phi( line::@1/(byte) line::x1#2 ) - (byte) line::y0#7 ← phi( line::@1/(byte) line::y0#1 ) - (byte) line::x0#7 ← phi( line::@1/(byte) line::x0#2 ) - (byte) plot::x#4 ← (byte) line::x0#7 - (byte) plot::y#4 ← (byte) line::y0#7 - call plot param-assignment - to:line::@22 -line::@22: scope:[line] from line::@7 - (byte[]) plot_bit#7 ← phi( line::@7/(byte[]) plot_bit#10 ) - (byte[]) plot_ylo#7 ← phi( line::@7/(byte[]) plot_ylo#10 ) - (byte[]) plot_yhi#7 ← phi( line::@7/(byte[]) plot_yhi#10 ) - (byte[]) plot_xlo#7 ← phi( line::@7/(byte[]) plot_xlo#10 ) - (byte[]) plot_xhi#7 ← phi( line::@7/(byte[]) plot_xhi#10 ) - (byte) line::y1#6 ← phi( line::@7/(byte) line::y1#11 ) - (byte) line::x1#7 ← phi( line::@7/(byte) line::x1#12 ) - (byte) plot::x#5 ← (byte) line::x1#7 - (byte) plot::y#5 ← (byte) line::y1#6 - call plot param-assignment +line::@6: scope:[line] from line::@2 + (byte[]) plot_bit#33 ← phi( line::@2/(byte[]) plot_bit#38 ) + (byte[]) plot_ylo#32 ← phi( line::@2/(byte[]) plot_ylo#38 ) + (byte[]) plot_yhi#32 ← phi( line::@2/(byte[]) plot_yhi#38 ) + (byte[]) plot_xlo#33 ← phi( line::@2/(byte[]) plot_xlo#38 ) + (byte[]) plot_xhi#33 ← phi( line::@2/(byte[]) plot_xhi#38 ) + (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::@return -line::@15: scope:[line] from line::@1 - (byte[]) plot_bit#3 ← phi( line::@1/(byte[]) plot_bit#16 ) - (byte[]) plot_ylo#3 ← phi( line::@1/(byte[]) plot_ylo#16 ) - (byte[]) plot_yhi#3 ← phi( line::@1/(byte[]) plot_yhi#16 ) - (byte[]) plot_xlo#3 ← phi( line::@1/(byte[]) plot_xlo#16 ) - (byte[]) plot_xhi#3 ← phi( line::@1/(byte[]) plot_xhi#16 ) - (byte) line::y1#12 ← phi( line::@1/(byte) line::y1#1 ) +line::@20: scope:[line] from line::@2 + (byte[]) plot_bit#24 ← phi( line::@2/(byte[]) plot_bit#38 ) + (byte[]) plot_ylo#23 ← phi( line::@2/(byte[]) plot_ylo#38 ) + (byte[]) plot_yhi#23 ← phi( line::@2/(byte[]) plot_yhi#38 ) + (byte[]) plot_xlo#24 ← phi( line::@2/(byte[]) plot_xlo#38 ) + (byte[]) plot_xhi#24 ← phi( line::@2/(byte[]) plot_xhi#38 ) + (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::@return +line::@9: scope:[line] from line::@1 + (byte[]) plot_bit#40 ← phi( line::@1/(byte[]) plot_bit#42 ) + (byte[]) plot_ylo#40 ← phi( line::@1/(byte[]) plot_ylo#43 ) + (byte[]) plot_yhi#40 ← phi( line::@1/(byte[]) plot_yhi#43 ) + (byte[]) plot_xlo#40 ← phi( line::@1/(byte[]) plot_xlo#42 ) + (byte[]) plot_xhi#40 ← phi( line::@1/(byte[]) plot_xhi#42 ) + (byte) line::x0#13 ← phi( line::@1/(byte) line::x0#2 ) (byte) line::x1#13 ← phi( line::@1/(byte) line::x1#2 ) - (byte) line::y0#8 ← phi( line::@1/(byte) line::y0#1 ) - (byte) line::x0#8 ← phi( line::@1/(byte) line::x0#2 ) - (byte) plot::x#6 ← (byte) line::x0#8 - (byte) plot::y#6 ← (byte) line::y0#8 - call plot param-assignment + (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~) line::$23 ← (byte) line::y0#9 - (byte) line::y1#7 + (byte) line::yd#2 ← (byte~) line::$23 + (boolean~) line::$25 ← (byte) line::yd#2 >= (byte) line::xd#8 + if((boolean~) line::$25) goto line::@13 + to:line::@27 +line::@23: scope:[line] from line::@1 + (byte[]) plot_bit#39 ← phi( line::@1/(byte[]) plot_bit#42 ) + (byte[]) plot_ylo#39 ← phi( line::@1/(byte[]) plot_ylo#43 ) + (byte[]) plot_yhi#39 ← phi( line::@1/(byte[]) plot_yhi#43 ) + (byte[]) plot_xlo#39 ← phi( line::@1/(byte[]) plot_xlo#42 ) + (byte[]) plot_xhi#39 ← phi( line::@1/(byte[]) plot_xhi#42 ) + (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~) line::$18 ← (byte) line::y1#8 - (byte) line::y0#10 + (byte) line::yd#3 ← (byte~) line::$18 + (boolean~) line::$20 ← (byte) line::yd#3 >= (byte) line::xd#9 + if((boolean~) line::$20) goto line::@10 to:line::@24 -line::@24: scope:[line] from line::@15 - (byte[]) plot_bit#8 ← phi( line::@15/(byte[]) plot_bit#3 ) - (byte[]) plot_ylo#8 ← phi( line::@15/(byte[]) plot_ylo#3 ) - (byte[]) plot_yhi#8 ← phi( line::@15/(byte[]) plot_yhi#3 ) - (byte[]) plot_xlo#8 ← phi( line::@15/(byte[]) plot_xlo#3 ) - (byte[]) plot_xhi#8 ← phi( line::@15/(byte[]) plot_xhi#3 ) - (byte) line::y1#7 ← phi( line::@15/(byte) line::y1#12 ) - (byte) line::x1#8 ← phi( line::@15/(byte) line::x1#13 ) - (byte) plot::x#7 ← (byte) line::x1#8 - (byte) plot::y#7 ← (byte) line::y1#7 - call plot param-assignment +line::@10: scope:[line] from line::@23 + (byte[]) plot_bit#32 ← phi( line::@23/(byte[]) plot_bit#39 ) + (byte[]) plot_ylo#31 ← phi( line::@23/(byte[]) plot_ylo#39 ) + (byte[]) plot_yhi#31 ← phi( line::@23/(byte[]) plot_yhi#39 ) + (byte[]) plot_xlo#32 ← phi( line::@23/(byte[]) plot_xlo#39 ) + (byte[]) plot_xhi#32 ← phi( line::@23/(byte[]) plot_xhi#39 ) + (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::@return -line::@return: scope:[line] from line::@11 line::@17 line::@19 line::@22 line::@24 +line::@24: scope:[line] from line::@23 + (byte[]) plot_bit#25 ← phi( line::@23/(byte[]) plot_bit#39 ) + (byte[]) plot_ylo#24 ← phi( line::@23/(byte[]) plot_ylo#39 ) + (byte[]) plot_yhi#24 ← phi( line::@23/(byte[]) plot_yhi#39 ) + (byte[]) plot_xlo#25 ← phi( line::@23/(byte[]) plot_xlo#39 ) + (byte[]) plot_xhi#25 ← phi( line::@23/(byte[]) plot_xhi#39 ) + (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::@return +line::@13: scope:[line] from line::@9 + (byte[]) plot_bit#28 ← phi( line::@9/(byte[]) plot_bit#40 ) + (byte[]) plot_ylo#27 ← phi( line::@9/(byte[]) plot_ylo#40 ) + (byte[]) plot_yhi#27 ← phi( line::@9/(byte[]) plot_yhi#40 ) + (byte[]) plot_xlo#28 ← phi( line::@9/(byte[]) plot_xlo#40 ) + (byte[]) plot_xhi#28 ← phi( line::@9/(byte[]) plot_xhi#40 ) + (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::@return +line::@27: scope:[line] from line::@9 + (byte[]) plot_bit#21 ← phi( line::@9/(byte[]) plot_bit#40 ) + (byte[]) plot_ylo#20 ← phi( line::@9/(byte[]) plot_ylo#40 ) + (byte[]) plot_yhi#20 ← phi( line::@9/(byte[]) plot_yhi#40 ) + (byte[]) plot_xlo#21 ← phi( line::@9/(byte[]) plot_xlo#40 ) + (byte[]) plot_xhi#21 ← phi( line::@9/(byte[]) plot_xhi#40 ) + (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::@return +line::@return: scope:[line] from line::@10 line::@13 line::@17 line::@20 line::@24 line::@27 line::@3 line::@6 return to:@return -line_xdyi: scope:[line_xdyi] from line::@11 - (byte) line_xdyi::x1#5 ← phi( line::@11/(byte) line_xdyi::x1#0 ) - (byte[]) plot_bit#17 ← phi( line::@11/(byte[]) plot_bit#23 ) - (byte[]) plot_ylo#17 ← phi( line::@11/(byte[]) plot_ylo#22 ) - (byte[]) plot_yhi#17 ← phi( line::@11/(byte[]) plot_yhi#22 ) - (byte[]) plot_xlo#17 ← phi( line::@11/(byte[]) plot_xlo#23 ) - (byte[]) plot_xhi#17 ← phi( line::@11/(byte[]) plot_xhi#23 ) - (byte) line_xdyi::xd#4 ← phi( line::@11/(byte) line_xdyi::xd#0 ) - (byte) line_xdyi::y#4 ← phi( line::@11/(byte) line_xdyi::y#0 ) - (byte) line_xdyi::x#5 ← phi( line::@11/(byte) line_xdyi::x#0 ) - (byte) line_xdyi::yd#1 ← phi( line::@11/(byte) line_xdyi::yd#0 ) - (byte~) line_xdyi::$0 ← (byte) line_xdyi::yd#1 >> (byte) 1 +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[]) plot_bit#9 ← phi( line::@17/(byte[]) plot_bit#20 line::@27/(byte[]) plot_bit#21 ) + (byte[]) plot_ylo#9 ← phi( line::@17/(byte[]) plot_ylo#19 line::@27/(byte[]) plot_ylo#20 ) + (byte[]) plot_yhi#9 ← phi( line::@17/(byte[]) plot_yhi#19 line::@27/(byte[]) plot_yhi#20 ) + (byte[]) plot_xlo#9 ← phi( line::@17/(byte[]) plot_xlo#20 line::@27/(byte[]) plot_xlo#21 ) + (byte[]) plot_xhi#9 ← phi( line::@17/(byte[]) plot_xhi#20 line::@27/(byte[]) plot_xhi#21 ) + (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) 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#4 ← phi( line_xdyi/(byte) line_xdyi::x1#5 line_xdyi::@2/(byte) line_xdyi::x1#1 ) - (byte[]) plot_bit#11 ← phi( line_xdyi/(byte[]) plot_bit#17 line_xdyi::@2/(byte[]) plot_bit#18 ) - (byte[]) plot_ylo#11 ← phi( line_xdyi/(byte[]) plot_ylo#17 line_xdyi::@2/(byte[]) plot_ylo#18 ) - (byte[]) plot_yhi#11 ← phi( line_xdyi/(byte[]) plot_yhi#17 line_xdyi::@2/(byte[]) plot_yhi#18 ) - (byte[]) plot_xlo#11 ← phi( line_xdyi/(byte[]) plot_xlo#17 line_xdyi::@2/(byte[]) plot_xlo#18 ) - (byte[]) plot_xhi#11 ← phi( line_xdyi/(byte[]) plot_xhi#17 line_xdyi::@2/(byte[]) plot_xhi#18 ) - (byte) line_xdyi::xd#3 ← phi( line_xdyi/(byte) line_xdyi::xd#4 line_xdyi::@2/(byte) line_xdyi::xd#5 ) - (byte) line_xdyi::yd#3 ← phi( line_xdyi/(byte) line_xdyi::yd#1 line_xdyi::@2/(byte) line_xdyi::yd#4 ) + (byte) line_xdyi::x1#5 ← phi( line_xdyi/(byte) line_xdyi::x1#6 line_xdyi::@2/(byte) line_xdyi::x1#2 ) + (byte[]) plot_bit#4 ← phi( line_xdyi/(byte[]) plot_bit#9 line_xdyi::@2/(byte[]) plot_bit#10 ) + (byte[]) plot_ylo#4 ← phi( line_xdyi/(byte[]) plot_ylo#9 line_xdyi::@2/(byte[]) plot_ylo#10 ) + (byte[]) plot_yhi#4 ← phi( line_xdyi/(byte[]) plot_yhi#9 line_xdyi::@2/(byte[]) plot_yhi#10 ) + (byte[]) plot_xlo#4 ← phi( line_xdyi/(byte[]) plot_xlo#9 line_xdyi::@2/(byte[]) plot_xlo#10 ) + (byte[]) plot_xhi#4 ← phi( line_xdyi/(byte[]) plot_xhi#9 line_xdyi::@2/(byte[]) plot_xhi#10 ) + (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#2 ← phi( line_xdyi/(byte) line_xdyi::y#4 line_xdyi::@2/(byte) line_xdyi::y#5 ) - (byte) line_xdyi::x#2 ← phi( line_xdyi/(byte) line_xdyi::x#5 line_xdyi::@2/(byte) line_xdyi::x#4 ) - (byte) plot::x#8 ← (byte) line_xdyi::x#2 - (byte) plot::y#8 ← (byte) line_xdyi::y#2 + (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[]) plot_bit#25 ← phi( line_xdyi::@1/(byte[]) plot_bit#11 ) - (byte[]) plot_ylo#24 ← phi( line_xdyi::@1/(byte[]) plot_ylo#11 ) - (byte[]) plot_yhi#24 ← phi( line_xdyi::@1/(byte[]) plot_yhi#11 ) - (byte[]) plot_xlo#25 ← phi( line_xdyi::@1/(byte[]) plot_xlo#11 ) - (byte[]) plot_xhi#25 ← phi( line_xdyi::@1/(byte[]) plot_xhi#11 ) - (byte) line_xdyi::y#6 ← phi( line_xdyi::@1/(byte) line_xdyi::y#2 ) - (byte) line_xdyi::x1#3 ← phi( line_xdyi::@1/(byte) line_xdyi::x1#4 ) - (byte) line_xdyi::xd#1 ← phi( line_xdyi::@1/(byte) line_xdyi::xd#3 ) - (byte) line_xdyi::yd#2 ← phi( line_xdyi::@1/(byte) line_xdyi::yd#3 ) + (byte[]) plot_bit#23 ← phi( line_xdyi::@1/(byte[]) plot_bit#4 ) + (byte[]) plot_ylo#22 ← phi( line_xdyi::@1/(byte[]) plot_ylo#4 ) + (byte[]) plot_yhi#22 ← phi( line_xdyi::@1/(byte[]) plot_yhi#4 ) + (byte[]) plot_xlo#23 ← phi( line_xdyi::@1/(byte[]) plot_xlo#4 ) + (byte[]) plot_xhi#23 ← phi( line_xdyi::@1/(byte[]) plot_xhi#4 ) + (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#3 ← phi( line_xdyi::@1/(byte) line_xdyi::x#2 ) - (byte~) line_xdyi::$2 ← (byte) line_xdyi::x#3 + (byte) 1 - (byte) line_xdyi::x#1 ← (byte~) line_xdyi::$2 - (byte~) line_xdyi::$3 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#2 + (byte) line_xdyi::x#4 ← phi( line_xdyi::@1/(byte) line_xdyi::x#3 ) + (byte~) line_xdyi::$2 ← (byte) line_xdyi::x#4 + (byte) 1 + (byte) line_xdyi::x#2 ← (byte~) line_xdyi::$2 + (byte~) line_xdyi::$3 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#3 (byte) line_xdyi::e#1 ← (byte~) line_xdyi::$3 - (boolean~) line_xdyi::$5 ← (byte) line_xdyi::xd#1 >= (byte) line_xdyi::e#1 + (boolean~) line_xdyi::$5 ← (byte) line_xdyi::xd#2 >= (byte) line_xdyi::e#1 if((boolean~) line_xdyi::$5) goto line_xdyi::@2 to:line_xdyi::@3 line_xdyi::@2: scope:[line_xdyi] from line_xdyi::@3 line_xdyi::@5 - (byte[]) plot_bit#18 ← phi( line_xdyi::@3/(byte[]) plot_bit#24 line_xdyi::@5/(byte[]) plot_bit#25 ) - (byte[]) plot_ylo#18 ← phi( line_xdyi::@3/(byte[]) plot_ylo#23 line_xdyi::@5/(byte[]) plot_ylo#24 ) - (byte[]) plot_yhi#18 ← phi( line_xdyi::@3/(byte[]) plot_yhi#23 line_xdyi::@5/(byte[]) plot_yhi#24 ) - (byte[]) plot_xlo#18 ← phi( line_xdyi::@3/(byte[]) plot_xlo#24 line_xdyi::@5/(byte[]) plot_xlo#25 ) - (byte[]) plot_xhi#18 ← phi( line_xdyi::@3/(byte[]) plot_xhi#24 line_xdyi::@5/(byte[]) plot_xhi#25 ) - (byte) line_xdyi::xd#5 ← phi( line_xdyi::@3/(byte) line_xdyi::xd#2 line_xdyi::@5/(byte) line_xdyi::xd#1 ) - (byte) line_xdyi::yd#4 ← phi( line_xdyi::@3/(byte) line_xdyi::yd#5 line_xdyi::@5/(byte) line_xdyi::yd#2 ) + (byte[]) plot_bit#10 ← phi( line_xdyi::@3/(byte[]) plot_bit#22 line_xdyi::@5/(byte[]) plot_bit#23 ) + (byte[]) plot_ylo#10 ← phi( line_xdyi::@3/(byte[]) plot_ylo#21 line_xdyi::@5/(byte[]) plot_ylo#22 ) + (byte[]) plot_yhi#10 ← phi( line_xdyi::@3/(byte[]) plot_yhi#21 line_xdyi::@5/(byte[]) plot_yhi#22 ) + (byte[]) plot_xlo#10 ← phi( line_xdyi::@3/(byte[]) plot_xlo#22 line_xdyi::@5/(byte[]) plot_xlo#23 ) + (byte[]) plot_xhi#10 ← phi( line_xdyi::@3/(byte[]) plot_xhi#22 line_xdyi::@5/(byte[]) plot_xhi#23 ) + (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#5 ← phi( line_xdyi::@3/(byte) line_xdyi::y#1 line_xdyi::@5/(byte) line_xdyi::y#6 ) - (byte) line_xdyi::x#4 ← phi( line_xdyi::@3/(byte) line_xdyi::x#6 line_xdyi::@5/(byte) line_xdyi::x#1 ) - (byte) line_xdyi::x1#1 ← phi( line_xdyi::@3/(byte) line_xdyi::x1#2 line_xdyi::@5/(byte) line_xdyi::x1#3 ) - (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#1 + (byte) 1 - (boolean~) line_xdyi::$9 ← (byte) line_xdyi::x#4 < (byte~) line_xdyi::$8 + (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~) line_xdyi::$8 ← (byte) line_xdyi::x1#2 + (byte) 1 + (boolean~) line_xdyi::$9 ← (byte) line_xdyi::x#5 < (byte~) line_xdyi::$8 if((boolean~) line_xdyi::$9) goto line_xdyi::@1 to:line_xdyi::@return line_xdyi::@3: scope:[line_xdyi] from line_xdyi::@5 - (byte[]) plot_bit#24 ← phi( line_xdyi::@5/(byte[]) plot_bit#25 ) - (byte[]) plot_ylo#23 ← phi( line_xdyi::@5/(byte[]) plot_ylo#24 ) - (byte[]) plot_yhi#23 ← phi( line_xdyi::@5/(byte[]) plot_yhi#24 ) - (byte[]) plot_xlo#24 ← phi( line_xdyi::@5/(byte[]) plot_xlo#25 ) - (byte[]) plot_xhi#24 ← phi( line_xdyi::@5/(byte[]) plot_xhi#25 ) - (byte) line_xdyi::yd#5 ← phi( line_xdyi::@5/(byte) line_xdyi::yd#2 ) - (byte) line_xdyi::x#6 ← phi( line_xdyi::@5/(byte) line_xdyi::x#1 ) - (byte) line_xdyi::x1#2 ← phi( line_xdyi::@5/(byte) line_xdyi::x1#3 ) - (byte) line_xdyi::xd#2 ← phi( line_xdyi::@5/(byte) line_xdyi::xd#1 ) + (byte[]) plot_bit#22 ← phi( line_xdyi::@5/(byte[]) plot_bit#23 ) + (byte[]) plot_ylo#21 ← phi( line_xdyi::@5/(byte[]) plot_ylo#22 ) + (byte[]) plot_yhi#21 ← phi( line_xdyi::@5/(byte[]) plot_yhi#22 ) + (byte[]) plot_xlo#22 ← phi( line_xdyi::@5/(byte[]) plot_xlo#23 ) + (byte[]) plot_xhi#22 ← phi( line_xdyi::@5/(byte[]) plot_xhi#23 ) + (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#3 ← phi( line_xdyi::@5/(byte) line_xdyi::y#6 ) - (byte~) line_xdyi::$6 ← (byte) line_xdyi::y#3 + (byte) 1 - (byte) line_xdyi::y#1 ← (byte~) line_xdyi::$6 - (byte~) line_xdyi::$7 ← (byte) line_xdyi::e#4 - (byte) line_xdyi::xd#2 + (byte) line_xdyi::y#4 ← phi( line_xdyi::@5/(byte) line_xdyi::y#7 ) + (byte~) line_xdyi::$6 ← (byte) line_xdyi::y#4 + (byte) 1 + (byte) line_xdyi::y#2 ← (byte~) line_xdyi::$6 + (byte~) line_xdyi::$7 ← (byte) line_xdyi::e#4 - (byte) line_xdyi::xd#3 (byte) line_xdyi::e#2 ← (byte~) line_xdyi::$7 to:line_xdyi::@2 line_xdyi::@return: scope:[line_xdyi] from line_xdyi::@2 return to:@return -plot: scope:[plot] from line::@15 line::@17 line::@19 line::@2 line::@22 line::@24 line::@3 line::@7 line_xdyi::@1 - (byte[]) plot_bit#1 ← phi( line::@15/(byte[]) plot_bit#3 line::@17/(byte[]) plot_bit#4 line::@19/(byte[]) plot_bit#5 line::@2/(byte[]) plot_bit#6 line::@22/(byte[]) plot_bit#7 line::@24/(byte[]) plot_bit#8 line::@3/(byte[]) plot_bit#9 line::@7/(byte[]) plot_bit#10 line_xdyi::@1/(byte[]) plot_bit#11 ) - (byte[]) plot_ylo#1 ← phi( line::@15/(byte[]) plot_ylo#3 line::@17/(byte[]) plot_ylo#4 line::@19/(byte[]) plot_ylo#5 line::@2/(byte[]) plot_ylo#6 line::@22/(byte[]) plot_ylo#7 line::@24/(byte[]) plot_ylo#8 line::@3/(byte[]) plot_ylo#9 line::@7/(byte[]) plot_ylo#10 line_xdyi::@1/(byte[]) plot_ylo#11 ) - (byte) plot::y#9 ← phi( line::@15/(byte) plot::y#6 line::@17/(byte) plot::y#1 line::@19/(byte) plot::y#3 line::@2/(byte) plot::y#0 line::@22/(byte) plot::y#5 line::@24/(byte) plot::y#7 line::@3/(byte) plot::y#2 line::@7/(byte) plot::y#4 line_xdyi::@1/(byte) plot::y#8 ) - (byte[]) plot_yhi#1 ← phi( line::@15/(byte[]) plot_yhi#3 line::@17/(byte[]) plot_yhi#4 line::@19/(byte[]) plot_yhi#5 line::@2/(byte[]) plot_yhi#6 line::@22/(byte[]) plot_yhi#7 line::@24/(byte[]) plot_yhi#8 line::@3/(byte[]) plot_yhi#9 line::@7/(byte[]) plot_yhi#10 line_xdyi::@1/(byte[]) plot_yhi#11 ) - (byte[]) plot_xlo#1 ← phi( line::@15/(byte[]) plot_xlo#3 line::@17/(byte[]) plot_xlo#4 line::@19/(byte[]) plot_xlo#5 line::@2/(byte[]) plot_xlo#6 line::@22/(byte[]) plot_xlo#7 line::@24/(byte[]) plot_xlo#8 line::@3/(byte[]) plot_xlo#9 line::@7/(byte[]) plot_xlo#10 line_xdyi::@1/(byte[]) plot_xlo#11 ) - (byte) plot::x#9 ← phi( line::@15/(byte) plot::x#6 line::@17/(byte) plot::x#1 line::@19/(byte) plot::x#3 line::@2/(byte) plot::x#0 line::@22/(byte) plot::x#5 line::@24/(byte) plot::x#7 line::@3/(byte) plot::x#2 line::@7/(byte) plot::x#4 line_xdyi::@1/(byte) plot::x#8 ) - (byte[]) plot_xhi#1 ← phi( line::@15/(byte[]) plot_xhi#3 line::@17/(byte[]) plot_xhi#4 line::@19/(byte[]) plot_xhi#5 line::@2/(byte[]) plot_xhi#6 line::@22/(byte[]) plot_xhi#7 line::@24/(byte[]) plot_xhi#8 line::@3/(byte[]) plot_xhi#9 line::@7/(byte[]) plot_xhi#10 line_xdyi::@1/(byte[]) plot_xhi#11 ) +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[]) plot_bit#11 ← phi( line::@20/(byte[]) plot_bit#24 line::@24/(byte[]) plot_bit#25 ) + (byte[]) plot_ylo#11 ← phi( line::@20/(byte[]) plot_ylo#23 line::@24/(byte[]) plot_ylo#24 ) + (byte[]) plot_yhi#11 ← phi( line::@20/(byte[]) plot_yhi#23 line::@24/(byte[]) plot_yhi#24 ) + (byte[]) plot_xlo#11 ← phi( line::@20/(byte[]) plot_xlo#24 line::@24/(byte[]) plot_xlo#25 ) + (byte[]) plot_xhi#11 ← phi( line::@20/(byte[]) plot_xhi#24 line::@24/(byte[]) plot_xhi#25 ) + (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) 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[]) plot_bit#3 ← phi( line_xdyd/(byte[]) plot_bit#11 line_xdyd::@2/(byte[]) plot_bit#12 ) + (byte[]) plot_ylo#3 ← phi( line_xdyd/(byte[]) plot_ylo#11 line_xdyd::@2/(byte[]) plot_ylo#12 ) + (byte[]) plot_yhi#3 ← phi( line_xdyd/(byte[]) plot_yhi#11 line_xdyd::@2/(byte[]) plot_yhi#12 ) + (byte[]) plot_xlo#3 ← phi( line_xdyd/(byte[]) plot_xlo#11 line_xdyd::@2/(byte[]) plot_xlo#12 ) + (byte[]) plot_xhi#3 ← phi( line_xdyd/(byte[]) plot_xhi#11 line_xdyd::@2/(byte[]) plot_xhi#12 ) + (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[]) plot_bit#27 ← phi( line_xdyd::@1/(byte[]) plot_bit#3 ) + (byte[]) plot_ylo#26 ← phi( line_xdyd::@1/(byte[]) plot_ylo#3 ) + (byte[]) plot_yhi#26 ← phi( line_xdyd::@1/(byte[]) plot_yhi#3 ) + (byte[]) plot_xlo#27 ← phi( line_xdyd::@1/(byte[]) plot_xlo#3 ) + (byte[]) plot_xhi#27 ← phi( line_xdyd::@1/(byte[]) plot_xhi#3 ) + (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::$2 ← (byte) line_xdyd::x#4 + (byte) 1 + (byte) line_xdyd::x#2 ← (byte~) line_xdyd::$2 + (byte~) line_xdyd::$3 ← (byte) line_xdyd::e#3 + (byte) line_xdyd::yd#3 + (byte) line_xdyd::e#1 ← (byte~) line_xdyd::$3 + (boolean~) line_xdyd::$5 ← (byte) line_xdyd::xd#2 >= (byte) line_xdyd::e#1 + if((boolean~) line_xdyd::$5) goto line_xdyd::@2 + to:line_xdyd::@3 +line_xdyd::@2: scope:[line_xdyd] from line_xdyd::@3 line_xdyd::@5 + (byte[]) plot_bit#12 ← phi( line_xdyd::@3/(byte[]) plot_bit#26 line_xdyd::@5/(byte[]) plot_bit#27 ) + (byte[]) plot_ylo#12 ← phi( line_xdyd::@3/(byte[]) plot_ylo#25 line_xdyd::@5/(byte[]) plot_ylo#26 ) + (byte[]) plot_yhi#12 ← phi( line_xdyd::@3/(byte[]) plot_yhi#25 line_xdyd::@5/(byte[]) plot_yhi#26 ) + (byte[]) plot_xlo#12 ← phi( line_xdyd::@3/(byte[]) plot_xlo#26 line_xdyd::@5/(byte[]) plot_xlo#27 ) + (byte[]) plot_xhi#12 ← phi( line_xdyd::@3/(byte[]) plot_xhi#26 line_xdyd::@5/(byte[]) plot_xhi#27 ) + (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~) line_xdyd::$8 ← (byte) line_xdyd::x1#2 + (byte) 1 + (boolean~) line_xdyd::$9 ← (byte) line_xdyd::x#5 < (byte~) line_xdyd::$8 + if((boolean~) line_xdyd::$9) goto line_xdyd::@1 + to:line_xdyd::@return +line_xdyd::@3: scope:[line_xdyd] from line_xdyd::@5 + (byte[]) plot_bit#26 ← phi( line_xdyd::@5/(byte[]) plot_bit#27 ) + (byte[]) plot_ylo#25 ← phi( line_xdyd::@5/(byte[]) plot_ylo#26 ) + (byte[]) plot_yhi#25 ← phi( line_xdyd::@5/(byte[]) plot_yhi#26 ) + (byte[]) plot_xlo#26 ← phi( line_xdyd::@5/(byte[]) plot_xlo#27 ) + (byte[]) plot_xhi#26 ← phi( line_xdyd::@5/(byte[]) plot_xhi#27 ) + (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::$6 ← (byte) line_xdyd::y#4 - (byte) 1 + (byte) line_xdyd::y#2 ← (byte~) line_xdyd::$6 + (byte~) line_xdyd::$7 ← (byte) line_xdyd::e#4 - (byte) line_xdyd::xd#3 + (byte) line_xdyd::e#2 ← (byte~) line_xdyd::$7 + 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[]) plot_bit#13 ← phi( line::@13/(byte[]) plot_bit#28 line::@3/(byte[]) plot_bit#29 ) + (byte[]) plot_ylo#13 ← phi( line::@13/(byte[]) plot_ylo#27 line::@3/(byte[]) plot_ylo#28 ) + (byte[]) plot_yhi#13 ← phi( line::@13/(byte[]) plot_yhi#27 line::@3/(byte[]) plot_yhi#28 ) + (byte[]) plot_xlo#13 ← phi( line::@13/(byte[]) plot_xlo#28 line::@3/(byte[]) plot_xlo#29 ) + (byte[]) plot_xhi#13 ← phi( line::@13/(byte[]) plot_xhi#28 line::@3/(byte[]) plot_xhi#29 ) + (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) 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[]) plot_bit#6 ← phi( line_ydxi/(byte[]) plot_bit#13 line_ydxi::@2/(byte[]) plot_bit#14 ) + (byte[]) plot_ylo#6 ← phi( line_ydxi/(byte[]) plot_ylo#13 line_ydxi::@2/(byte[]) plot_ylo#14 ) + (byte[]) plot_yhi#6 ← phi( line_ydxi/(byte[]) plot_yhi#13 line_ydxi::@2/(byte[]) plot_yhi#14 ) + (byte[]) plot_xlo#6 ← phi( line_ydxi/(byte[]) plot_xlo#13 line_ydxi::@2/(byte[]) plot_xlo#14 ) + (byte[]) plot_xhi#6 ← phi( line_ydxi/(byte[]) plot_xhi#13 line_ydxi::@2/(byte[]) plot_xhi#14 ) + (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[]) plot_bit#31 ← phi( line_ydxi::@1/(byte[]) plot_bit#6 ) + (byte[]) plot_ylo#30 ← phi( line_ydxi::@1/(byte[]) plot_ylo#6 ) + (byte[]) plot_yhi#30 ← phi( line_ydxi::@1/(byte[]) plot_yhi#6 ) + (byte[]) plot_xlo#31 ← phi( line_ydxi::@1/(byte[]) plot_xlo#6 ) + (byte[]) plot_xhi#31 ← phi( line_ydxi::@1/(byte[]) plot_xhi#6 ) + (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::$2 ← (byte) line_ydxi::y#4 + (byte) 1 + (byte) line_ydxi::y#2 ← (byte~) line_ydxi::$2 + (byte~) line_ydxi::$3 ← (byte) line_ydxi::e#3 + (byte) line_ydxi::xd#3 + (byte) line_ydxi::e#1 ← (byte~) line_ydxi::$3 + (boolean~) line_ydxi::$5 ← (byte) line_ydxi::yd#2 >= (byte) line_ydxi::e#1 + if((boolean~) line_ydxi::$5) goto line_ydxi::@2 + to:line_ydxi::@3 +line_ydxi::@2: scope:[line_ydxi] from line_ydxi::@3 line_ydxi::@5 + (byte[]) plot_bit#14 ← phi( line_ydxi::@3/(byte[]) plot_bit#30 line_ydxi::@5/(byte[]) plot_bit#31 ) + (byte[]) plot_ylo#14 ← phi( line_ydxi::@3/(byte[]) plot_ylo#29 line_ydxi::@5/(byte[]) plot_ylo#30 ) + (byte[]) plot_yhi#14 ← phi( line_ydxi::@3/(byte[]) plot_yhi#29 line_ydxi::@5/(byte[]) plot_yhi#30 ) + (byte[]) plot_xlo#14 ← phi( line_ydxi::@3/(byte[]) plot_xlo#30 line_ydxi::@5/(byte[]) plot_xlo#31 ) + (byte[]) plot_xhi#14 ← phi( line_ydxi::@3/(byte[]) plot_xhi#30 line_ydxi::@5/(byte[]) plot_xhi#31 ) + (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~) line_ydxi::$8 ← (byte) line_ydxi::y1#2 + (byte) 1 + (boolean~) line_ydxi::$9 ← (byte) line_ydxi::y#5 < (byte~) line_ydxi::$8 + if((boolean~) line_ydxi::$9) goto line_ydxi::@1 + to:line_ydxi::@return +line_ydxi::@3: scope:[line_ydxi] from line_ydxi::@5 + (byte[]) plot_bit#30 ← phi( line_ydxi::@5/(byte[]) plot_bit#31 ) + (byte[]) plot_ylo#29 ← phi( line_ydxi::@5/(byte[]) plot_ylo#30 ) + (byte[]) plot_yhi#29 ← phi( line_ydxi::@5/(byte[]) plot_yhi#30 ) + (byte[]) plot_xlo#30 ← phi( line_ydxi::@5/(byte[]) plot_xlo#31 ) + (byte[]) plot_xhi#30 ← phi( line_ydxi::@5/(byte[]) plot_xhi#31 ) + (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::$6 ← (byte) line_ydxi::x#4 + (byte) 1 + (byte) line_ydxi::x#2 ← (byte~) line_ydxi::$6 + (byte~) line_ydxi::$7 ← (byte) line_ydxi::e#4 - (byte) line_ydxi::yd#3 + (byte) line_ydxi::e#2 ← (byte~) line_ydxi::$7 + 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[]) plot_bit#15 ← phi( line::@10/(byte[]) plot_bit#32 line::@6/(byte[]) plot_bit#33 ) + (byte[]) plot_ylo#15 ← phi( line::@10/(byte[]) plot_ylo#31 line::@6/(byte[]) plot_ylo#32 ) + (byte[]) plot_yhi#15 ← phi( line::@10/(byte[]) plot_yhi#31 line::@6/(byte[]) plot_yhi#32 ) + (byte[]) plot_xlo#15 ← phi( line::@10/(byte[]) plot_xlo#32 line::@6/(byte[]) plot_xlo#33 ) + (byte[]) plot_xhi#15 ← phi( line::@10/(byte[]) plot_xhi#32 line::@6/(byte[]) plot_xhi#33 ) + (byte) line_ydxd::yd#5 ← phi( line::@10/(byte) line_ydxd::yd#1 line::@6/(byte) line_ydxd::yd#0 ) + (byte) line_ydxd::y#6 ← 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) 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[]) plot_bit#5 ← phi( line_ydxd/(byte[]) plot_bit#15 line_ydxd::@2/(byte[]) plot_bit#16 ) + (byte[]) plot_ylo#5 ← phi( line_ydxd/(byte[]) plot_ylo#15 line_ydxd::@2/(byte[]) plot_ylo#16 ) + (byte[]) plot_yhi#5 ← phi( line_ydxd/(byte[]) plot_yhi#15 line_ydxd::@2/(byte[]) plot_yhi#16 ) + (byte[]) plot_xlo#5 ← phi( line_ydxd/(byte[]) plot_xlo#15 line_ydxd::@2/(byte[]) plot_xlo#16 ) + (byte[]) plot_xhi#5 ← phi( line_ydxd/(byte[]) plot_xhi#15 line_ydxd::@2/(byte[]) plot_xhi#16 ) + (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#3 ← phi( line_ydxd/(byte) line_ydxd::y#6 line_ydxd::@2/(byte) line_ydxd::y#5 ) + (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#3 + call plot param-assignment + to:line_ydxd::@5 +line_ydxd::@5: scope:[line_ydxd] from line_ydxd::@1 + (byte[]) plot_bit#35 ← phi( line_ydxd::@1/(byte[]) plot_bit#5 ) + (byte[]) plot_ylo#34 ← phi( line_ydxd::@1/(byte[]) plot_ylo#5 ) + (byte[]) plot_yhi#34 ← phi( line_ydxd::@1/(byte[]) plot_yhi#5 ) + (byte[]) plot_xlo#35 ← phi( line_ydxd::@1/(byte[]) plot_xlo#5 ) + (byte[]) plot_xhi#35 ← phi( line_ydxd::@1/(byte[]) plot_xhi#5 ) + (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#4 ← phi( line_ydxd::@1/(byte) line_ydxd::y#3 ) + (byte~) line_ydxd::$2 ← (byte) line_ydxd::y#4 + (byte) 1 + (byte) line_ydxd::y#2 ← (byte~) line_ydxd::$2 + (byte~) line_ydxd::$3 ← (byte) line_ydxd::e#3 + (byte) line_ydxd::xd#3 + (byte) line_ydxd::e#1 ← (byte~) line_ydxd::$3 + (boolean~) line_ydxd::$5 ← (byte) line_ydxd::yd#2 >= (byte) line_ydxd::e#1 + if((boolean~) line_ydxd::$5) goto line_ydxd::@2 + to:line_ydxd::@3 +line_ydxd::@2: scope:[line_ydxd] from line_ydxd::@3 line_ydxd::@5 + (byte[]) plot_bit#16 ← phi( line_ydxd::@3/(byte[]) plot_bit#34 line_ydxd::@5/(byte[]) plot_bit#35 ) + (byte[]) plot_ylo#16 ← phi( line_ydxd::@3/(byte[]) plot_ylo#33 line_ydxd::@5/(byte[]) plot_ylo#34 ) + (byte[]) plot_yhi#16 ← phi( line_ydxd::@3/(byte[]) plot_yhi#33 line_ydxd::@5/(byte[]) plot_yhi#34 ) + (byte[]) plot_xlo#16 ← phi( line_ydxd::@3/(byte[]) plot_xlo#34 line_ydxd::@5/(byte[]) plot_xlo#35 ) + (byte[]) plot_xhi#16 ← phi( line_ydxd::@3/(byte[]) plot_xhi#34 line_ydxd::@5/(byte[]) plot_xhi#35 ) + (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#5 ← phi( line_ydxd::@3/(byte) line_ydxd::y#7 line_ydxd::@5/(byte) line_ydxd::y#2 ) + (byte) line_ydxd::y1#2 ← phi( line_ydxd::@3/(byte) line_ydxd::y1#3 line_ydxd::@5/(byte) line_ydxd::y1#4 ) + (byte~) line_ydxd::$8 ← (byte) line_ydxd::y1#2 + (byte) 1 + (boolean~) line_ydxd::$9 ← (byte) line_ydxd::y#5 < (byte~) line_ydxd::$8 + if((boolean~) line_ydxd::$9) goto line_ydxd::@1 + to:line_ydxd::@return +line_ydxd::@3: scope:[line_ydxd] from line_ydxd::@5 + (byte[]) plot_bit#34 ← phi( line_ydxd::@5/(byte[]) plot_bit#35 ) + (byte[]) plot_ylo#33 ← phi( line_ydxd::@5/(byte[]) plot_ylo#34 ) + (byte[]) plot_yhi#33 ← phi( line_ydxd::@5/(byte[]) plot_yhi#34 ) + (byte[]) plot_xlo#34 ← phi( line_ydxd::@5/(byte[]) plot_xlo#35 ) + (byte[]) plot_xhi#34 ← phi( line_ydxd::@5/(byte[]) plot_xhi#35 ) + (byte) line_ydxd::xd#6 ← phi( line_ydxd::@5/(byte) line_ydxd::xd#3 ) + (byte) line_ydxd::y#7 ← phi( line_ydxd::@5/(byte) line_ydxd::y#2 ) + (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::$6 ← (byte) line_ydxd::x#4 - (byte) 1 + (byte) line_ydxd::x#2 ← (byte~) line_ydxd::$6 + (byte~) line_ydxd::$7 ← (byte) line_ydxd::e#4 - (byte) line_ydxd::yd#3 + (byte) line_ydxd::e#2 ← (byte~) line_ydxd::$7 + 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_bit#1 ← phi( line_xdyd::@1/(byte[]) plot_bit#3 line_xdyi::@1/(byte[]) plot_bit#4 line_ydxd::@1/(byte[]) plot_bit#5 line_ydxi::@1/(byte[]) plot_bit#6 ) + (byte[]) plot_ylo#1 ← phi( line_xdyd::@1/(byte[]) plot_ylo#3 line_xdyi::@1/(byte[]) plot_ylo#4 line_ydxd::@1/(byte[]) plot_ylo#5 line_ydxi::@1/(byte[]) plot_ylo#6 ) + (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_yhi#1 ← phi( line_xdyd::@1/(byte[]) plot_yhi#3 line_xdyi::@1/(byte[]) plot_yhi#4 line_ydxd::@1/(byte[]) plot_yhi#5 line_ydxi::@1/(byte[]) plot_yhi#6 ) + (byte[]) plot_xlo#1 ← phi( line_xdyd::@1/(byte[]) plot_xlo#3 line_xdyi::@1/(byte[]) plot_xlo#4 line_ydxd::@1/(byte[]) plot_xlo#5 line_ydxi::@1/(byte[]) plot_xlo#6 ) + (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 ) + (byte[]) plot_xhi#1 ← phi( line_xdyd::@1/(byte[]) plot_xhi#3 line_xdyi::@1/(byte[]) plot_xhi#4 line_ydxd::@1/(byte[]) plot_xhi#5 line_ydxi::@1/(byte[]) plot_xhi#6 ) (byte*) plot::plotter_x#0 ← (byte) 0 (byte*) plot::plotter_y#0 ← (byte) 0 - (byte~) plot::$0 ← (byte[]) plot_xhi#1 *idx (byte) plot::x#9 + (byte~) plot::$0 ← (byte[]) plot_xhi#1 *idx (byte) plot::x#4 (byte*) plot::plotter_x#1 ← (byte*) plot::plotter_x#0 hi= (byte~) plot::$0 - (byte~) plot::$1 ← (byte[]) plot_xlo#1 *idx (byte) plot::x#9 + (byte~) plot::$1 ← (byte[]) plot_xlo#1 *idx (byte) plot::x#4 (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 - (byte~) plot::$2 ← (byte[]) plot_yhi#1 *idx (byte) plot::y#9 + (byte~) plot::$2 ← (byte[]) plot_yhi#1 *idx (byte) plot::y#4 (byte*) plot::plotter_y#1 ← (byte*) plot::plotter_y#0 hi= (byte~) plot::$2 - (byte~) plot::$3 ← (byte[]) plot_ylo#1 *idx (byte) plot::y#9 + (byte~) plot::$3 ← (byte[]) plot_ylo#1 *idx (byte) plot::y#4 (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 (byte~) plot::$4 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 (byte*) plot::plotter#0 ← (byte~) plot::$4 (byte~) plot::$5 ← * (byte*) plot::plotter#0 - (byte~) plot::$6 ← (byte[]) plot_bit#1 *idx (byte) plot::x#9 + (byte~) plot::$6 ← (byte[]) plot_bit#1 *idx (byte) plot::x#4 (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 *((byte*) plot::plotter#0) ← (byte~) plot::$7 to:plot::@return @@ -4190,23 +6461,23 @@ plot::@return: scope:[plot] from plot return to:@return init_plot_tables: scope:[init_plot_tables] from main::@3 - (byte[]) plot_yhi#28 ← phi( main::@3/(byte[]) plot_yhi#31 ) - (byte[]) plot_ylo#28 ← phi( main::@3/(byte[]) plot_ylo#31 ) - (byte[]) plot_bit#12 ← phi( main::@3/(byte[]) plot_bit#19 ) - (byte[]) plot_xhi#12 ← phi( main::@3/(byte[]) plot_xhi#19 ) + (byte[]) plot_yhi#41 ← phi( main::@3/(byte[]) plot_yhi#44 ) + (byte[]) plot_ylo#41 ← phi( main::@3/(byte[]) plot_ylo#44 ) + (byte[]) plot_bit#7 ← phi( main::@3/(byte[]) plot_bit#17 ) + (byte[]) plot_xhi#7 ← phi( main::@3/(byte[]) plot_xhi#17 ) (byte*) BITMAP#4 ← phi( main::@3/(byte*) BITMAP#8 ) - (byte[]) plot_xlo#12 ← phi( main::@3/(byte[]) plot_xlo#19 ) + (byte[]) plot_xlo#7 ← phi( main::@3/(byte[]) plot_xlo#17 ) (byte) init_plot_tables::bit#0 ← (byte) 128 (byte) init_plot_tables::x#0 ← (byte) 0 to:init_plot_tables::@1 init_plot_tables::@1: scope:[init_plot_tables] from init_plot_tables init_plot_tables::@2 - (byte[]) plot_yhi#25 ← phi( init_plot_tables/(byte[]) plot_yhi#28 init_plot_tables::@2/(byte[]) plot_yhi#19 ) - (byte[]) plot_ylo#25 ← phi( init_plot_tables/(byte[]) plot_ylo#28 init_plot_tables::@2/(byte[]) plot_ylo#19 ) - (byte[]) plot_bit#2 ← phi( init_plot_tables/(byte[]) plot_bit#12 init_plot_tables::@2/(byte[]) plot_bit#13 ) + (byte[]) plot_yhi#35 ← phi( init_plot_tables/(byte[]) plot_yhi#41 init_plot_tables::@2/(byte[]) plot_yhi#17 ) + (byte[]) plot_ylo#35 ← phi( init_plot_tables/(byte[]) plot_ylo#41 init_plot_tables::@2/(byte[]) plot_ylo#17 ) + (byte[]) plot_bit#2 ← phi( init_plot_tables/(byte[]) plot_bit#7 init_plot_tables::@2/(byte[]) plot_bit#8 ) (byte) init_plot_tables::bit#3 ← phi( init_plot_tables/(byte) init_plot_tables::bit#0 init_plot_tables::@2/(byte) init_plot_tables::bit#4 ) - (byte[]) plot_xhi#2 ← phi( init_plot_tables/(byte[]) plot_xhi#12 init_plot_tables::@2/(byte[]) plot_xhi#13 ) + (byte[]) plot_xhi#2 ← phi( init_plot_tables/(byte[]) plot_xhi#7 init_plot_tables::@2/(byte[]) plot_xhi#8 ) (byte*) BITMAP#1 ← phi( init_plot_tables/(byte*) BITMAP#4 init_plot_tables::@2/(byte*) BITMAP#5 ) - (byte[]) plot_xlo#2 ← phi( init_plot_tables/(byte[]) plot_xlo#12 init_plot_tables::@2/(byte[]) plot_xlo#13 ) + (byte[]) plot_xlo#2 ← phi( init_plot_tables/(byte[]) plot_xlo#7 init_plot_tables::@2/(byte[]) plot_xlo#8 ) (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) 248 *((byte[]) plot_xlo#2 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 @@ -4219,37 +6490,37 @@ init_plot_tables::@1: scope:[init_plot_tables] from init_plot_tables init_plot_ 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[]) plot_yhi#19 ← phi( init_plot_tables::@1/(byte[]) plot_yhi#25 init_plot_tables::@5/(byte[]) plot_yhi#26 ) - (byte[]) plot_ylo#19 ← phi( init_plot_tables::@1/(byte[]) plot_ylo#25 init_plot_tables::@5/(byte[]) plot_ylo#26 ) - (byte[]) plot_bit#13 ← phi( init_plot_tables::@1/(byte[]) plot_bit#2 init_plot_tables::@5/(byte[]) plot_bit#20 ) + (byte[]) plot_yhi#17 ← phi( init_plot_tables::@1/(byte[]) plot_yhi#35 init_plot_tables::@5/(byte[]) plot_yhi#36 ) + (byte[]) plot_ylo#17 ← phi( init_plot_tables::@1/(byte[]) plot_ylo#35 init_plot_tables::@5/(byte[]) plot_ylo#36 ) + (byte[]) plot_bit#8 ← phi( init_plot_tables::@1/(byte[]) plot_bit#2 init_plot_tables::@5/(byte[]) plot_bit#18 ) (byte) init_plot_tables::bit#4 ← phi( init_plot_tables::@1/(byte) init_plot_tables::bit#1 init_plot_tables::@5/(byte) init_plot_tables::bit#2 ) - (byte[]) plot_xhi#13 ← phi( init_plot_tables::@1/(byte[]) plot_xhi#2 init_plot_tables::@5/(byte[]) plot_xhi#20 ) + (byte[]) plot_xhi#8 ← phi( init_plot_tables::@1/(byte[]) plot_xhi#2 init_plot_tables::@5/(byte[]) plot_xhi#18 ) (byte*) BITMAP#5 ← phi( init_plot_tables::@1/(byte*) BITMAP#1 init_plot_tables::@5/(byte*) BITMAP#9 ) - (byte[]) plot_xlo#13 ← phi( init_plot_tables::@1/(byte[]) plot_xlo#2 init_plot_tables::@5/(byte[]) plot_xlo#20 ) + (byte[]) plot_xlo#8 ← phi( init_plot_tables::@1/(byte[]) plot_xlo#2 init_plot_tables::@5/(byte[]) plot_xlo#18 ) (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) 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[]) plot_yhi#26 ← phi( init_plot_tables::@1/(byte[]) plot_yhi#25 ) - (byte[]) plot_ylo#26 ← phi( init_plot_tables::@1/(byte[]) plot_ylo#25 ) - (byte[]) plot_bit#20 ← phi( init_plot_tables::@1/(byte[]) plot_bit#2 ) - (byte[]) plot_xhi#20 ← phi( init_plot_tables::@1/(byte[]) plot_xhi#2 ) + (byte[]) plot_yhi#36 ← phi( init_plot_tables::@1/(byte[]) plot_yhi#35 ) + (byte[]) plot_ylo#36 ← phi( init_plot_tables::@1/(byte[]) plot_ylo#35 ) + (byte[]) plot_bit#18 ← phi( init_plot_tables::@1/(byte[]) plot_bit#2 ) + (byte[]) plot_xhi#18 ← phi( init_plot_tables::@1/(byte[]) plot_xhi#2 ) (byte*) BITMAP#9 ← phi( init_plot_tables::@1/(byte*) BITMAP#1 ) - (byte[]) plot_xlo#20 ← phi( init_plot_tables::@1/(byte[]) plot_xlo#2 ) + (byte[]) plot_xlo#18 ← phi( init_plot_tables::@1/(byte[]) plot_xlo#2 ) (byte) init_plot_tables::x#4 ← phi( init_plot_tables::@1/(byte) init_plot_tables::x#2 ) (byte) init_plot_tables::bit#2 ← (byte) 128 to:init_plot_tables::@2 init_plot_tables::@6: scope:[init_plot_tables] from init_plot_tables::@2 - (byte[]) plot_yhi#13 ← phi( init_plot_tables::@2/(byte[]) plot_yhi#19 ) - (byte[]) plot_ylo#13 ← phi( init_plot_tables::@2/(byte[]) plot_ylo#19 ) + (byte[]) plot_yhi#8 ← phi( init_plot_tables::@2/(byte[]) plot_yhi#17 ) + (byte[]) plot_ylo#8 ← phi( init_plot_tables::@2/(byte[]) plot_ylo#17 ) (byte*) init_plot_tables::yoffs#0 ← (byte) 0 (byte) init_plot_tables::y#0 ← (byte) 0 to:init_plot_tables::@3 init_plot_tables::@3: scope:[init_plot_tables] from init_plot_tables::@4 init_plot_tables::@6 - (byte[]) plot_yhi#2 ← phi( init_plot_tables::@4/(byte[]) plot_yhi#12 init_plot_tables::@6/(byte[]) plot_yhi#13 ) - (byte[]) plot_ylo#2 ← phi( init_plot_tables::@4/(byte[]) plot_ylo#12 init_plot_tables::@6/(byte[]) plot_ylo#13 ) + (byte[]) plot_yhi#2 ← phi( init_plot_tables::@4/(byte[]) plot_yhi#7 init_plot_tables::@6/(byte[]) plot_yhi#8 ) + (byte[]) plot_ylo#2 ← phi( init_plot_tables::@4/(byte[]) plot_ylo#7 init_plot_tables::@6/(byte[]) plot_ylo#8 ) (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) 7 @@ -4263,8 +6534,8 @@ init_plot_tables::@3: scope:[init_plot_tables] from init_plot_tables::@4 init_p 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[]) plot_yhi#12 ← phi( init_plot_tables::@3/(byte[]) plot_yhi#2 init_plot_tables::@7/(byte[]) plot_yhi#20 ) - (byte[]) plot_ylo#12 ← phi( init_plot_tables::@3/(byte[]) plot_ylo#2 init_plot_tables::@7/(byte[]) plot_ylo#20 ) + (byte[]) plot_yhi#7 ← phi( init_plot_tables::@3/(byte[]) plot_yhi#2 init_plot_tables::@7/(byte[]) plot_yhi#18 ) + (byte[]) plot_ylo#7 ← phi( init_plot_tables::@3/(byte[]) plot_ylo#2 init_plot_tables::@7/(byte[]) plot_ylo#18 ) (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 @@ -4272,8 +6543,8 @@ init_plot_tables::@4: scope:[init_plot_tables] from init_plot_tables::@3 init_p if((boolean~) init_plot_tables::$14) goto init_plot_tables::@3 to:init_plot_tables::@return init_plot_tables::@7: scope:[init_plot_tables] from init_plot_tables::@3 - (byte[]) plot_yhi#20 ← phi( init_plot_tables::@3/(byte[]) plot_yhi#2 ) - (byte[]) plot_ylo#20 ← phi( init_plot_tables::@3/(byte[]) plot_ylo#2 ) + (byte[]) plot_yhi#18 ← phi( init_plot_tables::@3/(byte[]) plot_yhi#2 ) + (byte[]) plot_ylo#18 ← phi( init_plot_tables::@3/(byte[]) plot_ylo#2 ) (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 ) (byte*~) init_plot_tables::$13 ← (byte*) init_plot_tables::yoffs#3 + (word) 320 @@ -4313,16 +6584,16 @@ init_screen::@2: scope:[init_screen] from init_screen::@2 init_screen::@3 init_screen::@return: scope:[init_screen] from init_screen::@2 return to:@return -@7: scope:[] from @begin - (byte[]) plot_yhi#34 ← phi( @begin/(byte[]) plot_yhi#0 ) - (byte[]) plot_ylo#34 ← phi( @begin/(byte[]) plot_ylo#0 ) +@10: scope:[] from @begin + (byte[]) plot_yhi#47 ← phi( @begin/(byte[]) plot_yhi#0 ) + (byte[]) plot_ylo#47 ← phi( @begin/(byte[]) plot_ylo#0 ) (byte) lines_cnt#9 ← phi( @begin/(byte) lines_cnt#0 ) (byte[]) lines_y#9 ← phi( @begin/(byte[]) lines_y#0 ) (byte[]) lines_x#9 ← phi( @begin/(byte[]) lines_x#0 ) (byte*) SCREEN#6 ← phi( @begin/(byte*) SCREEN#0 ) - (byte[]) plot_bit#26 ← phi( @begin/(byte[]) plot_bit#0 ) - (byte[]) plot_xhi#26 ← phi( @begin/(byte[]) plot_xhi#0 ) - (byte[]) plot_xlo#26 ← phi( @begin/(byte[]) plot_xlo#0 ) + (byte[]) plot_bit#36 ← phi( @begin/(byte[]) plot_bit#0 ) + (byte[]) plot_xhi#36 ← phi( @begin/(byte[]) plot_xhi#0 ) + (byte[]) plot_xlo#36 ← phi( @begin/(byte[]) plot_xlo#0 ) (byte*) BITMAP#7 ← phi( @begin/(byte*) BITMAP#0 ) (byte*) D018#2 ← phi( @begin/(byte*) D018#0 ) (byte*) D011#2 ← phi( @begin/(byte*) D011#0 ) @@ -4333,35 +6604,60 @@ init_screen::@return: scope:[init_screen] from init_screen::@2 (byte*) BGCOL#2 ← phi( @begin/(byte*) BGCOL#0 ) call main param-assignment to:@end -@end: scope:[] from @7 +@end: scope:[] from @10 Not aliassing across scopes: line::x0#0 lines::$0 Not aliassing across scopes: line::x1#0 lines::$2 Not aliassing across scopes: line::y0#0 lines::$3 Not aliassing across scopes: line::y1#0 lines::$5 -Not aliassing across scopes: plot::x#0 line::x0#4 -Not aliassing across scopes: plot::y#0 line::y0#3 -Not aliassing across scopes: plot::x#1 line::x1#4 -Not aliassing across scopes: plot::y#1 line::y1#3 -Not aliassing across scopes: plot::x#2 line::x0#5 -Not aliassing across scopes: plot::y#2 line::y0#5 -Not aliassing across scopes: plot::x#3 line::x1#5 -Not aliassing across scopes: plot::y#3 line::y1#5 -Not aliassing across scopes: line_xdyi::x#0 line::x0#6 +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#6 -Not aliassing across scopes: line_xdyi::xd#0 line::xd#3 -Not aliassing across scopes: line_xdyi::yd#0 line::yd#1 -Not aliassing across scopes: plot::x#4 line::x0#7 -Not aliassing across scopes: plot::y#4 line::y0#7 -Not aliassing across scopes: plot::x#5 line::x1#7 -Not aliassing across scopes: plot::y#5 line::y1#6 -Not aliassing across scopes: plot::x#6 line::x0#8 -Not aliassing across scopes: plot::y#6 line::y0#8 -Not aliassing across scopes: plot::x#7 line::x1#8 -Not aliassing across scopes: plot::y#7 line::y1#7 -Not aliassing across scopes: plot::x#8 line_xdyi::x#2 -Not aliassing across scopes: plot::y#8 line_xdyi::y#2 +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: plot::x#0 line_xdyi::x#3 +Not aliassing across scopes: plot::y#0 line_xdyi::y#3 +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: plot::x#2 line_ydxi::x#3 +Not aliassing across scopes: plot::y#2 line_ydxi::y#3 +Not aliassing across scopes: plot::x#3 line_ydxd::x#3 +Not aliassing across scopes: plot::y#3 line_ydxd::y#3 Not aliassing across scopes: init_screen::b#0 BITMAP#2 Not aliassing across scopes: init_screen::c#0 SCREEN#1 Not aliassing identity: SCREEN#2 SCREEN#2 @@ -4373,75 +6669,121 @@ Alias (byte) RSEL#0 = (byte) RSEL#1 (byte) RSEL#2 Alias (byte*) D011#0 = (byte*) D011#1 (byte*) D011#2 Alias (byte*) D018#0 = (byte*) D018#1 (byte*) D018#2 Alias (byte*) BITMAP#0 = (byte*) BITMAP#6 (byte*) BITMAP#7 (byte*) BITMAP#8 (byte*) BITMAP#4 (byte*) BITMAP#2 -Alias (byte[]) plot_xlo#0 = (byte[]) plot_xlo#21 (byte[]) plot_xlo#26 (byte[]) plot_xlo#19 (byte[]) plot_xlo#31 (byte[]) plot_xlo#12 -Alias (byte[]) plot_xhi#0 = (byte[]) plot_xhi#21 (byte[]) plot_xhi#26 (byte[]) plot_xhi#19 (byte[]) plot_xhi#31 (byte[]) plot_xhi#12 -Alias (byte[]) plot_bit#0 = (byte[]) plot_bit#21 (byte[]) plot_bit#26 (byte[]) plot_bit#19 (byte[]) plot_bit#31 (byte[]) plot_bit#12 +Alias (byte[]) plot_xlo#0 = (byte[]) plot_xlo#19 (byte[]) plot_xlo#36 (byte[]) plot_xlo#17 (byte[]) plot_xlo#48 (byte[]) plot_xlo#7 +Alias (byte[]) plot_xhi#0 = (byte[]) plot_xhi#19 (byte[]) plot_xhi#36 (byte[]) plot_xhi#17 (byte[]) plot_xhi#48 (byte[]) plot_xhi#7 +Alias (byte[]) plot_bit#0 = (byte[]) plot_bit#19 (byte[]) plot_bit#36 (byte[]) plot_bit#17 (byte[]) plot_bit#48 (byte[]) plot_bit#7 Alias (byte*) SCREEN#0 = (byte*) SCREEN#5 (byte*) SCREEN#6 (byte*) SCREEN#4 Alias (byte[]) lines_x#0 = (byte[]) lines_x#8 (byte[]) lines_x#9 (byte[]) lines_x#7 (byte[]) lines_x#5 Alias (byte[]) lines_y#0 = (byte[]) lines_y#8 (byte[]) lines_y#9 (byte[]) lines_y#7 (byte[]) lines_y#5 Alias (byte) lines_cnt#0 = (byte) lines_cnt#8 (byte) lines_cnt#9 (byte) lines_cnt#7 (byte) lines_cnt#5 -Alias (byte[]) plot_ylo#0 = (byte[]) plot_ylo#32 (byte[]) plot_ylo#34 (byte[]) plot_ylo#31 (byte[]) plot_ylo#35 (byte[]) plot_ylo#28 -Alias (byte[]) plot_yhi#0 = (byte[]) plot_yhi#32 (byte[]) plot_yhi#34 (byte[]) plot_yhi#31 (byte[]) plot_yhi#35 (byte[]) plot_yhi#28 +Alias (byte[]) plot_ylo#0 = (byte[]) plot_ylo#45 (byte[]) plot_ylo#47 (byte[]) plot_ylo#44 (byte[]) plot_ylo#52 (byte[]) plot_ylo#41 +Alias (byte[]) plot_yhi#0 = (byte[]) plot_yhi#45 (byte[]) plot_yhi#47 (byte[]) plot_yhi#44 (byte[]) plot_yhi#52 (byte[]) plot_yhi#41 Alias (byte[]) lines_x#2 = (byte[]) lines_x#6 (byte[]) lines_x#4 Alias (byte[]) lines_y#2 = (byte[]) lines_y#6 (byte[]) lines_y#4 Alias (byte) lines_cnt#3 = (byte) lines_cnt#6 (byte) lines_cnt#4 -Alias (byte[]) plot_xhi#28 = (byte[]) plot_xhi#32 (byte[]) plot_xhi#30 -Alias (byte[]) plot_xlo#28 = (byte[]) plot_xlo#32 (byte[]) plot_xlo#30 -Alias (byte[]) plot_yhi#29 = (byte[]) plot_yhi#36 (byte[]) plot_yhi#33 -Alias (byte[]) plot_ylo#29 = (byte[]) plot_ylo#36 (byte[]) plot_ylo#33 -Alias (byte[]) plot_bit#28 = (byte[]) plot_bit#32 (byte[]) plot_bit#30 +Alias (byte[]) plot_xhi#45 = (byte[]) plot_xhi#49 (byte[]) plot_xhi#47 +Alias (byte[]) plot_xlo#45 = (byte[]) plot_xlo#49 (byte[]) plot_xlo#47 +Alias (byte[]) plot_yhi#49 = (byte[]) plot_yhi#53 (byte[]) plot_yhi#51 +Alias (byte[]) plot_ylo#49 = (byte[]) plot_ylo#53 (byte[]) plot_ylo#51 +Alias (byte[]) plot_bit#45 = (byte[]) plot_bit#49 (byte[]) plot_bit#47 Alias (byte) lines::l#2 = (byte) lines::l#3 Alias (byte) lines_cnt#1 = (byte) lines_cnt#2 Alias (byte[]) lines_x#1 = (byte[]) lines_x#3 Alias (byte[]) lines_y#1 = (byte[]) lines_y#3 -Alias (byte[]) plot_xhi#10 = (byte[]) plot_xhi#29 (byte[]) plot_xhi#27 (byte[]) plot_xhi#22 (byte[]) plot_xhi#16 (byte[]) plot_xhi#14 (byte[]) plot_xhi#6 (byte[]) plot_xhi#4 (byte[]) plot_xhi#15 (byte[]) plot_xhi#9 (byte[]) plot_xhi#5 (byte[]) plot_xhi#23 (byte[]) plot_xhi#7 (byte[]) plot_xhi#3 (byte[]) plot_xhi#8 (byte[]) plot_xhi#17 -Alias (byte[]) plot_xlo#10 = (byte[]) plot_xlo#29 (byte[]) plot_xlo#27 (byte[]) plot_xlo#22 (byte[]) plot_xlo#16 (byte[]) plot_xlo#14 (byte[]) plot_xlo#6 (byte[]) plot_xlo#4 (byte[]) plot_xlo#15 (byte[]) plot_xlo#9 (byte[]) plot_xlo#5 (byte[]) plot_xlo#23 (byte[]) plot_xlo#7 (byte[]) plot_xlo#3 (byte[]) plot_xlo#8 (byte[]) plot_xlo#17 -Alias (byte[]) plot_yhi#10 = (byte[]) plot_yhi#30 (byte[]) plot_yhi#27 (byte[]) plot_yhi#21 (byte[]) plot_yhi#16 (byte[]) plot_yhi#14 (byte[]) plot_yhi#6 (byte[]) plot_yhi#4 (byte[]) plot_yhi#15 (byte[]) plot_yhi#9 (byte[]) plot_yhi#5 (byte[]) plot_yhi#22 (byte[]) plot_yhi#7 (byte[]) plot_yhi#3 (byte[]) plot_yhi#8 (byte[]) plot_yhi#17 -Alias (byte[]) plot_ylo#10 = (byte[]) plot_ylo#30 (byte[]) plot_ylo#27 (byte[]) plot_ylo#21 (byte[]) plot_ylo#16 (byte[]) plot_ylo#14 (byte[]) plot_ylo#6 (byte[]) plot_ylo#4 (byte[]) plot_ylo#15 (byte[]) plot_ylo#9 (byte[]) plot_ylo#5 (byte[]) plot_ylo#22 (byte[]) plot_ylo#7 (byte[]) plot_ylo#3 (byte[]) plot_ylo#8 (byte[]) plot_ylo#17 -Alias (byte[]) plot_bit#10 = (byte[]) plot_bit#29 (byte[]) plot_bit#27 (byte[]) plot_bit#22 (byte[]) plot_bit#16 (byte[]) plot_bit#14 (byte[]) plot_bit#6 (byte[]) plot_bit#4 (byte[]) plot_bit#15 (byte[]) plot_bit#9 (byte[]) plot_bit#5 (byte[]) plot_bit#23 (byte[]) plot_bit#7 (byte[]) plot_bit#3 (byte[]) plot_bit#8 (byte[]) plot_bit#17 -Alias (byte) line::x0#0 = (byte) line::x0#1 (byte) line::x0#2 (byte) line::x0#3 (byte) line::x0#4 (byte) line::x0#9 (byte) line::x0#5 (byte) line::x0#6 (byte) line::x0#7 (byte) line::x0#8 -Alias (byte) line::x1#0 = (byte) line::x1#1 (byte) line::x1#2 (byte) line::x1#3 (byte) line::x1#9 (byte) line::x1#4 (byte) line::x1#11 (byte) line::x1#10 (byte) line::x1#5 (byte) line::x1#6 (byte) line::x1#12 (byte) line::x1#7 (byte) line::x1#13 (byte) line::x1#8 -Alias (byte) line::y0#0 = (byte) line::y0#9 (byte) line::y0#1 (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 -Alias (byte) line::y1#0 = (byte) line::y1#8 (byte) line::y1#1 (byte) line::y1#2 (byte) line::y1#9 (byte) line::y1#3 (byte) line::y1#4 (byte) line::y1#10 (byte) line::y1#5 (byte) line::y1#11 (byte) line::y1#6 (byte) line::y1#12 (byte) line::y1#7 -Alias (byte) line::xd#0 = (byte~) line::$13 -Alias (byte) line::xd#1 = (byte~) line::$2 (byte) line::xd#2 (byte) line::xd#3 -Alias (byte) line::yd#0 = (byte~) line::$5 (byte) line::yd#1 -Alias (byte) line_xdyi::yd#0 = (byte) line_xdyi::yd#1 -Alias (byte) line_xdyi::x#0 = (byte) line_xdyi::x#5 -Alias (byte) line_xdyi::y#0 = (byte) line_xdyi::y#4 -Alias (byte) line_xdyi::xd#0 = (byte) line_xdyi::xd#4 -Alias (byte) line_xdyi::x1#0 = (byte) line_xdyi::x1#5 +Alias (byte[]) plot_xhi#20 = (byte[]) plot_xhi#46 (byte[]) plot_xhi#44 (byte[]) plot_xhi#43 (byte[]) plot_xhi#42 (byte[]) plot_xhi#41 (byte[]) plot_xhi#38 (byte[]) plot_xhi#37 (byte[]) plot_xhi#29 (byte[]) plot_xhi#33 (byte[]) plot_xhi#24 (byte[]) plot_xhi#40 (byte[]) plot_xhi#39 (byte[]) plot_xhi#32 (byte[]) plot_xhi#25 (byte[]) plot_xhi#28 (byte[]) plot_xhi#21 +Alias (byte[]) plot_xlo#20 = (byte[]) plot_xlo#46 (byte[]) plot_xlo#44 (byte[]) plot_xlo#43 (byte[]) plot_xlo#42 (byte[]) plot_xlo#41 (byte[]) plot_xlo#38 (byte[]) plot_xlo#37 (byte[]) plot_xlo#29 (byte[]) plot_xlo#33 (byte[]) plot_xlo#24 (byte[]) plot_xlo#40 (byte[]) plot_xlo#39 (byte[]) plot_xlo#32 (byte[]) plot_xlo#25 (byte[]) plot_xlo#28 (byte[]) plot_xlo#21 +Alias (byte[]) plot_yhi#19 = (byte[]) plot_yhi#50 (byte[]) plot_yhi#48 (byte[]) plot_yhi#46 (byte[]) plot_yhi#43 (byte[]) plot_yhi#42 (byte[]) plot_yhi#38 (byte[]) plot_yhi#37 (byte[]) plot_yhi#28 (byte[]) plot_yhi#32 (byte[]) plot_yhi#23 (byte[]) plot_yhi#40 (byte[]) plot_yhi#39 (byte[]) plot_yhi#31 (byte[]) plot_yhi#24 (byte[]) plot_yhi#27 (byte[]) plot_yhi#20 +Alias (byte[]) plot_ylo#19 = (byte[]) plot_ylo#50 (byte[]) plot_ylo#48 (byte[]) plot_ylo#46 (byte[]) plot_ylo#43 (byte[]) plot_ylo#42 (byte[]) plot_ylo#38 (byte[]) plot_ylo#37 (byte[]) plot_ylo#28 (byte[]) plot_ylo#32 (byte[]) plot_ylo#23 (byte[]) plot_ylo#40 (byte[]) plot_ylo#39 (byte[]) plot_ylo#31 (byte[]) plot_ylo#24 (byte[]) plot_ylo#27 (byte[]) plot_ylo#20 +Alias (byte[]) plot_bit#20 = (byte[]) plot_bit#46 (byte[]) plot_bit#44 (byte[]) plot_bit#43 (byte[]) plot_bit#42 (byte[]) plot_bit#41 (byte[]) plot_bit#38 (byte[]) plot_bit#37 (byte[]) plot_bit#29 (byte[]) plot_bit#33 (byte[]) plot_bit#24 (byte[]) plot_bit#40 (byte[]) plot_bit#39 (byte[]) plot_bit#32 (byte[]) plot_bit#25 (byte[]) plot_bit#28 (byte[]) plot_bit#21 +Alias (byte) line::x0#0 = (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#0 = (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#0 = (byte) line::y0#13 (byte) line::y0#1 (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#0 = (byte) line::y1#13 (byte) line::y1#1 (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~) 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~) 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~) line::$10 (byte) line::yd#6 (byte) line::yd#7 +Alias (byte) line::yd#1 = (byte~) line::$5 (byte) line::yd#4 (byte) line::yd#5 +Alias (byte) line::yd#10 = (byte) line::yd#2 (byte~) line::$23 (byte) line::yd#11 +Alias (byte) line::yd#3 = (byte~) 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#2 = (byte) line_xdyi::x#3 +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#2 = (byte) line_xdyi::yd#3 (byte) line_xdyi::yd#5 -Alias (byte) line_xdyi::xd#1 = (byte) line_xdyi::xd#3 (byte) line_xdyi::xd#2 -Alias (byte) line_xdyi::x1#2 = (byte) line_xdyi::x1#3 (byte) line_xdyi::x1#4 -Alias (byte) line_xdyi::y#2 = (byte) line_xdyi::y#6 (byte) line_xdyi::y#3 -Alias (byte[]) plot_xhi#11 = (byte[]) plot_xhi#25 (byte[]) plot_xhi#24 -Alias (byte[]) plot_xlo#11 = (byte[]) plot_xlo#25 (byte[]) plot_xlo#24 -Alias (byte[]) plot_yhi#11 = (byte[]) plot_yhi#24 (byte[]) plot_yhi#23 -Alias (byte[]) plot_ylo#11 = (byte[]) plot_ylo#24 (byte[]) plot_ylo#23 -Alias (byte[]) plot_bit#11 = (byte[]) plot_bit#25 (byte[]) plot_bit#24 -Alias (byte) line_xdyi::x#1 = (byte~) line_xdyi::$2 (byte) line_xdyi::x#6 +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[]) plot_xhi#22 = (byte[]) plot_xhi#23 (byte[]) plot_xhi#4 +Alias (byte[]) plot_xlo#22 = (byte[]) plot_xlo#23 (byte[]) plot_xlo#4 +Alias (byte[]) plot_yhi#21 = (byte[]) plot_yhi#22 (byte[]) plot_yhi#4 +Alias (byte[]) plot_ylo#21 = (byte[]) plot_ylo#22 (byte[]) plot_ylo#4 +Alias (byte[]) plot_bit#22 = (byte[]) plot_bit#23 (byte[]) plot_bit#4 +Alias (byte) line_xdyi::x#2 = (byte~) line_xdyi::$2 (byte) line_xdyi::x#7 Alias (byte) line_xdyi::e#1 = (byte~) line_xdyi::$3 (byte) line_xdyi::e#4 -Alias (byte) line_xdyi::y#1 = (byte~) line_xdyi::$6 +Alias (byte) line_xdyi::y#2 = (byte~) line_xdyi::$6 Alias (byte) line_xdyi::e#2 = (byte~) line_xdyi::$7 +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[]) plot_xhi#26 = (byte[]) plot_xhi#27 (byte[]) plot_xhi#3 +Alias (byte[]) plot_xlo#26 = (byte[]) plot_xlo#27 (byte[]) plot_xlo#3 +Alias (byte[]) plot_yhi#25 = (byte[]) plot_yhi#26 (byte[]) plot_yhi#3 +Alias (byte[]) plot_ylo#25 = (byte[]) plot_ylo#26 (byte[]) plot_ylo#3 +Alias (byte[]) plot_bit#26 = (byte[]) plot_bit#27 (byte[]) plot_bit#3 +Alias (byte) line_xdyd::x#2 = (byte~) line_xdyd::$2 (byte) line_xdyd::x#7 +Alias (byte) line_xdyd::e#1 = (byte~) line_xdyd::$3 (byte) line_xdyd::e#4 +Alias (byte) line_xdyd::y#2 = (byte~) line_xdyd::$6 +Alias (byte) line_xdyd::e#2 = (byte~) line_xdyd::$7 +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[]) plot_xhi#30 = (byte[]) plot_xhi#31 (byte[]) plot_xhi#6 +Alias (byte[]) plot_xlo#30 = (byte[]) plot_xlo#31 (byte[]) plot_xlo#6 +Alias (byte[]) plot_yhi#29 = (byte[]) plot_yhi#30 (byte[]) plot_yhi#6 +Alias (byte[]) plot_ylo#29 = (byte[]) plot_ylo#30 (byte[]) plot_ylo#6 +Alias (byte[]) plot_bit#30 = (byte[]) plot_bit#31 (byte[]) plot_bit#6 +Alias (byte) line_ydxi::y#2 = (byte~) line_ydxi::$2 (byte) line_ydxi::y#7 +Alias (byte) line_ydxi::e#1 = (byte~) line_ydxi::$3 (byte) line_ydxi::e#4 +Alias (byte) line_ydxi::x#2 = (byte~) line_ydxi::$6 +Alias (byte) line_ydxi::e#2 = (byte~) line_ydxi::$7 +Alias (byte) line_ydxd::e#0 = (byte~) line_ydxd::$0 +Alias (byte) line_ydxd::y#3 = (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[]) plot_xhi#34 = (byte[]) plot_xhi#35 (byte[]) plot_xhi#5 +Alias (byte[]) plot_xlo#34 = (byte[]) plot_xlo#35 (byte[]) plot_xlo#5 +Alias (byte[]) plot_yhi#33 = (byte[]) plot_yhi#34 (byte[]) plot_yhi#5 +Alias (byte[]) plot_ylo#33 = (byte[]) plot_ylo#34 (byte[]) plot_ylo#5 +Alias (byte[]) plot_bit#34 = (byte[]) plot_bit#35 (byte[]) plot_bit#5 +Alias (byte) line_ydxd::y#2 = (byte~) line_ydxd::$2 (byte) line_ydxd::y#7 +Alias (byte) line_ydxd::e#1 = (byte~) line_ydxd::$3 (byte) line_ydxd::e#4 +Alias (byte) line_ydxd::x#2 = (byte~) line_ydxd::$6 +Alias (byte) line_ydxd::e#2 = (byte~) line_ydxd::$7 Alias (byte*) plot::plotter#0 = (byte~) plot::$4 Alias (byte) init_plot_tables::bit#1 = (byte~) init_plot_tables::$2 Alias (byte) init_plot_tables::x#2 = (byte) init_plot_tables::x#4 -Alias (byte[]) plot_xlo#2 = (byte[]) plot_xlo#20 +Alias (byte[]) plot_xlo#18 = (byte[]) plot_xlo#2 Alias (byte*) BITMAP#1 = (byte*) BITMAP#9 -Alias (byte[]) plot_xhi#2 = (byte[]) plot_xhi#20 -Alias (byte[]) plot_bit#2 = (byte[]) plot_bit#20 -Alias (byte[]) plot_ylo#25 = (byte[]) plot_ylo#26 -Alias (byte[]) plot_yhi#25 = (byte[]) plot_yhi#26 -Alias (byte[]) plot_ylo#13 = (byte[]) plot_ylo#19 -Alias (byte[]) plot_yhi#13 = (byte[]) plot_yhi#19 +Alias (byte[]) plot_xhi#18 = (byte[]) plot_xhi#2 +Alias (byte[]) plot_bit#18 = (byte[]) plot_bit#2 +Alias (byte[]) plot_ylo#35 = (byte[]) plot_ylo#36 +Alias (byte[]) plot_yhi#35 = (byte[]) plot_yhi#36 +Alias (byte[]) plot_ylo#17 = (byte[]) plot_ylo#8 +Alias (byte[]) plot_yhi#17 = (byte[]) plot_yhi#8 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[]) plot_ylo#2 = (byte[]) plot_ylo#20 -Alias (byte[]) plot_yhi#2 = (byte[]) plot_yhi#20 +Alias (byte[]) plot_ylo#18 = (byte[]) plot_ylo#2 +Alias (byte[]) plot_yhi#18 = (byte[]) plot_yhi#2 Alias (byte*) init_plot_tables::yoffs#1 = (byte*~) init_plot_tables::$13 Alias (byte*) SCREEN#1 = (byte*) SCREEN#3 Succesful SSA optimization Pass2AliasElimination @@ -4471,8 +6813,8 @@ CONTROL FLOW GRAPH (byte[]) lines_x#0 ← { (byte) 60, (byte) 80, (byte) 110, (byte) 80, (byte) 60, (byte) 40, (byte) 10, (byte) 40, (byte) 60 } (byte[]) lines_y#0 ← { (byte) 10, (byte) 40, (byte) 60, (byte) 80, (byte) 110, (byte) 80, (byte) 60, (byte) 40, (byte) 10 } (byte) lines_cnt#0 ← (byte) 8 - to:@7 -main: scope:[main] from @7 + to:@10 +main: scope:[main] from @10 *((byte*) BGCOL#0) ← (byte) 0 *((byte*) FGCOL#0) ← (byte) 0 (byte~) main::$0 ← (byte) BMM#0 | (byte) DEN#0 @@ -4488,11 +6830,11 @@ main::@3: scope:[main] from main main::@4: scope:[main] from main::@3 to:main::@1 main::@1: scope:[main] from main::@4 main::@5 - (byte[]) plot_bit#28 ← phi( main::@4/(byte[]) plot_bit#0 main::@5/(byte[]) plot_bit#28 ) - (byte[]) plot_ylo#29 ← phi( main::@4/(byte[]) plot_ylo#0 main::@5/(byte[]) plot_ylo#29 ) - (byte[]) plot_yhi#29 ← phi( main::@4/(byte[]) plot_yhi#0 main::@5/(byte[]) plot_yhi#29 ) - (byte[]) plot_xlo#28 ← phi( main::@4/(byte[]) plot_xlo#0 main::@5/(byte[]) plot_xlo#28 ) - (byte[]) plot_xhi#28 ← phi( main::@4/(byte[]) plot_xhi#0 main::@5/(byte[]) plot_xhi#28 ) + (byte[]) plot_bit#45 ← phi( main::@4/(byte[]) plot_bit#0 main::@5/(byte[]) plot_bit#45 ) + (byte[]) plot_ylo#49 ← phi( main::@4/(byte[]) plot_ylo#0 main::@5/(byte[]) plot_ylo#49 ) + (byte[]) plot_yhi#49 ← phi( main::@4/(byte[]) plot_yhi#0 main::@5/(byte[]) plot_yhi#49 ) + (byte[]) plot_xlo#45 ← phi( main::@4/(byte[]) plot_xlo#0 main::@5/(byte[]) plot_xlo#45 ) + (byte[]) plot_xhi#45 ← phi( main::@4/(byte[]) plot_xhi#0 main::@5/(byte[]) plot_xhi#45 ) (byte) lines_cnt#3 ← phi( main::@4/(byte) lines_cnt#0 main::@5/(byte) lines_cnt#3 ) (byte[]) lines_y#2 ← phi( main::@4/(byte[]) lines_y#0 main::@5/(byte[]) lines_y#2 ) (byte[]) lines_x#2 ← phi( main::@4/(byte[]) lines_x#0 main::@5/(byte[]) lines_x#2 ) @@ -4508,11 +6850,11 @@ lines: scope:[lines] from main::@1 (byte) lines::l#0 ← (byte) 0 to:lines::@1 lines::@1: scope:[lines] from lines lines::@3 - (byte[]) plot_bit#10 ← phi( lines/(byte[]) plot_bit#28 lines::@3/(byte[]) plot_bit#10 ) - (byte[]) plot_ylo#10 ← phi( lines/(byte[]) plot_ylo#29 lines::@3/(byte[]) plot_ylo#10 ) - (byte[]) plot_yhi#10 ← phi( lines/(byte[]) plot_yhi#29 lines::@3/(byte[]) plot_yhi#10 ) - (byte[]) plot_xlo#10 ← phi( lines/(byte[]) plot_xlo#28 lines::@3/(byte[]) plot_xlo#10 ) - (byte[]) plot_xhi#10 ← phi( lines/(byte[]) plot_xhi#28 lines::@3/(byte[]) plot_xhi#10 ) + (byte[]) plot_bit#20 ← phi( lines/(byte[]) plot_bit#45 lines::@3/(byte[]) plot_bit#20 ) + (byte[]) plot_ylo#19 ← phi( lines/(byte[]) plot_ylo#49 lines::@3/(byte[]) plot_ylo#19 ) + (byte[]) plot_yhi#19 ← phi( lines/(byte[]) plot_yhi#49 lines::@3/(byte[]) plot_yhi#19 ) + (byte[]) plot_xlo#20 ← phi( lines/(byte[]) plot_xlo#45 lines::@3/(byte[]) plot_xlo#20 ) + (byte[]) plot_xhi#20 ← phi( lines/(byte[]) plot_xhi#45 lines::@3/(byte[]) plot_xhi#20 ) (byte) lines_cnt#1 ← phi( lines/(byte) lines_cnt#3 lines::@3/(byte) lines_cnt#1 ) (byte[]) lines_y#1 ← phi( lines/(byte[]) lines_y#2 lines::@3/(byte[]) lines_y#1 ) (byte) lines::l#2 ← phi( lines/(byte) lines::l#0 lines::@3/(byte) lines::l#1 ) @@ -4540,142 +6882,357 @@ lines::@return: scope:[lines] from lines::@3 line: scope:[line] from lines::@1 (boolean~) line::$1 ← (byte) line::x0#0 >= (byte) line::x1#0 if((boolean~) line::$1) goto line::@1 - to:line::@9 -line::@1: scope:[line] from line - (byte) line::xd#0 ← (byte) line::x1#0 - (byte) line::x0#0 - (boolean~) line::$15 ← (byte) line::y0#0 >= (byte) line::y1#0 - if((boolean~) line::$15) goto line::@7 to:line::@15 -line::@9: scope:[line] from line +line::@1: scope:[line] from line + (byte) line::xd#0 ← (byte) line::x0#0 - (byte) line::x1#0 + (boolean~) line::$17 ← (byte) line::y0#0 >= (byte) line::y1#0 + if((boolean~) line::$17) goto line::@9 + to:line::@23 +line::@15: scope:[line] from line (byte) line::xd#1 ← (byte) line::x1#0 - (byte) line::x0#0 (boolean~) line::$4 ← (byte) line::y0#0 >= (byte) line::y1#0 if((boolean~) line::$4) goto line::@2 - to:line::@10 -line::@2: scope:[line] from line::@9 - (byte) plot::x#0 ← (byte) line::x0#0 - (byte) plot::y#0 ← (byte) line::y0#0 - call plot param-assignment - to:line::@17 -line::@17: scope:[line] from line::@2 - (byte) plot::x#1 ← (byte) line::x1#0 - (byte) plot::y#1 ← (byte) line::y1#0 - call plot param-assignment - to:line::@return -line::@10: scope:[line] from line::@9 - (byte) line::yd#0 ← (byte) line::y1#0 - (byte) line::y0#0 - (boolean~) line::$7 ← (byte) line::yd#0 >= (byte) line::xd#1 + to:line::@16 +line::@2: scope:[line] from line::@15 + (byte) line::yd#0 ← (byte) line::y0#0 - (byte) line::y1#0 + (boolean~) line::$12 ← (byte) line::yd#0 >= (byte) line::xd#1 + if((boolean~) line::$12) goto line::@6 + to:line::@20 +line::@16: scope:[line] from line::@15 + (byte) line::yd#1 ← (byte) line::y1#0 - (byte) line::y0#0 + (boolean~) line::$7 ← (byte) line::yd#1 >= (byte) line::xd#1 if((boolean~) line::$7) goto line::@3 - to:line::@11 -line::@3: scope:[line] from line::@10 - (byte) plot::x#2 ← (byte) line::x0#0 - (byte) plot::y#2 ← (byte) line::y0#0 - call plot param-assignment - to:line::@19 -line::@19: scope:[line] from line::@3 - (byte) plot::x#3 ← (byte) line::x1#0 - (byte) plot::y#3 ← (byte) line::y1#0 - call plot param-assignment + to:line::@17 +line::@3: scope:[line] from line::@16 + (byte) line_ydxi::y#0 ← (byte) line::y0#0 + (byte) line_ydxi::x#0 ← (byte) line::x0#0 + (byte) line_ydxi::y1#0 ← (byte) line::y1#0 + (byte) line_ydxi::yd#0 ← (byte) line::yd#1 + (byte) line_ydxi::xd#0 ← (byte) line::xd#1 + call line_ydxi param-assignment to:line::@return -line::@11: scope:[line] from line::@10 +line::@17: scope:[line] from line::@16 (byte) line_xdyi::x#0 ← (byte) line::x0#0 (byte) line_xdyi::y#0 ← (byte) line::y0#0 (byte) line_xdyi::x1#0 ← (byte) line::x1#0 (byte) line_xdyi::xd#0 ← (byte) line::xd#1 - (byte) line_xdyi::yd#0 ← (byte) line::yd#0 + (byte) line_xdyi::yd#0 ← (byte) line::yd#1 call line_xdyi param-assignment to:line::@return -line::@7: scope:[line] from line::@1 - (byte) plot::x#4 ← (byte) line::x0#0 - (byte) plot::y#4 ← (byte) line::y0#0 - call plot param-assignment - to:line::@22 -line::@22: scope:[line] from line::@7 - (byte) plot::x#5 ← (byte) line::x1#0 - (byte) plot::y#5 ← (byte) line::y1#0 - call plot param-assignment +line::@6: scope:[line] from line::@2 + (byte) line_ydxd::y#0 ← (byte) line::y1#0 + (byte) line_ydxd::x#0 ← (byte) line::x1#0 + (byte) line_ydxd::y1#0 ← (byte) line::y0#0 + (byte) line_ydxd::yd#0 ← (byte) line::yd#0 + (byte) line_ydxd::xd#0 ← (byte) line::xd#1 + call line_ydxd param-assignment to:line::@return -line::@15: scope:[line] from line::@1 - (byte) plot::x#6 ← (byte) line::x0#0 - (byte) plot::y#6 ← (byte) line::y0#0 - call plot param-assignment +line::@20: scope:[line] from line::@2 + (byte) line_xdyd::x#0 ← (byte) line::x0#0 + (byte) line_xdyd::y#0 ← (byte) line::y0#0 + (byte) line_xdyd::x1#0 ← (byte) line::x1#0 + (byte) line_xdyd::xd#0 ← (byte) line::xd#1 + (byte) line_xdyd::yd#0 ← (byte) line::yd#0 + call line_xdyd param-assignment + to:line::@return +line::@9: scope:[line] from line::@1 + (byte) line::yd#10 ← (byte) line::y0#0 - (byte) line::y1#0 + (boolean~) line::$25 ← (byte) line::yd#10 >= (byte) line::xd#0 + if((boolean~) line::$25) goto line::@13 + to:line::@27 +line::@23: scope:[line] from line::@1 + (byte) line::yd#3 ← (byte) line::y1#0 - (byte) line::y0#0 + (boolean~) line::$20 ← (byte) line::yd#3 >= (byte) line::xd#0 + if((boolean~) line::$20) goto line::@10 to:line::@24 -line::@24: scope:[line] from line::@15 - (byte) plot::x#7 ← (byte) line::x1#0 - (byte) plot::y#7 ← (byte) line::y1#0 - call plot param-assignment +line::@10: scope:[line] from line::@23 + (byte) line_ydxd::y#1 ← (byte) line::y0#0 + (byte) line_ydxd::x#1 ← (byte) line::x0#0 + (byte) line_ydxd::y1#1 ← (byte) line::y1#0 + (byte) line_ydxd::yd#1 ← (byte) line::yd#3 + (byte) line_ydxd::xd#1 ← (byte) line::xd#0 + call line_ydxd param-assignment to:line::@return -line::@return: scope:[line] from line::@11 line::@17 line::@19 line::@22 line::@24 +line::@24: scope:[line] from line::@23 + (byte) line_xdyd::x#1 ← (byte) line::x1#0 + (byte) line_xdyd::y#1 ← (byte) line::y1#0 + (byte) line_xdyd::x1#1 ← (byte) line::x0#0 + (byte) line_xdyd::xd#1 ← (byte) line::xd#0 + (byte) line_xdyd::yd#1 ← (byte) line::yd#3 + call line_xdyd param-assignment + to:line::@return +line::@13: scope:[line] from line::@9 + (byte) line_ydxi::y#1 ← (byte) line::y1#0 + (byte) line_ydxi::x#1 ← (byte) line::x1#0 + (byte) line_ydxi::y1#1 ← (byte) line::y0#0 + (byte) line_ydxi::yd#1 ← (byte) line::yd#10 + (byte) line_ydxi::xd#1 ← (byte) line::xd#0 + call line_ydxi param-assignment + to:line::@return +line::@27: scope:[line] from line::@9 + (byte) line_xdyi::x#1 ← (byte) line::x1#0 + (byte) line_xdyi::y#1 ← (byte) line::y1#0 + (byte) line_xdyi::x1#1 ← (byte) line::x0#0 + (byte) line_xdyi::xd#1 ← (byte) line::xd#0 + (byte) line_xdyi::yd#1 ← (byte) line::yd#10 + call line_xdyi param-assignment + to:line::@return +line::@return: scope:[line] from line::@10 line::@13 line::@17 line::@20 line::@24 line::@27 line::@3 line::@6 return to:@return -line_xdyi: scope:[line_xdyi] from line::@11 - (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#0 >> (byte) 1 +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[]) plot_bit#9 ← phi( line::@17/(byte[]) plot_bit#20 line::@27/(byte[]) plot_bit#20 ) + (byte[]) plot_ylo#9 ← phi( line::@17/(byte[]) plot_ylo#19 line::@27/(byte[]) plot_ylo#19 ) + (byte[]) plot_yhi#9 ← phi( line::@17/(byte[]) plot_yhi#19 line::@27/(byte[]) plot_yhi#19 ) + (byte[]) plot_xlo#9 ← phi( line::@17/(byte[]) plot_xlo#20 line::@27/(byte[]) plot_xlo#20 ) + (byte[]) plot_xhi#9 ← phi( line::@17/(byte[]) plot_xhi#20 line::@27/(byte[]) plot_xhi#20 ) + (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::e#0 ← (byte) line_xdyi::yd#2 >> (byte) 1 to:line_xdyi::@1 line_xdyi::@1: scope:[line_xdyi] from line_xdyi line_xdyi::@2 - (byte) line_xdyi::x1#2 ← phi( line_xdyi/(byte) line_xdyi::x1#0 line_xdyi::@2/(byte) line_xdyi::x1#1 ) - (byte[]) plot_bit#11 ← phi( line_xdyi/(byte[]) plot_bit#10 line_xdyi::@2/(byte[]) plot_bit#18 ) - (byte[]) plot_ylo#11 ← phi( line_xdyi/(byte[]) plot_ylo#10 line_xdyi::@2/(byte[]) plot_ylo#18 ) - (byte[]) plot_yhi#11 ← phi( line_xdyi/(byte[]) plot_yhi#10 line_xdyi::@2/(byte[]) plot_yhi#18 ) - (byte[]) plot_xlo#11 ← phi( line_xdyi/(byte[]) plot_xlo#10 line_xdyi::@2/(byte[]) plot_xlo#18 ) - (byte[]) plot_xhi#11 ← phi( line_xdyi/(byte[]) plot_xhi#10 line_xdyi::@2/(byte[]) plot_xhi#18 ) - (byte) line_xdyi::xd#1 ← phi( line_xdyi/(byte) line_xdyi::xd#0 line_xdyi::@2/(byte) line_xdyi::xd#5 ) - (byte) line_xdyi::yd#2 ← phi( line_xdyi/(byte) line_xdyi::yd#0 line_xdyi::@2/(byte) line_xdyi::yd#4 ) + (byte) line_xdyi::x1#3 ← phi( line_xdyi/(byte) line_xdyi::x1#6 line_xdyi::@2/(byte) line_xdyi::x1#2 ) + (byte[]) plot_bit#22 ← phi( line_xdyi/(byte[]) plot_bit#9 line_xdyi::@2/(byte[]) plot_bit#10 ) + (byte[]) plot_ylo#21 ← phi( line_xdyi/(byte[]) plot_ylo#9 line_xdyi::@2/(byte[]) plot_ylo#10 ) + (byte[]) plot_yhi#21 ← phi( line_xdyi/(byte[]) plot_yhi#9 line_xdyi::@2/(byte[]) plot_yhi#10 ) + (byte[]) plot_xlo#22 ← phi( line_xdyi/(byte[]) plot_xlo#9 line_xdyi::@2/(byte[]) plot_xlo#10 ) + (byte[]) plot_xhi#22 ← phi( line_xdyi/(byte[]) plot_xhi#9 line_xdyi::@2/(byte[]) plot_xhi#10 ) + (byte) line_xdyi::xd#2 ← phi( line_xdyi/(byte) line_xdyi::xd#5 line_xdyi::@2/(byte) line_xdyi::xd#6 ) + (byte) line_xdyi::yd#3 ← phi( line_xdyi/(byte) line_xdyi::yd#2 line_xdyi::@2/(byte) line_xdyi::yd#5 ) (byte) line_xdyi::e#3 ← phi( line_xdyi/(byte) line_xdyi::e#0 line_xdyi::@2/(byte) line_xdyi::e#6 ) - (byte) line_xdyi::y#2 ← phi( line_xdyi/(byte) line_xdyi::y#0 line_xdyi::@2/(byte) line_xdyi::y#5 ) - (byte) line_xdyi::x#2 ← phi( line_xdyi/(byte) line_xdyi::x#0 line_xdyi::@2/(byte) line_xdyi::x#4 ) - (byte) plot::x#8 ← (byte) line_xdyi::x#2 - (byte) plot::y#8 ← (byte) line_xdyi::y#2 + (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::x#1 ← (byte) line_xdyi::x#2 + (byte) 1 - (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#2 - (boolean~) line_xdyi::$5 ← (byte) line_xdyi::xd#1 >= (byte) line_xdyi::e#1 + (byte) line_xdyi::x#2 ← (byte) line_xdyi::x#3 + (byte) 1 + (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#3 + (boolean~) line_xdyi::$5 ← (byte) line_xdyi::xd#2 >= (byte) line_xdyi::e#1 if((boolean~) line_xdyi::$5) goto line_xdyi::@2 to:line_xdyi::@3 line_xdyi::@2: scope:[line_xdyi] from line_xdyi::@3 line_xdyi::@5 - (byte[]) plot_bit#18 ← phi( line_xdyi::@3/(byte[]) plot_bit#11 line_xdyi::@5/(byte[]) plot_bit#11 ) - (byte[]) plot_ylo#18 ← phi( line_xdyi::@3/(byte[]) plot_ylo#11 line_xdyi::@5/(byte[]) plot_ylo#11 ) - (byte[]) plot_yhi#18 ← phi( line_xdyi::@3/(byte[]) plot_yhi#11 line_xdyi::@5/(byte[]) plot_yhi#11 ) - (byte[]) plot_xlo#18 ← phi( line_xdyi::@3/(byte[]) plot_xlo#11 line_xdyi::@5/(byte[]) plot_xlo#11 ) - (byte[]) plot_xhi#18 ← phi( line_xdyi::@3/(byte[]) plot_xhi#11 line_xdyi::@5/(byte[]) plot_xhi#11 ) - (byte) line_xdyi::xd#5 ← phi( line_xdyi::@3/(byte) line_xdyi::xd#1 line_xdyi::@5/(byte) line_xdyi::xd#1 ) - (byte) line_xdyi::yd#4 ← phi( line_xdyi::@3/(byte) line_xdyi::yd#2 line_xdyi::@5/(byte) line_xdyi::yd#2 ) + (byte[]) plot_bit#10 ← phi( line_xdyi::@3/(byte[]) plot_bit#22 line_xdyi::@5/(byte[]) plot_bit#22 ) + (byte[]) plot_ylo#10 ← phi( line_xdyi::@3/(byte[]) plot_ylo#21 line_xdyi::@5/(byte[]) plot_ylo#21 ) + (byte[]) plot_yhi#10 ← phi( line_xdyi::@3/(byte[]) plot_yhi#21 line_xdyi::@5/(byte[]) plot_yhi#21 ) + (byte[]) plot_xlo#10 ← phi( line_xdyi::@3/(byte[]) plot_xlo#22 line_xdyi::@5/(byte[]) plot_xlo#22 ) + (byte[]) plot_xhi#10 ← phi( line_xdyi::@3/(byte[]) plot_xhi#22 line_xdyi::@5/(byte[]) plot_xhi#22 ) + (byte) line_xdyi::xd#6 ← phi( line_xdyi::@3/(byte) line_xdyi::xd#2 line_xdyi::@5/(byte) line_xdyi::xd#2 ) + (byte) line_xdyi::yd#5 ← phi( line_xdyi::@3/(byte) line_xdyi::yd#3 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#5 ← phi( line_xdyi::@3/(byte) line_xdyi::y#1 line_xdyi::@5/(byte) line_xdyi::y#2 ) - (byte) line_xdyi::x#4 ← phi( line_xdyi::@3/(byte) line_xdyi::x#1 line_xdyi::@5/(byte) line_xdyi::x#1 ) - (byte) line_xdyi::x1#1 ← phi( line_xdyi::@3/(byte) line_xdyi::x1#2 line_xdyi::@5/(byte) line_xdyi::x1#2 ) - (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#1 + (byte) 1 - (boolean~) line_xdyi::$9 ← (byte) line_xdyi::x#4 < (byte~) line_xdyi::$8 + (byte) line_xdyi::y#6 ← phi( line_xdyi::@3/(byte) line_xdyi::y#2 line_xdyi::@5/(byte) line_xdyi::y#3 ) + (byte) line_xdyi::x#5 ← phi( line_xdyi::@3/(byte) line_xdyi::x#2 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#3 ) + (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#2 + (byte) 1 + (boolean~) line_xdyi::$9 ← (byte) line_xdyi::x#5 < (byte~) line_xdyi::$8 if((boolean~) line_xdyi::$9) goto line_xdyi::@1 to:line_xdyi::@return line_xdyi::@3: scope:[line_xdyi] from line_xdyi::@5 - (byte) line_xdyi::y#1 ← (byte) line_xdyi::y#2 + (byte) 1 - (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#1 + (byte) line_xdyi::y#2 ← (byte) line_xdyi::y#3 + (byte) 1 + (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#2 to:line_xdyi::@2 line_xdyi::@return: scope:[line_xdyi] from line_xdyi::@2 return to:@return -plot: scope:[plot] from line::@15 line::@17 line::@19 line::@2 line::@22 line::@24 line::@3 line::@7 line_xdyi::@1 - (byte[]) plot_bit#1 ← phi( line::@15/(byte[]) plot_bit#10 line::@17/(byte[]) plot_bit#10 line::@19/(byte[]) plot_bit#10 line::@2/(byte[]) plot_bit#10 line::@22/(byte[]) plot_bit#10 line::@24/(byte[]) plot_bit#10 line::@3/(byte[]) plot_bit#10 line::@7/(byte[]) plot_bit#10 line_xdyi::@1/(byte[]) plot_bit#11 ) - (byte[]) plot_ylo#1 ← phi( line::@15/(byte[]) plot_ylo#10 line::@17/(byte[]) plot_ylo#10 line::@19/(byte[]) plot_ylo#10 line::@2/(byte[]) plot_ylo#10 line::@22/(byte[]) plot_ylo#10 line::@24/(byte[]) plot_ylo#10 line::@3/(byte[]) plot_ylo#10 line::@7/(byte[]) plot_ylo#10 line_xdyi::@1/(byte[]) plot_ylo#11 ) - (byte) plot::y#9 ← phi( line::@15/(byte) plot::y#6 line::@17/(byte) plot::y#1 line::@19/(byte) plot::y#3 line::@2/(byte) plot::y#0 line::@22/(byte) plot::y#5 line::@24/(byte) plot::y#7 line::@3/(byte) plot::y#2 line::@7/(byte) plot::y#4 line_xdyi::@1/(byte) plot::y#8 ) - (byte[]) plot_yhi#1 ← phi( line::@15/(byte[]) plot_yhi#10 line::@17/(byte[]) plot_yhi#10 line::@19/(byte[]) plot_yhi#10 line::@2/(byte[]) plot_yhi#10 line::@22/(byte[]) plot_yhi#10 line::@24/(byte[]) plot_yhi#10 line::@3/(byte[]) plot_yhi#10 line::@7/(byte[]) plot_yhi#10 line_xdyi::@1/(byte[]) plot_yhi#11 ) - (byte[]) plot_xlo#1 ← phi( line::@15/(byte[]) plot_xlo#10 line::@17/(byte[]) plot_xlo#10 line::@19/(byte[]) plot_xlo#10 line::@2/(byte[]) plot_xlo#10 line::@22/(byte[]) plot_xlo#10 line::@24/(byte[]) plot_xlo#10 line::@3/(byte[]) plot_xlo#10 line::@7/(byte[]) plot_xlo#10 line_xdyi::@1/(byte[]) plot_xlo#11 ) - (byte) plot::x#9 ← phi( line::@15/(byte) plot::x#6 line::@17/(byte) plot::x#1 line::@19/(byte) plot::x#3 line::@2/(byte) plot::x#0 line::@22/(byte) plot::x#5 line::@24/(byte) plot::x#7 line::@3/(byte) plot::x#2 line::@7/(byte) plot::x#4 line_xdyi::@1/(byte) plot::x#8 ) - (byte[]) plot_xhi#1 ← phi( line::@15/(byte[]) plot_xhi#10 line::@17/(byte[]) plot_xhi#10 line::@19/(byte[]) plot_xhi#10 line::@2/(byte[]) plot_xhi#10 line::@22/(byte[]) plot_xhi#10 line::@24/(byte[]) plot_xhi#10 line::@3/(byte[]) plot_xhi#10 line::@7/(byte[]) plot_xhi#10 line_xdyi::@1/(byte[]) plot_xhi#11 ) +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[]) plot_bit#11 ← phi( line::@20/(byte[]) plot_bit#20 line::@24/(byte[]) plot_bit#20 ) + (byte[]) plot_ylo#11 ← phi( line::@20/(byte[]) plot_ylo#19 line::@24/(byte[]) plot_ylo#19 ) + (byte[]) plot_yhi#11 ← phi( line::@20/(byte[]) plot_yhi#19 line::@24/(byte[]) plot_yhi#19 ) + (byte[]) plot_xlo#11 ← phi( line::@20/(byte[]) plot_xlo#20 line::@24/(byte[]) plot_xlo#20 ) + (byte[]) plot_xhi#11 ← phi( line::@20/(byte[]) plot_xhi#20 line::@24/(byte[]) plot_xhi#20 ) + (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::e#0 ← (byte) line_xdyd::yd#2 >> (byte) 1 + to:line_xdyd::@1 +line_xdyd::@1: scope:[line_xdyd] from line_xdyd line_xdyd::@2 + (byte) line_xdyd::x1#3 ← phi( line_xdyd/(byte) line_xdyd::x1#6 line_xdyd::@2/(byte) line_xdyd::x1#2 ) + (byte[]) plot_bit#26 ← phi( line_xdyd/(byte[]) plot_bit#11 line_xdyd::@2/(byte[]) plot_bit#12 ) + (byte[]) plot_ylo#25 ← phi( line_xdyd/(byte[]) plot_ylo#11 line_xdyd::@2/(byte[]) plot_ylo#12 ) + (byte[]) plot_yhi#25 ← phi( line_xdyd/(byte[]) plot_yhi#11 line_xdyd::@2/(byte[]) plot_yhi#12 ) + (byte[]) plot_xlo#26 ← phi( line_xdyd/(byte[]) plot_xlo#11 line_xdyd::@2/(byte[]) plot_xlo#12 ) + (byte[]) plot_xhi#26 ← phi( line_xdyd/(byte[]) plot_xhi#11 line_xdyd::@2/(byte[]) plot_xhi#12 ) + (byte) line_xdyd::xd#2 ← phi( line_xdyd/(byte) line_xdyd::xd#5 line_xdyd::@2/(byte) line_xdyd::xd#6 ) + (byte) line_xdyd::yd#3 ← phi( line_xdyd/(byte) line_xdyd::yd#2 line_xdyd::@2/(byte) line_xdyd::yd#5 ) + (byte) line_xdyd::e#3 ← 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::x#2 ← (byte) line_xdyd::x#3 + (byte) 1 + (byte) line_xdyd::e#1 ← (byte) line_xdyd::e#3 + (byte) line_xdyd::yd#3 + (boolean~) line_xdyd::$5 ← (byte) line_xdyd::xd#2 >= (byte) line_xdyd::e#1 + if((boolean~) line_xdyd::$5) goto line_xdyd::@2 + to:line_xdyd::@3 +line_xdyd::@2: scope:[line_xdyd] from line_xdyd::@3 line_xdyd::@5 + (byte[]) plot_bit#12 ← phi( line_xdyd::@3/(byte[]) plot_bit#26 line_xdyd::@5/(byte[]) plot_bit#26 ) + (byte[]) plot_ylo#12 ← phi( line_xdyd::@3/(byte[]) plot_ylo#25 line_xdyd::@5/(byte[]) plot_ylo#25 ) + (byte[]) plot_yhi#12 ← phi( line_xdyd::@3/(byte[]) plot_yhi#25 line_xdyd::@5/(byte[]) plot_yhi#25 ) + (byte[]) plot_xlo#12 ← phi( line_xdyd::@3/(byte[]) plot_xlo#26 line_xdyd::@5/(byte[]) plot_xlo#26 ) + (byte[]) plot_xhi#12 ← phi( line_xdyd::@3/(byte[]) plot_xhi#26 line_xdyd::@5/(byte[]) plot_xhi#26 ) + (byte) line_xdyd::xd#6 ← phi( line_xdyd::@3/(byte) line_xdyd::xd#2 line_xdyd::@5/(byte) line_xdyd::xd#2 ) + (byte) line_xdyd::yd#5 ← phi( line_xdyd::@3/(byte) line_xdyd::yd#3 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#3 ) + (byte) line_xdyd::x#5 ← phi( line_xdyd::@3/(byte) line_xdyd::x#2 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#3 ) + (byte~) line_xdyd::$8 ← (byte) line_xdyd::x1#2 + (byte) 1 + (boolean~) line_xdyd::$9 ← (byte) line_xdyd::x#5 < (byte~) line_xdyd::$8 + if((boolean~) line_xdyd::$9) goto line_xdyd::@1 + to:line_xdyd::@return +line_xdyd::@3: scope:[line_xdyd] from line_xdyd::@5 + (byte) line_xdyd::y#2 ← (byte) line_xdyd::y#3 - (byte) 1 + (byte) line_xdyd::e#2 ← (byte) line_xdyd::e#1 - (byte) line_xdyd::xd#2 + 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[]) plot_bit#13 ← phi( line::@13/(byte[]) plot_bit#20 line::@3/(byte[]) plot_bit#20 ) + (byte[]) plot_ylo#13 ← phi( line::@13/(byte[]) plot_ylo#19 line::@3/(byte[]) plot_ylo#19 ) + (byte[]) plot_yhi#13 ← phi( line::@13/(byte[]) plot_yhi#19 line::@3/(byte[]) plot_yhi#19 ) + (byte[]) plot_xlo#13 ← phi( line::@13/(byte[]) plot_xlo#20 line::@3/(byte[]) plot_xlo#20 ) + (byte[]) plot_xhi#13 ← phi( line::@13/(byte[]) plot_xhi#20 line::@3/(byte[]) plot_xhi#20 ) + (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::e#0 ← (byte) line_ydxi::xd#2 >> (byte) 1 + to:line_ydxi::@1 +line_ydxi::@1: scope:[line_ydxi] from line_ydxi line_ydxi::@2 + (byte) line_ydxi::y1#3 ← phi( line_ydxi/(byte) line_ydxi::y1#6 line_ydxi::@2/(byte) line_ydxi::y1#2 ) + (byte[]) plot_bit#30 ← phi( line_ydxi/(byte[]) plot_bit#13 line_ydxi::@2/(byte[]) plot_bit#14 ) + (byte[]) plot_ylo#29 ← phi( line_ydxi/(byte[]) plot_ylo#13 line_ydxi::@2/(byte[]) plot_ylo#14 ) + (byte[]) plot_yhi#29 ← phi( line_ydxi/(byte[]) plot_yhi#13 line_ydxi::@2/(byte[]) plot_yhi#14 ) + (byte[]) plot_xlo#30 ← phi( line_ydxi/(byte[]) plot_xlo#13 line_ydxi::@2/(byte[]) plot_xlo#14 ) + (byte[]) plot_xhi#30 ← phi( line_ydxi/(byte[]) plot_xhi#13 line_ydxi::@2/(byte[]) plot_xhi#14 ) + (byte) line_ydxi::yd#2 ← phi( line_ydxi/(byte) line_ydxi::yd#5 line_ydxi::@2/(byte) line_ydxi::yd#6 ) + (byte) line_ydxi::xd#3 ← phi( line_ydxi/(byte) line_ydxi::xd#2 line_ydxi::@2/(byte) line_ydxi::xd#5 ) + (byte) line_ydxi::e#3 ← 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::y#2 ← (byte) line_ydxi::y#3 + (byte) 1 + (byte) line_ydxi::e#1 ← (byte) line_ydxi::e#3 + (byte) line_ydxi::xd#3 + (boolean~) line_ydxi::$5 ← (byte) line_ydxi::yd#2 >= (byte) line_ydxi::e#1 + if((boolean~) line_ydxi::$5) goto line_ydxi::@2 + to:line_ydxi::@3 +line_ydxi::@2: scope:[line_ydxi] from line_ydxi::@3 line_ydxi::@5 + (byte[]) plot_bit#14 ← phi( line_ydxi::@3/(byte[]) plot_bit#30 line_ydxi::@5/(byte[]) plot_bit#30 ) + (byte[]) plot_ylo#14 ← phi( line_ydxi::@3/(byte[]) plot_ylo#29 line_ydxi::@5/(byte[]) plot_ylo#29 ) + (byte[]) plot_yhi#14 ← phi( line_ydxi::@3/(byte[]) plot_yhi#29 line_ydxi::@5/(byte[]) plot_yhi#29 ) + (byte[]) plot_xlo#14 ← phi( line_ydxi::@3/(byte[]) plot_xlo#30 line_ydxi::@5/(byte[]) plot_xlo#30 ) + (byte[]) plot_xhi#14 ← phi( line_ydxi::@3/(byte[]) plot_xhi#30 line_ydxi::@5/(byte[]) plot_xhi#30 ) + (byte) line_ydxi::yd#6 ← phi( line_ydxi::@3/(byte) line_ydxi::yd#2 line_ydxi::@5/(byte) line_ydxi::yd#2 ) + (byte) line_ydxi::xd#5 ← phi( line_ydxi::@3/(byte) line_ydxi::xd#3 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#3 ) + (byte) line_ydxi::y#5 ← phi( line_ydxi::@3/(byte) line_ydxi::y#2 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#3 ) + (byte~) line_ydxi::$8 ← (byte) line_ydxi::y1#2 + (byte) 1 + (boolean~) line_ydxi::$9 ← (byte) line_ydxi::y#5 < (byte~) line_ydxi::$8 + if((boolean~) line_ydxi::$9) goto line_ydxi::@1 + to:line_ydxi::@return +line_ydxi::@3: scope:[line_ydxi] from line_ydxi::@5 + (byte) line_ydxi::x#2 ← (byte) line_ydxi::x#3 + (byte) 1 + (byte) line_ydxi::e#2 ← (byte) line_ydxi::e#1 - (byte) line_ydxi::yd#2 + 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[]) plot_bit#15 ← phi( line::@10/(byte[]) plot_bit#20 line::@6/(byte[]) plot_bit#20 ) + (byte[]) plot_ylo#15 ← phi( line::@10/(byte[]) plot_ylo#19 line::@6/(byte[]) plot_ylo#19 ) + (byte[]) plot_yhi#15 ← phi( line::@10/(byte[]) plot_yhi#19 line::@6/(byte[]) plot_yhi#19 ) + (byte[]) plot_xlo#15 ← phi( line::@10/(byte[]) plot_xlo#20 line::@6/(byte[]) plot_xlo#20 ) + (byte[]) plot_xhi#15 ← phi( line::@10/(byte[]) plot_xhi#20 line::@6/(byte[]) plot_xhi#20 ) + (byte) line_ydxd::yd#5 ← phi( line::@10/(byte) line_ydxd::yd#1 line::@6/(byte) line_ydxd::yd#0 ) + (byte) line_ydxd::y#6 ← 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::e#0 ← (byte) line_ydxd::xd#2 >> (byte) 1 + to:line_ydxd::@1 +line_ydxd::@1: scope:[line_ydxd] from line_ydxd line_ydxd::@2 + (byte) line_ydxd::y1#3 ← phi( line_ydxd/(byte) line_ydxd::y1#6 line_ydxd::@2/(byte) line_ydxd::y1#2 ) + (byte[]) plot_bit#34 ← phi( line_ydxd/(byte[]) plot_bit#15 line_ydxd::@2/(byte[]) plot_bit#16 ) + (byte[]) plot_ylo#33 ← phi( line_ydxd/(byte[]) plot_ylo#15 line_ydxd::@2/(byte[]) plot_ylo#16 ) + (byte[]) plot_yhi#33 ← phi( line_ydxd/(byte[]) plot_yhi#15 line_ydxd::@2/(byte[]) plot_yhi#16 ) + (byte[]) plot_xlo#34 ← phi( line_ydxd/(byte[]) plot_xlo#15 line_ydxd::@2/(byte[]) plot_xlo#16 ) + (byte[]) plot_xhi#34 ← phi( line_ydxd/(byte[]) plot_xhi#15 line_ydxd::@2/(byte[]) plot_xhi#16 ) + (byte) line_ydxd::yd#2 ← phi( line_ydxd/(byte) line_ydxd::yd#5 line_ydxd::@2/(byte) line_ydxd::yd#6 ) + (byte) line_ydxd::xd#3 ← phi( line_ydxd/(byte) line_ydxd::xd#2 line_ydxd::@2/(byte) line_ydxd::xd#5 ) + (byte) line_ydxd::e#3 ← phi( line_ydxd/(byte) line_ydxd::e#0 line_ydxd::@2/(byte) line_ydxd::e#6 ) + (byte) line_ydxd::y#3 ← phi( line_ydxd/(byte) line_ydxd::y#6 line_ydxd::@2/(byte) line_ydxd::y#5 ) + (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#3 + call plot param-assignment + to:line_ydxd::@5 +line_ydxd::@5: scope:[line_ydxd] from line_ydxd::@1 + (byte) line_ydxd::y#2 ← (byte) line_ydxd::y#3 + (byte) 1 + (byte) line_ydxd::e#1 ← (byte) line_ydxd::e#3 + (byte) line_ydxd::xd#3 + (boolean~) line_ydxd::$5 ← (byte) line_ydxd::yd#2 >= (byte) line_ydxd::e#1 + if((boolean~) line_ydxd::$5) goto line_ydxd::@2 + to:line_ydxd::@3 +line_ydxd::@2: scope:[line_ydxd] from line_ydxd::@3 line_ydxd::@5 + (byte[]) plot_bit#16 ← phi( line_ydxd::@3/(byte[]) plot_bit#34 line_ydxd::@5/(byte[]) plot_bit#34 ) + (byte[]) plot_ylo#16 ← phi( line_ydxd::@3/(byte[]) plot_ylo#33 line_ydxd::@5/(byte[]) plot_ylo#33 ) + (byte[]) plot_yhi#16 ← phi( line_ydxd::@3/(byte[]) plot_yhi#33 line_ydxd::@5/(byte[]) plot_yhi#33 ) + (byte[]) plot_xlo#16 ← phi( line_ydxd::@3/(byte[]) plot_xlo#34 line_ydxd::@5/(byte[]) plot_xlo#34 ) + (byte[]) plot_xhi#16 ← phi( line_ydxd::@3/(byte[]) plot_xhi#34 line_ydxd::@5/(byte[]) plot_xhi#34 ) + (byte) line_ydxd::yd#6 ← phi( line_ydxd::@3/(byte) line_ydxd::yd#2 line_ydxd::@5/(byte) line_ydxd::yd#2 ) + (byte) line_ydxd::xd#5 ← phi( line_ydxd::@3/(byte) line_ydxd::xd#3 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#3 ) + (byte) line_ydxd::y#5 ← phi( line_ydxd::@3/(byte) line_ydxd::y#2 line_ydxd::@5/(byte) line_ydxd::y#2 ) + (byte) line_ydxd::y1#2 ← phi( line_ydxd::@3/(byte) line_ydxd::y1#3 line_ydxd::@5/(byte) line_ydxd::y1#3 ) + (byte~) line_ydxd::$8 ← (byte) line_ydxd::y1#2 + (byte) 1 + (boolean~) line_ydxd::$9 ← (byte) line_ydxd::y#5 < (byte~) line_ydxd::$8 + if((boolean~) line_ydxd::$9) goto line_ydxd::@1 + to:line_ydxd::@return +line_ydxd::@3: scope:[line_ydxd] from line_ydxd::@5 + (byte) line_ydxd::x#2 ← (byte) line_ydxd::x#3 - (byte) 1 + (byte) line_ydxd::e#2 ← (byte) line_ydxd::e#1 - (byte) line_ydxd::yd#2 + 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_bit#1 ← phi( line_xdyd::@1/(byte[]) plot_bit#26 line_xdyi::@1/(byte[]) plot_bit#22 line_ydxd::@1/(byte[]) plot_bit#34 line_ydxi::@1/(byte[]) plot_bit#30 ) + (byte[]) plot_ylo#1 ← phi( line_xdyd::@1/(byte[]) plot_ylo#25 line_xdyi::@1/(byte[]) plot_ylo#21 line_ydxd::@1/(byte[]) plot_ylo#33 line_ydxi::@1/(byte[]) plot_ylo#29 ) + (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_yhi#1 ← phi( line_xdyd::@1/(byte[]) plot_yhi#25 line_xdyi::@1/(byte[]) plot_yhi#21 line_ydxd::@1/(byte[]) plot_yhi#33 line_ydxi::@1/(byte[]) plot_yhi#29 ) + (byte[]) plot_xlo#1 ← phi( line_xdyd::@1/(byte[]) plot_xlo#26 line_xdyi::@1/(byte[]) plot_xlo#22 line_ydxd::@1/(byte[]) plot_xlo#34 line_ydxi::@1/(byte[]) plot_xlo#30 ) + (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 ) + (byte[]) plot_xhi#1 ← phi( line_xdyd::@1/(byte[]) plot_xhi#26 line_xdyi::@1/(byte[]) plot_xhi#22 line_ydxd::@1/(byte[]) plot_xhi#34 line_ydxi::@1/(byte[]) plot_xhi#30 ) (byte*) plot::plotter_x#0 ← (byte) 0 (byte*) plot::plotter_y#0 ← (byte) 0 - (byte~) plot::$0 ← (byte[]) plot_xhi#1 *idx (byte) plot::x#9 + (byte~) plot::$0 ← (byte[]) plot_xhi#1 *idx (byte) plot::x#4 (byte*) plot::plotter_x#1 ← (byte*) plot::plotter_x#0 hi= (byte~) plot::$0 - (byte~) plot::$1 ← (byte[]) plot_xlo#1 *idx (byte) plot::x#9 + (byte~) plot::$1 ← (byte[]) plot_xlo#1 *idx (byte) plot::x#4 (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 - (byte~) plot::$2 ← (byte[]) plot_yhi#1 *idx (byte) plot::y#9 + (byte~) plot::$2 ← (byte[]) plot_yhi#1 *idx (byte) plot::y#4 (byte*) plot::plotter_y#1 ← (byte*) plot::plotter_y#0 hi= (byte~) plot::$2 - (byte~) plot::$3 ← (byte[]) plot_ylo#1 *idx (byte) plot::y#9 + (byte~) plot::$3 ← (byte[]) plot_ylo#1 *idx (byte) plot::y#4 (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 (byte~) plot::$5 ← * (byte*) plot::plotter#0 - (byte~) plot::$6 ← (byte[]) plot_bit#1 *idx (byte) plot::x#9 + (byte~) plot::$6 ← (byte[]) plot_bit#1 *idx (byte) plot::x#4 (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 *((byte*) plot::plotter#0) ← (byte~) plot::$7 to:plot::@return @@ -4687,31 +7244,31 @@ init_plot_tables: scope:[init_plot_tables] from main::@3 (byte) init_plot_tables::x#0 ← (byte) 0 to:init_plot_tables::@1 init_plot_tables::@1: scope:[init_plot_tables] from init_plot_tables init_plot_tables::@2 - (byte[]) plot_yhi#25 ← phi( init_plot_tables/(byte[]) plot_yhi#0 init_plot_tables::@2/(byte[]) plot_yhi#13 ) - (byte[]) plot_ylo#25 ← phi( init_plot_tables/(byte[]) plot_ylo#0 init_plot_tables::@2/(byte[]) plot_ylo#13 ) - (byte[]) plot_bit#2 ← phi( init_plot_tables/(byte[]) plot_bit#0 init_plot_tables::@2/(byte[]) plot_bit#13 ) + (byte[]) plot_yhi#35 ← phi( init_plot_tables/(byte[]) plot_yhi#0 init_plot_tables::@2/(byte[]) plot_yhi#17 ) + (byte[]) plot_ylo#35 ← phi( init_plot_tables/(byte[]) plot_ylo#0 init_plot_tables::@2/(byte[]) plot_ylo#17 ) + (byte[]) plot_bit#18 ← phi( init_plot_tables/(byte[]) plot_bit#0 init_plot_tables::@2/(byte[]) plot_bit#8 ) (byte) init_plot_tables::bit#3 ← phi( init_plot_tables/(byte) init_plot_tables::bit#0 init_plot_tables::@2/(byte) init_plot_tables::bit#4 ) - (byte[]) plot_xhi#2 ← phi( init_plot_tables/(byte[]) plot_xhi#0 init_plot_tables::@2/(byte[]) plot_xhi#13 ) + (byte[]) plot_xhi#18 ← phi( init_plot_tables/(byte[]) plot_xhi#0 init_plot_tables::@2/(byte[]) plot_xhi#8 ) (byte*) BITMAP#1 ← phi( init_plot_tables/(byte*) BITMAP#0 init_plot_tables::@2/(byte*) BITMAP#5 ) - (byte[]) plot_xlo#2 ← phi( init_plot_tables/(byte[]) plot_xlo#0 init_plot_tables::@2/(byte[]) plot_xlo#13 ) + (byte[]) plot_xlo#18 ← phi( init_plot_tables/(byte[]) plot_xlo#0 init_plot_tables::@2/(byte[]) plot_xlo#8 ) (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) 248 - *((byte[]) plot_xlo#2 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 + *((byte[]) plot_xlo#18 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 (byte~) init_plot_tables::$1 ← > (byte*) BITMAP#1 - *((byte[]) plot_xhi#2 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$1 - *((byte[]) plot_bit#2 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bit#3 + *((byte[]) plot_xhi#18 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$1 + *((byte[]) plot_bit#18 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bit#3 (byte) init_plot_tables::bit#1 ← (byte) init_plot_tables::bit#3 >> (byte) 1 (boolean~) init_plot_tables::$4 ← (byte) init_plot_tables::bit#1 != (byte) 0 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[]) plot_yhi#13 ← phi( init_plot_tables::@1/(byte[]) plot_yhi#25 init_plot_tables::@5/(byte[]) plot_yhi#25 ) - (byte[]) plot_ylo#13 ← phi( init_plot_tables::@1/(byte[]) plot_ylo#25 init_plot_tables::@5/(byte[]) plot_ylo#25 ) - (byte[]) plot_bit#13 ← phi( init_plot_tables::@1/(byte[]) plot_bit#2 init_plot_tables::@5/(byte[]) plot_bit#2 ) + (byte[]) plot_yhi#17 ← phi( init_plot_tables::@1/(byte[]) plot_yhi#35 init_plot_tables::@5/(byte[]) plot_yhi#35 ) + (byte[]) plot_ylo#17 ← phi( init_plot_tables::@1/(byte[]) plot_ylo#35 init_plot_tables::@5/(byte[]) plot_ylo#35 ) + (byte[]) plot_bit#8 ← phi( init_plot_tables::@1/(byte[]) plot_bit#18 init_plot_tables::@5/(byte[]) plot_bit#18 ) (byte) init_plot_tables::bit#4 ← phi( init_plot_tables::@1/(byte) init_plot_tables::bit#1 init_plot_tables::@5/(byte) init_plot_tables::bit#2 ) - (byte[]) plot_xhi#13 ← phi( init_plot_tables::@1/(byte[]) plot_xhi#2 init_plot_tables::@5/(byte[]) plot_xhi#2 ) + (byte[]) plot_xhi#8 ← phi( init_plot_tables::@1/(byte[]) plot_xhi#18 init_plot_tables::@5/(byte[]) plot_xhi#18 ) (byte*) BITMAP#5 ← phi( init_plot_tables::@1/(byte*) BITMAP#1 init_plot_tables::@5/(byte*) BITMAP#1 ) - (byte[]) plot_xlo#13 ← phi( init_plot_tables::@1/(byte[]) plot_xlo#2 init_plot_tables::@5/(byte[]) plot_xlo#2 ) + (byte[]) plot_xlo#8 ← phi( init_plot_tables::@1/(byte[]) plot_xlo#18 init_plot_tables::@5/(byte[]) plot_xlo#18 ) (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#2 ) (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#3 (boolean~) init_plot_tables::$5 ← (byte) init_plot_tables::x#1 != (byte) 0 @@ -4725,23 +7282,23 @@ init_plot_tables::@6: scope:[init_plot_tables] from init_plot_tables::@2 (byte) init_plot_tables::y#0 ← (byte) 0 to:init_plot_tables::@3 init_plot_tables::@3: scope:[init_plot_tables] from init_plot_tables::@4 init_plot_tables::@6 - (byte[]) plot_yhi#2 ← phi( init_plot_tables::@4/(byte[]) plot_yhi#12 init_plot_tables::@6/(byte[]) plot_yhi#13 ) - (byte[]) plot_ylo#2 ← phi( init_plot_tables::@4/(byte[]) plot_ylo#12 init_plot_tables::@6/(byte[]) plot_ylo#13 ) + (byte[]) plot_yhi#18 ← phi( init_plot_tables::@4/(byte[]) plot_yhi#7 init_plot_tables::@6/(byte[]) plot_yhi#17 ) + (byte[]) plot_ylo#18 ← phi( init_plot_tables::@4/(byte[]) plot_ylo#7 init_plot_tables::@6/(byte[]) plot_ylo#17 ) (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) 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[]) plot_ylo#2 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 + *((byte[]) plot_ylo#18 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 - *((byte[]) plot_yhi#2 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 + *((byte[]) plot_yhi#18 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 (boolean~) init_plot_tables::$12 ← (byte~) init_plot_tables::$10 != (byte) 7 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[]) plot_yhi#12 ← phi( init_plot_tables::@3/(byte[]) plot_yhi#2 init_plot_tables::@7/(byte[]) plot_yhi#2 ) - (byte[]) plot_ylo#12 ← phi( init_plot_tables::@3/(byte[]) plot_ylo#2 init_plot_tables::@7/(byte[]) plot_ylo#2 ) + (byte[]) plot_yhi#7 ← phi( init_plot_tables::@3/(byte[]) plot_yhi#18 init_plot_tables::@7/(byte[]) plot_yhi#18 ) + (byte[]) plot_ylo#7 ← phi( init_plot_tables::@3/(byte[]) plot_ylo#18 init_plot_tables::@7/(byte[]) plot_ylo#18 ) (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#2 ) (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#3 @@ -4782,60 +7339,117 @@ init_screen::@2: scope:[init_screen] from init_screen::@2 init_screen::@3 init_screen::@return: scope:[init_screen] from init_screen::@2 return to:@return -@7: scope:[] from @begin +@10: scope:[] from @begin call main param-assignment to:@end -@end: scope:[] from @7 +@end: scope:[] from @10 Not aliassing across scopes: line::x0#0 lines::$0 Not aliassing across scopes: line::x1#0 lines::$2 Not aliassing across scopes: line::y0#0 lines::$3 Not aliassing across scopes: line::y1#0 lines::$5 -Not aliassing across scopes: plot::x#0 line::x0#0 -Not aliassing across scopes: plot::y#0 line::y0#0 -Not aliassing across scopes: plot::x#1 line::x1#0 -Not aliassing across scopes: plot::y#1 line::y1#0 -Not aliassing across scopes: plot::x#2 line::x0#0 -Not aliassing across scopes: plot::y#2 line::y0#0 -Not aliassing across scopes: plot::x#3 line::x1#0 -Not aliassing across scopes: plot::y#3 line::y1#0 +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#0 -Not aliassing across scopes: plot::x#4 line::x0#0 -Not aliassing across scopes: plot::y#4 line::y0#0 -Not aliassing across scopes: plot::x#5 line::x1#0 -Not aliassing across scopes: plot::y#5 line::y1#0 -Not aliassing across scopes: plot::x#6 line::x0#0 -Not aliassing across scopes: plot::y#6 line::y0#0 -Not aliassing across scopes: plot::x#7 line::x1#0 -Not aliassing across scopes: plot::y#7 line::y1#0 -Not aliassing across scopes: plot::x#8 line_xdyi::x#2 -Not aliassing across scopes: plot::y#8 line_xdyi::y#2 +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: plot::x#0 line_xdyi::x#3 +Not aliassing across scopes: plot::y#0 line_xdyi::y#3 +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: plot::x#2 line_ydxi::x#3 +Not aliassing across scopes: plot::y#2 line_ydxi::y#3 +Not aliassing across scopes: plot::x#3 line_ydxd::x#3 +Not aliassing across scopes: plot::y#3 line_ydxd::y#3 Not aliassing across scopes: init_screen::b#0 BITMAP#0 Not aliassing across scopes: init_screen::c#0 SCREEN#1 Not aliassing identity: SCREEN#2 SCREEN#2 -Alias (byte) line_xdyi::x1#1 = (byte) line_xdyi::x1#2 -Alias (byte) line_xdyi::x#1 = (byte) line_xdyi::x#4 -Alias (byte) line_xdyi::yd#2 = (byte) line_xdyi::yd#4 -Alias (byte) line_xdyi::xd#1 = (byte) line_xdyi::xd#5 -Alias (byte[]) plot_xhi#11 = (byte[]) plot_xhi#18 -Alias (byte[]) plot_xlo#11 = (byte[]) plot_xlo#18 -Alias (byte[]) plot_yhi#11 = (byte[]) plot_yhi#18 -Alias (byte[]) plot_ylo#11 = (byte[]) plot_ylo#18 -Alias (byte[]) plot_bit#11 = (byte[]) plot_bit#18 +Alias (byte[]) plot_xhi#11 = (byte[]) plot_xhi#9 (byte[]) plot_xhi#20 (byte[]) plot_xhi#13 (byte[]) plot_xhi#15 +Alias (byte[]) plot_xlo#11 = (byte[]) plot_xlo#9 (byte[]) plot_xlo#20 (byte[]) plot_xlo#13 (byte[]) plot_xlo#15 +Alias (byte[]) plot_yhi#11 = (byte[]) plot_yhi#9 (byte[]) plot_yhi#19 (byte[]) plot_yhi#13 (byte[]) plot_yhi#15 +Alias (byte[]) plot_ylo#11 = (byte[]) plot_ylo#9 (byte[]) plot_ylo#19 (byte[]) plot_ylo#13 (byte[]) plot_ylo#15 +Alias (byte[]) plot_bit#11 = (byte[]) plot_bit#9 (byte[]) plot_bit#20 (byte[]) plot_bit#13 (byte[]) plot_bit#15 +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[]) plot_xhi#10 = (byte[]) plot_xhi#22 +Alias (byte[]) plot_xlo#10 = (byte[]) plot_xlo#22 +Alias (byte[]) plot_yhi#10 = (byte[]) plot_yhi#21 +Alias (byte[]) plot_ylo#10 = (byte[]) plot_ylo#21 +Alias (byte[]) plot_bit#10 = (byte[]) plot_bit#22 +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[]) plot_xhi#12 = (byte[]) plot_xhi#26 +Alias (byte[]) plot_xlo#12 = (byte[]) plot_xlo#26 +Alias (byte[]) plot_yhi#12 = (byte[]) plot_yhi#25 +Alias (byte[]) plot_ylo#12 = (byte[]) plot_ylo#25 +Alias (byte[]) plot_bit#12 = (byte[]) plot_bit#26 +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[]) plot_xhi#14 = (byte[]) plot_xhi#30 +Alias (byte[]) plot_xlo#14 = (byte[]) plot_xlo#30 +Alias (byte[]) plot_yhi#14 = (byte[]) plot_yhi#29 +Alias (byte[]) plot_ylo#14 = (byte[]) plot_ylo#29 +Alias (byte[]) plot_bit#14 = (byte[]) plot_bit#30 +Alias (byte) line_ydxd::y1#2 = (byte) line_ydxd::y1#3 +Alias (byte) line_ydxd::y#2 = (byte) line_ydxd::y#5 +Alias (byte) line_ydxd::xd#3 = (byte) line_ydxd::xd#5 +Alias (byte) line_ydxd::yd#2 = (byte) line_ydxd::yd#6 +Alias (byte[]) plot_xhi#16 = (byte[]) plot_xhi#34 +Alias (byte[]) plot_xlo#16 = (byte[]) plot_xlo#34 +Alias (byte[]) plot_yhi#16 = (byte[]) plot_yhi#33 +Alias (byte[]) plot_ylo#16 = (byte[]) plot_ylo#33 +Alias (byte[]) plot_bit#16 = (byte[]) plot_bit#34 Alias (byte) init_plot_tables::x#2 = (byte) init_plot_tables::x#3 -Alias (byte[]) plot_xlo#13 = (byte[]) plot_xlo#2 +Alias (byte[]) plot_xlo#18 = (byte[]) plot_xlo#8 Alias (byte*) BITMAP#1 = (byte*) BITMAP#5 -Alias (byte[]) plot_xhi#13 = (byte[]) plot_xhi#2 -Alias (byte[]) plot_bit#13 = (byte[]) plot_bit#2 -Alias (byte[]) plot_ylo#13 = (byte[]) plot_ylo#25 -Alias (byte[]) plot_yhi#13 = (byte[]) plot_yhi#25 +Alias (byte[]) plot_xhi#18 = (byte[]) plot_xhi#8 +Alias (byte[]) plot_bit#18 = (byte[]) plot_bit#8 +Alias (byte[]) plot_ylo#17 = (byte[]) plot_ylo#35 +Alias (byte[]) plot_yhi#17 = (byte[]) plot_yhi#35 Alias (byte) init_plot_tables::y#2 = (byte) init_plot_tables::y#3 -Alias (byte[]) plot_ylo#12 = (byte[]) plot_ylo#2 -Alias (byte[]) plot_yhi#12 = (byte[]) plot_yhi#2 +Alias (byte[]) plot_ylo#18 = (byte[]) plot_ylo#7 +Alias (byte[]) plot_yhi#18 = (byte[]) plot_yhi#7 Succesful SSA optimization Pass2AliasElimination CONTROL FLOW GRAPH @begin: scope:[] from @@ -4863,8 +7477,8 @@ CONTROL FLOW GRAPH (byte[]) lines_x#0 ← { (byte) 60, (byte) 80, (byte) 110, (byte) 80, (byte) 60, (byte) 40, (byte) 10, (byte) 40, (byte) 60 } (byte[]) lines_y#0 ← { (byte) 10, (byte) 40, (byte) 60, (byte) 80, (byte) 110, (byte) 80, (byte) 60, (byte) 40, (byte) 10 } (byte) lines_cnt#0 ← (byte) 8 - to:@7 -main: scope:[main] from @7 + to:@10 +main: scope:[main] from @10 *((byte*) BGCOL#0) ← (byte) 0 *((byte*) FGCOL#0) ← (byte) 0 (byte~) main::$0 ← (byte) BMM#0 | (byte) DEN#0 @@ -4880,11 +7494,11 @@ main::@3: scope:[main] from main main::@4: scope:[main] from main::@3 to:main::@1 main::@1: scope:[main] from main::@4 main::@5 - (byte[]) plot_bit#28 ← phi( main::@4/(byte[]) plot_bit#0 main::@5/(byte[]) plot_bit#28 ) - (byte[]) plot_ylo#29 ← phi( main::@4/(byte[]) plot_ylo#0 main::@5/(byte[]) plot_ylo#29 ) - (byte[]) plot_yhi#29 ← phi( main::@4/(byte[]) plot_yhi#0 main::@5/(byte[]) plot_yhi#29 ) - (byte[]) plot_xlo#28 ← phi( main::@4/(byte[]) plot_xlo#0 main::@5/(byte[]) plot_xlo#28 ) - (byte[]) plot_xhi#28 ← phi( main::@4/(byte[]) plot_xhi#0 main::@5/(byte[]) plot_xhi#28 ) + (byte[]) plot_bit#45 ← phi( main::@4/(byte[]) plot_bit#0 main::@5/(byte[]) plot_bit#45 ) + (byte[]) plot_ylo#49 ← phi( main::@4/(byte[]) plot_ylo#0 main::@5/(byte[]) plot_ylo#49 ) + (byte[]) plot_yhi#49 ← phi( main::@4/(byte[]) plot_yhi#0 main::@5/(byte[]) plot_yhi#49 ) + (byte[]) plot_xlo#45 ← phi( main::@4/(byte[]) plot_xlo#0 main::@5/(byte[]) plot_xlo#45 ) + (byte[]) plot_xhi#45 ← phi( main::@4/(byte[]) plot_xhi#0 main::@5/(byte[]) plot_xhi#45 ) (byte) lines_cnt#3 ← phi( main::@4/(byte) lines_cnt#0 main::@5/(byte) lines_cnt#3 ) (byte[]) lines_y#2 ← phi( main::@4/(byte[]) lines_y#0 main::@5/(byte[]) lines_y#2 ) (byte[]) lines_x#2 ← phi( main::@4/(byte[]) lines_x#0 main::@5/(byte[]) lines_x#2 ) @@ -4900,11 +7514,11 @@ lines: scope:[lines] from main::@1 (byte) lines::l#0 ← (byte) 0 to:lines::@1 lines::@1: scope:[lines] from lines lines::@3 - (byte[]) plot_bit#10 ← phi( lines/(byte[]) plot_bit#28 lines::@3/(byte[]) plot_bit#10 ) - (byte[]) plot_ylo#10 ← phi( lines/(byte[]) plot_ylo#29 lines::@3/(byte[]) plot_ylo#10 ) - (byte[]) plot_yhi#10 ← phi( lines/(byte[]) plot_yhi#29 lines::@3/(byte[]) plot_yhi#10 ) - (byte[]) plot_xlo#10 ← phi( lines/(byte[]) plot_xlo#28 lines::@3/(byte[]) plot_xlo#10 ) - (byte[]) plot_xhi#10 ← phi( lines/(byte[]) plot_xhi#28 lines::@3/(byte[]) plot_xhi#10 ) + (byte[]) plot_bit#11 ← phi( lines/(byte[]) plot_bit#45 lines::@3/(byte[]) plot_bit#11 ) + (byte[]) plot_ylo#11 ← phi( lines/(byte[]) plot_ylo#49 lines::@3/(byte[]) plot_ylo#11 ) + (byte[]) plot_yhi#11 ← phi( lines/(byte[]) plot_yhi#49 lines::@3/(byte[]) plot_yhi#11 ) + (byte[]) plot_xlo#11 ← phi( lines/(byte[]) plot_xlo#45 lines::@3/(byte[]) plot_xlo#11 ) + (byte[]) plot_xhi#11 ← phi( lines/(byte[]) plot_xhi#45 lines::@3/(byte[]) plot_xhi#11 ) (byte) lines_cnt#1 ← phi( lines/(byte) lines_cnt#3 lines::@3/(byte) lines_cnt#1 ) (byte[]) lines_y#1 ← phi( lines/(byte[]) lines_y#2 lines::@3/(byte[]) lines_y#1 ) (byte) lines::l#2 ← phi( lines/(byte) lines::l#0 lines::@3/(byte) lines::l#1 ) @@ -4932,133 +7546,301 @@ lines::@return: scope:[lines] from lines::@3 line: scope:[line] from lines::@1 (boolean~) line::$1 ← (byte) line::x0#0 >= (byte) line::x1#0 if((boolean~) line::$1) goto line::@1 - to:line::@9 -line::@1: scope:[line] from line - (byte) line::xd#0 ← (byte) line::x1#0 - (byte) line::x0#0 - (boolean~) line::$15 ← (byte) line::y0#0 >= (byte) line::y1#0 - if((boolean~) line::$15) goto line::@7 to:line::@15 -line::@9: scope:[line] from line +line::@1: scope:[line] from line + (byte) line::xd#0 ← (byte) line::x0#0 - (byte) line::x1#0 + (boolean~) line::$17 ← (byte) line::y0#0 >= (byte) line::y1#0 + if((boolean~) line::$17) goto line::@9 + to:line::@23 +line::@15: scope:[line] from line (byte) line::xd#1 ← (byte) line::x1#0 - (byte) line::x0#0 (boolean~) line::$4 ← (byte) line::y0#0 >= (byte) line::y1#0 if((boolean~) line::$4) goto line::@2 - to:line::@10 -line::@2: scope:[line] from line::@9 - (byte) plot::x#0 ← (byte) line::x0#0 - (byte) plot::y#0 ← (byte) line::y0#0 - call plot param-assignment - to:line::@17 -line::@17: scope:[line] from line::@2 - (byte) plot::x#1 ← (byte) line::x1#0 - (byte) plot::y#1 ← (byte) line::y1#0 - call plot param-assignment - to:line::@return -line::@10: scope:[line] from line::@9 - (byte) line::yd#0 ← (byte) line::y1#0 - (byte) line::y0#0 - (boolean~) line::$7 ← (byte) line::yd#0 >= (byte) line::xd#1 + to:line::@16 +line::@2: scope:[line] from line::@15 + (byte) line::yd#0 ← (byte) line::y0#0 - (byte) line::y1#0 + (boolean~) line::$12 ← (byte) line::yd#0 >= (byte) line::xd#1 + if((boolean~) line::$12) goto line::@6 + to:line::@20 +line::@16: scope:[line] from line::@15 + (byte) line::yd#1 ← (byte) line::y1#0 - (byte) line::y0#0 + (boolean~) line::$7 ← (byte) line::yd#1 >= (byte) line::xd#1 if((boolean~) line::$7) goto line::@3 - to:line::@11 -line::@3: scope:[line] from line::@10 - (byte) plot::x#2 ← (byte) line::x0#0 - (byte) plot::y#2 ← (byte) line::y0#0 - call plot param-assignment - to:line::@19 -line::@19: scope:[line] from line::@3 - (byte) plot::x#3 ← (byte) line::x1#0 - (byte) plot::y#3 ← (byte) line::y1#0 - call plot param-assignment + to:line::@17 +line::@3: scope:[line] from line::@16 + (byte) line_ydxi::y#0 ← (byte) line::y0#0 + (byte) line_ydxi::x#0 ← (byte) line::x0#0 + (byte) line_ydxi::y1#0 ← (byte) line::y1#0 + (byte) line_ydxi::yd#0 ← (byte) line::yd#1 + (byte) line_ydxi::xd#0 ← (byte) line::xd#1 + call line_ydxi param-assignment to:line::@return -line::@11: scope:[line] from line::@10 +line::@17: scope:[line] from line::@16 (byte) line_xdyi::x#0 ← (byte) line::x0#0 (byte) line_xdyi::y#0 ← (byte) line::y0#0 (byte) line_xdyi::x1#0 ← (byte) line::x1#0 (byte) line_xdyi::xd#0 ← (byte) line::xd#1 - (byte) line_xdyi::yd#0 ← (byte) line::yd#0 + (byte) line_xdyi::yd#0 ← (byte) line::yd#1 call line_xdyi param-assignment to:line::@return -line::@7: scope:[line] from line::@1 - (byte) plot::x#4 ← (byte) line::x0#0 - (byte) plot::y#4 ← (byte) line::y0#0 - call plot param-assignment - to:line::@22 -line::@22: scope:[line] from line::@7 - (byte) plot::x#5 ← (byte) line::x1#0 - (byte) plot::y#5 ← (byte) line::y1#0 - call plot param-assignment +line::@6: scope:[line] from line::@2 + (byte) line_ydxd::y#0 ← (byte) line::y1#0 + (byte) line_ydxd::x#0 ← (byte) line::x1#0 + (byte) line_ydxd::y1#0 ← (byte) line::y0#0 + (byte) line_ydxd::yd#0 ← (byte) line::yd#0 + (byte) line_ydxd::xd#0 ← (byte) line::xd#1 + call line_ydxd param-assignment to:line::@return -line::@15: scope:[line] from line::@1 - (byte) plot::x#6 ← (byte) line::x0#0 - (byte) plot::y#6 ← (byte) line::y0#0 - call plot param-assignment +line::@20: scope:[line] from line::@2 + (byte) line_xdyd::x#0 ← (byte) line::x0#0 + (byte) line_xdyd::y#0 ← (byte) line::y0#0 + (byte) line_xdyd::x1#0 ← (byte) line::x1#0 + (byte) line_xdyd::xd#0 ← (byte) line::xd#1 + (byte) line_xdyd::yd#0 ← (byte) line::yd#0 + call line_xdyd param-assignment + to:line::@return +line::@9: scope:[line] from line::@1 + (byte) line::yd#10 ← (byte) line::y0#0 - (byte) line::y1#0 + (boolean~) line::$25 ← (byte) line::yd#10 >= (byte) line::xd#0 + if((boolean~) line::$25) goto line::@13 + to:line::@27 +line::@23: scope:[line] from line::@1 + (byte) line::yd#3 ← (byte) line::y1#0 - (byte) line::y0#0 + (boolean~) line::$20 ← (byte) line::yd#3 >= (byte) line::xd#0 + if((boolean~) line::$20) goto line::@10 to:line::@24 -line::@24: scope:[line] from line::@15 - (byte) plot::x#7 ← (byte) line::x1#0 - (byte) plot::y#7 ← (byte) line::y1#0 - call plot param-assignment +line::@10: scope:[line] from line::@23 + (byte) line_ydxd::y#1 ← (byte) line::y0#0 + (byte) line_ydxd::x#1 ← (byte) line::x0#0 + (byte) line_ydxd::y1#1 ← (byte) line::y1#0 + (byte) line_ydxd::yd#1 ← (byte) line::yd#3 + (byte) line_ydxd::xd#1 ← (byte) line::xd#0 + call line_ydxd param-assignment to:line::@return -line::@return: scope:[line] from line::@11 line::@17 line::@19 line::@22 line::@24 +line::@24: scope:[line] from line::@23 + (byte) line_xdyd::x#1 ← (byte) line::x1#0 + (byte) line_xdyd::y#1 ← (byte) line::y1#0 + (byte) line_xdyd::x1#1 ← (byte) line::x0#0 + (byte) line_xdyd::xd#1 ← (byte) line::xd#0 + (byte) line_xdyd::yd#1 ← (byte) line::yd#3 + call line_xdyd param-assignment + to:line::@return +line::@13: scope:[line] from line::@9 + (byte) line_ydxi::y#1 ← (byte) line::y1#0 + (byte) line_ydxi::x#1 ← (byte) line::x1#0 + (byte) line_ydxi::y1#1 ← (byte) line::y0#0 + (byte) line_ydxi::yd#1 ← (byte) line::yd#10 + (byte) line_ydxi::xd#1 ← (byte) line::xd#0 + call line_ydxi param-assignment + to:line::@return +line::@27: scope:[line] from line::@9 + (byte) line_xdyi::x#1 ← (byte) line::x1#0 + (byte) line_xdyi::y#1 ← (byte) line::y1#0 + (byte) line_xdyi::x1#1 ← (byte) line::x0#0 + (byte) line_xdyi::xd#1 ← (byte) line::xd#0 + (byte) line_xdyi::yd#1 ← (byte) line::yd#10 + call line_xdyi param-assignment + to:line::@return +line::@return: scope:[line] from line::@10 line::@13 line::@17 line::@20 line::@24 line::@27 line::@3 line::@6 return to:@return -line_xdyi: scope:[line_xdyi] from line::@11 - (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#0 >> (byte) 1 +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::e#0 ← (byte) line_xdyi::yd#2 >> (byte) 1 to:line_xdyi::@1 line_xdyi::@1: scope:[line_xdyi] from line_xdyi line_xdyi::@2 - (byte) line_xdyi::x1#1 ← phi( line_xdyi/(byte) line_xdyi::x1#0 line_xdyi::@2/(byte) line_xdyi::x1#1 ) - (byte[]) plot_bit#11 ← phi( line_xdyi/(byte[]) plot_bit#10 line_xdyi::@2/(byte[]) plot_bit#11 ) - (byte[]) plot_ylo#11 ← phi( line_xdyi/(byte[]) plot_ylo#10 line_xdyi::@2/(byte[]) plot_ylo#11 ) - (byte[]) plot_yhi#11 ← phi( line_xdyi/(byte[]) plot_yhi#10 line_xdyi::@2/(byte[]) plot_yhi#11 ) - (byte[]) plot_xlo#11 ← phi( line_xdyi/(byte[]) plot_xlo#10 line_xdyi::@2/(byte[]) plot_xlo#11 ) - (byte[]) plot_xhi#11 ← phi( line_xdyi/(byte[]) plot_xhi#10 line_xdyi::@2/(byte[]) plot_xhi#11 ) - (byte) line_xdyi::xd#1 ← phi( line_xdyi/(byte) line_xdyi::xd#0 line_xdyi::@2/(byte) line_xdyi::xd#1 ) - (byte) line_xdyi::yd#2 ← phi( line_xdyi/(byte) line_xdyi::yd#0 line_xdyi::@2/(byte) line_xdyi::yd#2 ) + (byte) line_xdyi::x1#2 ← phi( line_xdyi/(byte) line_xdyi::x1#6 line_xdyi::@2/(byte) line_xdyi::x1#2 ) + (byte[]) plot_bit#10 ← phi( line_xdyi/(byte[]) plot_bit#11 line_xdyi::@2/(byte[]) plot_bit#10 ) + (byte[]) plot_ylo#10 ← phi( line_xdyi/(byte[]) plot_ylo#11 line_xdyi::@2/(byte[]) plot_ylo#10 ) + (byte[]) plot_yhi#10 ← phi( line_xdyi/(byte[]) plot_yhi#11 line_xdyi::@2/(byte[]) plot_yhi#10 ) + (byte[]) plot_xlo#10 ← phi( line_xdyi/(byte[]) plot_xlo#11 line_xdyi::@2/(byte[]) plot_xlo#10 ) + (byte[]) plot_xhi#10 ← phi( line_xdyi/(byte[]) plot_xhi#11 line_xdyi::@2/(byte[]) plot_xhi#10 ) + (byte) line_xdyi::xd#2 ← phi( line_xdyi/(byte) line_xdyi::xd#5 line_xdyi::@2/(byte) line_xdyi::xd#2 ) + (byte) line_xdyi::yd#3 ← phi( line_xdyi/(byte) line_xdyi::yd#2 line_xdyi::@2/(byte) line_xdyi::yd#3 ) (byte) line_xdyi::e#3 ← phi( line_xdyi/(byte) line_xdyi::e#0 line_xdyi::@2/(byte) line_xdyi::e#6 ) - (byte) line_xdyi::y#2 ← phi( line_xdyi/(byte) line_xdyi::y#0 line_xdyi::@2/(byte) line_xdyi::y#5 ) - (byte) line_xdyi::x#2 ← phi( line_xdyi/(byte) line_xdyi::x#0 line_xdyi::@2/(byte) line_xdyi::x#1 ) - (byte) plot::x#8 ← (byte) line_xdyi::x#2 - (byte) plot::y#8 ← (byte) line_xdyi::y#2 + (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#2 ) + (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::x#1 ← (byte) line_xdyi::x#2 + (byte) 1 - (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#2 - (boolean~) line_xdyi::$5 ← (byte) line_xdyi::xd#1 >= (byte) line_xdyi::e#1 + (byte) line_xdyi::x#2 ← (byte) line_xdyi::x#3 + (byte) 1 + (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#3 + (boolean~) line_xdyi::$5 ← (byte) line_xdyi::xd#2 >= (byte) line_xdyi::e#1 if((boolean~) line_xdyi::$5) goto line_xdyi::@2 to:line_xdyi::@3 line_xdyi::@2: scope:[line_xdyi] from line_xdyi::@3 line_xdyi::@5 (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#5 ← phi( line_xdyi::@3/(byte) line_xdyi::y#1 line_xdyi::@5/(byte) line_xdyi::y#2 ) - (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#1 + (byte) 1 - (boolean~) line_xdyi::$9 ← (byte) line_xdyi::x#1 < (byte~) line_xdyi::$8 + (byte) line_xdyi::y#6 ← phi( line_xdyi::@3/(byte) line_xdyi::y#2 line_xdyi::@5/(byte) line_xdyi::y#3 ) + (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#2 + (byte) 1 + (boolean~) line_xdyi::$9 ← (byte) line_xdyi::x#2 < (byte~) line_xdyi::$8 if((boolean~) line_xdyi::$9) goto line_xdyi::@1 to:line_xdyi::@return line_xdyi::@3: scope:[line_xdyi] from line_xdyi::@5 - (byte) line_xdyi::y#1 ← (byte) line_xdyi::y#2 + (byte) 1 - (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#1 + (byte) line_xdyi::y#2 ← (byte) line_xdyi::y#3 + (byte) 1 + (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#2 to:line_xdyi::@2 line_xdyi::@return: scope:[line_xdyi] from line_xdyi::@2 return to:@return -plot: scope:[plot] from line::@15 line::@17 line::@19 line::@2 line::@22 line::@24 line::@3 line::@7 line_xdyi::@1 - (byte[]) plot_bit#1 ← phi( line::@15/(byte[]) plot_bit#10 line::@17/(byte[]) plot_bit#10 line::@19/(byte[]) plot_bit#10 line::@2/(byte[]) plot_bit#10 line::@22/(byte[]) plot_bit#10 line::@24/(byte[]) plot_bit#10 line::@3/(byte[]) plot_bit#10 line::@7/(byte[]) plot_bit#10 line_xdyi::@1/(byte[]) plot_bit#11 ) - (byte[]) plot_ylo#1 ← phi( line::@15/(byte[]) plot_ylo#10 line::@17/(byte[]) plot_ylo#10 line::@19/(byte[]) plot_ylo#10 line::@2/(byte[]) plot_ylo#10 line::@22/(byte[]) plot_ylo#10 line::@24/(byte[]) plot_ylo#10 line::@3/(byte[]) plot_ylo#10 line::@7/(byte[]) plot_ylo#10 line_xdyi::@1/(byte[]) plot_ylo#11 ) - (byte) plot::y#9 ← phi( line::@15/(byte) plot::y#6 line::@17/(byte) plot::y#1 line::@19/(byte) plot::y#3 line::@2/(byte) plot::y#0 line::@22/(byte) plot::y#5 line::@24/(byte) plot::y#7 line::@3/(byte) plot::y#2 line::@7/(byte) plot::y#4 line_xdyi::@1/(byte) plot::y#8 ) - (byte[]) plot_yhi#1 ← phi( line::@15/(byte[]) plot_yhi#10 line::@17/(byte[]) plot_yhi#10 line::@19/(byte[]) plot_yhi#10 line::@2/(byte[]) plot_yhi#10 line::@22/(byte[]) plot_yhi#10 line::@24/(byte[]) plot_yhi#10 line::@3/(byte[]) plot_yhi#10 line::@7/(byte[]) plot_yhi#10 line_xdyi::@1/(byte[]) plot_yhi#11 ) - (byte[]) plot_xlo#1 ← phi( line::@15/(byte[]) plot_xlo#10 line::@17/(byte[]) plot_xlo#10 line::@19/(byte[]) plot_xlo#10 line::@2/(byte[]) plot_xlo#10 line::@22/(byte[]) plot_xlo#10 line::@24/(byte[]) plot_xlo#10 line::@3/(byte[]) plot_xlo#10 line::@7/(byte[]) plot_xlo#10 line_xdyi::@1/(byte[]) plot_xlo#11 ) - (byte) plot::x#9 ← phi( line::@15/(byte) plot::x#6 line::@17/(byte) plot::x#1 line::@19/(byte) plot::x#3 line::@2/(byte) plot::x#0 line::@22/(byte) plot::x#5 line::@24/(byte) plot::x#7 line::@3/(byte) plot::x#2 line::@7/(byte) plot::x#4 line_xdyi::@1/(byte) plot::x#8 ) - (byte[]) plot_xhi#1 ← phi( line::@15/(byte[]) plot_xhi#10 line::@17/(byte[]) plot_xhi#10 line::@19/(byte[]) plot_xhi#10 line::@2/(byte[]) plot_xhi#10 line::@22/(byte[]) plot_xhi#10 line::@24/(byte[]) plot_xhi#10 line::@3/(byte[]) plot_xhi#10 line::@7/(byte[]) plot_xhi#10 line_xdyi::@1/(byte[]) plot_xhi#11 ) +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::e#0 ← (byte) line_xdyd::yd#2 >> (byte) 1 + to:line_xdyd::@1 +line_xdyd::@1: scope:[line_xdyd] from line_xdyd line_xdyd::@2 + (byte) line_xdyd::x1#2 ← phi( line_xdyd/(byte) line_xdyd::x1#6 line_xdyd::@2/(byte) line_xdyd::x1#2 ) + (byte[]) plot_bit#12 ← phi( line_xdyd/(byte[]) plot_bit#11 line_xdyd::@2/(byte[]) plot_bit#12 ) + (byte[]) plot_ylo#12 ← phi( line_xdyd/(byte[]) plot_ylo#11 line_xdyd::@2/(byte[]) plot_ylo#12 ) + (byte[]) plot_yhi#12 ← phi( line_xdyd/(byte[]) plot_yhi#11 line_xdyd::@2/(byte[]) plot_yhi#12 ) + (byte[]) plot_xlo#12 ← phi( line_xdyd/(byte[]) plot_xlo#11 line_xdyd::@2/(byte[]) plot_xlo#12 ) + (byte[]) plot_xhi#12 ← phi( line_xdyd/(byte[]) plot_xhi#11 line_xdyd::@2/(byte[]) plot_xhi#12 ) + (byte) line_xdyd::xd#2 ← phi( line_xdyd/(byte) line_xdyd::xd#5 line_xdyd::@2/(byte) line_xdyd::xd#2 ) + (byte) line_xdyd::yd#3 ← phi( line_xdyd/(byte) line_xdyd::yd#2 line_xdyd::@2/(byte) line_xdyd::yd#3 ) + (byte) line_xdyd::e#3 ← 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#2 ) + (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::x#2 ← (byte) line_xdyd::x#3 + (byte) 1 + (byte) line_xdyd::e#1 ← (byte) line_xdyd::e#3 + (byte) line_xdyd::yd#3 + (boolean~) line_xdyd::$5 ← (byte) line_xdyd::xd#2 >= (byte) line_xdyd::e#1 + if((boolean~) line_xdyd::$5) goto line_xdyd::@2 + to:line_xdyd::@3 +line_xdyd::@2: scope:[line_xdyd] from line_xdyd::@3 line_xdyd::@5 + (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#3 ) + (byte~) line_xdyd::$8 ← (byte) line_xdyd::x1#2 + (byte) 1 + (boolean~) line_xdyd::$9 ← (byte) line_xdyd::x#2 < (byte~) line_xdyd::$8 + if((boolean~) line_xdyd::$9) goto line_xdyd::@1 + to:line_xdyd::@return +line_xdyd::@3: scope:[line_xdyd] from line_xdyd::@5 + (byte) line_xdyd::y#2 ← (byte) line_xdyd::y#3 - (byte) 1 + (byte) line_xdyd::e#2 ← (byte) line_xdyd::e#1 - (byte) line_xdyd::xd#2 + 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::e#0 ← (byte) line_ydxi::xd#2 >> (byte) 1 + to:line_ydxi::@1 +line_ydxi::@1: scope:[line_ydxi] from line_ydxi line_ydxi::@2 + (byte) line_ydxi::y1#2 ← phi( line_ydxi/(byte) line_ydxi::y1#6 line_ydxi::@2/(byte) line_ydxi::y1#2 ) + (byte[]) plot_bit#14 ← phi( line_ydxi/(byte[]) plot_bit#11 line_ydxi::@2/(byte[]) plot_bit#14 ) + (byte[]) plot_ylo#14 ← phi( line_ydxi/(byte[]) plot_ylo#11 line_ydxi::@2/(byte[]) plot_ylo#14 ) + (byte[]) plot_yhi#14 ← phi( line_ydxi/(byte[]) plot_yhi#11 line_ydxi::@2/(byte[]) plot_yhi#14 ) + (byte[]) plot_xlo#14 ← phi( line_ydxi/(byte[]) plot_xlo#11 line_ydxi::@2/(byte[]) plot_xlo#14 ) + (byte[]) plot_xhi#14 ← phi( line_ydxi/(byte[]) plot_xhi#11 line_ydxi::@2/(byte[]) plot_xhi#14 ) + (byte) line_ydxi::yd#2 ← phi( line_ydxi/(byte) line_ydxi::yd#5 line_ydxi::@2/(byte) line_ydxi::yd#2 ) + (byte) line_ydxi::xd#3 ← phi( line_ydxi/(byte) line_ydxi::xd#2 line_ydxi::@2/(byte) line_ydxi::xd#3 ) + (byte) line_ydxi::e#3 ← 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#2 ) + (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::y#2 ← (byte) line_ydxi::y#3 + (byte) 1 + (byte) line_ydxi::e#1 ← (byte) line_ydxi::e#3 + (byte) line_ydxi::xd#3 + (boolean~) line_ydxi::$5 ← (byte) line_ydxi::yd#2 >= (byte) line_ydxi::e#1 + if((boolean~) line_ydxi::$5) goto line_ydxi::@2 + to:line_ydxi::@3 +line_ydxi::@2: scope:[line_ydxi] from line_ydxi::@3 line_ydxi::@5 + (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#3 ) + (byte~) line_ydxi::$8 ← (byte) line_ydxi::y1#2 + (byte) 1 + (boolean~) line_ydxi::$9 ← (byte) line_ydxi::y#2 < (byte~) line_ydxi::$8 + if((boolean~) line_ydxi::$9) goto line_ydxi::@1 + to:line_ydxi::@return +line_ydxi::@3: scope:[line_ydxi] from line_ydxi::@5 + (byte) line_ydxi::x#2 ← (byte) line_ydxi::x#3 + (byte) 1 + (byte) line_ydxi::e#2 ← (byte) line_ydxi::e#1 - (byte) line_ydxi::yd#2 + 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#6 ← 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::e#0 ← (byte) line_ydxd::xd#2 >> (byte) 1 + to:line_ydxd::@1 +line_ydxd::@1: scope:[line_ydxd] from line_ydxd line_ydxd::@2 + (byte) line_ydxd::y1#2 ← phi( line_ydxd/(byte) line_ydxd::y1#6 line_ydxd::@2/(byte) line_ydxd::y1#2 ) + (byte[]) plot_bit#16 ← phi( line_ydxd/(byte[]) plot_bit#11 line_ydxd::@2/(byte[]) plot_bit#16 ) + (byte[]) plot_ylo#16 ← phi( line_ydxd/(byte[]) plot_ylo#11 line_ydxd::@2/(byte[]) plot_ylo#16 ) + (byte[]) plot_yhi#16 ← phi( line_ydxd/(byte[]) plot_yhi#11 line_ydxd::@2/(byte[]) plot_yhi#16 ) + (byte[]) plot_xlo#16 ← phi( line_ydxd/(byte[]) plot_xlo#11 line_ydxd::@2/(byte[]) plot_xlo#16 ) + (byte[]) plot_xhi#16 ← phi( line_ydxd/(byte[]) plot_xhi#11 line_ydxd::@2/(byte[]) plot_xhi#16 ) + (byte) line_ydxd::yd#2 ← phi( line_ydxd/(byte) line_ydxd::yd#5 line_ydxd::@2/(byte) line_ydxd::yd#2 ) + (byte) line_ydxd::xd#3 ← phi( line_ydxd/(byte) line_ydxd::xd#2 line_ydxd::@2/(byte) line_ydxd::xd#3 ) + (byte) line_ydxd::e#3 ← phi( line_ydxd/(byte) line_ydxd::e#0 line_ydxd::@2/(byte) line_ydxd::e#6 ) + (byte) line_ydxd::y#3 ← phi( line_ydxd/(byte) line_ydxd::y#6 line_ydxd::@2/(byte) line_ydxd::y#2 ) + (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#3 + call plot param-assignment + to:line_ydxd::@5 +line_ydxd::@5: scope:[line_ydxd] from line_ydxd::@1 + (byte) line_ydxd::y#2 ← (byte) line_ydxd::y#3 + (byte) 1 + (byte) line_ydxd::e#1 ← (byte) line_ydxd::e#3 + (byte) line_ydxd::xd#3 + (boolean~) line_ydxd::$5 ← (byte) line_ydxd::yd#2 >= (byte) line_ydxd::e#1 + if((boolean~) line_ydxd::$5) goto line_ydxd::@2 + to:line_ydxd::@3 +line_ydxd::@2: scope:[line_ydxd] from line_ydxd::@3 line_ydxd::@5 + (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#3 ) + (byte~) line_ydxd::$8 ← (byte) line_ydxd::y1#2 + (byte) 1 + (boolean~) line_ydxd::$9 ← (byte) line_ydxd::y#2 < (byte~) line_ydxd::$8 + if((boolean~) line_ydxd::$9) goto line_ydxd::@1 + to:line_ydxd::@return +line_ydxd::@3: scope:[line_ydxd] from line_ydxd::@5 + (byte) line_ydxd::x#2 ← (byte) line_ydxd::x#3 - (byte) 1 + (byte) line_ydxd::e#2 ← (byte) line_ydxd::e#1 - (byte) line_ydxd::yd#2 + 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_bit#1 ← phi( line_xdyd::@1/(byte[]) plot_bit#12 line_xdyi::@1/(byte[]) plot_bit#10 line_ydxd::@1/(byte[]) plot_bit#16 line_ydxi::@1/(byte[]) plot_bit#14 ) + (byte[]) plot_ylo#1 ← phi( line_xdyd::@1/(byte[]) plot_ylo#12 line_xdyi::@1/(byte[]) plot_ylo#10 line_ydxd::@1/(byte[]) plot_ylo#16 line_ydxi::@1/(byte[]) plot_ylo#14 ) + (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_yhi#1 ← phi( line_xdyd::@1/(byte[]) plot_yhi#12 line_xdyi::@1/(byte[]) plot_yhi#10 line_ydxd::@1/(byte[]) plot_yhi#16 line_ydxi::@1/(byte[]) plot_yhi#14 ) + (byte[]) plot_xlo#1 ← phi( line_xdyd::@1/(byte[]) plot_xlo#12 line_xdyi::@1/(byte[]) plot_xlo#10 line_ydxd::@1/(byte[]) plot_xlo#16 line_ydxi::@1/(byte[]) plot_xlo#14 ) + (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 ) + (byte[]) plot_xhi#1 ← phi( line_xdyd::@1/(byte[]) plot_xhi#12 line_xdyi::@1/(byte[]) plot_xhi#10 line_ydxd::@1/(byte[]) plot_xhi#16 line_ydxi::@1/(byte[]) plot_xhi#14 ) (byte*) plot::plotter_x#0 ← (byte) 0 (byte*) plot::plotter_y#0 ← (byte) 0 - (byte~) plot::$0 ← (byte[]) plot_xhi#1 *idx (byte) plot::x#9 + (byte~) plot::$0 ← (byte[]) plot_xhi#1 *idx (byte) plot::x#4 (byte*) plot::plotter_x#1 ← (byte*) plot::plotter_x#0 hi= (byte~) plot::$0 - (byte~) plot::$1 ← (byte[]) plot_xlo#1 *idx (byte) plot::x#9 + (byte~) plot::$1 ← (byte[]) plot_xlo#1 *idx (byte) plot::x#4 (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 - (byte~) plot::$2 ← (byte[]) plot_yhi#1 *idx (byte) plot::y#9 + (byte~) plot::$2 ← (byte[]) plot_yhi#1 *idx (byte) plot::y#4 (byte*) plot::plotter_y#1 ← (byte*) plot::plotter_y#0 hi= (byte~) plot::$2 - (byte~) plot::$3 ← (byte[]) plot_ylo#1 *idx (byte) plot::y#9 + (byte~) plot::$3 ← (byte[]) plot_ylo#1 *idx (byte) plot::y#4 (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 (byte~) plot::$5 ← * (byte*) plot::plotter#0 - (byte~) plot::$6 ← (byte[]) plot_bit#1 *idx (byte) plot::x#9 + (byte~) plot::$6 ← (byte[]) plot_bit#1 *idx (byte) plot::x#4 (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 *((byte*) plot::plotter#0) ← (byte~) plot::$7 to:plot::@return @@ -5070,19 +7852,19 @@ init_plot_tables: scope:[init_plot_tables] from main::@3 (byte) init_plot_tables::x#0 ← (byte) 0 to:init_plot_tables::@1 init_plot_tables::@1: scope:[init_plot_tables] from init_plot_tables init_plot_tables::@2 - (byte[]) plot_yhi#13 ← phi( init_plot_tables/(byte[]) plot_yhi#0 init_plot_tables::@2/(byte[]) plot_yhi#13 ) - (byte[]) plot_ylo#13 ← phi( init_plot_tables/(byte[]) plot_ylo#0 init_plot_tables::@2/(byte[]) plot_ylo#13 ) - (byte[]) plot_bit#13 ← phi( init_plot_tables/(byte[]) plot_bit#0 init_plot_tables::@2/(byte[]) plot_bit#13 ) + (byte[]) plot_yhi#17 ← phi( init_plot_tables/(byte[]) plot_yhi#0 init_plot_tables::@2/(byte[]) plot_yhi#17 ) + (byte[]) plot_ylo#17 ← phi( init_plot_tables/(byte[]) plot_ylo#0 init_plot_tables::@2/(byte[]) plot_ylo#17 ) + (byte[]) plot_bit#18 ← phi( init_plot_tables/(byte[]) plot_bit#0 init_plot_tables::@2/(byte[]) plot_bit#18 ) (byte) init_plot_tables::bit#3 ← phi( init_plot_tables/(byte) init_plot_tables::bit#0 init_plot_tables::@2/(byte) init_plot_tables::bit#4 ) - (byte[]) plot_xhi#13 ← phi( init_plot_tables/(byte[]) plot_xhi#0 init_plot_tables::@2/(byte[]) plot_xhi#13 ) + (byte[]) plot_xhi#18 ← phi( init_plot_tables/(byte[]) plot_xhi#0 init_plot_tables::@2/(byte[]) plot_xhi#18 ) (byte*) BITMAP#1 ← phi( init_plot_tables/(byte*) BITMAP#0 init_plot_tables::@2/(byte*) BITMAP#1 ) - (byte[]) plot_xlo#13 ← phi( init_plot_tables/(byte[]) plot_xlo#0 init_plot_tables::@2/(byte[]) plot_xlo#13 ) + (byte[]) plot_xlo#18 ← phi( init_plot_tables/(byte[]) plot_xlo#0 init_plot_tables::@2/(byte[]) plot_xlo#18 ) (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) 248 - *((byte[]) plot_xlo#13 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 + *((byte[]) plot_xlo#18 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 (byte~) init_plot_tables::$1 ← > (byte*) BITMAP#1 - *((byte[]) plot_xhi#13 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$1 - *((byte[]) plot_bit#13 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bit#3 + *((byte[]) plot_xhi#18 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$1 + *((byte[]) plot_bit#18 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bit#3 (byte) init_plot_tables::bit#1 ← (byte) init_plot_tables::bit#3 >> (byte) 1 (boolean~) init_plot_tables::$4 ← (byte) init_plot_tables::bit#1 != (byte) 0 if((boolean~) init_plot_tables::$4) goto init_plot_tables::@2 @@ -5101,16 +7883,16 @@ init_plot_tables::@6: scope:[init_plot_tables] from init_plot_tables::@2 (byte) init_plot_tables::y#0 ← (byte) 0 to:init_plot_tables::@3 init_plot_tables::@3: scope:[init_plot_tables] from init_plot_tables::@4 init_plot_tables::@6 - (byte[]) plot_yhi#12 ← phi( init_plot_tables::@4/(byte[]) plot_yhi#12 init_plot_tables::@6/(byte[]) plot_yhi#13 ) - (byte[]) plot_ylo#12 ← phi( init_plot_tables::@4/(byte[]) plot_ylo#12 init_plot_tables::@6/(byte[]) plot_ylo#13 ) + (byte[]) plot_yhi#18 ← phi( init_plot_tables::@4/(byte[]) plot_yhi#18 init_plot_tables::@6/(byte[]) plot_yhi#17 ) + (byte[]) plot_ylo#18 ← phi( init_plot_tables::@4/(byte[]) plot_ylo#18 init_plot_tables::@6/(byte[]) plot_ylo#17 ) (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) 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[]) plot_ylo#12 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 + *((byte[]) plot_ylo#18 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 - *((byte[]) plot_yhi#12 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 + *((byte[]) plot_yhi#18 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 (boolean~) init_plot_tables::$12 ← (byte~) init_plot_tables::$10 != (byte) 7 if((boolean~) init_plot_tables::$12) goto init_plot_tables::@4 @@ -5155,75 +7937,124 @@ init_screen::@2: scope:[init_screen] from init_screen::@2 init_screen::@3 init_screen::@return: scope:[init_screen] from init_screen::@2 return to:@return -@7: scope:[] from @begin +@10: scope:[] from @begin call main param-assignment to:@end -@end: scope:[] from @7 +@end: scope:[] from @10 Not aliassing across scopes: line::x0#0 lines::$0 Not aliassing across scopes: line::x1#0 lines::$2 Not aliassing across scopes: line::y0#0 lines::$3 Not aliassing across scopes: line::y1#0 lines::$5 -Not aliassing across scopes: plot::x#0 line::x0#0 -Not aliassing across scopes: plot::y#0 line::y0#0 -Not aliassing across scopes: plot::x#1 line::x1#0 -Not aliassing across scopes: plot::y#1 line::y1#0 -Not aliassing across scopes: plot::x#2 line::x0#0 -Not aliassing across scopes: plot::y#2 line::y0#0 -Not aliassing across scopes: plot::x#3 line::x1#0 -Not aliassing across scopes: plot::y#3 line::y1#0 +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#0 -Not aliassing across scopes: plot::x#4 line::x0#0 -Not aliassing across scopes: plot::y#4 line::y0#0 -Not aliassing across scopes: plot::x#5 line::x1#0 -Not aliassing across scopes: plot::y#5 line::y1#0 -Not aliassing across scopes: plot::x#6 line::x0#0 -Not aliassing across scopes: plot::y#6 line::y0#0 -Not aliassing across scopes: plot::x#7 line::x1#0 -Not aliassing across scopes: plot::y#7 line::y1#0 -Not aliassing across scopes: plot::x#8 line_xdyi::x#2 -Not aliassing across scopes: plot::y#8 line_xdyi::y#2 -Not aliassing identity: plot_ylo#12 plot_ylo#12 -Not aliassing identity: plot_yhi#12 plot_yhi#12 +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: plot::x#0 line_xdyi::x#3 +Not aliassing across scopes: plot::y#0 line_xdyi::y#3 +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: plot::x#2 line_ydxi::x#3 +Not aliassing across scopes: plot::y#2 line_ydxi::y#3 +Not aliassing across scopes: plot::x#3 line_ydxd::x#3 +Not aliassing across scopes: plot::y#3 line_ydxd::y#3 +Not aliassing identity: plot_ylo#18 plot_ylo#18 +Not aliassing identity: plot_yhi#18 plot_yhi#18 Not aliassing across scopes: init_screen::b#0 BITMAP#0 Not aliassing across scopes: init_screen::c#0 SCREEN#1 Not aliassing identity: SCREEN#2 SCREEN#2 Self Phi Eliminated (byte[]) lines_x#2 Self Phi Eliminated (byte[]) lines_y#2 Self Phi Eliminated (byte) lines_cnt#3 -Self Phi Eliminated (byte[]) plot_xhi#28 -Self Phi Eliminated (byte[]) plot_xlo#28 -Self Phi Eliminated (byte[]) plot_yhi#29 -Self Phi Eliminated (byte[]) plot_ylo#29 -Self Phi Eliminated (byte[]) plot_bit#28 +Self Phi Eliminated (byte[]) plot_xhi#45 +Self Phi Eliminated (byte[]) plot_xlo#45 +Self Phi Eliminated (byte[]) plot_yhi#49 +Self Phi Eliminated (byte[]) plot_ylo#49 +Self Phi Eliminated (byte[]) plot_bit#45 Self Phi Eliminated (byte[]) lines_x#1 Self Phi Eliminated (byte[]) lines_y#1 Self Phi Eliminated (byte) lines_cnt#1 -Self Phi Eliminated (byte[]) plot_xhi#10 -Self Phi Eliminated (byte[]) plot_xlo#10 -Self Phi Eliminated (byte[]) plot_yhi#10 -Self Phi Eliminated (byte[]) plot_ylo#10 -Self Phi Eliminated (byte[]) plot_bit#10 -Self Phi Eliminated (byte) line_xdyi::yd#2 -Self Phi Eliminated (byte) line_xdyi::xd#1 Self Phi Eliminated (byte[]) plot_xhi#11 Self Phi Eliminated (byte[]) plot_xlo#11 Self Phi Eliminated (byte[]) plot_yhi#11 Self Phi Eliminated (byte[]) plot_ylo#11 Self Phi Eliminated (byte[]) plot_bit#11 -Self Phi Eliminated (byte) line_xdyi::x1#1 -Self Phi Eliminated (byte[]) plot_xlo#13 -Self Phi Eliminated (byte*) BITMAP#1 -Self Phi Eliminated (byte[]) plot_xhi#13 -Self Phi Eliminated (byte[]) plot_bit#13 -Self Phi Eliminated (byte[]) plot_ylo#13 -Self Phi Eliminated (byte[]) plot_yhi#13 -Self Phi Eliminated (byte[]) plot_ylo#12 +Self Phi Eliminated (byte) line_xdyi::yd#3 +Self Phi Eliminated (byte) line_xdyi::xd#2 +Self Phi Eliminated (byte[]) plot_xhi#10 +Self Phi Eliminated (byte[]) plot_xlo#10 +Self Phi Eliminated (byte[]) plot_yhi#10 +Self Phi Eliminated (byte[]) plot_ylo#10 +Self Phi Eliminated (byte[]) plot_bit#10 +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[]) plot_xhi#12 +Self Phi Eliminated (byte[]) plot_xlo#12 Self Phi Eliminated (byte[]) plot_yhi#12 +Self Phi Eliminated (byte[]) plot_ylo#12 +Self Phi Eliminated (byte[]) plot_bit#12 +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[]) plot_xhi#14 +Self Phi Eliminated (byte[]) plot_xlo#14 +Self Phi Eliminated (byte[]) plot_yhi#14 +Self Phi Eliminated (byte[]) plot_ylo#14 +Self Phi Eliminated (byte[]) plot_bit#14 +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[]) plot_xhi#16 +Self Phi Eliminated (byte[]) plot_xlo#16 +Self Phi Eliminated (byte[]) plot_yhi#16 +Self Phi Eliminated (byte[]) plot_ylo#16 +Self Phi Eliminated (byte[]) plot_bit#16 +Self Phi Eliminated (byte) line_ydxd::y1#2 +Self Phi Eliminated (byte[]) plot_xlo#18 +Self Phi Eliminated (byte*) BITMAP#1 +Self Phi Eliminated (byte[]) plot_xhi#18 +Self Phi Eliminated (byte[]) plot_bit#18 +Self Phi Eliminated (byte[]) plot_ylo#17 +Self Phi Eliminated (byte[]) plot_yhi#17 +Self Phi Eliminated (byte[]) plot_ylo#18 +Self Phi Eliminated (byte[]) plot_yhi#18 Self Phi Eliminated (byte*) BITMAP#3 Self Phi Eliminated (byte*) SCREEN#1 Self Phi Eliminated (byte*) SCREEN#2 @@ -5254,8 +8085,8 @@ CONTROL FLOW GRAPH (byte[]) lines_x#0 ← { (byte) 60, (byte) 80, (byte) 110, (byte) 80, (byte) 60, (byte) 40, (byte) 10, (byte) 40, (byte) 60 } (byte[]) lines_y#0 ← { (byte) 10, (byte) 40, (byte) 60, (byte) 80, (byte) 110, (byte) 80, (byte) 60, (byte) 40, (byte) 10 } (byte) lines_cnt#0 ← (byte) 8 - to:@7 -main: scope:[main] from @7 + to:@10 +main: scope:[main] from @10 *((byte*) BGCOL#0) ← (byte) 0 *((byte*) FGCOL#0) ← (byte) 0 (byte~) main::$0 ← (byte) BMM#0 | (byte) DEN#0 @@ -5271,11 +8102,11 @@ main::@3: scope:[main] from main main::@4: scope:[main] from main::@3 to:main::@1 main::@1: scope:[main] from main::@4 main::@5 - (byte[]) plot_bit#28 ← phi( main::@4/(byte[]) plot_bit#0 ) - (byte[]) plot_ylo#29 ← phi( main::@4/(byte[]) plot_ylo#0 ) - (byte[]) plot_yhi#29 ← phi( main::@4/(byte[]) plot_yhi#0 ) - (byte[]) plot_xlo#28 ← phi( main::@4/(byte[]) plot_xlo#0 ) - (byte[]) plot_xhi#28 ← phi( main::@4/(byte[]) plot_xhi#0 ) + (byte[]) plot_bit#45 ← phi( main::@4/(byte[]) plot_bit#0 ) + (byte[]) plot_ylo#49 ← phi( main::@4/(byte[]) plot_ylo#0 ) + (byte[]) plot_yhi#49 ← phi( main::@4/(byte[]) plot_yhi#0 ) + (byte[]) plot_xlo#45 ← phi( main::@4/(byte[]) plot_xlo#0 ) + (byte[]) plot_xhi#45 ← phi( main::@4/(byte[]) plot_xhi#0 ) (byte) lines_cnt#3 ← phi( main::@4/(byte) lines_cnt#0 ) (byte[]) lines_y#2 ← phi( main::@4/(byte[]) lines_y#0 ) (byte[]) lines_x#2 ← phi( main::@4/(byte[]) lines_x#0 ) @@ -5291,11 +8122,11 @@ lines: scope:[lines] from main::@1 (byte) lines::l#0 ← (byte) 0 to:lines::@1 lines::@1: scope:[lines] from lines lines::@3 - (byte[]) plot_bit#10 ← phi( lines/(byte[]) plot_bit#28 ) - (byte[]) plot_ylo#10 ← phi( lines/(byte[]) plot_ylo#29 ) - (byte[]) plot_yhi#10 ← phi( lines/(byte[]) plot_yhi#29 ) - (byte[]) plot_xlo#10 ← phi( lines/(byte[]) plot_xlo#28 ) - (byte[]) plot_xhi#10 ← phi( lines/(byte[]) plot_xhi#28 ) + (byte[]) plot_bit#11 ← phi( lines/(byte[]) plot_bit#45 ) + (byte[]) plot_ylo#11 ← phi( lines/(byte[]) plot_ylo#49 ) + (byte[]) plot_yhi#11 ← phi( lines/(byte[]) plot_yhi#49 ) + (byte[]) plot_xlo#11 ← phi( lines/(byte[]) plot_xlo#45 ) + (byte[]) plot_xhi#11 ← phi( lines/(byte[]) plot_xhi#45 ) (byte) lines_cnt#1 ← phi( lines/(byte) lines_cnt#3 ) (byte[]) lines_y#1 ← phi( lines/(byte[]) lines_y#2 ) (byte) lines::l#2 ← phi( lines/(byte) lines::l#0 lines::@3/(byte) lines::l#1 ) @@ -5323,133 +8154,301 @@ lines::@return: scope:[lines] from lines::@3 line: scope:[line] from lines::@1 (boolean~) line::$1 ← (byte) line::x0#0 >= (byte) line::x1#0 if((boolean~) line::$1) goto line::@1 - to:line::@9 -line::@1: scope:[line] from line - (byte) line::xd#0 ← (byte) line::x1#0 - (byte) line::x0#0 - (boolean~) line::$15 ← (byte) line::y0#0 >= (byte) line::y1#0 - if((boolean~) line::$15) goto line::@7 to:line::@15 -line::@9: scope:[line] from line +line::@1: scope:[line] from line + (byte) line::xd#0 ← (byte) line::x0#0 - (byte) line::x1#0 + (boolean~) line::$17 ← (byte) line::y0#0 >= (byte) line::y1#0 + if((boolean~) line::$17) goto line::@9 + to:line::@23 +line::@15: scope:[line] from line (byte) line::xd#1 ← (byte) line::x1#0 - (byte) line::x0#0 (boolean~) line::$4 ← (byte) line::y0#0 >= (byte) line::y1#0 if((boolean~) line::$4) goto line::@2 - to:line::@10 -line::@2: scope:[line] from line::@9 - (byte) plot::x#0 ← (byte) line::x0#0 - (byte) plot::y#0 ← (byte) line::y0#0 - call plot param-assignment - to:line::@17 -line::@17: scope:[line] from line::@2 - (byte) plot::x#1 ← (byte) line::x1#0 - (byte) plot::y#1 ← (byte) line::y1#0 - call plot param-assignment - to:line::@return -line::@10: scope:[line] from line::@9 - (byte) line::yd#0 ← (byte) line::y1#0 - (byte) line::y0#0 - (boolean~) line::$7 ← (byte) line::yd#0 >= (byte) line::xd#1 + to:line::@16 +line::@2: scope:[line] from line::@15 + (byte) line::yd#0 ← (byte) line::y0#0 - (byte) line::y1#0 + (boolean~) line::$12 ← (byte) line::yd#0 >= (byte) line::xd#1 + if((boolean~) line::$12) goto line::@6 + to:line::@20 +line::@16: scope:[line] from line::@15 + (byte) line::yd#1 ← (byte) line::y1#0 - (byte) line::y0#0 + (boolean~) line::$7 ← (byte) line::yd#1 >= (byte) line::xd#1 if((boolean~) line::$7) goto line::@3 - to:line::@11 -line::@3: scope:[line] from line::@10 - (byte) plot::x#2 ← (byte) line::x0#0 - (byte) plot::y#2 ← (byte) line::y0#0 - call plot param-assignment - to:line::@19 -line::@19: scope:[line] from line::@3 - (byte) plot::x#3 ← (byte) line::x1#0 - (byte) plot::y#3 ← (byte) line::y1#0 - call plot param-assignment + to:line::@17 +line::@3: scope:[line] from line::@16 + (byte) line_ydxi::y#0 ← (byte) line::y0#0 + (byte) line_ydxi::x#0 ← (byte) line::x0#0 + (byte) line_ydxi::y1#0 ← (byte) line::y1#0 + (byte) line_ydxi::yd#0 ← (byte) line::yd#1 + (byte) line_ydxi::xd#0 ← (byte) line::xd#1 + call line_ydxi param-assignment to:line::@return -line::@11: scope:[line] from line::@10 +line::@17: scope:[line] from line::@16 (byte) line_xdyi::x#0 ← (byte) line::x0#0 (byte) line_xdyi::y#0 ← (byte) line::y0#0 (byte) line_xdyi::x1#0 ← (byte) line::x1#0 (byte) line_xdyi::xd#0 ← (byte) line::xd#1 - (byte) line_xdyi::yd#0 ← (byte) line::yd#0 + (byte) line_xdyi::yd#0 ← (byte) line::yd#1 call line_xdyi param-assignment to:line::@return -line::@7: scope:[line] from line::@1 - (byte) plot::x#4 ← (byte) line::x0#0 - (byte) plot::y#4 ← (byte) line::y0#0 - call plot param-assignment - to:line::@22 -line::@22: scope:[line] from line::@7 - (byte) plot::x#5 ← (byte) line::x1#0 - (byte) plot::y#5 ← (byte) line::y1#0 - call plot param-assignment +line::@6: scope:[line] from line::@2 + (byte) line_ydxd::y#0 ← (byte) line::y1#0 + (byte) line_ydxd::x#0 ← (byte) line::x1#0 + (byte) line_ydxd::y1#0 ← (byte) line::y0#0 + (byte) line_ydxd::yd#0 ← (byte) line::yd#0 + (byte) line_ydxd::xd#0 ← (byte) line::xd#1 + call line_ydxd param-assignment to:line::@return -line::@15: scope:[line] from line::@1 - (byte) plot::x#6 ← (byte) line::x0#0 - (byte) plot::y#6 ← (byte) line::y0#0 - call plot param-assignment +line::@20: scope:[line] from line::@2 + (byte) line_xdyd::x#0 ← (byte) line::x0#0 + (byte) line_xdyd::y#0 ← (byte) line::y0#0 + (byte) line_xdyd::x1#0 ← (byte) line::x1#0 + (byte) line_xdyd::xd#0 ← (byte) line::xd#1 + (byte) line_xdyd::yd#0 ← (byte) line::yd#0 + call line_xdyd param-assignment + to:line::@return +line::@9: scope:[line] from line::@1 + (byte) line::yd#10 ← (byte) line::y0#0 - (byte) line::y1#0 + (boolean~) line::$25 ← (byte) line::yd#10 >= (byte) line::xd#0 + if((boolean~) line::$25) goto line::@13 + to:line::@27 +line::@23: scope:[line] from line::@1 + (byte) line::yd#3 ← (byte) line::y1#0 - (byte) line::y0#0 + (boolean~) line::$20 ← (byte) line::yd#3 >= (byte) line::xd#0 + if((boolean~) line::$20) goto line::@10 to:line::@24 -line::@24: scope:[line] from line::@15 - (byte) plot::x#7 ← (byte) line::x1#0 - (byte) plot::y#7 ← (byte) line::y1#0 - call plot param-assignment +line::@10: scope:[line] from line::@23 + (byte) line_ydxd::y#1 ← (byte) line::y0#0 + (byte) line_ydxd::x#1 ← (byte) line::x0#0 + (byte) line_ydxd::y1#1 ← (byte) line::y1#0 + (byte) line_ydxd::yd#1 ← (byte) line::yd#3 + (byte) line_ydxd::xd#1 ← (byte) line::xd#0 + call line_ydxd param-assignment to:line::@return -line::@return: scope:[line] from line::@11 line::@17 line::@19 line::@22 line::@24 +line::@24: scope:[line] from line::@23 + (byte) line_xdyd::x#1 ← (byte) line::x1#0 + (byte) line_xdyd::y#1 ← (byte) line::y1#0 + (byte) line_xdyd::x1#1 ← (byte) line::x0#0 + (byte) line_xdyd::xd#1 ← (byte) line::xd#0 + (byte) line_xdyd::yd#1 ← (byte) line::yd#3 + call line_xdyd param-assignment + to:line::@return +line::@13: scope:[line] from line::@9 + (byte) line_ydxi::y#1 ← (byte) line::y1#0 + (byte) line_ydxi::x#1 ← (byte) line::x1#0 + (byte) line_ydxi::y1#1 ← (byte) line::y0#0 + (byte) line_ydxi::yd#1 ← (byte) line::yd#10 + (byte) line_ydxi::xd#1 ← (byte) line::xd#0 + call line_ydxi param-assignment + to:line::@return +line::@27: scope:[line] from line::@9 + (byte) line_xdyi::x#1 ← (byte) line::x1#0 + (byte) line_xdyi::y#1 ← (byte) line::y1#0 + (byte) line_xdyi::x1#1 ← (byte) line::x0#0 + (byte) line_xdyi::xd#1 ← (byte) line::xd#0 + (byte) line_xdyi::yd#1 ← (byte) line::yd#10 + call line_xdyi param-assignment + to:line::@return +line::@return: scope:[line] from line::@10 line::@13 line::@17 line::@20 line::@24 line::@27 line::@3 line::@6 return to:@return -line_xdyi: scope:[line_xdyi] from line::@11 - (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#0 >> (byte) 1 +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::e#0 ← (byte) line_xdyi::yd#2 >> (byte) 1 to:line_xdyi::@1 line_xdyi::@1: scope:[line_xdyi] from line_xdyi line_xdyi::@2 - (byte) line_xdyi::x1#1 ← phi( line_xdyi/(byte) line_xdyi::x1#0 ) - (byte[]) plot_bit#11 ← phi( line_xdyi/(byte[]) plot_bit#10 ) - (byte[]) plot_ylo#11 ← phi( line_xdyi/(byte[]) plot_ylo#10 ) - (byte[]) plot_yhi#11 ← phi( line_xdyi/(byte[]) plot_yhi#10 ) - (byte[]) plot_xlo#11 ← phi( line_xdyi/(byte[]) plot_xlo#10 ) - (byte[]) plot_xhi#11 ← phi( line_xdyi/(byte[]) plot_xhi#10 ) - (byte) line_xdyi::xd#1 ← phi( line_xdyi/(byte) line_xdyi::xd#0 ) - (byte) line_xdyi::yd#2 ← phi( line_xdyi/(byte) line_xdyi::yd#0 ) + (byte) line_xdyi::x1#2 ← phi( line_xdyi/(byte) line_xdyi::x1#6 ) + (byte[]) plot_bit#10 ← phi( line_xdyi/(byte[]) plot_bit#11 ) + (byte[]) plot_ylo#10 ← phi( line_xdyi/(byte[]) plot_ylo#11 ) + (byte[]) plot_yhi#10 ← phi( line_xdyi/(byte[]) plot_yhi#11 ) + (byte[]) plot_xlo#10 ← phi( line_xdyi/(byte[]) plot_xlo#11 ) + (byte[]) plot_xhi#10 ← phi( line_xdyi/(byte[]) plot_xhi#11 ) + (byte) line_xdyi::xd#2 ← phi( line_xdyi/(byte) line_xdyi::xd#5 ) + (byte) line_xdyi::yd#3 ← phi( line_xdyi/(byte) line_xdyi::yd#2 ) (byte) line_xdyi::e#3 ← phi( line_xdyi/(byte) line_xdyi::e#0 line_xdyi::@2/(byte) line_xdyi::e#6 ) - (byte) line_xdyi::y#2 ← phi( line_xdyi/(byte) line_xdyi::y#0 line_xdyi::@2/(byte) line_xdyi::y#5 ) - (byte) line_xdyi::x#2 ← phi( line_xdyi/(byte) line_xdyi::x#0 line_xdyi::@2/(byte) line_xdyi::x#1 ) - (byte) plot::x#8 ← (byte) line_xdyi::x#2 - (byte) plot::y#8 ← (byte) line_xdyi::y#2 + (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#2 ) + (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::x#1 ← (byte) line_xdyi::x#2 + (byte) 1 - (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#2 - (boolean~) line_xdyi::$5 ← (byte) line_xdyi::xd#1 >= (byte) line_xdyi::e#1 + (byte) line_xdyi::x#2 ← (byte) line_xdyi::x#3 + (byte) 1 + (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#3 + (boolean~) line_xdyi::$5 ← (byte) line_xdyi::xd#2 >= (byte) line_xdyi::e#1 if((boolean~) line_xdyi::$5) goto line_xdyi::@2 to:line_xdyi::@3 line_xdyi::@2: scope:[line_xdyi] from line_xdyi::@3 line_xdyi::@5 (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#5 ← phi( line_xdyi::@3/(byte) line_xdyi::y#1 line_xdyi::@5/(byte) line_xdyi::y#2 ) - (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#1 + (byte) 1 - (boolean~) line_xdyi::$9 ← (byte) line_xdyi::x#1 < (byte~) line_xdyi::$8 + (byte) line_xdyi::y#6 ← phi( line_xdyi::@3/(byte) line_xdyi::y#2 line_xdyi::@5/(byte) line_xdyi::y#3 ) + (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#2 + (byte) 1 + (boolean~) line_xdyi::$9 ← (byte) line_xdyi::x#2 < (byte~) line_xdyi::$8 if((boolean~) line_xdyi::$9) goto line_xdyi::@1 to:line_xdyi::@return line_xdyi::@3: scope:[line_xdyi] from line_xdyi::@5 - (byte) line_xdyi::y#1 ← (byte) line_xdyi::y#2 + (byte) 1 - (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#1 + (byte) line_xdyi::y#2 ← (byte) line_xdyi::y#3 + (byte) 1 + (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#2 to:line_xdyi::@2 line_xdyi::@return: scope:[line_xdyi] from line_xdyi::@2 return to:@return -plot: scope:[plot] from line::@15 line::@17 line::@19 line::@2 line::@22 line::@24 line::@3 line::@7 line_xdyi::@1 - (byte[]) plot_bit#1 ← phi( line::@15/(byte[]) plot_bit#10 line::@17/(byte[]) plot_bit#10 line::@19/(byte[]) plot_bit#10 line::@2/(byte[]) plot_bit#10 line::@22/(byte[]) plot_bit#10 line::@24/(byte[]) plot_bit#10 line::@3/(byte[]) plot_bit#10 line::@7/(byte[]) plot_bit#10 line_xdyi::@1/(byte[]) plot_bit#11 ) - (byte[]) plot_ylo#1 ← phi( line::@15/(byte[]) plot_ylo#10 line::@17/(byte[]) plot_ylo#10 line::@19/(byte[]) plot_ylo#10 line::@2/(byte[]) plot_ylo#10 line::@22/(byte[]) plot_ylo#10 line::@24/(byte[]) plot_ylo#10 line::@3/(byte[]) plot_ylo#10 line::@7/(byte[]) plot_ylo#10 line_xdyi::@1/(byte[]) plot_ylo#11 ) - (byte) plot::y#9 ← phi( line::@15/(byte) plot::y#6 line::@17/(byte) plot::y#1 line::@19/(byte) plot::y#3 line::@2/(byte) plot::y#0 line::@22/(byte) plot::y#5 line::@24/(byte) plot::y#7 line::@3/(byte) plot::y#2 line::@7/(byte) plot::y#4 line_xdyi::@1/(byte) plot::y#8 ) - (byte[]) plot_yhi#1 ← phi( line::@15/(byte[]) plot_yhi#10 line::@17/(byte[]) plot_yhi#10 line::@19/(byte[]) plot_yhi#10 line::@2/(byte[]) plot_yhi#10 line::@22/(byte[]) plot_yhi#10 line::@24/(byte[]) plot_yhi#10 line::@3/(byte[]) plot_yhi#10 line::@7/(byte[]) plot_yhi#10 line_xdyi::@1/(byte[]) plot_yhi#11 ) - (byte[]) plot_xlo#1 ← phi( line::@15/(byte[]) plot_xlo#10 line::@17/(byte[]) plot_xlo#10 line::@19/(byte[]) plot_xlo#10 line::@2/(byte[]) plot_xlo#10 line::@22/(byte[]) plot_xlo#10 line::@24/(byte[]) plot_xlo#10 line::@3/(byte[]) plot_xlo#10 line::@7/(byte[]) plot_xlo#10 line_xdyi::@1/(byte[]) plot_xlo#11 ) - (byte) plot::x#9 ← phi( line::@15/(byte) plot::x#6 line::@17/(byte) plot::x#1 line::@19/(byte) plot::x#3 line::@2/(byte) plot::x#0 line::@22/(byte) plot::x#5 line::@24/(byte) plot::x#7 line::@3/(byte) plot::x#2 line::@7/(byte) plot::x#4 line_xdyi::@1/(byte) plot::x#8 ) - (byte[]) plot_xhi#1 ← phi( line::@15/(byte[]) plot_xhi#10 line::@17/(byte[]) plot_xhi#10 line::@19/(byte[]) plot_xhi#10 line::@2/(byte[]) plot_xhi#10 line::@22/(byte[]) plot_xhi#10 line::@24/(byte[]) plot_xhi#10 line::@3/(byte[]) plot_xhi#10 line::@7/(byte[]) plot_xhi#10 line_xdyi::@1/(byte[]) plot_xhi#11 ) +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::e#0 ← (byte) line_xdyd::yd#2 >> (byte) 1 + to:line_xdyd::@1 +line_xdyd::@1: scope:[line_xdyd] from line_xdyd line_xdyd::@2 + (byte) line_xdyd::x1#2 ← phi( line_xdyd/(byte) line_xdyd::x1#6 ) + (byte[]) plot_bit#12 ← phi( line_xdyd/(byte[]) plot_bit#11 ) + (byte[]) plot_ylo#12 ← phi( line_xdyd/(byte[]) plot_ylo#11 ) + (byte[]) plot_yhi#12 ← phi( line_xdyd/(byte[]) plot_yhi#11 ) + (byte[]) plot_xlo#12 ← phi( line_xdyd/(byte[]) plot_xlo#11 ) + (byte[]) plot_xhi#12 ← phi( line_xdyd/(byte[]) plot_xhi#11 ) + (byte) line_xdyd::xd#2 ← phi( line_xdyd/(byte) line_xdyd::xd#5 ) + (byte) line_xdyd::yd#3 ← phi( line_xdyd/(byte) line_xdyd::yd#2 ) + (byte) line_xdyd::e#3 ← 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#2 ) + (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::x#2 ← (byte) line_xdyd::x#3 + (byte) 1 + (byte) line_xdyd::e#1 ← (byte) line_xdyd::e#3 + (byte) line_xdyd::yd#3 + (boolean~) line_xdyd::$5 ← (byte) line_xdyd::xd#2 >= (byte) line_xdyd::e#1 + if((boolean~) line_xdyd::$5) goto line_xdyd::@2 + to:line_xdyd::@3 +line_xdyd::@2: scope:[line_xdyd] from line_xdyd::@3 line_xdyd::@5 + (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#3 ) + (byte~) line_xdyd::$8 ← (byte) line_xdyd::x1#2 + (byte) 1 + (boolean~) line_xdyd::$9 ← (byte) line_xdyd::x#2 < (byte~) line_xdyd::$8 + if((boolean~) line_xdyd::$9) goto line_xdyd::@1 + to:line_xdyd::@return +line_xdyd::@3: scope:[line_xdyd] from line_xdyd::@5 + (byte) line_xdyd::y#2 ← (byte) line_xdyd::y#3 - (byte) 1 + (byte) line_xdyd::e#2 ← (byte) line_xdyd::e#1 - (byte) line_xdyd::xd#2 + 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::e#0 ← (byte) line_ydxi::xd#2 >> (byte) 1 + to:line_ydxi::@1 +line_ydxi::@1: scope:[line_ydxi] from line_ydxi line_ydxi::@2 + (byte) line_ydxi::y1#2 ← phi( line_ydxi/(byte) line_ydxi::y1#6 ) + (byte[]) plot_bit#14 ← phi( line_ydxi/(byte[]) plot_bit#11 ) + (byte[]) plot_ylo#14 ← phi( line_ydxi/(byte[]) plot_ylo#11 ) + (byte[]) plot_yhi#14 ← phi( line_ydxi/(byte[]) plot_yhi#11 ) + (byte[]) plot_xlo#14 ← phi( line_ydxi/(byte[]) plot_xlo#11 ) + (byte[]) plot_xhi#14 ← phi( line_ydxi/(byte[]) plot_xhi#11 ) + (byte) line_ydxi::yd#2 ← phi( line_ydxi/(byte) line_ydxi::yd#5 ) + (byte) line_ydxi::xd#3 ← phi( line_ydxi/(byte) line_ydxi::xd#2 ) + (byte) line_ydxi::e#3 ← 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#2 ) + (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::y#2 ← (byte) line_ydxi::y#3 + (byte) 1 + (byte) line_ydxi::e#1 ← (byte) line_ydxi::e#3 + (byte) line_ydxi::xd#3 + (boolean~) line_ydxi::$5 ← (byte) line_ydxi::yd#2 >= (byte) line_ydxi::e#1 + if((boolean~) line_ydxi::$5) goto line_ydxi::@2 + to:line_ydxi::@3 +line_ydxi::@2: scope:[line_ydxi] from line_ydxi::@3 line_ydxi::@5 + (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#3 ) + (byte~) line_ydxi::$8 ← (byte) line_ydxi::y1#2 + (byte) 1 + (boolean~) line_ydxi::$9 ← (byte) line_ydxi::y#2 < (byte~) line_ydxi::$8 + if((boolean~) line_ydxi::$9) goto line_ydxi::@1 + to:line_ydxi::@return +line_ydxi::@3: scope:[line_ydxi] from line_ydxi::@5 + (byte) line_ydxi::x#2 ← (byte) line_ydxi::x#3 + (byte) 1 + (byte) line_ydxi::e#2 ← (byte) line_ydxi::e#1 - (byte) line_ydxi::yd#2 + 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#6 ← 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::e#0 ← (byte) line_ydxd::xd#2 >> (byte) 1 + to:line_ydxd::@1 +line_ydxd::@1: scope:[line_ydxd] from line_ydxd line_ydxd::@2 + (byte) line_ydxd::y1#2 ← phi( line_ydxd/(byte) line_ydxd::y1#6 ) + (byte[]) plot_bit#16 ← phi( line_ydxd/(byte[]) plot_bit#11 ) + (byte[]) plot_ylo#16 ← phi( line_ydxd/(byte[]) plot_ylo#11 ) + (byte[]) plot_yhi#16 ← phi( line_ydxd/(byte[]) plot_yhi#11 ) + (byte[]) plot_xlo#16 ← phi( line_ydxd/(byte[]) plot_xlo#11 ) + (byte[]) plot_xhi#16 ← phi( line_ydxd/(byte[]) plot_xhi#11 ) + (byte) line_ydxd::yd#2 ← phi( line_ydxd/(byte) line_ydxd::yd#5 ) + (byte) line_ydxd::xd#3 ← phi( line_ydxd/(byte) line_ydxd::xd#2 ) + (byte) line_ydxd::e#3 ← phi( line_ydxd/(byte) line_ydxd::e#0 line_ydxd::@2/(byte) line_ydxd::e#6 ) + (byte) line_ydxd::y#3 ← phi( line_ydxd/(byte) line_ydxd::y#6 line_ydxd::@2/(byte) line_ydxd::y#2 ) + (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#3 + call plot param-assignment + to:line_ydxd::@5 +line_ydxd::@5: scope:[line_ydxd] from line_ydxd::@1 + (byte) line_ydxd::y#2 ← (byte) line_ydxd::y#3 + (byte) 1 + (byte) line_ydxd::e#1 ← (byte) line_ydxd::e#3 + (byte) line_ydxd::xd#3 + (boolean~) line_ydxd::$5 ← (byte) line_ydxd::yd#2 >= (byte) line_ydxd::e#1 + if((boolean~) line_ydxd::$5) goto line_ydxd::@2 + to:line_ydxd::@3 +line_ydxd::@2: scope:[line_ydxd] from line_ydxd::@3 line_ydxd::@5 + (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#3 ) + (byte~) line_ydxd::$8 ← (byte) line_ydxd::y1#2 + (byte) 1 + (boolean~) line_ydxd::$9 ← (byte) line_ydxd::y#2 < (byte~) line_ydxd::$8 + if((boolean~) line_ydxd::$9) goto line_ydxd::@1 + to:line_ydxd::@return +line_ydxd::@3: scope:[line_ydxd] from line_ydxd::@5 + (byte) line_ydxd::x#2 ← (byte) line_ydxd::x#3 - (byte) 1 + (byte) line_ydxd::e#2 ← (byte) line_ydxd::e#1 - (byte) line_ydxd::yd#2 + 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_bit#1 ← phi( line_xdyd::@1/(byte[]) plot_bit#12 line_xdyi::@1/(byte[]) plot_bit#10 line_ydxd::@1/(byte[]) plot_bit#16 line_ydxi::@1/(byte[]) plot_bit#14 ) + (byte[]) plot_ylo#1 ← phi( line_xdyd::@1/(byte[]) plot_ylo#12 line_xdyi::@1/(byte[]) plot_ylo#10 line_ydxd::@1/(byte[]) plot_ylo#16 line_ydxi::@1/(byte[]) plot_ylo#14 ) + (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_yhi#1 ← phi( line_xdyd::@1/(byte[]) plot_yhi#12 line_xdyi::@1/(byte[]) plot_yhi#10 line_ydxd::@1/(byte[]) plot_yhi#16 line_ydxi::@1/(byte[]) plot_yhi#14 ) + (byte[]) plot_xlo#1 ← phi( line_xdyd::@1/(byte[]) plot_xlo#12 line_xdyi::@1/(byte[]) plot_xlo#10 line_ydxd::@1/(byte[]) plot_xlo#16 line_ydxi::@1/(byte[]) plot_xlo#14 ) + (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 ) + (byte[]) plot_xhi#1 ← phi( line_xdyd::@1/(byte[]) plot_xhi#12 line_xdyi::@1/(byte[]) plot_xhi#10 line_ydxd::@1/(byte[]) plot_xhi#16 line_ydxi::@1/(byte[]) plot_xhi#14 ) (byte*) plot::plotter_x#0 ← (byte) 0 (byte*) plot::plotter_y#0 ← (byte) 0 - (byte~) plot::$0 ← (byte[]) plot_xhi#1 *idx (byte) plot::x#9 + (byte~) plot::$0 ← (byte[]) plot_xhi#1 *idx (byte) plot::x#4 (byte*) plot::plotter_x#1 ← (byte*) plot::plotter_x#0 hi= (byte~) plot::$0 - (byte~) plot::$1 ← (byte[]) plot_xlo#1 *idx (byte) plot::x#9 + (byte~) plot::$1 ← (byte[]) plot_xlo#1 *idx (byte) plot::x#4 (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 - (byte~) plot::$2 ← (byte[]) plot_yhi#1 *idx (byte) plot::y#9 + (byte~) plot::$2 ← (byte[]) plot_yhi#1 *idx (byte) plot::y#4 (byte*) plot::plotter_y#1 ← (byte*) plot::plotter_y#0 hi= (byte~) plot::$2 - (byte~) plot::$3 ← (byte[]) plot_ylo#1 *idx (byte) plot::y#9 + (byte~) plot::$3 ← (byte[]) plot_ylo#1 *idx (byte) plot::y#4 (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 (byte~) plot::$5 ← * (byte*) plot::plotter#0 - (byte~) plot::$6 ← (byte[]) plot_bit#1 *idx (byte) plot::x#9 + (byte~) plot::$6 ← (byte[]) plot_bit#1 *idx (byte) plot::x#4 (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 *((byte*) plot::plotter#0) ← (byte~) plot::$7 to:plot::@return @@ -5461,19 +8460,19 @@ init_plot_tables: scope:[init_plot_tables] from main::@3 (byte) init_plot_tables::x#0 ← (byte) 0 to:init_plot_tables::@1 init_plot_tables::@1: scope:[init_plot_tables] from init_plot_tables init_plot_tables::@2 - (byte[]) plot_yhi#13 ← phi( init_plot_tables/(byte[]) plot_yhi#0 ) - (byte[]) plot_ylo#13 ← phi( init_plot_tables/(byte[]) plot_ylo#0 ) - (byte[]) plot_bit#13 ← phi( init_plot_tables/(byte[]) plot_bit#0 ) + (byte[]) plot_yhi#17 ← phi( init_plot_tables/(byte[]) plot_yhi#0 ) + (byte[]) plot_ylo#17 ← phi( init_plot_tables/(byte[]) plot_ylo#0 ) + (byte[]) plot_bit#18 ← phi( init_plot_tables/(byte[]) plot_bit#0 ) (byte) init_plot_tables::bit#3 ← phi( init_plot_tables/(byte) init_plot_tables::bit#0 init_plot_tables::@2/(byte) init_plot_tables::bit#4 ) - (byte[]) plot_xhi#13 ← phi( init_plot_tables/(byte[]) plot_xhi#0 ) + (byte[]) plot_xhi#18 ← phi( init_plot_tables/(byte[]) plot_xhi#0 ) (byte*) BITMAP#1 ← phi( init_plot_tables/(byte*) BITMAP#0 ) - (byte[]) plot_xlo#13 ← phi( init_plot_tables/(byte[]) plot_xlo#0 ) + (byte[]) plot_xlo#18 ← phi( init_plot_tables/(byte[]) plot_xlo#0 ) (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) 248 - *((byte[]) plot_xlo#13 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 + *((byte[]) plot_xlo#18 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 (byte~) init_plot_tables::$1 ← > (byte*) BITMAP#1 - *((byte[]) plot_xhi#13 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$1 - *((byte[]) plot_bit#13 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bit#3 + *((byte[]) plot_xhi#18 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$1 + *((byte[]) plot_bit#18 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bit#3 (byte) init_plot_tables::bit#1 ← (byte) init_plot_tables::bit#3 >> (byte) 1 (boolean~) init_plot_tables::$4 ← (byte) init_plot_tables::bit#1 != (byte) 0 if((boolean~) init_plot_tables::$4) goto init_plot_tables::@2 @@ -5492,16 +8491,16 @@ init_plot_tables::@6: scope:[init_plot_tables] from init_plot_tables::@2 (byte) init_plot_tables::y#0 ← (byte) 0 to:init_plot_tables::@3 init_plot_tables::@3: scope:[init_plot_tables] from init_plot_tables::@4 init_plot_tables::@6 - (byte[]) plot_yhi#12 ← phi( init_plot_tables::@6/(byte[]) plot_yhi#13 ) - (byte[]) plot_ylo#12 ← phi( init_plot_tables::@6/(byte[]) plot_ylo#13 ) + (byte[]) plot_yhi#18 ← phi( init_plot_tables::@6/(byte[]) plot_yhi#17 ) + (byte[]) plot_ylo#18 ← phi( init_plot_tables::@6/(byte[]) plot_ylo#17 ) (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) 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[]) plot_ylo#12 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 + *((byte[]) plot_ylo#18 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 - *((byte[]) plot_yhi#12 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 + *((byte[]) plot_yhi#18 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 (boolean~) init_plot_tables::$12 ← (byte~) init_plot_tables::$10 != (byte) 7 if((boolean~) init_plot_tables::$12) goto init_plot_tables::@4 @@ -5546,43 +8545,67 @@ init_screen::@2: scope:[init_screen] from init_screen::@2 init_screen::@3 init_screen::@return: scope:[init_screen] from init_screen::@2 return to:@return -@7: scope:[] from @begin +@10: scope:[] from @begin call main param-assignment to:@end -@end: scope:[] from @7 +@end: scope:[] from @10 Redundant Phi (byte[]) lines_x#2 (byte[]) lines_x#0 Redundant Phi (byte[]) lines_y#2 (byte[]) lines_y#0 Redundant Phi (byte) lines_cnt#3 (byte) lines_cnt#0 -Redundant Phi (byte[]) plot_xhi#28 (byte[]) plot_xhi#0 -Redundant Phi (byte[]) plot_xlo#28 (byte[]) plot_xlo#0 -Redundant Phi (byte[]) plot_yhi#29 (byte[]) plot_yhi#0 -Redundant Phi (byte[]) plot_ylo#29 (byte[]) plot_ylo#0 -Redundant Phi (byte[]) plot_bit#28 (byte[]) plot_bit#0 +Redundant Phi (byte[]) plot_xhi#45 (byte[]) plot_xhi#0 +Redundant Phi (byte[]) plot_xlo#45 (byte[]) plot_xlo#0 +Redundant Phi (byte[]) plot_yhi#49 (byte[]) plot_yhi#0 +Redundant Phi (byte[]) plot_ylo#49 (byte[]) plot_ylo#0 +Redundant Phi (byte[]) plot_bit#45 (byte[]) plot_bit#0 Redundant Phi (byte[]) lines_x#1 (byte[]) lines_x#2 Redundant Phi (byte[]) lines_y#1 (byte[]) lines_y#2 Redundant Phi (byte) lines_cnt#1 (byte) lines_cnt#3 -Redundant Phi (byte[]) plot_xhi#10 (byte[]) plot_xhi#28 -Redundant Phi (byte[]) plot_xlo#10 (byte[]) plot_xlo#28 -Redundant Phi (byte[]) plot_yhi#10 (byte[]) plot_yhi#29 -Redundant Phi (byte[]) plot_ylo#10 (byte[]) plot_ylo#29 -Redundant Phi (byte[]) plot_bit#10 (byte[]) plot_bit#28 -Redundant Phi (byte) line_xdyi::yd#2 (byte) line_xdyi::yd#0 -Redundant Phi (byte) line_xdyi::xd#1 (byte) line_xdyi::xd#0 -Redundant Phi (byte[]) plot_xhi#11 (byte[]) plot_xhi#10 -Redundant Phi (byte[]) plot_xlo#11 (byte[]) plot_xlo#10 -Redundant Phi (byte[]) plot_yhi#11 (byte[]) plot_yhi#10 -Redundant Phi (byte[]) plot_ylo#11 (byte[]) plot_ylo#10 -Redundant Phi (byte[]) plot_bit#11 (byte[]) plot_bit#10 -Redundant Phi (byte) line_xdyi::x1#1 (byte) line_xdyi::x1#0 -Redundant Phi (byte[]) plot_xlo#13 (byte[]) plot_xlo#0 +Redundant Phi (byte[]) plot_xhi#11 (byte[]) plot_xhi#45 +Redundant Phi (byte[]) plot_xlo#11 (byte[]) plot_xlo#45 +Redundant Phi (byte[]) plot_yhi#11 (byte[]) plot_yhi#49 +Redundant Phi (byte[]) plot_ylo#11 (byte[]) plot_ylo#49 +Redundant Phi (byte[]) plot_bit#11 (byte[]) plot_bit#45 +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[]) plot_xhi#10 (byte[]) plot_xhi#11 +Redundant Phi (byte[]) plot_xlo#10 (byte[]) plot_xlo#11 +Redundant Phi (byte[]) plot_yhi#10 (byte[]) plot_yhi#11 +Redundant Phi (byte[]) plot_ylo#10 (byte[]) plot_ylo#11 +Redundant Phi (byte[]) plot_bit#10 (byte[]) plot_bit#11 +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[]) plot_xhi#12 (byte[]) plot_xhi#11 +Redundant Phi (byte[]) plot_xlo#12 (byte[]) plot_xlo#11 +Redundant Phi (byte[]) plot_yhi#12 (byte[]) plot_yhi#11 +Redundant Phi (byte[]) plot_ylo#12 (byte[]) plot_ylo#11 +Redundant Phi (byte[]) plot_bit#12 (byte[]) plot_bit#11 +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[]) plot_xhi#14 (byte[]) plot_xhi#11 +Redundant Phi (byte[]) plot_xlo#14 (byte[]) plot_xlo#11 +Redundant Phi (byte[]) plot_yhi#14 (byte[]) plot_yhi#11 +Redundant Phi (byte[]) plot_ylo#14 (byte[]) plot_ylo#11 +Redundant Phi (byte[]) plot_bit#14 (byte[]) plot_bit#11 +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[]) plot_xhi#16 (byte[]) plot_xhi#11 +Redundant Phi (byte[]) plot_xlo#16 (byte[]) plot_xlo#11 +Redundant Phi (byte[]) plot_yhi#16 (byte[]) plot_yhi#11 +Redundant Phi (byte[]) plot_ylo#16 (byte[]) plot_ylo#11 +Redundant Phi (byte[]) plot_bit#16 (byte[]) plot_bit#11 +Redundant Phi (byte) line_ydxd::y1#2 (byte) line_ydxd::y1#6 +Redundant Phi (byte[]) plot_xlo#18 (byte[]) plot_xlo#0 Redundant Phi (byte*) BITMAP#1 (byte*) BITMAP#0 -Redundant Phi (byte[]) plot_xhi#13 (byte[]) plot_xhi#0 -Redundant Phi (byte[]) plot_bit#13 (byte[]) plot_bit#0 -Redundant Phi (byte[]) plot_ylo#13 (byte[]) plot_ylo#0 -Redundant Phi (byte[]) plot_yhi#13 (byte[]) plot_yhi#0 -Redundant Phi (byte[]) plot_ylo#12 (byte[]) plot_ylo#13 -Redundant Phi (byte[]) plot_yhi#12 (byte[]) plot_yhi#13 +Redundant Phi (byte[]) plot_xhi#18 (byte[]) plot_xhi#0 +Redundant Phi (byte[]) plot_bit#18 (byte[]) plot_bit#0 +Redundant Phi (byte[]) plot_ylo#17 (byte[]) plot_ylo#0 +Redundant Phi (byte[]) plot_yhi#17 (byte[]) plot_yhi#0 +Redundant Phi (byte[]) plot_ylo#18 (byte[]) plot_ylo#17 +Redundant Phi (byte[]) plot_yhi#18 (byte[]) plot_yhi#17 Redundant Phi (byte*) BITMAP#3 (byte*) BITMAP#0 Redundant Phi (byte*) SCREEN#1 (byte*) SCREEN#0 Redundant Phi (byte*) SCREEN#2 (byte*) SCREEN#1 @@ -5613,8 +8636,8 @@ CONTROL FLOW GRAPH (byte[]) lines_x#0 ← { (byte) 60, (byte) 80, (byte) 110, (byte) 80, (byte) 60, (byte) 40, (byte) 10, (byte) 40, (byte) 60 } (byte[]) lines_y#0 ← { (byte) 10, (byte) 40, (byte) 60, (byte) 80, (byte) 110, (byte) 80, (byte) 60, (byte) 40, (byte) 10 } (byte) lines_cnt#0 ← (byte) 8 - to:@7 -main: scope:[main] from @7 + to:@10 +main: scope:[main] from @10 *((byte*) BGCOL#0) ← (byte) 0 *((byte*) FGCOL#0) ← (byte) 0 (byte~) main::$0 ← (byte) BMM#0 | (byte) DEN#0 @@ -5666,125 +8689,269 @@ lines::@return: scope:[lines] from lines::@3 line: scope:[line] from lines::@1 (boolean~) line::$1 ← (byte) line::x0#0 >= (byte) line::x1#0 if((boolean~) line::$1) goto line::@1 - to:line::@9 -line::@1: scope:[line] from line - (byte) line::xd#0 ← (byte) line::x1#0 - (byte) line::x0#0 - (boolean~) line::$15 ← (byte) line::y0#0 >= (byte) line::y1#0 - if((boolean~) line::$15) goto line::@7 to:line::@15 -line::@9: scope:[line] from line +line::@1: scope:[line] from line + (byte) line::xd#0 ← (byte) line::x0#0 - (byte) line::x1#0 + (boolean~) line::$17 ← (byte) line::y0#0 >= (byte) line::y1#0 + if((boolean~) line::$17) goto line::@9 + to:line::@23 +line::@15: scope:[line] from line (byte) line::xd#1 ← (byte) line::x1#0 - (byte) line::x0#0 (boolean~) line::$4 ← (byte) line::y0#0 >= (byte) line::y1#0 if((boolean~) line::$4) goto line::@2 - to:line::@10 -line::@2: scope:[line] from line::@9 - (byte) plot::x#0 ← (byte) line::x0#0 - (byte) plot::y#0 ← (byte) line::y0#0 - call plot param-assignment - to:line::@17 -line::@17: scope:[line] from line::@2 - (byte) plot::x#1 ← (byte) line::x1#0 - (byte) plot::y#1 ← (byte) line::y1#0 - call plot param-assignment - to:line::@return -line::@10: scope:[line] from line::@9 - (byte) line::yd#0 ← (byte) line::y1#0 - (byte) line::y0#0 - (boolean~) line::$7 ← (byte) line::yd#0 >= (byte) line::xd#1 + to:line::@16 +line::@2: scope:[line] from line::@15 + (byte) line::yd#0 ← (byte) line::y0#0 - (byte) line::y1#0 + (boolean~) line::$12 ← (byte) line::yd#0 >= (byte) line::xd#1 + if((boolean~) line::$12) goto line::@6 + to:line::@20 +line::@16: scope:[line] from line::@15 + (byte) line::yd#1 ← (byte) line::y1#0 - (byte) line::y0#0 + (boolean~) line::$7 ← (byte) line::yd#1 >= (byte) line::xd#1 if((boolean~) line::$7) goto line::@3 - to:line::@11 -line::@3: scope:[line] from line::@10 - (byte) plot::x#2 ← (byte) line::x0#0 - (byte) plot::y#2 ← (byte) line::y0#0 - call plot param-assignment - to:line::@19 -line::@19: scope:[line] from line::@3 - (byte) plot::x#3 ← (byte) line::x1#0 - (byte) plot::y#3 ← (byte) line::y1#0 - call plot param-assignment + to:line::@17 +line::@3: scope:[line] from line::@16 + (byte) line_ydxi::y#0 ← (byte) line::y0#0 + (byte) line_ydxi::x#0 ← (byte) line::x0#0 + (byte) line_ydxi::y1#0 ← (byte) line::y1#0 + (byte) line_ydxi::yd#0 ← (byte) line::yd#1 + (byte) line_ydxi::xd#0 ← (byte) line::xd#1 + call line_ydxi param-assignment to:line::@return -line::@11: scope:[line] from line::@10 +line::@17: scope:[line] from line::@16 (byte) line_xdyi::x#0 ← (byte) line::x0#0 (byte) line_xdyi::y#0 ← (byte) line::y0#0 (byte) line_xdyi::x1#0 ← (byte) line::x1#0 (byte) line_xdyi::xd#0 ← (byte) line::xd#1 - (byte) line_xdyi::yd#0 ← (byte) line::yd#0 + (byte) line_xdyi::yd#0 ← (byte) line::yd#1 call line_xdyi param-assignment to:line::@return -line::@7: scope:[line] from line::@1 - (byte) plot::x#4 ← (byte) line::x0#0 - (byte) plot::y#4 ← (byte) line::y0#0 - call plot param-assignment - to:line::@22 -line::@22: scope:[line] from line::@7 - (byte) plot::x#5 ← (byte) line::x1#0 - (byte) plot::y#5 ← (byte) line::y1#0 - call plot param-assignment +line::@6: scope:[line] from line::@2 + (byte) line_ydxd::y#0 ← (byte) line::y1#0 + (byte) line_ydxd::x#0 ← (byte) line::x1#0 + (byte) line_ydxd::y1#0 ← (byte) line::y0#0 + (byte) line_ydxd::yd#0 ← (byte) line::yd#0 + (byte) line_ydxd::xd#0 ← (byte) line::xd#1 + call line_ydxd param-assignment to:line::@return -line::@15: scope:[line] from line::@1 - (byte) plot::x#6 ← (byte) line::x0#0 - (byte) plot::y#6 ← (byte) line::y0#0 - call plot param-assignment +line::@20: scope:[line] from line::@2 + (byte) line_xdyd::x#0 ← (byte) line::x0#0 + (byte) line_xdyd::y#0 ← (byte) line::y0#0 + (byte) line_xdyd::x1#0 ← (byte) line::x1#0 + (byte) line_xdyd::xd#0 ← (byte) line::xd#1 + (byte) line_xdyd::yd#0 ← (byte) line::yd#0 + call line_xdyd param-assignment + to:line::@return +line::@9: scope:[line] from line::@1 + (byte) line::yd#10 ← (byte) line::y0#0 - (byte) line::y1#0 + (boolean~) line::$25 ← (byte) line::yd#10 >= (byte) line::xd#0 + if((boolean~) line::$25) goto line::@13 + to:line::@27 +line::@23: scope:[line] from line::@1 + (byte) line::yd#3 ← (byte) line::y1#0 - (byte) line::y0#0 + (boolean~) line::$20 ← (byte) line::yd#3 >= (byte) line::xd#0 + if((boolean~) line::$20) goto line::@10 to:line::@24 -line::@24: scope:[line] from line::@15 - (byte) plot::x#7 ← (byte) line::x1#0 - (byte) plot::y#7 ← (byte) line::y1#0 - call plot param-assignment +line::@10: scope:[line] from line::@23 + (byte) line_ydxd::y#1 ← (byte) line::y0#0 + (byte) line_ydxd::x#1 ← (byte) line::x0#0 + (byte) line_ydxd::y1#1 ← (byte) line::y1#0 + (byte) line_ydxd::yd#1 ← (byte) line::yd#3 + (byte) line_ydxd::xd#1 ← (byte) line::xd#0 + call line_ydxd param-assignment to:line::@return -line::@return: scope:[line] from line::@11 line::@17 line::@19 line::@22 line::@24 +line::@24: scope:[line] from line::@23 + (byte) line_xdyd::x#1 ← (byte) line::x1#0 + (byte) line_xdyd::y#1 ← (byte) line::y1#0 + (byte) line_xdyd::x1#1 ← (byte) line::x0#0 + (byte) line_xdyd::xd#1 ← (byte) line::xd#0 + (byte) line_xdyd::yd#1 ← (byte) line::yd#3 + call line_xdyd param-assignment + to:line::@return +line::@13: scope:[line] from line::@9 + (byte) line_ydxi::y#1 ← (byte) line::y1#0 + (byte) line_ydxi::x#1 ← (byte) line::x1#0 + (byte) line_ydxi::y1#1 ← (byte) line::y0#0 + (byte) line_ydxi::yd#1 ← (byte) line::yd#10 + (byte) line_ydxi::xd#1 ← (byte) line::xd#0 + call line_ydxi param-assignment + to:line::@return +line::@27: scope:[line] from line::@9 + (byte) line_xdyi::x#1 ← (byte) line::x1#0 + (byte) line_xdyi::y#1 ← (byte) line::y1#0 + (byte) line_xdyi::x1#1 ← (byte) line::x0#0 + (byte) line_xdyi::xd#1 ← (byte) line::xd#0 + (byte) line_xdyi::yd#1 ← (byte) line::yd#10 + call line_xdyi param-assignment + to:line::@return +line::@return: scope:[line] from line::@10 line::@13 line::@17 line::@20 line::@24 line::@27 line::@3 line::@6 return to:@return -line_xdyi: scope:[line_xdyi] from line::@11 - (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#0 >> (byte) 1 +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::e#0 ← (byte) line_xdyi::yd#2 >> (byte) 1 to:line_xdyi::@1 line_xdyi::@1: scope:[line_xdyi] from line_xdyi line_xdyi::@2 (byte) line_xdyi::e#3 ← phi( line_xdyi/(byte) line_xdyi::e#0 line_xdyi::@2/(byte) line_xdyi::e#6 ) - (byte) line_xdyi::y#2 ← phi( line_xdyi/(byte) line_xdyi::y#0 line_xdyi::@2/(byte) line_xdyi::y#5 ) - (byte) line_xdyi::x#2 ← phi( line_xdyi/(byte) line_xdyi::x#0 line_xdyi::@2/(byte) line_xdyi::x#1 ) - (byte) plot::x#8 ← (byte) line_xdyi::x#2 - (byte) plot::y#8 ← (byte) line_xdyi::y#2 + (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#2 ) + (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::x#1 ← (byte) line_xdyi::x#2 + (byte) 1 - (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#0 - (boolean~) line_xdyi::$5 ← (byte) line_xdyi::xd#0 >= (byte) line_xdyi::e#1 + (byte) line_xdyi::x#2 ← (byte) line_xdyi::x#3 + (byte) 1 + (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#2 + (boolean~) line_xdyi::$5 ← (byte) line_xdyi::xd#5 >= (byte) line_xdyi::e#1 if((boolean~) line_xdyi::$5) goto line_xdyi::@2 to:line_xdyi::@3 line_xdyi::@2: scope:[line_xdyi] from line_xdyi::@3 line_xdyi::@5 (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#5 ← phi( line_xdyi::@3/(byte) line_xdyi::y#1 line_xdyi::@5/(byte) line_xdyi::y#2 ) - (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#0 + (byte) 1 - (boolean~) line_xdyi::$9 ← (byte) line_xdyi::x#1 < (byte~) line_xdyi::$8 + (byte) line_xdyi::y#6 ← phi( line_xdyi::@3/(byte) line_xdyi::y#2 line_xdyi::@5/(byte) line_xdyi::y#3 ) + (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#6 + (byte) 1 + (boolean~) line_xdyi::$9 ← (byte) line_xdyi::x#2 < (byte~) line_xdyi::$8 if((boolean~) line_xdyi::$9) goto line_xdyi::@1 to:line_xdyi::@return line_xdyi::@3: scope:[line_xdyi] from line_xdyi::@5 - (byte) line_xdyi::y#1 ← (byte) line_xdyi::y#2 + (byte) 1 - (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#0 + (byte) line_xdyi::y#2 ← (byte) line_xdyi::y#3 + (byte) 1 + (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#5 to:line_xdyi::@2 line_xdyi::@return: scope:[line_xdyi] from line_xdyi::@2 return to:@return -plot: scope:[plot] from line::@15 line::@17 line::@19 line::@2 line::@22 line::@24 line::@3 line::@7 line_xdyi::@1 - (byte[]) plot_bit#1 ← phi( line::@15/(byte[]) plot_bit#0 line::@17/(byte[]) plot_bit#0 line::@19/(byte[]) plot_bit#0 line::@2/(byte[]) plot_bit#0 line::@22/(byte[]) plot_bit#0 line::@24/(byte[]) plot_bit#0 line::@3/(byte[]) plot_bit#0 line::@7/(byte[]) plot_bit#0 line_xdyi::@1/(byte[]) plot_bit#0 ) - (byte[]) plot_ylo#1 ← phi( line::@15/(byte[]) plot_ylo#0 line::@17/(byte[]) plot_ylo#0 line::@19/(byte[]) plot_ylo#0 line::@2/(byte[]) plot_ylo#0 line::@22/(byte[]) plot_ylo#0 line::@24/(byte[]) plot_ylo#0 line::@3/(byte[]) plot_ylo#0 line::@7/(byte[]) plot_ylo#0 line_xdyi::@1/(byte[]) plot_ylo#0 ) - (byte) plot::y#9 ← phi( line::@15/(byte) plot::y#6 line::@17/(byte) plot::y#1 line::@19/(byte) plot::y#3 line::@2/(byte) plot::y#0 line::@22/(byte) plot::y#5 line::@24/(byte) plot::y#7 line::@3/(byte) plot::y#2 line::@7/(byte) plot::y#4 line_xdyi::@1/(byte) plot::y#8 ) - (byte[]) plot_yhi#1 ← phi( line::@15/(byte[]) plot_yhi#0 line::@17/(byte[]) plot_yhi#0 line::@19/(byte[]) plot_yhi#0 line::@2/(byte[]) plot_yhi#0 line::@22/(byte[]) plot_yhi#0 line::@24/(byte[]) plot_yhi#0 line::@3/(byte[]) plot_yhi#0 line::@7/(byte[]) plot_yhi#0 line_xdyi::@1/(byte[]) plot_yhi#0 ) - (byte[]) plot_xlo#1 ← phi( line::@15/(byte[]) plot_xlo#0 line::@17/(byte[]) plot_xlo#0 line::@19/(byte[]) plot_xlo#0 line::@2/(byte[]) plot_xlo#0 line::@22/(byte[]) plot_xlo#0 line::@24/(byte[]) plot_xlo#0 line::@3/(byte[]) plot_xlo#0 line::@7/(byte[]) plot_xlo#0 line_xdyi::@1/(byte[]) plot_xlo#0 ) - (byte) plot::x#9 ← phi( line::@15/(byte) plot::x#6 line::@17/(byte) plot::x#1 line::@19/(byte) plot::x#3 line::@2/(byte) plot::x#0 line::@22/(byte) plot::x#5 line::@24/(byte) plot::x#7 line::@3/(byte) plot::x#2 line::@7/(byte) plot::x#4 line_xdyi::@1/(byte) plot::x#8 ) - (byte[]) plot_xhi#1 ← phi( line::@15/(byte[]) plot_xhi#0 line::@17/(byte[]) plot_xhi#0 line::@19/(byte[]) plot_xhi#0 line::@2/(byte[]) plot_xhi#0 line::@22/(byte[]) plot_xhi#0 line::@24/(byte[]) plot_xhi#0 line::@3/(byte[]) plot_xhi#0 line::@7/(byte[]) plot_xhi#0 line_xdyi::@1/(byte[]) plot_xhi#0 ) +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::e#0 ← (byte) line_xdyd::yd#2 >> (byte) 1 + to:line_xdyd::@1 +line_xdyd::@1: scope:[line_xdyd] from line_xdyd line_xdyd::@2 + (byte) line_xdyd::e#3 ← 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#2 ) + (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::x#2 ← (byte) line_xdyd::x#3 + (byte) 1 + (byte) line_xdyd::e#1 ← (byte) line_xdyd::e#3 + (byte) line_xdyd::yd#2 + (boolean~) line_xdyd::$5 ← (byte) line_xdyd::xd#5 >= (byte) line_xdyd::e#1 + if((boolean~) line_xdyd::$5) goto line_xdyd::@2 + to:line_xdyd::@3 +line_xdyd::@2: scope:[line_xdyd] from line_xdyd::@3 line_xdyd::@5 + (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#3 ) + (byte~) line_xdyd::$8 ← (byte) line_xdyd::x1#6 + (byte) 1 + (boolean~) line_xdyd::$9 ← (byte) line_xdyd::x#2 < (byte~) line_xdyd::$8 + if((boolean~) line_xdyd::$9) goto line_xdyd::@1 + to:line_xdyd::@return +line_xdyd::@3: scope:[line_xdyd] from line_xdyd::@5 + (byte) line_xdyd::y#2 ← (byte) line_xdyd::y#3 - (byte) 1 + (byte) line_xdyd::e#2 ← (byte) line_xdyd::e#1 - (byte) line_xdyd::xd#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::e#0 ← (byte) line_ydxi::xd#2 >> (byte) 1 + to:line_ydxi::@1 +line_ydxi::@1: scope:[line_ydxi] from line_ydxi line_ydxi::@2 + (byte) line_ydxi::e#3 ← 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#2 ) + (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::y#2 ← (byte) line_ydxi::y#3 + (byte) 1 + (byte) line_ydxi::e#1 ← (byte) line_ydxi::e#3 + (byte) line_ydxi::xd#2 + (boolean~) line_ydxi::$5 ← (byte) line_ydxi::yd#5 >= (byte) line_ydxi::e#1 + if((boolean~) line_ydxi::$5) goto line_ydxi::@2 + to:line_ydxi::@3 +line_ydxi::@2: scope:[line_ydxi] from line_ydxi::@3 line_ydxi::@5 + (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#3 ) + (byte~) line_ydxi::$8 ← (byte) line_ydxi::y1#6 + (byte) 1 + (boolean~) line_ydxi::$9 ← (byte) line_ydxi::y#2 < (byte~) line_ydxi::$8 + if((boolean~) line_ydxi::$9) goto line_ydxi::@1 + to:line_ydxi::@return +line_ydxi::@3: scope:[line_ydxi] from line_ydxi::@5 + (byte) line_ydxi::x#2 ← (byte) line_ydxi::x#3 + (byte) 1 + (byte) line_ydxi::e#2 ← (byte) line_ydxi::e#1 - (byte) line_ydxi::yd#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#6 ← 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::e#0 ← (byte) line_ydxd::xd#2 >> (byte) 1 + to:line_ydxd::@1 +line_ydxd::@1: scope:[line_ydxd] from line_ydxd line_ydxd::@2 + (byte) line_ydxd::e#3 ← phi( line_ydxd/(byte) line_ydxd::e#0 line_ydxd::@2/(byte) line_ydxd::e#6 ) + (byte) line_ydxd::y#3 ← phi( line_ydxd/(byte) line_ydxd::y#6 line_ydxd::@2/(byte) line_ydxd::y#2 ) + (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#3 + call plot param-assignment + to:line_ydxd::@5 +line_ydxd::@5: scope:[line_ydxd] from line_ydxd::@1 + (byte) line_ydxd::y#2 ← (byte) line_ydxd::y#3 + (byte) 1 + (byte) line_ydxd::e#1 ← (byte) line_ydxd::e#3 + (byte) line_ydxd::xd#2 + (boolean~) line_ydxd::$5 ← (byte) line_ydxd::yd#5 >= (byte) line_ydxd::e#1 + if((boolean~) line_ydxd::$5) goto line_ydxd::@2 + to:line_ydxd::@3 +line_ydxd::@2: scope:[line_ydxd] from line_ydxd::@3 line_ydxd::@5 + (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#3 ) + (byte~) line_ydxd::$8 ← (byte) line_ydxd::y1#6 + (byte) 1 + (boolean~) line_ydxd::$9 ← (byte) line_ydxd::y#2 < (byte~) line_ydxd::$8 + if((boolean~) line_ydxd::$9) goto line_ydxd::@1 + to:line_ydxd::@return +line_ydxd::@3: scope:[line_ydxd] from line_ydxd::@5 + (byte) line_ydxd::x#2 ← (byte) line_ydxd::x#3 - (byte) 1 + (byte) line_ydxd::e#2 ← (byte) line_ydxd::e#1 - (byte) line_ydxd::yd#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_bit#1 ← phi( line_xdyd::@1/(byte[]) plot_bit#0 line_xdyi::@1/(byte[]) plot_bit#0 line_ydxd::@1/(byte[]) plot_bit#0 line_ydxi::@1/(byte[]) plot_bit#0 ) + (byte[]) plot_ylo#1 ← phi( line_xdyd::@1/(byte[]) plot_ylo#0 line_xdyi::@1/(byte[]) plot_ylo#0 line_ydxd::@1/(byte[]) plot_ylo#0 line_ydxi::@1/(byte[]) plot_ylo#0 ) + (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_yhi#1 ← phi( line_xdyd::@1/(byte[]) plot_yhi#0 line_xdyi::@1/(byte[]) plot_yhi#0 line_ydxd::@1/(byte[]) plot_yhi#0 line_ydxi::@1/(byte[]) plot_yhi#0 ) + (byte[]) plot_xlo#1 ← phi( line_xdyd::@1/(byte[]) plot_xlo#0 line_xdyi::@1/(byte[]) plot_xlo#0 line_ydxd::@1/(byte[]) plot_xlo#0 line_ydxi::@1/(byte[]) plot_xlo#0 ) + (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 ) + (byte[]) plot_xhi#1 ← phi( line_xdyd::@1/(byte[]) plot_xhi#0 line_xdyi::@1/(byte[]) plot_xhi#0 line_ydxd::@1/(byte[]) plot_xhi#0 line_ydxi::@1/(byte[]) plot_xhi#0 ) (byte*) plot::plotter_x#0 ← (byte) 0 (byte*) plot::plotter_y#0 ← (byte) 0 - (byte~) plot::$0 ← (byte[]) plot_xhi#1 *idx (byte) plot::x#9 + (byte~) plot::$0 ← (byte[]) plot_xhi#1 *idx (byte) plot::x#4 (byte*) plot::plotter_x#1 ← (byte*) plot::plotter_x#0 hi= (byte~) plot::$0 - (byte~) plot::$1 ← (byte[]) plot_xlo#1 *idx (byte) plot::x#9 + (byte~) plot::$1 ← (byte[]) plot_xlo#1 *idx (byte) plot::x#4 (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 - (byte~) plot::$2 ← (byte[]) plot_yhi#1 *idx (byte) plot::y#9 + (byte~) plot::$2 ← (byte[]) plot_yhi#1 *idx (byte) plot::y#4 (byte*) plot::plotter_y#1 ← (byte*) plot::plotter_y#0 hi= (byte~) plot::$2 - (byte~) plot::$3 ← (byte[]) plot_ylo#1 *idx (byte) plot::y#9 + (byte~) plot::$3 ← (byte[]) plot_ylo#1 *idx (byte) plot::y#4 (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 (byte~) plot::$5 ← * (byte*) plot::plotter#0 - (byte~) plot::$6 ← (byte[]) plot_bit#1 *idx (byte) plot::x#9 + (byte~) plot::$6 ← (byte[]) plot_bit#1 *idx (byte) plot::x#4 (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 *((byte*) plot::plotter#0) ← (byte~) plot::$7 to:plot::@return @@ -5870,10 +9037,10 @@ init_screen::@2: scope:[init_screen] from init_screen::@2 init_screen::@3 init_screen::@return: scope:[init_screen] from init_screen::@2 return to:@return -@7: scope:[] from @begin +@10: scope:[] from @begin call main param-assignment to:@end -@end: scope:[] from @7 +@end: scope:[] from @10 Redundant Phi (byte[]) plot_xhi#1 (byte[]) plot_xhi#0 Redundant Phi (byte[]) plot_xlo#1 (byte[]) plot_xlo#0 @@ -5907,8 +9074,8 @@ CONTROL FLOW GRAPH (byte[]) lines_x#0 ← { (byte) 60, (byte) 80, (byte) 110, (byte) 80, (byte) 60, (byte) 40, (byte) 10, (byte) 40, (byte) 60 } (byte[]) lines_y#0 ← { (byte) 10, (byte) 40, (byte) 60, (byte) 80, (byte) 110, (byte) 80, (byte) 60, (byte) 40, (byte) 10 } (byte) lines_cnt#0 ← (byte) 8 - to:@7 -main: scope:[main] from @7 + to:@10 +main: scope:[main] from @10 *((byte*) BGCOL#0) ← (byte) 0 *((byte*) FGCOL#0) ← (byte) 0 (byte~) main::$0 ← (byte) BMM#0 | (byte) DEN#0 @@ -5960,120 +9127,264 @@ lines::@return: scope:[lines] from lines::@3 line: scope:[line] from lines::@1 (boolean~) line::$1 ← (byte) line::x0#0 >= (byte) line::x1#0 if((boolean~) line::$1) goto line::@1 - to:line::@9 -line::@1: scope:[line] from line - (byte) line::xd#0 ← (byte) line::x1#0 - (byte) line::x0#0 - (boolean~) line::$15 ← (byte) line::y0#0 >= (byte) line::y1#0 - if((boolean~) line::$15) goto line::@7 to:line::@15 -line::@9: scope:[line] from line +line::@1: scope:[line] from line + (byte) line::xd#0 ← (byte) line::x0#0 - (byte) line::x1#0 + (boolean~) line::$17 ← (byte) line::y0#0 >= (byte) line::y1#0 + if((boolean~) line::$17) goto line::@9 + to:line::@23 +line::@15: scope:[line] from line (byte) line::xd#1 ← (byte) line::x1#0 - (byte) line::x0#0 (boolean~) line::$4 ← (byte) line::y0#0 >= (byte) line::y1#0 if((boolean~) line::$4) goto line::@2 - to:line::@10 -line::@2: scope:[line] from line::@9 - (byte) plot::x#0 ← (byte) line::x0#0 - (byte) plot::y#0 ← (byte) line::y0#0 - call plot param-assignment - to:line::@17 -line::@17: scope:[line] from line::@2 - (byte) plot::x#1 ← (byte) line::x1#0 - (byte) plot::y#1 ← (byte) line::y1#0 - call plot param-assignment - to:line::@return -line::@10: scope:[line] from line::@9 - (byte) line::yd#0 ← (byte) line::y1#0 - (byte) line::y0#0 - (boolean~) line::$7 ← (byte) line::yd#0 >= (byte) line::xd#1 + to:line::@16 +line::@2: scope:[line] from line::@15 + (byte) line::yd#0 ← (byte) line::y0#0 - (byte) line::y1#0 + (boolean~) line::$12 ← (byte) line::yd#0 >= (byte) line::xd#1 + if((boolean~) line::$12) goto line::@6 + to:line::@20 +line::@16: scope:[line] from line::@15 + (byte) line::yd#1 ← (byte) line::y1#0 - (byte) line::y0#0 + (boolean~) line::$7 ← (byte) line::yd#1 >= (byte) line::xd#1 if((boolean~) line::$7) goto line::@3 - to:line::@11 -line::@3: scope:[line] from line::@10 - (byte) plot::x#2 ← (byte) line::x0#0 - (byte) plot::y#2 ← (byte) line::y0#0 - call plot param-assignment - to:line::@19 -line::@19: scope:[line] from line::@3 - (byte) plot::x#3 ← (byte) line::x1#0 - (byte) plot::y#3 ← (byte) line::y1#0 - call plot param-assignment + to:line::@17 +line::@3: scope:[line] from line::@16 + (byte) line_ydxi::y#0 ← (byte) line::y0#0 + (byte) line_ydxi::x#0 ← (byte) line::x0#0 + (byte) line_ydxi::y1#0 ← (byte) line::y1#0 + (byte) line_ydxi::yd#0 ← (byte) line::yd#1 + (byte) line_ydxi::xd#0 ← (byte) line::xd#1 + call line_ydxi param-assignment to:line::@return -line::@11: scope:[line] from line::@10 +line::@17: scope:[line] from line::@16 (byte) line_xdyi::x#0 ← (byte) line::x0#0 (byte) line_xdyi::y#0 ← (byte) line::y0#0 (byte) line_xdyi::x1#0 ← (byte) line::x1#0 (byte) line_xdyi::xd#0 ← (byte) line::xd#1 - (byte) line_xdyi::yd#0 ← (byte) line::yd#0 + (byte) line_xdyi::yd#0 ← (byte) line::yd#1 call line_xdyi param-assignment to:line::@return -line::@7: scope:[line] from line::@1 - (byte) plot::x#4 ← (byte) line::x0#0 - (byte) plot::y#4 ← (byte) line::y0#0 - call plot param-assignment - to:line::@22 -line::@22: scope:[line] from line::@7 - (byte) plot::x#5 ← (byte) line::x1#0 - (byte) plot::y#5 ← (byte) line::y1#0 - call plot param-assignment +line::@6: scope:[line] from line::@2 + (byte) line_ydxd::y#0 ← (byte) line::y1#0 + (byte) line_ydxd::x#0 ← (byte) line::x1#0 + (byte) line_ydxd::y1#0 ← (byte) line::y0#0 + (byte) line_ydxd::yd#0 ← (byte) line::yd#0 + (byte) line_ydxd::xd#0 ← (byte) line::xd#1 + call line_ydxd param-assignment to:line::@return -line::@15: scope:[line] from line::@1 - (byte) plot::x#6 ← (byte) line::x0#0 - (byte) plot::y#6 ← (byte) line::y0#0 - call plot param-assignment +line::@20: scope:[line] from line::@2 + (byte) line_xdyd::x#0 ← (byte) line::x0#0 + (byte) line_xdyd::y#0 ← (byte) line::y0#0 + (byte) line_xdyd::x1#0 ← (byte) line::x1#0 + (byte) line_xdyd::xd#0 ← (byte) line::xd#1 + (byte) line_xdyd::yd#0 ← (byte) line::yd#0 + call line_xdyd param-assignment + to:line::@return +line::@9: scope:[line] from line::@1 + (byte) line::yd#10 ← (byte) line::y0#0 - (byte) line::y1#0 + (boolean~) line::$25 ← (byte) line::yd#10 >= (byte) line::xd#0 + if((boolean~) line::$25) goto line::@13 + to:line::@27 +line::@23: scope:[line] from line::@1 + (byte) line::yd#3 ← (byte) line::y1#0 - (byte) line::y0#0 + (boolean~) line::$20 ← (byte) line::yd#3 >= (byte) line::xd#0 + if((boolean~) line::$20) goto line::@10 to:line::@24 -line::@24: scope:[line] from line::@15 - (byte) plot::x#7 ← (byte) line::x1#0 - (byte) plot::y#7 ← (byte) line::y1#0 - call plot param-assignment +line::@10: scope:[line] from line::@23 + (byte) line_ydxd::y#1 ← (byte) line::y0#0 + (byte) line_ydxd::x#1 ← (byte) line::x0#0 + (byte) line_ydxd::y1#1 ← (byte) line::y1#0 + (byte) line_ydxd::yd#1 ← (byte) line::yd#3 + (byte) line_ydxd::xd#1 ← (byte) line::xd#0 + call line_ydxd param-assignment to:line::@return -line::@return: scope:[line] from line::@11 line::@17 line::@19 line::@22 line::@24 +line::@24: scope:[line] from line::@23 + (byte) line_xdyd::x#1 ← (byte) line::x1#0 + (byte) line_xdyd::y#1 ← (byte) line::y1#0 + (byte) line_xdyd::x1#1 ← (byte) line::x0#0 + (byte) line_xdyd::xd#1 ← (byte) line::xd#0 + (byte) line_xdyd::yd#1 ← (byte) line::yd#3 + call line_xdyd param-assignment + to:line::@return +line::@13: scope:[line] from line::@9 + (byte) line_ydxi::y#1 ← (byte) line::y1#0 + (byte) line_ydxi::x#1 ← (byte) line::x1#0 + (byte) line_ydxi::y1#1 ← (byte) line::y0#0 + (byte) line_ydxi::yd#1 ← (byte) line::yd#10 + (byte) line_ydxi::xd#1 ← (byte) line::xd#0 + call line_ydxi param-assignment + to:line::@return +line::@27: scope:[line] from line::@9 + (byte) line_xdyi::x#1 ← (byte) line::x1#0 + (byte) line_xdyi::y#1 ← (byte) line::y1#0 + (byte) line_xdyi::x1#1 ← (byte) line::x0#0 + (byte) line_xdyi::xd#1 ← (byte) line::xd#0 + (byte) line_xdyi::yd#1 ← (byte) line::yd#10 + call line_xdyi param-assignment + to:line::@return +line::@return: scope:[line] from line::@10 line::@13 line::@17 line::@20 line::@24 line::@27 line::@3 line::@6 return to:@return -line_xdyi: scope:[line_xdyi] from line::@11 - (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#0 >> (byte) 1 +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::e#0 ← (byte) line_xdyi::yd#2 >> (byte) 1 to:line_xdyi::@1 line_xdyi::@1: scope:[line_xdyi] from line_xdyi line_xdyi::@2 (byte) line_xdyi::e#3 ← phi( line_xdyi/(byte) line_xdyi::e#0 line_xdyi::@2/(byte) line_xdyi::e#6 ) - (byte) line_xdyi::y#2 ← phi( line_xdyi/(byte) line_xdyi::y#0 line_xdyi::@2/(byte) line_xdyi::y#5 ) - (byte) line_xdyi::x#2 ← phi( line_xdyi/(byte) line_xdyi::x#0 line_xdyi::@2/(byte) line_xdyi::x#1 ) - (byte) plot::x#8 ← (byte) line_xdyi::x#2 - (byte) plot::y#8 ← (byte) line_xdyi::y#2 + (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#2 ) + (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::x#1 ← (byte) line_xdyi::x#2 + (byte) 1 - (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#0 - (boolean~) line_xdyi::$5 ← (byte) line_xdyi::xd#0 >= (byte) line_xdyi::e#1 + (byte) line_xdyi::x#2 ← (byte) line_xdyi::x#3 + (byte) 1 + (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#2 + (boolean~) line_xdyi::$5 ← (byte) line_xdyi::xd#5 >= (byte) line_xdyi::e#1 if((boolean~) line_xdyi::$5) goto line_xdyi::@2 to:line_xdyi::@3 line_xdyi::@2: scope:[line_xdyi] from line_xdyi::@3 line_xdyi::@5 (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#5 ← phi( line_xdyi::@3/(byte) line_xdyi::y#1 line_xdyi::@5/(byte) line_xdyi::y#2 ) - (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#0 + (byte) 1 - (boolean~) line_xdyi::$9 ← (byte) line_xdyi::x#1 < (byte~) line_xdyi::$8 + (byte) line_xdyi::y#6 ← phi( line_xdyi::@3/(byte) line_xdyi::y#2 line_xdyi::@5/(byte) line_xdyi::y#3 ) + (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#6 + (byte) 1 + (boolean~) line_xdyi::$9 ← (byte) line_xdyi::x#2 < (byte~) line_xdyi::$8 if((boolean~) line_xdyi::$9) goto line_xdyi::@1 to:line_xdyi::@return line_xdyi::@3: scope:[line_xdyi] from line_xdyi::@5 - (byte) line_xdyi::y#1 ← (byte) line_xdyi::y#2 + (byte) 1 - (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#0 + (byte) line_xdyi::y#2 ← (byte) line_xdyi::y#3 + (byte) 1 + (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#5 to:line_xdyi::@2 line_xdyi::@return: scope:[line_xdyi] from line_xdyi::@2 return to:@return -plot: scope:[plot] from line::@15 line::@17 line::@19 line::@2 line::@22 line::@24 line::@3 line::@7 line_xdyi::@1 - (byte) plot::y#9 ← phi( line::@15/(byte) plot::y#6 line::@17/(byte) plot::y#1 line::@19/(byte) plot::y#3 line::@2/(byte) plot::y#0 line::@22/(byte) plot::y#5 line::@24/(byte) plot::y#7 line::@3/(byte) plot::y#2 line::@7/(byte) plot::y#4 line_xdyi::@1/(byte) plot::y#8 ) - (byte) plot::x#9 ← phi( line::@15/(byte) plot::x#6 line::@17/(byte) plot::x#1 line::@19/(byte) plot::x#3 line::@2/(byte) plot::x#0 line::@22/(byte) plot::x#5 line::@24/(byte) plot::x#7 line::@3/(byte) plot::x#2 line::@7/(byte) plot::x#4 line_xdyi::@1/(byte) plot::x#8 ) +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::e#0 ← (byte) line_xdyd::yd#2 >> (byte) 1 + to:line_xdyd::@1 +line_xdyd::@1: scope:[line_xdyd] from line_xdyd line_xdyd::@2 + (byte) line_xdyd::e#3 ← 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#2 ) + (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::x#2 ← (byte) line_xdyd::x#3 + (byte) 1 + (byte) line_xdyd::e#1 ← (byte) line_xdyd::e#3 + (byte) line_xdyd::yd#2 + (boolean~) line_xdyd::$5 ← (byte) line_xdyd::xd#5 >= (byte) line_xdyd::e#1 + if((boolean~) line_xdyd::$5) goto line_xdyd::@2 + to:line_xdyd::@3 +line_xdyd::@2: scope:[line_xdyd] from line_xdyd::@3 line_xdyd::@5 + (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#3 ) + (byte~) line_xdyd::$8 ← (byte) line_xdyd::x1#6 + (byte) 1 + (boolean~) line_xdyd::$9 ← (byte) line_xdyd::x#2 < (byte~) line_xdyd::$8 + if((boolean~) line_xdyd::$9) goto line_xdyd::@1 + to:line_xdyd::@return +line_xdyd::@3: scope:[line_xdyd] from line_xdyd::@5 + (byte) line_xdyd::y#2 ← (byte) line_xdyd::y#3 - (byte) 1 + (byte) line_xdyd::e#2 ← (byte) line_xdyd::e#1 - (byte) line_xdyd::xd#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::e#0 ← (byte) line_ydxi::xd#2 >> (byte) 1 + to:line_ydxi::@1 +line_ydxi::@1: scope:[line_ydxi] from line_ydxi line_ydxi::@2 + (byte) line_ydxi::e#3 ← 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#2 ) + (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::y#2 ← (byte) line_ydxi::y#3 + (byte) 1 + (byte) line_ydxi::e#1 ← (byte) line_ydxi::e#3 + (byte) line_ydxi::xd#2 + (boolean~) line_ydxi::$5 ← (byte) line_ydxi::yd#5 >= (byte) line_ydxi::e#1 + if((boolean~) line_ydxi::$5) goto line_ydxi::@2 + to:line_ydxi::@3 +line_ydxi::@2: scope:[line_ydxi] from line_ydxi::@3 line_ydxi::@5 + (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#3 ) + (byte~) line_ydxi::$8 ← (byte) line_ydxi::y1#6 + (byte) 1 + (boolean~) line_ydxi::$9 ← (byte) line_ydxi::y#2 < (byte~) line_ydxi::$8 + if((boolean~) line_ydxi::$9) goto line_ydxi::@1 + to:line_ydxi::@return +line_ydxi::@3: scope:[line_ydxi] from line_ydxi::@5 + (byte) line_ydxi::x#2 ← (byte) line_ydxi::x#3 + (byte) 1 + (byte) line_ydxi::e#2 ← (byte) line_ydxi::e#1 - (byte) line_ydxi::yd#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#6 ← 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::e#0 ← (byte) line_ydxd::xd#2 >> (byte) 1 + to:line_ydxd::@1 +line_ydxd::@1: scope:[line_ydxd] from line_ydxd line_ydxd::@2 + (byte) line_ydxd::e#3 ← phi( line_ydxd/(byte) line_ydxd::e#0 line_ydxd::@2/(byte) line_ydxd::e#6 ) + (byte) line_ydxd::y#3 ← phi( line_ydxd/(byte) line_ydxd::y#6 line_ydxd::@2/(byte) line_ydxd::y#2 ) + (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#3 + call plot param-assignment + to:line_ydxd::@5 +line_ydxd::@5: scope:[line_ydxd] from line_ydxd::@1 + (byte) line_ydxd::y#2 ← (byte) line_ydxd::y#3 + (byte) 1 + (byte) line_ydxd::e#1 ← (byte) line_ydxd::e#3 + (byte) line_ydxd::xd#2 + (boolean~) line_ydxd::$5 ← (byte) line_ydxd::yd#5 >= (byte) line_ydxd::e#1 + if((boolean~) line_ydxd::$5) goto line_ydxd::@2 + to:line_ydxd::@3 +line_ydxd::@2: scope:[line_ydxd] from line_ydxd::@3 line_ydxd::@5 + (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#3 ) + (byte~) line_ydxd::$8 ← (byte) line_ydxd::y1#6 + (byte) 1 + (boolean~) line_ydxd::$9 ← (byte) line_ydxd::y#2 < (byte~) line_ydxd::$8 + if((boolean~) line_ydxd::$9) goto line_ydxd::@1 + to:line_ydxd::@return +line_ydxd::@3: scope:[line_ydxd] from line_ydxd::@5 + (byte) line_ydxd::x#2 ← (byte) line_ydxd::x#3 - (byte) 1 + (byte) line_ydxd::e#2 ← (byte) line_ydxd::e#1 - (byte) line_ydxd::yd#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 ) (byte*) plot::plotter_x#0 ← (byte) 0 (byte*) plot::plotter_y#0 ← (byte) 0 - (byte~) plot::$0 ← (byte[]) plot_xhi#0 *idx (byte) plot::x#9 + (byte~) plot::$0 ← (byte[]) plot_xhi#0 *idx (byte) plot::x#4 (byte*) plot::plotter_x#1 ← (byte*) plot::plotter_x#0 hi= (byte~) plot::$0 - (byte~) plot::$1 ← (byte[]) plot_xlo#0 *idx (byte) plot::x#9 + (byte~) plot::$1 ← (byte[]) plot_xlo#0 *idx (byte) plot::x#4 (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 - (byte~) plot::$2 ← (byte[]) plot_yhi#0 *idx (byte) plot::y#9 + (byte~) plot::$2 ← (byte[]) plot_yhi#0 *idx (byte) plot::y#4 (byte*) plot::plotter_y#1 ← (byte*) plot::plotter_y#0 hi= (byte~) plot::$2 - (byte~) plot::$3 ← (byte[]) plot_ylo#0 *idx (byte) plot::y#9 + (byte~) plot::$3 ← (byte[]) plot_ylo#0 *idx (byte) plot::y#4 (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 (byte~) plot::$5 ← * (byte*) plot::plotter#0 - (byte~) plot::$6 ← (byte[]) plot_bit#0 *idx (byte) plot::x#9 + (byte~) plot::$6 ← (byte[]) plot_bit#0 *idx (byte) plot::x#4 (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 *((byte*) plot::plotter#0) ← (byte~) plot::$7 to:plot::@return @@ -6159,18 +9470,27 @@ init_screen::@2: scope:[init_screen] from init_screen::@2 init_screen::@3 init_screen::@return: scope:[init_screen] from init_screen::@2 return to:@return -@7: scope:[] from @begin +@10: scope:[] from @begin call main param-assignment to:@end -@end: scope:[] from @7 +@end: scope:[] from @10 Simple Condition (boolean~) lines::$7 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::$15 if((byte) line::y0#0>=(byte) line::y1#0) goto line::@7 +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::$7 if((byte) line::yd#0>=(byte) line::xd#1) goto line::@3 -Simple Condition (boolean~) line_xdyi::$5 if((byte) line_xdyi::xd#0>=(byte) line_xdyi::e#1) goto line_xdyi::@2 -Simple Condition (boolean~) line_xdyi::$9 if((byte) line_xdyi::x#1<(byte~) line_xdyi::$8) goto line_xdyi::@1 +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::$5 if((byte) line_xdyi::xd#5>=(byte) line_xdyi::e#1) goto line_xdyi::@2 +Simple Condition (boolean~) line_xdyi::$9 if((byte) line_xdyi::x#2<(byte~) line_xdyi::$8) goto line_xdyi::@1 +Simple Condition (boolean~) line_xdyd::$5 if((byte) line_xdyd::xd#5>=(byte) line_xdyd::e#1) goto line_xdyd::@2 +Simple Condition (boolean~) line_xdyd::$9 if((byte) line_xdyd::x#2<(byte~) line_xdyd::$8) goto line_xdyd::@1 +Simple Condition (boolean~) line_ydxi::$5 if((byte) line_ydxi::yd#5>=(byte) line_ydxi::e#1) goto line_ydxi::@2 +Simple Condition (boolean~) line_ydxi::$9 if((byte) line_ydxi::y#2<(byte~) line_ydxi::$8) goto line_ydxi::@1 +Simple Condition (boolean~) line_ydxd::$5 if((byte) line_ydxd::yd#5>=(byte) line_ydxd::e#1) goto line_ydxd::@2 +Simple Condition (boolean~) line_ydxd::$9 if((byte) line_ydxd::y#2<(byte~) line_ydxd::$8) goto line_ydxd::@1 Simple Condition (boolean~) init_plot_tables::$4 if((byte) init_plot_tables::bit#1!=(byte) 0) goto init_plot_tables::@2 Simple Condition (boolean~) init_plot_tables::$5 if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 Simple Condition (boolean~) init_plot_tables::$12 if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 @@ -6204,8 +9524,8 @@ CONTROL FLOW GRAPH (byte[]) lines_x#0 ← { (byte) 60, (byte) 80, (byte) 110, (byte) 80, (byte) 60, (byte) 40, (byte) 10, (byte) 40, (byte) 60 } (byte[]) lines_y#0 ← { (byte) 10, (byte) 40, (byte) 60, (byte) 80, (byte) 110, (byte) 80, (byte) 60, (byte) 40, (byte) 10 } (byte) lines_cnt#0 ← (byte) 8 - to:@7 -main: scope:[main] from @7 + to:@10 +main: scope:[main] from @10 *((byte*) BGCOL#0) ← (byte) 0 *((byte*) FGCOL#0) ← (byte) 0 (byte~) main::$0 ← (byte) BMM#0 | (byte) DEN#0 @@ -6255,115 +9575,250 @@ lines::@return: scope:[lines] from lines::@3 to:@return line: scope:[line] from lines::@1 if((byte) line::x0#0>=(byte) line::x1#0) goto line::@1 - to:line::@9 -line::@1: scope:[line] from line - (byte) line::xd#0 ← (byte) line::x1#0 - (byte) line::x0#0 - if((byte) line::y0#0>=(byte) line::y1#0) goto line::@7 to:line::@15 -line::@9: scope:[line] from line +line::@1: scope:[line] from line + (byte) line::xd#0 ← (byte) line::x0#0 - (byte) line::x1#0 + if((byte) line::y0#0>=(byte) line::y1#0) goto line::@9 + to:line::@23 +line::@15: scope:[line] from line (byte) line::xd#1 ← (byte) line::x1#0 - (byte) line::x0#0 if((byte) line::y0#0>=(byte) line::y1#0) goto line::@2 - to:line::@10 -line::@2: scope:[line] from line::@9 - (byte) plot::x#0 ← (byte) line::x0#0 - (byte) plot::y#0 ← (byte) line::y0#0 - call plot param-assignment + to:line::@16 +line::@2: scope:[line] from line::@15 + (byte) line::yd#0 ← (byte) line::y0#0 - (byte) line::y1#0 + if((byte) line::yd#0>=(byte) line::xd#1) goto line::@6 + to:line::@20 +line::@16: scope:[line] from line::@15 + (byte) line::yd#1 ← (byte) line::y1#0 - (byte) line::y0#0 + if((byte) line::yd#1>=(byte) line::xd#1) goto line::@3 to:line::@17 -line::@17: scope:[line] from line::@2 - (byte) plot::x#1 ← (byte) line::x1#0 - (byte) plot::y#1 ← (byte) line::y1#0 - call plot param-assignment +line::@3: scope:[line] from line::@16 + (byte) line_ydxi::y#0 ← (byte) line::y0#0 + (byte) line_ydxi::x#0 ← (byte) line::x0#0 + (byte) line_ydxi::y1#0 ← (byte) line::y1#0 + (byte) line_ydxi::yd#0 ← (byte) line::yd#1 + (byte) line_ydxi::xd#0 ← (byte) line::xd#1 + call line_ydxi param-assignment to:line::@return -line::@10: scope:[line] from line::@9 - (byte) line::yd#0 ← (byte) line::y1#0 - (byte) line::y0#0 - if((byte) line::yd#0>=(byte) line::xd#1) goto line::@3 - to:line::@11 -line::@3: scope:[line] from line::@10 - (byte) plot::x#2 ← (byte) line::x0#0 - (byte) plot::y#2 ← (byte) line::y0#0 - call plot param-assignment - to:line::@19 -line::@19: scope:[line] from line::@3 - (byte) plot::x#3 ← (byte) line::x1#0 - (byte) plot::y#3 ← (byte) line::y1#0 - call plot param-assignment - to:line::@return -line::@11: scope:[line] from line::@10 +line::@17: scope:[line] from line::@16 (byte) line_xdyi::x#0 ← (byte) line::x0#0 (byte) line_xdyi::y#0 ← (byte) line::y0#0 (byte) line_xdyi::x1#0 ← (byte) line::x1#0 (byte) line_xdyi::xd#0 ← (byte) line::xd#1 - (byte) line_xdyi::yd#0 ← (byte) line::yd#0 + (byte) line_xdyi::yd#0 ← (byte) line::yd#1 call line_xdyi param-assignment to:line::@return -line::@7: scope:[line] from line::@1 - (byte) plot::x#4 ← (byte) line::x0#0 - (byte) plot::y#4 ← (byte) line::y0#0 - call plot param-assignment - to:line::@22 -line::@22: scope:[line] from line::@7 - (byte) plot::x#5 ← (byte) line::x1#0 - (byte) plot::y#5 ← (byte) line::y1#0 - call plot param-assignment +line::@6: scope:[line] from line::@2 + (byte) line_ydxd::y#0 ← (byte) line::y1#0 + (byte) line_ydxd::x#0 ← (byte) line::x1#0 + (byte) line_ydxd::y1#0 ← (byte) line::y0#0 + (byte) line_ydxd::yd#0 ← (byte) line::yd#0 + (byte) line_ydxd::xd#0 ← (byte) line::xd#1 + call line_ydxd param-assignment to:line::@return -line::@15: scope:[line] from line::@1 - (byte) plot::x#6 ← (byte) line::x0#0 - (byte) plot::y#6 ← (byte) line::y0#0 - call plot param-assignment +line::@20: scope:[line] from line::@2 + (byte) line_xdyd::x#0 ← (byte) line::x0#0 + (byte) line_xdyd::y#0 ← (byte) line::y0#0 + (byte) line_xdyd::x1#0 ← (byte) line::x1#0 + (byte) line_xdyd::xd#0 ← (byte) line::xd#1 + (byte) line_xdyd::yd#0 ← (byte) line::yd#0 + call line_xdyd param-assignment + to:line::@return +line::@9: scope:[line] from line::@1 + (byte) line::yd#10 ← (byte) line::y0#0 - (byte) line::y1#0 + if((byte) line::yd#10>=(byte) line::xd#0) goto line::@13 + to:line::@27 +line::@23: scope:[line] from line::@1 + (byte) line::yd#3 ← (byte) line::y1#0 - (byte) line::y0#0 + if((byte) line::yd#3>=(byte) line::xd#0) goto line::@10 to:line::@24 -line::@24: scope:[line] from line::@15 - (byte) plot::x#7 ← (byte) line::x1#0 - (byte) plot::y#7 ← (byte) line::y1#0 - call plot param-assignment +line::@10: scope:[line] from line::@23 + (byte) line_ydxd::y#1 ← (byte) line::y0#0 + (byte) line_ydxd::x#1 ← (byte) line::x0#0 + (byte) line_ydxd::y1#1 ← (byte) line::y1#0 + (byte) line_ydxd::yd#1 ← (byte) line::yd#3 + (byte) line_ydxd::xd#1 ← (byte) line::xd#0 + call line_ydxd param-assignment to:line::@return -line::@return: scope:[line] from line::@11 line::@17 line::@19 line::@22 line::@24 +line::@24: scope:[line] from line::@23 + (byte) line_xdyd::x#1 ← (byte) line::x1#0 + (byte) line_xdyd::y#1 ← (byte) line::y1#0 + (byte) line_xdyd::x1#1 ← (byte) line::x0#0 + (byte) line_xdyd::xd#1 ← (byte) line::xd#0 + (byte) line_xdyd::yd#1 ← (byte) line::yd#3 + call line_xdyd param-assignment + to:line::@return +line::@13: scope:[line] from line::@9 + (byte) line_ydxi::y#1 ← (byte) line::y1#0 + (byte) line_ydxi::x#1 ← (byte) line::x1#0 + (byte) line_ydxi::y1#1 ← (byte) line::y0#0 + (byte) line_ydxi::yd#1 ← (byte) line::yd#10 + (byte) line_ydxi::xd#1 ← (byte) line::xd#0 + call line_ydxi param-assignment + to:line::@return +line::@27: scope:[line] from line::@9 + (byte) line_xdyi::x#1 ← (byte) line::x1#0 + (byte) line_xdyi::y#1 ← (byte) line::y1#0 + (byte) line_xdyi::x1#1 ← (byte) line::x0#0 + (byte) line_xdyi::xd#1 ← (byte) line::xd#0 + (byte) line_xdyi::yd#1 ← (byte) line::yd#10 + call line_xdyi param-assignment + to:line::@return +line::@return: scope:[line] from line::@10 line::@13 line::@17 line::@20 line::@24 line::@27 line::@3 line::@6 return to:@return -line_xdyi: scope:[line_xdyi] from line::@11 - (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#0 >> (byte) 1 +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::e#0 ← (byte) line_xdyi::yd#2 >> (byte) 1 to:line_xdyi::@1 line_xdyi::@1: scope:[line_xdyi] from line_xdyi line_xdyi::@2 (byte) line_xdyi::e#3 ← phi( line_xdyi/(byte) line_xdyi::e#0 line_xdyi::@2/(byte) line_xdyi::e#6 ) - (byte) line_xdyi::y#2 ← phi( line_xdyi/(byte) line_xdyi::y#0 line_xdyi::@2/(byte) line_xdyi::y#5 ) - (byte) line_xdyi::x#2 ← phi( line_xdyi/(byte) line_xdyi::x#0 line_xdyi::@2/(byte) line_xdyi::x#1 ) - (byte) plot::x#8 ← (byte) line_xdyi::x#2 - (byte) plot::y#8 ← (byte) line_xdyi::y#2 + (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#2 ) + (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::x#1 ← (byte) line_xdyi::x#2 + (byte) 1 - (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#0 - if((byte) line_xdyi::xd#0>=(byte) line_xdyi::e#1) goto line_xdyi::@2 + (byte) line_xdyi::x#2 ← (byte) line_xdyi::x#3 + (byte) 1 + (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#2 + if((byte) line_xdyi::xd#5>=(byte) line_xdyi::e#1) goto line_xdyi::@2 to:line_xdyi::@3 line_xdyi::@2: scope:[line_xdyi] from line_xdyi::@3 line_xdyi::@5 (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#5 ← phi( line_xdyi::@3/(byte) line_xdyi::y#1 line_xdyi::@5/(byte) line_xdyi::y#2 ) - (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#0 + (byte) 1 - if((byte) line_xdyi::x#1<(byte~) line_xdyi::$8) goto line_xdyi::@1 + (byte) line_xdyi::y#6 ← phi( line_xdyi::@3/(byte) line_xdyi::y#2 line_xdyi::@5/(byte) line_xdyi::y#3 ) + (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#6 + (byte) 1 + if((byte) line_xdyi::x#2<(byte~) line_xdyi::$8) goto line_xdyi::@1 to:line_xdyi::@return line_xdyi::@3: scope:[line_xdyi] from line_xdyi::@5 - (byte) line_xdyi::y#1 ← (byte) line_xdyi::y#2 + (byte) 1 - (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#0 + (byte) line_xdyi::y#2 ← (byte) line_xdyi::y#3 + (byte) 1 + (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#5 to:line_xdyi::@2 line_xdyi::@return: scope:[line_xdyi] from line_xdyi::@2 return to:@return -plot: scope:[plot] from line::@15 line::@17 line::@19 line::@2 line::@22 line::@24 line::@3 line::@7 line_xdyi::@1 - (byte) plot::y#9 ← phi( line::@15/(byte) plot::y#6 line::@17/(byte) plot::y#1 line::@19/(byte) plot::y#3 line::@2/(byte) plot::y#0 line::@22/(byte) plot::y#5 line::@24/(byte) plot::y#7 line::@3/(byte) plot::y#2 line::@7/(byte) plot::y#4 line_xdyi::@1/(byte) plot::y#8 ) - (byte) plot::x#9 ← phi( line::@15/(byte) plot::x#6 line::@17/(byte) plot::x#1 line::@19/(byte) plot::x#3 line::@2/(byte) plot::x#0 line::@22/(byte) plot::x#5 line::@24/(byte) plot::x#7 line::@3/(byte) plot::x#2 line::@7/(byte) plot::x#4 line_xdyi::@1/(byte) plot::x#8 ) +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::e#0 ← (byte) line_xdyd::yd#2 >> (byte) 1 + to:line_xdyd::@1 +line_xdyd::@1: scope:[line_xdyd] from line_xdyd line_xdyd::@2 + (byte) line_xdyd::e#3 ← 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#2 ) + (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::x#2 ← (byte) line_xdyd::x#3 + (byte) 1 + (byte) line_xdyd::e#1 ← (byte) line_xdyd::e#3 + (byte) line_xdyd::yd#2 + if((byte) line_xdyd::xd#5>=(byte) line_xdyd::e#1) goto line_xdyd::@2 + to:line_xdyd::@3 +line_xdyd::@2: scope:[line_xdyd] from line_xdyd::@3 line_xdyd::@5 + (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#3 ) + (byte~) line_xdyd::$8 ← (byte) line_xdyd::x1#6 + (byte) 1 + if((byte) line_xdyd::x#2<(byte~) line_xdyd::$8) goto line_xdyd::@1 + to:line_xdyd::@return +line_xdyd::@3: scope:[line_xdyd] from line_xdyd::@5 + (byte) line_xdyd::y#2 ← (byte) line_xdyd::y#3 - (byte) 1 + (byte) line_xdyd::e#2 ← (byte) line_xdyd::e#1 - (byte) line_xdyd::xd#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::e#0 ← (byte) line_ydxi::xd#2 >> (byte) 1 + to:line_ydxi::@1 +line_ydxi::@1: scope:[line_ydxi] from line_ydxi line_ydxi::@2 + (byte) line_ydxi::e#3 ← 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#2 ) + (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::y#2 ← (byte) line_ydxi::y#3 + (byte) 1 + (byte) line_ydxi::e#1 ← (byte) line_ydxi::e#3 + (byte) line_ydxi::xd#2 + if((byte) line_ydxi::yd#5>=(byte) line_ydxi::e#1) goto line_ydxi::@2 + to:line_ydxi::@3 +line_ydxi::@2: scope:[line_ydxi] from line_ydxi::@3 line_ydxi::@5 + (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#3 ) + (byte~) line_ydxi::$8 ← (byte) line_ydxi::y1#6 + (byte) 1 + if((byte) line_ydxi::y#2<(byte~) line_ydxi::$8) goto line_ydxi::@1 + to:line_ydxi::@return +line_ydxi::@3: scope:[line_ydxi] from line_ydxi::@5 + (byte) line_ydxi::x#2 ← (byte) line_ydxi::x#3 + (byte) 1 + (byte) line_ydxi::e#2 ← (byte) line_ydxi::e#1 - (byte) line_ydxi::yd#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#6 ← 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::e#0 ← (byte) line_ydxd::xd#2 >> (byte) 1 + to:line_ydxd::@1 +line_ydxd::@1: scope:[line_ydxd] from line_ydxd line_ydxd::@2 + (byte) line_ydxd::e#3 ← phi( line_ydxd/(byte) line_ydxd::e#0 line_ydxd::@2/(byte) line_ydxd::e#6 ) + (byte) line_ydxd::y#3 ← phi( line_ydxd/(byte) line_ydxd::y#6 line_ydxd::@2/(byte) line_ydxd::y#2 ) + (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#3 + call plot param-assignment + to:line_ydxd::@5 +line_ydxd::@5: scope:[line_ydxd] from line_ydxd::@1 + (byte) line_ydxd::y#2 ← (byte) line_ydxd::y#3 + (byte) 1 + (byte) line_ydxd::e#1 ← (byte) line_ydxd::e#3 + (byte) line_ydxd::xd#2 + if((byte) line_ydxd::yd#5>=(byte) line_ydxd::e#1) goto line_ydxd::@2 + to:line_ydxd::@3 +line_ydxd::@2: scope:[line_ydxd] from line_ydxd::@3 line_ydxd::@5 + (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#3 ) + (byte~) line_ydxd::$8 ← (byte) line_ydxd::y1#6 + (byte) 1 + if((byte) line_ydxd::y#2<(byte~) line_ydxd::$8) goto line_ydxd::@1 + to:line_ydxd::@return +line_ydxd::@3: scope:[line_ydxd] from line_ydxd::@5 + (byte) line_ydxd::x#2 ← (byte) line_ydxd::x#3 - (byte) 1 + (byte) line_ydxd::e#2 ← (byte) line_ydxd::e#1 - (byte) line_ydxd::yd#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 ) (byte*) plot::plotter_x#0 ← (byte) 0 (byte*) plot::plotter_y#0 ← (byte) 0 - (byte~) plot::$0 ← (byte[]) plot_xhi#0 *idx (byte) plot::x#9 + (byte~) plot::$0 ← (byte[]) plot_xhi#0 *idx (byte) plot::x#4 (byte*) plot::plotter_x#1 ← (byte*) plot::plotter_x#0 hi= (byte~) plot::$0 - (byte~) plot::$1 ← (byte[]) plot_xlo#0 *idx (byte) plot::x#9 + (byte~) plot::$1 ← (byte[]) plot_xlo#0 *idx (byte) plot::x#4 (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 - (byte~) plot::$2 ← (byte[]) plot_yhi#0 *idx (byte) plot::y#9 + (byte~) plot::$2 ← (byte[]) plot_yhi#0 *idx (byte) plot::y#4 (byte*) plot::plotter_y#1 ← (byte*) plot::plotter_y#0 hi= (byte~) plot::$2 - (byte~) plot::$3 ← (byte[]) plot_ylo#0 *idx (byte) plot::y#9 + (byte~) plot::$3 ← (byte[]) plot_ylo#0 *idx (byte) plot::y#4 (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 (byte~) plot::$5 ← * (byte*) plot::plotter#0 - (byte~) plot::$6 ← (byte[]) plot_bit#0 *idx (byte) plot::x#9 + (byte~) plot::$6 ← (byte[]) plot_bit#0 *idx (byte) plot::x#4 (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 *((byte*) plot::plotter#0) ← (byte~) plot::$7 to:plot::@return @@ -6443,10 +9898,10 @@ init_screen::@2: scope:[init_screen] from init_screen::@2 init_screen::@3 init_screen::@return: scope:[init_screen] from init_screen::@2 return to:@return -@7: scope:[] from @begin +@10: scope:[] from @begin call main param-assignment to:@end -@end: scope:[] from @7 +@end: scope:[] from @10 Constant (const byte*) COLS#0 = 55296 Constant (const byte*) BGCOL#0 = 53280 @@ -6483,8 +9938,8 @@ Constant (const byte) init_plot_tables::y#0 = 0 Succesful SSA optimization Pass2ConstantIdentification CONTROL FLOW GRAPH @begin: scope:[] from - to:@7 -main: scope:[main] from @7 + to:@10 +main: scope:[main] from @10 *((const byte*) BGCOL#0) ← (byte) 0 *((const byte*) FGCOL#0) ← (byte) 0 (byte~) main::$0 ← (const byte) BMM#0 | (const byte) DEN#0 @@ -6533,113 +9988,248 @@ lines::@return: scope:[lines] from lines::@3 to:@return line: scope:[line] from lines::@1 if((byte) line::x0#0>=(byte) line::x1#0) goto line::@1 - to:line::@9 -line::@1: scope:[line] from line - (byte) line::xd#0 ← (byte) line::x1#0 - (byte) line::x0#0 - if((byte) line::y0#0>=(byte) line::y1#0) goto line::@7 to:line::@15 -line::@9: scope:[line] from line +line::@1: scope:[line] from line + (byte) line::xd#0 ← (byte) line::x0#0 - (byte) line::x1#0 + if((byte) line::y0#0>=(byte) line::y1#0) goto line::@9 + to:line::@23 +line::@15: scope:[line] from line (byte) line::xd#1 ← (byte) line::x1#0 - (byte) line::x0#0 if((byte) line::y0#0>=(byte) line::y1#0) goto line::@2 - to:line::@10 -line::@2: scope:[line] from line::@9 - (byte) plot::x#0 ← (byte) line::x0#0 - (byte) plot::y#0 ← (byte) line::y0#0 - call plot param-assignment + to:line::@16 +line::@2: scope:[line] from line::@15 + (byte) line::yd#0 ← (byte) line::y0#0 - (byte) line::y1#0 + if((byte) line::yd#0>=(byte) line::xd#1) goto line::@6 + to:line::@20 +line::@16: scope:[line] from line::@15 + (byte) line::yd#1 ← (byte) line::y1#0 - (byte) line::y0#0 + if((byte) line::yd#1>=(byte) line::xd#1) goto line::@3 to:line::@17 -line::@17: scope:[line] from line::@2 - (byte) plot::x#1 ← (byte) line::x1#0 - (byte) plot::y#1 ← (byte) line::y1#0 - call plot param-assignment +line::@3: scope:[line] from line::@16 + (byte) line_ydxi::y#0 ← (byte) line::y0#0 + (byte) line_ydxi::x#0 ← (byte) line::x0#0 + (byte) line_ydxi::y1#0 ← (byte) line::y1#0 + (byte) line_ydxi::yd#0 ← (byte) line::yd#1 + (byte) line_ydxi::xd#0 ← (byte) line::xd#1 + call line_ydxi param-assignment to:line::@return -line::@10: scope:[line] from line::@9 - (byte) line::yd#0 ← (byte) line::y1#0 - (byte) line::y0#0 - if((byte) line::yd#0>=(byte) line::xd#1) goto line::@3 - to:line::@11 -line::@3: scope:[line] from line::@10 - (byte) plot::x#2 ← (byte) line::x0#0 - (byte) plot::y#2 ← (byte) line::y0#0 - call plot param-assignment - to:line::@19 -line::@19: scope:[line] from line::@3 - (byte) plot::x#3 ← (byte) line::x1#0 - (byte) plot::y#3 ← (byte) line::y1#0 - call plot param-assignment - to:line::@return -line::@11: scope:[line] from line::@10 +line::@17: scope:[line] from line::@16 (byte) line_xdyi::x#0 ← (byte) line::x0#0 (byte) line_xdyi::y#0 ← (byte) line::y0#0 (byte) line_xdyi::x1#0 ← (byte) line::x1#0 (byte) line_xdyi::xd#0 ← (byte) line::xd#1 - (byte) line_xdyi::yd#0 ← (byte) line::yd#0 + (byte) line_xdyi::yd#0 ← (byte) line::yd#1 call line_xdyi param-assignment to:line::@return -line::@7: scope:[line] from line::@1 - (byte) plot::x#4 ← (byte) line::x0#0 - (byte) plot::y#4 ← (byte) line::y0#0 - call plot param-assignment - to:line::@22 -line::@22: scope:[line] from line::@7 - (byte) plot::x#5 ← (byte) line::x1#0 - (byte) plot::y#5 ← (byte) line::y1#0 - call plot param-assignment +line::@6: scope:[line] from line::@2 + (byte) line_ydxd::y#0 ← (byte) line::y1#0 + (byte) line_ydxd::x#0 ← (byte) line::x1#0 + (byte) line_ydxd::y1#0 ← (byte) line::y0#0 + (byte) line_ydxd::yd#0 ← (byte) line::yd#0 + (byte) line_ydxd::xd#0 ← (byte) line::xd#1 + call line_ydxd param-assignment to:line::@return -line::@15: scope:[line] from line::@1 - (byte) plot::x#6 ← (byte) line::x0#0 - (byte) plot::y#6 ← (byte) line::y0#0 - call plot param-assignment +line::@20: scope:[line] from line::@2 + (byte) line_xdyd::x#0 ← (byte) line::x0#0 + (byte) line_xdyd::y#0 ← (byte) line::y0#0 + (byte) line_xdyd::x1#0 ← (byte) line::x1#0 + (byte) line_xdyd::xd#0 ← (byte) line::xd#1 + (byte) line_xdyd::yd#0 ← (byte) line::yd#0 + call line_xdyd param-assignment + to:line::@return +line::@9: scope:[line] from line::@1 + (byte) line::yd#10 ← (byte) line::y0#0 - (byte) line::y1#0 + if((byte) line::yd#10>=(byte) line::xd#0) goto line::@13 + to:line::@27 +line::@23: scope:[line] from line::@1 + (byte) line::yd#3 ← (byte) line::y1#0 - (byte) line::y0#0 + if((byte) line::yd#3>=(byte) line::xd#0) goto line::@10 to:line::@24 -line::@24: scope:[line] from line::@15 - (byte) plot::x#7 ← (byte) line::x1#0 - (byte) plot::y#7 ← (byte) line::y1#0 - call plot param-assignment +line::@10: scope:[line] from line::@23 + (byte) line_ydxd::y#1 ← (byte) line::y0#0 + (byte) line_ydxd::x#1 ← (byte) line::x0#0 + (byte) line_ydxd::y1#1 ← (byte) line::y1#0 + (byte) line_ydxd::yd#1 ← (byte) line::yd#3 + (byte) line_ydxd::xd#1 ← (byte) line::xd#0 + call line_ydxd param-assignment to:line::@return -line::@return: scope:[line] from line::@11 line::@17 line::@19 line::@22 line::@24 +line::@24: scope:[line] from line::@23 + (byte) line_xdyd::x#1 ← (byte) line::x1#0 + (byte) line_xdyd::y#1 ← (byte) line::y1#0 + (byte) line_xdyd::x1#1 ← (byte) line::x0#0 + (byte) line_xdyd::xd#1 ← (byte) line::xd#0 + (byte) line_xdyd::yd#1 ← (byte) line::yd#3 + call line_xdyd param-assignment + to:line::@return +line::@13: scope:[line] from line::@9 + (byte) line_ydxi::y#1 ← (byte) line::y1#0 + (byte) line_ydxi::x#1 ← (byte) line::x1#0 + (byte) line_ydxi::y1#1 ← (byte) line::y0#0 + (byte) line_ydxi::yd#1 ← (byte) line::yd#10 + (byte) line_ydxi::xd#1 ← (byte) line::xd#0 + call line_ydxi param-assignment + to:line::@return +line::@27: scope:[line] from line::@9 + (byte) line_xdyi::x#1 ← (byte) line::x1#0 + (byte) line_xdyi::y#1 ← (byte) line::y1#0 + (byte) line_xdyi::x1#1 ← (byte) line::x0#0 + (byte) line_xdyi::xd#1 ← (byte) line::xd#0 + (byte) line_xdyi::yd#1 ← (byte) line::yd#10 + call line_xdyi param-assignment + to:line::@return +line::@return: scope:[line] from line::@10 line::@13 line::@17 line::@20 line::@24 line::@27 line::@3 line::@6 return to:@return -line_xdyi: scope:[line_xdyi] from line::@11 - (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#0 >> (byte) 1 +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::e#0 ← (byte) line_xdyi::yd#2 >> (byte) 1 to:line_xdyi::@1 line_xdyi::@1: scope:[line_xdyi] from line_xdyi line_xdyi::@2 (byte) line_xdyi::e#3 ← phi( line_xdyi/(byte) line_xdyi::e#0 line_xdyi::@2/(byte) line_xdyi::e#6 ) - (byte) line_xdyi::y#2 ← phi( line_xdyi/(byte) line_xdyi::y#0 line_xdyi::@2/(byte) line_xdyi::y#5 ) - (byte) line_xdyi::x#2 ← phi( line_xdyi/(byte) line_xdyi::x#0 line_xdyi::@2/(byte) line_xdyi::x#1 ) - (byte) plot::x#8 ← (byte) line_xdyi::x#2 - (byte) plot::y#8 ← (byte) line_xdyi::y#2 + (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#2 ) + (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::x#1 ← (byte) line_xdyi::x#2 + (byte) 1 - (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#0 - if((byte) line_xdyi::xd#0>=(byte) line_xdyi::e#1) goto line_xdyi::@2 + (byte) line_xdyi::x#2 ← (byte) line_xdyi::x#3 + (byte) 1 + (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#2 + if((byte) line_xdyi::xd#5>=(byte) line_xdyi::e#1) goto line_xdyi::@2 to:line_xdyi::@3 line_xdyi::@2: scope:[line_xdyi] from line_xdyi::@3 line_xdyi::@5 (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#5 ← phi( line_xdyi::@3/(byte) line_xdyi::y#1 line_xdyi::@5/(byte) line_xdyi::y#2 ) - (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#0 + (byte) 1 - if((byte) line_xdyi::x#1<(byte~) line_xdyi::$8) goto line_xdyi::@1 + (byte) line_xdyi::y#6 ← phi( line_xdyi::@3/(byte) line_xdyi::y#2 line_xdyi::@5/(byte) line_xdyi::y#3 ) + (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#6 + (byte) 1 + if((byte) line_xdyi::x#2<(byte~) line_xdyi::$8) goto line_xdyi::@1 to:line_xdyi::@return line_xdyi::@3: scope:[line_xdyi] from line_xdyi::@5 - (byte) line_xdyi::y#1 ← (byte) line_xdyi::y#2 + (byte) 1 - (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#0 + (byte) line_xdyi::y#2 ← (byte) line_xdyi::y#3 + (byte) 1 + (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#5 to:line_xdyi::@2 line_xdyi::@return: scope:[line_xdyi] from line_xdyi::@2 return to:@return -plot: scope:[plot] from line::@15 line::@17 line::@19 line::@2 line::@22 line::@24 line::@3 line::@7 line_xdyi::@1 - (byte) plot::y#9 ← phi( line::@15/(byte) plot::y#6 line::@17/(byte) plot::y#1 line::@19/(byte) plot::y#3 line::@2/(byte) plot::y#0 line::@22/(byte) plot::y#5 line::@24/(byte) plot::y#7 line::@3/(byte) plot::y#2 line::@7/(byte) plot::y#4 line_xdyi::@1/(byte) plot::y#8 ) - (byte) plot::x#9 ← phi( line::@15/(byte) plot::x#6 line::@17/(byte) plot::x#1 line::@19/(byte) plot::x#3 line::@2/(byte) plot::x#0 line::@22/(byte) plot::x#5 line::@24/(byte) plot::x#7 line::@3/(byte) plot::x#2 line::@7/(byte) plot::x#4 line_xdyi::@1/(byte) plot::x#8 ) - (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#9 +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::e#0 ← (byte) line_xdyd::yd#2 >> (byte) 1 + to:line_xdyd::@1 +line_xdyd::@1: scope:[line_xdyd] from line_xdyd line_xdyd::@2 + (byte) line_xdyd::e#3 ← 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#2 ) + (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::x#2 ← (byte) line_xdyd::x#3 + (byte) 1 + (byte) line_xdyd::e#1 ← (byte) line_xdyd::e#3 + (byte) line_xdyd::yd#2 + if((byte) line_xdyd::xd#5>=(byte) line_xdyd::e#1) goto line_xdyd::@2 + to:line_xdyd::@3 +line_xdyd::@2: scope:[line_xdyd] from line_xdyd::@3 line_xdyd::@5 + (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#3 ) + (byte~) line_xdyd::$8 ← (byte) line_xdyd::x1#6 + (byte) 1 + if((byte) line_xdyd::x#2<(byte~) line_xdyd::$8) goto line_xdyd::@1 + to:line_xdyd::@return +line_xdyd::@3: scope:[line_xdyd] from line_xdyd::@5 + (byte) line_xdyd::y#2 ← (byte) line_xdyd::y#3 - (byte) 1 + (byte) line_xdyd::e#2 ← (byte) line_xdyd::e#1 - (byte) line_xdyd::xd#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::e#0 ← (byte) line_ydxi::xd#2 >> (byte) 1 + to:line_ydxi::@1 +line_ydxi::@1: scope:[line_ydxi] from line_ydxi line_ydxi::@2 + (byte) line_ydxi::e#3 ← 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#2 ) + (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::y#2 ← (byte) line_ydxi::y#3 + (byte) 1 + (byte) line_ydxi::e#1 ← (byte) line_ydxi::e#3 + (byte) line_ydxi::xd#2 + if((byte) line_ydxi::yd#5>=(byte) line_ydxi::e#1) goto line_ydxi::@2 + to:line_ydxi::@3 +line_ydxi::@2: scope:[line_ydxi] from line_ydxi::@3 line_ydxi::@5 + (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#3 ) + (byte~) line_ydxi::$8 ← (byte) line_ydxi::y1#6 + (byte) 1 + if((byte) line_ydxi::y#2<(byte~) line_ydxi::$8) goto line_ydxi::@1 + to:line_ydxi::@return +line_ydxi::@3: scope:[line_ydxi] from line_ydxi::@5 + (byte) line_ydxi::x#2 ← (byte) line_ydxi::x#3 + (byte) 1 + (byte) line_ydxi::e#2 ← (byte) line_ydxi::e#1 - (byte) line_ydxi::yd#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#6 ← 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::e#0 ← (byte) line_ydxd::xd#2 >> (byte) 1 + to:line_ydxd::@1 +line_ydxd::@1: scope:[line_ydxd] from line_ydxd line_ydxd::@2 + (byte) line_ydxd::e#3 ← phi( line_ydxd/(byte) line_ydxd::e#0 line_ydxd::@2/(byte) line_ydxd::e#6 ) + (byte) line_ydxd::y#3 ← phi( line_ydxd/(byte) line_ydxd::y#6 line_ydxd::@2/(byte) line_ydxd::y#2 ) + (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#3 + call plot param-assignment + to:line_ydxd::@5 +line_ydxd::@5: scope:[line_ydxd] from line_ydxd::@1 + (byte) line_ydxd::y#2 ← (byte) line_ydxd::y#3 + (byte) 1 + (byte) line_ydxd::e#1 ← (byte) line_ydxd::e#3 + (byte) line_ydxd::xd#2 + if((byte) line_ydxd::yd#5>=(byte) line_ydxd::e#1) goto line_ydxd::@2 + to:line_ydxd::@3 +line_ydxd::@2: scope:[line_ydxd] from line_ydxd::@3 line_ydxd::@5 + (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#3 ) + (byte~) line_ydxd::$8 ← (byte) line_ydxd::y1#6 + (byte) 1 + if((byte) line_ydxd::y#2<(byte~) line_ydxd::$8) goto line_ydxd::@1 + to:line_ydxd::@return +line_ydxd::@3: scope:[line_ydxd] from line_ydxd::@5 + (byte) line_ydxd::x#2 ← (byte) line_ydxd::x#3 - (byte) 1 + (byte) line_ydxd::e#2 ← (byte) line_ydxd::e#1 - (byte) line_ydxd::yd#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 ) + (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#4 (byte*) plot::plotter_x#1 ← (const byte*) plot::plotter_x#0 hi= (byte~) plot::$0 - (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#9 + (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#4 (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 - (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#9 + (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#4 (byte*) plot::plotter_y#1 ← (const byte*) plot::plotter_y#0 hi= (byte~) plot::$2 - (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#9 + (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#4 (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 (byte~) plot::$5 ← * (byte*) plot::plotter#0 - (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#9 + (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#4 (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 *((byte*) plot::plotter#0) ← (byte~) plot::$7 to:plot::@return @@ -6714,10 +10304,10 @@ init_screen::@2: scope:[init_screen] from init_screen::@2 init_screen::@3 init_screen::@return: scope:[init_screen] from init_screen::@2 return to:@return -@7: scope:[] from @begin +@10: scope:[] from @begin call main param-assignment to:@end -@end: scope:[] from @7 +@end: scope:[] from @10 Constant (const byte) main::$0 = BMM#0|DEN#0 Constant (const byte) init_plot_tables::$1 = >BITMAP#0 @@ -6728,8 +10318,8 @@ Constant (const byte*) init_screen::$2 = SCREEN#0+1024 Succesful SSA optimization Pass2ConstantIdentification CONTROL FLOW GRAPH @begin: scope:[] from - to:@7 -main: scope:[main] from @7 + to:@10 +main: scope:[main] from @10 *((const byte*) BGCOL#0) ← (byte) 0 *((const byte*) FGCOL#0) ← (byte) 0 (byte~) main::$1 ← (const byte) main::$0 | (const byte) RSEL#0 @@ -6777,113 +10367,248 @@ lines::@return: scope:[lines] from lines::@3 to:@return line: scope:[line] from lines::@1 if((byte) line::x0#0>=(byte) line::x1#0) goto line::@1 - to:line::@9 -line::@1: scope:[line] from line - (byte) line::xd#0 ← (byte) line::x1#0 - (byte) line::x0#0 - if((byte) line::y0#0>=(byte) line::y1#0) goto line::@7 to:line::@15 -line::@9: scope:[line] from line +line::@1: scope:[line] from line + (byte) line::xd#0 ← (byte) line::x0#0 - (byte) line::x1#0 + if((byte) line::y0#0>=(byte) line::y1#0) goto line::@9 + to:line::@23 +line::@15: scope:[line] from line (byte) line::xd#1 ← (byte) line::x1#0 - (byte) line::x0#0 if((byte) line::y0#0>=(byte) line::y1#0) goto line::@2 - to:line::@10 -line::@2: scope:[line] from line::@9 - (byte) plot::x#0 ← (byte) line::x0#0 - (byte) plot::y#0 ← (byte) line::y0#0 - call plot param-assignment + to:line::@16 +line::@2: scope:[line] from line::@15 + (byte) line::yd#0 ← (byte) line::y0#0 - (byte) line::y1#0 + if((byte) line::yd#0>=(byte) line::xd#1) goto line::@6 + to:line::@20 +line::@16: scope:[line] from line::@15 + (byte) line::yd#1 ← (byte) line::y1#0 - (byte) line::y0#0 + if((byte) line::yd#1>=(byte) line::xd#1) goto line::@3 to:line::@17 -line::@17: scope:[line] from line::@2 - (byte) plot::x#1 ← (byte) line::x1#0 - (byte) plot::y#1 ← (byte) line::y1#0 - call plot param-assignment +line::@3: scope:[line] from line::@16 + (byte) line_ydxi::y#0 ← (byte) line::y0#0 + (byte) line_ydxi::x#0 ← (byte) line::x0#0 + (byte) line_ydxi::y1#0 ← (byte) line::y1#0 + (byte) line_ydxi::yd#0 ← (byte) line::yd#1 + (byte) line_ydxi::xd#0 ← (byte) line::xd#1 + call line_ydxi param-assignment to:line::@return -line::@10: scope:[line] from line::@9 - (byte) line::yd#0 ← (byte) line::y1#0 - (byte) line::y0#0 - if((byte) line::yd#0>=(byte) line::xd#1) goto line::@3 - to:line::@11 -line::@3: scope:[line] from line::@10 - (byte) plot::x#2 ← (byte) line::x0#0 - (byte) plot::y#2 ← (byte) line::y0#0 - call plot param-assignment - to:line::@19 -line::@19: scope:[line] from line::@3 - (byte) plot::x#3 ← (byte) line::x1#0 - (byte) plot::y#3 ← (byte) line::y1#0 - call plot param-assignment - to:line::@return -line::@11: scope:[line] from line::@10 +line::@17: scope:[line] from line::@16 (byte) line_xdyi::x#0 ← (byte) line::x0#0 (byte) line_xdyi::y#0 ← (byte) line::y0#0 (byte) line_xdyi::x1#0 ← (byte) line::x1#0 (byte) line_xdyi::xd#0 ← (byte) line::xd#1 - (byte) line_xdyi::yd#0 ← (byte) line::yd#0 + (byte) line_xdyi::yd#0 ← (byte) line::yd#1 call line_xdyi param-assignment to:line::@return -line::@7: scope:[line] from line::@1 - (byte) plot::x#4 ← (byte) line::x0#0 - (byte) plot::y#4 ← (byte) line::y0#0 - call plot param-assignment - to:line::@22 -line::@22: scope:[line] from line::@7 - (byte) plot::x#5 ← (byte) line::x1#0 - (byte) plot::y#5 ← (byte) line::y1#0 - call plot param-assignment +line::@6: scope:[line] from line::@2 + (byte) line_ydxd::y#0 ← (byte) line::y1#0 + (byte) line_ydxd::x#0 ← (byte) line::x1#0 + (byte) line_ydxd::y1#0 ← (byte) line::y0#0 + (byte) line_ydxd::yd#0 ← (byte) line::yd#0 + (byte) line_ydxd::xd#0 ← (byte) line::xd#1 + call line_ydxd param-assignment to:line::@return -line::@15: scope:[line] from line::@1 - (byte) plot::x#6 ← (byte) line::x0#0 - (byte) plot::y#6 ← (byte) line::y0#0 - call plot param-assignment +line::@20: scope:[line] from line::@2 + (byte) line_xdyd::x#0 ← (byte) line::x0#0 + (byte) line_xdyd::y#0 ← (byte) line::y0#0 + (byte) line_xdyd::x1#0 ← (byte) line::x1#0 + (byte) line_xdyd::xd#0 ← (byte) line::xd#1 + (byte) line_xdyd::yd#0 ← (byte) line::yd#0 + call line_xdyd param-assignment + to:line::@return +line::@9: scope:[line] from line::@1 + (byte) line::yd#10 ← (byte) line::y0#0 - (byte) line::y1#0 + if((byte) line::yd#10>=(byte) line::xd#0) goto line::@13 + to:line::@27 +line::@23: scope:[line] from line::@1 + (byte) line::yd#3 ← (byte) line::y1#0 - (byte) line::y0#0 + if((byte) line::yd#3>=(byte) line::xd#0) goto line::@10 to:line::@24 -line::@24: scope:[line] from line::@15 - (byte) plot::x#7 ← (byte) line::x1#0 - (byte) plot::y#7 ← (byte) line::y1#0 - call plot param-assignment +line::@10: scope:[line] from line::@23 + (byte) line_ydxd::y#1 ← (byte) line::y0#0 + (byte) line_ydxd::x#1 ← (byte) line::x0#0 + (byte) line_ydxd::y1#1 ← (byte) line::y1#0 + (byte) line_ydxd::yd#1 ← (byte) line::yd#3 + (byte) line_ydxd::xd#1 ← (byte) line::xd#0 + call line_ydxd param-assignment to:line::@return -line::@return: scope:[line] from line::@11 line::@17 line::@19 line::@22 line::@24 +line::@24: scope:[line] from line::@23 + (byte) line_xdyd::x#1 ← (byte) line::x1#0 + (byte) line_xdyd::y#1 ← (byte) line::y1#0 + (byte) line_xdyd::x1#1 ← (byte) line::x0#0 + (byte) line_xdyd::xd#1 ← (byte) line::xd#0 + (byte) line_xdyd::yd#1 ← (byte) line::yd#3 + call line_xdyd param-assignment + to:line::@return +line::@13: scope:[line] from line::@9 + (byte) line_ydxi::y#1 ← (byte) line::y1#0 + (byte) line_ydxi::x#1 ← (byte) line::x1#0 + (byte) line_ydxi::y1#1 ← (byte) line::y0#0 + (byte) line_ydxi::yd#1 ← (byte) line::yd#10 + (byte) line_ydxi::xd#1 ← (byte) line::xd#0 + call line_ydxi param-assignment + to:line::@return +line::@27: scope:[line] from line::@9 + (byte) line_xdyi::x#1 ← (byte) line::x1#0 + (byte) line_xdyi::y#1 ← (byte) line::y1#0 + (byte) line_xdyi::x1#1 ← (byte) line::x0#0 + (byte) line_xdyi::xd#1 ← (byte) line::xd#0 + (byte) line_xdyi::yd#1 ← (byte) line::yd#10 + call line_xdyi param-assignment + to:line::@return +line::@return: scope:[line] from line::@10 line::@13 line::@17 line::@20 line::@24 line::@27 line::@3 line::@6 return to:@return -line_xdyi: scope:[line_xdyi] from line::@11 - (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#0 >> (byte) 1 +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::e#0 ← (byte) line_xdyi::yd#2 >> (byte) 1 to:line_xdyi::@1 line_xdyi::@1: scope:[line_xdyi] from line_xdyi line_xdyi::@2 (byte) line_xdyi::e#3 ← phi( line_xdyi/(byte) line_xdyi::e#0 line_xdyi::@2/(byte) line_xdyi::e#6 ) - (byte) line_xdyi::y#2 ← phi( line_xdyi/(byte) line_xdyi::y#0 line_xdyi::@2/(byte) line_xdyi::y#5 ) - (byte) line_xdyi::x#2 ← phi( line_xdyi/(byte) line_xdyi::x#0 line_xdyi::@2/(byte) line_xdyi::x#1 ) - (byte) plot::x#8 ← (byte) line_xdyi::x#2 - (byte) plot::y#8 ← (byte) line_xdyi::y#2 + (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#2 ) + (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::x#1 ← (byte) line_xdyi::x#2 + (byte) 1 - (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#0 - if((byte) line_xdyi::xd#0>=(byte) line_xdyi::e#1) goto line_xdyi::@2 + (byte) line_xdyi::x#2 ← (byte) line_xdyi::x#3 + (byte) 1 + (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#2 + if((byte) line_xdyi::xd#5>=(byte) line_xdyi::e#1) goto line_xdyi::@2 to:line_xdyi::@3 line_xdyi::@2: scope:[line_xdyi] from line_xdyi::@3 line_xdyi::@5 (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#5 ← phi( line_xdyi::@3/(byte) line_xdyi::y#1 line_xdyi::@5/(byte) line_xdyi::y#2 ) - (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#0 + (byte) 1 - if((byte) line_xdyi::x#1<(byte~) line_xdyi::$8) goto line_xdyi::@1 + (byte) line_xdyi::y#6 ← phi( line_xdyi::@3/(byte) line_xdyi::y#2 line_xdyi::@5/(byte) line_xdyi::y#3 ) + (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#6 + (byte) 1 + if((byte) line_xdyi::x#2<(byte~) line_xdyi::$8) goto line_xdyi::@1 to:line_xdyi::@return line_xdyi::@3: scope:[line_xdyi] from line_xdyi::@5 - (byte) line_xdyi::y#1 ← (byte) line_xdyi::y#2 + (byte) 1 - (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#0 + (byte) line_xdyi::y#2 ← (byte) line_xdyi::y#3 + (byte) 1 + (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#5 to:line_xdyi::@2 line_xdyi::@return: scope:[line_xdyi] from line_xdyi::@2 return to:@return -plot: scope:[plot] from line::@15 line::@17 line::@19 line::@2 line::@22 line::@24 line::@3 line::@7 line_xdyi::@1 - (byte) plot::y#9 ← phi( line::@15/(byte) plot::y#6 line::@17/(byte) plot::y#1 line::@19/(byte) plot::y#3 line::@2/(byte) plot::y#0 line::@22/(byte) plot::y#5 line::@24/(byte) plot::y#7 line::@3/(byte) plot::y#2 line::@7/(byte) plot::y#4 line_xdyi::@1/(byte) plot::y#8 ) - (byte) plot::x#9 ← phi( line::@15/(byte) plot::x#6 line::@17/(byte) plot::x#1 line::@19/(byte) plot::x#3 line::@2/(byte) plot::x#0 line::@22/(byte) plot::x#5 line::@24/(byte) plot::x#7 line::@3/(byte) plot::x#2 line::@7/(byte) plot::x#4 line_xdyi::@1/(byte) plot::x#8 ) - (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#9 +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::e#0 ← (byte) line_xdyd::yd#2 >> (byte) 1 + to:line_xdyd::@1 +line_xdyd::@1: scope:[line_xdyd] from line_xdyd line_xdyd::@2 + (byte) line_xdyd::e#3 ← 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#2 ) + (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::x#2 ← (byte) line_xdyd::x#3 + (byte) 1 + (byte) line_xdyd::e#1 ← (byte) line_xdyd::e#3 + (byte) line_xdyd::yd#2 + if((byte) line_xdyd::xd#5>=(byte) line_xdyd::e#1) goto line_xdyd::@2 + to:line_xdyd::@3 +line_xdyd::@2: scope:[line_xdyd] from line_xdyd::@3 line_xdyd::@5 + (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#3 ) + (byte~) line_xdyd::$8 ← (byte) line_xdyd::x1#6 + (byte) 1 + if((byte) line_xdyd::x#2<(byte~) line_xdyd::$8) goto line_xdyd::@1 + to:line_xdyd::@return +line_xdyd::@3: scope:[line_xdyd] from line_xdyd::@5 + (byte) line_xdyd::y#2 ← (byte) line_xdyd::y#3 - (byte) 1 + (byte) line_xdyd::e#2 ← (byte) line_xdyd::e#1 - (byte) line_xdyd::xd#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::e#0 ← (byte) line_ydxi::xd#2 >> (byte) 1 + to:line_ydxi::@1 +line_ydxi::@1: scope:[line_ydxi] from line_ydxi line_ydxi::@2 + (byte) line_ydxi::e#3 ← 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#2 ) + (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::y#2 ← (byte) line_ydxi::y#3 + (byte) 1 + (byte) line_ydxi::e#1 ← (byte) line_ydxi::e#3 + (byte) line_ydxi::xd#2 + if((byte) line_ydxi::yd#5>=(byte) line_ydxi::e#1) goto line_ydxi::@2 + to:line_ydxi::@3 +line_ydxi::@2: scope:[line_ydxi] from line_ydxi::@3 line_ydxi::@5 + (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#3 ) + (byte~) line_ydxi::$8 ← (byte) line_ydxi::y1#6 + (byte) 1 + if((byte) line_ydxi::y#2<(byte~) line_ydxi::$8) goto line_ydxi::@1 + to:line_ydxi::@return +line_ydxi::@3: scope:[line_ydxi] from line_ydxi::@5 + (byte) line_ydxi::x#2 ← (byte) line_ydxi::x#3 + (byte) 1 + (byte) line_ydxi::e#2 ← (byte) line_ydxi::e#1 - (byte) line_ydxi::yd#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#6 ← 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::e#0 ← (byte) line_ydxd::xd#2 >> (byte) 1 + to:line_ydxd::@1 +line_ydxd::@1: scope:[line_ydxd] from line_ydxd line_ydxd::@2 + (byte) line_ydxd::e#3 ← phi( line_ydxd/(byte) line_ydxd::e#0 line_ydxd::@2/(byte) line_ydxd::e#6 ) + (byte) line_ydxd::y#3 ← phi( line_ydxd/(byte) line_ydxd::y#6 line_ydxd::@2/(byte) line_ydxd::y#2 ) + (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#3 + call plot param-assignment + to:line_ydxd::@5 +line_ydxd::@5: scope:[line_ydxd] from line_ydxd::@1 + (byte) line_ydxd::y#2 ← (byte) line_ydxd::y#3 + (byte) 1 + (byte) line_ydxd::e#1 ← (byte) line_ydxd::e#3 + (byte) line_ydxd::xd#2 + if((byte) line_ydxd::yd#5>=(byte) line_ydxd::e#1) goto line_ydxd::@2 + to:line_ydxd::@3 +line_ydxd::@2: scope:[line_ydxd] from line_ydxd::@3 line_ydxd::@5 + (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#3 ) + (byte~) line_ydxd::$8 ← (byte) line_ydxd::y1#6 + (byte) 1 + if((byte) line_ydxd::y#2<(byte~) line_ydxd::$8) goto line_ydxd::@1 + to:line_ydxd::@return +line_ydxd::@3: scope:[line_ydxd] from line_ydxd::@5 + (byte) line_ydxd::x#2 ← (byte) line_ydxd::x#3 - (byte) 1 + (byte) line_ydxd::e#2 ← (byte) line_ydxd::e#1 - (byte) line_ydxd::yd#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 ) + (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#4 (byte*) plot::plotter_x#1 ← (const byte*) plot::plotter_x#0 hi= (byte~) plot::$0 - (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#9 + (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#4 (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 - (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#9 + (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#4 (byte*) plot::plotter_y#1 ← (const byte*) plot::plotter_y#0 hi= (byte~) plot::$2 - (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#9 + (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#4 (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 (byte~) plot::$5 ← * (byte*) plot::plotter#0 - (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#9 + (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#4 (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 *((byte*) plot::plotter#0) ← (byte~) plot::$7 to:plot::@return @@ -6953,17 +10678,17 @@ init_screen::@2: scope:[init_screen] from init_screen::@2 init_screen::@3 init_screen::@return: scope:[init_screen] from init_screen::@2 return to:@return -@7: scope:[] from @begin +@10: scope:[] from @begin call main param-assignment to:@end -@end: scope:[] from @7 +@end: scope:[] from @10 Constant (const byte) main::$1 = main::$0|RSEL#0 Succesful SSA optimization Pass2ConstantIdentification CONTROL FLOW GRAPH @begin: scope:[] from - to:@7 -main: scope:[main] from @7 + to:@10 +main: scope:[main] from @10 *((const byte*) BGCOL#0) ← (byte) 0 *((const byte*) FGCOL#0) ← (byte) 0 (byte~) main::$2 ← (const byte) main::$1 | (byte) 3 @@ -7010,113 +10735,248 @@ lines::@return: scope:[lines] from lines::@3 to:@return line: scope:[line] from lines::@1 if((byte) line::x0#0>=(byte) line::x1#0) goto line::@1 - to:line::@9 -line::@1: scope:[line] from line - (byte) line::xd#0 ← (byte) line::x1#0 - (byte) line::x0#0 - if((byte) line::y0#0>=(byte) line::y1#0) goto line::@7 to:line::@15 -line::@9: scope:[line] from line +line::@1: scope:[line] from line + (byte) line::xd#0 ← (byte) line::x0#0 - (byte) line::x1#0 + if((byte) line::y0#0>=(byte) line::y1#0) goto line::@9 + to:line::@23 +line::@15: scope:[line] from line (byte) line::xd#1 ← (byte) line::x1#0 - (byte) line::x0#0 if((byte) line::y0#0>=(byte) line::y1#0) goto line::@2 - to:line::@10 -line::@2: scope:[line] from line::@9 - (byte) plot::x#0 ← (byte) line::x0#0 - (byte) plot::y#0 ← (byte) line::y0#0 - call plot param-assignment + to:line::@16 +line::@2: scope:[line] from line::@15 + (byte) line::yd#0 ← (byte) line::y0#0 - (byte) line::y1#0 + if((byte) line::yd#0>=(byte) line::xd#1) goto line::@6 + to:line::@20 +line::@16: scope:[line] from line::@15 + (byte) line::yd#1 ← (byte) line::y1#0 - (byte) line::y0#0 + if((byte) line::yd#1>=(byte) line::xd#1) goto line::@3 to:line::@17 -line::@17: scope:[line] from line::@2 - (byte) plot::x#1 ← (byte) line::x1#0 - (byte) plot::y#1 ← (byte) line::y1#0 - call plot param-assignment +line::@3: scope:[line] from line::@16 + (byte) line_ydxi::y#0 ← (byte) line::y0#0 + (byte) line_ydxi::x#0 ← (byte) line::x0#0 + (byte) line_ydxi::y1#0 ← (byte) line::y1#0 + (byte) line_ydxi::yd#0 ← (byte) line::yd#1 + (byte) line_ydxi::xd#0 ← (byte) line::xd#1 + call line_ydxi param-assignment to:line::@return -line::@10: scope:[line] from line::@9 - (byte) line::yd#0 ← (byte) line::y1#0 - (byte) line::y0#0 - if((byte) line::yd#0>=(byte) line::xd#1) goto line::@3 - to:line::@11 -line::@3: scope:[line] from line::@10 - (byte) plot::x#2 ← (byte) line::x0#0 - (byte) plot::y#2 ← (byte) line::y0#0 - call plot param-assignment - to:line::@19 -line::@19: scope:[line] from line::@3 - (byte) plot::x#3 ← (byte) line::x1#0 - (byte) plot::y#3 ← (byte) line::y1#0 - call plot param-assignment - to:line::@return -line::@11: scope:[line] from line::@10 +line::@17: scope:[line] from line::@16 (byte) line_xdyi::x#0 ← (byte) line::x0#0 (byte) line_xdyi::y#0 ← (byte) line::y0#0 (byte) line_xdyi::x1#0 ← (byte) line::x1#0 (byte) line_xdyi::xd#0 ← (byte) line::xd#1 - (byte) line_xdyi::yd#0 ← (byte) line::yd#0 + (byte) line_xdyi::yd#0 ← (byte) line::yd#1 call line_xdyi param-assignment to:line::@return -line::@7: scope:[line] from line::@1 - (byte) plot::x#4 ← (byte) line::x0#0 - (byte) plot::y#4 ← (byte) line::y0#0 - call plot param-assignment - to:line::@22 -line::@22: scope:[line] from line::@7 - (byte) plot::x#5 ← (byte) line::x1#0 - (byte) plot::y#5 ← (byte) line::y1#0 - call plot param-assignment +line::@6: scope:[line] from line::@2 + (byte) line_ydxd::y#0 ← (byte) line::y1#0 + (byte) line_ydxd::x#0 ← (byte) line::x1#0 + (byte) line_ydxd::y1#0 ← (byte) line::y0#0 + (byte) line_ydxd::yd#0 ← (byte) line::yd#0 + (byte) line_ydxd::xd#0 ← (byte) line::xd#1 + call line_ydxd param-assignment to:line::@return -line::@15: scope:[line] from line::@1 - (byte) plot::x#6 ← (byte) line::x0#0 - (byte) plot::y#6 ← (byte) line::y0#0 - call plot param-assignment +line::@20: scope:[line] from line::@2 + (byte) line_xdyd::x#0 ← (byte) line::x0#0 + (byte) line_xdyd::y#0 ← (byte) line::y0#0 + (byte) line_xdyd::x1#0 ← (byte) line::x1#0 + (byte) line_xdyd::xd#0 ← (byte) line::xd#1 + (byte) line_xdyd::yd#0 ← (byte) line::yd#0 + call line_xdyd param-assignment + to:line::@return +line::@9: scope:[line] from line::@1 + (byte) line::yd#10 ← (byte) line::y0#0 - (byte) line::y1#0 + if((byte) line::yd#10>=(byte) line::xd#0) goto line::@13 + to:line::@27 +line::@23: scope:[line] from line::@1 + (byte) line::yd#3 ← (byte) line::y1#0 - (byte) line::y0#0 + if((byte) line::yd#3>=(byte) line::xd#0) goto line::@10 to:line::@24 -line::@24: scope:[line] from line::@15 - (byte) plot::x#7 ← (byte) line::x1#0 - (byte) plot::y#7 ← (byte) line::y1#0 - call plot param-assignment +line::@10: scope:[line] from line::@23 + (byte) line_ydxd::y#1 ← (byte) line::y0#0 + (byte) line_ydxd::x#1 ← (byte) line::x0#0 + (byte) line_ydxd::y1#1 ← (byte) line::y1#0 + (byte) line_ydxd::yd#1 ← (byte) line::yd#3 + (byte) line_ydxd::xd#1 ← (byte) line::xd#0 + call line_ydxd param-assignment to:line::@return -line::@return: scope:[line] from line::@11 line::@17 line::@19 line::@22 line::@24 +line::@24: scope:[line] from line::@23 + (byte) line_xdyd::x#1 ← (byte) line::x1#0 + (byte) line_xdyd::y#1 ← (byte) line::y1#0 + (byte) line_xdyd::x1#1 ← (byte) line::x0#0 + (byte) line_xdyd::xd#1 ← (byte) line::xd#0 + (byte) line_xdyd::yd#1 ← (byte) line::yd#3 + call line_xdyd param-assignment + to:line::@return +line::@13: scope:[line] from line::@9 + (byte) line_ydxi::y#1 ← (byte) line::y1#0 + (byte) line_ydxi::x#1 ← (byte) line::x1#0 + (byte) line_ydxi::y1#1 ← (byte) line::y0#0 + (byte) line_ydxi::yd#1 ← (byte) line::yd#10 + (byte) line_ydxi::xd#1 ← (byte) line::xd#0 + call line_ydxi param-assignment + to:line::@return +line::@27: scope:[line] from line::@9 + (byte) line_xdyi::x#1 ← (byte) line::x1#0 + (byte) line_xdyi::y#1 ← (byte) line::y1#0 + (byte) line_xdyi::x1#1 ← (byte) line::x0#0 + (byte) line_xdyi::xd#1 ← (byte) line::xd#0 + (byte) line_xdyi::yd#1 ← (byte) line::yd#10 + call line_xdyi param-assignment + to:line::@return +line::@return: scope:[line] from line::@10 line::@13 line::@17 line::@20 line::@24 line::@27 line::@3 line::@6 return to:@return -line_xdyi: scope:[line_xdyi] from line::@11 - (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#0 >> (byte) 1 +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::e#0 ← (byte) line_xdyi::yd#2 >> (byte) 1 to:line_xdyi::@1 line_xdyi::@1: scope:[line_xdyi] from line_xdyi line_xdyi::@2 (byte) line_xdyi::e#3 ← phi( line_xdyi/(byte) line_xdyi::e#0 line_xdyi::@2/(byte) line_xdyi::e#6 ) - (byte) line_xdyi::y#2 ← phi( line_xdyi/(byte) line_xdyi::y#0 line_xdyi::@2/(byte) line_xdyi::y#5 ) - (byte) line_xdyi::x#2 ← phi( line_xdyi/(byte) line_xdyi::x#0 line_xdyi::@2/(byte) line_xdyi::x#1 ) - (byte) plot::x#8 ← (byte) line_xdyi::x#2 - (byte) plot::y#8 ← (byte) line_xdyi::y#2 + (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#2 ) + (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::x#1 ← (byte) line_xdyi::x#2 + (byte) 1 - (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#0 - if((byte) line_xdyi::xd#0>=(byte) line_xdyi::e#1) goto line_xdyi::@2 + (byte) line_xdyi::x#2 ← (byte) line_xdyi::x#3 + (byte) 1 + (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#2 + if((byte) line_xdyi::xd#5>=(byte) line_xdyi::e#1) goto line_xdyi::@2 to:line_xdyi::@3 line_xdyi::@2: scope:[line_xdyi] from line_xdyi::@3 line_xdyi::@5 (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#5 ← phi( line_xdyi::@3/(byte) line_xdyi::y#1 line_xdyi::@5/(byte) line_xdyi::y#2 ) - (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#0 + (byte) 1 - if((byte) line_xdyi::x#1<(byte~) line_xdyi::$8) goto line_xdyi::@1 + (byte) line_xdyi::y#6 ← phi( line_xdyi::@3/(byte) line_xdyi::y#2 line_xdyi::@5/(byte) line_xdyi::y#3 ) + (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#6 + (byte) 1 + if((byte) line_xdyi::x#2<(byte~) line_xdyi::$8) goto line_xdyi::@1 to:line_xdyi::@return line_xdyi::@3: scope:[line_xdyi] from line_xdyi::@5 - (byte) line_xdyi::y#1 ← (byte) line_xdyi::y#2 + (byte) 1 - (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#0 + (byte) line_xdyi::y#2 ← (byte) line_xdyi::y#3 + (byte) 1 + (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#5 to:line_xdyi::@2 line_xdyi::@return: scope:[line_xdyi] from line_xdyi::@2 return to:@return -plot: scope:[plot] from line::@15 line::@17 line::@19 line::@2 line::@22 line::@24 line::@3 line::@7 line_xdyi::@1 - (byte) plot::y#9 ← phi( line::@15/(byte) plot::y#6 line::@17/(byte) plot::y#1 line::@19/(byte) plot::y#3 line::@2/(byte) plot::y#0 line::@22/(byte) plot::y#5 line::@24/(byte) plot::y#7 line::@3/(byte) plot::y#2 line::@7/(byte) plot::y#4 line_xdyi::@1/(byte) plot::y#8 ) - (byte) plot::x#9 ← phi( line::@15/(byte) plot::x#6 line::@17/(byte) plot::x#1 line::@19/(byte) plot::x#3 line::@2/(byte) plot::x#0 line::@22/(byte) plot::x#5 line::@24/(byte) plot::x#7 line::@3/(byte) plot::x#2 line::@7/(byte) plot::x#4 line_xdyi::@1/(byte) plot::x#8 ) - (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#9 +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::e#0 ← (byte) line_xdyd::yd#2 >> (byte) 1 + to:line_xdyd::@1 +line_xdyd::@1: scope:[line_xdyd] from line_xdyd line_xdyd::@2 + (byte) line_xdyd::e#3 ← 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#2 ) + (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::x#2 ← (byte) line_xdyd::x#3 + (byte) 1 + (byte) line_xdyd::e#1 ← (byte) line_xdyd::e#3 + (byte) line_xdyd::yd#2 + if((byte) line_xdyd::xd#5>=(byte) line_xdyd::e#1) goto line_xdyd::@2 + to:line_xdyd::@3 +line_xdyd::@2: scope:[line_xdyd] from line_xdyd::@3 line_xdyd::@5 + (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#3 ) + (byte~) line_xdyd::$8 ← (byte) line_xdyd::x1#6 + (byte) 1 + if((byte) line_xdyd::x#2<(byte~) line_xdyd::$8) goto line_xdyd::@1 + to:line_xdyd::@return +line_xdyd::@3: scope:[line_xdyd] from line_xdyd::@5 + (byte) line_xdyd::y#2 ← (byte) line_xdyd::y#3 - (byte) 1 + (byte) line_xdyd::e#2 ← (byte) line_xdyd::e#1 - (byte) line_xdyd::xd#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::e#0 ← (byte) line_ydxi::xd#2 >> (byte) 1 + to:line_ydxi::@1 +line_ydxi::@1: scope:[line_ydxi] from line_ydxi line_ydxi::@2 + (byte) line_ydxi::e#3 ← 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#2 ) + (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::y#2 ← (byte) line_ydxi::y#3 + (byte) 1 + (byte) line_ydxi::e#1 ← (byte) line_ydxi::e#3 + (byte) line_ydxi::xd#2 + if((byte) line_ydxi::yd#5>=(byte) line_ydxi::e#1) goto line_ydxi::@2 + to:line_ydxi::@3 +line_ydxi::@2: scope:[line_ydxi] from line_ydxi::@3 line_ydxi::@5 + (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#3 ) + (byte~) line_ydxi::$8 ← (byte) line_ydxi::y1#6 + (byte) 1 + if((byte) line_ydxi::y#2<(byte~) line_ydxi::$8) goto line_ydxi::@1 + to:line_ydxi::@return +line_ydxi::@3: scope:[line_ydxi] from line_ydxi::@5 + (byte) line_ydxi::x#2 ← (byte) line_ydxi::x#3 + (byte) 1 + (byte) line_ydxi::e#2 ← (byte) line_ydxi::e#1 - (byte) line_ydxi::yd#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#6 ← 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::e#0 ← (byte) line_ydxd::xd#2 >> (byte) 1 + to:line_ydxd::@1 +line_ydxd::@1: scope:[line_ydxd] from line_ydxd line_ydxd::@2 + (byte) line_ydxd::e#3 ← phi( line_ydxd/(byte) line_ydxd::e#0 line_ydxd::@2/(byte) line_ydxd::e#6 ) + (byte) line_ydxd::y#3 ← phi( line_ydxd/(byte) line_ydxd::y#6 line_ydxd::@2/(byte) line_ydxd::y#2 ) + (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#3 + call plot param-assignment + to:line_ydxd::@5 +line_ydxd::@5: scope:[line_ydxd] from line_ydxd::@1 + (byte) line_ydxd::y#2 ← (byte) line_ydxd::y#3 + (byte) 1 + (byte) line_ydxd::e#1 ← (byte) line_ydxd::e#3 + (byte) line_ydxd::xd#2 + if((byte) line_ydxd::yd#5>=(byte) line_ydxd::e#1) goto line_ydxd::@2 + to:line_ydxd::@3 +line_ydxd::@2: scope:[line_ydxd] from line_ydxd::@3 line_ydxd::@5 + (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#3 ) + (byte~) line_ydxd::$8 ← (byte) line_ydxd::y1#6 + (byte) 1 + if((byte) line_ydxd::y#2<(byte~) line_ydxd::$8) goto line_ydxd::@1 + to:line_ydxd::@return +line_ydxd::@3: scope:[line_ydxd] from line_ydxd::@5 + (byte) line_ydxd::x#2 ← (byte) line_ydxd::x#3 - (byte) 1 + (byte) line_ydxd::e#2 ← (byte) line_ydxd::e#1 - (byte) line_ydxd::yd#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 ) + (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#4 (byte*) plot::plotter_x#1 ← (const byte*) plot::plotter_x#0 hi= (byte~) plot::$0 - (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#9 + (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#4 (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 - (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#9 + (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#4 (byte*) plot::plotter_y#1 ← (const byte*) plot::plotter_y#0 hi= (byte~) plot::$2 - (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#9 + (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#4 (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 (byte~) plot::$5 ← * (byte*) plot::plotter#0 - (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#9 + (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#4 (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 *((byte*) plot::plotter#0) ← (byte~) plot::$7 to:plot::@return @@ -7186,17 +11046,17 @@ init_screen::@2: scope:[init_screen] from init_screen::@2 init_screen::@3 init_screen::@return: scope:[init_screen] from init_screen::@2 return to:@return -@7: scope:[] from @begin +@10: scope:[] from @begin call main param-assignment to:@end -@end: scope:[] from @7 +@end: scope:[] from @10 Constant (const byte) main::$2 = main::$1|3 Succesful SSA optimization Pass2ConstantIdentification CONTROL FLOW GRAPH @begin: scope:[] from - to:@7 -main: scope:[main] from @7 + to:@10 +main: scope:[main] from @10 *((const byte*) BGCOL#0) ← (byte) 0 *((const byte*) FGCOL#0) ← (byte) 0 *((const byte*) D011#0) ← (const byte) main::$2 @@ -7242,113 +11102,248 @@ lines::@return: scope:[lines] from lines::@3 to:@return line: scope:[line] from lines::@1 if((byte) line::x0#0>=(byte) line::x1#0) goto line::@1 - to:line::@9 -line::@1: scope:[line] from line - (byte) line::xd#0 ← (byte) line::x1#0 - (byte) line::x0#0 - if((byte) line::y0#0>=(byte) line::y1#0) goto line::@7 to:line::@15 -line::@9: scope:[line] from line +line::@1: scope:[line] from line + (byte) line::xd#0 ← (byte) line::x0#0 - (byte) line::x1#0 + if((byte) line::y0#0>=(byte) line::y1#0) goto line::@9 + to:line::@23 +line::@15: scope:[line] from line (byte) line::xd#1 ← (byte) line::x1#0 - (byte) line::x0#0 if((byte) line::y0#0>=(byte) line::y1#0) goto line::@2 - to:line::@10 -line::@2: scope:[line] from line::@9 - (byte) plot::x#0 ← (byte) line::x0#0 - (byte) plot::y#0 ← (byte) line::y0#0 - call plot param-assignment + to:line::@16 +line::@2: scope:[line] from line::@15 + (byte) line::yd#0 ← (byte) line::y0#0 - (byte) line::y1#0 + if((byte) line::yd#0>=(byte) line::xd#1) goto line::@6 + to:line::@20 +line::@16: scope:[line] from line::@15 + (byte) line::yd#1 ← (byte) line::y1#0 - (byte) line::y0#0 + if((byte) line::yd#1>=(byte) line::xd#1) goto line::@3 to:line::@17 -line::@17: scope:[line] from line::@2 - (byte) plot::x#1 ← (byte) line::x1#0 - (byte) plot::y#1 ← (byte) line::y1#0 - call plot param-assignment +line::@3: scope:[line] from line::@16 + (byte) line_ydxi::y#0 ← (byte) line::y0#0 + (byte) line_ydxi::x#0 ← (byte) line::x0#0 + (byte) line_ydxi::y1#0 ← (byte) line::y1#0 + (byte) line_ydxi::yd#0 ← (byte) line::yd#1 + (byte) line_ydxi::xd#0 ← (byte) line::xd#1 + call line_ydxi param-assignment to:line::@return -line::@10: scope:[line] from line::@9 - (byte) line::yd#0 ← (byte) line::y1#0 - (byte) line::y0#0 - if((byte) line::yd#0>=(byte) line::xd#1) goto line::@3 - to:line::@11 -line::@3: scope:[line] from line::@10 - (byte) plot::x#2 ← (byte) line::x0#0 - (byte) plot::y#2 ← (byte) line::y0#0 - call plot param-assignment - to:line::@19 -line::@19: scope:[line] from line::@3 - (byte) plot::x#3 ← (byte) line::x1#0 - (byte) plot::y#3 ← (byte) line::y1#0 - call plot param-assignment - to:line::@return -line::@11: scope:[line] from line::@10 +line::@17: scope:[line] from line::@16 (byte) line_xdyi::x#0 ← (byte) line::x0#0 (byte) line_xdyi::y#0 ← (byte) line::y0#0 (byte) line_xdyi::x1#0 ← (byte) line::x1#0 (byte) line_xdyi::xd#0 ← (byte) line::xd#1 - (byte) line_xdyi::yd#0 ← (byte) line::yd#0 + (byte) line_xdyi::yd#0 ← (byte) line::yd#1 call line_xdyi param-assignment to:line::@return -line::@7: scope:[line] from line::@1 - (byte) plot::x#4 ← (byte) line::x0#0 - (byte) plot::y#4 ← (byte) line::y0#0 - call plot param-assignment - to:line::@22 -line::@22: scope:[line] from line::@7 - (byte) plot::x#5 ← (byte) line::x1#0 - (byte) plot::y#5 ← (byte) line::y1#0 - call plot param-assignment +line::@6: scope:[line] from line::@2 + (byte) line_ydxd::y#0 ← (byte) line::y1#0 + (byte) line_ydxd::x#0 ← (byte) line::x1#0 + (byte) line_ydxd::y1#0 ← (byte) line::y0#0 + (byte) line_ydxd::yd#0 ← (byte) line::yd#0 + (byte) line_ydxd::xd#0 ← (byte) line::xd#1 + call line_ydxd param-assignment to:line::@return -line::@15: scope:[line] from line::@1 - (byte) plot::x#6 ← (byte) line::x0#0 - (byte) plot::y#6 ← (byte) line::y0#0 - call plot param-assignment +line::@20: scope:[line] from line::@2 + (byte) line_xdyd::x#0 ← (byte) line::x0#0 + (byte) line_xdyd::y#0 ← (byte) line::y0#0 + (byte) line_xdyd::x1#0 ← (byte) line::x1#0 + (byte) line_xdyd::xd#0 ← (byte) line::xd#1 + (byte) line_xdyd::yd#0 ← (byte) line::yd#0 + call line_xdyd param-assignment + to:line::@return +line::@9: scope:[line] from line::@1 + (byte) line::yd#10 ← (byte) line::y0#0 - (byte) line::y1#0 + if((byte) line::yd#10>=(byte) line::xd#0) goto line::@13 + to:line::@27 +line::@23: scope:[line] from line::@1 + (byte) line::yd#3 ← (byte) line::y1#0 - (byte) line::y0#0 + if((byte) line::yd#3>=(byte) line::xd#0) goto line::@10 to:line::@24 -line::@24: scope:[line] from line::@15 - (byte) plot::x#7 ← (byte) line::x1#0 - (byte) plot::y#7 ← (byte) line::y1#0 - call plot param-assignment +line::@10: scope:[line] from line::@23 + (byte) line_ydxd::y#1 ← (byte) line::y0#0 + (byte) line_ydxd::x#1 ← (byte) line::x0#0 + (byte) line_ydxd::y1#1 ← (byte) line::y1#0 + (byte) line_ydxd::yd#1 ← (byte) line::yd#3 + (byte) line_ydxd::xd#1 ← (byte) line::xd#0 + call line_ydxd param-assignment to:line::@return -line::@return: scope:[line] from line::@11 line::@17 line::@19 line::@22 line::@24 +line::@24: scope:[line] from line::@23 + (byte) line_xdyd::x#1 ← (byte) line::x1#0 + (byte) line_xdyd::y#1 ← (byte) line::y1#0 + (byte) line_xdyd::x1#1 ← (byte) line::x0#0 + (byte) line_xdyd::xd#1 ← (byte) line::xd#0 + (byte) line_xdyd::yd#1 ← (byte) line::yd#3 + call line_xdyd param-assignment + to:line::@return +line::@13: scope:[line] from line::@9 + (byte) line_ydxi::y#1 ← (byte) line::y1#0 + (byte) line_ydxi::x#1 ← (byte) line::x1#0 + (byte) line_ydxi::y1#1 ← (byte) line::y0#0 + (byte) line_ydxi::yd#1 ← (byte) line::yd#10 + (byte) line_ydxi::xd#1 ← (byte) line::xd#0 + call line_ydxi param-assignment + to:line::@return +line::@27: scope:[line] from line::@9 + (byte) line_xdyi::x#1 ← (byte) line::x1#0 + (byte) line_xdyi::y#1 ← (byte) line::y1#0 + (byte) line_xdyi::x1#1 ← (byte) line::x0#0 + (byte) line_xdyi::xd#1 ← (byte) line::xd#0 + (byte) line_xdyi::yd#1 ← (byte) line::yd#10 + call line_xdyi param-assignment + to:line::@return +line::@return: scope:[line] from line::@10 line::@13 line::@17 line::@20 line::@24 line::@27 line::@3 line::@6 return to:@return -line_xdyi: scope:[line_xdyi] from line::@11 - (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#0 >> (byte) 1 +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::e#0 ← (byte) line_xdyi::yd#2 >> (byte) 1 to:line_xdyi::@1 line_xdyi::@1: scope:[line_xdyi] from line_xdyi line_xdyi::@2 (byte) line_xdyi::e#3 ← phi( line_xdyi/(byte) line_xdyi::e#0 line_xdyi::@2/(byte) line_xdyi::e#6 ) - (byte) line_xdyi::y#2 ← phi( line_xdyi/(byte) line_xdyi::y#0 line_xdyi::@2/(byte) line_xdyi::y#5 ) - (byte) line_xdyi::x#2 ← phi( line_xdyi/(byte) line_xdyi::x#0 line_xdyi::@2/(byte) line_xdyi::x#1 ) - (byte) plot::x#8 ← (byte) line_xdyi::x#2 - (byte) plot::y#8 ← (byte) line_xdyi::y#2 + (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#2 ) + (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::x#1 ← (byte) line_xdyi::x#2 + (byte) 1 - (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#0 - if((byte) line_xdyi::xd#0>=(byte) line_xdyi::e#1) goto line_xdyi::@2 + (byte) line_xdyi::x#2 ← (byte) line_xdyi::x#3 + (byte) 1 + (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#2 + if((byte) line_xdyi::xd#5>=(byte) line_xdyi::e#1) goto line_xdyi::@2 to:line_xdyi::@3 line_xdyi::@2: scope:[line_xdyi] from line_xdyi::@3 line_xdyi::@5 (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#5 ← phi( line_xdyi::@3/(byte) line_xdyi::y#1 line_xdyi::@5/(byte) line_xdyi::y#2 ) - (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#0 + (byte) 1 - if((byte) line_xdyi::x#1<(byte~) line_xdyi::$8) goto line_xdyi::@1 + (byte) line_xdyi::y#6 ← phi( line_xdyi::@3/(byte) line_xdyi::y#2 line_xdyi::@5/(byte) line_xdyi::y#3 ) + (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#6 + (byte) 1 + if((byte) line_xdyi::x#2<(byte~) line_xdyi::$8) goto line_xdyi::@1 to:line_xdyi::@return line_xdyi::@3: scope:[line_xdyi] from line_xdyi::@5 - (byte) line_xdyi::y#1 ← (byte) line_xdyi::y#2 + (byte) 1 - (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#0 + (byte) line_xdyi::y#2 ← (byte) line_xdyi::y#3 + (byte) 1 + (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#5 to:line_xdyi::@2 line_xdyi::@return: scope:[line_xdyi] from line_xdyi::@2 return to:@return -plot: scope:[plot] from line::@15 line::@17 line::@19 line::@2 line::@22 line::@24 line::@3 line::@7 line_xdyi::@1 - (byte) plot::y#9 ← phi( line::@15/(byte) plot::y#6 line::@17/(byte) plot::y#1 line::@19/(byte) plot::y#3 line::@2/(byte) plot::y#0 line::@22/(byte) plot::y#5 line::@24/(byte) plot::y#7 line::@3/(byte) plot::y#2 line::@7/(byte) plot::y#4 line_xdyi::@1/(byte) plot::y#8 ) - (byte) plot::x#9 ← phi( line::@15/(byte) plot::x#6 line::@17/(byte) plot::x#1 line::@19/(byte) plot::x#3 line::@2/(byte) plot::x#0 line::@22/(byte) plot::x#5 line::@24/(byte) plot::x#7 line::@3/(byte) plot::x#2 line::@7/(byte) plot::x#4 line_xdyi::@1/(byte) plot::x#8 ) - (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#9 +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::e#0 ← (byte) line_xdyd::yd#2 >> (byte) 1 + to:line_xdyd::@1 +line_xdyd::@1: scope:[line_xdyd] from line_xdyd line_xdyd::@2 + (byte) line_xdyd::e#3 ← 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#2 ) + (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::x#2 ← (byte) line_xdyd::x#3 + (byte) 1 + (byte) line_xdyd::e#1 ← (byte) line_xdyd::e#3 + (byte) line_xdyd::yd#2 + if((byte) line_xdyd::xd#5>=(byte) line_xdyd::e#1) goto line_xdyd::@2 + to:line_xdyd::@3 +line_xdyd::@2: scope:[line_xdyd] from line_xdyd::@3 line_xdyd::@5 + (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#3 ) + (byte~) line_xdyd::$8 ← (byte) line_xdyd::x1#6 + (byte) 1 + if((byte) line_xdyd::x#2<(byte~) line_xdyd::$8) goto line_xdyd::@1 + to:line_xdyd::@return +line_xdyd::@3: scope:[line_xdyd] from line_xdyd::@5 + (byte) line_xdyd::y#2 ← (byte) line_xdyd::y#3 - (byte) 1 + (byte) line_xdyd::e#2 ← (byte) line_xdyd::e#1 - (byte) line_xdyd::xd#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::e#0 ← (byte) line_ydxi::xd#2 >> (byte) 1 + to:line_ydxi::@1 +line_ydxi::@1: scope:[line_ydxi] from line_ydxi line_ydxi::@2 + (byte) line_ydxi::e#3 ← 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#2 ) + (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::y#2 ← (byte) line_ydxi::y#3 + (byte) 1 + (byte) line_ydxi::e#1 ← (byte) line_ydxi::e#3 + (byte) line_ydxi::xd#2 + if((byte) line_ydxi::yd#5>=(byte) line_ydxi::e#1) goto line_ydxi::@2 + to:line_ydxi::@3 +line_ydxi::@2: scope:[line_ydxi] from line_ydxi::@3 line_ydxi::@5 + (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#3 ) + (byte~) line_ydxi::$8 ← (byte) line_ydxi::y1#6 + (byte) 1 + if((byte) line_ydxi::y#2<(byte~) line_ydxi::$8) goto line_ydxi::@1 + to:line_ydxi::@return +line_ydxi::@3: scope:[line_ydxi] from line_ydxi::@5 + (byte) line_ydxi::x#2 ← (byte) line_ydxi::x#3 + (byte) 1 + (byte) line_ydxi::e#2 ← (byte) line_ydxi::e#1 - (byte) line_ydxi::yd#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#6 ← 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::e#0 ← (byte) line_ydxd::xd#2 >> (byte) 1 + to:line_ydxd::@1 +line_ydxd::@1: scope:[line_ydxd] from line_ydxd line_ydxd::@2 + (byte) line_ydxd::e#3 ← phi( line_ydxd/(byte) line_ydxd::e#0 line_ydxd::@2/(byte) line_ydxd::e#6 ) + (byte) line_ydxd::y#3 ← phi( line_ydxd/(byte) line_ydxd::y#6 line_ydxd::@2/(byte) line_ydxd::y#2 ) + (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#3 + call plot param-assignment + to:line_ydxd::@5 +line_ydxd::@5: scope:[line_ydxd] from line_ydxd::@1 + (byte) line_ydxd::y#2 ← (byte) line_ydxd::y#3 + (byte) 1 + (byte) line_ydxd::e#1 ← (byte) line_ydxd::e#3 + (byte) line_ydxd::xd#2 + if((byte) line_ydxd::yd#5>=(byte) line_ydxd::e#1) goto line_ydxd::@2 + to:line_ydxd::@3 +line_ydxd::@2: scope:[line_ydxd] from line_ydxd::@3 line_ydxd::@5 + (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#3 ) + (byte~) line_ydxd::$8 ← (byte) line_ydxd::y1#6 + (byte) 1 + if((byte) line_ydxd::y#2<(byte~) line_ydxd::$8) goto line_ydxd::@1 + to:line_ydxd::@return +line_ydxd::@3: scope:[line_ydxd] from line_ydxd::@5 + (byte) line_ydxd::x#2 ← (byte) line_ydxd::x#3 - (byte) 1 + (byte) line_ydxd::e#2 ← (byte) line_ydxd::e#1 - (byte) line_ydxd::yd#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 ) + (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#4 (byte*) plot::plotter_x#1 ← (const byte*) plot::plotter_x#0 hi= (byte~) plot::$0 - (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#9 + (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#4 (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 - (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#9 + (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#4 (byte*) plot::plotter_y#1 ← (const byte*) plot::plotter_y#0 hi= (byte~) plot::$2 - (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#9 + (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#4 (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 (byte~) plot::$5 ← * (byte*) plot::plotter#0 - (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#9 + (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#4 (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 *((byte*) plot::plotter#0) ← (byte~) plot::$7 to:plot::@return @@ -7418,10 +11413,10 @@ init_screen::@2: scope:[init_screen] from init_screen::@2 init_screen::@3 init_screen::@return: scope:[init_screen] from init_screen::@2 return to:@return -@7: scope:[] from @begin +@10: scope:[] from @begin call main param-assignment to:@end -@end: scope:[] from @7 +@end: scope:[] from @10 Multiple usages for variable. Not optimizing sub-constant (byte) lines::l#2 Multiple usages for variable. Not optimizing sub-constant (byte) lines::l#2 @@ -7429,13 +11424,17 @@ Consolidated referenced array index constant in assignment lines::$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 referenced array index constant in assignment lines::$5 -Multiple usages for variable. Not optimizing sub-constant (byte) line_xdyi::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) line_xdyi::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte) plot::x#9 -Multiple usages for variable. Not optimizing sub-constant (byte) plot::x#9 -Multiple usages for variable. Not optimizing sub-constant (byte) plot::y#9 -Multiple usages for variable. Not optimizing sub-constant (byte) plot::y#9 -Multiple usages for variable. Not optimizing sub-constant (byte) plot::x#9 +Multiple usages for variable. Not optimizing sub-constant (byte) line_xdyi::x#3 +Multiple usages for variable. Not optimizing sub-constant (byte) line_xdyi::y#3 +Multiple usages for variable. Not optimizing sub-constant (byte) line_xdyd::x#3 +Multiple usages for variable. Not optimizing sub-constant (byte) line_ydxi::y#3 +Multiple usages for variable. Not optimizing sub-constant (byte) line_ydxi::x#3 +Multiple usages for variable. Not optimizing sub-constant (byte) line_ydxd::y#3 +Multiple usages for variable. Not optimizing sub-constant (byte) plot::x#4 +Multiple usages for variable. Not optimizing sub-constant (byte) plot::x#4 +Multiple usages for variable. Not optimizing sub-constant (byte) plot::y#4 +Multiple usages for variable. Not optimizing sub-constant (byte) plot::y#4 +Multiple usages for variable. Not optimizing sub-constant (byte) plot::x#4 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 @@ -7445,8 +11444,8 @@ Multiple usages for variable. Not optimizing sub-constant (byte*) init_plot_tabl Succesful SSA optimization Pass2ConstantAdditionElimination CONTROL FLOW GRAPH @begin: scope:[] from - to:@7 -main: scope:[main] from @7 + to:@10 +main: scope:[main] from @10 *((const byte*) BGCOL#0) ← (byte) 0 *((const byte*) FGCOL#0) ← (byte) 0 *((const byte*) D011#0) ← (const byte) main::$2 @@ -7492,113 +11491,248 @@ lines::@return: scope:[lines] from lines::@3 to:@return line: scope:[line] from lines::@1 if((byte) line::x0#0>=(byte) line::x1#0) goto line::@1 - to:line::@9 -line::@1: scope:[line] from line - (byte) line::xd#0 ← (byte) line::x1#0 - (byte) line::x0#0 - if((byte) line::y0#0>=(byte) line::y1#0) goto line::@7 to:line::@15 -line::@9: scope:[line] from line +line::@1: scope:[line] from line + (byte) line::xd#0 ← (byte) line::x0#0 - (byte) line::x1#0 + if((byte) line::y0#0>=(byte) line::y1#0) goto line::@9 + to:line::@23 +line::@15: scope:[line] from line (byte) line::xd#1 ← (byte) line::x1#0 - (byte) line::x0#0 if((byte) line::y0#0>=(byte) line::y1#0) goto line::@2 - to:line::@10 -line::@2: scope:[line] from line::@9 - (byte) plot::x#0 ← (byte) line::x0#0 - (byte) plot::y#0 ← (byte) line::y0#0 - call plot param-assignment + to:line::@16 +line::@2: scope:[line] from line::@15 + (byte) line::yd#0 ← (byte) line::y0#0 - (byte) line::y1#0 + if((byte) line::yd#0>=(byte) line::xd#1) goto line::@6 + to:line::@20 +line::@16: scope:[line] from line::@15 + (byte) line::yd#1 ← (byte) line::y1#0 - (byte) line::y0#0 + if((byte) line::yd#1>=(byte) line::xd#1) goto line::@3 to:line::@17 -line::@17: scope:[line] from line::@2 - (byte) plot::x#1 ← (byte) line::x1#0 - (byte) plot::y#1 ← (byte) line::y1#0 - call plot param-assignment +line::@3: scope:[line] from line::@16 + (byte) line_ydxi::y#0 ← (byte) line::y0#0 + (byte) line_ydxi::x#0 ← (byte) line::x0#0 + (byte) line_ydxi::y1#0 ← (byte) line::y1#0 + (byte) line_ydxi::yd#0 ← (byte) line::yd#1 + (byte) line_ydxi::xd#0 ← (byte) line::xd#1 + call line_ydxi param-assignment to:line::@return -line::@10: scope:[line] from line::@9 - (byte) line::yd#0 ← (byte) line::y1#0 - (byte) line::y0#0 - if((byte) line::yd#0>=(byte) line::xd#1) goto line::@3 - to:line::@11 -line::@3: scope:[line] from line::@10 - (byte) plot::x#2 ← (byte) line::x0#0 - (byte) plot::y#2 ← (byte) line::y0#0 - call plot param-assignment - to:line::@19 -line::@19: scope:[line] from line::@3 - (byte) plot::x#3 ← (byte) line::x1#0 - (byte) plot::y#3 ← (byte) line::y1#0 - call plot param-assignment - to:line::@return -line::@11: scope:[line] from line::@10 +line::@17: scope:[line] from line::@16 (byte) line_xdyi::x#0 ← (byte) line::x0#0 (byte) line_xdyi::y#0 ← (byte) line::y0#0 (byte) line_xdyi::x1#0 ← (byte) line::x1#0 (byte) line_xdyi::xd#0 ← (byte) line::xd#1 - (byte) line_xdyi::yd#0 ← (byte) line::yd#0 + (byte) line_xdyi::yd#0 ← (byte) line::yd#1 call line_xdyi param-assignment to:line::@return -line::@7: scope:[line] from line::@1 - (byte) plot::x#4 ← (byte) line::x0#0 - (byte) plot::y#4 ← (byte) line::y0#0 - call plot param-assignment - to:line::@22 -line::@22: scope:[line] from line::@7 - (byte) plot::x#5 ← (byte) line::x1#0 - (byte) plot::y#5 ← (byte) line::y1#0 - call plot param-assignment +line::@6: scope:[line] from line::@2 + (byte) line_ydxd::y#0 ← (byte) line::y1#0 + (byte) line_ydxd::x#0 ← (byte) line::x1#0 + (byte) line_ydxd::y1#0 ← (byte) line::y0#0 + (byte) line_ydxd::yd#0 ← (byte) line::yd#0 + (byte) line_ydxd::xd#0 ← (byte) line::xd#1 + call line_ydxd param-assignment to:line::@return -line::@15: scope:[line] from line::@1 - (byte) plot::x#6 ← (byte) line::x0#0 - (byte) plot::y#6 ← (byte) line::y0#0 - call plot param-assignment +line::@20: scope:[line] from line::@2 + (byte) line_xdyd::x#0 ← (byte) line::x0#0 + (byte) line_xdyd::y#0 ← (byte) line::y0#0 + (byte) line_xdyd::x1#0 ← (byte) line::x1#0 + (byte) line_xdyd::xd#0 ← (byte) line::xd#1 + (byte) line_xdyd::yd#0 ← (byte) line::yd#0 + call line_xdyd param-assignment + to:line::@return +line::@9: scope:[line] from line::@1 + (byte) line::yd#10 ← (byte) line::y0#0 - (byte) line::y1#0 + if((byte) line::yd#10>=(byte) line::xd#0) goto line::@13 + to:line::@27 +line::@23: scope:[line] from line::@1 + (byte) line::yd#3 ← (byte) line::y1#0 - (byte) line::y0#0 + if((byte) line::yd#3>=(byte) line::xd#0) goto line::@10 to:line::@24 -line::@24: scope:[line] from line::@15 - (byte) plot::x#7 ← (byte) line::x1#0 - (byte) plot::y#7 ← (byte) line::y1#0 - call plot param-assignment +line::@10: scope:[line] from line::@23 + (byte) line_ydxd::y#1 ← (byte) line::y0#0 + (byte) line_ydxd::x#1 ← (byte) line::x0#0 + (byte) line_ydxd::y1#1 ← (byte) line::y1#0 + (byte) line_ydxd::yd#1 ← (byte) line::yd#3 + (byte) line_ydxd::xd#1 ← (byte) line::xd#0 + call line_ydxd param-assignment to:line::@return -line::@return: scope:[line] from line::@11 line::@17 line::@19 line::@22 line::@24 +line::@24: scope:[line] from line::@23 + (byte) line_xdyd::x#1 ← (byte) line::x1#0 + (byte) line_xdyd::y#1 ← (byte) line::y1#0 + (byte) line_xdyd::x1#1 ← (byte) line::x0#0 + (byte) line_xdyd::xd#1 ← (byte) line::xd#0 + (byte) line_xdyd::yd#1 ← (byte) line::yd#3 + call line_xdyd param-assignment + to:line::@return +line::@13: scope:[line] from line::@9 + (byte) line_ydxi::y#1 ← (byte) line::y1#0 + (byte) line_ydxi::x#1 ← (byte) line::x1#0 + (byte) line_ydxi::y1#1 ← (byte) line::y0#0 + (byte) line_ydxi::yd#1 ← (byte) line::yd#10 + (byte) line_ydxi::xd#1 ← (byte) line::xd#0 + call line_ydxi param-assignment + to:line::@return +line::@27: scope:[line] from line::@9 + (byte) line_xdyi::x#1 ← (byte) line::x1#0 + (byte) line_xdyi::y#1 ← (byte) line::y1#0 + (byte) line_xdyi::x1#1 ← (byte) line::x0#0 + (byte) line_xdyi::xd#1 ← (byte) line::xd#0 + (byte) line_xdyi::yd#1 ← (byte) line::yd#10 + call line_xdyi param-assignment + to:line::@return +line::@return: scope:[line] from line::@10 line::@13 line::@17 line::@20 line::@24 line::@27 line::@3 line::@6 return to:@return -line_xdyi: scope:[line_xdyi] from line::@11 - (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#0 >> (byte) 1 +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::e#0 ← (byte) line_xdyi::yd#2 >> (byte) 1 to:line_xdyi::@1 line_xdyi::@1: scope:[line_xdyi] from line_xdyi line_xdyi::@2 (byte) line_xdyi::e#3 ← phi( line_xdyi/(byte) line_xdyi::e#0 line_xdyi::@2/(byte) line_xdyi::e#6 ) - (byte) line_xdyi::y#2 ← phi( line_xdyi/(byte) line_xdyi::y#0 line_xdyi::@2/(byte) line_xdyi::y#5 ) - (byte) line_xdyi::x#2 ← phi( line_xdyi/(byte) line_xdyi::x#0 line_xdyi::@2/(byte) line_xdyi::x#1 ) - (byte) plot::x#8 ← (byte) line_xdyi::x#2 - (byte) plot::y#8 ← (byte) line_xdyi::y#2 + (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#2 ) + (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::x#1 ← (byte) line_xdyi::x#2 + (byte) 1 - (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#0 - if((byte) line_xdyi::xd#0>=(byte) line_xdyi::e#1) goto line_xdyi::@2 + (byte) line_xdyi::x#2 ← (byte) line_xdyi::x#3 + (byte) 1 + (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#2 + if((byte) line_xdyi::xd#5>=(byte) line_xdyi::e#1) goto line_xdyi::@2 to:line_xdyi::@3 line_xdyi::@2: scope:[line_xdyi] from line_xdyi::@3 line_xdyi::@5 (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#5 ← phi( line_xdyi::@3/(byte) line_xdyi::y#1 line_xdyi::@5/(byte) line_xdyi::y#2 ) - (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#0 + (byte) 1 - if((byte) line_xdyi::x#1<(byte~) line_xdyi::$8) goto line_xdyi::@1 + (byte) line_xdyi::y#6 ← phi( line_xdyi::@3/(byte) line_xdyi::y#2 line_xdyi::@5/(byte) line_xdyi::y#3 ) + (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#6 + (byte) 1 + if((byte) line_xdyi::x#2<(byte~) line_xdyi::$8) goto line_xdyi::@1 to:line_xdyi::@return line_xdyi::@3: scope:[line_xdyi] from line_xdyi::@5 - (byte) line_xdyi::y#1 ← (byte) line_xdyi::y#2 + (byte) 1 - (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#0 + (byte) line_xdyi::y#2 ← (byte) line_xdyi::y#3 + (byte) 1 + (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#5 to:line_xdyi::@2 line_xdyi::@return: scope:[line_xdyi] from line_xdyi::@2 return to:@return -plot: scope:[plot] from line::@15 line::@17 line::@19 line::@2 line::@22 line::@24 line::@3 line::@7 line_xdyi::@1 - (byte) plot::y#9 ← phi( line::@15/(byte) plot::y#6 line::@17/(byte) plot::y#1 line::@19/(byte) plot::y#3 line::@2/(byte) plot::y#0 line::@22/(byte) plot::y#5 line::@24/(byte) plot::y#7 line::@3/(byte) plot::y#2 line::@7/(byte) plot::y#4 line_xdyi::@1/(byte) plot::y#8 ) - (byte) plot::x#9 ← phi( line::@15/(byte) plot::x#6 line::@17/(byte) plot::x#1 line::@19/(byte) plot::x#3 line::@2/(byte) plot::x#0 line::@22/(byte) plot::x#5 line::@24/(byte) plot::x#7 line::@3/(byte) plot::x#2 line::@7/(byte) plot::x#4 line_xdyi::@1/(byte) plot::x#8 ) - (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#9 +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::e#0 ← (byte) line_xdyd::yd#2 >> (byte) 1 + to:line_xdyd::@1 +line_xdyd::@1: scope:[line_xdyd] from line_xdyd line_xdyd::@2 + (byte) line_xdyd::e#3 ← 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#2 ) + (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::x#2 ← (byte) line_xdyd::x#3 + (byte) 1 + (byte) line_xdyd::e#1 ← (byte) line_xdyd::e#3 + (byte) line_xdyd::yd#2 + if((byte) line_xdyd::xd#5>=(byte) line_xdyd::e#1) goto line_xdyd::@2 + to:line_xdyd::@3 +line_xdyd::@2: scope:[line_xdyd] from line_xdyd::@3 line_xdyd::@5 + (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#3 ) + (byte~) line_xdyd::$8 ← (byte) line_xdyd::x1#6 + (byte) 1 + if((byte) line_xdyd::x#2<(byte~) line_xdyd::$8) goto line_xdyd::@1 + to:line_xdyd::@return +line_xdyd::@3: scope:[line_xdyd] from line_xdyd::@5 + (byte) line_xdyd::y#2 ← (byte) line_xdyd::y#3 - (byte) 1 + (byte) line_xdyd::e#2 ← (byte) line_xdyd::e#1 - (byte) line_xdyd::xd#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::e#0 ← (byte) line_ydxi::xd#2 >> (byte) 1 + to:line_ydxi::@1 +line_ydxi::@1: scope:[line_ydxi] from line_ydxi line_ydxi::@2 + (byte) line_ydxi::e#3 ← 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#2 ) + (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::y#2 ← (byte) line_ydxi::y#3 + (byte) 1 + (byte) line_ydxi::e#1 ← (byte) line_ydxi::e#3 + (byte) line_ydxi::xd#2 + if((byte) line_ydxi::yd#5>=(byte) line_ydxi::e#1) goto line_ydxi::@2 + to:line_ydxi::@3 +line_ydxi::@2: scope:[line_ydxi] from line_ydxi::@3 line_ydxi::@5 + (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#3 ) + (byte~) line_ydxi::$8 ← (byte) line_ydxi::y1#6 + (byte) 1 + if((byte) line_ydxi::y#2<(byte~) line_ydxi::$8) goto line_ydxi::@1 + to:line_ydxi::@return +line_ydxi::@3: scope:[line_ydxi] from line_ydxi::@5 + (byte) line_ydxi::x#2 ← (byte) line_ydxi::x#3 + (byte) 1 + (byte) line_ydxi::e#2 ← (byte) line_ydxi::e#1 - (byte) line_ydxi::yd#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#6 ← 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::e#0 ← (byte) line_ydxd::xd#2 >> (byte) 1 + to:line_ydxd::@1 +line_ydxd::@1: scope:[line_ydxd] from line_ydxd line_ydxd::@2 + (byte) line_ydxd::e#3 ← phi( line_ydxd/(byte) line_ydxd::e#0 line_ydxd::@2/(byte) line_ydxd::e#6 ) + (byte) line_ydxd::y#3 ← phi( line_ydxd/(byte) line_ydxd::y#6 line_ydxd::@2/(byte) line_ydxd::y#2 ) + (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#3 + call plot param-assignment + to:line_ydxd::@5 +line_ydxd::@5: scope:[line_ydxd] from line_ydxd::@1 + (byte) line_ydxd::y#2 ← (byte) line_ydxd::y#3 + (byte) 1 + (byte) line_ydxd::e#1 ← (byte) line_ydxd::e#3 + (byte) line_ydxd::xd#2 + if((byte) line_ydxd::yd#5>=(byte) line_ydxd::e#1) goto line_ydxd::@2 + to:line_ydxd::@3 +line_ydxd::@2: scope:[line_ydxd] from line_ydxd::@3 line_ydxd::@5 + (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#3 ) + (byte~) line_ydxd::$8 ← (byte) line_ydxd::y1#6 + (byte) 1 + if((byte) line_ydxd::y#2<(byte~) line_ydxd::$8) goto line_ydxd::@1 + to:line_ydxd::@return +line_ydxd::@3: scope:[line_ydxd] from line_ydxd::@5 + (byte) line_ydxd::x#2 ← (byte) line_ydxd::x#3 - (byte) 1 + (byte) line_ydxd::e#2 ← (byte) line_ydxd::e#1 - (byte) line_ydxd::yd#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 ) + (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#4 (byte*) plot::plotter_x#1 ← (const byte*) plot::plotter_x#0 hi= (byte~) plot::$0 - (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#9 + (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#4 (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 - (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#9 + (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#4 (byte*) plot::plotter_y#1 ← (const byte*) plot::plotter_y#0 hi= (byte~) plot::$2 - (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#9 + (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#4 (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 (byte~) plot::$5 ← * (byte*) plot::plotter#0 - (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#9 + (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#4 (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 *((byte*) plot::plotter#0) ← (byte~) plot::$7 to:plot::@return @@ -7668,20 +11802,24 @@ init_screen::@2: scope:[init_screen] from init_screen::@2 init_screen::@3 init_screen::@return: scope:[init_screen] from init_screen::@2 return to:@return -@7: scope:[] from @begin +@10: scope:[] from @begin call main param-assignment to:@end -@end: scope:[] from @7 +@end: scope:[] from @10 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) line_xdyi::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) line_xdyi::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte) plot::x#9 -Multiple usages for variable. Not optimizing sub-constant (byte) plot::x#9 -Multiple usages for variable. Not optimizing sub-constant (byte) plot::y#9 -Multiple usages for variable. Not optimizing sub-constant (byte) plot::y#9 -Multiple usages for variable. Not optimizing sub-constant (byte) plot::x#9 +Multiple usages for variable. Not optimizing sub-constant (byte) line_xdyi::x#3 +Multiple usages for variable. Not optimizing sub-constant (byte) line_xdyi::y#3 +Multiple usages for variable. Not optimizing sub-constant (byte) line_xdyd::x#3 +Multiple usages for variable. Not optimizing sub-constant (byte) line_ydxi::y#3 +Multiple usages for variable. Not optimizing sub-constant (byte) line_ydxi::x#3 +Multiple usages for variable. Not optimizing sub-constant (byte) line_ydxd::y#3 +Multiple usages for variable. Not optimizing sub-constant (byte) plot::x#4 +Multiple usages for variable. Not optimizing sub-constant (byte) plot::x#4 +Multiple usages for variable. Not optimizing sub-constant (byte) plot::y#4 +Multiple usages for variable. Not optimizing sub-constant (byte) plot::y#4 +Multiple usages for variable. Not optimizing sub-constant (byte) plot::x#4 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 @@ -7695,8 +11833,8 @@ Culled Empty Block (label) init_screen::@3 Succesful SSA optimization Pass2CullEmptyBlocks CONTROL FLOW GRAPH @begin: scope:[] from - to:@7 -main: scope:[main] from @7 + to:@10 +main: scope:[main] from @10 *((const byte*) BGCOL#0) ← (byte) 0 *((const byte*) FGCOL#0) ← (byte) 0 *((const byte*) D011#0) ← (const byte) main::$2 @@ -7740,113 +11878,248 @@ lines::@return: scope:[lines] from lines::@3 to:@return line: scope:[line] from lines::@1 if((byte) line::x0#0>=(byte) line::x1#0) goto line::@1 - to:line::@9 -line::@1: scope:[line] from line - (byte) line::xd#0 ← (byte) line::x1#0 - (byte) line::x0#0 - if((byte) line::y0#0>=(byte) line::y1#0) goto line::@7 to:line::@15 -line::@9: scope:[line] from line +line::@1: scope:[line] from line + (byte) line::xd#0 ← (byte) line::x0#0 - (byte) line::x1#0 + if((byte) line::y0#0>=(byte) line::y1#0) goto line::@9 + to:line::@23 +line::@15: scope:[line] from line (byte) line::xd#1 ← (byte) line::x1#0 - (byte) line::x0#0 if((byte) line::y0#0>=(byte) line::y1#0) goto line::@2 - to:line::@10 -line::@2: scope:[line] from line::@9 - (byte) plot::x#0 ← (byte) line::x0#0 - (byte) plot::y#0 ← (byte) line::y0#0 - call plot param-assignment + to:line::@16 +line::@2: scope:[line] from line::@15 + (byte) line::yd#0 ← (byte) line::y0#0 - (byte) line::y1#0 + if((byte) line::yd#0>=(byte) line::xd#1) goto line::@6 + to:line::@20 +line::@16: scope:[line] from line::@15 + (byte) line::yd#1 ← (byte) line::y1#0 - (byte) line::y0#0 + if((byte) line::yd#1>=(byte) line::xd#1) goto line::@3 to:line::@17 -line::@17: scope:[line] from line::@2 - (byte) plot::x#1 ← (byte) line::x1#0 - (byte) plot::y#1 ← (byte) line::y1#0 - call plot param-assignment +line::@3: scope:[line] from line::@16 + (byte) line_ydxi::y#0 ← (byte) line::y0#0 + (byte) line_ydxi::x#0 ← (byte) line::x0#0 + (byte) line_ydxi::y1#0 ← (byte) line::y1#0 + (byte) line_ydxi::yd#0 ← (byte) line::yd#1 + (byte) line_ydxi::xd#0 ← (byte) line::xd#1 + call line_ydxi param-assignment to:line::@return -line::@10: scope:[line] from line::@9 - (byte) line::yd#0 ← (byte) line::y1#0 - (byte) line::y0#0 - if((byte) line::yd#0>=(byte) line::xd#1) goto line::@3 - to:line::@11 -line::@3: scope:[line] from line::@10 - (byte) plot::x#2 ← (byte) line::x0#0 - (byte) plot::y#2 ← (byte) line::y0#0 - call plot param-assignment - to:line::@19 -line::@19: scope:[line] from line::@3 - (byte) plot::x#3 ← (byte) line::x1#0 - (byte) plot::y#3 ← (byte) line::y1#0 - call plot param-assignment - to:line::@return -line::@11: scope:[line] from line::@10 +line::@17: scope:[line] from line::@16 (byte) line_xdyi::x#0 ← (byte) line::x0#0 (byte) line_xdyi::y#0 ← (byte) line::y0#0 (byte) line_xdyi::x1#0 ← (byte) line::x1#0 (byte) line_xdyi::xd#0 ← (byte) line::xd#1 - (byte) line_xdyi::yd#0 ← (byte) line::yd#0 + (byte) line_xdyi::yd#0 ← (byte) line::yd#1 call line_xdyi param-assignment to:line::@return -line::@7: scope:[line] from line::@1 - (byte) plot::x#4 ← (byte) line::x0#0 - (byte) plot::y#4 ← (byte) line::y0#0 - call plot param-assignment - to:line::@22 -line::@22: scope:[line] from line::@7 - (byte) plot::x#5 ← (byte) line::x1#0 - (byte) plot::y#5 ← (byte) line::y1#0 - call plot param-assignment +line::@6: scope:[line] from line::@2 + (byte) line_ydxd::y#0 ← (byte) line::y1#0 + (byte) line_ydxd::x#0 ← (byte) line::x1#0 + (byte) line_ydxd::y1#0 ← (byte) line::y0#0 + (byte) line_ydxd::yd#0 ← (byte) line::yd#0 + (byte) line_ydxd::xd#0 ← (byte) line::xd#1 + call line_ydxd param-assignment to:line::@return -line::@15: scope:[line] from line::@1 - (byte) plot::x#6 ← (byte) line::x0#0 - (byte) plot::y#6 ← (byte) line::y0#0 - call plot param-assignment +line::@20: scope:[line] from line::@2 + (byte) line_xdyd::x#0 ← (byte) line::x0#0 + (byte) line_xdyd::y#0 ← (byte) line::y0#0 + (byte) line_xdyd::x1#0 ← (byte) line::x1#0 + (byte) line_xdyd::xd#0 ← (byte) line::xd#1 + (byte) line_xdyd::yd#0 ← (byte) line::yd#0 + call line_xdyd param-assignment + to:line::@return +line::@9: scope:[line] from line::@1 + (byte) line::yd#10 ← (byte) line::y0#0 - (byte) line::y1#0 + if((byte) line::yd#10>=(byte) line::xd#0) goto line::@13 + to:line::@27 +line::@23: scope:[line] from line::@1 + (byte) line::yd#3 ← (byte) line::y1#0 - (byte) line::y0#0 + if((byte) line::yd#3>=(byte) line::xd#0) goto line::@10 to:line::@24 -line::@24: scope:[line] from line::@15 - (byte) plot::x#7 ← (byte) line::x1#0 - (byte) plot::y#7 ← (byte) line::y1#0 - call plot param-assignment +line::@10: scope:[line] from line::@23 + (byte) line_ydxd::y#1 ← (byte) line::y0#0 + (byte) line_ydxd::x#1 ← (byte) line::x0#0 + (byte) line_ydxd::y1#1 ← (byte) line::y1#0 + (byte) line_ydxd::yd#1 ← (byte) line::yd#3 + (byte) line_ydxd::xd#1 ← (byte) line::xd#0 + call line_ydxd param-assignment to:line::@return -line::@return: scope:[line] from line::@11 line::@17 line::@19 line::@22 line::@24 +line::@24: scope:[line] from line::@23 + (byte) line_xdyd::x#1 ← (byte) line::x1#0 + (byte) line_xdyd::y#1 ← (byte) line::y1#0 + (byte) line_xdyd::x1#1 ← (byte) line::x0#0 + (byte) line_xdyd::xd#1 ← (byte) line::xd#0 + (byte) line_xdyd::yd#1 ← (byte) line::yd#3 + call line_xdyd param-assignment + to:line::@return +line::@13: scope:[line] from line::@9 + (byte) line_ydxi::y#1 ← (byte) line::y1#0 + (byte) line_ydxi::x#1 ← (byte) line::x1#0 + (byte) line_ydxi::y1#1 ← (byte) line::y0#0 + (byte) line_ydxi::yd#1 ← (byte) line::yd#10 + (byte) line_ydxi::xd#1 ← (byte) line::xd#0 + call line_ydxi param-assignment + to:line::@return +line::@27: scope:[line] from line::@9 + (byte) line_xdyi::x#1 ← (byte) line::x1#0 + (byte) line_xdyi::y#1 ← (byte) line::y1#0 + (byte) line_xdyi::x1#1 ← (byte) line::x0#0 + (byte) line_xdyi::xd#1 ← (byte) line::xd#0 + (byte) line_xdyi::yd#1 ← (byte) line::yd#10 + call line_xdyi param-assignment + to:line::@return +line::@return: scope:[line] from line::@10 line::@13 line::@17 line::@20 line::@24 line::@27 line::@3 line::@6 return to:@return -line_xdyi: scope:[line_xdyi] from line::@11 - (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#0 >> (byte) 1 +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::e#0 ← (byte) line_xdyi::yd#2 >> (byte) 1 to:line_xdyi::@1 line_xdyi::@1: scope:[line_xdyi] from line_xdyi line_xdyi::@2 (byte) line_xdyi::e#3 ← phi( line_xdyi/(byte) line_xdyi::e#0 line_xdyi::@2/(byte) line_xdyi::e#6 ) - (byte) line_xdyi::y#2 ← phi( line_xdyi/(byte) line_xdyi::y#0 line_xdyi::@2/(byte) line_xdyi::y#5 ) - (byte) line_xdyi::x#2 ← phi( line_xdyi/(byte) line_xdyi::x#0 line_xdyi::@2/(byte) line_xdyi::x#1 ) - (byte) plot::x#8 ← (byte) line_xdyi::x#2 - (byte) plot::y#8 ← (byte) line_xdyi::y#2 + (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#2 ) + (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::x#1 ← (byte) line_xdyi::x#2 + (byte) 1 - (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#0 - if((byte) line_xdyi::xd#0>=(byte) line_xdyi::e#1) goto line_xdyi::@2 + (byte) line_xdyi::x#2 ← (byte) line_xdyi::x#3 + (byte) 1 + (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#2 + if((byte) line_xdyi::xd#5>=(byte) line_xdyi::e#1) goto line_xdyi::@2 to:line_xdyi::@3 line_xdyi::@2: scope:[line_xdyi] from line_xdyi::@3 line_xdyi::@5 (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#5 ← phi( line_xdyi::@3/(byte) line_xdyi::y#1 line_xdyi::@5/(byte) line_xdyi::y#2 ) - (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#0 + (byte) 1 - if((byte) line_xdyi::x#1<(byte~) line_xdyi::$8) goto line_xdyi::@1 + (byte) line_xdyi::y#6 ← phi( line_xdyi::@3/(byte) line_xdyi::y#2 line_xdyi::@5/(byte) line_xdyi::y#3 ) + (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#6 + (byte) 1 + if((byte) line_xdyi::x#2<(byte~) line_xdyi::$8) goto line_xdyi::@1 to:line_xdyi::@return line_xdyi::@3: scope:[line_xdyi] from line_xdyi::@5 - (byte) line_xdyi::y#1 ← (byte) line_xdyi::y#2 + (byte) 1 - (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#0 + (byte) line_xdyi::y#2 ← (byte) line_xdyi::y#3 + (byte) 1 + (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#5 to:line_xdyi::@2 line_xdyi::@return: scope:[line_xdyi] from line_xdyi::@2 return to:@return -plot: scope:[plot] from line::@15 line::@17 line::@19 line::@2 line::@22 line::@24 line::@3 line::@7 line_xdyi::@1 - (byte) plot::y#9 ← phi( line::@15/(byte) plot::y#6 line::@17/(byte) plot::y#1 line::@19/(byte) plot::y#3 line::@2/(byte) plot::y#0 line::@22/(byte) plot::y#5 line::@24/(byte) plot::y#7 line::@3/(byte) plot::y#2 line::@7/(byte) plot::y#4 line_xdyi::@1/(byte) plot::y#8 ) - (byte) plot::x#9 ← phi( line::@15/(byte) plot::x#6 line::@17/(byte) plot::x#1 line::@19/(byte) plot::x#3 line::@2/(byte) plot::x#0 line::@22/(byte) plot::x#5 line::@24/(byte) plot::x#7 line::@3/(byte) plot::x#2 line::@7/(byte) plot::x#4 line_xdyi::@1/(byte) plot::x#8 ) - (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#9 +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::e#0 ← (byte) line_xdyd::yd#2 >> (byte) 1 + to:line_xdyd::@1 +line_xdyd::@1: scope:[line_xdyd] from line_xdyd line_xdyd::@2 + (byte) line_xdyd::e#3 ← 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#2 ) + (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::x#2 ← (byte) line_xdyd::x#3 + (byte) 1 + (byte) line_xdyd::e#1 ← (byte) line_xdyd::e#3 + (byte) line_xdyd::yd#2 + if((byte) line_xdyd::xd#5>=(byte) line_xdyd::e#1) goto line_xdyd::@2 + to:line_xdyd::@3 +line_xdyd::@2: scope:[line_xdyd] from line_xdyd::@3 line_xdyd::@5 + (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#3 ) + (byte~) line_xdyd::$8 ← (byte) line_xdyd::x1#6 + (byte) 1 + if((byte) line_xdyd::x#2<(byte~) line_xdyd::$8) goto line_xdyd::@1 + to:line_xdyd::@return +line_xdyd::@3: scope:[line_xdyd] from line_xdyd::@5 + (byte) line_xdyd::y#2 ← (byte) line_xdyd::y#3 - (byte) 1 + (byte) line_xdyd::e#2 ← (byte) line_xdyd::e#1 - (byte) line_xdyd::xd#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::e#0 ← (byte) line_ydxi::xd#2 >> (byte) 1 + to:line_ydxi::@1 +line_ydxi::@1: scope:[line_ydxi] from line_ydxi line_ydxi::@2 + (byte) line_ydxi::e#3 ← 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#2 ) + (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::y#2 ← (byte) line_ydxi::y#3 + (byte) 1 + (byte) line_ydxi::e#1 ← (byte) line_ydxi::e#3 + (byte) line_ydxi::xd#2 + if((byte) line_ydxi::yd#5>=(byte) line_ydxi::e#1) goto line_ydxi::@2 + to:line_ydxi::@3 +line_ydxi::@2: scope:[line_ydxi] from line_ydxi::@3 line_ydxi::@5 + (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#3 ) + (byte~) line_ydxi::$8 ← (byte) line_ydxi::y1#6 + (byte) 1 + if((byte) line_ydxi::y#2<(byte~) line_ydxi::$8) goto line_ydxi::@1 + to:line_ydxi::@return +line_ydxi::@3: scope:[line_ydxi] from line_ydxi::@5 + (byte) line_ydxi::x#2 ← (byte) line_ydxi::x#3 + (byte) 1 + (byte) line_ydxi::e#2 ← (byte) line_ydxi::e#1 - (byte) line_ydxi::yd#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#6 ← 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::e#0 ← (byte) line_ydxd::xd#2 >> (byte) 1 + to:line_ydxd::@1 +line_ydxd::@1: scope:[line_ydxd] from line_ydxd line_ydxd::@2 + (byte) line_ydxd::e#3 ← phi( line_ydxd/(byte) line_ydxd::e#0 line_ydxd::@2/(byte) line_ydxd::e#6 ) + (byte) line_ydxd::y#3 ← phi( line_ydxd/(byte) line_ydxd::y#6 line_ydxd::@2/(byte) line_ydxd::y#2 ) + (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#3 + call plot param-assignment + to:line_ydxd::@5 +line_ydxd::@5: scope:[line_ydxd] from line_ydxd::@1 + (byte) line_ydxd::y#2 ← (byte) line_ydxd::y#3 + (byte) 1 + (byte) line_ydxd::e#1 ← (byte) line_ydxd::e#3 + (byte) line_ydxd::xd#2 + if((byte) line_ydxd::yd#5>=(byte) line_ydxd::e#1) goto line_ydxd::@2 + to:line_ydxd::@3 +line_ydxd::@2: scope:[line_ydxd] from line_ydxd::@3 line_ydxd::@5 + (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#3 ) + (byte~) line_ydxd::$8 ← (byte) line_ydxd::y1#6 + (byte) 1 + if((byte) line_ydxd::y#2<(byte~) line_ydxd::$8) goto line_ydxd::@1 + to:line_ydxd::@return +line_ydxd::@3: scope:[line_ydxd] from line_ydxd::@5 + (byte) line_ydxd::x#2 ← (byte) line_ydxd::x#3 - (byte) 1 + (byte) line_ydxd::e#2 ← (byte) line_ydxd::e#1 - (byte) line_ydxd::yd#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 ) + (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#4 (byte*) plot::plotter_x#1 ← (const byte*) plot::plotter_x#0 hi= (byte~) plot::$0 - (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#9 + (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#4 (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 - (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#9 + (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#4 (byte*) plot::plotter_y#1 ← (const byte*) plot::plotter_y#0 hi= (byte~) plot::$2 - (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#9 + (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#4 (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 (byte~) plot::$5 ← * (byte*) plot::plotter#0 - (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#9 + (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#4 (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 *((byte*) plot::plotter#0) ← (byte~) plot::$7 to:plot::@return @@ -7912,45 +12185,70 @@ init_screen::@2: scope:[init_screen] from init_screen::@1 init_screen::@2 init_screen::@return: scope:[init_screen] from init_screen::@2 return to:@return -@7: scope:[] from @begin +@10: scope:[] from @begin call main param-assignment to:@end -@end: scope:[] from @7 +@end: scope:[] from @10 Not culling empty block because it shares successor with its predecessor. (label) init_plot_tables::@5 Not aliassing across scopes: line::x0#0 lines::$0 Not aliassing across scopes: line::x1#0 lines::$2 Not aliassing across scopes: line::y0#0 lines::$3 Not aliassing across scopes: line::y1#0 lines::$5 -Not aliassing across scopes: plot::x#0 line::x0#0 -Not aliassing across scopes: plot::y#0 line::y0#0 -Not aliassing across scopes: plot::x#1 line::x1#0 -Not aliassing across scopes: plot::y#1 line::y1#0 -Not aliassing across scopes: plot::x#2 line::x0#0 -Not aliassing across scopes: plot::y#2 line::y0#0 -Not aliassing across scopes: plot::x#3 line::x1#0 -Not aliassing across scopes: plot::y#3 line::y1#0 +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#0 -Not aliassing across scopes: plot::x#4 line::x0#0 -Not aliassing across scopes: plot::y#4 line::y0#0 -Not aliassing across scopes: plot::x#5 line::x1#0 -Not aliassing across scopes: plot::y#5 line::y1#0 -Not aliassing across scopes: plot::x#6 line::x0#0 -Not aliassing across scopes: plot::y#6 line::y0#0 -Not aliassing across scopes: plot::x#7 line::x1#0 -Not aliassing across scopes: plot::y#7 line::y1#0 -Not aliassing across scopes: plot::x#8 line_xdyi::x#2 -Not aliassing across scopes: plot::y#8 line_xdyi::y#2 +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: plot::x#0 line_xdyi::x#3 +Not aliassing across scopes: plot::y#0 line_xdyi::y#3 +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: plot::x#2 line_ydxi::x#3 +Not aliassing across scopes: plot::y#2 line_ydxi::y#3 +Not aliassing across scopes: plot::x#3 line_ydxd::x#3 +Not aliassing across scopes: plot::y#3 line_ydxd::y#3 Alias (byte) lines::l#2 = (byte~) lines::$1 (byte~) lines::$4 Succesful SSA optimization Pass2AliasElimination CONTROL FLOW GRAPH @begin: scope:[] from - to:@7 -main: scope:[main] from @7 + to:@10 +main: scope:[main] from @10 *((const byte*) BGCOL#0) ← (byte) 0 *((const byte*) FGCOL#0) ← (byte) 0 *((const byte*) D011#0) ← (const byte) main::$2 @@ -7992,113 +12290,248 @@ lines::@return: scope:[lines] from lines::@3 to:@return line: scope:[line] from lines::@1 if((byte) line::x0#0>=(byte) line::x1#0) goto line::@1 - to:line::@9 -line::@1: scope:[line] from line - (byte) line::xd#0 ← (byte) line::x1#0 - (byte) line::x0#0 - if((byte) line::y0#0>=(byte) line::y1#0) goto line::@7 to:line::@15 -line::@9: scope:[line] from line +line::@1: scope:[line] from line + (byte) line::xd#0 ← (byte) line::x0#0 - (byte) line::x1#0 + if((byte) line::y0#0>=(byte) line::y1#0) goto line::@9 + to:line::@23 +line::@15: scope:[line] from line (byte) line::xd#1 ← (byte) line::x1#0 - (byte) line::x0#0 if((byte) line::y0#0>=(byte) line::y1#0) goto line::@2 - to:line::@10 -line::@2: scope:[line] from line::@9 - (byte) plot::x#0 ← (byte) line::x0#0 - (byte) plot::y#0 ← (byte) line::y0#0 - call plot param-assignment + to:line::@16 +line::@2: scope:[line] from line::@15 + (byte) line::yd#0 ← (byte) line::y0#0 - (byte) line::y1#0 + if((byte) line::yd#0>=(byte) line::xd#1) goto line::@6 + to:line::@20 +line::@16: scope:[line] from line::@15 + (byte) line::yd#1 ← (byte) line::y1#0 - (byte) line::y0#0 + if((byte) line::yd#1>=(byte) line::xd#1) goto line::@3 to:line::@17 -line::@17: scope:[line] from line::@2 - (byte) plot::x#1 ← (byte) line::x1#0 - (byte) plot::y#1 ← (byte) line::y1#0 - call plot param-assignment +line::@3: scope:[line] from line::@16 + (byte) line_ydxi::y#0 ← (byte) line::y0#0 + (byte) line_ydxi::x#0 ← (byte) line::x0#0 + (byte) line_ydxi::y1#0 ← (byte) line::y1#0 + (byte) line_ydxi::yd#0 ← (byte) line::yd#1 + (byte) line_ydxi::xd#0 ← (byte) line::xd#1 + call line_ydxi param-assignment to:line::@return -line::@10: scope:[line] from line::@9 - (byte) line::yd#0 ← (byte) line::y1#0 - (byte) line::y0#0 - if((byte) line::yd#0>=(byte) line::xd#1) goto line::@3 - to:line::@11 -line::@3: scope:[line] from line::@10 - (byte) plot::x#2 ← (byte) line::x0#0 - (byte) plot::y#2 ← (byte) line::y0#0 - call plot param-assignment - to:line::@19 -line::@19: scope:[line] from line::@3 - (byte) plot::x#3 ← (byte) line::x1#0 - (byte) plot::y#3 ← (byte) line::y1#0 - call plot param-assignment - to:line::@return -line::@11: scope:[line] from line::@10 +line::@17: scope:[line] from line::@16 (byte) line_xdyi::x#0 ← (byte) line::x0#0 (byte) line_xdyi::y#0 ← (byte) line::y0#0 (byte) line_xdyi::x1#0 ← (byte) line::x1#0 (byte) line_xdyi::xd#0 ← (byte) line::xd#1 - (byte) line_xdyi::yd#0 ← (byte) line::yd#0 + (byte) line_xdyi::yd#0 ← (byte) line::yd#1 call line_xdyi param-assignment to:line::@return -line::@7: scope:[line] from line::@1 - (byte) plot::x#4 ← (byte) line::x0#0 - (byte) plot::y#4 ← (byte) line::y0#0 - call plot param-assignment - to:line::@22 -line::@22: scope:[line] from line::@7 - (byte) plot::x#5 ← (byte) line::x1#0 - (byte) plot::y#5 ← (byte) line::y1#0 - call plot param-assignment +line::@6: scope:[line] from line::@2 + (byte) line_ydxd::y#0 ← (byte) line::y1#0 + (byte) line_ydxd::x#0 ← (byte) line::x1#0 + (byte) line_ydxd::y1#0 ← (byte) line::y0#0 + (byte) line_ydxd::yd#0 ← (byte) line::yd#0 + (byte) line_ydxd::xd#0 ← (byte) line::xd#1 + call line_ydxd param-assignment to:line::@return -line::@15: scope:[line] from line::@1 - (byte) plot::x#6 ← (byte) line::x0#0 - (byte) plot::y#6 ← (byte) line::y0#0 - call plot param-assignment +line::@20: scope:[line] from line::@2 + (byte) line_xdyd::x#0 ← (byte) line::x0#0 + (byte) line_xdyd::y#0 ← (byte) line::y0#0 + (byte) line_xdyd::x1#0 ← (byte) line::x1#0 + (byte) line_xdyd::xd#0 ← (byte) line::xd#1 + (byte) line_xdyd::yd#0 ← (byte) line::yd#0 + call line_xdyd param-assignment + to:line::@return +line::@9: scope:[line] from line::@1 + (byte) line::yd#10 ← (byte) line::y0#0 - (byte) line::y1#0 + if((byte) line::yd#10>=(byte) line::xd#0) goto line::@13 + to:line::@27 +line::@23: scope:[line] from line::@1 + (byte) line::yd#3 ← (byte) line::y1#0 - (byte) line::y0#0 + if((byte) line::yd#3>=(byte) line::xd#0) goto line::@10 to:line::@24 -line::@24: scope:[line] from line::@15 - (byte) plot::x#7 ← (byte) line::x1#0 - (byte) plot::y#7 ← (byte) line::y1#0 - call plot param-assignment +line::@10: scope:[line] from line::@23 + (byte) line_ydxd::y#1 ← (byte) line::y0#0 + (byte) line_ydxd::x#1 ← (byte) line::x0#0 + (byte) line_ydxd::y1#1 ← (byte) line::y1#0 + (byte) line_ydxd::yd#1 ← (byte) line::yd#3 + (byte) line_ydxd::xd#1 ← (byte) line::xd#0 + call line_ydxd param-assignment to:line::@return -line::@return: scope:[line] from line::@11 line::@17 line::@19 line::@22 line::@24 +line::@24: scope:[line] from line::@23 + (byte) line_xdyd::x#1 ← (byte) line::x1#0 + (byte) line_xdyd::y#1 ← (byte) line::y1#0 + (byte) line_xdyd::x1#1 ← (byte) line::x0#0 + (byte) line_xdyd::xd#1 ← (byte) line::xd#0 + (byte) line_xdyd::yd#1 ← (byte) line::yd#3 + call line_xdyd param-assignment + to:line::@return +line::@13: scope:[line] from line::@9 + (byte) line_ydxi::y#1 ← (byte) line::y1#0 + (byte) line_ydxi::x#1 ← (byte) line::x1#0 + (byte) line_ydxi::y1#1 ← (byte) line::y0#0 + (byte) line_ydxi::yd#1 ← (byte) line::yd#10 + (byte) line_ydxi::xd#1 ← (byte) line::xd#0 + call line_ydxi param-assignment + to:line::@return +line::@27: scope:[line] from line::@9 + (byte) line_xdyi::x#1 ← (byte) line::x1#0 + (byte) line_xdyi::y#1 ← (byte) line::y1#0 + (byte) line_xdyi::x1#1 ← (byte) line::x0#0 + (byte) line_xdyi::xd#1 ← (byte) line::xd#0 + (byte) line_xdyi::yd#1 ← (byte) line::yd#10 + call line_xdyi param-assignment + to:line::@return +line::@return: scope:[line] from line::@10 line::@13 line::@17 line::@20 line::@24 line::@27 line::@3 line::@6 return to:@return -line_xdyi: scope:[line_xdyi] from line::@11 - (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#0 >> (byte) 1 +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::e#0 ← (byte) line_xdyi::yd#2 >> (byte) 1 to:line_xdyi::@1 line_xdyi::@1: scope:[line_xdyi] from line_xdyi line_xdyi::@2 (byte) line_xdyi::e#3 ← phi( line_xdyi/(byte) line_xdyi::e#0 line_xdyi::@2/(byte) line_xdyi::e#6 ) - (byte) line_xdyi::y#2 ← phi( line_xdyi/(byte) line_xdyi::y#0 line_xdyi::@2/(byte) line_xdyi::y#5 ) - (byte) line_xdyi::x#2 ← phi( line_xdyi/(byte) line_xdyi::x#0 line_xdyi::@2/(byte) line_xdyi::x#1 ) - (byte) plot::x#8 ← (byte) line_xdyi::x#2 - (byte) plot::y#8 ← (byte) line_xdyi::y#2 + (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#2 ) + (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::x#1 ← (byte) line_xdyi::x#2 + (byte) 1 - (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#0 - if((byte) line_xdyi::xd#0>=(byte) line_xdyi::e#1) goto line_xdyi::@2 + (byte) line_xdyi::x#2 ← (byte) line_xdyi::x#3 + (byte) 1 + (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#2 + if((byte) line_xdyi::xd#5>=(byte) line_xdyi::e#1) goto line_xdyi::@2 to:line_xdyi::@3 line_xdyi::@2: scope:[line_xdyi] from line_xdyi::@3 line_xdyi::@5 (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#5 ← phi( line_xdyi::@3/(byte) line_xdyi::y#1 line_xdyi::@5/(byte) line_xdyi::y#2 ) - (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#0 + (byte) 1 - if((byte) line_xdyi::x#1<(byte~) line_xdyi::$8) goto line_xdyi::@1 + (byte) line_xdyi::y#6 ← phi( line_xdyi::@3/(byte) line_xdyi::y#2 line_xdyi::@5/(byte) line_xdyi::y#3 ) + (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#6 + (byte) 1 + if((byte) line_xdyi::x#2<(byte~) line_xdyi::$8) goto line_xdyi::@1 to:line_xdyi::@return line_xdyi::@3: scope:[line_xdyi] from line_xdyi::@5 - (byte) line_xdyi::y#1 ← (byte) line_xdyi::y#2 + (byte) 1 - (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#0 + (byte) line_xdyi::y#2 ← (byte) line_xdyi::y#3 + (byte) 1 + (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#5 to:line_xdyi::@2 line_xdyi::@return: scope:[line_xdyi] from line_xdyi::@2 return to:@return -plot: scope:[plot] from line::@15 line::@17 line::@19 line::@2 line::@22 line::@24 line::@3 line::@7 line_xdyi::@1 - (byte) plot::y#9 ← phi( line::@15/(byte) plot::y#6 line::@17/(byte) plot::y#1 line::@19/(byte) plot::y#3 line::@2/(byte) plot::y#0 line::@22/(byte) plot::y#5 line::@24/(byte) plot::y#7 line::@3/(byte) plot::y#2 line::@7/(byte) plot::y#4 line_xdyi::@1/(byte) plot::y#8 ) - (byte) plot::x#9 ← phi( line::@15/(byte) plot::x#6 line::@17/(byte) plot::x#1 line::@19/(byte) plot::x#3 line::@2/(byte) plot::x#0 line::@22/(byte) plot::x#5 line::@24/(byte) plot::x#7 line::@3/(byte) plot::x#2 line::@7/(byte) plot::x#4 line_xdyi::@1/(byte) plot::x#8 ) - (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#9 +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::e#0 ← (byte) line_xdyd::yd#2 >> (byte) 1 + to:line_xdyd::@1 +line_xdyd::@1: scope:[line_xdyd] from line_xdyd line_xdyd::@2 + (byte) line_xdyd::e#3 ← 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#2 ) + (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::x#2 ← (byte) line_xdyd::x#3 + (byte) 1 + (byte) line_xdyd::e#1 ← (byte) line_xdyd::e#3 + (byte) line_xdyd::yd#2 + if((byte) line_xdyd::xd#5>=(byte) line_xdyd::e#1) goto line_xdyd::@2 + to:line_xdyd::@3 +line_xdyd::@2: scope:[line_xdyd] from line_xdyd::@3 line_xdyd::@5 + (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#3 ) + (byte~) line_xdyd::$8 ← (byte) line_xdyd::x1#6 + (byte) 1 + if((byte) line_xdyd::x#2<(byte~) line_xdyd::$8) goto line_xdyd::@1 + to:line_xdyd::@return +line_xdyd::@3: scope:[line_xdyd] from line_xdyd::@5 + (byte) line_xdyd::y#2 ← (byte) line_xdyd::y#3 - (byte) 1 + (byte) line_xdyd::e#2 ← (byte) line_xdyd::e#1 - (byte) line_xdyd::xd#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::e#0 ← (byte) line_ydxi::xd#2 >> (byte) 1 + to:line_ydxi::@1 +line_ydxi::@1: scope:[line_ydxi] from line_ydxi line_ydxi::@2 + (byte) line_ydxi::e#3 ← 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#2 ) + (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::y#2 ← (byte) line_ydxi::y#3 + (byte) 1 + (byte) line_ydxi::e#1 ← (byte) line_ydxi::e#3 + (byte) line_ydxi::xd#2 + if((byte) line_ydxi::yd#5>=(byte) line_ydxi::e#1) goto line_ydxi::@2 + to:line_ydxi::@3 +line_ydxi::@2: scope:[line_ydxi] from line_ydxi::@3 line_ydxi::@5 + (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#3 ) + (byte~) line_ydxi::$8 ← (byte) line_ydxi::y1#6 + (byte) 1 + if((byte) line_ydxi::y#2<(byte~) line_ydxi::$8) goto line_ydxi::@1 + to:line_ydxi::@return +line_ydxi::@3: scope:[line_ydxi] from line_ydxi::@5 + (byte) line_ydxi::x#2 ← (byte) line_ydxi::x#3 + (byte) 1 + (byte) line_ydxi::e#2 ← (byte) line_ydxi::e#1 - (byte) line_ydxi::yd#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#6 ← 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::e#0 ← (byte) line_ydxd::xd#2 >> (byte) 1 + to:line_ydxd::@1 +line_ydxd::@1: scope:[line_ydxd] from line_ydxd line_ydxd::@2 + (byte) line_ydxd::e#3 ← phi( line_ydxd/(byte) line_ydxd::e#0 line_ydxd::@2/(byte) line_ydxd::e#6 ) + (byte) line_ydxd::y#3 ← phi( line_ydxd/(byte) line_ydxd::y#6 line_ydxd::@2/(byte) line_ydxd::y#2 ) + (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#3 + call plot param-assignment + to:line_ydxd::@5 +line_ydxd::@5: scope:[line_ydxd] from line_ydxd::@1 + (byte) line_ydxd::y#2 ← (byte) line_ydxd::y#3 + (byte) 1 + (byte) line_ydxd::e#1 ← (byte) line_ydxd::e#3 + (byte) line_ydxd::xd#2 + if((byte) line_ydxd::yd#5>=(byte) line_ydxd::e#1) goto line_ydxd::@2 + to:line_ydxd::@3 +line_ydxd::@2: scope:[line_ydxd] from line_ydxd::@3 line_ydxd::@5 + (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#3 ) + (byte~) line_ydxd::$8 ← (byte) line_ydxd::y1#6 + (byte) 1 + if((byte) line_ydxd::y#2<(byte~) line_ydxd::$8) goto line_ydxd::@1 + to:line_ydxd::@return +line_ydxd::@3: scope:[line_ydxd] from line_ydxd::@5 + (byte) line_ydxd::x#2 ← (byte) line_ydxd::x#3 - (byte) 1 + (byte) line_ydxd::e#2 ← (byte) line_ydxd::e#1 - (byte) line_ydxd::yd#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 ) + (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#4 (byte*) plot::plotter_x#1 ← (const byte*) plot::plotter_x#0 hi= (byte~) plot::$0 - (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#9 + (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#4 (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 - (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#9 + (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#4 (byte*) plot::plotter_y#1 ← (const byte*) plot::plotter_y#0 hi= (byte~) plot::$2 - (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#9 + (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#4 (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 (byte~) plot::$5 ← * (byte*) plot::plotter#0 - (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#9 + (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#4 (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 *((byte*) plot::plotter#0) ← (byte~) plot::$7 to:plot::@return @@ -8164,49 +12597,78 @@ init_screen::@2: scope:[init_screen] from init_screen::@1 init_screen::@2 init_screen::@return: scope:[init_screen] from init_screen::@2 return to:@return -@7: scope:[] from @begin +@10: scope:[] from @begin call main param-assignment to:@end -@end: scope:[] from @7 +@end: scope:[] from @10 Not aliassing across scopes: line::x0#0 lines::$0 Not aliassing across scopes: line::x1#0 lines::$2 Not aliassing across scopes: line::y0#0 lines::$3 Not aliassing across scopes: line::y1#0 lines::$5 -Not aliassing across scopes: plot::x#0 line::x0#0 -Not aliassing across scopes: plot::y#0 line::y0#0 -Not aliassing across scopes: plot::x#1 line::x1#0 -Not aliassing across scopes: plot::y#1 line::y1#0 -Not aliassing across scopes: plot::x#2 line::x0#0 -Not aliassing across scopes: plot::y#2 line::y0#0 -Not aliassing across scopes: plot::x#3 line::x1#0 -Not aliassing across scopes: plot::y#3 line::y1#0 +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#0 -Not aliassing across scopes: plot::x#4 line::x0#0 -Not aliassing across scopes: plot::y#4 line::y0#0 -Not aliassing across scopes: plot::x#5 line::x1#0 -Not aliassing across scopes: plot::y#5 line::y1#0 -Not aliassing across scopes: plot::x#6 line::x0#0 -Not aliassing across scopes: plot::y#6 line::y0#0 -Not aliassing across scopes: plot::x#7 line::x1#0 -Not aliassing across scopes: plot::y#7 line::y1#0 -Not aliassing across scopes: plot::x#8 line_xdyi::x#2 -Not aliassing across scopes: plot::y#8 line_xdyi::y#2 +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: plot::x#0 line_xdyi::x#3 +Not aliassing across scopes: plot::y#0 line_xdyi::y#3 +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: plot::x#2 line_ydxi::x#3 +Not aliassing across scopes: plot::y#2 line_ydxi::y#3 +Not aliassing across scopes: plot::x#3 line_ydxd::x#3 +Not aliassing across scopes: plot::y#3 line_ydxd::y#3 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 Multiple usages for variable. Not optimizing sub-constant (byte) lines::l#2 -Multiple usages for variable. Not optimizing sub-constant (byte) line_xdyi::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) line_xdyi::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte) plot::x#9 -Multiple usages for variable. Not optimizing sub-constant (byte) plot::x#9 -Multiple usages for variable. Not optimizing sub-constant (byte) plot::y#9 -Multiple usages for variable. Not optimizing sub-constant (byte) plot::y#9 -Multiple usages for variable. Not optimizing sub-constant (byte) plot::x#9 +Multiple usages for variable. Not optimizing sub-constant (byte) line_xdyi::x#3 +Multiple usages for variable. Not optimizing sub-constant (byte) line_xdyi::y#3 +Multiple usages for variable. Not optimizing sub-constant (byte) line_xdyd::x#3 +Multiple usages for variable. Not optimizing sub-constant (byte) line_ydxi::y#3 +Multiple usages for variable. Not optimizing sub-constant (byte) line_ydxi::x#3 +Multiple usages for variable. Not optimizing sub-constant (byte) line_ydxd::y#3 +Multiple usages for variable. Not optimizing sub-constant (byte) plot::x#4 +Multiple usages for variable. Not optimizing sub-constant (byte) plot::x#4 +Multiple usages for variable. Not optimizing sub-constant (byte) plot::y#4 +Multiple usages for variable. Not optimizing sub-constant (byte) plot::y#4 +Multiple usages for variable. Not optimizing sub-constant (byte) plot::x#4 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 @@ -8218,40 +12680,69 @@ Not aliassing across scopes: line::x0#0 lines::$0 Not aliassing across scopes: line::x1#0 lines::$2 Not aliassing across scopes: line::y0#0 lines::$3 Not aliassing across scopes: line::y1#0 lines::$5 -Not aliassing across scopes: plot::x#0 line::x0#0 -Not aliassing across scopes: plot::y#0 line::y0#0 -Not aliassing across scopes: plot::x#1 line::x1#0 -Not aliassing across scopes: plot::y#1 line::y1#0 -Not aliassing across scopes: plot::x#2 line::x0#0 -Not aliassing across scopes: plot::y#2 line::y0#0 -Not aliassing across scopes: plot::x#3 line::x1#0 -Not aliassing across scopes: plot::y#3 line::y1#0 +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#0 -Not aliassing across scopes: plot::x#4 line::x0#0 -Not aliassing across scopes: plot::y#4 line::y0#0 -Not aliassing across scopes: plot::x#5 line::x1#0 -Not aliassing across scopes: plot::y#5 line::y1#0 -Not aliassing across scopes: plot::x#6 line::x0#0 -Not aliassing across scopes: plot::y#6 line::y0#0 -Not aliassing across scopes: plot::x#7 line::x1#0 -Not aliassing across scopes: plot::y#7 line::y1#0 -Not aliassing across scopes: plot::x#8 line_xdyi::x#2 -Not aliassing across scopes: plot::y#8 line_xdyi::y#2 +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: plot::x#0 line_xdyi::x#3 +Not aliassing across scopes: plot::y#0 line_xdyi::y#3 +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: plot::x#2 line_ydxi::x#3 +Not aliassing across scopes: plot::y#2 line_ydxi::y#3 +Not aliassing across scopes: plot::x#3 line_ydxd::x#3 +Not aliassing across scopes: plot::y#3 line_ydxd::y#3 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 Multiple usages for variable. Not optimizing sub-constant (byte) lines::l#2 -Multiple usages for variable. Not optimizing sub-constant (byte) line_xdyi::x#2 -Multiple usages for variable. Not optimizing sub-constant (byte) line_xdyi::y#2 -Multiple usages for variable. Not optimizing sub-constant (byte) plot::x#9 -Multiple usages for variable. Not optimizing sub-constant (byte) plot::x#9 -Multiple usages for variable. Not optimizing sub-constant (byte) plot::y#9 -Multiple usages for variable. Not optimizing sub-constant (byte) plot::y#9 -Multiple usages for variable. Not optimizing sub-constant (byte) plot::x#9 +Multiple usages for variable. Not optimizing sub-constant (byte) line_xdyi::x#3 +Multiple usages for variable. Not optimizing sub-constant (byte) line_xdyi::y#3 +Multiple usages for variable. Not optimizing sub-constant (byte) line_xdyd::x#3 +Multiple usages for variable. Not optimizing sub-constant (byte) line_ydxi::y#3 +Multiple usages for variable. Not optimizing sub-constant (byte) line_ydxi::x#3 +Multiple usages for variable. Not optimizing sub-constant (byte) line_ydxd::y#3 +Multiple usages for variable. Not optimizing sub-constant (byte) plot::x#4 +Multiple usages for variable. Not optimizing sub-constant (byte) plot::x#4 +Multiple usages for variable. Not optimizing sub-constant (byte) plot::y#4 +Multiple usages for variable. Not optimizing sub-constant (byte) plot::y#4 +Multiple usages for variable. Not optimizing sub-constant (byte) plot::x#4 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 @@ -8300,8 +12791,8 @@ Constant inlined init_screen::b#0 = (const byte*) BITMAP#0 Succesful SSA optimization Pass2ConstantInlining CONTROL FLOW GRAPH @begin: scope:[] from - to:@7 -main: scope:[main] from @7 + to:@10 +main: scope:[main] from @10 *((const byte*) BGCOL#0) ← (byte) 0 *((const byte*) FGCOL#0) ← (byte) 0 *((const byte*) D011#0) ← (const byte) BMM#0|(const byte) DEN#0|(const byte) RSEL#0|(byte) 3 @@ -8343,113 +12834,248 @@ lines::@return: scope:[lines] from lines::@3 to:@return line: scope:[line] from lines::@1 if((byte) line::x0#0>=(byte) line::x1#0) goto line::@1 - to:line::@9 -line::@1: scope:[line] from line - (byte) line::xd#0 ← (byte) line::x1#0 - (byte) line::x0#0 - if((byte) line::y0#0>=(byte) line::y1#0) goto line::@7 to:line::@15 -line::@9: scope:[line] from line +line::@1: scope:[line] from line + (byte) line::xd#0 ← (byte) line::x0#0 - (byte) line::x1#0 + if((byte) line::y0#0>=(byte) line::y1#0) goto line::@9 + to:line::@23 +line::@15: scope:[line] from line (byte) line::xd#1 ← (byte) line::x1#0 - (byte) line::x0#0 if((byte) line::y0#0>=(byte) line::y1#0) goto line::@2 - to:line::@10 -line::@2: scope:[line] from line::@9 - (byte) plot::x#0 ← (byte) line::x0#0 - (byte) plot::y#0 ← (byte) line::y0#0 - call plot param-assignment + to:line::@16 +line::@2: scope:[line] from line::@15 + (byte) line::yd#0 ← (byte) line::y0#0 - (byte) line::y1#0 + if((byte) line::yd#0>=(byte) line::xd#1) goto line::@6 + to:line::@20 +line::@16: scope:[line] from line::@15 + (byte) line::yd#1 ← (byte) line::y1#0 - (byte) line::y0#0 + if((byte) line::yd#1>=(byte) line::xd#1) goto line::@3 to:line::@17 -line::@17: scope:[line] from line::@2 - (byte) plot::x#1 ← (byte) line::x1#0 - (byte) plot::y#1 ← (byte) line::y1#0 - call plot param-assignment +line::@3: scope:[line] from line::@16 + (byte) line_ydxi::y#0 ← (byte) line::y0#0 + (byte) line_ydxi::x#0 ← (byte) line::x0#0 + (byte) line_ydxi::y1#0 ← (byte) line::y1#0 + (byte) line_ydxi::yd#0 ← (byte) line::yd#1 + (byte) line_ydxi::xd#0 ← (byte) line::xd#1 + call line_ydxi param-assignment to:line::@return -line::@10: scope:[line] from line::@9 - (byte) line::yd#0 ← (byte) line::y1#0 - (byte) line::y0#0 - if((byte) line::yd#0>=(byte) line::xd#1) goto line::@3 - to:line::@11 -line::@3: scope:[line] from line::@10 - (byte) plot::x#2 ← (byte) line::x0#0 - (byte) plot::y#2 ← (byte) line::y0#0 - call plot param-assignment - to:line::@19 -line::@19: scope:[line] from line::@3 - (byte) plot::x#3 ← (byte) line::x1#0 - (byte) plot::y#3 ← (byte) line::y1#0 - call plot param-assignment - to:line::@return -line::@11: scope:[line] from line::@10 +line::@17: scope:[line] from line::@16 (byte) line_xdyi::x#0 ← (byte) line::x0#0 (byte) line_xdyi::y#0 ← (byte) line::y0#0 (byte) line_xdyi::x1#0 ← (byte) line::x1#0 (byte) line_xdyi::xd#0 ← (byte) line::xd#1 - (byte) line_xdyi::yd#0 ← (byte) line::yd#0 + (byte) line_xdyi::yd#0 ← (byte) line::yd#1 call line_xdyi param-assignment to:line::@return -line::@7: scope:[line] from line::@1 - (byte) plot::x#4 ← (byte) line::x0#0 - (byte) plot::y#4 ← (byte) line::y0#0 - call plot param-assignment - to:line::@22 -line::@22: scope:[line] from line::@7 - (byte) plot::x#5 ← (byte) line::x1#0 - (byte) plot::y#5 ← (byte) line::y1#0 - call plot param-assignment +line::@6: scope:[line] from line::@2 + (byte) line_ydxd::y#0 ← (byte) line::y1#0 + (byte) line_ydxd::x#0 ← (byte) line::x1#0 + (byte) line_ydxd::y1#0 ← (byte) line::y0#0 + (byte) line_ydxd::yd#0 ← (byte) line::yd#0 + (byte) line_ydxd::xd#0 ← (byte) line::xd#1 + call line_ydxd param-assignment to:line::@return -line::@15: scope:[line] from line::@1 - (byte) plot::x#6 ← (byte) line::x0#0 - (byte) plot::y#6 ← (byte) line::y0#0 - call plot param-assignment +line::@20: scope:[line] from line::@2 + (byte) line_xdyd::x#0 ← (byte) line::x0#0 + (byte) line_xdyd::y#0 ← (byte) line::y0#0 + (byte) line_xdyd::x1#0 ← (byte) line::x1#0 + (byte) line_xdyd::xd#0 ← (byte) line::xd#1 + (byte) line_xdyd::yd#0 ← (byte) line::yd#0 + call line_xdyd param-assignment + to:line::@return +line::@9: scope:[line] from line::@1 + (byte) line::yd#10 ← (byte) line::y0#0 - (byte) line::y1#0 + if((byte) line::yd#10>=(byte) line::xd#0) goto line::@13 + to:line::@27 +line::@23: scope:[line] from line::@1 + (byte) line::yd#3 ← (byte) line::y1#0 - (byte) line::y0#0 + if((byte) line::yd#3>=(byte) line::xd#0) goto line::@10 to:line::@24 -line::@24: scope:[line] from line::@15 - (byte) plot::x#7 ← (byte) line::x1#0 - (byte) plot::y#7 ← (byte) line::y1#0 - call plot param-assignment +line::@10: scope:[line] from line::@23 + (byte) line_ydxd::y#1 ← (byte) line::y0#0 + (byte) line_ydxd::x#1 ← (byte) line::x0#0 + (byte) line_ydxd::y1#1 ← (byte) line::y1#0 + (byte) line_ydxd::yd#1 ← (byte) line::yd#3 + (byte) line_ydxd::xd#1 ← (byte) line::xd#0 + call line_ydxd param-assignment to:line::@return -line::@return: scope:[line] from line::@11 line::@17 line::@19 line::@22 line::@24 +line::@24: scope:[line] from line::@23 + (byte) line_xdyd::x#1 ← (byte) line::x1#0 + (byte) line_xdyd::y#1 ← (byte) line::y1#0 + (byte) line_xdyd::x1#1 ← (byte) line::x0#0 + (byte) line_xdyd::xd#1 ← (byte) line::xd#0 + (byte) line_xdyd::yd#1 ← (byte) line::yd#3 + call line_xdyd param-assignment + to:line::@return +line::@13: scope:[line] from line::@9 + (byte) line_ydxi::y#1 ← (byte) line::y1#0 + (byte) line_ydxi::x#1 ← (byte) line::x1#0 + (byte) line_ydxi::y1#1 ← (byte) line::y0#0 + (byte) line_ydxi::yd#1 ← (byte) line::yd#10 + (byte) line_ydxi::xd#1 ← (byte) line::xd#0 + call line_ydxi param-assignment + to:line::@return +line::@27: scope:[line] from line::@9 + (byte) line_xdyi::x#1 ← (byte) line::x1#0 + (byte) line_xdyi::y#1 ← (byte) line::y1#0 + (byte) line_xdyi::x1#1 ← (byte) line::x0#0 + (byte) line_xdyi::xd#1 ← (byte) line::xd#0 + (byte) line_xdyi::yd#1 ← (byte) line::yd#10 + call line_xdyi param-assignment + to:line::@return +line::@return: scope:[line] from line::@10 line::@13 line::@17 line::@20 line::@24 line::@27 line::@3 line::@6 return to:@return -line_xdyi: scope:[line_xdyi] from line::@11 - (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#0 >> (byte) 1 +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::e#0 ← (byte) line_xdyi::yd#2 >> (byte) 1 to:line_xdyi::@1 line_xdyi::@1: scope:[line_xdyi] from line_xdyi line_xdyi::@2 (byte) line_xdyi::e#3 ← phi( line_xdyi/(byte) line_xdyi::e#0 line_xdyi::@2/(byte) line_xdyi::e#6 ) - (byte) line_xdyi::y#2 ← phi( line_xdyi/(byte) line_xdyi::y#0 line_xdyi::@2/(byte) line_xdyi::y#5 ) - (byte) line_xdyi::x#2 ← phi( line_xdyi/(byte) line_xdyi::x#0 line_xdyi::@2/(byte) line_xdyi::x#1 ) - (byte) plot::x#8 ← (byte) line_xdyi::x#2 - (byte) plot::y#8 ← (byte) line_xdyi::y#2 + (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#2 ) + (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::x#1 ← (byte) line_xdyi::x#2 + (byte) 1 - (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#0 - if((byte) line_xdyi::xd#0>=(byte) line_xdyi::e#1) goto line_xdyi::@2 + (byte) line_xdyi::x#2 ← (byte) line_xdyi::x#3 + (byte) 1 + (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#2 + if((byte) line_xdyi::xd#5>=(byte) line_xdyi::e#1) goto line_xdyi::@2 to:line_xdyi::@3 line_xdyi::@2: scope:[line_xdyi] from line_xdyi::@3 line_xdyi::@5 (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#5 ← phi( line_xdyi::@3/(byte) line_xdyi::y#1 line_xdyi::@5/(byte) line_xdyi::y#2 ) - (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#0 + (byte) 1 - if((byte) line_xdyi::x#1<(byte~) line_xdyi::$8) goto line_xdyi::@1 + (byte) line_xdyi::y#6 ← phi( line_xdyi::@3/(byte) line_xdyi::y#2 line_xdyi::@5/(byte) line_xdyi::y#3 ) + (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#6 + (byte) 1 + if((byte) line_xdyi::x#2<(byte~) line_xdyi::$8) goto line_xdyi::@1 to:line_xdyi::@return line_xdyi::@3: scope:[line_xdyi] from line_xdyi::@5 - (byte) line_xdyi::y#1 ← (byte) line_xdyi::y#2 + (byte) 1 - (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#0 + (byte) line_xdyi::y#2 ← (byte) line_xdyi::y#3 + (byte) 1 + (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#5 to:line_xdyi::@2 line_xdyi::@return: scope:[line_xdyi] from line_xdyi::@2 return to:@return -plot: scope:[plot] from line::@15 line::@17 line::@19 line::@2 line::@22 line::@24 line::@3 line::@7 line_xdyi::@1 - (byte) plot::y#9 ← phi( line::@15/(byte) plot::y#6 line::@17/(byte) plot::y#1 line::@19/(byte) plot::y#3 line::@2/(byte) plot::y#0 line::@22/(byte) plot::y#5 line::@24/(byte) plot::y#7 line::@3/(byte) plot::y#2 line::@7/(byte) plot::y#4 line_xdyi::@1/(byte) plot::y#8 ) - (byte) plot::x#9 ← phi( line::@15/(byte) plot::x#6 line::@17/(byte) plot::x#1 line::@19/(byte) plot::x#3 line::@2/(byte) plot::x#0 line::@22/(byte) plot::x#5 line::@24/(byte) plot::x#7 line::@3/(byte) plot::x#2 line::@7/(byte) plot::x#4 line_xdyi::@1/(byte) plot::x#8 ) - (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#9 +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::e#0 ← (byte) line_xdyd::yd#2 >> (byte) 1 + to:line_xdyd::@1 +line_xdyd::@1: scope:[line_xdyd] from line_xdyd line_xdyd::@2 + (byte) line_xdyd::e#3 ← 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#2 ) + (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::x#2 ← (byte) line_xdyd::x#3 + (byte) 1 + (byte) line_xdyd::e#1 ← (byte) line_xdyd::e#3 + (byte) line_xdyd::yd#2 + if((byte) line_xdyd::xd#5>=(byte) line_xdyd::e#1) goto line_xdyd::@2 + to:line_xdyd::@3 +line_xdyd::@2: scope:[line_xdyd] from line_xdyd::@3 line_xdyd::@5 + (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#3 ) + (byte~) line_xdyd::$8 ← (byte) line_xdyd::x1#6 + (byte) 1 + if((byte) line_xdyd::x#2<(byte~) line_xdyd::$8) goto line_xdyd::@1 + to:line_xdyd::@return +line_xdyd::@3: scope:[line_xdyd] from line_xdyd::@5 + (byte) line_xdyd::y#2 ← (byte) line_xdyd::y#3 - (byte) 1 + (byte) line_xdyd::e#2 ← (byte) line_xdyd::e#1 - (byte) line_xdyd::xd#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::e#0 ← (byte) line_ydxi::xd#2 >> (byte) 1 + to:line_ydxi::@1 +line_ydxi::@1: scope:[line_ydxi] from line_ydxi line_ydxi::@2 + (byte) line_ydxi::e#3 ← 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#2 ) + (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::y#2 ← (byte) line_ydxi::y#3 + (byte) 1 + (byte) line_ydxi::e#1 ← (byte) line_ydxi::e#3 + (byte) line_ydxi::xd#2 + if((byte) line_ydxi::yd#5>=(byte) line_ydxi::e#1) goto line_ydxi::@2 + to:line_ydxi::@3 +line_ydxi::@2: scope:[line_ydxi] from line_ydxi::@3 line_ydxi::@5 + (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#3 ) + (byte~) line_ydxi::$8 ← (byte) line_ydxi::y1#6 + (byte) 1 + if((byte) line_ydxi::y#2<(byte~) line_ydxi::$8) goto line_ydxi::@1 + to:line_ydxi::@return +line_ydxi::@3: scope:[line_ydxi] from line_ydxi::@5 + (byte) line_ydxi::x#2 ← (byte) line_ydxi::x#3 + (byte) 1 + (byte) line_ydxi::e#2 ← (byte) line_ydxi::e#1 - (byte) line_ydxi::yd#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#6 ← 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::e#0 ← (byte) line_ydxd::xd#2 >> (byte) 1 + to:line_ydxd::@1 +line_ydxd::@1: scope:[line_ydxd] from line_ydxd line_ydxd::@2 + (byte) line_ydxd::e#3 ← phi( line_ydxd/(byte) line_ydxd::e#0 line_ydxd::@2/(byte) line_ydxd::e#6 ) + (byte) line_ydxd::y#3 ← phi( line_ydxd/(byte) line_ydxd::y#6 line_ydxd::@2/(byte) line_ydxd::y#2 ) + (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#3 + call plot param-assignment + to:line_ydxd::@5 +line_ydxd::@5: scope:[line_ydxd] from line_ydxd::@1 + (byte) line_ydxd::y#2 ← (byte) line_ydxd::y#3 + (byte) 1 + (byte) line_ydxd::e#1 ← (byte) line_ydxd::e#3 + (byte) line_ydxd::xd#2 + if((byte) line_ydxd::yd#5>=(byte) line_ydxd::e#1) goto line_ydxd::@2 + to:line_ydxd::@3 +line_ydxd::@2: scope:[line_ydxd] from line_ydxd::@3 line_ydxd::@5 + (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#3 ) + (byte~) line_ydxd::$8 ← (byte) line_ydxd::y1#6 + (byte) 1 + if((byte) line_ydxd::y#2<(byte~) line_ydxd::$8) goto line_ydxd::@1 + to:line_ydxd::@return +line_ydxd::@3: scope:[line_ydxd] from line_ydxd::@5 + (byte) line_ydxd::x#2 ← (byte) line_ydxd::x#3 - (byte) 1 + (byte) line_ydxd::e#2 ← (byte) line_ydxd::e#1 - (byte) line_ydxd::yd#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 ) + (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#4 (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 - (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#9 + (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#4 (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 - (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#9 + (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#4 (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 - (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#9 + (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#4 (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 (byte~) plot::$5 ← * (byte*) plot::plotter#0 - (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#9 + (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#4 (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 *((byte*) plot::plotter#0) ← (byte~) plot::$7 to:plot::@return @@ -8515,13 +13141,13 @@ init_screen::@2: scope:[init_screen] from init_screen::@1 init_screen::@2 init_screen::@return: scope:[init_screen] from init_screen::@2 return to:@return -@7: scope:[] from @begin +@10: scope:[] from @begin call main param-assignment to:@end -@end: scope:[] from @7 +@end: scope:[] from @10 FINAL SYMBOL TABLE -(label) @7 +(label) @10 (label) @begin (label) @end (byte*) BGCOL @@ -8597,15 +13223,17 @@ FINAL SYMBOL TABLE (void()) line((byte) line::x0 , (byte) line::x1 , (byte) line::y0 , (byte) line::y1) (label) line::@1 (label) line::@10 -(label) line::@11 +(label) line::@13 (label) line::@15 +(label) line::@16 (label) line::@17 -(label) line::@19 (label) line::@2 -(label) line::@22 +(label) line::@20 +(label) line::@23 (label) line::@24 +(label) line::@27 (label) line::@3 -(label) line::@7 +(label) line::@6 (label) line::@9 (label) line::@return (byte) line::x0 @@ -8621,6 +13249,47 @@ FINAL SYMBOL TABLE (byte) line::y1#0 (byte) line::yd (byte) line::yd#0 +(byte) line::yd#1 +(byte) line::yd#10 +(byte) line::yd#3 +(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::$8 +(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#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#6 +(byte) line_xdyd::x1 +(byte) line_xdyd::x1#0 +(byte) line_xdyd::x1#1 +(byte) line_xdyd::x1#6 +(byte) line_xdyd::xd +(byte) line_xdyd::xd#0 +(byte) line_xdyd::xd#1 +(byte) line_xdyd::xd#5 +(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#5 +(byte) line_xdyd::y#6 +(byte) line_xdyd::yd +(byte) line_xdyd::yd#0 +(byte) line_xdyd::yd#1 +(byte) line_xdyd::yd#2 (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::$8 (label) line_xdyi::@1 @@ -8638,17 +13307,103 @@ FINAL SYMBOL TABLE (byte) line_xdyi::x#0 (byte) line_xdyi::x#1 (byte) line_xdyi::x#2 +(byte) line_xdyi::x#3 +(byte) line_xdyi::x#6 (byte) line_xdyi::x1 (byte) line_xdyi::x1#0 +(byte) line_xdyi::x1#1 +(byte) line_xdyi::x1#6 (byte) line_xdyi::xd (byte) line_xdyi::xd#0 +(byte) line_xdyi::xd#1 +(byte) line_xdyi::xd#5 (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#5 +(byte) line_xdyi::y#6 (byte) line_xdyi::yd (byte) line_xdyi::yd#0 +(byte) line_xdyi::yd#1 +(byte) line_xdyi::yd#2 +(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::$8 +(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#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#5 +(byte) line_ydxd::x#6 +(byte) line_ydxd::xd +(byte) line_ydxd::xd#0 +(byte) line_ydxd::xd#1 +(byte) line_ydxd::xd#2 +(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#6 +(byte) line_ydxd::y1 +(byte) line_ydxd::y1#0 +(byte) line_ydxd::y1#1 +(byte) line_ydxd::y1#6 +(byte) line_ydxd::yd +(byte) line_ydxd::yd#0 +(byte) line_ydxd::yd#1 +(byte) line_ydxd::yd#5 +(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::$8 +(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#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#5 +(byte) line_ydxi::x#6 +(byte) line_ydxi::xd +(byte) line_ydxi::xd#0 +(byte) line_ydxi::xd#1 +(byte) line_ydxi::xd#2 +(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#6 +(byte) line_ydxi::y1 +(byte) line_ydxi::y1#0 +(byte) line_ydxi::y1#1 +(byte) line_ydxi::y1#6 +(byte) line_ydxi::yd +(byte) line_ydxi::yd#0 +(byte) line_ydxi::yd#1 +(byte) line_ydxi::yd#5 (void()) lines() (byte~) lines::$0 (byte~) lines::$2 @@ -8694,22 +13449,12 @@ FINAL SYMBOL TABLE (byte) plot::x#2 (byte) plot::x#3 (byte) plot::x#4 -(byte) plot::x#5 -(byte) plot::x#6 -(byte) plot::x#7 -(byte) plot::x#8 -(byte) plot::x#9 (byte) plot::y (byte) plot::y#0 (byte) plot::y#1 (byte) plot::y#2 (byte) plot::y#3 (byte) plot::y#4 -(byte) plot::y#5 -(byte) plot::y#6 -(byte) plot::y#7 -(byte) plot::y#8 -(byte) plot::y#9 (byte[]) plot_bit (const byte[]) plot_bit#0 = (word) 5120 (byte[]) plot_xhi @@ -8721,25 +13466,31 @@ FINAL SYMBOL TABLE (byte[]) plot_ylo (const byte[]) plot_ylo#0 = (word) 4608 -Block Sequence Planned @begin @7 @end main main::@3 main::@1 main::@5 main::@return lines lines::@1 lines::@3 lines::@return line line::@9 line::@10 line::@11 line::@return line::@3 line::@19 line::@2 line::@17 line::@1 line::@15 line::@24 line::@7 line::@22 plot plot::@return line_xdyi line_xdyi::@1 line_xdyi::@5 line_xdyi::@3 line_xdyi::@2 line_xdyi::@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 +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 @7 @end main main::@3 main::@1 main::@5 main::@return lines lines::@1 lines::@3 lines::@return lines::@4 line line::@9 line::@10 line::@11 line::@return line::@3 line::@19 line::@2 line::@17 line::@1 line::@15 line::@24 line::@7 line::@22 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 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 +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 CONTROL FLOW GRAPH - PHI LIFTED @begin: scope:[] from - to:@7 -@7: scope:[] from @begin + to:@10 +@10: scope:[] from @begin call main param-assignment to:@end -@end: scope:[] from @7 -main: scope:[main] from @7 +@end: scope:[] from @10 +main: scope:[main] from @10 *((const byte*) BGCOL#0) ← (byte) 0 *((const byte*) FGCOL#0) ← (byte) 0 *((const byte*) D011#0) ← (const byte) BMM#0|(const byte) DEN#0|(const byte) RSEL#0|(byte) 3 @@ -8784,151 +13535,358 @@ lines::@4: scope:[lines] from lines::@3 to:lines::@1 line: scope:[line] from lines::@1 if((byte) line::x0#0>=(byte) line::x1#0) goto line::@1 - to:line::@9 -line::@9: scope:[line] from line + to:line::@15 +line::@15: scope:[line] from line (byte) line::xd#1 ← (byte) line::x1#0 - (byte) line::x0#0 if((byte) line::y0#0>=(byte) line::y1#0) goto line::@2 - to:line::@10 -line::@10: scope:[line] from line::@9 - (byte) line::yd#0 ← (byte) line::y1#0 - (byte) line::y0#0 - if((byte) line::yd#0>=(byte) line::xd#1) goto line::@3 - to:line::@11 -line::@11: scope:[line] from line::@10 + to:line::@16 +line::@16: scope:[line] from line::@15 + (byte) line::yd#1 ← (byte) line::y1#0 - (byte) line::y0#0 + if((byte) line::yd#1>=(byte) line::xd#1) goto line::@3 + to:line::@17 +line::@17: scope:[line] from line::@16 (byte) line_xdyi::x#0 ← (byte) line::x0#0 (byte) line_xdyi::y#0 ← (byte) line::y0#0 (byte) line_xdyi::x1#0 ← (byte) line::x1#0 (byte) line_xdyi::xd#0 ← (byte) line::xd#1 - (byte) line_xdyi::yd#0 ← (byte) line::yd#0 + (byte) line_xdyi::yd#0 ← (byte) line::yd#1 + (byte~) line_xdyi::yd#7 ← (byte) line_xdyi::yd#0 + (byte~) line_xdyi::x#8 ← (byte) line_xdyi::x#0 + (byte~) line_xdyi::y#8 ← (byte) line_xdyi::y#0 + (byte~) line_xdyi::xd#7 ← (byte) line_xdyi::xd#0 + (byte~) line_xdyi::x1#7 ← (byte) line_xdyi::x1#0 call line_xdyi param-assignment to:line::@return -line::@return: scope:[line] from line::@11 line::@17 line::@19 line::@22 line::@24 +line::@return: scope:[line] from line::@10 line::@13 line::@17 line::@20 line::@24 line::@27 line::@3 line::@6 return to:@return -line::@3: scope:[line] from line::@10 - (byte) plot::x#2 ← (byte) line::x0#0 - (byte) plot::y#2 ← (byte) line::y0#0 - (byte~) plot::x#16 ← (byte) plot::x#2 - (byte~) plot::y#16 ← (byte) plot::y#2 - call plot param-assignment - to:line::@19 -line::@19: scope:[line] from line::@3 - (byte) plot::x#3 ← (byte) line::x1#0 - (byte) plot::y#3 ← (byte) line::y1#0 - (byte~) plot::x#12 ← (byte) plot::x#3 - (byte~) plot::y#12 ← (byte) plot::y#3 - call plot param-assignment +line::@3: scope:[line] from line::@16 + (byte) line_ydxi::y#0 ← (byte) line::y0#0 + (byte) line_ydxi::x#0 ← (byte) line::x0#0 + (byte) line_ydxi::y1#0 ← (byte) line::y1#0 + (byte) line_ydxi::yd#0 ← (byte) line::yd#1 + (byte) line_ydxi::xd#0 ← (byte) line::xd#1 + (byte~) line_ydxi::xd#8 ← (byte) line_ydxi::xd#0 + (byte~) line_ydxi::x#9 ← (byte) line_ydxi::x#0 + (byte~) line_ydxi::y#9 ← (byte) line_ydxi::y#0 + (byte~) line_ydxi::yd#8 ← (byte) line_ydxi::yd#0 + (byte~) line_ydxi::y1#8 ← (byte) line_ydxi::y1#0 + call line_ydxi param-assignment to:line::@return -line::@2: scope:[line] from line::@9 - (byte) plot::x#0 ← (byte) line::x0#0 - (byte) plot::y#0 ← (byte) line::y0#0 - (byte~) plot::x#13 ← (byte) plot::x#0 - (byte~) plot::y#13 ← (byte) plot::y#0 - call plot param-assignment - to:line::@17 -line::@17: scope:[line] from line::@2 - (byte) plot::x#1 ← (byte) line::x1#0 - (byte) plot::y#1 ← (byte) line::y1#0 - (byte~) plot::x#11 ← (byte) plot::x#1 - (byte~) plot::y#11 ← (byte) plot::y#1 - call plot param-assignment +line::@2: scope:[line] from line::@15 + (byte) line::yd#0 ← (byte) line::y0#0 - (byte) line::y1#0 + if((byte) line::yd#0>=(byte) line::xd#1) goto line::@6 + to:line::@20 +line::@20: scope:[line] from line::@2 + (byte) line_xdyd::x#0 ← (byte) line::x0#0 + (byte) line_xdyd::y#0 ← (byte) line::y0#0 + (byte) line_xdyd::x1#0 ← (byte) line::x1#0 + (byte) line_xdyd::xd#0 ← (byte) line::xd#1 + (byte) line_xdyd::yd#0 ← (byte) line::yd#0 + (byte~) line_xdyd::yd#7 ← (byte) line_xdyd::yd#0 + (byte~) line_xdyd::x#8 ← (byte) line_xdyd::x#0 + (byte~) line_xdyd::y#8 ← (byte) line_xdyd::y#0 + (byte~) line_xdyd::xd#7 ← (byte) line_xdyd::xd#0 + (byte~) line_xdyd::x1#7 ← (byte) line_xdyd::x1#0 + call line_xdyd param-assignment + to:line::@return +line::@6: scope:[line] from line::@2 + (byte) line_ydxd::y#0 ← (byte) line::y1#0 + (byte) line_ydxd::x#0 ← (byte) line::x1#0 + (byte) line_ydxd::y1#0 ← (byte) line::y0#0 + (byte) line_ydxd::yd#0 ← (byte) line::yd#0 + (byte) line_ydxd::xd#0 ← (byte) line::xd#1 + (byte~) line_ydxd::xd#8 ← (byte) line_ydxd::xd#0 + (byte~) line_ydxd::x#9 ← (byte) line_ydxd::x#0 + (byte~) line_ydxd::y#9 ← (byte) line_ydxd::y#0 + (byte~) line_ydxd::yd#8 ← (byte) line_ydxd::yd#0 + (byte~) line_ydxd::y1#8 ← (byte) line_ydxd::y1#0 + call line_ydxd param-assignment to:line::@return line::@1: scope:[line] from line - (byte) line::xd#0 ← (byte) line::x1#0 - (byte) line::x0#0 - if((byte) line::y0#0>=(byte) line::y1#0) goto line::@7 - to:line::@15 -line::@15: scope:[line] from line::@1 - (byte) plot::x#6 ← (byte) line::x0#0 - (byte) plot::y#6 ← (byte) line::y0#0 - (byte~) plot::x#10 ← (byte) plot::x#6 - (byte~) plot::y#10 ← (byte) plot::y#6 - call plot param-assignment + (byte) line::xd#0 ← (byte) line::x0#0 - (byte) line::x1#0 + if((byte) line::y0#0>=(byte) line::y1#0) goto line::@9 + to:line::@23 +line::@23: scope:[line] from line::@1 + (byte) line::yd#3 ← (byte) line::y1#0 - (byte) line::y0#0 + if((byte) line::yd#3>=(byte) line::xd#0) goto line::@10 to:line::@24 -line::@24: scope:[line] from line::@15 - (byte) plot::x#7 ← (byte) line::x1#0 - (byte) plot::y#7 ← (byte) line::y1#0 - (byte~) plot::x#15 ← (byte) plot::x#7 - (byte~) plot::y#15 ← (byte) plot::y#7 - call plot param-assignment +line::@24: scope:[line] from line::@23 + (byte) line_xdyd::x#1 ← (byte) line::x1#0 + (byte) line_xdyd::y#1 ← (byte) line::y1#0 + (byte) line_xdyd::x1#1 ← (byte) line::x0#0 + (byte) line_xdyd::xd#1 ← (byte) line::xd#0 + (byte) line_xdyd::yd#1 ← (byte) line::yd#3 + (byte~) line_xdyd::yd#8 ← (byte) line_xdyd::yd#1 + (byte~) line_xdyd::x#9 ← (byte) line_xdyd::x#1 + (byte~) line_xdyd::y#9 ← (byte) line_xdyd::y#1 + (byte~) line_xdyd::xd#8 ← (byte) line_xdyd::xd#1 + (byte~) line_xdyd::x1#8 ← (byte) line_xdyd::x1#1 + call line_xdyd param-assignment to:line::@return -line::@7: scope:[line] from line::@1 - (byte) plot::x#4 ← (byte) line::x0#0 - (byte) plot::y#4 ← (byte) line::y0#0 - (byte~) plot::x#17 ← (byte) plot::x#4 - (byte~) plot::y#17 ← (byte) plot::y#4 - call plot param-assignment - to:line::@22 -line::@22: scope:[line] from line::@7 - (byte) plot::x#5 ← (byte) line::x1#0 - (byte) plot::y#5 ← (byte) line::y1#0 - (byte~) plot::x#14 ← (byte) plot::x#5 - (byte~) plot::y#14 ← (byte) plot::y#5 - call plot param-assignment +line::@10: scope:[line] from line::@23 + (byte) line_ydxd::y#1 ← (byte) line::y0#0 + (byte) line_ydxd::x#1 ← (byte) line::x0#0 + (byte) line_ydxd::y1#1 ← (byte) line::y1#0 + (byte) line_ydxd::yd#1 ← (byte) line::yd#3 + (byte) line_ydxd::xd#1 ← (byte) line::xd#0 + (byte~) line_ydxd::xd#7 ← (byte) line_ydxd::xd#1 + (byte~) line_ydxd::x#8 ← (byte) line_ydxd::x#1 + (byte~) line_ydxd::y#8 ← (byte) line_ydxd::y#1 + (byte~) line_ydxd::yd#7 ← (byte) line_ydxd::yd#1 + (byte~) line_ydxd::y1#7 ← (byte) line_ydxd::y1#1 + call line_ydxd param-assignment to:line::@return -plot: scope:[plot] from line::@15 line::@17 line::@19 line::@2 line::@22 line::@24 line::@3 line::@7 line_xdyi::@1 - (byte) plot::y#9 ← phi( line::@15/(byte~) plot::y#10 line::@17/(byte~) plot::y#11 line::@19/(byte~) plot::y#12 line::@2/(byte~) plot::y#13 line::@22/(byte~) plot::y#14 line::@24/(byte~) plot::y#15 line::@3/(byte~) plot::y#16 line::@7/(byte~) plot::y#17 line_xdyi::@1/(byte~) plot::y#18 ) - (byte) plot::x#9 ← phi( line::@15/(byte~) plot::x#10 line::@17/(byte~) plot::x#11 line::@19/(byte~) plot::x#12 line::@2/(byte~) plot::x#13 line::@22/(byte~) plot::x#14 line::@24/(byte~) plot::x#15 line::@3/(byte~) plot::x#16 line::@7/(byte~) plot::x#17 line_xdyi::@1/(byte~) plot::x#18 ) - (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#9 +line::@9: scope:[line] from line::@1 + (byte) line::yd#10 ← (byte) line::y0#0 - (byte) line::y1#0 + if((byte) line::yd#10>=(byte) line::xd#0) goto line::@13 + to:line::@27 +line::@27: scope:[line] from line::@9 + (byte) line_xdyi::x#1 ← (byte) line::x1#0 + (byte) line_xdyi::y#1 ← (byte) line::y1#0 + (byte) line_xdyi::x1#1 ← (byte) line::x0#0 + (byte) line_xdyi::xd#1 ← (byte) line::xd#0 + (byte) line_xdyi::yd#1 ← (byte) line::yd#10 + (byte~) line_xdyi::yd#8 ← (byte) line_xdyi::yd#1 + (byte~) line_xdyi::x#9 ← (byte) line_xdyi::x#1 + (byte~) line_xdyi::y#9 ← (byte) line_xdyi::y#1 + (byte~) line_xdyi::xd#8 ← (byte) line_xdyi::xd#1 + (byte~) line_xdyi::x1#8 ← (byte) line_xdyi::x1#1 + call line_xdyi param-assignment + to:line::@return +line::@13: scope:[line] from line::@9 + (byte) line_ydxi::y#1 ← (byte) line::y1#0 + (byte) line_ydxi::x#1 ← (byte) line::x1#0 + (byte) line_ydxi::y1#1 ← (byte) line::y0#0 + (byte) line_ydxi::yd#1 ← (byte) line::yd#10 + (byte) line_ydxi::xd#1 ← (byte) line::xd#0 + (byte~) line_ydxi::xd#7 ← (byte) line_ydxi::xd#1 + (byte~) line_ydxi::x#8 ← (byte) line_ydxi::x#1 + (byte~) line_ydxi::y#8 ← (byte) line_ydxi::y#1 + (byte~) line_ydxi::yd#7 ← (byte) line_ydxi::yd#1 + (byte~) line_ydxi::y1#7 ← (byte) line_ydxi::y1#1 + call line_ydxi param-assignment + to:line::@return +line_ydxi: scope:[line_ydxi] from line::@13 line::@3 + (byte) line_ydxi::y1#6 ← phi( line::@13/(byte~) line_ydxi::y1#7 line::@3/(byte~) line_ydxi::y1#8 ) + (byte) line_ydxi::yd#5 ← phi( line::@13/(byte~) line_ydxi::yd#7 line::@3/(byte~) line_ydxi::yd#8 ) + (byte) line_ydxi::y#6 ← phi( line::@13/(byte~) line_ydxi::y#8 line::@3/(byte~) line_ydxi::y#9 ) + (byte) line_ydxi::x#5 ← phi( line::@13/(byte~) line_ydxi::x#8 line::@3/(byte~) line_ydxi::x#9 ) + (byte) line_ydxi::xd#2 ← phi( line::@13/(byte~) line_ydxi::xd#7 line::@3/(byte~) line_ydxi::xd#8 ) + (byte) line_ydxi::e#0 ← (byte) line_ydxi::xd#2 >> (byte) 1 + (byte~) line_ydxi::x#10 ← (byte) line_ydxi::x#5 + (byte~) line_ydxi::y#10 ← (byte) line_ydxi::y#6 + (byte~) line_ydxi::e#7 ← (byte) line_ydxi::e#0 + to:line_ydxi::@1 +line_ydxi::@1: scope:[line_ydxi] from line_ydxi line_ydxi::@6 + (byte) line_ydxi::e#3 ← phi( line_ydxi/(byte~) line_ydxi::e#7 line_ydxi::@6/(byte~) line_ydxi::e#8 ) + (byte) line_ydxi::y#3 ← phi( line_ydxi/(byte~) line_ydxi::y#10 line_ydxi::@6/(byte~) line_ydxi::y#11 ) + (byte) line_ydxi::x#3 ← phi( line_ydxi/(byte~) line_ydxi::x#10 line_ydxi::@6/(byte~) line_ydxi::x#11 ) + (byte) plot::x#2 ← (byte) line_ydxi::x#3 + (byte) plot::y#2 ← (byte) line_ydxi::y#3 + (byte~) plot::x#8 ← (byte) plot::x#2 + (byte~) plot::y#8 ← (byte) plot::y#2 + call plot param-assignment + to:line_ydxi::@5 +line_ydxi::@5: scope:[line_ydxi] from line_ydxi::@1 + (byte) line_ydxi::y#2 ← (byte) line_ydxi::y#3 + (byte) 1 + (byte) line_ydxi::e#1 ← (byte) line_ydxi::e#3 + (byte) line_ydxi::xd#2 + if((byte) line_ydxi::yd#5>=(byte) line_ydxi::e#1) goto line_ydxi::@7 + to:line_ydxi::@3 +line_ydxi::@3: scope:[line_ydxi] from line_ydxi::@5 + (byte) line_ydxi::x#2 ← (byte) line_ydxi::x#3 + (byte) 1 + (byte) line_ydxi::e#2 ← (byte) line_ydxi::e#1 - (byte) line_ydxi::yd#5 + (byte~) line_ydxi::x#12 ← (byte) line_ydxi::x#2 + (byte~) line_ydxi::e#9 ← (byte) line_ydxi::e#2 + to:line_ydxi::@2 +line_ydxi::@2: scope:[line_ydxi] from line_ydxi::@3 line_ydxi::@7 + (byte) line_ydxi::e#6 ← phi( line_ydxi::@3/(byte~) line_ydxi::e#9 line_ydxi::@7/(byte~) line_ydxi::e#10 ) + (byte) line_ydxi::x#6 ← phi( line_ydxi::@3/(byte~) line_ydxi::x#12 line_ydxi::@7/(byte~) line_ydxi::x#13 ) + (byte~) line_ydxi::$8 ← (byte) line_ydxi::y1#6 + (byte) 1 + if((byte) line_ydxi::y#2<(byte~) line_ydxi::$8) goto line_ydxi::@6 + to:line_ydxi::@return +line_ydxi::@return: scope:[line_ydxi] from line_ydxi::@2 + return + to:@return +line_ydxi::@6: scope:[line_ydxi] from line_ydxi::@2 + (byte~) line_ydxi::x#11 ← (byte) line_ydxi::x#6 + (byte~) line_ydxi::y#11 ← (byte) line_ydxi::y#2 + (byte~) line_ydxi::e#8 ← (byte) line_ydxi::e#6 + to:line_ydxi::@1 +line_ydxi::@7: scope:[line_ydxi] from line_ydxi::@5 + (byte~) line_ydxi::x#13 ← (byte) line_ydxi::x#3 + (byte~) line_ydxi::e#10 ← (byte) line_ydxi::e#1 + to:line_ydxi::@2 +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#5 line_xdyi::@1/(byte~) plot::y#6 line_ydxd::@1/(byte~) plot::y#7 line_ydxi::@1/(byte~) plot::y#8 ) + (byte) plot::x#4 ← phi( line_xdyd::@1/(byte~) plot::x#5 line_xdyi::@1/(byte~) plot::x#6 line_ydxd::@1/(byte~) plot::x#7 line_ydxi::@1/(byte~) plot::x#8 ) + (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#4 (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 - (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#9 + (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#4 (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 - (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#9 + (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#4 (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 - (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#9 + (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#4 (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 (byte~) plot::$5 ← * (byte*) plot::plotter#0 - (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#9 + (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#4 (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 *((byte*) plot::plotter#0) ← (byte~) plot::$7 to:plot::@return plot::@return: scope:[plot] from plot return to:@return -line_xdyi: scope:[line_xdyi] from line::@11 - (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#0 >> (byte) 1 - (byte~) line_xdyi::x#7 ← (byte) line_xdyi::x#0 - (byte~) line_xdyi::y#7 ← (byte) line_xdyi::y#0 +line_xdyi: scope:[line_xdyi] from line::@17 line::@27 + (byte) line_xdyi::x1#6 ← phi( line::@17/(byte~) line_xdyi::x1#7 line::@27/(byte~) line_xdyi::x1#8 ) + (byte) line_xdyi::xd#5 ← phi( line::@17/(byte~) line_xdyi::xd#7 line::@27/(byte~) line_xdyi::xd#8 ) + (byte) line_xdyi::y#5 ← phi( line::@17/(byte~) line_xdyi::y#8 line::@27/(byte~) line_xdyi::y#9 ) + (byte) line_xdyi::x#6 ← phi( line::@17/(byte~) line_xdyi::x#8 line::@27/(byte~) line_xdyi::x#9 ) + (byte) line_xdyi::yd#2 ← phi( line::@17/(byte~) line_xdyi::yd#7 line::@27/(byte~) line_xdyi::yd#8 ) + (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#2 >> (byte) 1 + (byte~) line_xdyi::x#10 ← (byte) line_xdyi::x#6 + (byte~) line_xdyi::y#10 ← (byte) line_xdyi::y#5 (byte~) line_xdyi::e#7 ← (byte) line_xdyi::e#0 to:line_xdyi::@1 line_xdyi::@1: scope:[line_xdyi] from line_xdyi line_xdyi::@6 (byte) line_xdyi::e#3 ← phi( line_xdyi/(byte~) line_xdyi::e#7 line_xdyi::@6/(byte~) line_xdyi::e#8 ) - (byte) line_xdyi::y#2 ← phi( line_xdyi/(byte~) line_xdyi::y#7 line_xdyi::@6/(byte~) line_xdyi::y#8 ) - (byte) line_xdyi::x#2 ← phi( line_xdyi/(byte~) line_xdyi::x#7 line_xdyi::@6/(byte~) line_xdyi::x#8 ) - (byte) plot::x#8 ← (byte) line_xdyi::x#2 - (byte) plot::y#8 ← (byte) line_xdyi::y#2 - (byte~) plot::x#18 ← (byte) plot::x#8 - (byte~) plot::y#18 ← (byte) plot::y#8 + (byte) line_xdyi::y#3 ← phi( line_xdyi/(byte~) line_xdyi::y#10 line_xdyi::@6/(byte~) line_xdyi::y#11 ) + (byte) line_xdyi::x#3 ← phi( line_xdyi/(byte~) line_xdyi::x#10 line_xdyi::@6/(byte~) line_xdyi::x#11 ) + (byte) plot::x#0 ← (byte) line_xdyi::x#3 + (byte) plot::y#0 ← (byte) line_xdyi::y#3 + (byte~) plot::x#6 ← (byte) plot::x#0 + (byte~) plot::y#6 ← (byte) plot::y#0 call plot param-assignment to:line_xdyi::@5 line_xdyi::@5: scope:[line_xdyi] from line_xdyi::@1 - (byte) line_xdyi::x#1 ← (byte) line_xdyi::x#2 + (byte) 1 - (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#0 - if((byte) line_xdyi::xd#0>=(byte) line_xdyi::e#1) goto line_xdyi::@7 + (byte) line_xdyi::x#2 ← (byte) line_xdyi::x#3 + (byte) 1 + (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#2 + if((byte) line_xdyi::xd#5>=(byte) line_xdyi::e#1) goto line_xdyi::@7 to:line_xdyi::@3 line_xdyi::@3: scope:[line_xdyi] from line_xdyi::@5 - (byte) line_xdyi::y#1 ← (byte) line_xdyi::y#2 + (byte) 1 - (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#0 - (byte~) line_xdyi::y#9 ← (byte) line_xdyi::y#1 + (byte) line_xdyi::y#2 ← (byte) line_xdyi::y#3 + (byte) 1 + (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#5 + (byte~) line_xdyi::y#12 ← (byte) line_xdyi::y#2 (byte~) line_xdyi::e#9 ← (byte) line_xdyi::e#2 to:line_xdyi::@2 line_xdyi::@2: scope:[line_xdyi] from line_xdyi::@3 line_xdyi::@7 (byte) line_xdyi::e#6 ← phi( line_xdyi::@3/(byte~) line_xdyi::e#9 line_xdyi::@7/(byte~) line_xdyi::e#10 ) - (byte) line_xdyi::y#5 ← phi( line_xdyi::@3/(byte~) line_xdyi::y#9 line_xdyi::@7/(byte~) line_xdyi::y#10 ) - (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#0 + (byte) 1 - if((byte) line_xdyi::x#1<(byte~) line_xdyi::$8) goto line_xdyi::@6 + (byte) line_xdyi::y#6 ← phi( line_xdyi::@3/(byte~) line_xdyi::y#12 line_xdyi::@7/(byte~) line_xdyi::y#13 ) + (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#6 + (byte) 1 + if((byte) line_xdyi::x#2<(byte~) line_xdyi::$8) goto line_xdyi::@6 to:line_xdyi::@return line_xdyi::@return: scope:[line_xdyi] from line_xdyi::@2 return to:@return line_xdyi::@6: scope:[line_xdyi] from line_xdyi::@2 - (byte~) line_xdyi::x#8 ← (byte) line_xdyi::x#1 - (byte~) line_xdyi::y#8 ← (byte) line_xdyi::y#5 + (byte~) line_xdyi::x#11 ← (byte) line_xdyi::x#2 + (byte~) line_xdyi::y#11 ← (byte) line_xdyi::y#6 (byte~) line_xdyi::e#8 ← (byte) line_xdyi::e#6 to:line_xdyi::@1 line_xdyi::@7: scope:[line_xdyi] from line_xdyi::@5 - (byte~) line_xdyi::y#10 ← (byte) line_xdyi::y#2 + (byte~) line_xdyi::y#13 ← (byte) line_xdyi::y#3 (byte~) line_xdyi::e#10 ← (byte) line_xdyi::e#1 to:line_xdyi::@2 +line_ydxd: scope:[line_ydxd] from line::@10 line::@6 + (byte) line_ydxd::y1#6 ← phi( line::@10/(byte~) line_ydxd::y1#7 line::@6/(byte~) line_ydxd::y1#8 ) + (byte) line_ydxd::yd#5 ← phi( line::@10/(byte~) line_ydxd::yd#7 line::@6/(byte~) line_ydxd::yd#8 ) + (byte) line_ydxd::y#6 ← phi( line::@10/(byte~) line_ydxd::y#8 line::@6/(byte~) line_ydxd::y#9 ) + (byte) line_ydxd::x#5 ← phi( line::@10/(byte~) line_ydxd::x#8 line::@6/(byte~) line_ydxd::x#9 ) + (byte) line_ydxd::xd#2 ← phi( line::@10/(byte~) line_ydxd::xd#7 line::@6/(byte~) line_ydxd::xd#8 ) + (byte) line_ydxd::e#0 ← (byte) line_ydxd::xd#2 >> (byte) 1 + (byte~) line_ydxd::x#10 ← (byte) line_ydxd::x#5 + (byte~) line_ydxd::y#10 ← (byte) line_ydxd::y#6 + (byte~) line_ydxd::e#7 ← (byte) line_ydxd::e#0 + to:line_ydxd::@1 +line_ydxd::@1: scope:[line_ydxd] from line_ydxd line_ydxd::@6 + (byte) line_ydxd::e#3 ← phi( line_ydxd/(byte~) line_ydxd::e#7 line_ydxd::@6/(byte~) line_ydxd::e#8 ) + (byte) line_ydxd::y#3 ← phi( line_ydxd/(byte~) line_ydxd::y#10 line_ydxd::@6/(byte~) line_ydxd::y#11 ) + (byte) line_ydxd::x#3 ← phi( line_ydxd/(byte~) line_ydxd::x#10 line_ydxd::@6/(byte~) line_ydxd::x#11 ) + (byte) plot::x#3 ← (byte) line_ydxd::x#3 + (byte) plot::y#3 ← (byte) line_ydxd::y#3 + (byte~) plot::x#7 ← (byte) plot::x#3 + (byte~) plot::y#7 ← (byte) plot::y#3 + call plot param-assignment + to:line_ydxd::@5 +line_ydxd::@5: scope:[line_ydxd] from line_ydxd::@1 + (byte) line_ydxd::y#2 ← (byte) line_ydxd::y#3 + (byte) 1 + (byte) line_ydxd::e#1 ← (byte) line_ydxd::e#3 + (byte) line_ydxd::xd#2 + if((byte) line_ydxd::yd#5>=(byte) line_ydxd::e#1) goto line_ydxd::@7 + to:line_ydxd::@3 +line_ydxd::@3: scope:[line_ydxd] from line_ydxd::@5 + (byte) line_ydxd::x#2 ← (byte) line_ydxd::x#3 - (byte) 1 + (byte) line_ydxd::e#2 ← (byte) line_ydxd::e#1 - (byte) line_ydxd::yd#5 + (byte~) line_ydxd::x#12 ← (byte) line_ydxd::x#2 + (byte~) line_ydxd::e#9 ← (byte) line_ydxd::e#2 + to:line_ydxd::@2 +line_ydxd::@2: scope:[line_ydxd] from line_ydxd::@3 line_ydxd::@7 + (byte) line_ydxd::e#6 ← phi( line_ydxd::@3/(byte~) line_ydxd::e#9 line_ydxd::@7/(byte~) line_ydxd::e#10 ) + (byte) line_ydxd::x#6 ← phi( line_ydxd::@3/(byte~) line_ydxd::x#12 line_ydxd::@7/(byte~) line_ydxd::x#13 ) + (byte~) line_ydxd::$8 ← (byte) line_ydxd::y1#6 + (byte) 1 + if((byte) line_ydxd::y#2<(byte~) line_ydxd::$8) goto line_ydxd::@6 + to:line_ydxd::@return +line_ydxd::@return: scope:[line_ydxd] from line_ydxd::@2 + return + to:@return +line_ydxd::@6: scope:[line_ydxd] from line_ydxd::@2 + (byte~) line_ydxd::x#11 ← (byte) line_ydxd::x#6 + (byte~) line_ydxd::y#11 ← (byte) line_ydxd::y#2 + (byte~) line_ydxd::e#8 ← (byte) line_ydxd::e#6 + to:line_ydxd::@1 +line_ydxd::@7: scope:[line_ydxd] from line_ydxd::@5 + (byte~) line_ydxd::x#13 ← (byte) line_ydxd::x#3 + (byte~) line_ydxd::e#10 ← (byte) line_ydxd::e#1 + to:line_ydxd::@2 +line_xdyd: scope:[line_xdyd] from line::@20 line::@24 + (byte) line_xdyd::x1#6 ← phi( line::@20/(byte~) line_xdyd::x1#7 line::@24/(byte~) line_xdyd::x1#8 ) + (byte) line_xdyd::xd#5 ← phi( line::@20/(byte~) line_xdyd::xd#7 line::@24/(byte~) line_xdyd::xd#8 ) + (byte) line_xdyd::y#5 ← phi( line::@20/(byte~) line_xdyd::y#8 line::@24/(byte~) line_xdyd::y#9 ) + (byte) line_xdyd::x#6 ← phi( line::@20/(byte~) line_xdyd::x#8 line::@24/(byte~) line_xdyd::x#9 ) + (byte) line_xdyd::yd#2 ← phi( line::@20/(byte~) line_xdyd::yd#7 line::@24/(byte~) line_xdyd::yd#8 ) + (byte) line_xdyd::e#0 ← (byte) line_xdyd::yd#2 >> (byte) 1 + (byte~) line_xdyd::x#10 ← (byte) line_xdyd::x#6 + (byte~) line_xdyd::y#10 ← (byte) line_xdyd::y#5 + (byte~) line_xdyd::e#7 ← (byte) line_xdyd::e#0 + to:line_xdyd::@1 +line_xdyd::@1: scope:[line_xdyd] from line_xdyd line_xdyd::@6 + (byte) line_xdyd::e#3 ← phi( line_xdyd/(byte~) line_xdyd::e#7 line_xdyd::@6/(byte~) line_xdyd::e#8 ) + (byte) line_xdyd::y#3 ← phi( line_xdyd/(byte~) line_xdyd::y#10 line_xdyd::@6/(byte~) line_xdyd::y#11 ) + (byte) line_xdyd::x#3 ← phi( line_xdyd/(byte~) line_xdyd::x#10 line_xdyd::@6/(byte~) line_xdyd::x#11 ) + (byte) plot::x#1 ← (byte) line_xdyd::x#3 + (byte) plot::y#1 ← (byte) line_xdyd::y#3 + (byte~) plot::x#5 ← (byte) plot::x#1 + (byte~) plot::y#5 ← (byte) plot::y#1 + call plot param-assignment + to:line_xdyd::@5 +line_xdyd::@5: scope:[line_xdyd] from line_xdyd::@1 + (byte) line_xdyd::x#2 ← (byte) line_xdyd::x#3 + (byte) 1 + (byte) line_xdyd::e#1 ← (byte) line_xdyd::e#3 + (byte) line_xdyd::yd#2 + if((byte) line_xdyd::xd#5>=(byte) line_xdyd::e#1) goto line_xdyd::@7 + to:line_xdyd::@3 +line_xdyd::@3: scope:[line_xdyd] from line_xdyd::@5 + (byte) line_xdyd::y#2 ← (byte) line_xdyd::y#3 - (byte) 1 + (byte) line_xdyd::e#2 ← (byte) line_xdyd::e#1 - (byte) line_xdyd::xd#5 + (byte~) line_xdyd::y#12 ← (byte) line_xdyd::y#2 + (byte~) line_xdyd::e#9 ← (byte) line_xdyd::e#2 + to:line_xdyd::@2 +line_xdyd::@2: scope:[line_xdyd] from line_xdyd::@3 line_xdyd::@7 + (byte) line_xdyd::e#6 ← phi( line_xdyd::@3/(byte~) line_xdyd::e#9 line_xdyd::@7/(byte~) line_xdyd::e#10 ) + (byte) line_xdyd::y#6 ← phi( line_xdyd::@3/(byte~) line_xdyd::y#12 line_xdyd::@7/(byte~) line_xdyd::y#13 ) + (byte~) line_xdyd::$8 ← (byte) line_xdyd::x1#6 + (byte) 1 + if((byte) line_xdyd::x#2<(byte~) line_xdyd::$8) goto line_xdyd::@6 + to:line_xdyd::@return +line_xdyd::@return: scope:[line_xdyd] from line_xdyd::@2 + return + to:@return +line_xdyd::@6: scope:[line_xdyd] from line_xdyd::@2 + (byte~) line_xdyd::x#11 ← (byte) line_xdyd::x#2 + (byte~) line_xdyd::y#11 ← (byte) line_xdyd::y#6 + (byte~) line_xdyd::e#8 ← (byte) line_xdyd::e#6 + to:line_xdyd::@1 +line_xdyd::@7: scope:[line_xdyd] from line_xdyd::@5 + (byte~) line_xdyd::y#13 ← (byte) line_xdyd::y#3 + (byte~) line_xdyd::e#10 ← (byte) line_xdyd::e#1 + to:line_xdyd::@2 init_plot_tables: scope:[init_plot_tables] from main::@3 to:init_plot_tables::@1 init_plot_tables::@1: scope:[init_plot_tables] from init_plot_tables init_plot_tables::@9 @@ -9017,8 +13975,11 @@ CALL GRAPH Calls in [] to 0:main Calls in [main] to 5:init_screen 6:init_plot_tables 7:lines Calls in [lines] to 20:line -Calls in [line] to 35:line_xdyi 41:plot 46:plot 51:plot 56:plot 63:plot 68:plot 73:plot 78:plot -Calls in [line_xdyi] to 103:plot +Calls in [line] to 40:line_xdyi 52:line_ydxi 65:line_xdyd 76:line_ydxd 91:line_xdyd 102:line_ydxd 115:line_xdyi 126:line_ydxi +Calls in [line_ydxi] to 137:plot +Calls in [line_xdyi] to 179:plot +Calls in [line_ydxd] to 206:plot +Calls in [line_xdyd] to 233:plot Propagating live ranges... Propagating live ranges... @@ -9037,16 +13998,14 @@ Propagating live ranges... Propagating live ranges... Propagating live ranges... Propagating live ranges... -Propagating live ranges... -Propagating live ranges... CONTROL FLOW GRAPH - LIVE RANGES FOUND @begin: scope:[] from - to:@7 -@7: scope:[] from @begin + to:@10 +@10: scope:[] from @begin [0] call main param-assignment [ ] to:@end -@end: scope:[] from @7 -main: scope:[main] from @7 +@end: scope:[] from @10 +main: scope:[main] from @10 [1] *((const byte*) BGCOL#0) ← (byte) 0 [ ] [2] *((const byte*) FGCOL#0) ← (byte) 0 [ ] [3] *((const byte*) D011#0) ← (const byte) BMM#0|(const byte) DEN#0|(const byte) RSEL#0|(byte) 3 [ ] @@ -9092,277 +14051,550 @@ lines::@4: scope:[lines] from lines::@3 to:lines::@1 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 ] - to:line::@9 -line::@9: scope:[line] from line + 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 ] [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 ] - to:line::@10 -line::@10: scope:[line] from line::@9 - [28] (byte) line::yd#0 ← (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#0 ] - [29] if((byte) line::yd#0>=(byte) line::xd#1) goto line::@3 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#0 ] - to:line::@11 -line::@11: scope:[line] from line::@10 - [30] (byte) line_xdyi::x#0 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::xd#1 line::yd#0 line_xdyi::x#0 ] - [31] (byte) line_xdyi::y#0 ← (byte) line::y0#0 [ line::x1#0 line::xd#1 line::yd#0 line_xdyi::x#0 line_xdyi::y#0 ] - [32] (byte) line_xdyi::x1#0 ← (byte) line::x1#0 [ line::xd#1 line::yd#0 line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 ] - [33] (byte) line_xdyi::xd#0 ← (byte) line::xd#1 [ line::yd#0 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#0 [ 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 [ ] - to:line::@return -line::@return: scope:[line] from line::@11 line::@17 line::@19 line::@22 line::@24 - [36] return [ ] - to:@return -line::@3: scope:[line] from line::@10 - [37] (byte) plot::x#2 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#2 ] - [38] (byte) plot::y#2 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#2 plot::y#2 ] - [39] (byte~) plot::x#16 ← (byte) plot::x#2 [ line::x1#0 line::y1#0 plot::y#2 plot::x#16 ] - [40] (byte~) plot::y#16 ← (byte) plot::y#2 [ line::x1#0 line::y1#0 plot::x#16 plot::y#16 ] - [41] call plot param-assignment [ line::x1#0 line::y1#0 ] - to:line::@19 -line::@19: scope:[line] from line::@3 - [42] (byte) plot::x#3 ← (byte) line::x1#0 [ line::y1#0 plot::x#3 ] - [43] (byte) plot::y#3 ← (byte) line::y1#0 [ plot::x#3 plot::y#3 ] - [44] (byte~) plot::x#12 ← (byte) plot::x#3 [ plot::y#3 plot::x#12 ] - [45] (byte~) plot::y#12 ← (byte) plot::y#3 [ plot::x#12 plot::y#12 ] - [46] call plot param-assignment [ ] - to:line::@return -line::@2: scope:[line] from line::@9 - [47] (byte) plot::x#0 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#0 ] - [48] (byte) plot::y#0 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#0 plot::y#0 ] - [49] (byte~) plot::x#13 ← (byte) plot::x#0 [ line::x1#0 line::y1#0 plot::y#0 plot::x#13 ] - [50] (byte~) plot::y#13 ← (byte) plot::y#0 [ line::x1#0 line::y1#0 plot::x#13 plot::y#13 ] - [51] call plot param-assignment [ line::x1#0 line::y1#0 ] + 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 ] + [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 ] to:line::@17 -line::@17: scope:[line] from line::@2 - [52] (byte) plot::x#1 ← (byte) line::x1#0 [ line::y1#0 plot::x#1 ] - [53] (byte) plot::y#1 ← (byte) line::y1#0 [ plot::x#1 plot::y#1 ] - [54] (byte~) plot::x#11 ← (byte) plot::x#1 [ plot::y#1 plot::x#11 ] - [55] (byte~) plot::y#11 ← (byte) plot::y#1 [ plot::x#11 plot::y#11 ] - [56] call plot param-assignment [ ] +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 ] + [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 ] + [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 ] + [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 ] + [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 ] + [35] (byte~) line_xdyi::yd#7 ← (byte) line_xdyi::yd#0 [ line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#7 ] + [36] (byte~) line_xdyi::x#8 ← (byte) line_xdyi::x#0 [ line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#7 line_xdyi::x#8 ] + [37] (byte~) line_xdyi::y#8 ← (byte) line_xdyi::y#0 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#7 line_xdyi::x#8 line_xdyi::y#8 ] + [38] (byte~) line_xdyi::xd#7 ← (byte) line_xdyi::xd#0 [ line_xdyi::x1#0 line_xdyi::yd#7 line_xdyi::x#8 line_xdyi::y#8 line_xdyi::xd#7 ] + [39] (byte~) line_xdyi::x1#7 ← (byte) line_xdyi::x1#0 [ line_xdyi::yd#7 line_xdyi::x#8 line_xdyi::y#8 line_xdyi::xd#7 line_xdyi::x1#7 ] + [40] call line_xdyi param-assignment [ ] + to:line::@return +line::@return: scope:[line] from line::@10 line::@13 line::@17 line::@20 line::@24 line::@27 line::@3 line::@6 + [41] return [ ] + to:@return +line::@3: scope:[line] from line::@16 + [42] (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 ] + [43] (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 ] + [44] (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 ] + [45] (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 ] + [46] (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 ] + [47] (byte~) line_ydxi::xd#8 ← (byte) line_ydxi::xd#0 [ line_ydxi::y#0 line_ydxi::x#0 line_ydxi::y1#0 line_ydxi::yd#0 line_ydxi::xd#8 ] + [48] (byte~) line_ydxi::x#9 ← (byte) line_ydxi::x#0 [ line_ydxi::y#0 line_ydxi::y1#0 line_ydxi::yd#0 line_ydxi::xd#8 line_ydxi::x#9 ] + [49] (byte~) line_ydxi::y#9 ← (byte) line_ydxi::y#0 [ line_ydxi::y1#0 line_ydxi::yd#0 line_ydxi::xd#8 line_ydxi::x#9 line_ydxi::y#9 ] + [50] (byte~) line_ydxi::yd#8 ← (byte) line_ydxi::yd#0 [ line_ydxi::y1#0 line_ydxi::xd#8 line_ydxi::x#9 line_ydxi::y#9 line_ydxi::yd#8 ] + [51] (byte~) line_ydxi::y1#8 ← (byte) line_ydxi::y1#0 [ line_ydxi::xd#8 line_ydxi::x#9 line_ydxi::y#9 line_ydxi::yd#8 line_ydxi::y1#8 ] + [52] call line_ydxi param-assignment [ ] + to:line::@return +line::@2: scope:[line] from line::@15 + [53] (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 ] + [54] 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 ] + to:line::@20 +line::@20: scope:[line] from line::@2 + [55] (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 ] + [56] (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 ] + [57] (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 ] + [58] (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 ] + [59] (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 ] + [60] (byte~) line_xdyd::yd#7 ← (byte) line_xdyd::yd#0 [ line_xdyd::x#0 line_xdyd::y#0 line_xdyd::x1#0 line_xdyd::xd#0 line_xdyd::yd#7 ] + [61] (byte~) line_xdyd::x#8 ← (byte) line_xdyd::x#0 [ line_xdyd::y#0 line_xdyd::x1#0 line_xdyd::xd#0 line_xdyd::yd#7 line_xdyd::x#8 ] + [62] (byte~) line_xdyd::y#8 ← (byte) line_xdyd::y#0 [ line_xdyd::x1#0 line_xdyd::xd#0 line_xdyd::yd#7 line_xdyd::x#8 line_xdyd::y#8 ] + [63] (byte~) line_xdyd::xd#7 ← (byte) line_xdyd::xd#0 [ line_xdyd::x1#0 line_xdyd::yd#7 line_xdyd::x#8 line_xdyd::y#8 line_xdyd::xd#7 ] + [64] (byte~) line_xdyd::x1#7 ← (byte) line_xdyd::x1#0 [ line_xdyd::yd#7 line_xdyd::x#8 line_xdyd::y#8 line_xdyd::xd#7 line_xdyd::x1#7 ] + [65] call line_xdyd param-assignment [ ] + to:line::@return +line::@6: scope:[line] from line::@2 + [66] (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 ] + [67] (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 ] + [68] (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 ] + [69] (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 ] + [70] (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 ] + [71] (byte~) line_ydxd::xd#8 ← (byte) line_ydxd::xd#0 [ line_ydxd::y#0 line_ydxd::x#0 line_ydxd::y1#0 line_ydxd::yd#0 line_ydxd::xd#8 ] + [72] (byte~) line_ydxd::x#9 ← (byte) line_ydxd::x#0 [ line_ydxd::y#0 line_ydxd::y1#0 line_ydxd::yd#0 line_ydxd::xd#8 line_ydxd::x#9 ] + [73] (byte~) line_ydxd::y#9 ← (byte) line_ydxd::y#0 [ line_ydxd::y1#0 line_ydxd::yd#0 line_ydxd::xd#8 line_ydxd::x#9 line_ydxd::y#9 ] + [74] (byte~) line_ydxd::yd#8 ← (byte) line_ydxd::yd#0 [ line_ydxd::y1#0 line_ydxd::xd#8 line_ydxd::x#9 line_ydxd::y#9 line_ydxd::yd#8 ] + [75] (byte~) line_ydxd::y1#8 ← (byte) line_ydxd::y1#0 [ line_ydxd::xd#8 line_ydxd::x#9 line_ydxd::y#9 line_ydxd::yd#8 line_ydxd::y1#8 ] + [76] call line_ydxd param-assignment [ ] to:line::@return line::@1: scope:[line] from line - [57] (byte) line::xd#0 ← (byte) line::x1#0 - (byte) line::x0#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] - [58] if((byte) line::y0#0>=(byte) line::y1#0) goto line::@7 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] - to:line::@15 -line::@15: scope:[line] from line::@1 - [59] (byte) plot::x#6 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#6 ] - [60] (byte) plot::y#6 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#6 plot::y#6 ] - [61] (byte~) plot::x#10 ← (byte) plot::x#6 [ line::x1#0 line::y1#0 plot::y#6 plot::x#10 ] - [62] (byte~) plot::y#10 ← (byte) plot::y#6 [ line::x1#0 line::y1#0 plot::x#10 plot::y#10 ] - [63] call plot param-assignment [ line::x1#0 line::y1#0 ] + [77] (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 ] + [78] 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 ] + to:line::@23 +line::@23: scope:[line] from line::@1 + [79] (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 ] + [80] 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 ] to:line::@24 -line::@24: scope:[line] from line::@15 - [64] (byte) plot::x#7 ← (byte) line::x1#0 [ line::y1#0 plot::x#7 ] - [65] (byte) plot::y#7 ← (byte) line::y1#0 [ plot::x#7 plot::y#7 ] - [66] (byte~) plot::x#15 ← (byte) plot::x#7 [ plot::y#7 plot::x#15 ] - [67] (byte~) plot::y#15 ← (byte) plot::y#7 [ plot::x#15 plot::y#15 ] - [68] call plot param-assignment [ ] +line::@24: scope:[line] from line::@23 + [81] (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 ] + [82] (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 ] + [83] (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 ] + [84] (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 ] + [85] (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 ] + [86] (byte~) line_xdyd::yd#8 ← (byte) line_xdyd::yd#1 [ line_xdyd::x#1 line_xdyd::y#1 line_xdyd::x1#1 line_xdyd::xd#1 line_xdyd::yd#8 ] + [87] (byte~) line_xdyd::x#9 ← (byte) line_xdyd::x#1 [ line_xdyd::y#1 line_xdyd::x1#1 line_xdyd::xd#1 line_xdyd::yd#8 line_xdyd::x#9 ] + [88] (byte~) line_xdyd::y#9 ← (byte) line_xdyd::y#1 [ line_xdyd::x1#1 line_xdyd::xd#1 line_xdyd::yd#8 line_xdyd::x#9 line_xdyd::y#9 ] + [89] (byte~) line_xdyd::xd#8 ← (byte) line_xdyd::xd#1 [ line_xdyd::x1#1 line_xdyd::yd#8 line_xdyd::x#9 line_xdyd::y#9 line_xdyd::xd#8 ] + [90] (byte~) line_xdyd::x1#8 ← (byte) line_xdyd::x1#1 [ line_xdyd::yd#8 line_xdyd::x#9 line_xdyd::y#9 line_xdyd::xd#8 line_xdyd::x1#8 ] + [91] call line_xdyd param-assignment [ ] to:line::@return -line::@7: scope:[line] from line::@1 - [69] (byte) plot::x#4 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#4 ] - [70] (byte) plot::y#4 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#4 plot::y#4 ] - [71] (byte~) plot::x#17 ← (byte) plot::x#4 [ line::x1#0 line::y1#0 plot::y#4 plot::x#17 ] - [72] (byte~) plot::y#17 ← (byte) plot::y#4 [ line::x1#0 line::y1#0 plot::x#17 plot::y#17 ] - [73] call plot param-assignment [ line::x1#0 line::y1#0 ] - to:line::@22 -line::@22: scope:[line] from line::@7 - [74] (byte) plot::x#5 ← (byte) line::x1#0 [ line::y1#0 plot::x#5 ] - [75] (byte) plot::y#5 ← (byte) line::y1#0 [ plot::x#5 plot::y#5 ] - [76] (byte~) plot::x#14 ← (byte) plot::x#5 [ plot::y#5 plot::x#14 ] - [77] (byte~) plot::y#14 ← (byte) plot::y#5 [ plot::x#14 plot::y#14 ] - [78] call plot param-assignment [ ] +line::@10: scope:[line] from line::@23 + [92] (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 ] + [93] (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 ] + [94] (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 ] + [95] (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 ] + [96] (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 ] + [97] (byte~) line_ydxd::xd#7 ← (byte) line_ydxd::xd#1 [ line_ydxd::y#1 line_ydxd::x#1 line_ydxd::y1#1 line_ydxd::yd#1 line_ydxd::xd#7 ] + [98] (byte~) line_ydxd::x#8 ← (byte) line_ydxd::x#1 [ line_ydxd::y#1 line_ydxd::y1#1 line_ydxd::yd#1 line_ydxd::xd#7 line_ydxd::x#8 ] + [99] (byte~) line_ydxd::y#8 ← (byte) line_ydxd::y#1 [ line_ydxd::y1#1 line_ydxd::yd#1 line_ydxd::xd#7 line_ydxd::x#8 line_ydxd::y#8 ] + [100] (byte~) line_ydxd::yd#7 ← (byte) line_ydxd::yd#1 [ line_ydxd::y1#1 line_ydxd::xd#7 line_ydxd::x#8 line_ydxd::y#8 line_ydxd::yd#7 ] + [101] (byte~) line_ydxd::y1#7 ← (byte) line_ydxd::y1#1 [ line_ydxd::xd#7 line_ydxd::x#8 line_ydxd::y#8 line_ydxd::yd#7 line_ydxd::y1#7 ] + [102] call line_ydxd param-assignment [ ] to:line::@return -plot: scope:[plot] from line::@15 line::@17 line::@19 line::@2 line::@22 line::@24 line::@3 line::@7 line_xdyi::@1 - [79] (byte) plot::y#9 ← phi( line::@15/(byte~) plot::y#10 line::@17/(byte~) plot::y#11 line::@19/(byte~) plot::y#12 line::@2/(byte~) plot::y#13 line::@22/(byte~) plot::y#14 line::@24/(byte~) plot::y#15 line::@3/(byte~) plot::y#16 line::@7/(byte~) plot::y#17 line_xdyi::@1/(byte~) plot::y#18 ) [ plot::x#9 plot::y#9 ] - [79] (byte) plot::x#9 ← phi( line::@15/(byte~) plot::x#10 line::@17/(byte~) plot::x#11 line::@19/(byte~) plot::x#12 line::@2/(byte~) plot::x#13 line::@22/(byte~) plot::x#14 line::@24/(byte~) plot::x#15 line::@3/(byte~) plot::x#16 line::@7/(byte~) plot::x#17 line_xdyi::@1/(byte~) plot::x#18 ) [ plot::x#9 plot::y#9 ] - [80] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#9 [ plot::x#9 plot::y#9 plot::$0 ] - [81] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#9 plot::y#9 plot::plotter_x#1 ] - [82] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#9 [ plot::x#9 plot::y#9 plot::plotter_x#1 plot::$1 ] - [83] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#9 plot::y#9 plot::plotter_x#2 ] - [84] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#9 [ plot::x#9 plot::y#9 plot::plotter_x#2 plot::$2 ] - [85] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#9 plot::y#9 plot::plotter_x#2 plot::plotter_y#1 ] - [86] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#9 [ plot::x#9 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] - [87] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#9 plot::plotter_x#2 plot::plotter_y#2 ] - [88] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#9 plot::plotter#0 ] - [89] (byte~) plot::$5 ← * (byte*) plot::plotter#0 [ plot::x#9 plot::plotter#0 plot::$5 ] - [90] (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#9 [ plot::plotter#0 plot::$5 plot::$6 ] - [91] (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 [ plot::plotter#0 plot::$7 ] - [92] *((byte*) plot::plotter#0) ← (byte~) plot::$7 [ ] +line::@9: scope:[line] from line::@1 + [103] (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 ] + [104] 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 ] + to:line::@27 +line::@27: scope:[line] from line::@9 + [105] (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 ] + [106] (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 ] + [107] (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 ] + [108] (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 ] + [109] (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 ] + [110] (byte~) line_xdyi::yd#8 ← (byte) line_xdyi::yd#1 [ line_xdyi::x#1 line_xdyi::y#1 line_xdyi::x1#1 line_xdyi::xd#1 line_xdyi::yd#8 ] + [111] (byte~) line_xdyi::x#9 ← (byte) line_xdyi::x#1 [ line_xdyi::y#1 line_xdyi::x1#1 line_xdyi::xd#1 line_xdyi::yd#8 line_xdyi::x#9 ] + [112] (byte~) line_xdyi::y#9 ← (byte) line_xdyi::y#1 [ line_xdyi::x1#1 line_xdyi::xd#1 line_xdyi::yd#8 line_xdyi::x#9 line_xdyi::y#9 ] + [113] (byte~) line_xdyi::xd#8 ← (byte) line_xdyi::xd#1 [ line_xdyi::x1#1 line_xdyi::yd#8 line_xdyi::x#9 line_xdyi::y#9 line_xdyi::xd#8 ] + [114] (byte~) line_xdyi::x1#8 ← (byte) line_xdyi::x1#1 [ line_xdyi::yd#8 line_xdyi::x#9 line_xdyi::y#9 line_xdyi::xd#8 line_xdyi::x1#8 ] + [115] call line_xdyi param-assignment [ ] + to:line::@return +line::@13: scope:[line] from line::@9 + [116] (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 ] + [117] (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 ] + [118] (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 ] + [119] (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 ] + [120] (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 ] + [121] (byte~) line_ydxi::xd#7 ← (byte) line_ydxi::xd#1 [ line_ydxi::y#1 line_ydxi::x#1 line_ydxi::y1#1 line_ydxi::yd#1 line_ydxi::xd#7 ] + [122] (byte~) line_ydxi::x#8 ← (byte) line_ydxi::x#1 [ line_ydxi::y#1 line_ydxi::y1#1 line_ydxi::yd#1 line_ydxi::xd#7 line_ydxi::x#8 ] + [123] (byte~) line_ydxi::y#8 ← (byte) line_ydxi::y#1 [ line_ydxi::y1#1 line_ydxi::yd#1 line_ydxi::xd#7 line_ydxi::x#8 line_ydxi::y#8 ] + [124] (byte~) line_ydxi::yd#7 ← (byte) line_ydxi::yd#1 [ line_ydxi::y1#1 line_ydxi::xd#7 line_ydxi::x#8 line_ydxi::y#8 line_ydxi::yd#7 ] + [125] (byte~) line_ydxi::y1#7 ← (byte) line_ydxi::y1#1 [ line_ydxi::xd#7 line_ydxi::x#8 line_ydxi::y#8 line_ydxi::yd#7 line_ydxi::y1#7 ] + [126] call line_ydxi param-assignment [ ] + to:line::@return +line_ydxi: scope:[line_ydxi] from line::@13 line::@3 + [127] (byte) line_ydxi::y1#6 ← phi( line::@13/(byte~) line_ydxi::y1#7 line::@3/(byte~) line_ydxi::y1#8 ) [ line_ydxi::xd#2 line_ydxi::x#5 line_ydxi::y#6 line_ydxi::yd#5 line_ydxi::y1#6 ] + [127] (byte) line_ydxi::yd#5 ← phi( line::@13/(byte~) line_ydxi::yd#7 line::@3/(byte~) line_ydxi::yd#8 ) [ line_ydxi::xd#2 line_ydxi::x#5 line_ydxi::y#6 line_ydxi::yd#5 line_ydxi::y1#6 ] + [127] (byte) line_ydxi::y#6 ← phi( line::@13/(byte~) line_ydxi::y#8 line::@3/(byte~) line_ydxi::y#9 ) [ line_ydxi::xd#2 line_ydxi::x#5 line_ydxi::y#6 line_ydxi::yd#5 line_ydxi::y1#6 ] + [127] (byte) line_ydxi::x#5 ← phi( line::@13/(byte~) line_ydxi::x#8 line::@3/(byte~) line_ydxi::x#9 ) [ line_ydxi::xd#2 line_ydxi::x#5 line_ydxi::y#6 line_ydxi::yd#5 line_ydxi::y1#6 ] + [127] (byte) line_ydxi::xd#2 ← phi( line::@13/(byte~) line_ydxi::xd#7 line::@3/(byte~) line_ydxi::xd#8 ) [ line_ydxi::xd#2 line_ydxi::x#5 line_ydxi::y#6 line_ydxi::yd#5 line_ydxi::y1#6 ] + [128] (byte) line_ydxi::e#0 ← (byte) line_ydxi::xd#2 >> (byte) 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 ] + [129] (byte~) line_ydxi::x#10 ← (byte) line_ydxi::x#5 [ line_ydxi::xd#2 line_ydxi::y#6 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::e#0 line_ydxi::x#10 ] + [130] (byte~) line_ydxi::y#10 ← (byte) line_ydxi::y#6 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::e#0 line_ydxi::x#10 line_ydxi::y#10 ] + [131] (byte~) line_ydxi::e#7 ← (byte) line_ydxi::e#0 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#10 line_ydxi::y#10 line_ydxi::e#7 ] + to:line_ydxi::@1 +line_ydxi::@1: scope:[line_ydxi] from line_ydxi line_ydxi::@6 + [132] (byte) line_ydxi::e#3 ← phi( line_ydxi/(byte~) line_ydxi::e#7 line_ydxi::@6/(byte~) line_ydxi::e#8 ) [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] + [132] (byte) line_ydxi::y#3 ← phi( line_ydxi/(byte~) line_ydxi::y#10 line_ydxi::@6/(byte~) line_ydxi::y#11 ) [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] + [132] (byte) line_ydxi::x#3 ← phi( line_ydxi/(byte~) line_ydxi::x#10 line_ydxi::@6/(byte~) line_ydxi::x#11 ) [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] + [133] (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 ] + [134] (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 ] + [135] (byte~) plot::x#8 ← (byte) plot::x#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::y#2 plot::x#8 ] + [136] (byte~) plot::y#8 ← (byte) plot::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 plot::x#8 plot::y#8 ] + [137] 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 ] + to:line_ydxi::@5 +line_ydxi::@5: scope:[line_ydxi] from line_ydxi::@1 + [138] (byte) line_ydxi::y#2 ← (byte) line_ydxi::y#3 + (byte) 1 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::e#3 line_ydxi::y#2 ] + [139] (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 ] + [140] if((byte) line_ydxi::yd#5>=(byte) line_ydxi::e#1) goto line_ydxi::@7 [ 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 + [141] (byte) line_ydxi::x#2 ← (byte) line_ydxi::x#3 + (byte) 1 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::e#1 line_ydxi::x#2 ] + [142] (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 ] + [143] (byte~) line_ydxi::x#12 ← (byte) line_ydxi::x#2 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::e#2 line_ydxi::x#12 ] + [144] (byte~) line_ydxi::e#9 ← (byte) line_ydxi::e#2 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::x#12 line_ydxi::e#9 ] + to:line_ydxi::@2 +line_ydxi::@2: scope:[line_ydxi] from line_ydxi::@3 line_ydxi::@7 + [145] (byte) line_ydxi::e#6 ← phi( line_ydxi::@3/(byte~) line_ydxi::e#9 line_ydxi::@7/(byte~) line_ydxi::e#10 ) [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::x#6 line_ydxi::e#6 ] + [145] (byte) line_ydxi::x#6 ← phi( line_ydxi::@3/(byte~) line_ydxi::x#12 line_ydxi::@7/(byte~) line_ydxi::x#13 ) [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::x#6 line_ydxi::e#6 ] + [146] (byte~) line_ydxi::$8 ← (byte) line_ydxi::y1#6 + (byte) 1 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::x#6 line_ydxi::e#6 line_ydxi::$8 ] + [147] if((byte) line_ydxi::y#2<(byte~) line_ydxi::$8) goto line_ydxi::@6 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::x#6 line_ydxi::e#6 ] + to:line_ydxi::@return +line_ydxi::@return: scope:[line_ydxi] from line_ydxi::@2 + [148] return [ ] + to:@return +line_ydxi::@6: scope:[line_ydxi] from line_ydxi::@2 + [149] (byte~) line_ydxi::x#11 ← (byte) line_ydxi::x#6 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#11 line_ydxi::y#2 line_ydxi::e#6 ] + [150] (byte~) line_ydxi::y#11 ← (byte) line_ydxi::y#2 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#11 line_ydxi::y#11 line_ydxi::e#6 ] + [151] (byte~) line_ydxi::e#8 ← (byte) line_ydxi::e#6 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#11 line_ydxi::y#11 line_ydxi::e#8 ] + to:line_ydxi::@1 +line_ydxi::@7: scope:[line_ydxi] from line_ydxi::@5 + [152] (byte~) line_ydxi::x#13 ← (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#13 ] + [153] (byte~) line_ydxi::e#10 ← (byte) line_ydxi::e#1 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::x#13 line_ydxi::e#10 ] + to:line_ydxi::@2 +plot: scope:[plot] from line_xdyd::@1 line_xdyi::@1 line_ydxd::@1 line_ydxi::@1 + [154] (byte) plot::y#4 ← phi( line_xdyd::@1/(byte~) plot::y#5 line_xdyi::@1/(byte~) plot::y#6 line_ydxd::@1/(byte~) plot::y#7 line_ydxi::@1/(byte~) plot::y#8 ) [ plot::x#4 plot::y#4 ] + [154] (byte) plot::x#4 ← phi( line_xdyd::@1/(byte~) plot::x#5 line_xdyi::@1/(byte~) plot::x#6 line_ydxd::@1/(byte~) plot::x#7 line_ydxi::@1/(byte~) plot::x#8 ) [ plot::x#4 plot::y#4 ] + [155] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#4 [ plot::x#4 plot::y#4 plot::$0 ] + [156] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#4 plot::y#4 plot::plotter_x#1 ] + [157] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#4 [ plot::x#4 plot::y#4 plot::plotter_x#1 plot::$1 ] + [158] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#4 plot::y#4 plot::plotter_x#2 ] + [159] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#4 [ plot::x#4 plot::y#4 plot::plotter_x#2 plot::$2 ] + [160] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#4 plot::y#4 plot::plotter_x#2 plot::plotter_y#1 ] + [161] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#4 [ plot::x#4 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] + [162] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#4 plot::plotter_x#2 plot::plotter_y#2 ] + [163] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#4 plot::plotter#0 ] + [164] (byte~) plot::$5 ← * (byte*) plot::plotter#0 [ plot::x#4 plot::plotter#0 plot::$5 ] + [165] (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#4 [ plot::plotter#0 plot::$5 plot::$6 ] + [166] (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 [ plot::plotter#0 plot::$7 ] + [167] *((byte*) plot::plotter#0) ← (byte~) plot::$7 [ ] to:plot::@return plot::@return: scope:[plot] from plot - [93] return [ ] + [168] return [ ] to:@return -line_xdyi: scope:[line_xdyi] from line::@11 - [94] (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#0 >> (byte) 1 [ line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::e#0 ] - [95] (byte~) line_xdyi::x#7 ← (byte) line_xdyi::x#0 [ line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::e#0 line_xdyi::x#7 ] - [96] (byte~) line_xdyi::y#7 ← (byte) line_xdyi::y#0 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::e#0 line_xdyi::x#7 line_xdyi::y#7 ] - [97] (byte~) line_xdyi::e#7 ← (byte) line_xdyi::e#0 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#7 line_xdyi::y#7 line_xdyi::e#7 ] +line_xdyi: scope:[line_xdyi] from line::@17 line::@27 + [169] (byte) line_xdyi::x1#6 ← phi( line::@17/(byte~) line_xdyi::x1#7 line::@27/(byte~) line_xdyi::x1#8 ) [ line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] + [169] (byte) line_xdyi::xd#5 ← phi( line::@17/(byte~) line_xdyi::xd#7 line::@27/(byte~) line_xdyi::xd#8 ) [ line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] + [169] (byte) line_xdyi::y#5 ← phi( line::@17/(byte~) line_xdyi::y#8 line::@27/(byte~) line_xdyi::y#9 ) [ line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] + [169] (byte) line_xdyi::x#6 ← phi( line::@17/(byte~) line_xdyi::x#8 line::@27/(byte~) line_xdyi::x#9 ) [ line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] + [169] (byte) line_xdyi::yd#2 ← phi( line::@17/(byte~) line_xdyi::yd#7 line::@27/(byte~) line_xdyi::yd#8 ) [ line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] + [170] (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#2 >> (byte) 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 ] + [171] (byte~) line_xdyi::x#10 ← (byte) line_xdyi::x#6 [ line_xdyi::yd#2 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::e#0 line_xdyi::x#10 ] + [172] (byte~) line_xdyi::y#10 ← (byte) line_xdyi::y#5 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::e#0 line_xdyi::x#10 line_xdyi::y#10 ] + [173] (byte~) line_xdyi::e#7 ← (byte) line_xdyi::e#0 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#10 line_xdyi::y#10 line_xdyi::e#7 ] to:line_xdyi::@1 line_xdyi::@1: scope:[line_xdyi] from line_xdyi line_xdyi::@6 - [98] (byte) line_xdyi::e#3 ← phi( line_xdyi/(byte~) line_xdyi::e#7 line_xdyi::@6/(byte~) line_xdyi::e#8 ) [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] - [98] (byte) line_xdyi::y#2 ← phi( line_xdyi/(byte~) line_xdyi::y#7 line_xdyi::@6/(byte~) line_xdyi::y#8 ) [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] - [98] (byte) line_xdyi::x#2 ← phi( line_xdyi/(byte~) line_xdyi::x#7 line_xdyi::@6/(byte~) line_xdyi::x#8 ) [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] - [99] (byte) plot::x#8 ← (byte) line_xdyi::x#2 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 plot::x#8 ] - [100] (byte) plot::y#8 ← (byte) line_xdyi::y#2 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 plot::x#8 plot::y#8 ] - [101] (byte~) plot::x#18 ← (byte) plot::x#8 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 plot::x#18 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 plot::y#8 ] - [102] (byte~) plot::y#18 ← (byte) plot::y#8 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 plot::x#18 plot::y#18 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] - [103] call plot param-assignment [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] + [174] (byte) line_xdyi::e#3 ← phi( line_xdyi/(byte~) line_xdyi::e#7 line_xdyi::@6/(byte~) line_xdyi::e#8 ) [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] + [174] (byte) line_xdyi::y#3 ← phi( line_xdyi/(byte~) line_xdyi::y#10 line_xdyi::@6/(byte~) line_xdyi::y#11 ) [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] + [174] (byte) line_xdyi::x#3 ← phi( line_xdyi/(byte~) line_xdyi::x#10 line_xdyi::@6/(byte~) line_xdyi::x#11 ) [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] + [175] (byte) plot::x#0 ← (byte) line_xdyi::x#3 [ 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#0 ] + [176] (byte) plot::y#0 ← (byte) line_xdyi::y#3 [ 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#0 plot::y#0 ] + [177] (byte~) plot::x#6 ← (byte) plot::x#0 [ plot::x#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 plot::y#0 ] + [178] (byte~) plot::y#6 ← (byte) plot::y#0 [ plot::x#6 plot::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 ] + [179] 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 ] to:line_xdyi::@5 line_xdyi::@5: scope:[line_xdyi] from line_xdyi::@1 - [104] (byte) line_xdyi::x#1 ← (byte) line_xdyi::x#2 + (byte) 1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::y#2 line_xdyi::e#3 line_xdyi::x#1 ] - [105] (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#0 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::y#2 line_xdyi::x#1 line_xdyi::e#1 ] - [106] if((byte) line_xdyi::xd#0>=(byte) line_xdyi::e#1) goto line_xdyi::@7 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::y#2 line_xdyi::x#1 line_xdyi::e#1 ] + [180] (byte) line_xdyi::x#2 ← (byte) line_xdyi::x#3 + (byte) 1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::e#3 line_xdyi::x#2 ] + [181] (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 ] + [182] if((byte) line_xdyi::xd#5>=(byte) line_xdyi::e#1) goto line_xdyi::@7 [ 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 - [107] (byte) line_xdyi::y#1 ← (byte) line_xdyi::y#2 + (byte) 1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::e#1 line_xdyi::y#1 ] - [108] (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#0 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#1 line_xdyi::e#2 ] - [109] (byte~) line_xdyi::y#9 ← (byte) line_xdyi::y#1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::e#2 line_xdyi::y#9 ] - [110] (byte~) line_xdyi::e#9 ← (byte) line_xdyi::e#2 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#9 line_xdyi::e#9 ] + [183] (byte) line_xdyi::y#2 ← (byte) line_xdyi::y#3 + (byte) 1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::e#1 line_xdyi::y#2 ] + [184] (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 ] + [185] (byte~) line_xdyi::y#12 ← (byte) line_xdyi::y#2 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::e#2 line_xdyi::y#12 ] + [186] (byte~) line_xdyi::e#9 ← (byte) line_xdyi::e#2 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#12 line_xdyi::e#9 ] to:line_xdyi::@2 line_xdyi::@2: scope:[line_xdyi] from line_xdyi::@3 line_xdyi::@7 - [111] (byte) line_xdyi::e#6 ← phi( line_xdyi::@3/(byte~) line_xdyi::e#9 line_xdyi::@7/(byte~) line_xdyi::e#10 ) [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#5 line_xdyi::e#6 ] - [111] (byte) line_xdyi::y#5 ← phi( line_xdyi::@3/(byte~) line_xdyi::y#9 line_xdyi::@7/(byte~) line_xdyi::y#10 ) [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#5 line_xdyi::e#6 ] - [112] (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#0 + (byte) 1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#5 line_xdyi::e#6 line_xdyi::$8 ] - [113] if((byte) line_xdyi::x#1<(byte~) line_xdyi::$8) goto line_xdyi::@6 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#5 line_xdyi::e#6 ] + [187] (byte) line_xdyi::e#6 ← phi( line_xdyi::@3/(byte~) line_xdyi::e#9 line_xdyi::@7/(byte~) line_xdyi::e#10 ) [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] + [187] (byte) line_xdyi::y#6 ← phi( line_xdyi::@3/(byte~) line_xdyi::y#12 line_xdyi::@7/(byte~) line_xdyi::y#13 ) [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] + [188] (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#6 + (byte) 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::$8 ] + [189] if((byte) line_xdyi::x#2<(byte~) line_xdyi::$8) goto line_xdyi::@6 [ 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 - [114] return [ ] + [190] return [ ] to:@return line_xdyi::@6: scope:[line_xdyi] from line_xdyi::@2 - [115] (byte~) line_xdyi::x#8 ← (byte) line_xdyi::x#1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#8 line_xdyi::y#5 line_xdyi::e#6 ] - [116] (byte~) line_xdyi::y#8 ← (byte) line_xdyi::y#5 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#8 line_xdyi::y#8 line_xdyi::e#6 ] - [117] (byte~) line_xdyi::e#8 ← (byte) line_xdyi::e#6 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#8 line_xdyi::y#8 line_xdyi::e#8 ] + [191] (byte~) line_xdyi::x#11 ← (byte) line_xdyi::x#2 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#11 line_xdyi::y#6 line_xdyi::e#6 ] + [192] (byte~) line_xdyi::y#11 ← (byte) line_xdyi::y#6 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#11 line_xdyi::y#11 line_xdyi::e#6 ] + [193] (byte~) line_xdyi::e#8 ← (byte) line_xdyi::e#6 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#11 line_xdyi::y#11 line_xdyi::e#8 ] to:line_xdyi::@1 line_xdyi::@7: scope:[line_xdyi] from line_xdyi::@5 - [118] (byte~) line_xdyi::y#10 ← (byte) line_xdyi::y#2 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::e#1 line_xdyi::y#10 ] - [119] (byte~) line_xdyi::e#10 ← (byte) line_xdyi::e#1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#10 line_xdyi::e#10 ] + [194] (byte~) line_xdyi::y#13 ← (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#13 ] + [195] (byte~) line_xdyi::e#10 ← (byte) line_xdyi::e#1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#13 line_xdyi::e#10 ] to:line_xdyi::@2 +line_ydxd: scope:[line_ydxd] from line::@10 line::@6 + [196] (byte) line_ydxd::y1#6 ← phi( line::@10/(byte~) line_ydxd::y1#7 line::@6/(byte~) line_ydxd::y1#8 ) [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] + [196] (byte) line_ydxd::yd#5 ← phi( line::@10/(byte~) line_ydxd::yd#7 line::@6/(byte~) line_ydxd::yd#8 ) [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] + [196] (byte) line_ydxd::y#6 ← phi( line::@10/(byte~) line_ydxd::y#8 line::@6/(byte~) line_ydxd::y#9 ) [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] + [196] (byte) line_ydxd::x#5 ← phi( line::@10/(byte~) line_ydxd::x#8 line::@6/(byte~) line_ydxd::x#9 ) [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] + [196] (byte) line_ydxd::xd#2 ← phi( line::@10/(byte~) line_ydxd::xd#7 line::@6/(byte~) line_ydxd::xd#8 ) [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] + [197] (byte) line_ydxd::e#0 ← (byte) line_ydxd::xd#2 >> (byte) 1 [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] + [198] (byte~) line_ydxd::x#10 ← (byte) line_ydxd::x#5 [ line_ydxd::xd#2 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 line_ydxd::x#10 ] + [199] (byte~) line_ydxd::y#10 ← (byte) line_ydxd::y#6 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 line_ydxd::x#10 line_ydxd::y#10 ] + [200] (byte~) line_ydxd::e#7 ← (byte) line_ydxd::e#0 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#10 line_ydxd::y#10 line_ydxd::e#7 ] + to:line_ydxd::@1 +line_ydxd::@1: scope:[line_ydxd] from line_ydxd line_ydxd::@6 + [201] (byte) line_ydxd::e#3 ← phi( line_ydxd/(byte~) line_ydxd::e#7 line_ydxd::@6/(byte~) line_ydxd::e#8 ) [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] + [201] (byte) line_ydxd::y#3 ← phi( line_ydxd/(byte~) line_ydxd::y#10 line_ydxd::@6/(byte~) line_ydxd::y#11 ) [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] + [201] (byte) line_ydxd::x#3 ← phi( line_ydxd/(byte~) line_ydxd::x#10 line_ydxd::@6/(byte~) line_ydxd::x#11 ) [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] + [202] (byte) plot::x#3 ← (byte) line_ydxd::x#3 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#3 ] + [203] (byte) plot::y#3 ← (byte) line_ydxd::y#3 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#3 plot::y#3 ] + [204] (byte~) plot::x#7 ← (byte) plot::x#3 [ plot::x#7 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::y#3 ] + [205] (byte~) plot::y#7 ← (byte) plot::y#3 [ plot::x#7 plot::y#7 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] + [206] call plot param-assignment [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] + to:line_ydxd::@5 +line_ydxd::@5: scope:[line_ydxd] from line_ydxd::@1 + [207] (byte) line_ydxd::y#2 ← (byte) line_ydxd::y#3 + (byte) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::e#3 line_ydxd::y#2 ] + [208] (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#2 line_ydxd::e#1 ] + [209] if((byte) line_ydxd::yd#5>=(byte) line_ydxd::e#1) goto line_ydxd::@7 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#1 ] + to:line_ydxd::@3 +line_ydxd::@3: scope:[line_ydxd] from line_ydxd::@5 + [210] (byte) line_ydxd::x#2 ← (byte) line_ydxd::x#3 - (byte) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#2 line_ydxd::e#1 line_ydxd::x#2 ] + [211] (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#2 line_ydxd::x#2 line_ydxd::e#2 ] + [212] (byte~) line_ydxd::x#12 ← (byte) line_ydxd::x#2 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#2 line_ydxd::e#2 line_ydxd::x#12 ] + [213] (byte~) line_ydxd::e#9 ← (byte) line_ydxd::e#2 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#2 line_ydxd::x#12 line_ydxd::e#9 ] + to:line_ydxd::@2 +line_ydxd::@2: scope:[line_ydxd] from line_ydxd::@3 line_ydxd::@7 + [214] (byte) line_ydxd::e#6 ← phi( line_ydxd::@3/(byte~) line_ydxd::e#9 line_ydxd::@7/(byte~) line_ydxd::e#10 ) [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#2 line_ydxd::x#6 line_ydxd::e#6 ] + [214] (byte) line_ydxd::x#6 ← phi( line_ydxd::@3/(byte~) line_ydxd::x#12 line_ydxd::@7/(byte~) line_ydxd::x#13 ) [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#2 line_ydxd::x#6 line_ydxd::e#6 ] + [215] (byte~) line_ydxd::$8 ← (byte) line_ydxd::y1#6 + (byte) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#2 line_ydxd::x#6 line_ydxd::e#6 line_ydxd::$8 ] + [216] if((byte) line_ydxd::y#2<(byte~) line_ydxd::$8) goto line_ydxd::@6 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#2 line_ydxd::x#6 line_ydxd::e#6 ] + to:line_ydxd::@return +line_ydxd::@return: scope:[line_ydxd] from line_ydxd::@2 + [217] return [ ] + to:@return +line_ydxd::@6: scope:[line_ydxd] from line_ydxd::@2 + [218] (byte~) line_ydxd::x#11 ← (byte) line_ydxd::x#6 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#11 line_ydxd::y#2 line_ydxd::e#6 ] + [219] (byte~) line_ydxd::y#11 ← (byte) line_ydxd::y#2 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#11 line_ydxd::y#11 line_ydxd::e#6 ] + [220] (byte~) line_ydxd::e#8 ← (byte) line_ydxd::e#6 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#11 line_ydxd::y#11 line_ydxd::e#8 ] + to:line_ydxd::@1 +line_ydxd::@7: scope:[line_ydxd] from line_ydxd::@5 + [221] (byte~) line_ydxd::x#13 ← (byte) line_ydxd::x#3 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#2 line_ydxd::e#1 line_ydxd::x#13 ] + [222] (byte~) line_ydxd::e#10 ← (byte) line_ydxd::e#1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#2 line_ydxd::x#13 line_ydxd::e#10 ] + to:line_ydxd::@2 +line_xdyd: scope:[line_xdyd] from line::@20 line::@24 + [223] (byte) line_xdyd::x1#6 ← phi( line::@20/(byte~) line_xdyd::x1#7 line::@24/(byte~) line_xdyd::x1#8 ) [ line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] + [223] (byte) line_xdyd::xd#5 ← phi( line::@20/(byte~) line_xdyd::xd#7 line::@24/(byte~) line_xdyd::xd#8 ) [ line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] + [223] (byte) line_xdyd::y#5 ← phi( line::@20/(byte~) line_xdyd::y#8 line::@24/(byte~) line_xdyd::y#9 ) [ line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] + [223] (byte) line_xdyd::x#6 ← phi( line::@20/(byte~) line_xdyd::x#8 line::@24/(byte~) line_xdyd::x#9 ) [ line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] + [223] (byte) line_xdyd::yd#2 ← phi( line::@20/(byte~) line_xdyd::yd#7 line::@24/(byte~) line_xdyd::yd#8 ) [ line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] + [224] (byte) line_xdyd::e#0 ← (byte) line_xdyd::yd#2 >> (byte) 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 ] + [225] (byte~) line_xdyd::x#10 ← (byte) line_xdyd::x#6 [ line_xdyd::yd#2 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::e#0 line_xdyd::x#10 ] + [226] (byte~) line_xdyd::y#10 ← (byte) line_xdyd::y#5 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::e#0 line_xdyd::x#10 line_xdyd::y#10 ] + [227] (byte~) line_xdyd::e#7 ← (byte) line_xdyd::e#0 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#10 line_xdyd::y#10 line_xdyd::e#7 ] + to:line_xdyd::@1 +line_xdyd::@1: scope:[line_xdyd] from line_xdyd line_xdyd::@6 + [228] (byte) line_xdyd::e#3 ← phi( line_xdyd/(byte~) line_xdyd::e#7 line_xdyd::@6/(byte~) line_xdyd::e#8 ) [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] + [228] (byte) line_xdyd::y#3 ← phi( line_xdyd/(byte~) line_xdyd::y#10 line_xdyd::@6/(byte~) line_xdyd::y#11 ) [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] + [228] (byte) line_xdyd::x#3 ← phi( line_xdyd/(byte~) line_xdyd::x#10 line_xdyd::@6/(byte~) line_xdyd::x#11 ) [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] + [229] (byte) plot::x#1 ← (byte) line_xdyd::x#3 [ 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#1 ] + [230] (byte) plot::y#1 ← (byte) line_xdyd::y#3 [ 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#1 plot::y#1 ] + [231] (byte~) plot::x#5 ← (byte) plot::x#1 [ plot::x#5 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::y#1 ] + [232] (byte~) plot::y#5 ← (byte) plot::y#1 [ plot::x#5 plot::y#5 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] + [233] 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 ] + to:line_xdyd::@5 +line_xdyd::@5: scope:[line_xdyd] from line_xdyd::@1 + [234] (byte) line_xdyd::x#2 ← (byte) line_xdyd::x#3 + (byte) 1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::e#3 line_xdyd::x#2 ] + [235] (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 ] + [236] if((byte) line_xdyd::xd#5>=(byte) line_xdyd::e#1) goto line_xdyd::@7 [ 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 + [237] (byte) line_xdyd::y#2 ← (byte) line_xdyd::y#3 - (byte) 1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::e#1 line_xdyd::y#2 ] + [238] (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 ] + [239] (byte~) line_xdyd::y#12 ← (byte) line_xdyd::y#2 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::e#2 line_xdyd::y#12 ] + [240] (byte~) line_xdyd::e#9 ← (byte) line_xdyd::e#2 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#12 line_xdyd::e#9 ] + to:line_xdyd::@2 +line_xdyd::@2: scope:[line_xdyd] from line_xdyd::@3 line_xdyd::@7 + [241] (byte) line_xdyd::e#6 ← phi( line_xdyd::@3/(byte~) line_xdyd::e#9 line_xdyd::@7/(byte~) line_xdyd::e#10 ) [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] + [241] (byte) line_xdyd::y#6 ← phi( line_xdyd::@3/(byte~) line_xdyd::y#12 line_xdyd::@7/(byte~) line_xdyd::y#13 ) [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] + [242] (byte~) line_xdyd::$8 ← (byte) line_xdyd::x1#6 + (byte) 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::$8 ] + [243] if((byte) line_xdyd::x#2<(byte~) line_xdyd::$8) goto line_xdyd::@6 [ 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 + [244] return [ ] + to:@return +line_xdyd::@6: scope:[line_xdyd] from line_xdyd::@2 + [245] (byte~) line_xdyd::x#11 ← (byte) line_xdyd::x#2 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#11 line_xdyd::y#6 line_xdyd::e#6 ] + [246] (byte~) line_xdyd::y#11 ← (byte) line_xdyd::y#6 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#11 line_xdyd::y#11 line_xdyd::e#6 ] + [247] (byte~) line_xdyd::e#8 ← (byte) line_xdyd::e#6 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#11 line_xdyd::y#11 line_xdyd::e#8 ] + to:line_xdyd::@1 +line_xdyd::@7: scope:[line_xdyd] from line_xdyd::@5 + [248] (byte~) line_xdyd::y#13 ← (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#13 ] + [249] (byte~) line_xdyd::e#10 ← (byte) line_xdyd::e#1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#13 line_xdyd::e#10 ] + to:line_xdyd::@2 init_plot_tables: scope:[init_plot_tables] from main::@3 - [120] phi() [ ] + [250] phi() [ ] to:init_plot_tables::@1 init_plot_tables::@1: scope:[init_plot_tables] from init_plot_tables init_plot_tables::@9 - [121] (byte) init_plot_tables::bit#3 ← phi( init_plot_tables/(byte) 128 init_plot_tables::@9/(byte~) init_plot_tables::bit#5 ) [ init_plot_tables::x#2 init_plot_tables::bit#3 ] - [121] (byte) init_plot_tables::x#2 ← phi( init_plot_tables/(byte) 0 init_plot_tables::@9/(byte~) init_plot_tables::x#5 ) [ init_plot_tables::x#2 init_plot_tables::bit#3 ] - [122] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bit#3 init_plot_tables::$0 ] - [123] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] - [124] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] - [125] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bit#3 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] - [126] (byte) init_plot_tables::bit#1 ← (byte) init_plot_tables::bit#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bit#1 ] - [127] if((byte) init_plot_tables::bit#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 init_plot_tables::bit#1 ] + [251] (byte) init_plot_tables::bit#3 ← phi( init_plot_tables/(byte) 128 init_plot_tables::@9/(byte~) init_plot_tables::bit#5 ) [ init_plot_tables::x#2 init_plot_tables::bit#3 ] + [251] (byte) init_plot_tables::x#2 ← phi( init_plot_tables/(byte) 0 init_plot_tables::@9/(byte~) init_plot_tables::x#5 ) [ init_plot_tables::x#2 init_plot_tables::bit#3 ] + [252] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bit#3 init_plot_tables::$0 ] + [253] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] + [254] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] + [255] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bit#3 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] + [256] (byte) init_plot_tables::bit#1 ← (byte) init_plot_tables::bit#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bit#1 ] + [257] if((byte) init_plot_tables::bit#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 init_plot_tables::bit#1 ] to:init_plot_tables::@5 init_plot_tables::@5: scope:[init_plot_tables] from init_plot_tables::@1 to:init_plot_tables::@2 init_plot_tables::@2: scope:[init_plot_tables] from init_plot_tables::@10 init_plot_tables::@5 - [128] (byte) init_plot_tables::bit#4 ← phi( init_plot_tables::@10/(byte~) init_plot_tables::bit#6 init_plot_tables::@5/(byte) 128 ) [ init_plot_tables::x#2 init_plot_tables::bit#4 ] - [129] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::bit#4 init_plot_tables::x#1 ] - [130] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@9 [ init_plot_tables::bit#4 init_plot_tables::x#1 ] + [258] (byte) init_plot_tables::bit#4 ← phi( init_plot_tables::@10/(byte~) init_plot_tables::bit#6 init_plot_tables::@5/(byte) 128 ) [ init_plot_tables::x#2 init_plot_tables::bit#4 ] + [259] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::bit#4 init_plot_tables::x#1 ] + [260] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@9 [ init_plot_tables::bit#4 init_plot_tables::x#1 ] to:init_plot_tables::@3 init_plot_tables::@3: scope:[init_plot_tables] from init_plot_tables::@11 init_plot_tables::@2 - [131] (byte*) init_plot_tables::yoffs#2 ← phi( init_plot_tables::@11/(byte*~) init_plot_tables::yoffs#5 init_plot_tables::@2/(byte) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] - [131] (byte) init_plot_tables::y#2 ← phi( init_plot_tables::@11/(byte~) init_plot_tables::y#5 init_plot_tables::@2/(byte) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] - [132] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] - [133] (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 ] - [134] (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 ] - [135] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] - [136] (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 ] - [137] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] - [138] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] - [139] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@12 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] + [261] (byte*) init_plot_tables::yoffs#2 ← phi( init_plot_tables::@11/(byte*~) init_plot_tables::yoffs#5 init_plot_tables::@2/(byte) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] + [261] (byte) init_plot_tables::y#2 ← phi( init_plot_tables::@11/(byte~) init_plot_tables::y#5 init_plot_tables::@2/(byte) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] + [262] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] + [263] (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 ] + [264] (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 ] + [265] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] + [266] (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 ] + [267] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] + [268] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] + [269] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@12 [ 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 - [140] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] - [141] (byte*~) init_plot_tables::yoffs#7 ← (byte*) init_plot_tables::yoffs#1 [ init_plot_tables::y#2 init_plot_tables::yoffs#7 ] + [270] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] + [271] (byte*~) init_plot_tables::yoffs#7 ← (byte*) init_plot_tables::yoffs#1 [ init_plot_tables::y#2 init_plot_tables::yoffs#7 ] to:init_plot_tables::@4 init_plot_tables::@4: scope:[init_plot_tables] from init_plot_tables::@12 init_plot_tables::@7 - [142] (byte*) init_plot_tables::yoffs#4 ← phi( init_plot_tables::@12/(byte*~) init_plot_tables::yoffs#6 init_plot_tables::@7/(byte*~) init_plot_tables::yoffs#7 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#4 ] - [143] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::yoffs#4 init_plot_tables::y#1 ] - [144] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@11 [ init_plot_tables::yoffs#4 init_plot_tables::y#1 ] + [272] (byte*) init_plot_tables::yoffs#4 ← phi( init_plot_tables::@12/(byte*~) init_plot_tables::yoffs#6 init_plot_tables::@7/(byte*~) init_plot_tables::yoffs#7 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#4 ] + [273] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::yoffs#4 init_plot_tables::y#1 ] + [274] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@11 [ init_plot_tables::yoffs#4 init_plot_tables::y#1 ] to:init_plot_tables::@return init_plot_tables::@return: scope:[init_plot_tables] from init_plot_tables::@4 - [145] return [ ] + [275] return [ ] to:@return init_plot_tables::@11: scope:[init_plot_tables] from init_plot_tables::@4 - [146] (byte~) init_plot_tables::y#5 ← (byte) init_plot_tables::y#1 [ init_plot_tables::y#5 init_plot_tables::yoffs#4 ] - [147] (byte*~) init_plot_tables::yoffs#5 ← (byte*) init_plot_tables::yoffs#4 [ init_plot_tables::y#5 init_plot_tables::yoffs#5 ] + [276] (byte~) init_plot_tables::y#5 ← (byte) init_plot_tables::y#1 [ init_plot_tables::y#5 init_plot_tables::yoffs#4 ] + [277] (byte*~) init_plot_tables::yoffs#5 ← (byte*) init_plot_tables::yoffs#4 [ init_plot_tables::y#5 init_plot_tables::yoffs#5 ] to:init_plot_tables::@3 init_plot_tables::@12: scope:[init_plot_tables] from init_plot_tables::@3 - [148] (byte*~) init_plot_tables::yoffs#6 ← (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#6 ] + [278] (byte*~) init_plot_tables::yoffs#6 ← (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#6 ] to:init_plot_tables::@4 init_plot_tables::@9: scope:[init_plot_tables] from init_plot_tables::@2 - [149] (byte~) init_plot_tables::x#5 ← (byte) init_plot_tables::x#1 [ init_plot_tables::x#5 init_plot_tables::bit#4 ] - [150] (byte~) init_plot_tables::bit#5 ← (byte) init_plot_tables::bit#4 [ init_plot_tables::x#5 init_plot_tables::bit#5 ] + [279] (byte~) init_plot_tables::x#5 ← (byte) init_plot_tables::x#1 [ init_plot_tables::x#5 init_plot_tables::bit#4 ] + [280] (byte~) init_plot_tables::bit#5 ← (byte) init_plot_tables::bit#4 [ init_plot_tables::x#5 init_plot_tables::bit#5 ] to:init_plot_tables::@1 init_plot_tables::@10: scope:[init_plot_tables] from init_plot_tables::@1 - [151] (byte~) init_plot_tables::bit#6 ← (byte) init_plot_tables::bit#1 [ init_plot_tables::x#2 init_plot_tables::bit#6 ] + [281] (byte~) init_plot_tables::bit#6 ← (byte) init_plot_tables::bit#1 [ init_plot_tables::x#2 init_plot_tables::bit#6 ] to:init_plot_tables::@2 init_screen: scope:[init_screen] from main - [152] phi() [ ] + [282] phi() [ ] to:init_screen::@1 init_screen::@1: scope:[init_screen] from init_screen init_screen::@5 - [153] (byte*) init_screen::b#2 ← phi( init_screen/(const byte*) BITMAP#0 init_screen::@5/(byte*~) init_screen::b#3 ) [ init_screen::b#2 ] - [154] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] - [155] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] - [156] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@5 [ init_screen::b#1 ] + [283] (byte*) init_screen::b#2 ← phi( init_screen/(const byte*) BITMAP#0 init_screen::@5/(byte*~) init_screen::b#3 ) [ init_screen::b#2 ] + [284] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] + [285] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] + [286] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@5 [ init_screen::b#1 ] to:init_screen::@2 init_screen::@2: scope:[init_screen] from init_screen::@1 init_screen::@6 - [157] (byte*) init_screen::c#2 ← phi( init_screen::@6/(byte*~) init_screen::c#3 init_screen::@1/(const byte*) SCREEN#0 ) [ init_screen::c#2 ] - [158] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] - [159] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] - [160] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@6 [ init_screen::c#1 ] + [287] (byte*) init_screen::c#2 ← phi( init_screen::@6/(byte*~) init_screen::c#3 init_screen::@1/(const byte*) SCREEN#0 ) [ init_screen::c#2 ] + [288] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] + [289] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] + [290] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@6 [ init_screen::c#1 ] to:init_screen::@return init_screen::@return: scope:[init_screen] from init_screen::@2 - [161] return [ ] + [291] return [ ] to:@return init_screen::@6: scope:[init_screen] from init_screen::@2 - [162] (byte*~) init_screen::c#3 ← (byte*) init_screen::c#1 [ init_screen::c#3 ] + [292] (byte*~) init_screen::c#3 ← (byte*) init_screen::c#1 [ init_screen::c#3 ] to:init_screen::@2 init_screen::@5: scope:[init_screen] from init_screen::@1 - [163] (byte*~) init_screen::b#3 ← (byte*) init_screen::b#1 [ init_screen::b#3 ] + [293] (byte*~) init_screen::b#3 ← (byte*) init_screen::b#1 [ init_screen::b#3 ] to:init_screen::@1 -Created 16 initial phi equivalence classes +Created 51 initial phi equivalence classes Coalesced [24] lines::l#4 ← lines::l#1 -Coalesced [39] plot::x#16 ← plot::x#2 -Coalesced [40] plot::y#16 ← plot::y#2 -Coalesced [44] plot::x#12 ← plot::x#3 -Coalesced [45] plot::y#12 ← plot::y#3 -Coalesced [49] plot::x#13 ← plot::x#0 -Coalesced [50] plot::y#13 ← plot::y#0 -Coalesced [54] plot::x#11 ← plot::x#1 -Coalesced [55] plot::y#11 ← plot::y#1 -Coalesced [61] plot::x#10 ← plot::x#6 -Coalesced [62] plot::y#10 ← plot::y#6 -Coalesced [66] plot::x#15 ← plot::x#7 -Coalesced [67] plot::y#15 ← plot::y#7 -Coalesced [71] plot::x#17 ← plot::x#4 -Coalesced [72] plot::y#17 ← plot::y#4 -Coalesced [76] plot::x#14 ← plot::x#5 -Coalesced [77] plot::y#14 ← plot::y#5 -Coalesced [95] line_xdyi::x#7 ← line_xdyi::x#0 -Coalesced [96] line_xdyi::y#7 ← line_xdyi::y#0 -Coalesced [97] line_xdyi::e#7 ← line_xdyi::e#0 -Coalesced [101] plot::x#18 ← plot::x#8 -Coalesced [102] plot::y#18 ← plot::y#8 -Coalesced [109] line_xdyi::y#9 ← line_xdyi::y#1 -Coalesced [110] line_xdyi::e#9 ← line_xdyi::e#2 -Coalesced [115] line_xdyi::x#8 ← line_xdyi::x#1 -Coalesced [116] line_xdyi::y#8 ← line_xdyi::y#5 -Coalesced [117] line_xdyi::e#8 ← line_xdyi::e#6 -Coalesced (already) [118] line_xdyi::y#10 ← line_xdyi::y#2 -Coalesced [119] line_xdyi::e#10 ← line_xdyi::e#1 -Coalesced [141] init_plot_tables::yoffs#7 ← init_plot_tables::yoffs#1 -Coalesced [146] init_plot_tables::y#5 ← init_plot_tables::y#1 -Coalesced [147] init_plot_tables::yoffs#5 ← init_plot_tables::yoffs#4 -Coalesced (already) [148] init_plot_tables::yoffs#6 ← init_plot_tables::yoffs#2 -Coalesced [149] init_plot_tables::x#5 ← init_plot_tables::x#1 -Coalesced [150] init_plot_tables::bit#5 ← init_plot_tables::bit#4 -Coalesced [151] init_plot_tables::bit#6 ← init_plot_tables::bit#1 -Coalesced [162] init_screen::c#3 ← init_screen::c#1 -Coalesced [163] init_screen::b#3 ← init_screen::b#1 -Coalesced down to 12 phi equivalence classes +Coalesced [35] line_xdyi::yd#7 ← line_xdyi::yd#0 +Coalesced [36] line_xdyi::x#8 ← line_xdyi::x#0 +Coalesced [37] line_xdyi::y#8 ← line_xdyi::y#0 +Coalesced [38] line_xdyi::xd#7 ← line_xdyi::xd#0 +Coalesced [39] line_xdyi::x1#7 ← line_xdyi::x1#0 +Coalesced [47] line_ydxi::xd#8 ← line_ydxi::xd#0 +Coalesced [48] line_ydxi::x#9 ← line_ydxi::x#0 +Coalesced [49] line_ydxi::y#9 ← line_ydxi::y#0 +Coalesced [50] line_ydxi::yd#8 ← line_ydxi::yd#0 +Coalesced [51] line_ydxi::y1#8 ← line_ydxi::y1#0 +Coalesced [60] line_xdyd::yd#7 ← line_xdyd::yd#0 +Coalesced [61] line_xdyd::x#8 ← line_xdyd::x#0 +Coalesced [62] line_xdyd::y#8 ← line_xdyd::y#0 +Coalesced [63] line_xdyd::xd#7 ← line_xdyd::xd#0 +Coalesced [64] line_xdyd::x1#7 ← line_xdyd::x1#0 +Coalesced [71] line_ydxd::xd#8 ← line_ydxd::xd#0 +Coalesced [72] line_ydxd::x#9 ← line_ydxd::x#0 +Coalesced [73] line_ydxd::y#9 ← line_ydxd::y#0 +Coalesced [74] line_ydxd::yd#8 ← line_ydxd::yd#0 +Coalesced [75] line_ydxd::y1#8 ← line_ydxd::y1#0 +Coalesced [86] line_xdyd::yd#8 ← line_xdyd::yd#1 +Coalesced [87] line_xdyd::x#9 ← line_xdyd::x#1 +Coalesced [88] line_xdyd::y#9 ← line_xdyd::y#1 +Coalesced [89] line_xdyd::xd#8 ← line_xdyd::xd#1 +Coalesced [90] line_xdyd::x1#8 ← line_xdyd::x1#1 +Coalesced [97] line_ydxd::xd#7 ← line_ydxd::xd#1 +Coalesced [98] line_ydxd::x#8 ← line_ydxd::x#1 +Coalesced [99] line_ydxd::y#8 ← line_ydxd::y#1 +Coalesced [100] line_ydxd::yd#7 ← line_ydxd::yd#1 +Coalesced [101] line_ydxd::y1#7 ← line_ydxd::y1#1 +Coalesced [110] line_xdyi::yd#8 ← line_xdyi::yd#1 +Coalesced [111] line_xdyi::x#9 ← line_xdyi::x#1 +Coalesced [112] line_xdyi::y#9 ← line_xdyi::y#1 +Coalesced [113] line_xdyi::xd#8 ← line_xdyi::xd#1 +Coalesced [114] line_xdyi::x1#8 ← line_xdyi::x1#1 +Coalesced [121] line_ydxi::xd#7 ← line_ydxi::xd#1 +Coalesced [122] line_ydxi::x#8 ← line_ydxi::x#1 +Coalesced [123] line_ydxi::y#8 ← line_ydxi::y#1 +Coalesced [124] line_ydxi::yd#7 ← line_ydxi::yd#1 +Coalesced [125] line_ydxi::y1#7 ← line_ydxi::y1#1 +Coalesced [129] line_ydxi::x#10 ← line_ydxi::x#5 +Coalesced [130] line_ydxi::y#10 ← line_ydxi::y#6 +Coalesced [131] line_ydxi::e#7 ← line_ydxi::e#0 +Coalesced [135] plot::x#8 ← plot::x#2 +Coalesced [136] plot::y#8 ← plot::y#2 +Coalesced [143] line_ydxi::x#12 ← line_ydxi::x#2 +Coalesced [144] line_ydxi::e#9 ← line_ydxi::e#2 +Coalesced [149] line_ydxi::x#11 ← line_ydxi::x#6 +Coalesced [150] line_ydxi::y#11 ← line_ydxi::y#2 +Coalesced [151] line_ydxi::e#8 ← line_ydxi::e#6 +Coalesced (already) [152] line_ydxi::x#13 ← line_ydxi::x#3 +Coalesced [153] line_ydxi::e#10 ← line_ydxi::e#1 +Coalesced [171] line_xdyi::x#10 ← line_xdyi::x#6 +Coalesced [172] line_xdyi::y#10 ← line_xdyi::y#5 +Coalesced [173] line_xdyi::e#7 ← line_xdyi::e#0 +Coalesced [177] plot::x#6 ← plot::x#0 +Coalesced [178] plot::y#6 ← plot::y#0 +Coalesced [185] line_xdyi::y#12 ← line_xdyi::y#2 +Coalesced [186] line_xdyi::e#9 ← line_xdyi::e#2 +Coalesced [191] line_xdyi::x#11 ← line_xdyi::x#2 +Coalesced [192] line_xdyi::y#11 ← line_xdyi::y#6 +Coalesced [193] line_xdyi::e#8 ← line_xdyi::e#6 +Coalesced (already) [194] line_xdyi::y#13 ← line_xdyi::y#3 +Coalesced [195] line_xdyi::e#10 ← line_xdyi::e#1 +Coalesced [198] line_ydxd::x#10 ← line_ydxd::x#5 +Coalesced [199] line_ydxd::y#10 ← line_ydxd::y#6 +Coalesced [200] line_ydxd::e#7 ← line_ydxd::e#0 +Coalesced [204] plot::x#7 ← plot::x#3 +Coalesced [205] plot::y#7 ← plot::y#3 +Coalesced [212] line_ydxd::x#12 ← line_ydxd::x#2 +Coalesced [213] line_ydxd::e#9 ← line_ydxd::e#2 +Coalesced [218] line_ydxd::x#11 ← line_ydxd::x#6 +Coalesced [219] line_ydxd::y#11 ← line_ydxd::y#2 +Coalesced [220] line_ydxd::e#8 ← line_ydxd::e#6 +Coalesced (already) [221] line_ydxd::x#13 ← line_ydxd::x#3 +Coalesced [222] line_ydxd::e#10 ← line_ydxd::e#1 +Coalesced [225] line_xdyd::x#10 ← line_xdyd::x#6 +Coalesced [226] line_xdyd::y#10 ← line_xdyd::y#5 +Coalesced [227] line_xdyd::e#7 ← line_xdyd::e#0 +Coalesced [231] plot::x#5 ← plot::x#1 +Coalesced [232] plot::y#5 ← plot::y#1 +Coalesced [239] line_xdyd::y#12 ← line_xdyd::y#2 +Coalesced [240] line_xdyd::e#9 ← line_xdyd::e#2 +Coalesced [245] line_xdyd::x#11 ← line_xdyd::x#2 +Coalesced [246] line_xdyd::y#11 ← line_xdyd::y#6 +Coalesced [247] line_xdyd::e#8 ← line_xdyd::e#6 +Coalesced (already) [248] line_xdyd::y#13 ← line_xdyd::y#3 +Coalesced [249] line_xdyd::e#10 ← line_xdyd::e#1 +Coalesced [271] init_plot_tables::yoffs#7 ← init_plot_tables::yoffs#1 +Coalesced [276] init_plot_tables::y#5 ← init_plot_tables::y#1 +Coalesced [277] init_plot_tables::yoffs#5 ← init_plot_tables::yoffs#4 +Coalesced (already) [278] init_plot_tables::yoffs#6 ← init_plot_tables::yoffs#2 +Coalesced [279] init_plot_tables::x#5 ← init_plot_tables::x#1 +Coalesced [280] init_plot_tables::bit#5 ← init_plot_tables::bit#4 +Coalesced [281] init_plot_tables::bit#6 ← init_plot_tables::bit#1 +Coalesced [292] init_screen::c#3 ← init_screen::c#1 +Coalesced [293] 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 @@ -9370,7 +14602,7 @@ 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 @7 @end main main::@3 main::@1 main::@5 main::@return lines lines::@1 lines::@3 lines::@return line line::@9 line::@10 line::@11 line::@return line::@3 line::@19 line::@2 line::@17 line::@1 line::@15 line::@24 line::@7 line::@22 plot plot::@return line_xdyi line_xdyi::@1 line_xdyi::@5 line_xdyi::@3 line_xdyi::@2 line_xdyi::@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 +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 lines Adding NOP phi() at start of init_plot_tables Adding NOP phi() at start of init_screen @@ -9385,16 +14617,14 @@ Propagating live ranges... Propagating live ranges... Propagating live ranges... Propagating live ranges... -Propagating live ranges... -Propagating live ranges... CONTROL FLOW GRAPH - PHI MEM COALESCED @begin: scope:[] from - to:@7 -@7: scope:[] from @begin + to:@10 +@10: scope:[] from @begin [0] call main param-assignment [ ] to:@end -@end: scope:[] from @7 -main: scope:[main] from @7 +@end: scope:[] from @10 +main: scope:[main] from @10 [1] *((const byte*) BGCOL#0) ← (byte) 0 [ ] [2] *((const byte*) FGCOL#0) ← (byte) 0 [ ] [3] *((const byte*) D011#0) ← (const byte) BMM#0|(const byte) DEN#0|(const byte) RSEL#0|(byte) 3 [ ] @@ -9437,239 +14667,400 @@ lines::@return: scope:[lines] from lines::@3 to:@return line: scope:[line] from lines::@1 [24] if((byte) line::x0#0>=(byte) line::x1#0) goto line::@1 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] - to:line::@9 -line::@9: scope:[line] from line + to:line::@15 +line::@15: scope:[line] from line [25] (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 ] [26] 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 ] - to:line::@10 -line::@10: scope:[line] from line::@9 - [27] (byte) line::yd#0 ← (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#0 ] - [28] if((byte) line::yd#0>=(byte) line::xd#1) goto line::@3 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#0 ] - to:line::@11 -line::@11: scope:[line] from line::@10 - [29] (byte) line_xdyi::x#0 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::xd#1 line::yd#0 line_xdyi::x#0 ] - [30] (byte) line_xdyi::y#0 ← (byte) line::y0#0 [ line::x1#0 line::xd#1 line::yd#0 line_xdyi::x#0 line_xdyi::y#0 ] - [31] (byte) line_xdyi::x1#0 ← (byte) line::x1#0 [ line::xd#1 line::yd#0 line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 ] - [32] (byte) line_xdyi::xd#0 ← (byte) line::xd#1 [ line::yd#0 line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 ] - [33] (byte) line_xdyi::yd#0 ← (byte) line::yd#0 [ line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 ] + to:line::@16 +line::@16: scope:[line] from line::@15 + [27] (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 ] + [28] 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 ] + to:line::@17 +line::@17: scope:[line] from line::@16 + [29] (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 ] + [30] (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 ] + [31] (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 ] + [32] (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 ] + [33] (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 ] [34] call line_xdyi param-assignment [ ] to:line::@return -line::@return: scope:[line] from line::@11 line::@17 line::@19 line::@22 line::@24 +line::@return: scope:[line] from line::@10 line::@13 line::@17 line::@20 line::@24 line::@27 line::@3 line::@6 [35] return [ ] to:@return -line::@3: scope:[line] from line::@10 - [36] (byte) plot::x#2 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#2 ] - [37] (byte) plot::y#2 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#2 plot::y#2 ] - [38] call plot param-assignment [ line::x1#0 line::y1#0 ] - to:line::@19 -line::@19: scope:[line] from line::@3 - [39] (byte) plot::x#3 ← (byte) line::x1#0 [ line::y1#0 plot::x#3 ] - [40] (byte) plot::y#3 ← (byte) line::y1#0 [ plot::x#3 plot::y#3 ] - [41] call plot param-assignment [ ] +line::@3: scope:[line] from line::@16 + [36] (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 ] + [37] (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 ] + [38] (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 ] + [39] (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 ] + [40] (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 ] + [41] call line_ydxi param-assignment [ ] to:line::@return -line::@2: scope:[line] from line::@9 - [42] (byte) plot::x#0 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#0 ] - [43] (byte) plot::y#0 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#0 plot::y#0 ] - [44] call plot param-assignment [ line::x1#0 line::y1#0 ] - to:line::@17 -line::@17: scope:[line] from line::@2 - [45] (byte) plot::x#1 ← (byte) line::x1#0 [ line::y1#0 plot::x#1 ] - [46] (byte) plot::y#1 ← (byte) line::y1#0 [ plot::x#1 plot::y#1 ] - [47] call plot param-assignment [ ] +line::@2: scope:[line] from line::@15 + [42] (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 ] + [43] 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 ] + to:line::@20 +line::@20: scope:[line] from line::@2 + [44] (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 ] + [45] (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 ] + [46] (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 ] + [47] (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 ] + [48] (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 ] + [49] call line_xdyd param-assignment [ ] + to:line::@return +line::@6: scope:[line] from line::@2 + [50] (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 ] + [51] (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 ] + [52] (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 ] + [53] (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 ] + [54] (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 ] + [55] call line_ydxd param-assignment [ ] to:line::@return line::@1: scope:[line] from line - [48] (byte) line::xd#0 ← (byte) line::x1#0 - (byte) line::x0#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] - [49] if((byte) line::y0#0>=(byte) line::y1#0) goto line::@7 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] - to:line::@15 -line::@15: scope:[line] from line::@1 - [50] (byte) plot::x#6 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#6 ] - [51] (byte) plot::y#6 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#6 plot::y#6 ] - [52] call plot param-assignment [ line::x1#0 line::y1#0 ] + [56] (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 ] + [57] 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 ] + to:line::@23 +line::@23: scope:[line] from line::@1 + [58] (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 ] + [59] 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 ] to:line::@24 -line::@24: scope:[line] from line::@15 - [53] (byte) plot::x#7 ← (byte) line::x1#0 [ line::y1#0 plot::x#7 ] - [54] (byte) plot::y#7 ← (byte) line::y1#0 [ plot::x#7 plot::y#7 ] - [55] call plot param-assignment [ ] +line::@24: scope:[line] from line::@23 + [60] (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 ] + [61] (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 ] + [62] (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 ] + [63] (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 ] + [64] (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 ] + [65] call line_xdyd param-assignment [ ] to:line::@return -line::@7: scope:[line] from line::@1 - [56] (byte) plot::x#4 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#4 ] - [57] (byte) plot::y#4 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#4 plot::y#4 ] - [58] call plot param-assignment [ line::x1#0 line::y1#0 ] - to:line::@22 -line::@22: scope:[line] from line::@7 - [59] (byte) plot::x#5 ← (byte) line::x1#0 [ line::y1#0 plot::x#5 ] - [60] (byte) plot::y#5 ← (byte) line::y1#0 [ plot::x#5 plot::y#5 ] - [61] call plot param-assignment [ ] +line::@10: scope:[line] from line::@23 + [66] (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 ] + [67] (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 ] + [68] (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 ] + [69] (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 ] + [70] (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 ] + [71] call line_ydxd param-assignment [ ] to:line::@return -plot: scope:[plot] from line::@15 line::@17 line::@19 line::@2 line::@22 line::@24 line::@3 line::@7 line_xdyi::@1 - [62] (byte) plot::y#9 ← phi( line::@15/(byte) plot::y#6 line::@17/(byte) plot::y#1 line::@19/(byte) plot::y#3 line::@2/(byte) plot::y#0 line::@22/(byte) plot::y#5 line::@24/(byte) plot::y#7 line::@3/(byte) plot::y#2 line::@7/(byte) plot::y#4 line_xdyi::@1/(byte) plot::y#8 ) [ plot::x#9 plot::y#9 ] - [62] (byte) plot::x#9 ← phi( line::@15/(byte) plot::x#6 line::@17/(byte) plot::x#1 line::@19/(byte) plot::x#3 line::@2/(byte) plot::x#0 line::@22/(byte) plot::x#5 line::@24/(byte) plot::x#7 line::@3/(byte) plot::x#2 line::@7/(byte) plot::x#4 line_xdyi::@1/(byte) plot::x#8 ) [ plot::x#9 plot::y#9 ] - [63] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#9 [ plot::x#9 plot::y#9 plot::$0 ] - [64] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#9 plot::y#9 plot::plotter_x#1 ] - [65] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#9 [ plot::x#9 plot::y#9 plot::plotter_x#1 plot::$1 ] - [66] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#9 plot::y#9 plot::plotter_x#2 ] - [67] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#9 [ plot::x#9 plot::y#9 plot::plotter_x#2 plot::$2 ] - [68] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#9 plot::y#9 plot::plotter_x#2 plot::plotter_y#1 ] - [69] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#9 [ plot::x#9 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] - [70] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#9 plot::plotter_x#2 plot::plotter_y#2 ] - [71] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#9 plot::plotter#0 ] - [72] (byte~) plot::$5 ← * (byte*) plot::plotter#0 [ plot::x#9 plot::plotter#0 plot::$5 ] - [73] (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#9 [ plot::plotter#0 plot::$5 plot::$6 ] - [74] (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 [ plot::plotter#0 plot::$7 ] - [75] *((byte*) plot::plotter#0) ← (byte~) plot::$7 [ ] +line::@9: scope:[line] from line::@1 + [72] (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 ] + [73] 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 ] + to:line::@27 +line::@27: scope:[line] from line::@9 + [74] (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 ] + [75] (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 ] + [76] (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 ] + [77] (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 ] + [78] (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 ] + [79] call line_xdyi param-assignment [ ] + to:line::@return +line::@13: scope:[line] from line::@9 + [80] (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 ] + [81] (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 ] + [82] (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 ] + [83] (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 ] + [84] (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 ] + [85] call line_ydxi param-assignment [ ] + to:line::@return +line_ydxi: scope:[line_ydxi] from line::@13 line::@3 + [86] (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 ] + [86] (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 ] + [86] (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 ] + [86] (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 ] + [86] (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 ] + [87] (byte) line_ydxi::e#0 ← (byte) line_ydxi::xd#2 >> (byte) 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 ] + to:line_ydxi::@1 +line_ydxi::@1: scope:[line_ydxi] from line_ydxi line_ydxi::@2 + [88] (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 ] + [88] (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 ] + [88] (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 ] + [89] (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 ] + [90] (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 ] + [91] 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 ] + to:line_ydxi::@5 +line_ydxi::@5: scope:[line_ydxi] from line_ydxi::@1 + [92] (byte) line_ydxi::y#2 ← (byte) line_ydxi::y#3 + (byte) 1 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::e#3 line_ydxi::y#2 ] + [93] (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 ] + [94] 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 ] + to:line_ydxi::@3 +line_ydxi::@3: scope:[line_ydxi] from line_ydxi::@5 + [95] (byte) line_ydxi::x#2 ← (byte) line_ydxi::x#3 + (byte) 1 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::e#1 line_ydxi::x#2 ] + [96] (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 ] + to:line_ydxi::@2 +line_ydxi::@2: scope:[line_ydxi] from line_ydxi::@3 line_ydxi::@5 + [97] (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 ] + [97] (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 ] + [98] (byte~) line_ydxi::$8 ← (byte) line_ydxi::y1#6 + (byte) 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::$8 ] + [99] if((byte) line_ydxi::y#2<(byte~) line_ydxi::$8) 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 ] + to:line_ydxi::@return +line_ydxi::@return: scope:[line_ydxi] from line_ydxi::@2 + [100] return [ ] + to:@return +plot: scope:[plot] from line_xdyd::@1 line_xdyi::@1 line_ydxd::@1 line_ydxi::@1 + [101] (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 ] + [101] (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 ] + [102] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#4 [ plot::x#4 plot::y#4 plot::$0 ] + [103] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#4 plot::y#4 plot::plotter_x#1 ] + [104] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#4 [ plot::x#4 plot::y#4 plot::plotter_x#1 plot::$1 ] + [105] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#4 plot::y#4 plot::plotter_x#2 ] + [106] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#4 [ plot::x#4 plot::y#4 plot::plotter_x#2 plot::$2 ] + [107] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#4 plot::y#4 plot::plotter_x#2 plot::plotter_y#1 ] + [108] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#4 [ plot::x#4 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] + [109] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#4 plot::plotter_x#2 plot::plotter_y#2 ] + [110] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#4 plot::plotter#0 ] + [111] (byte~) plot::$5 ← * (byte*) plot::plotter#0 [ plot::x#4 plot::plotter#0 plot::$5 ] + [112] (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#4 [ plot::plotter#0 plot::$5 plot::$6 ] + [113] (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 [ plot::plotter#0 plot::$7 ] + [114] *((byte*) plot::plotter#0) ← (byte~) plot::$7 [ ] to:plot::@return plot::@return: scope:[plot] from plot - [76] return [ ] + [115] return [ ] to:@return -line_xdyi: scope:[line_xdyi] from line::@11 - [77] (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#0 >> (byte) 1 [ line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::e#0 ] +line_xdyi: scope:[line_xdyi] from line::@17 line::@27 + [116] (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 ] + [116] (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 ] + [116] (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 ] + [116] (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 ] + [116] (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 ] + [117] (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#2 >> (byte) 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 ] to:line_xdyi::@1 line_xdyi::@1: scope:[line_xdyi] from line_xdyi line_xdyi::@2 - [78] (byte) line_xdyi::e#3 ← phi( line_xdyi/(byte) line_xdyi::e#0 line_xdyi::@2/(byte) line_xdyi::e#6 ) [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] - [78] (byte) line_xdyi::y#2 ← phi( line_xdyi/(byte) line_xdyi::y#0 line_xdyi::@2/(byte) line_xdyi::y#5 ) [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] - [78] (byte) line_xdyi::x#2 ← phi( line_xdyi/(byte) line_xdyi::x#0 line_xdyi::@2/(byte) line_xdyi::x#1 ) [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] - [79] (byte) plot::x#8 ← (byte) line_xdyi::x#2 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 plot::x#8 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] - [80] (byte) plot::y#8 ← (byte) line_xdyi::y#2 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 plot::x#8 plot::y#8 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] - [81] call plot param-assignment [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] + [118] (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 ] + [118] (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 ] + [118] (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 ] + [119] (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 ] + [120] (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 ] + [121] 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 ] to:line_xdyi::@5 line_xdyi::@5: scope:[line_xdyi] from line_xdyi::@1 - [82] (byte) line_xdyi::x#1 ← (byte) line_xdyi::x#2 + (byte) 1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::y#2 line_xdyi::e#3 line_xdyi::x#1 ] - [83] (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#0 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::y#2 line_xdyi::x#1 line_xdyi::e#1 ] - [84] if((byte) line_xdyi::xd#0>=(byte) line_xdyi::e#1) goto line_xdyi::@2 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::y#2 line_xdyi::x#1 line_xdyi::e#1 ] + [122] (byte) line_xdyi::x#2 ← (byte) line_xdyi::x#3 + (byte) 1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::e#3 line_xdyi::x#2 ] + [123] (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 ] + [124] 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 ] to:line_xdyi::@3 line_xdyi::@3: scope:[line_xdyi] from line_xdyi::@5 - [85] (byte) line_xdyi::y#1 ← (byte) line_xdyi::y#2 + (byte) 1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::e#1 line_xdyi::y#1 ] - [86] (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#0 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#1 line_xdyi::e#2 ] + [125] (byte) line_xdyi::y#2 ← (byte) line_xdyi::y#3 + (byte) 1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::e#1 line_xdyi::y#2 ] + [126] (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 ] to:line_xdyi::@2 line_xdyi::@2: scope:[line_xdyi] from line_xdyi::@3 line_xdyi::@5 - [87] (byte) line_xdyi::e#6 ← phi( line_xdyi::@3/(byte) line_xdyi::e#2 line_xdyi::@5/(byte) line_xdyi::e#1 ) [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#5 line_xdyi::e#6 ] - [87] (byte) line_xdyi::y#5 ← phi( line_xdyi::@3/(byte) line_xdyi::y#1 line_xdyi::@5/(byte) line_xdyi::y#2 ) [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#5 line_xdyi::e#6 ] - [88] (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#0 + (byte) 1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#5 line_xdyi::e#6 line_xdyi::$8 ] - [89] if((byte) line_xdyi::x#1<(byte~) line_xdyi::$8) goto line_xdyi::@1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#5 line_xdyi::e#6 ] + [127] (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 ] + [127] (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 ] + [128] (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#6 + (byte) 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::$8 ] + [129] if((byte) line_xdyi::x#2<(byte~) line_xdyi::$8) 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 ] to:line_xdyi::@return line_xdyi::@return: scope:[line_xdyi] from line_xdyi::@2 - [90] return [ ] + [130] return [ ] + to:@return +line_ydxd: scope:[line_ydxd] from line::@10 line::@6 + [131] (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#6 line_ydxd::yd#5 line_ydxd::y1#6 ] + [131] (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#6 line_ydxd::yd#5 line_ydxd::y1#6 ] + [131] (byte) line_ydxd::y#6 ← 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#6 line_ydxd::yd#5 line_ydxd::y1#6 ] + [131] (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#6 line_ydxd::yd#5 line_ydxd::y1#6 ] + [131] (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#6 line_ydxd::yd#5 line_ydxd::y1#6 ] + [132] (byte) line_ydxd::e#0 ← (byte) line_ydxd::xd#2 >> (byte) 1 [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 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 + [133] (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#3 line_ydxd::e#3 ] + [133] (byte) line_ydxd::y#3 ← phi( line_ydxd/(byte) line_ydxd::y#6 line_ydxd::@2/(byte) line_ydxd::y#2 ) [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] + [133] (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#3 line_ydxd::e#3 ] + [134] (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#3 line_ydxd::e#3 ] + [135] (byte) plot::y#3 ← (byte) line_ydxd::y#3 [ 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#3 line_ydxd::e#3 ] + [136] call plot param-assignment [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] + to:line_ydxd::@5 +line_ydxd::@5: scope:[line_ydxd] from line_ydxd::@1 + [137] (byte) line_ydxd::y#2 ← (byte) line_ydxd::y#3 + (byte) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::e#3 line_ydxd::y#2 ] + [138] (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#2 line_ydxd::e#1 ] + [139] 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#2 line_ydxd::e#1 ] + to:line_ydxd::@3 +line_ydxd::@3: scope:[line_ydxd] from line_ydxd::@5 + [140] (byte) line_ydxd::x#2 ← (byte) line_ydxd::x#3 - (byte) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#2 line_ydxd::e#1 line_ydxd::x#2 ] + [141] (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#2 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 + [142] (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#2 line_ydxd::e#6 ] + [142] (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#2 line_ydxd::e#6 ] + [143] (byte~) line_ydxd::$8 ← (byte) line_ydxd::y1#6 + (byte) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 line_ydxd::$8 ] + [144] if((byte) line_ydxd::y#2<(byte~) line_ydxd::$8) goto line_ydxd::@1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 ] + to:line_ydxd::@return +line_ydxd::@return: scope:[line_ydxd] from line_ydxd::@2 + [145] return [ ] + to:@return +line_xdyd: scope:[line_xdyd] from line::@20 line::@24 + [146] (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 ] + [146] (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 ] + [146] (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 ] + [146] (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 ] + [146] (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 ] + [147] (byte) line_xdyd::e#0 ← (byte) line_xdyd::yd#2 >> (byte) 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 ] + to:line_xdyd::@1 +line_xdyd::@1: scope:[line_xdyd] from line_xdyd line_xdyd::@2 + [148] (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 ] + [148] (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 ] + [148] (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 ] + [149] (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 ] + [150] (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 ] + [151] 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 ] + to:line_xdyd::@5 +line_xdyd::@5: scope:[line_xdyd] from line_xdyd::@1 + [152] (byte) line_xdyd::x#2 ← (byte) line_xdyd::x#3 + (byte) 1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::e#3 line_xdyd::x#2 ] + [153] (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 ] + [154] 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 ] + to:line_xdyd::@3 +line_xdyd::@3: scope:[line_xdyd] from line_xdyd::@5 + [155] (byte) line_xdyd::y#2 ← (byte) line_xdyd::y#3 - (byte) 1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::e#1 line_xdyd::y#2 ] + [156] (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 ] + to:line_xdyd::@2 +line_xdyd::@2: scope:[line_xdyd] from line_xdyd::@3 line_xdyd::@5 + [157] (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 ] + [157] (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 ] + [158] (byte~) line_xdyd::$8 ← (byte) line_xdyd::x1#6 + (byte) 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::$8 ] + [159] if((byte) line_xdyd::x#2<(byte~) line_xdyd::$8) 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 ] + to:line_xdyd::@return +line_xdyd::@return: scope:[line_xdyd] from line_xdyd::@2 + [160] return [ ] to:@return init_plot_tables: scope:[init_plot_tables] from main::@3 - [91] phi() [ ] + [161] phi() [ ] to:init_plot_tables::@1 init_plot_tables::@1: scope:[init_plot_tables] from init_plot_tables init_plot_tables::@2 - [92] (byte) init_plot_tables::bit#3 ← phi( init_plot_tables/(byte) 128 init_plot_tables::@2/(byte) init_plot_tables::bit#4 ) [ init_plot_tables::x#2 init_plot_tables::bit#3 ] - [92] (byte) init_plot_tables::x#2 ← phi( init_plot_tables/(byte) 0 init_plot_tables::@2/(byte) init_plot_tables::x#1 ) [ init_plot_tables::x#2 init_plot_tables::bit#3 ] - [93] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bit#3 init_plot_tables::$0 ] - [94] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] - [95] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] - [96] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bit#3 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] - [97] (byte) init_plot_tables::bit#1 ← (byte) init_plot_tables::bit#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bit#1 ] - [98] if((byte) init_plot_tables::bit#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] + [162] (byte) init_plot_tables::bit#3 ← phi( init_plot_tables/(byte) 128 init_plot_tables::@2/(byte) init_plot_tables::bit#4 ) [ init_plot_tables::x#2 init_plot_tables::bit#3 ] + [162] (byte) init_plot_tables::x#2 ← phi( init_plot_tables/(byte) 0 init_plot_tables::@2/(byte) init_plot_tables::x#1 ) [ init_plot_tables::x#2 init_plot_tables::bit#3 ] + [163] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bit#3 init_plot_tables::$0 ] + [164] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] + [165] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] + [166] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bit#3 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] + [167] (byte) init_plot_tables::bit#1 ← (byte) init_plot_tables::bit#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bit#1 ] + [168] if((byte) init_plot_tables::bit#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] to:init_plot_tables::@2 init_plot_tables::@2: scope:[init_plot_tables] from init_plot_tables::@1 init_plot_tables::@10 - [99] (byte) init_plot_tables::bit#4 ← phi( init_plot_tables::@10/(byte) init_plot_tables::bit#1 init_plot_tables::@1/(byte) 128 ) [ init_plot_tables::x#2 init_plot_tables::bit#4 ] - [100] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bit#4 ] - [101] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bit#4 ] + [169] (byte) init_plot_tables::bit#4 ← phi( init_plot_tables::@10/(byte) init_plot_tables::bit#1 init_plot_tables::@1/(byte) 128 ) [ init_plot_tables::x#2 init_plot_tables::bit#4 ] + [170] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bit#4 ] + [171] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bit#4 ] to:init_plot_tables::@3 init_plot_tables::@3: scope:[init_plot_tables] from init_plot_tables::@2 init_plot_tables::@4 - [102] (byte*) init_plot_tables::yoffs#2 ← phi( init_plot_tables::@4/(byte*) init_plot_tables::yoffs#4 init_plot_tables::@2/(byte) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] - [102] (byte) init_plot_tables::y#2 ← phi( init_plot_tables::@4/(byte) init_plot_tables::y#1 init_plot_tables::@2/(byte) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] - [103] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] - [104] (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 ] - [105] (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 ] - [106] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] - [107] (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 ] - [108] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] - [109] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] - [110] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] + [172] (byte*) init_plot_tables::yoffs#2 ← phi( init_plot_tables::@4/(byte*) init_plot_tables::yoffs#4 init_plot_tables::@2/(byte) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] + [172] (byte) init_plot_tables::y#2 ← phi( init_plot_tables::@4/(byte) init_plot_tables::y#1 init_plot_tables::@2/(byte) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] + [173] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] + [174] (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 ] + [175] (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 ] + [176] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] + [177] (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 ] + [178] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] + [179] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] + [180] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ 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 - [111] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] + [181] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ 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 - [112] (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 ] - [113] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] - [114] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] + [182] (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 ] + [183] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] + [184] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ 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 - [115] return [ ] + [185] return [ ] to:@return init_plot_tables::@10: scope:[init_plot_tables] from init_plot_tables::@1 to:init_plot_tables::@2 init_screen: scope:[init_screen] from main - [116] phi() [ ] + [186] phi() [ ] to:init_screen::@1 init_screen::@1: scope:[init_screen] from init_screen init_screen::@1 - [117] (byte*) init_screen::b#2 ← phi( init_screen/(const byte*) BITMAP#0 init_screen::@1/(byte*) init_screen::b#1 ) [ init_screen::b#2 ] - [118] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] - [119] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] - [120] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] + [187] (byte*) init_screen::b#2 ← phi( init_screen/(const byte*) BITMAP#0 init_screen::@1/(byte*) init_screen::b#1 ) [ init_screen::b#2 ] + [188] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] + [189] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] + [190] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] to:init_screen::@2 init_screen::@2: scope:[init_screen] from init_screen::@1 init_screen::@2 - [121] (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 ] - [122] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] - [123] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] - [124] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] + [191] (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 ] + [192] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] + [193] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] + [194] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] to:init_screen::@return init_screen::@return: scope:[init_screen] from init_screen::@2 - [125] return [ ] + [195] return [ ] to:@return DOMINATORS @begin dominated by @begin -@7 dominated by @begin @7 -@end dominated by @begin @7 @end -main dominated by @begin @7 main -main::@3 dominated by @begin @7 main::@3 main -main::@1 dominated by @begin @7 main::@1 main::@3 main -main::@5 dominated by @begin @7 main::@1 main::@3 main::@5 main -main::@return dominated by @begin @7 main::@1 main::@3 main::@5 main main::@return -lines dominated by @begin @7 main::@1 main::@3 main lines -lines::@1 dominated by @begin @7 main::@1 main::@3 lines::@1 main lines -lines::@3 dominated by @begin @7 main::@1 main::@3 lines::@3 lines::@1 main lines -lines::@return dominated by @begin @7 main::@1 main::@3 lines::@return lines::@3 lines::@1 main lines -line dominated by @begin @7 line main::@1 main::@3 lines::@1 main lines -line::@9 dominated by @begin @7 line main::@1 main::@3 line::@9 lines::@1 main lines -line::@10 dominated by @begin @7 line main::@1 main::@3 line::@10 lines::@1 main line::@9 lines -line::@11 dominated by @begin @7 line main::@1 main::@3 line::@10 line::@11 lines::@1 main line::@9 lines -line::@return dominated by @begin @7 line main::@1 main::@3 line::@return lines::@1 main lines -line::@3 dominated by @begin @7 line main::@1 main::@3 line::@3 line::@10 lines::@1 main line::@9 lines -line::@19 dominated by @begin @7 line main::@1 main::@3 line::@3 line::@10 lines::@1 main line::@9 line::@19 lines -line::@2 dominated by @begin @7 line main::@1 main::@3 line::@2 lines::@1 main line::@9 lines -line::@17 dominated by @begin @7 line main::@1 main::@3 line::@2 lines::@1 main line::@9 line::@17 lines -line::@1 dominated by @begin @7 line main::@1 main::@3 line::@1 lines::@1 main lines -line::@15 dominated by @begin @7 line main::@1 main::@3 line::@1 lines::@1 main line::@15 lines -line::@24 dominated by @begin @7 line::@24 line main::@1 main::@3 line::@1 lines::@1 main line::@15 lines -line::@7 dominated by @begin @7 line main::@1 main::@3 line::@1 line::@7 lines::@1 main lines -line::@22 dominated by @begin @7 line line::@22 main::@1 main::@3 line::@1 line::@7 lines::@1 main lines -plot dominated by @begin @7 line main::@1 main::@3 plot lines::@1 main lines -plot::@return dominated by @begin @7 line main::@1 main::@3 plot plot::@return lines::@1 main lines -line_xdyi dominated by @begin @7 line main::@1 main::@3 line_xdyi line::@10 line::@11 lines::@1 main line::@9 lines -line_xdyi::@1 dominated by @begin @7 line main::@1 main::@3 line_xdyi line::@10 line::@11 lines::@1 main line::@9 line_xdyi::@1 lines -line_xdyi::@5 dominated by @begin @7 line main::@1 main::@3 line_xdyi line::@10 line::@11 lines::@1 main line::@9 line_xdyi::@1 line_xdyi::@5 lines -line_xdyi::@3 dominated by @begin @7 line main::@1 main::@3 line_xdyi line::@10 line::@11 lines::@1 main line::@9 line_xdyi::@1 line_xdyi::@3 line_xdyi::@5 lines -line_xdyi::@2 dominated by @begin @7 line main::@1 main::@3 line_xdyi line::@10 line::@11 lines::@1 main line::@9 line_xdyi::@1 line_xdyi::@2 line_xdyi::@5 lines -line_xdyi::@return dominated by @begin @7 line main::@1 main::@3 line_xdyi line::@10 line::@11 lines::@1 main line::@9 line_xdyi::@1 line_xdyi::@2 line_xdyi::@5 lines line_xdyi::@return -init_plot_tables dominated by init_plot_tables @begin @7 main::@3 main -init_plot_tables::@1 dominated by init_plot_tables::@1 init_plot_tables @begin @7 main::@3 main -init_plot_tables::@2 dominated by init_plot_tables::@2 init_plot_tables::@1 init_plot_tables @begin @7 main::@3 main -init_plot_tables::@3 dominated by init_plot_tables::@3 init_plot_tables::@2 init_plot_tables::@1 init_plot_tables @begin @7 main::@3 main -init_plot_tables::@7 dominated by init_plot_tables::@3 init_plot_tables::@2 init_plot_tables::@1 init_plot_tables @begin @7 init_plot_tables::@7 main::@3 main -init_plot_tables::@4 dominated by init_plot_tables::@3 init_plot_tables::@2 init_plot_tables::@1 init_plot_tables @begin @7 init_plot_tables::@4 main::@3 main -init_plot_tables::@return dominated by init_plot_tables::@3 init_plot_tables::@2 init_plot_tables::@1 init_plot_tables @begin init_plot_tables::@return @7 init_plot_tables::@4 main::@3 main -init_plot_tables::@10 dominated by init_plot_tables::@10 init_plot_tables::@1 init_plot_tables @begin @7 main::@3 main -init_screen dominated by @begin @7 init_screen main -init_screen::@1 dominated by init_screen::@1 @begin @7 init_screen main -init_screen::@2 dominated by init_screen::@1 init_screen::@2 @begin @7 init_screen main -init_screen::@return dominated by init_screen::@1 init_screen::@2 @begin @7 init_screen init_screen::@return main +@10 dominated by @begin @10 +@end dominated by @end @begin @10 +main dominated by @begin @10 main +main::@3 dominated by @begin main::@3 @10 main +main::@1 dominated by @begin main::@1 main::@3 @10 main +main::@5 dominated by @begin main::@1 main::@3 main::@5 @10 main +main::@return dominated by main::@return @begin main::@1 main::@3 main::@5 @10 main +lines dominated by lines @begin main::@1 main::@3 @10 main +lines::@1 dominated by lines::@1 lines @begin main::@1 main::@3 @10 main +lines::@3 dominated by lines::@3 lines::@1 lines @begin main::@1 main::@3 @10 main +lines::@return dominated by lines::@3 lines::@1 lines @begin main::@1 main::@3 @10 lines::@return main +line dominated by lines::@1 lines @begin line main::@1 main::@3 @10 main +line::@15 dominated by lines::@1 line::@15 lines @begin line main::@1 main::@3 @10 main +line::@16 dominated by lines::@1 line::@15 line::@16 lines @begin line main::@1 main::@3 @10 main +line::@17 dominated by lines::@1 line::@15 line::@16 line::@17 lines @begin line main::@1 main::@3 @10 main +line::@return dominated by lines::@1 lines @begin line main::@1 main::@3 @10 line::@return main +line::@3 dominated by line::@3 lines::@1 line::@15 line::@16 lines @begin line main::@1 main::@3 @10 main +line::@2 dominated by line::@2 lines::@1 line::@15 lines @begin line main::@1 main::@3 @10 main +line::@20 dominated by line::@2 lines::@1 line::@15 lines @begin line main::@1 line::@20 main::@3 @10 main +line::@6 dominated by line::@2 line::@6 lines::@1 line::@15 lines @begin line main::@1 main::@3 @10 main +line::@1 dominated by line::@1 lines::@1 lines @begin line main::@1 main::@3 @10 main +line::@23 dominated by line::@1 lines::@1 lines @begin line line::@23 main::@1 main::@3 @10 main +line::@24 dominated by line::@1 lines::@1 lines @begin line::@24 line line::@23 main::@1 main::@3 @10 main +line::@10 dominated by line::@1 line::@10 lines::@1 lines @begin line line::@23 main::@1 main::@3 @10 main +line::@9 dominated by line::@1 line::@9 lines::@1 lines @begin line main::@1 main::@3 @10 main +line::@27 dominated by line::@1 lines::@1 line::@9 lines @begin line main::@1 main::@3 line::@27 @10 main +line::@13 dominated by line::@1 line::@13 lines::@1 line::@9 lines @begin line main::@1 main::@3 @10 main +line_ydxi dominated by line_ydxi lines::@1 lines @begin line main::@1 main::@3 @10 main +line_ydxi::@1 dominated by line_ydxi line_ydxi::@1 lines::@1 lines @begin line main::@1 main::@3 @10 main +line_ydxi::@5 dominated by line_ydxi line_ydxi::@1 line_ydxi::@5 lines::@1 lines @begin line main::@1 main::@3 @10 main +line_ydxi::@3 dominated by line_ydxi line_ydxi::@1 line_ydxi::@3 line_ydxi::@5 lines::@1 lines @begin line main::@1 main::@3 @10 main +line_ydxi::@2 dominated by line_ydxi line_ydxi::@2 line_ydxi::@1 line_ydxi::@5 lines::@1 lines @begin line main::@1 main::@3 @10 main +line_ydxi::@return dominated by line_ydxi line_ydxi::@2 line_ydxi::@1 line_ydxi::@5 lines::@1 lines line_ydxi::@return @begin line main::@1 main::@3 @10 main +plot dominated by lines::@1 lines @begin line main::@1 main::@3 plot @10 main +plot::@return dominated by plot::@return lines::@1 lines @begin line main::@1 main::@3 plot @10 main +line_xdyi dominated by lines::@1 lines @begin line main::@1 main::@3 line_xdyi @10 main +line_xdyi::@1 dominated by lines::@1 line_xdyi::@1 lines @begin line main::@1 main::@3 line_xdyi @10 main +line_xdyi::@5 dominated by lines::@1 line_xdyi::@1 line_xdyi::@5 lines @begin line main::@1 main::@3 line_xdyi @10 main +line_xdyi::@3 dominated by lines::@1 line_xdyi::@1 line_xdyi::@3 line_xdyi::@5 lines @begin line main::@1 main::@3 line_xdyi @10 main +line_xdyi::@2 dominated by lines::@1 line_xdyi::@1 line_xdyi::@2 line_xdyi::@5 lines @begin line main::@1 main::@3 line_xdyi @10 main +line_xdyi::@return dominated by lines::@1 line_xdyi::@1 line_xdyi::@2 line_xdyi::@5 lines @begin line main::@1 main::@3 line_xdyi @10 main line_xdyi::@return +line_ydxd dominated by line_ydxd lines::@1 lines @begin line main::@1 main::@3 @10 main +line_ydxd::@1 dominated by line_ydxd line_ydxd::@1 lines::@1 lines @begin line main::@1 main::@3 @10 main +line_ydxd::@5 dominated by line_ydxd::@5 line_ydxd line_ydxd::@1 lines::@1 lines @begin line main::@1 main::@3 @10 main +line_ydxd::@3 dominated by line_ydxd::@3 line_ydxd::@5 line_ydxd line_ydxd::@1 lines::@1 lines @begin line main::@1 main::@3 @10 main +line_ydxd::@2 dominated by line_ydxd::@2 line_ydxd::@5 line_ydxd line_ydxd::@1 lines::@1 lines @begin line main::@1 main::@3 @10 main +line_ydxd::@return dominated by line_ydxd::@2 line_ydxd::@5 line_ydxd line_ydxd::@1 lines::@1 lines @begin line main::@1 main::@3 @10 main line_ydxd::@return +line_xdyd dominated by lines::@1 lines @begin line main::@1 main::@3 line_xdyd @10 main +line_xdyd::@1 dominated by lines::@1 lines @begin line main::@1 main::@3 line_xdyd @10 line_xdyd::@1 main +line_xdyd::@5 dominated by lines::@1 lines @begin line main::@1 main::@3 line_xdyd @10 line_xdyd::@5 line_xdyd::@1 main +line_xdyd::@3 dominated by lines::@1 lines @begin line main::@1 main::@3 line_xdyd @10 line_xdyd::@5 line_xdyd::@3 line_xdyd::@1 main +line_xdyd::@2 dominated by lines::@1 lines @begin line main::@1 main::@3 line_xdyd @10 line_xdyd::@5 line_xdyd::@2 line_xdyd::@1 main +line_xdyd::@return dominated by lines::@1 line_xdyd::@return lines @begin line main::@1 main::@3 line_xdyd @10 line_xdyd::@5 line_xdyd::@2 line_xdyd::@1 main +init_plot_tables dominated by init_plot_tables @begin main::@3 @10 main +init_plot_tables::@1 dominated by init_plot_tables::@1 init_plot_tables @begin main::@3 @10 main +init_plot_tables::@2 dominated by init_plot_tables::@2 init_plot_tables::@1 init_plot_tables @begin main::@3 @10 main +init_plot_tables::@3 dominated by init_plot_tables::@3 init_plot_tables::@2 init_plot_tables::@1 init_plot_tables @begin main::@3 @10 main +init_plot_tables::@7 dominated by init_plot_tables::@3 init_plot_tables::@2 init_plot_tables::@1 init_plot_tables init_plot_tables::@7 @begin main::@3 @10 main +init_plot_tables::@4 dominated by init_plot_tables::@3 init_plot_tables::@2 init_plot_tables::@1 init_plot_tables init_plot_tables::@4 @begin main::@3 @10 main +init_plot_tables::@return dominated by init_plot_tables::@3 init_plot_tables::@2 init_plot_tables::@1 init_plot_tables init_plot_tables::@return init_plot_tables::@4 @begin main::@3 @10 main +init_plot_tables::@10 dominated by init_plot_tables::@10 init_plot_tables::@1 init_plot_tables @begin main::@3 @10 main +init_screen dominated by init_screen @begin @10 main +init_screen::@1 dominated by init_screen::@1 init_screen @begin @10 main +init_screen::@2 dominated by init_screen::@1 init_screen::@2 init_screen @begin @10 main +init_screen::@return dominated by init_screen::@1 init_screen::@2 init_screen @begin init_screen::@return @10 main 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 @@ -9677,7 +15068,10 @@ Populated: Loop head: init_screen::@2 tails: init_screen::@2 blocks: init_screen NATURAL LOOPS 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 @@ -9697,11 +15091,20 @@ Found 1 loops in scope [lines] 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] NATURAL LOOPS WITH DEPTH 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: 1 Loop head: line_xdyi::@1 tails: line_xdyi::@2 blocks: line_xdyi::@2 line_xdyi::@3 line_xdyi::@5 line_xdyi::@1 depth: 1 +Loop head: line_ydxd::@1 tails: line_ydxd::@2 blocks: line_ydxd::@2 line_ydxd::@3 line_ydxd::@5 line_ydxd::@1 depth: 1 +Loop head: line_xdyd::@1 tails: line_xdyd::@2 blocks: line_xdyd::@2 line_xdyd::@3 line_xdyd::@5 line_xdyd::@1 depth: 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 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 @@ -9755,18 +15158,54 @@ VARIABLE REGISTER WEIGHTS (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 10.636363636363635 +(byte) line::x0#0 5.173913043478264 (byte) line::x1 -(byte) line::x1#0 4.874999999999997 +(byte) line::x1#0 5.409090909090908 (byte) line::xd -(byte) line::xd#0 20.0 -(byte) line::xd#1 0.8571428571428571 +(byte) line::xd#0 0.7 +(byte) line::xd#1 0.7 (byte) line::y0 -(byte) line::y0#0 8.357142857142858 +(byte) line::y0#0 5.952380952380948 (byte) line::y1 -(byte) line::y1#0 4.791666666666664 +(byte) line::y1#0 6.249999999999996 (byte) line::yd -(byte) line::yd#0 1.0 +(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~) line_xdyd::$8 22.0 +(byte) line_xdyd::e +(byte) line_xdyd::e#0 4.0 +(byte) line_xdyd::e#1 14.666666666666666 +(byte) line_xdyd::e#2 22.0 +(byte) line_xdyd::e#3 4.800000000000001 +(byte) line_xdyd::e#6 11.0 +(byte) line_xdyd::x +(byte) line_xdyd::x#0 0.8 +(byte) line_xdyd::x#1 0.8 +(byte) line_xdyd::x#2 4.125 +(byte) line_xdyd::x#3 8.75 +(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 1.0714285714285714 +(byte) line_xdyd::xd +(byte) line_xdyd::xd#0 2.0 +(byte) line_xdyd::xd#1 2.0 +(byte) line_xdyd::xd#5 1.8571428571428572 +(byte) line_xdyd::y +(byte) line_xdyd::y#0 1.0 +(byte) line_xdyd::y#1 1.0 +(byte) line_xdyd::y#2 11.0 +(byte) line_xdyd::y#3 6.571428571428571 +(byte) line_xdyd::y#5 3.0 +(byte) line_xdyd::y#6 11.0 +(byte) line_xdyd::yd +(byte) line_xdyd::yd#0 4.0 +(byte) line_xdyd::yd#1 4.0 +(byte) line_xdyd::yd#2 1.2142857142857142 (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::$8 22.0 (byte) line_xdyi::e @@ -9776,20 +15215,96 @@ VARIABLE REGISTER WEIGHTS (byte) line_xdyi::e#3 4.800000000000001 (byte) line_xdyi::e#6 11.0 (byte) line_xdyi::x -(byte) line_xdyi::x#0 0.6666666666666666 -(byte) line_xdyi::x#1 4.125 -(byte) line_xdyi::x#2 8.75 +(byte) line_xdyi::x#0 0.8 +(byte) line_xdyi::x#1 0.8 +(byte) line_xdyi::x#2 4.125 +(byte) line_xdyi::x#3 8.75 +(byte) line_xdyi::x#6 3.0 (byte) line_xdyi::x1 -(byte) line_xdyi::x1#0 0.8125 +(byte) line_xdyi::x1#0 1.3333333333333333 +(byte) line_xdyi::x1#1 1.3333333333333333 +(byte) line_xdyi::x1#6 1.0714285714285714 (byte) line_xdyi::xd -(byte) line_xdyi::xd#0 1.5999999999999999 +(byte) line_xdyi::xd#0 2.0 +(byte) line_xdyi::xd#1 2.0 +(byte) line_xdyi::xd#5 1.8571428571428572 (byte) line_xdyi::y -(byte) line_xdyi::y#0 0.8 -(byte) line_xdyi::y#1 11.0 -(byte) line_xdyi::y#2 6.571428571428571 -(byte) line_xdyi::y#5 11.0 +(byte) line_xdyi::y#0 1.0 +(byte) line_xdyi::y#1 1.0 +(byte) line_xdyi::y#2 11.0 +(byte) line_xdyi::y#3 6.571428571428571 +(byte) line_xdyi::y#5 3.0 +(byte) line_xdyi::y#6 11.0 (byte) line_xdyi::yd -(byte) line_xdyi::yd#0 1.0714285714285714 +(byte) line_xdyi::yd#0 4.0 +(byte) line_xdyi::yd#1 4.0 +(byte) line_xdyi::yd#2 1.2142857142857142 +(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::$8 22.0 +(byte) line_ydxd::e +(byte) line_ydxd::e#0 4.0 +(byte) line_ydxd::e#1 14.666666666666666 +(byte) line_ydxd::e#2 22.0 +(byte) line_ydxd::e#3 4.800000000000001 +(byte) line_ydxd::e#6 11.0 +(byte) line_ydxd::x +(byte) line_ydxd::x#0 1.0 +(byte) line_ydxd::x#1 1.0 +(byte) line_ydxd::x#2 11.0 +(byte) line_ydxd::x#3 6.571428571428571 +(byte) line_ydxd::x#5 3.0 +(byte) line_ydxd::x#6 11.0 +(byte) line_ydxd::xd +(byte) line_ydxd::xd#0 4.0 +(byte) line_ydxd::xd#1 4.0 +(byte) line_ydxd::xd#2 1.2142857142857142 +(byte) line_ydxd::y +(byte) line_ydxd::y#0 0.8 +(byte) line_ydxd::y#1 0.8 +(byte) line_ydxd::y#2 4.125 +(byte) line_ydxd::y#3 8.75 +(byte) line_ydxd::y#6 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 1.0714285714285714 +(byte) line_ydxd::yd +(byte) line_ydxd::yd#0 2.0 +(byte) line_ydxd::yd#1 2.0 +(byte) line_ydxd::yd#5 1.8571428571428572 +(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::$8 22.0 +(byte) line_ydxi::e +(byte) line_ydxi::e#0 4.0 +(byte) line_ydxi::e#1 14.666666666666666 +(byte) line_ydxi::e#2 22.0 +(byte) line_ydxi::e#3 4.800000000000001 +(byte) line_ydxi::e#6 11.0 +(byte) line_ydxi::x +(byte) line_ydxi::x#0 1.0 +(byte) line_ydxi::x#1 1.0 +(byte) line_ydxi::x#2 11.0 +(byte) line_ydxi::x#3 6.571428571428571 +(byte) line_ydxi::x#5 3.0 +(byte) line_ydxi::x#6 11.0 +(byte) line_ydxi::xd +(byte) line_ydxi::xd#0 4.0 +(byte) line_ydxi::xd#1 4.0 +(byte) line_ydxi::xd#2 1.2142857142857142 +(byte) line_ydxi::y +(byte) line_ydxi::y#0 0.8 +(byte) line_ydxi::y#1 0.8 +(byte) line_ydxi::y#2 4.125 +(byte) line_ydxi::y#3 8.75 +(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 1.0714285714285714 +(byte) line_ydxi::yd +(byte) line_ydxi::yd#0 2.0 +(byte) line_ydxi::yd#1 2.0 +(byte) line_ydxi::yd#5 1.8571428571428572 (void()) lines() (byte~) lines::$0 50.5 (byte~) lines::$2 50.5 @@ -9819,27 +15334,17 @@ VARIABLE REGISTER WEIGHTS (byte*) plot::plotter_y#1 2.0 (byte*) plot::plotter_y#2 4.0 (byte) plot::x -(byte) plot::x#0 2.0 -(byte) plot::x#1 2.0 -(byte) plot::x#2 2.0 -(byte) plot::x#3 2.0 -(byte) plot::x#4 2.0 -(byte) plot::x#5 2.0 -(byte) plot::x#6 2.0 -(byte) plot::x#7 2.0 -(byte) plot::x#8 11.0 -(byte) plot::x#9 3.0 +(byte) plot::x#0 11.0 +(byte) plot::x#1 11.0 +(byte) plot::x#2 11.0 +(byte) plot::x#3 11.0 +(byte) plot::x#4 4.545454545454545 (byte) plot::y -(byte) plot::y#0 4.0 -(byte) plot::y#1 4.0 -(byte) plot::y#2 4.0 -(byte) plot::y#3 4.0 -(byte) plot::y#4 4.0 -(byte) plot::y#5 4.0 -(byte) plot::y#6 4.0 -(byte) plot::y#7 4.0 -(byte) plot::y#8 22.0 -(byte) plot::y#9 4.428571428571428 +(byte) plot::y#0 22.0 +(byte) plot::y#1 22.0 +(byte) plot::y#2 22.0 +(byte) plot::y#3 22.0 +(byte) plot::y#4 6.857142857142857 (byte[]) plot_bit (byte[]) plot_xhi (byte[]) plot_xlo @@ -9848,11 +15353,32 @@ VARIABLE REGISTER WEIGHTS Initial phi equivalence classes [ lines::l#2 lines::l#1 ] -[ plot::x#9 plot::x#6 plot::x#1 plot::x#3 plot::x#0 plot::x#5 plot::x#7 plot::x#2 plot::x#4 plot::x#8 ] -[ plot::y#9 plot::y#6 plot::y#1 plot::y#3 plot::y#0 plot::y#5 plot::y#7 plot::y#2 plot::y#4 plot::y#8 ] -[ line_xdyi::x#2 line_xdyi::x#0 line_xdyi::x#1 ] -[ line_xdyi::y#2 line_xdyi::y#0 line_xdyi::y#5 line_xdyi::y#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#3 line_ydxd::y#6 line_ydxd::y#1 line_ydxd::y#0 line_ydxd::y#2 ] +[ 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::bit#3 init_plot_tables::bit#4 init_plot_tables::bit#1 ] [ init_plot_tables::y#2 init_plot_tables::y#1 ] @@ -9868,11 +15394,12 @@ 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_xdyi::x1#0 to zero page equivalence class [ line_xdyi::x1#0 ] -Added variable line_xdyi::xd#0 to zero page equivalence class [ line_xdyi::xd#0 ] -Added variable line_xdyi::yd#0 to zero page equivalence class [ line_xdyi::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::$8 to zero page equivalence class [ line_ydxi::$8 ] Added variable plot::$0 to zero page equivalence class [ plot::$0 ] Added variable plot::plotter_x#1 to zero page equivalence class [ plot::plotter_x#1 ] Added variable plot::$1 to zero page equivalence class [ plot::$1 ] @@ -9886,6 +15413,8 @@ Added variable plot::$5 to zero page equivalence class [ plot::$5 ] Added variable plot::$6 to zero page equivalence class [ plot::$6 ] Added variable plot::$7 to zero page equivalence class [ plot::$7 ] Added variable line_xdyi::$8 to zero page equivalence class [ line_xdyi::$8 ] +Added variable line_ydxd::$8 to zero page equivalence class [ line_ydxd::$8 ] +Added variable line_xdyd::$8 to zero page equivalence class [ line_xdyd::$8 ] 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 ] @@ -9894,11 +15423,32 @@ Added variable init_plot_tables::$9 to zero page equivalence class [ init_plot_t Added variable init_plot_tables::$10 to zero page equivalence class [ init_plot_tables::$10 ] Complete equivalence classes [ lines::l#2 lines::l#1 ] -[ plot::x#9 plot::x#6 plot::x#1 plot::x#3 plot::x#0 plot::x#5 plot::x#7 plot::x#2 plot::x#4 plot::x#8 ] -[ plot::y#9 plot::y#6 plot::y#1 plot::y#3 plot::y#0 plot::y#5 plot::y#7 plot::y#2 plot::y#4 plot::y#8 ] -[ line_xdyi::x#2 line_xdyi::x#0 line_xdyi::x#1 ] -[ line_xdyi::y#2 line_xdyi::y#0 line_xdyi::y#5 line_xdyi::y#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#3 line_ydxd::y#6 line_ydxd::y#1 line_ydxd::y#0 line_ydxd::y#2 ] +[ 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::bit#3 init_plot_tables::bit#4 init_plot_tables::bit#1 ] [ init_plot_tables::y#2 init_plot_tables::y#1 ] @@ -9914,11 +15464,12 @@ Complete equivalence classes [ line::y0#0 ] [ line::y1#0 ] [ line::xd#1 ] +[ line::yd#1 ] [ line::yd#0 ] -[ line_xdyi::x1#0 ] -[ line_xdyi::xd#0 ] -[ line_xdyi::yd#0 ] [ line::xd#0 ] +[ line::yd#3 ] +[ line::yd#10 ] +[ line_ydxi::$8 ] [ plot::$0 ] [ plot::plotter_x#1 ] [ plot::$1 ] @@ -9932,6 +15483,8 @@ Complete equivalence classes [ plot::$6 ] [ plot::$7 ] [ line_xdyi::$8 ] +[ line_ydxd::$8 ] +[ line_xdyd::$8 ] [ init_plot_tables::$0 ] [ init_plot_tables::$6 ] [ init_plot_tables::$7 ] @@ -9939,50 +15492,74 @@ Complete equivalence classes [ init_plot_tables::$9 ] [ init_plot_tables::$10 ] Allocated zp ZP_BYTE:2 [ lines::l#2 lines::l#1 ] -Allocated zp ZP_BYTE:3 [ plot::x#9 plot::x#6 plot::x#1 plot::x#3 plot::x#0 plot::x#5 plot::x#7 plot::x#2 plot::x#4 plot::x#8 ] -Allocated zp ZP_BYTE:4 [ plot::y#9 plot::y#6 plot::y#1 plot::y#3 plot::y#0 plot::y#5 plot::y#7 plot::y#2 plot::y#4 plot::y#8 ] -Allocated zp ZP_BYTE:5 [ line_xdyi::x#2 line_xdyi::x#0 line_xdyi::x#1 ] -Allocated zp ZP_BYTE:6 [ line_xdyi::y#2 line_xdyi::y#0 line_xdyi::y#5 line_xdyi::y#1 ] -Allocated zp ZP_BYTE:7 [ line_xdyi::e#3 line_xdyi::e#0 line_xdyi::e#6 line_xdyi::e#2 line_xdyi::e#1 ] -Allocated zp ZP_BYTE:8 [ init_plot_tables::x#2 init_plot_tables::x#1 ] -Allocated zp ZP_BYTE:9 [ init_plot_tables::bit#3 init_plot_tables::bit#4 init_plot_tables::bit#1 ] -Allocated zp ZP_BYTE:10 [ init_plot_tables::y#2 init_plot_tables::y#1 ] -Allocated zp ZP_PTR_BYTE:11 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 ] -Allocated zp ZP_PTR_BYTE:13 [ init_screen::b#2 init_screen::b#1 ] -Allocated zp ZP_PTR_BYTE:15 [ init_screen::c#2 init_screen::c#1 ] -Allocated zp ZP_BYTE:17 [ lines::$0 ] -Allocated zp ZP_BYTE:18 [ lines::$2 ] -Allocated zp ZP_BYTE:19 [ lines::$3 ] -Allocated zp ZP_BYTE:20 [ lines::$5 ] -Allocated zp ZP_BYTE:21 [ line::x0#0 ] -Allocated zp ZP_BYTE:22 [ line::x1#0 ] -Allocated zp ZP_BYTE:23 [ line::y0#0 ] -Allocated zp ZP_BYTE:24 [ line::y1#0 ] -Allocated zp ZP_BYTE:25 [ line::xd#1 ] -Allocated zp ZP_BYTE:26 [ line::yd#0 ] -Allocated zp ZP_BYTE:27 [ line_xdyi::x1#0 ] -Allocated zp ZP_BYTE:28 [ line_xdyi::xd#0 ] -Allocated zp ZP_BYTE:29 [ line_xdyi::yd#0 ] -Allocated zp ZP_BYTE:30 [ line::xd#0 ] -Allocated zp ZP_BYTE:31 [ plot::$0 ] -Allocated zp ZP_PTR_BYTE:32 [ plot::plotter_x#1 ] -Allocated zp ZP_BYTE:34 [ plot::$1 ] -Allocated zp ZP_PTR_BYTE:35 [ plot::plotter_x#2 ] -Allocated zp ZP_BYTE:37 [ plot::$2 ] -Allocated zp ZP_PTR_BYTE:38 [ plot::plotter_y#1 ] -Allocated zp ZP_BYTE:40 [ plot::$3 ] -Allocated zp ZP_PTR_BYTE:41 [ plot::plotter_y#2 ] -Allocated zp ZP_PTR_BYTE:43 [ plot::plotter#0 ] -Allocated zp ZP_BYTE:45 [ plot::$5 ] -Allocated zp ZP_BYTE:46 [ plot::$6 ] -Allocated zp ZP_BYTE:47 [ plot::$7 ] -Allocated zp ZP_BYTE:48 [ line_xdyi::$8 ] -Allocated zp ZP_BYTE:49 [ init_plot_tables::$0 ] -Allocated zp ZP_BYTE:50 [ init_plot_tables::$6 ] -Allocated zp ZP_BYTE:51 [ init_plot_tables::$7 ] -Allocated zp ZP_BYTE:52 [ init_plot_tables::$8 ] -Allocated zp ZP_BYTE:53 [ init_plot_tables::$9 ] -Allocated zp ZP_BYTE:54 [ init_plot_tables::$10 ] +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#3 line_ydxd::y#6 line_ydxd::y#1 line_ydxd::y#0 line_ydxd::y#2 ] +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::bit#3 init_plot_tables::bit#4 init_plot_tables::bit#1 ] +Allocated zp ZP_BYTE:31 [ init_plot_tables::y#2 init_plot_tables::y#1 ] +Allocated zp ZP_PTR_BYTE:32 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 ] +Allocated zp ZP_PTR_BYTE:34 [ init_screen::b#2 init_screen::b#1 ] +Allocated zp ZP_PTR_BYTE:36 [ init_screen::c#2 init_screen::c#1 ] +Allocated zp ZP_BYTE:38 [ lines::$0 ] +Allocated zp ZP_BYTE:39 [ lines::$2 ] +Allocated zp ZP_BYTE:40 [ lines::$3 ] +Allocated zp ZP_BYTE:41 [ lines::$5 ] +Allocated zp ZP_BYTE:42 [ line::x0#0 ] +Allocated zp ZP_BYTE:43 [ line::x1#0 ] +Allocated zp ZP_BYTE:44 [ line::y0#0 ] +Allocated zp ZP_BYTE:45 [ line::y1#0 ] +Allocated zp ZP_BYTE:46 [ line::xd#1 ] +Allocated zp ZP_BYTE:47 [ line::yd#1 ] +Allocated zp ZP_BYTE:48 [ line::yd#0 ] +Allocated zp ZP_BYTE:49 [ line::xd#0 ] +Allocated zp ZP_BYTE:50 [ line::yd#3 ] +Allocated zp ZP_BYTE:51 [ line::yd#10 ] +Allocated zp ZP_BYTE:52 [ line_ydxi::$8 ] +Allocated zp ZP_BYTE:53 [ plot::$0 ] +Allocated zp ZP_PTR_BYTE:54 [ plot::plotter_x#1 ] +Allocated zp ZP_BYTE:56 [ plot::$1 ] +Allocated zp ZP_PTR_BYTE:57 [ plot::plotter_x#2 ] +Allocated zp ZP_BYTE:59 [ plot::$2 ] +Allocated zp ZP_PTR_BYTE:60 [ plot::plotter_y#1 ] +Allocated zp ZP_BYTE:62 [ plot::$3 ] +Allocated zp ZP_PTR_BYTE:63 [ plot::plotter_y#2 ] +Allocated zp ZP_PTR_BYTE:65 [ plot::plotter#0 ] +Allocated zp ZP_BYTE:67 [ plot::$5 ] +Allocated zp ZP_BYTE:68 [ plot::$6 ] +Allocated zp ZP_BYTE:69 [ plot::$7 ] +Allocated zp ZP_BYTE:70 [ line_xdyi::$8 ] +Allocated zp ZP_BYTE:71 [ line_ydxd::$8 ] +Allocated zp ZP_BYTE:72 [ line_xdyd::$8 ] +Allocated zp ZP_BYTE:73 [ init_plot_tables::$0 ] +Allocated zp ZP_BYTE:74 [ init_plot_tables::$6 ] +Allocated zp ZP_BYTE:75 [ init_plot_tables::$7 ] +Allocated zp ZP_BYTE:76 [ init_plot_tables::$8 ] +Allocated zp ZP_BYTE:77 [ init_plot_tables::$9 ] +Allocated zp ZP_BYTE:78 [ init_plot_tables::$10 ] INITIAL ASM //SEG0 Global Constants & labels .const COLS = $d800 @@ -10011,9 +15588,9 @@ INITIAL ASM lines_y: .byte $a, $28, $3c, $50, $6e, $50, $3c, $28, $a //SEG1 @begin bbegin: - jmp b7 -//SEG2 @7 -b7: + jmp b10 +//SEG2 @10 +b10: //SEG3 [0] call main param-assignment [ ] jsr main jmp bend @@ -10034,14 +15611,14 @@ main: { lda #$18 sta D018 //SEG10 [5] call init_screen param-assignment [ ] - //SEG11 [116] phi from main to init_screen [phi:main->init_screen] + //SEG11 [186] phi from main to init_screen [phi:main->init_screen] init_screen_from_main: jsr init_screen jmp b3 //SEG12 main::@3 b3: //SEG13 [6] call init_plot_tables param-assignment [ ] - //SEG14 [91] phi from main::@3 to init_plot_tables [phi:main::@3->init_plot_tables] + //SEG14 [161] phi from main::@3 to init_plot_tables [phi:main::@3->init_plot_tables] init_plot_tables_from_b3: jsr init_plot_tables jmp b1 @@ -10064,10 +15641,10 @@ main: { } //SEG22 lines lines: { - .label _0 = 17 - .label _2 = 18 - .label _3 = 19 - .label _5 = 20 + .label _0 = 38 + .label _2 = 39 + .label _3 = 40 + .label _5 = 41 .label l = 2 //SEG23 [11] phi from lines to lines::@1 [phi:lines->lines::@1] b1_from_lines: @@ -10128,20 +15705,23 @@ lines: { } //SEG42 line line: { - .label x0 = 21 - .label x1 = 22 - .label y0 = 23 - .label y1 = 24 - .label xd = 30 - .label xd_1 = 25 - .label yd = 26 + .label x0 = 42 + .label x1 = 43 + .label y0 = 44 + .label y1 = 45 + .label xd = 49 + .label xd_1 = 46 + .label yd = 48 + .label yd_1 = 47 + .label yd_3 = 50 + .label yd_10 = 51 //SEG43 [24] if((byte) line::x0#0>=(byte) line::x1#0) goto line::@1 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] -- zpby1_ge_zpby2_then_la1 lda x0 cmp x1 bcs b1 - jmp b9 - //SEG44 line::@9 - b9: + jmp b15 + //SEG44 line::@15 + b15: //SEG45 [25] (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 ] -- zpby1=zpby2_minus_zpby3 lda x1 sec @@ -10151,229 +15731,422 @@ line: { lda y0 cmp y1 bcs b2 - jmp b10 - //SEG47 line::@10 - b10: - //SEG48 [27] (byte) line::yd#0 ← (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#0 ] -- zpby1=zpby2_minus_zpby3 + jmp b16 + //SEG47 line::@16 + b16: + //SEG48 [27] (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 ] -- zpby1=zpby2_minus_zpby3 lda y1 sec sbc y0 - sta yd - //SEG49 [28] if((byte) line::yd#0>=(byte) line::xd#1) goto line::@3 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#0 ] -- zpby1_ge_zpby2_then_la1 - lda yd + sta yd_1 + //SEG49 [28] 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 ] -- zpby1_ge_zpby2_then_la1 + lda yd_1 cmp xd_1 bcs b3 - jmp b11 - //SEG50 line::@11 - b11: - //SEG51 [29] (byte) line_xdyi::x#0 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::xd#1 line::yd#0 line_xdyi::x#0 ] -- zpby1=zpby2 + jmp b17 + //SEG50 line::@17 + b17: + //SEG51 [29] (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 ] -- zpby1=zpby2 lda x0 sta line_xdyi.x - //SEG52 [30] (byte) line_xdyi::y#0 ← (byte) line::y0#0 [ line::x1#0 line::xd#1 line::yd#0 line_xdyi::x#0 line_xdyi::y#0 ] -- zpby1=zpby2 + //SEG52 [30] (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 ] -- zpby1=zpby2 lda y0 sta line_xdyi.y - //SEG53 [31] (byte) line_xdyi::x1#0 ← (byte) line::x1#0 [ line::xd#1 line::yd#0 line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 ] -- zpby1=zpby2 + //SEG53 [31] (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 ] -- zpby1=zpby2 lda x1 sta line_xdyi.x1 - //SEG54 [32] (byte) line_xdyi::xd#0 ← (byte) line::xd#1 [ line::yd#0 line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 ] -- zpby1=zpby2 + //SEG54 [32] (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 ] -- zpby1=zpby2 lda xd_1 sta line_xdyi.xd - //SEG55 [33] (byte) line_xdyi::yd#0 ← (byte) line::yd#0 [ line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 ] -- zpby1=zpby2 - lda yd + //SEG55 [33] (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 ] -- zpby1=zpby2 + lda yd_1 sta line_xdyi.yd //SEG56 [34] call line_xdyi param-assignment [ ] + //SEG57 [116] phi from line::@17 to line_xdyi [phi:line::@17->line_xdyi] + line_xdyi_from_b17: + //SEG58 [116] phi (byte) line_xdyi::x1#6 = (byte) line_xdyi::x1#0 [phi:line::@17->line_xdyi#0] -- register_copy + //SEG59 [116] phi (byte) line_xdyi::xd#5 = (byte) line_xdyi::xd#0 [phi:line::@17->line_xdyi#1] -- register_copy + //SEG60 [116] phi (byte) line_xdyi::y#5 = (byte) line_xdyi::y#0 [phi:line::@17->line_xdyi#2] -- register_copy + //SEG61 [116] phi (byte) line_xdyi::x#6 = (byte) line_xdyi::x#0 [phi:line::@17->line_xdyi#3] -- register_copy + //SEG62 [116] phi (byte) line_xdyi::yd#2 = (byte) line_xdyi::yd#0 [phi:line::@17->line_xdyi#4] -- register_copy jsr line_xdyi jmp breturn - //SEG57 line::@return + //SEG63 line::@return breturn: - //SEG58 [35] return [ ] + //SEG64 [35] return [ ] rts - //SEG59 line::@3 + //SEG65 line::@3 b3: - //SEG60 [36] (byte) plot::x#2 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#2 ] -- zpby1=zpby2 - lda x0 - sta plot.x - //SEG61 [37] (byte) plot::y#2 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#2 plot::y#2 ] -- zpby1=zpby2 + //SEG66 [36] (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 ] -- zpby1=zpby2 lda y0 - sta plot.y - //SEG62 [38] call plot param-assignment [ line::x1#0 line::y1#0 ] - //SEG63 [62] phi from line::@3 to plot [phi:line::@3->plot] - plot_from_b3: - //SEG64 [62] phi (byte) plot::y#9 = (byte) plot::y#2 [phi:line::@3->plot#0] -- register_copy - //SEG65 [62] phi (byte) plot::x#9 = (byte) plot::x#2 [phi:line::@3->plot#1] -- register_copy - jsr plot - jmp b19 - //SEG66 line::@19 - b19: - //SEG67 [39] (byte) plot::x#3 ← (byte) line::x1#0 [ line::y1#0 plot::x#3 ] -- zpby1=zpby2 - lda x1 - sta plot.x - //SEG68 [40] (byte) plot::y#3 ← (byte) line::y1#0 [ plot::x#3 plot::y#3 ] -- zpby1=zpby2 + sta line_ydxi.y + //SEG67 [37] (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 ] -- zpby1=zpby2 + lda x0 + sta line_ydxi.x + //SEG68 [38] (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 ] -- zpby1=zpby2 lda y1 - sta plot.y - //SEG69 [41] call plot param-assignment [ ] - //SEG70 [62] phi from line::@19 to plot [phi:line::@19->plot] - plot_from_b19: - //SEG71 [62] phi (byte) plot::y#9 = (byte) plot::y#3 [phi:line::@19->plot#0] -- register_copy - //SEG72 [62] phi (byte) plot::x#9 = (byte) plot::x#3 [phi:line::@19->plot#1] -- register_copy - jsr plot + sta line_ydxi.y1 + //SEG69 [39] (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 ] -- zpby1=zpby2 + lda yd_1 + sta line_ydxi.yd + //SEG70 [40] (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 ] -- zpby1=zpby2 + lda xd_1 + sta line_ydxi.xd + //SEG71 [41] call line_ydxi param-assignment [ ] + //SEG72 [86] phi from line::@3 to line_ydxi [phi:line::@3->line_ydxi] + line_ydxi_from_b3: + //SEG73 [86] phi (byte) line_ydxi::y1#6 = (byte) line_ydxi::y1#0 [phi:line::@3->line_ydxi#0] -- register_copy + //SEG74 [86] phi (byte) line_ydxi::yd#5 = (byte) line_ydxi::yd#0 [phi:line::@3->line_ydxi#1] -- register_copy + //SEG75 [86] phi (byte) line_ydxi::y#6 = (byte) line_ydxi::y#0 [phi:line::@3->line_ydxi#2] -- register_copy + //SEG76 [86] phi (byte) line_ydxi::x#5 = (byte) line_ydxi::x#0 [phi:line::@3->line_ydxi#3] -- register_copy + //SEG77 [86] phi (byte) line_ydxi::xd#2 = (byte) line_ydxi::xd#0 [phi:line::@3->line_ydxi#4] -- register_copy + jsr line_ydxi jmp breturn - //SEG73 line::@2 + //SEG78 line::@2 b2: - //SEG74 [42] (byte) plot::x#0 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#0 ] -- zpby1=zpby2 - lda x0 - sta plot.x - //SEG75 [43] (byte) plot::y#0 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#0 plot::y#0 ] -- zpby1=zpby2 + //SEG79 [42] (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 ] -- zpby1=zpby2_minus_zpby3 lda y0 - sta plot.y - //SEG76 [44] call plot param-assignment [ line::x1#0 line::y1#0 ] - //SEG77 [62] phi from line::@2 to plot [phi:line::@2->plot] - plot_from_b2: - //SEG78 [62] phi (byte) plot::y#9 = (byte) plot::y#0 [phi:line::@2->plot#0] -- register_copy - //SEG79 [62] phi (byte) plot::x#9 = (byte) plot::x#0 [phi:line::@2->plot#1] -- register_copy - jsr plot - jmp b17 - //SEG80 line::@17 - b17: - //SEG81 [45] (byte) plot::x#1 ← (byte) line::x1#0 [ line::y1#0 plot::x#1 ] -- zpby1=zpby2 - lda x1 - sta plot.x - //SEG82 [46] (byte) plot::y#1 ← (byte) line::y1#0 [ plot::x#1 plot::y#1 ] -- zpby1=zpby2 - lda y1 - sta plot.y - //SEG83 [47] call plot param-assignment [ ] - //SEG84 [62] phi from line::@17 to plot [phi:line::@17->plot] - plot_from_b17: - //SEG85 [62] phi (byte) plot::y#9 = (byte) plot::y#1 [phi:line::@17->plot#0] -- register_copy - //SEG86 [62] phi (byte) plot::x#9 = (byte) plot::x#1 [phi:line::@17->plot#1] -- register_copy - jsr plot - jmp breturn - //SEG87 line::@1 - b1: - //SEG88 [48] (byte) line::xd#0 ← (byte) line::x1#0 - (byte) line::x0#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] -- zpby1=zpby2_minus_zpby3 - lda x1 sec - sbc x0 + sbc y1 + sta yd + //SEG80 [43] 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 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp xd_1 + bcs b6 + jmp b20 + //SEG81 line::@20 + b20: + //SEG82 [44] (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 ] -- zpby1=zpby2 + lda x0 + sta line_xdyd.x + //SEG83 [45] (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 ] -- zpby1=zpby2 + lda y0 + sta line_xdyd.y + //SEG84 [46] (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 ] -- zpby1=zpby2 + lda x1 + sta line_xdyd.x1 + //SEG85 [47] (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 ] -- zpby1=zpby2 + lda xd_1 + sta line_xdyd.xd + //SEG86 [48] (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 ] -- zpby1=zpby2 + lda yd + sta line_xdyd.yd + //SEG87 [49] call line_xdyd param-assignment [ ] + //SEG88 [146] phi from line::@20 to line_xdyd [phi:line::@20->line_xdyd] + line_xdyd_from_b20: + //SEG89 [146] phi (byte) line_xdyd::x1#6 = (byte) line_xdyd::x1#0 [phi:line::@20->line_xdyd#0] -- register_copy + //SEG90 [146] phi (byte) line_xdyd::xd#5 = (byte) line_xdyd::xd#0 [phi:line::@20->line_xdyd#1] -- register_copy + //SEG91 [146] phi (byte) line_xdyd::y#5 = (byte) line_xdyd::y#0 [phi:line::@20->line_xdyd#2] -- register_copy + //SEG92 [146] phi (byte) line_xdyd::x#6 = (byte) line_xdyd::x#0 [phi:line::@20->line_xdyd#3] -- register_copy + //SEG93 [146] phi (byte) line_xdyd::yd#2 = (byte) line_xdyd::yd#0 [phi:line::@20->line_xdyd#4] -- register_copy + jsr line_xdyd + jmp breturn + //SEG94 line::@6 + b6: + //SEG95 [50] (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 ] -- zpby1=zpby2 + lda y1 + sta line_ydxd.y + //SEG96 [51] (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 ] -- zpby1=zpby2 + lda x1 + sta line_ydxd.x + //SEG97 [52] (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 ] -- zpby1=zpby2 + lda y0 + sta line_ydxd.y1 + //SEG98 [53] (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 ] -- zpby1=zpby2 + lda yd + sta line_ydxd.yd + //SEG99 [54] (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 ] -- zpby1=zpby2 + lda xd_1 + sta line_ydxd.xd + //SEG100 [55] call line_ydxd param-assignment [ ] + //SEG101 [131] phi from line::@6 to line_ydxd [phi:line::@6->line_ydxd] + line_ydxd_from_b6: + //SEG102 [131] phi (byte) line_ydxd::y1#6 = (byte) line_ydxd::y1#0 [phi:line::@6->line_ydxd#0] -- register_copy + //SEG103 [131] phi (byte) line_ydxd::yd#5 = (byte) line_ydxd::yd#0 [phi:line::@6->line_ydxd#1] -- register_copy + //SEG104 [131] phi (byte) line_ydxd::y#6 = (byte) line_ydxd::y#0 [phi:line::@6->line_ydxd#2] -- register_copy + //SEG105 [131] phi (byte) line_ydxd::x#5 = (byte) line_ydxd::x#0 [phi:line::@6->line_ydxd#3] -- register_copy + //SEG106 [131] phi (byte) line_ydxd::xd#2 = (byte) line_ydxd::xd#0 [phi:line::@6->line_ydxd#4] -- register_copy + jsr line_ydxd + jmp breturn + //SEG107 line::@1 + b1: + //SEG108 [56] (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 ] -- zpby1=zpby2_minus_zpby3 + lda x0 + sec + sbc x1 sta xd - //SEG89 [49] if((byte) line::y0#0>=(byte) line::y1#0) goto line::@7 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] -- zpby1_ge_zpby2_then_la1 + //SEG109 [57] 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 ] -- zpby1_ge_zpby2_then_la1 lda y0 cmp y1 - bcs b7 - jmp b15 - //SEG90 line::@15 - b15: - //SEG91 [50] (byte) plot::x#6 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#6 ] -- zpby1=zpby2 - lda x0 - sta plot.x - //SEG92 [51] (byte) plot::y#6 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#6 plot::y#6 ] -- zpby1=zpby2 - lda y0 - sta plot.y - //SEG93 [52] call plot param-assignment [ line::x1#0 line::y1#0 ] - //SEG94 [62] phi from line::@15 to plot [phi:line::@15->plot] - plot_from_b15: - //SEG95 [62] phi (byte) plot::y#9 = (byte) plot::y#6 [phi:line::@15->plot#0] -- register_copy - //SEG96 [62] phi (byte) plot::x#9 = (byte) plot::x#6 [phi:line::@15->plot#1] -- register_copy - jsr plot + bcs b9 + jmp b23 + //SEG110 line::@23 + b23: + //SEG111 [58] (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 ] -- zpby1=zpby2_minus_zpby3 + lda y1 + sec + sbc y0 + sta yd_3 + //SEG112 [59] 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 ] -- zpby1_ge_zpby2_then_la1 + lda yd_3 + cmp xd + bcs b10 jmp b24 - //SEG97 line::@24 + //SEG113 line::@24 b24: - //SEG98 [53] (byte) plot::x#7 ← (byte) line::x1#0 [ line::y1#0 plot::x#7 ] -- zpby1=zpby2 + //SEG114 [60] (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 ] -- zpby1=zpby2 lda x1 - sta plot.x - //SEG99 [54] (byte) plot::y#7 ← (byte) line::y1#0 [ plot::x#7 plot::y#7 ] -- zpby1=zpby2 + sta line_xdyd.x + //SEG115 [61] (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 ] -- zpby1=zpby2 lda y1 - sta plot.y - //SEG100 [55] call plot param-assignment [ ] - //SEG101 [62] phi from line::@24 to plot [phi:line::@24->plot] - plot_from_b24: - //SEG102 [62] phi (byte) plot::y#9 = (byte) plot::y#7 [phi:line::@24->plot#0] -- register_copy - //SEG103 [62] phi (byte) plot::x#9 = (byte) plot::x#7 [phi:line::@24->plot#1] -- register_copy - jsr plot - jmp breturn - //SEG104 line::@7 - b7: - //SEG105 [56] (byte) plot::x#4 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#4 ] -- zpby1=zpby2 + sta line_xdyd.y + //SEG116 [62] (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 ] -- zpby1=zpby2 lda x0 - sta plot.x - //SEG106 [57] (byte) plot::y#4 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#4 plot::y#4 ] -- zpby1=zpby2 + sta line_xdyd.x1 + //SEG117 [63] (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 ] -- zpby1=zpby2 + lda xd + sta line_xdyd.xd + //SEG118 [64] (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 ] -- zpby1=zpby2 + lda yd_3 + sta line_xdyd.yd + //SEG119 [65] call line_xdyd param-assignment [ ] + //SEG120 [146] phi from line::@24 to line_xdyd [phi:line::@24->line_xdyd] + line_xdyd_from_b24: + //SEG121 [146] phi (byte) line_xdyd::x1#6 = (byte) line_xdyd::x1#1 [phi:line::@24->line_xdyd#0] -- register_copy + //SEG122 [146] phi (byte) line_xdyd::xd#5 = (byte) line_xdyd::xd#1 [phi:line::@24->line_xdyd#1] -- register_copy + //SEG123 [146] phi (byte) line_xdyd::y#5 = (byte) line_xdyd::y#1 [phi:line::@24->line_xdyd#2] -- register_copy + //SEG124 [146] phi (byte) line_xdyd::x#6 = (byte) line_xdyd::x#1 [phi:line::@24->line_xdyd#3] -- register_copy + //SEG125 [146] phi (byte) line_xdyd::yd#2 = (byte) line_xdyd::yd#1 [phi:line::@24->line_xdyd#4] -- register_copy + jsr line_xdyd + jmp breturn + //SEG126 line::@10 + b10: + //SEG127 [66] (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 ] -- zpby1=zpby2 lda y0 - sta plot.y - //SEG107 [58] call plot param-assignment [ line::x1#0 line::y1#0 ] - //SEG108 [62] phi from line::@7 to plot [phi:line::@7->plot] - plot_from_b7: - //SEG109 [62] phi (byte) plot::y#9 = (byte) plot::y#4 [phi:line::@7->plot#0] -- register_copy - //SEG110 [62] phi (byte) plot::x#9 = (byte) plot::x#4 [phi:line::@7->plot#1] -- register_copy - jsr plot - jmp b22 - //SEG111 line::@22 - b22: - //SEG112 [59] (byte) plot::x#5 ← (byte) line::x1#0 [ line::y1#0 plot::x#5 ] -- zpby1=zpby2 - lda x1 - sta plot.x - //SEG113 [60] (byte) plot::y#5 ← (byte) line::y1#0 [ plot::x#5 plot::y#5 ] -- zpby1=zpby2 + sta line_ydxd.y + //SEG128 [67] (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 ] -- zpby1=zpby2 + lda x0 + sta line_ydxd.x + //SEG129 [68] (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 ] -- zpby1=zpby2 lda y1 - sta plot.y - //SEG114 [61] call plot param-assignment [ ] - //SEG115 [62] phi from line::@22 to plot [phi:line::@22->plot] - plot_from_b22: - //SEG116 [62] phi (byte) plot::y#9 = (byte) plot::y#5 [phi:line::@22->plot#0] -- register_copy - //SEG117 [62] phi (byte) plot::x#9 = (byte) plot::x#5 [phi:line::@22->plot#1] -- register_copy - jsr plot + sta line_ydxd.y1 + //SEG130 [69] (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 ] -- zpby1=zpby2 + lda yd_3 + sta line_ydxd.yd + //SEG131 [70] (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 ] -- zpby1=zpby2 + lda xd + sta line_ydxd.xd + //SEG132 [71] call line_ydxd param-assignment [ ] + //SEG133 [131] phi from line::@10 to line_ydxd [phi:line::@10->line_ydxd] + line_ydxd_from_b10: + //SEG134 [131] phi (byte) line_ydxd::y1#6 = (byte) line_ydxd::y1#1 [phi:line::@10->line_ydxd#0] -- register_copy + //SEG135 [131] phi (byte) line_ydxd::yd#5 = (byte) line_ydxd::yd#1 [phi:line::@10->line_ydxd#1] -- register_copy + //SEG136 [131] phi (byte) line_ydxd::y#6 = (byte) line_ydxd::y#1 [phi:line::@10->line_ydxd#2] -- register_copy + //SEG137 [131] phi (byte) line_ydxd::x#5 = (byte) line_ydxd::x#1 [phi:line::@10->line_ydxd#3] -- register_copy + //SEG138 [131] phi (byte) line_ydxd::xd#2 = (byte) line_ydxd::xd#1 [phi:line::@10->line_ydxd#4] -- register_copy + jsr line_ydxd + jmp breturn + //SEG139 line::@9 + b9: + //SEG140 [72] (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 ] -- zpby1=zpby2_minus_zpby3 + lda y0 + sec + sbc y1 + sta yd_10 + //SEG141 [73] 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 ] -- zpby1_ge_zpby2_then_la1 + lda yd_10 + cmp xd + bcs b13 + jmp b27 + //SEG142 line::@27 + b27: + //SEG143 [74] (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 ] -- zpby1=zpby2 + lda x1 + sta line_xdyi.x + //SEG144 [75] (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 ] -- zpby1=zpby2 + lda y1 + sta line_xdyi.y + //SEG145 [76] (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 ] -- zpby1=zpby2 + lda x0 + sta line_xdyi.x1 + //SEG146 [77] (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 ] -- zpby1=zpby2 + lda xd + sta line_xdyi.xd + //SEG147 [78] (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 ] -- zpby1=zpby2 + lda yd_10 + sta line_xdyi.yd + //SEG148 [79] call line_xdyi param-assignment [ ] + //SEG149 [116] phi from line::@27 to line_xdyi [phi:line::@27->line_xdyi] + line_xdyi_from_b27: + //SEG150 [116] phi (byte) line_xdyi::x1#6 = (byte) line_xdyi::x1#1 [phi:line::@27->line_xdyi#0] -- register_copy + //SEG151 [116] phi (byte) line_xdyi::xd#5 = (byte) line_xdyi::xd#1 [phi:line::@27->line_xdyi#1] -- register_copy + //SEG152 [116] phi (byte) line_xdyi::y#5 = (byte) line_xdyi::y#1 [phi:line::@27->line_xdyi#2] -- register_copy + //SEG153 [116] phi (byte) line_xdyi::x#6 = (byte) line_xdyi::x#1 [phi:line::@27->line_xdyi#3] -- register_copy + //SEG154 [116] phi (byte) line_xdyi::yd#2 = (byte) line_xdyi::yd#1 [phi:line::@27->line_xdyi#4] -- register_copy + jsr line_xdyi + jmp breturn + //SEG155 line::@13 + b13: + //SEG156 [80] (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 ] -- zpby1=zpby2 + lda y1 + sta line_ydxi.y + //SEG157 [81] (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 ] -- zpby1=zpby2 + lda x1 + sta line_ydxi.x + //SEG158 [82] (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 ] -- zpby1=zpby2 + lda y0 + sta line_ydxi.y1 + //SEG159 [83] (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 ] -- zpby1=zpby2 + lda yd_10 + sta line_ydxi.yd + //SEG160 [84] (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 ] -- zpby1=zpby2 + lda xd + sta line_ydxi.xd + //SEG161 [85] call line_ydxi param-assignment [ ] + //SEG162 [86] phi from line::@13 to line_ydxi [phi:line::@13->line_ydxi] + line_ydxi_from_b13: + //SEG163 [86] phi (byte) line_ydxi::y1#6 = (byte) line_ydxi::y1#1 [phi:line::@13->line_ydxi#0] -- register_copy + //SEG164 [86] phi (byte) line_ydxi::yd#5 = (byte) line_ydxi::yd#1 [phi:line::@13->line_ydxi#1] -- register_copy + //SEG165 [86] phi (byte) line_ydxi::y#6 = (byte) line_ydxi::y#1 [phi:line::@13->line_ydxi#2] -- register_copy + //SEG166 [86] phi (byte) line_ydxi::x#5 = (byte) line_ydxi::x#1 [phi:line::@13->line_ydxi#3] -- register_copy + //SEG167 [86] phi (byte) line_ydxi::xd#2 = (byte) line_ydxi::xd#1 [phi:line::@13->line_ydxi#4] -- register_copy + jsr line_ydxi jmp breturn } -//SEG118 plot +//SEG168 line_ydxi +line_ydxi: { + .label _8 = 52 + .label y = 7 + .label x = 6 + .label y1 = 5 + .label yd = 4 + .label xd = 3 + .label e = 8 + //SEG169 [87] (byte) line_ydxi::e#0 ← (byte) line_ydxi::xd#2 >> (byte) 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 ] -- zpby1=zpby2_ror_1 + lda xd + lsr + sta e + //SEG170 [88] 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: + //SEG171 [88] phi (byte) line_ydxi::e#3 = (byte) line_ydxi::e#0 [phi:line_ydxi/line_ydxi::@2->line_ydxi::@1#0] -- register_copy + //SEG172 [88] phi (byte) line_ydxi::y#3 = (byte) line_ydxi::y#6 [phi:line_ydxi/line_ydxi::@2->line_ydxi::@1#1] -- register_copy + //SEG173 [88] 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 + //SEG174 line_ydxi::@1 + b1: + //SEG175 [89] (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 ] -- zpby1=zpby2 + lda x + sta plot.x + //SEG176 [90] (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 ] -- zpby1=zpby2 + lda y + sta plot.y + //SEG177 [91] 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 ] + //SEG178 [101] phi from line_ydxi::@1 to plot [phi:line_ydxi::@1->plot] + plot_from_b1: + //SEG179 [101] phi (byte) plot::y#4 = (byte) plot::y#2 [phi:line_ydxi::@1->plot#0] -- register_copy + //SEG180 [101] phi (byte) plot::x#4 = (byte) plot::x#2 [phi:line_ydxi::@1->plot#1] -- register_copy + jsr plot + jmp b5 + //SEG181 line_ydxi::@5 + b5: + //SEG182 [92] (byte) line_ydxi::y#2 ← (byte) line_ydxi::y#3 + (byte) 1 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::e#3 line_ydxi::y#2 ] -- zpby1=zpby1_plus_1 + inc y + //SEG183 [93] (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 ] -- zpby1=zpby1_plus_zpby2 + lda e + clc + adc xd + sta e + //SEG184 [94] 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 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp e + bcs b2_from_b5 + jmp b3 + //SEG185 line_ydxi::@3 + b3: + //SEG186 [95] (byte) line_ydxi::x#2 ← (byte) line_ydxi::x#3 + (byte) 1 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::e#1 line_ydxi::x#2 ] -- zpby1=zpby1_plus_1 + inc x + //SEG187 [96] (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 ] -- zpby1=zpby1_minus_zpby2 + lda e + sec + sbc yd + sta e + //SEG188 [97] 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: + //SEG189 [97] phi (byte) line_ydxi::e#6 = (byte) line_ydxi::e#2 [phi:line_ydxi::@3/line_ydxi::@5->line_ydxi::@2#0] -- register_copy + //SEG190 [97] 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 + //SEG191 line_ydxi::@2 + b2: + //SEG192 [98] (byte~) line_ydxi::$8 ← (byte) line_ydxi::y1#6 + (byte) 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::$8 ] -- zpby1=zpby2_plus_1 + lda y1 + clc + adc #1 + sta _8 + //SEG193 [99] if((byte) line_ydxi::y#2<(byte~) line_ydxi::$8) 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 ] -- zpby1_lt_zpby2_then_la1 + lda y + cmp _8 + bcc b1_from_b2 + jmp breturn + //SEG194 line_ydxi::@return + breturn: + //SEG195 [100] return [ ] + rts +} +//SEG196 plot plot: { - .label _0 = 31 - .label _1 = 34 - .label _2 = 37 - .label _3 = 40 - .label _5 = 45 - .label _6 = 46 - .label _7 = 47 - .label x = 3 - .label y = 4 - .label plotter_x = 32 - .label plotter_x_2 = 35 - .label plotter_y = 38 - .label plotter_y_2 = 41 - .label plotter = 43 - //SEG119 [63] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#9 [ plot::x#9 plot::y#9 plot::$0 ] -- zpby1=cowo1_staridx_zpby2 + .label _0 = 53 + .label _1 = 56 + .label _2 = 59 + .label _3 = 62 + .label _5 = 67 + .label _6 = 68 + .label _7 = 69 + .label x = 9 + .label y = 10 + .label plotter_x = 54 + .label plotter_x_2 = 57 + .label plotter_y = 60 + .label plotter_y_2 = 63 + .label plotter = 65 + //SEG197 [102] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#4 [ plot::x#4 plot::y#4 plot::$0 ] -- zpby1=cowo1_staridx_zpby2 ldx x lda plot_xhi,x sta _0 - //SEG120 [64] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#9 plot::y#9 plot::plotter_x#1 ] -- zpptrby1=coby1_sethi_zpby1 + //SEG198 [103] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#4 plot::y#4 plot::plotter_x#1 ] -- zpptrby1=coby1_sethi_zpby1 lda #<0 sta plotter_x lda _0 sta plotter_x+1 - //SEG121 [65] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#9 [ plot::x#9 plot::y#9 plot::plotter_x#1 plot::$1 ] -- zpby1=cowo1_staridx_zpby2 + //SEG199 [104] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#4 [ plot::x#4 plot::y#4 plot::plotter_x#1 plot::$1 ] -- zpby1=cowo1_staridx_zpby2 ldx x lda plot_xlo,x sta _1 - //SEG122 [66] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#9 plot::y#9 plot::plotter_x#2 ] -- zpptrby1=zpptrby2_setlo_zpby1 + //SEG200 [105] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#4 plot::y#4 plot::plotter_x#2 ] -- zpptrby1=zpptrby2_setlo_zpby1 lda _1 sta plotter_x_2 lda plotter_x+1 sta plotter_x_2+1 - //SEG123 [67] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#9 [ plot::x#9 plot::y#9 plot::plotter_x#2 plot::$2 ] -- zpby1=cowo1_staridx_zpby2 + //SEG201 [106] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#4 [ plot::x#4 plot::y#4 plot::plotter_x#2 plot::$2 ] -- zpby1=cowo1_staridx_zpby2 ldx y lda plot_yhi,x sta _2 - //SEG124 [68] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#9 plot::y#9 plot::plotter_x#2 plot::plotter_y#1 ] -- zpptrby1=coby1_sethi_zpby1 + //SEG202 [107] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#4 plot::y#4 plot::plotter_x#2 plot::plotter_y#1 ] -- zpptrby1=coby1_sethi_zpby1 lda #<0 sta plotter_y lda _2 sta plotter_y+1 - //SEG125 [69] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#9 [ plot::x#9 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] -- zpby1=cowo1_staridx_zpby2 + //SEG203 [108] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#4 [ plot::x#4 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] -- zpby1=cowo1_staridx_zpby2 ldx y lda plot_ylo,x sta _3 - //SEG126 [70] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#9 plot::plotter_x#2 plot::plotter_y#2 ] -- zpptrby1=zpptrby2_setlo_zpby1 + //SEG204 [109] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#4 plot::plotter_x#2 plot::plotter_y#2 ] -- zpptrby1=zpptrby2_setlo_zpby1 lda _3 sta plotter_y_2 lda plotter_y+1 sta plotter_y_2+1 - //SEG127 [71] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#9 plot::plotter#0 ] -- zpptrby1=zpptrby2_plus_zpptrby3 + //SEG205 [110] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#4 plot::plotter#0 ] -- zpptrby1=zpptrby2_plus_zpptrby3 lda plotter_x_2 clc adc plotter_y_2 @@ -10381,224 +16154,386 @@ plot: { lda plotter_x_2+1 adc plotter_y_2+1 sta plotter+1 - //SEG128 [72] (byte~) plot::$5 ← * (byte*) plot::plotter#0 [ plot::x#9 plot::plotter#0 plot::$5 ] -- zpby1=_star_zpptrby1 + //SEG206 [111] (byte~) plot::$5 ← * (byte*) plot::plotter#0 [ plot::x#4 plot::plotter#0 plot::$5 ] -- zpby1=_star_zpptrby1 ldy #0 lda (plotter),y sta _5 - //SEG129 [73] (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#9 [ plot::plotter#0 plot::$5 plot::$6 ] -- zpby1=cowo1_staridx_zpby2 + //SEG207 [112] (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#4 [ plot::plotter#0 plot::$5 plot::$6 ] -- zpby1=cowo1_staridx_zpby2 ldx x lda plot_bit,x sta _6 - //SEG130 [74] (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 [ plot::plotter#0 plot::$7 ] -- zpby1=zpby2_bor_zpby3 + //SEG208 [113] (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 [ plot::plotter#0 plot::$7 ] -- zpby1=zpby2_bor_zpby3 lda _5 ora _6 sta _7 - //SEG131 [75] *((byte*) plot::plotter#0) ← (byte~) plot::$7 [ ] -- _star_zpptrby1=zpby1 + //SEG209 [114] *((byte*) plot::plotter#0) ← (byte~) plot::$7 [ ] -- _star_zpptrby1=zpby1 ldy #0 lda _7 sta (plotter),y jmp breturn - //SEG132 plot::@return + //SEG210 plot::@return breturn: - //SEG133 [76] return [ ] + //SEG211 [115] return [ ] rts } -//SEG134 line_xdyi +//SEG212 line_xdyi line_xdyi: { - .label _8 = 48 - .label x = 5 - .label y = 6 - .label x1 = 27 - .label xd = 28 - .label yd = 29 - .label e = 7 - //SEG135 [77] (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#0 >> (byte) 1 [ line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::e#0 ] -- zpby1=zpby2_ror_1 + .label _8 = 70 + .label x = 14 + .label y = 15 + .label x1 = 13 + .label xd = 12 + .label yd = 11 + .label e = 16 + //SEG213 [117] (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#2 >> (byte) 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 ] -- zpby1=zpby2_ror_1 lda yd lsr sta e - //SEG136 [78] phi from line_xdyi line_xdyi::@2 to line_xdyi::@1 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1] + //SEG214 [118] 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: - //SEG137 [78] phi (byte) line_xdyi::e#3 = (byte) line_xdyi::e#0 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#0] -- register_copy - //SEG138 [78] phi (byte) line_xdyi::y#2 = (byte) line_xdyi::y#0 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#1] -- register_copy - //SEG139 [78] phi (byte) line_xdyi::x#2 = (byte) line_xdyi::x#0 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#2] -- register_copy + //SEG215 [118] phi (byte) line_xdyi::e#3 = (byte) line_xdyi::e#0 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#0] -- register_copy + //SEG216 [118] phi (byte) line_xdyi::y#3 = (byte) line_xdyi::y#5 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#1] -- register_copy + //SEG217 [118] 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 - //SEG140 line_xdyi::@1 + //SEG218 line_xdyi::@1 b1: - //SEG141 [79] (byte) plot::x#8 ← (byte) line_xdyi::x#2 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 plot::x#8 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] -- zpby1=zpby2 + //SEG219 [119] (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 ] -- zpby1=zpby2 lda x sta plot.x - //SEG142 [80] (byte) plot::y#8 ← (byte) line_xdyi::y#2 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 plot::x#8 plot::y#8 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] -- zpby1=zpby2 + //SEG220 [120] (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 ] -- zpby1=zpby2 lda y sta plot.y - //SEG143 [81] call plot param-assignment [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] - //SEG144 [62] phi from line_xdyi::@1 to plot [phi:line_xdyi::@1->plot] + //SEG221 [121] 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 ] + //SEG222 [101] phi from line_xdyi::@1 to plot [phi:line_xdyi::@1->plot] plot_from_b1: - //SEG145 [62] phi (byte) plot::y#9 = (byte) plot::y#8 [phi:line_xdyi::@1->plot#0] -- register_copy - //SEG146 [62] phi (byte) plot::x#9 = (byte) plot::x#8 [phi:line_xdyi::@1->plot#1] -- register_copy + //SEG223 [101] phi (byte) plot::y#4 = (byte) plot::y#0 [phi:line_xdyi::@1->plot#0] -- register_copy + //SEG224 [101] phi (byte) plot::x#4 = (byte) plot::x#0 [phi:line_xdyi::@1->plot#1] -- register_copy jsr plot jmp b5 - //SEG147 line_xdyi::@5 + //SEG225 line_xdyi::@5 b5: - //SEG148 [82] (byte) line_xdyi::x#1 ← (byte) line_xdyi::x#2 + (byte) 1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::y#2 line_xdyi::e#3 line_xdyi::x#1 ] -- zpby1=zpby1_plus_1 + //SEG226 [122] (byte) line_xdyi::x#2 ← (byte) line_xdyi::x#3 + (byte) 1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::e#3 line_xdyi::x#2 ] -- zpby1=zpby1_plus_1 inc x - //SEG149 [83] (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#0 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::y#2 line_xdyi::x#1 line_xdyi::e#1 ] -- zpby1=zpby1_plus_zpby2 + //SEG227 [123] (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 ] -- zpby1=zpby1_plus_zpby2 lda e clc adc yd sta e - //SEG150 [84] if((byte) line_xdyi::xd#0>=(byte) line_xdyi::e#1) goto line_xdyi::@2 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::y#2 line_xdyi::x#1 line_xdyi::e#1 ] -- zpby1_ge_zpby2_then_la1 + //SEG228 [124] 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 ] -- zpby1_ge_zpby2_then_la1 lda xd cmp e bcs b2_from_b5 jmp b3 - //SEG151 line_xdyi::@3 + //SEG229 line_xdyi::@3 b3: - //SEG152 [85] (byte) line_xdyi::y#1 ← (byte) line_xdyi::y#2 + (byte) 1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::e#1 line_xdyi::y#1 ] -- zpby1=zpby1_plus_1 + //SEG230 [125] (byte) line_xdyi::y#2 ← (byte) line_xdyi::y#3 + (byte) 1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::e#1 line_xdyi::y#2 ] -- zpby1=zpby1_plus_1 inc y - //SEG153 [86] (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#0 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#1 line_xdyi::e#2 ] -- zpby1=zpby1_minus_zpby2 + //SEG231 [126] (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 ] -- zpby1=zpby1_minus_zpby2 lda e sec sbc xd sta e - //SEG154 [87] phi from line_xdyi::@3 line_xdyi::@5 to line_xdyi::@2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2] + //SEG232 [127] 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: - //SEG155 [87] phi (byte) line_xdyi::e#6 = (byte) line_xdyi::e#2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2#0] -- register_copy - //SEG156 [87] phi (byte) line_xdyi::y#5 = (byte) line_xdyi::y#1 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2#1] -- register_copy + //SEG233 [127] phi (byte) line_xdyi::e#6 = (byte) line_xdyi::e#2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2#0] -- register_copy + //SEG234 [127] 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 - //SEG157 line_xdyi::@2 + //SEG235 line_xdyi::@2 b2: - //SEG158 [88] (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#0 + (byte) 1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#5 line_xdyi::e#6 line_xdyi::$8 ] -- zpby1=zpby2_plus_1 + //SEG236 [128] (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#6 + (byte) 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::$8 ] -- zpby1=zpby2_plus_1 lda x1 clc adc #1 sta _8 - //SEG159 [89] if((byte) line_xdyi::x#1<(byte~) line_xdyi::$8) goto line_xdyi::@1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#5 line_xdyi::e#6 ] -- zpby1_lt_zpby2_then_la1 + //SEG237 [129] if((byte) line_xdyi::x#2<(byte~) line_xdyi::$8) 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 ] -- zpby1_lt_zpby2_then_la1 lda x cmp _8 bcc b1_from_b2 jmp breturn - //SEG160 line_xdyi::@return + //SEG238 line_xdyi::@return breturn: - //SEG161 [90] return [ ] + //SEG239 [130] return [ ] rts } -//SEG162 init_plot_tables +//SEG240 line_ydxd +line_ydxd: { + .label _8 = 71 + .label y = 21 + .label x = 20 + .label y1 = 19 + .label yd = 18 + .label xd = 17 + .label e = 22 + //SEG241 [132] (byte) line_ydxd::e#0 ← (byte) line_ydxd::xd#2 >> (byte) 1 [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] -- zpby1=zpby2_ror_1 + lda xd + lsr + sta e + //SEG242 [133] 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: + //SEG243 [133] phi (byte) line_ydxd::e#3 = (byte) line_ydxd::e#0 [phi:line_ydxd/line_ydxd::@2->line_ydxd::@1#0] -- register_copy + //SEG244 [133] phi (byte) line_ydxd::y#3 = (byte) line_ydxd::y#6 [phi:line_ydxd/line_ydxd::@2->line_ydxd::@1#1] -- register_copy + //SEG245 [133] 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 + //SEG246 line_ydxd::@1 + b1: + //SEG247 [134] (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#3 line_ydxd::e#3 ] -- zpby1=zpby2 + lda x + sta plot.x + //SEG248 [135] (byte) plot::y#3 ← (byte) line_ydxd::y#3 [ 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#3 line_ydxd::e#3 ] -- zpby1=zpby2 + lda y + sta plot.y + //SEG249 [136] call plot param-assignment [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] + //SEG250 [101] phi from line_ydxd::@1 to plot [phi:line_ydxd::@1->plot] + plot_from_b1: + //SEG251 [101] phi (byte) plot::y#4 = (byte) plot::y#3 [phi:line_ydxd::@1->plot#0] -- register_copy + //SEG252 [101] phi (byte) plot::x#4 = (byte) plot::x#3 [phi:line_ydxd::@1->plot#1] -- register_copy + jsr plot + jmp b5 + //SEG253 line_ydxd::@5 + b5: + //SEG254 [137] (byte) line_ydxd::y#2 ← (byte) line_ydxd::y#3 + (byte) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::e#3 line_ydxd::y#2 ] -- zpby1=zpby1_plus_1 + inc y + //SEG255 [138] (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#2 line_ydxd::e#1 ] -- zpby1=zpby1_plus_zpby2 + lda e + clc + adc xd + sta e + //SEG256 [139] 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#2 line_ydxd::e#1 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp e + bcs b2_from_b5 + jmp b3 + //SEG257 line_ydxd::@3 + b3: + //SEG258 [140] (byte) line_ydxd::x#2 ← (byte) line_ydxd::x#3 - (byte) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#2 line_ydxd::e#1 line_ydxd::x#2 ] -- zpby1=zpby1_minus_1 + dec x + //SEG259 [141] (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#2 line_ydxd::x#2 line_ydxd::e#2 ] -- zpby1=zpby1_minus_zpby2 + lda e + sec + sbc yd + sta e + //SEG260 [142] 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: + //SEG261 [142] phi (byte) line_ydxd::e#6 = (byte) line_ydxd::e#2 [phi:line_ydxd::@3/line_ydxd::@5->line_ydxd::@2#0] -- register_copy + //SEG262 [142] 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 + //SEG263 line_ydxd::@2 + b2: + //SEG264 [143] (byte~) line_ydxd::$8 ← (byte) line_ydxd::y1#6 + (byte) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 line_ydxd::$8 ] -- zpby1=zpby2_plus_1 + lda y1 + clc + adc #1 + sta _8 + //SEG265 [144] if((byte) line_ydxd::y#2<(byte~) line_ydxd::$8) goto line_ydxd::@1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 ] -- zpby1_lt_zpby2_then_la1 + lda y + cmp _8 + bcc b1_from_b2 + jmp breturn + //SEG266 line_ydxd::@return + breturn: + //SEG267 [145] return [ ] + rts +} +//SEG268 line_xdyd +line_xdyd: { + .label _8 = 72 + .label x = 26 + .label y = 27 + .label x1 = 25 + .label xd = 24 + .label yd = 23 + .label e = 28 + //SEG269 [147] (byte) line_xdyd::e#0 ← (byte) line_xdyd::yd#2 >> (byte) 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 ] -- zpby1=zpby2_ror_1 + lda yd + lsr + sta e + //SEG270 [148] 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: + //SEG271 [148] phi (byte) line_xdyd::e#3 = (byte) line_xdyd::e#0 [phi:line_xdyd/line_xdyd::@2->line_xdyd::@1#0] -- register_copy + //SEG272 [148] phi (byte) line_xdyd::y#3 = (byte) line_xdyd::y#5 [phi:line_xdyd/line_xdyd::@2->line_xdyd::@1#1] -- register_copy + //SEG273 [148] 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 + //SEG274 line_xdyd::@1 + b1: + //SEG275 [149] (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 ] -- zpby1=zpby2 + lda x + sta plot.x + //SEG276 [150] (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 ] -- zpby1=zpby2 + lda y + sta plot.y + //SEG277 [151] 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 ] + //SEG278 [101] phi from line_xdyd::@1 to plot [phi:line_xdyd::@1->plot] + plot_from_b1: + //SEG279 [101] phi (byte) plot::y#4 = (byte) plot::y#1 [phi:line_xdyd::@1->plot#0] -- register_copy + //SEG280 [101] phi (byte) plot::x#4 = (byte) plot::x#1 [phi:line_xdyd::@1->plot#1] -- register_copy + jsr plot + jmp b5 + //SEG281 line_xdyd::@5 + b5: + //SEG282 [152] (byte) line_xdyd::x#2 ← (byte) line_xdyd::x#3 + (byte) 1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::e#3 line_xdyd::x#2 ] -- zpby1=zpby1_plus_1 + inc x + //SEG283 [153] (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 ] -- zpby1=zpby1_plus_zpby2 + lda e + clc + adc yd + sta e + //SEG284 [154] 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 ] -- zpby1_ge_zpby2_then_la1 + lda xd + cmp e + bcs b2_from_b5 + jmp b3 + //SEG285 line_xdyd::@3 + b3: + //SEG286 [155] (byte) line_xdyd::y#2 ← (byte) line_xdyd::y#3 - (byte) 1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::e#1 line_xdyd::y#2 ] -- zpby1=zpby1_minus_1 + dec y + //SEG287 [156] (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 ] -- zpby1=zpby1_minus_zpby2 + lda e + sec + sbc xd + sta e + //SEG288 [157] 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: + //SEG289 [157] phi (byte) line_xdyd::e#6 = (byte) line_xdyd::e#2 [phi:line_xdyd::@3/line_xdyd::@5->line_xdyd::@2#0] -- register_copy + //SEG290 [157] 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 + //SEG291 line_xdyd::@2 + b2: + //SEG292 [158] (byte~) line_xdyd::$8 ← (byte) line_xdyd::x1#6 + (byte) 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::$8 ] -- zpby1=zpby2_plus_1 + lda x1 + clc + adc #1 + sta _8 + //SEG293 [159] if((byte) line_xdyd::x#2<(byte~) line_xdyd::$8) 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 ] -- zpby1_lt_zpby2_then_la1 + lda x + cmp _8 + bcc b1_from_b2 + jmp breturn + //SEG294 line_xdyd::@return + breturn: + //SEG295 [160] return [ ] + rts +} +//SEG296 init_plot_tables init_plot_tables: { - .label _0 = 49 - .label _6 = 50 - .label _7 = 51 - .label _8 = 52 - .label _9 = 53 - .label _10 = 54 - .label bit = 9 - .label x = 8 - .label y = 10 - .label yoffs = 11 - //SEG163 [92] phi from init_plot_tables to init_plot_tables::@1 [phi:init_plot_tables->init_plot_tables::@1] + .label _0 = 73 + .label _6 = 74 + .label _7 = 75 + .label _8 = 76 + .label _9 = 77 + .label _10 = 78 + .label bit = 30 + .label x = 29 + .label y = 31 + .label yoffs = 32 + //SEG297 [162] phi from init_plot_tables to init_plot_tables::@1 [phi:init_plot_tables->init_plot_tables::@1] b1_from_init_plot_tables: - //SEG164 [92] phi (byte) init_plot_tables::bit#3 = (byte) 128 [phi:init_plot_tables->init_plot_tables::@1#0] -- zpby1=coby1 + //SEG298 [162] phi (byte) init_plot_tables::bit#3 = (byte) 128 [phi:init_plot_tables->init_plot_tables::@1#0] -- zpby1=coby1 lda #$80 sta bit - //SEG165 [92] phi (byte) init_plot_tables::x#2 = (byte) 0 [phi:init_plot_tables->init_plot_tables::@1#1] -- zpby1=coby1 + //SEG299 [162] phi (byte) init_plot_tables::x#2 = (byte) 0 [phi:init_plot_tables->init_plot_tables::@1#1] -- zpby1=coby1 lda #0 sta x jmp b1 - //SEG166 [92] phi from init_plot_tables::@2 to init_plot_tables::@1 [phi:init_plot_tables::@2->init_plot_tables::@1] + //SEG300 [162] phi from init_plot_tables::@2 to init_plot_tables::@1 [phi:init_plot_tables::@2->init_plot_tables::@1] b1_from_b2: - //SEG167 [92] phi (byte) init_plot_tables::bit#3 = (byte) init_plot_tables::bit#4 [phi:init_plot_tables::@2->init_plot_tables::@1#0] -- register_copy - //SEG168 [92] 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 + //SEG301 [162] phi (byte) init_plot_tables::bit#3 = (byte) init_plot_tables::bit#4 [phi:init_plot_tables::@2->init_plot_tables::@1#0] -- register_copy + //SEG302 [162] 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 - //SEG169 init_plot_tables::@1 + //SEG303 init_plot_tables::@1 b1: - //SEG170 [93] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bit#3 init_plot_tables::$0 ] -- zpby1=zpby2_band_coby1 + //SEG304 [163] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bit#3 init_plot_tables::$0 ] -- zpby1=zpby2_band_coby1 lda x and #$f8 sta _0 - //SEG171 [94] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_zpby1=zpby2 + //SEG305 [164] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_zpby1=zpby2 lda _0 ldx x sta plot_xlo,x - //SEG172 [95] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_zpby1=coby2 + //SEG306 [165] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_zpby1=coby2 lda #>BITMAP ldx x sta plot_xhi,x - //SEG173 [96] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bit#3 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_zpby1=zpby2 + //SEG307 [166] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bit#3 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_zpby1=zpby2 lda bit ldx x sta plot_bit,x - //SEG174 [97] (byte) init_plot_tables::bit#1 ← (byte) init_plot_tables::bit#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bit#1 ] -- zpby1=zpby1_ror_1 + //SEG308 [167] (byte) init_plot_tables::bit#1 ← (byte) init_plot_tables::bit#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bit#1 ] -- zpby1=zpby1_ror_1 lsr sta bit - //SEG175 [98] if((byte) init_plot_tables::bit#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] -- zpby1_neq_0_then_la1 + //SEG309 [168] if((byte) init_plot_tables::bit#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] -- zpby1_neq_0_then_la1 lda bit bne b10 - //SEG176 [99] phi from init_plot_tables::@1 to init_plot_tables::@2 [phi:init_plot_tables::@1->init_plot_tables::@2] + //SEG310 [169] phi from init_plot_tables::@1 to init_plot_tables::@2 [phi:init_plot_tables::@1->init_plot_tables::@2] b2_from_b1: - //SEG177 [99] phi (byte) init_plot_tables::bit#4 = (byte) 128 [phi:init_plot_tables::@1->init_plot_tables::@2#0] -- zpby1=coby1 + //SEG311 [169] phi (byte) init_plot_tables::bit#4 = (byte) 128 [phi:init_plot_tables::@1->init_plot_tables::@2#0] -- zpby1=coby1 lda #$80 sta bit jmp b2 - //SEG178 init_plot_tables::@2 + //SEG312 init_plot_tables::@2 b2: - //SEG179 [100] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bit#4 ] -- zpby1=_inc_zpby1 + //SEG313 [170] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bit#4 ] -- zpby1=_inc_zpby1 inc x - //SEG180 [101] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bit#4 ] -- zpby1_neq_0_then_la1 + //SEG314 [171] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bit#4 ] -- zpby1_neq_0_then_la1 lda x bne b1_from_b2 - //SEG181 [102] phi from init_plot_tables::@2 to init_plot_tables::@3 [phi:init_plot_tables::@2->init_plot_tables::@3] + //SEG315 [172] phi from init_plot_tables::@2 to init_plot_tables::@3 [phi:init_plot_tables::@2->init_plot_tables::@3] b3_from_b2: - //SEG182 [102] phi (byte*) init_plot_tables::yoffs#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#0] -- zpptrby1=coby1 + //SEG316 [172] phi (byte*) init_plot_tables::yoffs#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#0] -- zpptrby1=coby1 lda #0 sta yoffs lda #0 sta yoffs+1 - //SEG183 [102] phi (byte) init_plot_tables::y#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#1] -- zpby1=coby1 + //SEG317 [172] phi (byte) init_plot_tables::y#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#1] -- zpby1=coby1 lda #0 sta y jmp b3 - //SEG184 [102] phi from init_plot_tables::@4 to init_plot_tables::@3 [phi:init_plot_tables::@4->init_plot_tables::@3] + //SEG318 [172] phi from init_plot_tables::@4 to init_plot_tables::@3 [phi:init_plot_tables::@4->init_plot_tables::@3] b3_from_b4: - //SEG185 [102] 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 - //SEG186 [102] 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 + //SEG319 [172] 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 + //SEG320 [172] 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 - //SEG187 init_plot_tables::@3 + //SEG321 init_plot_tables::@3 b3: - //SEG188 [103] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] -- zpby1=zpby2_band_coby1 + //SEG322 [173] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] -- zpby1=zpby2_band_coby1 lda y and #7 sta _6 - //SEG189 [104] (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 ] -- zpby1=_lo_zpptrby1 + //SEG323 [174] (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 ] -- zpby1=_lo_zpptrby1 lda yoffs sta _7 - //SEG190 [105] (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 ] -- zpby1=zpby2_bor_zpby3 + //SEG324 [175] (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 ] -- zpby1=zpby2_bor_zpby3 lda _6 ora _7 sta _8 - //SEG191 [106] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- cowo1_staridx_zpby1=zpby2 + //SEG325 [176] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- cowo1_staridx_zpby1=zpby2 lda _8 ldx y sta plot_ylo,x - //SEG192 [107] (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 ] -- zpby1=_hi_zpptrby1 + //SEG326 [177] (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 ] -- zpby1=_hi_zpptrby1 lda yoffs+1 sta _9 - //SEG193 [108] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- cowo1_staridx_zpby1=zpby2 + //SEG327 [178] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- cowo1_staridx_zpby1=zpby2 lda _9 ldx y sta plot_yhi,x - //SEG194 [109] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] -- zpby1=zpby2_band_coby1 + //SEG328 [179] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] -- zpby1=zpby2_band_coby1 lda y and #7 sta _10 - //SEG195 [110] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- zpby1_neq_coby1_then_la1 + //SEG329 [180] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- zpby1_neq_coby1_then_la1 lda _10 cmp #7 bne b4_from_b3 jmp b7 - //SEG196 init_plot_tables::@7 + //SEG330 init_plot_tables::@7 b7: - //SEG197 [111] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] -- zpptrby1=zpptrby1_plus_cowo1 + //SEG331 [181] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] -- zpptrby1=zpptrby1_plus_cowo1 lda yoffs clc adc #<$140 @@ -10606,88 +16541,88 @@ init_plot_tables: { lda yoffs+1 adc #>$140 sta yoffs+1 - //SEG198 [112] 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] + //SEG332 [182] 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: - //SEG199 [112] 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 + //SEG333 [182] 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 - //SEG200 init_plot_tables::@4 + //SEG334 init_plot_tables::@4 b4: - //SEG201 [113] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] -- zpby1=_inc_zpby1 + //SEG335 [183] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] -- zpby1=_inc_zpby1 inc y - //SEG202 [114] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] -- zpby1_neq_0_then_la1 + //SEG336 [184] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] -- zpby1_neq_0_then_la1 lda y bne b3_from_b4 jmp breturn - //SEG203 init_plot_tables::@return + //SEG337 init_plot_tables::@return breturn: - //SEG204 [115] return [ ] + //SEG338 [185] return [ ] rts - //SEG205 init_plot_tables::@10 + //SEG339 init_plot_tables::@10 b10: - //SEG206 [99] phi from init_plot_tables::@10 to init_plot_tables::@2 [phi:init_plot_tables::@10->init_plot_tables::@2] + //SEG340 [169] phi from init_plot_tables::@10 to init_plot_tables::@2 [phi:init_plot_tables::@10->init_plot_tables::@2] b2_from_b10: - //SEG207 [99] phi (byte) init_plot_tables::bit#4 = (byte) init_plot_tables::bit#1 [phi:init_plot_tables::@10->init_plot_tables::@2#0] -- register_copy + //SEG341 [169] phi (byte) init_plot_tables::bit#4 = (byte) init_plot_tables::bit#1 [phi:init_plot_tables::@10->init_plot_tables::@2#0] -- register_copy jmp b2 } -//SEG208 init_screen +//SEG342 init_screen init_screen: { - .label b = 13 - .label c = 15 - //SEG209 [117] phi from init_screen to init_screen::@1 [phi:init_screen->init_screen::@1] + .label b = 34 + .label c = 36 + //SEG343 [187] phi from init_screen to init_screen::@1 [phi:init_screen->init_screen::@1] b1_from_init_screen: - //SEG210 [117] phi (byte*) init_screen::b#2 = (const byte*) BITMAP#0 [phi:init_screen->init_screen::@1#0] -- zpptrby1=cowo1 + //SEG344 [187] phi (byte*) init_screen::b#2 = (const byte*) BITMAP#0 [phi:init_screen->init_screen::@1#0] -- zpptrby1=cowo1 lda #BITMAP sta b+1 jmp b1 - //SEG211 [117] phi from init_screen::@1 to init_screen::@1 [phi:init_screen::@1->init_screen::@1] + //SEG345 [187] phi from init_screen::@1 to init_screen::@1 [phi:init_screen::@1->init_screen::@1] b1_from_b1: - //SEG212 [117] phi (byte*) init_screen::b#2 = (byte*) init_screen::b#1 [phi:init_screen::@1->init_screen::@1#0] -- register_copy + //SEG346 [187] phi (byte*) init_screen::b#2 = (byte*) init_screen::b#1 [phi:init_screen::@1->init_screen::@1#0] -- register_copy jmp b1 - //SEG213 init_screen::@1 + //SEG347 init_screen::@1 b1: - //SEG214 [118] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] -- _star_zpptrby1=coby1 + //SEG348 [188] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] -- _star_zpptrby1=coby1 ldy #0 lda #0 sta (b),y - //SEG215 [119] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] -- zpptrby1=_inc_zpptrby1 + //SEG349 [189] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] -- zpptrby1=_inc_zpptrby1 inc b bne !+ inc b+1 !: - //SEG216 [120] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] -- zpptrby1_neq_cowo1_then_la1 + //SEG350 [190] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] -- zpptrby1_neq_cowo1_then_la1 lda b+1 cmp #>BITMAP+$2000 bne b1_from_b1 lda b cmp #init_screen::@2] + //SEG351 [191] phi from init_screen::@1 to init_screen::@2 [phi:init_screen::@1->init_screen::@2] b2_from_b1: - //SEG218 [121] phi (byte*) init_screen::c#2 = (const byte*) SCREEN#0 [phi:init_screen::@1->init_screen::@2#0] -- zpptrby1=cowo1 + //SEG352 [191] phi (byte*) init_screen::c#2 = (const byte*) SCREEN#0 [phi:init_screen::@1->init_screen::@2#0] -- zpptrby1=cowo1 lda #SCREEN sta c+1 jmp b2 - //SEG219 [121] phi from init_screen::@2 to init_screen::@2 [phi:init_screen::@2->init_screen::@2] + //SEG353 [191] phi from init_screen::@2 to init_screen::@2 [phi:init_screen::@2->init_screen::@2] b2_from_b2: - //SEG220 [121] phi (byte*) init_screen::c#2 = (byte*) init_screen::c#1 [phi:init_screen::@2->init_screen::@2#0] -- register_copy + //SEG354 [191] phi (byte*) init_screen::c#2 = (byte*) init_screen::c#1 [phi:init_screen::@2->init_screen::@2#0] -- register_copy jmp b2 - //SEG221 init_screen::@2 + //SEG355 init_screen::@2 b2: - //SEG222 [122] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] -- _star_zpptrby1=coby1 + //SEG356 [192] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] -- _star_zpptrby1=coby1 ldy #0 lda #$14 sta (c),y - //SEG223 [123] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] -- zpptrby1=_inc_zpptrby1 + //SEG357 [193] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] -- zpptrby1=_inc_zpptrby1 inc c bne !+ inc c+1 !: - //SEG224 [124] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] -- zpptrby1_neq_cowo1_then_la1 + //SEG358 [194] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] -- zpptrby1_neq_cowo1_then_la1 lda c+1 cmp #>SCREEN+$400 bne b2_from_b2 @@ -10695,217 +16630,366 @@ init_screen: { cmp #> (byte) 1 [ line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::e#0 ] always clobbers reg byte a -Statement [83] (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#0 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::y#2 line_xdyi::x#1 line_xdyi::e#1 ] always clobbers reg byte a -Statement [86] (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#0 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#1 line_xdyi::e#2 ] always clobbers reg byte a -Statement [93] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bit#3 init_plot_tables::$0 ] always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:8 [ init_plot_tables::x#2 init_plot_tables::x#1 ] -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:9 [ init_plot_tables::bit#3 init_plot_tables::bit#4 init_plot_tables::bit#1 ] -Statement [95] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] always clobbers reg byte a -Statement [96] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bit#3 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] always clobbers reg byte a -Statement [103] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ 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:10 [ init_plot_tables::y#2 init_plot_tables::y#1 ] -Statement [107] (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 ] always clobbers reg byte a -Statement [109] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] always clobbers reg byte a -Statement [111] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] always clobbers reg byte a -Statement [118] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] always clobbers reg byte a reg byte y -Statement [120] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] always clobbers reg byte a -Statement [122] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] always clobbers reg byte a reg byte y -Statement [124] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] always clobbers reg byte a +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#3 line_ydxd::y#6 line_ydxd::y#1 line_ydxd::y#0 line_ydxd::y#2 ] +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 [114] *((byte*) plot::plotter#0) ← (byte~) plot::$7 [ ] always clobbers reg byte y +Statement [117] (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#2 >> (byte) 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 ] always clobbers reg byte a +Statement [123] (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 ] always clobbers reg byte a +Statement [126] (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 ] always clobbers reg byte a +Statement [132] (byte) line_ydxd::e#0 ← (byte) line_ydxd::xd#2 >> (byte) 1 [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] always clobbers reg byte a +Statement [138] (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#2 line_ydxd::e#1 ] always clobbers reg byte a +Statement [141] (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#2 line_ydxd::x#2 line_ydxd::e#2 ] always clobbers reg byte a +Statement [147] (byte) line_xdyd::e#0 ← (byte) line_xdyd::yd#2 >> (byte) 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 ] always clobbers reg byte a +Statement [153] (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 ] always clobbers reg byte a +Statement [156] (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 ] always clobbers reg byte a +Statement [163] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bit#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::bit#3 init_plot_tables::bit#4 init_plot_tables::bit#1 ] +Statement [165] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] always clobbers reg byte a +Statement [166] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bit#3 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] always clobbers reg byte a +Statement [173] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ 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 [177] (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 ] always clobbers reg byte a +Statement [179] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] always clobbers reg byte a +Statement [181] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] always clobbers reg byte a +Statement [188] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] always clobbers reg byte a reg byte y +Statement [190] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] always clobbers reg byte a +Statement [192] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] always clobbers reg byte a reg byte y +Statement [194] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] always clobbers reg byte a Statement [1] *((const byte*) BGCOL#0) ← (byte) 0 [ ] always clobbers reg byte a Statement [2] *((const byte*) FGCOL#0) ← (byte) 0 [ ] always clobbers reg byte a Statement [3] *((const byte*) D011#0) ← (const byte) BMM#0|(const byte) DEN#0|(const byte) RSEL#0|(byte) 3 [ ] always clobbers reg byte a Statement [4] *((const byte*) D018#0) ← (byte) 24 [ ] always clobbers reg byte a Statement [25] (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 ] always clobbers reg byte a -Statement [27] (byte) line::yd#0 ← (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#0 ] always clobbers reg byte a -Statement [48] (byte) line::xd#0 ← (byte) line::x1#0 - (byte) line::x0#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] always clobbers reg byte a -Statement [66] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#9 plot::y#9 plot::plotter_x#2 ] always clobbers reg byte a -Statement [70] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#9 plot::plotter_x#2 plot::plotter_y#2 ] always clobbers reg byte a -Statement [71] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#9 plot::plotter#0 ] always clobbers reg byte a -Statement [72] (byte~) plot::$5 ← * (byte*) plot::plotter#0 [ plot::x#9 plot::plotter#0 plot::$5 ] always clobbers reg byte a reg byte y -Statement [75] *((byte*) plot::plotter#0) ← (byte~) plot::$7 [ ] always clobbers reg byte y -Statement [77] (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#0 >> (byte) 1 [ line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::e#0 ] always clobbers reg byte a -Statement [83] (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#0 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::y#2 line_xdyi::x#1 line_xdyi::e#1 ] always clobbers reg byte a -Statement [86] (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#0 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#1 line_xdyi::e#2 ] always clobbers reg byte a -Statement [93] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bit#3 init_plot_tables::$0 ] always clobbers reg byte a -Statement [95] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] always clobbers reg byte a -Statement [96] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bit#3 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] always clobbers reg byte a -Statement [103] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] always clobbers reg byte a -Statement [107] (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 ] always clobbers reg byte a -Statement [109] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] always clobbers reg byte a -Statement [111] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] always clobbers reg byte a -Statement [118] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] always clobbers reg byte a reg byte y -Statement [120] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] always clobbers reg byte a -Statement [122] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] always clobbers reg byte a reg byte y -Statement [124] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] always clobbers reg byte a +Statement [27] (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 ] always clobbers reg byte a +Statement [42] (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 ] always clobbers reg byte a +Statement [56] (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 ] always clobbers reg byte a +Statement [58] (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 ] always clobbers reg byte a +Statement [72] (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 ] always clobbers reg byte a +Statement [87] (byte) line_ydxi::e#0 ← (byte) line_ydxi::xd#2 >> (byte) 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 ] always clobbers reg byte a +Statement [93] (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 ] always clobbers reg byte a +Statement [96] (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 ] always clobbers reg byte a +Statement [105] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#4 plot::y#4 plot::plotter_x#2 ] always clobbers reg byte a +Statement [109] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#4 plot::plotter_x#2 plot::plotter_y#2 ] always clobbers reg byte a +Statement [110] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#4 plot::plotter#0 ] always clobbers reg byte a +Statement [111] (byte~) plot::$5 ← * (byte*) plot::plotter#0 [ plot::x#4 plot::plotter#0 plot::$5 ] always clobbers reg byte a reg byte y +Statement [114] *((byte*) plot::plotter#0) ← (byte~) plot::$7 [ ] always clobbers reg byte y +Statement [117] (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#2 >> (byte) 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 ] always clobbers reg byte a +Statement [123] (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 ] always clobbers reg byte a +Statement [126] (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 ] always clobbers reg byte a +Statement [132] (byte) line_ydxd::e#0 ← (byte) line_ydxd::xd#2 >> (byte) 1 [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] always clobbers reg byte a +Statement [138] (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#2 line_ydxd::e#1 ] always clobbers reg byte a +Statement [141] (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#2 line_ydxd::x#2 line_ydxd::e#2 ] always clobbers reg byte a +Statement [147] (byte) line_xdyd::e#0 ← (byte) line_xdyd::yd#2 >> (byte) 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 ] always clobbers reg byte a +Statement [153] (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 ] always clobbers reg byte a +Statement [156] (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 ] always clobbers reg byte a +Statement [163] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bit#3 init_plot_tables::$0 ] always clobbers reg byte a +Statement [165] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] always clobbers reg byte a +Statement [166] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bit#3 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] always clobbers reg byte a +Statement [173] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] always clobbers reg byte a +Statement [177] (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 ] always clobbers reg byte a +Statement [179] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] always clobbers reg byte a +Statement [181] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] always clobbers reg byte a +Statement [188] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] always clobbers reg byte a reg byte y +Statement [190] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] always clobbers reg byte a +Statement [192] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] always clobbers reg byte a reg byte y +Statement [194] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ 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 [ plot::x#9 plot::x#6 plot::x#1 plot::x#3 plot::x#0 plot::x#5 plot::x#7 plot::x#2 plot::x#4 plot::x#8 ] : zp ZP_BYTE:3 , reg byte x , -Potential registers zp ZP_BYTE:4 [ plot::y#9 plot::y#6 plot::y#1 plot::y#3 plot::y#0 plot::y#5 plot::y#7 plot::y#2 plot::y#4 plot::y#8 ] : zp ZP_BYTE:4 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:5 [ line_xdyi::x#2 line_xdyi::x#0 line_xdyi::x#1 ] : zp ZP_BYTE:5 , reg byte x , -Potential registers zp ZP_BYTE:6 [ line_xdyi::y#2 line_xdyi::y#0 line_xdyi::y#5 line_xdyi::y#1 ] : zp ZP_BYTE:6 , reg byte x , -Potential registers zp ZP_BYTE:7 [ line_xdyi::e#3 line_xdyi::e#0 line_xdyi::e#6 line_xdyi::e#2 line_xdyi::e#1 ] : zp ZP_BYTE:7 , reg byte x , -Potential registers zp ZP_BYTE:8 [ init_plot_tables::x#2 init_plot_tables::x#1 ] : zp ZP_BYTE:8 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:9 [ init_plot_tables::bit#3 init_plot_tables::bit#4 init_plot_tables::bit#1 ] : zp ZP_BYTE:9 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:10 [ init_plot_tables::y#2 init_plot_tables::y#1 ] : zp ZP_BYTE:10 , reg byte x , reg byte y , -Potential registers zp ZP_PTR_BYTE:11 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 ] : zp ZP_PTR_BYTE:11 , -Potential registers zp ZP_PTR_BYTE:13 [ init_screen::b#2 init_screen::b#1 ] : zp ZP_PTR_BYTE:13 , -Potential registers zp ZP_PTR_BYTE:15 [ init_screen::c#2 init_screen::c#1 ] : zp ZP_PTR_BYTE:15 , -Potential registers zp ZP_BYTE:17 [ lines::$0 ] : zp ZP_BYTE:17 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:18 [ lines::$2 ] : zp ZP_BYTE:18 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:19 [ lines::$3 ] : zp ZP_BYTE:19 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:20 [ lines::$5 ] : zp ZP_BYTE:20 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:21 [ line::x0#0 ] : zp ZP_BYTE:21 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:22 [ line::x1#0 ] : zp ZP_BYTE:22 , reg byte x , -Potential registers zp ZP_BYTE:23 [ line::y0#0 ] : zp ZP_BYTE:23 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:24 [ line::y1#0 ] : zp ZP_BYTE:24 , reg byte x , -Potential registers zp ZP_BYTE:25 [ line::xd#1 ] : zp ZP_BYTE:25 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:26 [ line::yd#0 ] : zp ZP_BYTE:26 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:27 [ line_xdyi::x1#0 ] : zp ZP_BYTE:27 , reg byte x , -Potential registers zp ZP_BYTE:28 [ line_xdyi::xd#0 ] : zp ZP_BYTE:28 , reg byte x , -Potential registers zp ZP_BYTE:29 [ line_xdyi::yd#0 ] : zp ZP_BYTE:29 , reg byte x , -Potential registers zp ZP_BYTE:30 [ line::xd#0 ] : zp ZP_BYTE:30 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:31 [ plot::$0 ] : zp ZP_BYTE:31 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_PTR_BYTE:32 [ plot::plotter_x#1 ] : zp ZP_PTR_BYTE:32 , -Potential registers zp ZP_BYTE:34 [ plot::$1 ] : zp ZP_BYTE:34 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_PTR_BYTE:35 [ plot::plotter_x#2 ] : zp ZP_PTR_BYTE:35 , -Potential registers zp ZP_BYTE:37 [ plot::$2 ] : zp ZP_BYTE:37 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_PTR_BYTE:38 [ plot::plotter_y#1 ] : zp ZP_PTR_BYTE:38 , -Potential registers zp ZP_BYTE:40 [ plot::$3 ] : zp ZP_BYTE:40 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_PTR_BYTE:41 [ plot::plotter_y#2 ] : zp ZP_PTR_BYTE:41 , -Potential registers zp ZP_PTR_BYTE:43 [ plot::plotter#0 ] : zp ZP_PTR_BYTE:43 , -Potential registers zp ZP_BYTE:45 [ plot::$5 ] : zp ZP_BYTE:45 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:46 [ plot::$6 ] : zp ZP_BYTE:46 , reg byte a , reg byte x , reg byte y , reg byte alu , -Potential registers zp ZP_BYTE:47 [ plot::$7 ] : zp ZP_BYTE:47 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:48 [ line_xdyi::$8 ] : zp ZP_BYTE:48 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:49 [ init_plot_tables::$0 ] : zp ZP_BYTE:49 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:50 [ init_plot_tables::$6 ] : zp ZP_BYTE:50 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:51 [ init_plot_tables::$7 ] : zp ZP_BYTE:51 , reg byte a , reg byte x , reg byte y , reg byte alu , -Potential registers zp ZP_BYTE:52 [ init_plot_tables::$8 ] : zp ZP_BYTE:52 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:53 [ init_plot_tables::$9 ] : zp ZP_BYTE:53 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:54 [ init_plot_tables::$10 ] : zp ZP_BYTE:54 , reg byte a , reg byte x , reg byte y , +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 , +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#3 line_ydxd::y#6 line_ydxd::y#1 line_ydxd::y#0 line_ydxd::y#2 ] : 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::bit#3 init_plot_tables::bit#4 init_plot_tables::bit#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_PTR_BYTE:32 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 ] : zp ZP_PTR_BYTE:32 , +Potential registers zp ZP_PTR_BYTE:34 [ init_screen::b#2 init_screen::b#1 ] : zp ZP_PTR_BYTE:34 , +Potential registers zp ZP_PTR_BYTE:36 [ init_screen::c#2 init_screen::c#1 ] : zp ZP_PTR_BYTE:36 , +Potential registers zp ZP_BYTE:38 [ lines::$0 ] : zp ZP_BYTE:38 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:39 [ lines::$2 ] : zp ZP_BYTE:39 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:40 [ lines::$3 ] : zp ZP_BYTE:40 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:41 [ lines::$5 ] : zp ZP_BYTE:41 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:42 [ line::x0#0 ] : zp ZP_BYTE:42 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:43 [ line::x1#0 ] : zp ZP_BYTE:43 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:44 [ line::y0#0 ] : zp ZP_BYTE:44 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:45 [ line::y1#0 ] : zp ZP_BYTE:45 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:46 [ line::xd#1 ] : zp ZP_BYTE:46 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:47 [ line::yd#1 ] : zp ZP_BYTE:47 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:48 [ line::yd#0 ] : zp ZP_BYTE:48 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:49 [ line::xd#0 ] : zp ZP_BYTE:49 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:50 [ line::yd#3 ] : zp ZP_BYTE:50 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:51 [ line::yd#10 ] : zp ZP_BYTE:51 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:52 [ line_ydxi::$8 ] : zp ZP_BYTE:52 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:53 [ plot::$0 ] : zp ZP_BYTE:53 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_PTR_BYTE:54 [ plot::plotter_x#1 ] : zp ZP_PTR_BYTE:54 , +Potential registers zp ZP_BYTE:56 [ plot::$1 ] : zp ZP_BYTE:56 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_PTR_BYTE:57 [ plot::plotter_x#2 ] : zp ZP_PTR_BYTE:57 , +Potential registers zp ZP_BYTE:59 [ plot::$2 ] : zp ZP_BYTE:59 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_PTR_BYTE:60 [ plot::plotter_y#1 ] : zp ZP_PTR_BYTE:60 , +Potential registers zp ZP_BYTE:62 [ plot::$3 ] : zp ZP_BYTE:62 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_PTR_BYTE:63 [ plot::plotter_y#2 ] : zp ZP_PTR_BYTE:63 , +Potential registers zp ZP_PTR_BYTE:65 [ plot::plotter#0 ] : zp ZP_PTR_BYTE:65 , +Potential registers zp ZP_BYTE:67 [ plot::$5 ] : zp ZP_BYTE:67 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:68 [ plot::$6 ] : zp ZP_BYTE:68 , reg byte a , reg byte x , reg byte y , reg byte alu , +Potential registers zp ZP_BYTE:69 [ plot::$7 ] : zp ZP_BYTE:69 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:70 [ line_xdyi::$8 ] : zp ZP_BYTE:70 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:71 [ line_ydxd::$8 ] : zp ZP_BYTE:71 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:72 [ line_xdyd::$8 ] : zp ZP_BYTE:72 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:73 [ init_plot_tables::$0 ] : zp ZP_BYTE:73 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:74 [ init_plot_tables::$6 ] : zp ZP_BYTE:74 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:75 [ init_plot_tables::$7 ] : zp ZP_BYTE:75 , reg byte a , reg byte x , reg byte y , reg byte alu , +Potential registers zp ZP_BYTE:76 [ init_plot_tables::$8 ] : zp ZP_BYTE:76 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:77 [ init_plot_tables::$9 ] : zp ZP_BYTE:77 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:78 [ init_plot_tables::$10 ] : zp ZP_BYTE:78 , reg byte a , reg byte x , reg byte y , REGISTER UPLIFT SCOPES -Uplift Scope [lines] 212.1: zp ZP_BYTE:2 [ lines::l#2 lines::l#1 ] 50.5: zp ZP_BYTE:17 [ lines::$0 ] 50.5: zp ZP_BYTE:18 [ lines::$2 ] 50.5: zp ZP_BYTE:19 [ lines::$3 ] 50.5: zp ZP_BYTE:20 [ lines::$5 ] -Uplift Scope [init_plot_tables] 46.93: zp ZP_BYTE:9 [ init_plot_tables::bit#3 init_plot_tables::bit#4 init_plot_tables::bit#1 ] 39.11: zp ZP_PTR_BYTE:11 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 ] 24.75: zp ZP_BYTE:8 [ init_plot_tables::x#2 init_plot_tables::x#1 ] 22.5: zp ZP_BYTE:10 [ init_plot_tables::y#2 init_plot_tables::y#1 ] 22: zp ZP_BYTE:49 [ init_plot_tables::$0 ] 22: zp ZP_BYTE:51 [ init_plot_tables::$7 ] 22: zp ZP_BYTE:52 [ init_plot_tables::$8 ] 22: zp ZP_BYTE:53 [ init_plot_tables::$9 ] 22: zp ZP_BYTE:54 [ init_plot_tables::$10 ] 11: zp ZP_BYTE:50 [ init_plot_tables::$6 ] -Uplift Scope [line_xdyi] 56.47: zp ZP_BYTE:7 [ line_xdyi::e#3 line_xdyi::e#0 line_xdyi::e#6 line_xdyi::e#2 line_xdyi::e#1 ] 29.37: zp ZP_BYTE:6 [ line_xdyi::y#2 line_xdyi::y#0 line_xdyi::y#5 line_xdyi::y#1 ] 22: zp ZP_BYTE:48 [ line_xdyi::$8 ] 13.54: zp ZP_BYTE:5 [ line_xdyi::x#2 line_xdyi::x#0 line_xdyi::x#1 ] 1.6: zp ZP_BYTE:28 [ line_xdyi::xd#0 ] 1.07: zp ZP_BYTE:29 [ line_xdyi::yd#0 ] 0.81: zp ZP_BYTE:27 [ line_xdyi::x1#0 ] -Uplift Scope [plot] 58.43: zp ZP_BYTE:4 [ plot::y#9 plot::y#6 plot::y#1 plot::y#3 plot::y#0 plot::y#5 plot::y#7 plot::y#2 plot::y#4 plot::y#8 ] 30: zp ZP_BYTE:3 [ plot::x#9 plot::x#6 plot::x#1 plot::x#3 plot::x#0 plot::x#5 plot::x#7 plot::x#2 plot::x#4 plot::x#8 ] 4: zp ZP_BYTE:31 [ plot::$0 ] 4: zp ZP_BYTE:34 [ plot::$1 ] 4: zp ZP_BYTE:37 [ plot::$2 ] 4: zp ZP_BYTE:40 [ plot::$3 ] 4: zp ZP_PTR_BYTE:41 [ plot::plotter_y#2 ] 4: zp ZP_BYTE:46 [ plot::$6 ] 4: zp ZP_BYTE:47 [ plot::$7 ] 2: zp ZP_PTR_BYTE:32 [ plot::plotter_x#1 ] 2: zp ZP_PTR_BYTE:38 [ plot::plotter_y#1 ] 2: zp ZP_BYTE:45 [ plot::$5 ] 1.5: zp ZP_PTR_BYTE:43 [ plot::plotter#0 ] 0.8: zp ZP_PTR_BYTE:35 [ plot::plotter_x#2 ] -Uplift Scope [init_screen] 33: zp ZP_PTR_BYTE:13 [ init_screen::b#2 init_screen::b#1 ] 33: zp ZP_PTR_BYTE:15 [ init_screen::c#2 init_screen::c#1 ] -Uplift Scope [line] 20: zp ZP_BYTE:30 [ line::xd#0 ] 10.64: zp ZP_BYTE:21 [ line::x0#0 ] 8.36: zp ZP_BYTE:23 [ line::y0#0 ] 4.87: zp ZP_BYTE:22 [ line::x1#0 ] 4.79: zp ZP_BYTE:24 [ line::y1#0 ] 1: zp ZP_BYTE:26 [ line::yd#0 ] 0.86: zp ZP_BYTE:25 [ line::xd#1 ] +Uplift Scope [lines] 212.1: zp ZP_BYTE:2 [ lines::l#2 lines::l#1 ] 50.5: zp ZP_BYTE:38 [ lines::$0 ] 50.5: zp ZP_BYTE:39 [ lines::$2 ] 50.5: zp ZP_BYTE:40 [ lines::$3 ] 50.5: zp ZP_BYTE:41 [ lines::$5 ] +Uplift Scope [init_plot_tables] 46.93: zp ZP_BYTE:30 [ init_plot_tables::bit#3 init_plot_tables::bit#4 init_plot_tables::bit#1 ] 39.11: zp ZP_PTR_BYTE:32 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 ] 24.75: 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:73 [ init_plot_tables::$0 ] 22: zp ZP_BYTE:75 [ init_plot_tables::$7 ] 22: zp ZP_BYTE:76 [ init_plot_tables::$8 ] 22: zp ZP_BYTE:77 [ init_plot_tables::$9 ] 22: zp ZP_BYTE:78 [ init_plot_tables::$10 ] 11: zp ZP_BYTE:74 [ init_plot_tables::$6 ] +Uplift Scope [plot] 94.86: zp ZP_BYTE:10 [ plot::y#4 plot::y#1 plot::y#0 plot::y#3 plot::y#2 ] 48.55: zp ZP_BYTE:9 [ plot::x#4 plot::x#1 plot::x#0 plot::x#3 plot::x#2 ] 4: zp ZP_BYTE:53 [ plot::$0 ] 4: zp ZP_BYTE:56 [ plot::$1 ] 4: zp ZP_BYTE:59 [ plot::$2 ] 4: zp ZP_BYTE:62 [ plot::$3 ] 4: zp ZP_PTR_BYTE:63 [ plot::plotter_y#2 ] 4: zp ZP_BYTE:68 [ plot::$6 ] 4: zp ZP_BYTE:69 [ plot::$7 ] 2: zp ZP_PTR_BYTE:54 [ plot::plotter_x#1 ] 2: zp ZP_PTR_BYTE:60 [ plot::plotter_y#1 ] 2: zp ZP_BYTE:67 [ plot::$5 ] 1.5: zp ZP_PTR_BYTE:65 [ plot::plotter#0 ] 0.8: zp ZP_PTR_BYTE:57 [ plot::plotter_x#2 ] +Uplift Scope [line_xdyi] 56.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 ] 33.57: 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 ] 22: zp ZP_BYTE:70 [ line_xdyi::$8 ] 17.48: zp ZP_BYTE:14 [ line_xdyi::x#3 line_xdyi::x#6 line_xdyi::x#0 line_xdyi::x#1 line_xdyi::x#2 ] 9.21: zp ZP_BYTE:11 [ line_xdyi::yd#2 line_xdyi::yd#0 line_xdyi::yd#1 ] 5.86: zp ZP_BYTE:12 [ line_xdyi::xd#5 line_xdyi::xd#0 line_xdyi::xd#1 ] 3.74: zp ZP_BYTE:13 [ line_xdyi::x1#6 line_xdyi::x1#0 line_xdyi::x1#1 ] +Uplift Scope [line_xdyd] 56.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 ] 33.57: 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 ] 22: zp ZP_BYTE:72 [ line_xdyd::$8 ] 17.48: zp ZP_BYTE:26 [ line_xdyd::x#3 line_xdyd::x#6 line_xdyd::x#0 line_xdyd::x#1 line_xdyd::x#2 ] 9.21: zp ZP_BYTE:23 [ line_xdyd::yd#2 line_xdyd::yd#0 line_xdyd::yd#1 ] 5.86: zp ZP_BYTE:24 [ line_xdyd::xd#5 line_xdyd::xd#0 line_xdyd::xd#1 ] 3.74: zp ZP_BYTE:25 [ line_xdyd::x1#6 line_xdyd::x1#0 line_xdyd::x1#1 ] +Uplift Scope [line_ydxi] 56.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 ] 33.57: 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 ] 22: zp ZP_BYTE:52 [ line_ydxi::$8 ] 17.48: zp ZP_BYTE:7 [ line_ydxi::y#3 line_ydxi::y#6 line_ydxi::y#1 line_ydxi::y#0 line_ydxi::y#2 ] 9.21: zp ZP_BYTE:3 [ line_ydxi::xd#2 line_ydxi::xd#1 line_ydxi::xd#0 ] 5.86: zp ZP_BYTE:4 [ line_ydxi::yd#5 line_ydxi::yd#1 line_ydxi::yd#0 ] 3.74: zp ZP_BYTE:5 [ line_ydxi::y1#6 line_ydxi::y1#1 line_ydxi::y1#0 ] +Uplift Scope [line_ydxd] 56.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 ] 33.57: 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 ] 22: zp ZP_BYTE:71 [ line_ydxd::$8 ] 17.48: zp ZP_BYTE:21 [ line_ydxd::y#3 line_ydxd::y#6 line_ydxd::y#1 line_ydxd::y#0 line_ydxd::y#2 ] 9.21: zp ZP_BYTE:17 [ line_ydxd::xd#2 line_ydxd::xd#1 line_ydxd::xd#0 ] 5.86: zp ZP_BYTE:18 [ line_ydxd::yd#5 line_ydxd::yd#1 line_ydxd::yd#0 ] 3.74: zp ZP_BYTE:19 [ line_ydxd::y1#6 line_ydxd::y1#1 line_ydxd::y1#0 ] +Uplift Scope [init_screen] 33: zp ZP_PTR_BYTE:34 [ init_screen::b#2 init_screen::b#1 ] 33: zp ZP_PTR_BYTE:36 [ init_screen::c#2 init_screen::c#1 ] +Uplift Scope [line] 6.25: zp ZP_BYTE:45 [ line::y1#0 ] 5.95: zp ZP_BYTE:44 [ line::y0#0 ] 5.41: zp ZP_BYTE:43 [ line::x1#0 ] 5.17: zp ZP_BYTE:42 [ line::x0#0 ] 0.89: zp ZP_BYTE:47 [ line::yd#1 ] 0.89: zp ZP_BYTE:48 [ line::yd#0 ] 0.89: zp ZP_BYTE:50 [ line::yd#3 ] 0.89: zp ZP_BYTE:51 [ line::yd#10 ] 0.7: zp ZP_BYTE:46 [ line::xd#1 ] 0.7: zp ZP_BYTE:49 [ line::xd#0 ] Uplift Scope [main] Uplift Scope [] -Uplifting [lines] best 14052 combination zp ZP_BYTE:2 [ lines::l#2 lines::l#1 ] reg byte y [ lines::$0 ] zp ZP_BYTE:18 [ lines::$2 ] zp ZP_BYTE:19 [ lines::$3 ] reg byte x [ lines::$5 ] +Uplifting [lines] best 16782 combination zp ZP_BYTE:2 [ lines::l#2 lines::l#1 ] reg byte y [ lines::$0 ] zp ZP_BYTE:39 [ lines::$2 ] zp ZP_BYTE:40 [ lines::$3 ] reg byte x [ lines::$5 ] Uplift attempts [init_plot_tables] 10000/138240 (limiting to 10000) -Uplifting [init_plot_tables] best 13422 combination reg byte y [ init_plot_tables::bit#3 init_plot_tables::bit#4 init_plot_tables::bit#1 ] zp ZP_PTR_BYTE:11 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#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:54 [ init_plot_tables::$10 ] zp ZP_BYTE:50 [ init_plot_tables::$6 ] +Uplifting [init_plot_tables] best 16152 combination reg byte y [ init_plot_tables::bit#3 init_plot_tables::bit#4 init_plot_tables::bit#1 ] zp ZP_PTR_BYTE:32 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#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:78 [ init_plot_tables::$10 ] zp ZP_BYTE:74 [ init_plot_tables::$6 ] Limited combination testing to 10000 combinations of 138240 possible. -Uplifting [line_xdyi] best 13362 combination zp ZP_BYTE:7 [ line_xdyi::e#3 line_xdyi::e#0 line_xdyi::e#6 line_xdyi::e#2 line_xdyi::e#1 ] zp ZP_BYTE:6 [ line_xdyi::y#2 line_xdyi::y#0 line_xdyi::y#5 line_xdyi::y#1 ] reg byte a [ line_xdyi::$8 ] zp ZP_BYTE:5 [ line_xdyi::x#2 line_xdyi::x#0 line_xdyi::x#1 ] zp ZP_BYTE:28 [ line_xdyi::xd#0 ] zp ZP_BYTE:29 [ line_xdyi::yd#0 ] zp ZP_BYTE:27 [ line_xdyi::x1#0 ] Uplift attempts [plot] 10000/122880 (limiting to 10000) -Uplifting [plot] best 13203 combination reg byte y [ plot::y#9 plot::y#6 plot::y#1 plot::y#3 plot::y#0 plot::y#5 plot::y#7 plot::y#2 plot::y#4 plot::y#8 ] reg byte x [ plot::x#9 plot::x#6 plot::x#1 plot::x#3 plot::x#0 plot::x#5 plot::x#7 plot::x#2 plot::x#4 plot::x#8 ] reg byte a [ plot::$0 ] reg byte a [ plot::$1 ] reg byte a [ plot::$2 ] reg byte a [ plot::$3 ] zp ZP_PTR_BYTE:41 [ plot::plotter_y#2 ] reg byte a [ plot::$6 ] reg byte a [ plot::$7 ] zp ZP_PTR_BYTE:32 [ plot::plotter_x#1 ] zp ZP_PTR_BYTE:38 [ plot::plotter_y#1 ] zp ZP_BYTE:45 [ plot::$5 ] zp ZP_PTR_BYTE:43 [ plot::plotter#0 ] zp ZP_PTR_BYTE:35 [ plot::plotter_x#2 ] +Uplifting [plot] best 15861 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 ] reg byte a [ plot::$0 ] reg byte a [ plot::$1 ] reg byte a [ plot::$2 ] reg byte a [ plot::$3 ] zp ZP_PTR_BYTE:63 [ plot::plotter_y#2 ] reg byte a [ plot::$6 ] reg byte a [ plot::$7 ] zp ZP_PTR_BYTE:54 [ plot::plotter_x#1 ] zp ZP_PTR_BYTE:60 [ plot::plotter_y#1 ] zp ZP_BYTE:67 [ plot::$5 ] zp ZP_PTR_BYTE:65 [ plot::plotter#0 ] zp ZP_PTR_BYTE:57 [ plot::plotter_x#2 ] Limited combination testing to 10000 combinations of 122880 possible. -Uplifting [init_screen] best 13203 combination zp ZP_PTR_BYTE:13 [ init_screen::b#2 init_screen::b#1 ] zp ZP_PTR_BYTE:15 [ init_screen::c#2 init_screen::c#1 ] -Uplifting [line] best 12875 combination reg byte a [ line::xd#0 ] zp ZP_BYTE:21 [ line::x0#0 ] reg byte y [ line::y0#0 ] zp ZP_BYTE:22 [ line::x1#0 ] zp ZP_BYTE:24 [ line::y1#0 ] reg byte x [ line::yd#0 ] zp ZP_BYTE:25 [ line::xd#1 ] -Uplifting [main] best 12875 combination -Uplifting [] best 12875 combination +Uplifting [line_xdyi] best 15801 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 ] reg byte a [ line_xdyi::$8 ] 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:11 [ line_xdyi::yd#2 line_xdyi::yd#0 line_xdyi::yd#1 ] zp ZP_BYTE:12 [ line_xdyi::xd#5 line_xdyi::xd#0 line_xdyi::xd#1 ] zp ZP_BYTE:13 [ line_xdyi::x1#6 line_xdyi::x1#0 line_xdyi::x1#1 ] +Uplifting [line_xdyd] best 15741 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 ] reg byte a [ line_xdyd::$8 ] 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:23 [ line_xdyd::yd#2 line_xdyd::yd#0 line_xdyd::yd#1 ] zp ZP_BYTE:24 [ line_xdyd::xd#5 line_xdyd::xd#0 line_xdyd::xd#1 ] zp ZP_BYTE:25 [ line_xdyd::x1#6 line_xdyd::x1#0 line_xdyd::x1#1 ] +Uplifting [line_ydxi] best 15681 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 ] 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 ] reg byte a [ line_ydxi::$8 ] 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:3 [ line_ydxi::xd#2 line_ydxi::xd#1 line_ydxi::xd#0 ] zp ZP_BYTE:4 [ line_ydxi::yd#5 line_ydxi::yd#1 line_ydxi::yd#0 ] zp ZP_BYTE:5 [ line_ydxi::y1#6 line_ydxi::y1#1 line_ydxi::y1#0 ] +Uplifting [line_ydxd] best 15621 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 ] 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 ] reg byte a [ line_ydxd::$8 ] zp ZP_BYTE:21 [ line_ydxd::y#3 line_ydxd::y#6 line_ydxd::y#1 line_ydxd::y#0 line_ydxd::y#2 ] zp ZP_BYTE:17 [ line_ydxd::xd#2 line_ydxd::xd#1 line_ydxd::xd#0 ] zp ZP_BYTE:18 [ line_ydxd::yd#5 line_ydxd::yd#1 line_ydxd::yd#0 ] zp ZP_BYTE:19 [ line_ydxd::y1#6 line_ydxd::y1#1 line_ydxd::y1#0 ] +Uplifting [init_screen] best 15621 combination zp ZP_PTR_BYTE:34 [ init_screen::b#2 init_screen::b#1 ] zp ZP_PTR_BYTE:36 [ init_screen::c#2 init_screen::c#1 ] +Uplift attempts [line] 10000/186624 (limiting to 10000) +Uplifting [line] best 14982 combination reg byte x [ line::y1#0 ] zp ZP_BYTE:44 [ line::y0#0 ] reg byte y [ line::x1#0 ] zp ZP_BYTE:42 [ line::x0#0 ] zp ZP_BYTE:47 [ line::yd#1 ] zp ZP_BYTE:48 [ line::yd#0 ] zp ZP_BYTE:50 [ line::yd#3 ] zp ZP_BYTE:51 [ line::yd#10 ] zp ZP_BYTE:46 [ line::xd#1 ] zp ZP_BYTE:49 [ line::xd#0 ] +Limited combination testing to 10000 combinations of 186624 possible. +Uplifting [main] best 14982 combination +Uplifting [] best 14982 combination Attempting to uplift remaining variables inzp ZP_BYTE:2 [ lines::l#2 lines::l#1 ] -Uplifting [lines] best 12875 combination zp ZP_BYTE:2 [ lines::l#2 lines::l#1 ] -Attempting to uplift remaining variables inzp ZP_BYTE:7 [ line_xdyi::e#3 line_xdyi::e#0 line_xdyi::e#6 line_xdyi::e#2 line_xdyi::e#1 ] -Uplifting [line_xdyi] best 12875 combination zp ZP_BYTE:7 [ 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:18 [ lines::$2 ] -Uplifting [lines] best 12875 combination zp ZP_BYTE:18 [ lines::$2 ] -Attempting to uplift remaining variables inzp ZP_BYTE:19 [ lines::$3 ] -Uplifting [lines] best 12875 combination zp ZP_BYTE:19 [ lines::$3 ] -Attempting to uplift remaining variables inzp ZP_BYTE:6 [ line_xdyi::y#2 line_xdyi::y#0 line_xdyi::y#5 line_xdyi::y#1 ] -Uplifting [line_xdyi] best 12875 combination zp ZP_BYTE:6 [ line_xdyi::y#2 line_xdyi::y#0 line_xdyi::y#5 line_xdyi::y#1 ] -Attempting to uplift remaining variables inzp ZP_BYTE:54 [ init_plot_tables::$10 ] -Uplifting [init_plot_tables] best 12815 combination reg byte a [ init_plot_tables::$10 ] -Attempting to uplift remaining variables inzp ZP_BYTE:5 [ line_xdyi::x#2 line_xdyi::x#0 line_xdyi::x#1 ] -Uplifting [line_xdyi] best 12815 combination zp ZP_BYTE:5 [ line_xdyi::x#2 line_xdyi::x#0 line_xdyi::x#1 ] -Attempting to uplift remaining variables inzp ZP_BYTE:50 [ init_plot_tables::$6 ] -Uplifting [init_plot_tables] best 12815 combination zp ZP_BYTE:50 [ init_plot_tables::$6 ] -Attempting to uplift remaining variables inzp ZP_BYTE:21 [ line::x0#0 ] -Uplifting [line] best 12815 combination zp ZP_BYTE:21 [ line::x0#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:22 [ line::x1#0 ] -Uplifting [line] best 12815 combination zp ZP_BYTE:22 [ line::x1#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:24 [ line::y1#0 ] -Uplifting [line] best 12815 combination zp ZP_BYTE:24 [ line::y1#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:45 [ plot::$5 ] -Uplifting [plot] best 12815 combination zp ZP_BYTE:45 [ plot::$5 ] -Attempting to uplift remaining variables inzp ZP_BYTE:28 [ line_xdyi::xd#0 ] -Uplifting [line_xdyi] best 12815 combination zp ZP_BYTE:28 [ line_xdyi::xd#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:29 [ line_xdyi::yd#0 ] -Uplifting [line_xdyi] best 12815 combination zp ZP_BYTE:29 [ line_xdyi::yd#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:25 [ line::xd#1 ] -Uplifting [line] best 12815 combination zp ZP_BYTE:25 [ line::xd#1 ] -Attempting to uplift remaining variables inzp ZP_BYTE:27 [ line_xdyi::x1#0 ] -Uplifting [line_xdyi] best 12815 combination zp ZP_BYTE:27 [ line_xdyi::x1#0 ] -Coalescing zero page register [ zp ZP_BYTE:2 [ lines::l#2 lines::l#1 ] ] with [ zp ZP_BYTE:50 [ init_plot_tables::$6 ] ] -Coalescing zero page register [ zp ZP_BYTE:5 [ line_xdyi::x#2 line_xdyi::x#0 line_xdyi::x#1 ] ] with [ zp ZP_BYTE:18 [ lines::$2 ] ] -Coalescing zero page register [ zp ZP_BYTE:6 [ line_xdyi::y#2 line_xdyi::y#0 line_xdyi::y#5 line_xdyi::y#1 ] ] with [ zp ZP_BYTE:19 [ lines::$3 ] ] -Coalescing zero page register [ zp ZP_BYTE:7 [ line_xdyi::e#3 line_xdyi::e#0 line_xdyi::e#6 line_xdyi::e#2 line_xdyi::e#1 ] ] with [ zp ZP_BYTE:21 [ line::x0#0 ] ] -Coalescing zero page register [ zp ZP_PTR_BYTE:11 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 ] ] with [ zp ZP_PTR_BYTE:13 [ init_screen::b#2 init_screen::b#1 ] ] -Coalescing zero page register [ zp ZP_PTR_BYTE:11 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 init_screen::b#2 init_screen::b#1 ] ] with [ zp ZP_PTR_BYTE:15 [ init_screen::c#2 init_screen::c#1 ] ] -Coalescing zero page register [ zp ZP_PTR_BYTE:11 [ 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 ] ] with [ zp ZP_PTR_BYTE:32 [ plot::plotter_x#1 ] ] -Coalescing zero page register [ zp ZP_PTR_BYTE:11 [ 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 plot::plotter_x#1 ] ] with [ zp ZP_PTR_BYTE:35 [ plot::plotter_x#2 ] ] -Coalescing zero page register [ zp ZP_PTR_BYTE:11 [ 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 plot::plotter_x#1 plot::plotter_x#2 ] ] with [ zp ZP_PTR_BYTE:43 [ plot::plotter#0 ] ] -Coalescing zero page register [ zp ZP_BYTE:25 [ line::xd#1 ] ] with [ zp ZP_BYTE:28 [ line_xdyi::xd#0 ] ] -Coalescing zero page register [ zp ZP_PTR_BYTE:38 [ plot::plotter_y#1 ] ] with [ zp ZP_PTR_BYTE:41 [ plot::plotter_y#2 ] ] -Allocated (was zp ZP_BYTE:5) zp ZP_BYTE:3 [ line_xdyi::x#2 line_xdyi::x#0 line_xdyi::x#1 lines::$2 ] -Allocated (was zp ZP_BYTE:6) zp ZP_BYTE:4 [ line_xdyi::y#2 line_xdyi::y#0 line_xdyi::y#5 line_xdyi::y#1 lines::$3 ] -Allocated (was zp ZP_BYTE:7) zp ZP_BYTE:5 [ line_xdyi::e#3 line_xdyi::e#0 line_xdyi::e#6 line_xdyi::e#2 line_xdyi::e#1 line::x0#0 ] -Allocated (was zp ZP_PTR_BYTE:11) zp ZP_PTR_BYTE:6 [ 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 plot::plotter_x#1 plot::plotter_x#2 plot::plotter#0 ] -Allocated (was zp ZP_BYTE:22) zp ZP_BYTE:8 [ line::x1#0 ] -Allocated (was zp ZP_BYTE:24) zp ZP_BYTE:9 [ line::y1#0 ] -Allocated (was zp ZP_BYTE:25) zp ZP_BYTE:10 [ line::xd#1 line_xdyi::xd#0 ] -Allocated (was zp ZP_BYTE:27) zp ZP_BYTE:11 [ line_xdyi::x1#0 ] -Allocated (was zp ZP_BYTE:29) zp ZP_BYTE:12 [ line_xdyi::yd#0 ] -Allocated (was zp ZP_PTR_BYTE:38) zp ZP_PTR_BYTE:13 [ plot::plotter_y#1 plot::plotter_y#2 ] -Allocated (was zp ZP_BYTE:45) zp ZP_BYTE:15 [ plot::$5 ] -Removing instruction jmp b7 +Uplifting [lines] best 14982 combination zp ZP_BYTE:2 [ lines::l#2 lines::l#1 ] +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 14982 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 14982 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 14982 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 14982 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:39 [ lines::$2 ] +Uplifting [lines] best 14982 combination zp ZP_BYTE:39 [ lines::$2 ] +Attempting to uplift remaining variables inzp ZP_BYTE:40 [ lines::$3 ] +Uplifting [lines] best 14982 combination zp ZP_BYTE:40 [ lines::$3 ] +Attempting to uplift remaining variables inzp 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 ] +Uplifting [line_ydxi] best 14982 combination 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 ] +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 14982 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: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 ] +Uplifting [line_ydxd] best 14982 combination 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 ] +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 14982 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:78 [ init_plot_tables::$10 ] +Uplifting [init_plot_tables] best 14922 combination reg byte a [ init_plot_tables::$10 ] +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 14922 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:14 [ line_xdyi::x#3 line_xdyi::x#6 line_xdyi::x#0 line_xdyi::x#1 line_xdyi::x#2 ] +Uplifting [line_xdyi] best 14922 combination zp ZP_BYTE:14 [ line_xdyi::x#3 line_xdyi::x#6 line_xdyi::x#0 line_xdyi::x#1 line_xdyi::x#2 ] +Attempting to uplift remaining variables inzp ZP_BYTE:21 [ line_ydxd::y#3 line_ydxd::y#6 line_ydxd::y#1 line_ydxd::y#0 line_ydxd::y#2 ] +Uplifting [line_ydxd] best 14922 combination zp ZP_BYTE:21 [ line_ydxd::y#3 line_ydxd::y#6 line_ydxd::y#1 line_ydxd::y#0 line_ydxd::y#2 ] +Attempting to uplift remaining variables inzp ZP_BYTE:26 [ line_xdyd::x#3 line_xdyd::x#6 line_xdyd::x#0 line_xdyd::x#1 line_xdyd::x#2 ] +Uplifting [line_xdyd] best 14922 combination zp ZP_BYTE:26 [ line_xdyd::x#3 line_xdyd::x#6 line_xdyd::x#0 line_xdyd::x#1 line_xdyd::x#2 ] +Attempting to uplift remaining variables inzp ZP_BYTE:74 [ init_plot_tables::$6 ] +Uplifting [init_plot_tables] best 14922 combination zp ZP_BYTE:74 [ init_plot_tables::$6 ] +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 14922 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 14922 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 14922 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 14922 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:44 [ line::y0#0 ] +Uplifting [line] best 14922 combination zp ZP_BYTE:44 [ line::y0#0 ] +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 14922 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 14922 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 14922 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 14922 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:42 [ line::x0#0 ] +Uplifting [line] best 14922 combination zp ZP_BYTE:42 [ line::x0#0 ] +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 14922 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 14922 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 14922 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 14922 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:67 [ plot::$5 ] +Uplifting [plot] best 14922 combination zp ZP_BYTE:67 [ plot::$5 ] +Attempting to uplift remaining variables inzp ZP_BYTE:47 [ line::yd#1 ] +Uplifting [line] best 14922 combination zp ZP_BYTE:47 [ line::yd#1 ] +Attempting to uplift remaining variables inzp ZP_BYTE:48 [ line::yd#0 ] +Uplifting [line] best 14922 combination zp ZP_BYTE:48 [ line::yd#0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:50 [ line::yd#3 ] +Uplifting [line] best 14922 combination zp ZP_BYTE:50 [ line::yd#3 ] +Attempting to uplift remaining variables inzp ZP_BYTE:51 [ line::yd#10 ] +Uplifting [line] best 14922 combination zp ZP_BYTE:51 [ line::yd#10 ] +Attempting to uplift remaining variables inzp ZP_BYTE:46 [ line::xd#1 ] +Uplifting [line] best 14922 combination zp ZP_BYTE:46 [ line::xd#1 ] +Attempting to uplift remaining variables inzp ZP_BYTE:49 [ line::xd#0 ] +Uplifting [line] best 14922 combination zp ZP_BYTE:49 [ line::xd#0 ] +Coalescing zero page register [ zp ZP_BYTE:2 [ lines::l#2 lines::l#1 ] ] with [ zp ZP_BYTE:74 [ init_plot_tables::$6 ] ] +Coalescing zero page register [ zp ZP_BYTE:3 [ line_ydxi::xd#2 line_ydxi::xd#1 line_ydxi::xd#0 ] ] with [ zp ZP_BYTE:39 [ lines::$2 ] ] +Coalescing zero page register [ zp ZP_BYTE:3 [ line_ydxi::xd#2 line_ydxi::xd#1 line_ydxi::xd#0 lines::$2 ] ] with [ zp ZP_BYTE:44 [ line::y0#0 ] ] +Coalescing zero page register [ zp ZP_BYTE:4 [ line_ydxi::yd#5 line_ydxi::yd#1 line_ydxi::yd#0 ] ] with [ zp ZP_BYTE:40 [ lines::$3 ] ] +Coalescing zero page register [ zp ZP_BYTE:4 [ line_ydxi::yd#5 line_ydxi::yd#1 line_ydxi::yd#0 lines::$3 ] ] with [ zp ZP_BYTE:47 [ line::yd#1 ] ] +Coalescing zero page register [ zp ZP_BYTE:4 [ line_ydxi::yd#5 line_ydxi::yd#1 line_ydxi::yd#0 lines::$3 line::yd#1 ] ] with [ zp ZP_BYTE:48 [ line::yd#0 ] ] +Coalescing zero page register [ zp ZP_BYTE:4 [ line_ydxi::yd#5 line_ydxi::yd#1 line_ydxi::yd#0 lines::$3 line::yd#1 line::yd#0 ] ] with [ zp ZP_BYTE:50 [ line::yd#3 ] ] +Coalescing zero page register [ zp ZP_BYTE:4 [ line_ydxi::yd#5 line_ydxi::yd#1 line_ydxi::yd#0 lines::$3 line::yd#1 line::yd#0 line::yd#3 ] ] with [ zp ZP_BYTE:51 [ 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:42 [ line::x0#0 ] ] +Coalescing zero page register [ zp ZP_BYTE:8 [ line_ydxi::e#3 line_ydxi::e#0 line_ydxi::e#6 line_ydxi::e#2 line_ydxi::e#1 ] ] with [ zp ZP_BYTE:46 [ line::xd#1 ] ] +Coalescing zero page register [ zp ZP_BYTE:8 [ line_ydxi::e#3 line_ydxi::e#0 line_ydxi::e#6 line_ydxi::e#2 line_ydxi::e#1 line::xd#1 ] ] with [ zp ZP_BYTE:49 [ line::xd#0 ] ] +Coalescing zero page register [ zp ZP_PTR_BYTE:32 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 ] ] with [ zp ZP_PTR_BYTE:34 [ init_screen::b#2 init_screen::b#1 ] ] +Coalescing zero page register [ zp ZP_PTR_BYTE:32 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 init_screen::b#2 init_screen::b#1 ] ] with [ zp ZP_PTR_BYTE:36 [ init_screen::c#2 init_screen::c#1 ] ] +Coalescing zero page register [ zp ZP_PTR_BYTE:32 [ 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 ] ] with [ zp ZP_PTR_BYTE:54 [ plot::plotter_x#1 ] ] +Coalescing zero page register [ zp ZP_PTR_BYTE:32 [ 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 plot::plotter_x#1 ] ] with [ zp ZP_PTR_BYTE:57 [ plot::plotter_x#2 ] ] +Coalescing zero page register [ zp ZP_PTR_BYTE:32 [ 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 plot::plotter_x#1 plot::plotter_x#2 ] ] with [ zp ZP_PTR_BYTE:65 [ plot::plotter#0 ] ] +Coalescing zero page register [ zp ZP_PTR_BYTE:60 [ plot::plotter_y#1 ] ] with [ zp ZP_PTR_BYTE:63 [ plot::plotter_y#2 ] ] +Allocated (was zp ZP_BYTE:11) zp ZP_BYTE:9 [ line_xdyi::yd#2 line_xdyi::yd#0 line_xdyi::yd#1 ] +Allocated (was zp ZP_BYTE:12) zp ZP_BYTE:10 [ line_xdyi::xd#5 line_xdyi::xd#0 line_xdyi::xd#1 ] +Allocated (was zp ZP_BYTE:13) zp ZP_BYTE:11 [ line_xdyi::x1#6 line_xdyi::x1#0 line_xdyi::x1#1 ] +Allocated (was zp ZP_BYTE:14) zp ZP_BYTE:12 [ line_xdyi::x#3 line_xdyi::x#6 line_xdyi::x#0 line_xdyi::x#1 line_xdyi::x#2 ] +Allocated (was zp ZP_BYTE:15) zp ZP_BYTE:13 [ 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 (was zp ZP_BYTE:16) zp ZP_BYTE:14 [ 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:17) zp ZP_BYTE:15 [ line_ydxd::xd#2 line_ydxd::xd#1 line_ydxd::xd#0 ] +Allocated (was zp ZP_BYTE:18) zp ZP_BYTE:16 [ line_ydxd::yd#5 line_ydxd::yd#1 line_ydxd::yd#0 ] +Allocated (was zp ZP_BYTE:19) zp ZP_BYTE:17 [ line_ydxd::y1#6 line_ydxd::y1#1 line_ydxd::y1#0 ] +Allocated (was zp ZP_BYTE:20) zp ZP_BYTE:18 [ 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 (was zp ZP_BYTE:21) zp ZP_BYTE:19 [ line_ydxd::y#3 line_ydxd::y#6 line_ydxd::y#1 line_ydxd::y#0 line_ydxd::y#2 ] +Allocated (was zp ZP_BYTE:22) zp ZP_BYTE:20 [ 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:23) zp ZP_BYTE:21 [ line_xdyd::yd#2 line_xdyd::yd#0 line_xdyd::yd#1 ] +Allocated (was zp ZP_BYTE:24) zp ZP_BYTE:22 [ line_xdyd::xd#5 line_xdyd::xd#0 line_xdyd::xd#1 ] +Allocated (was zp ZP_BYTE:25) zp ZP_BYTE:23 [ line_xdyd::x1#6 line_xdyd::x1#0 line_xdyd::x1#1 ] +Allocated (was zp ZP_BYTE:26) zp ZP_BYTE:24 [ line_xdyd::x#3 line_xdyd::x#6 line_xdyd::x#0 line_xdyd::x#1 line_xdyd::x#2 ] +Allocated (was zp ZP_BYTE:27) zp ZP_BYTE:25 [ 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 (was zp ZP_BYTE:28) zp ZP_BYTE:26 [ line_xdyd::e#3 line_xdyd::e#0 line_xdyd::e#6 line_xdyd::e#2 line_xdyd::e#1 ] +Allocated (was zp ZP_PTR_BYTE:32) zp ZP_PTR_BYTE:27 [ 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 plot::plotter_x#1 plot::plotter_x#2 plot::plotter#0 ] +Allocated (was zp ZP_PTR_BYTE:60) zp ZP_PTR_BYTE:29 [ plot::plotter_y#1 plot::plotter_y#2 ] +Allocated (was zp ZP_BYTE:67) zp ZP_BYTE:31 [ plot::$5 ] +Removing instruction jmp b10 Removing instruction jmp bend Removing instruction jmp b3 Removing instruction jmp b1 @@ -10914,15 +16998,29 @@ Removing instruction jmp breturn Removing instruction jmp b1 Removing instruction jmp b3 Removing instruction jmp breturn -Removing instruction jmp b9 -Removing instruction jmp b10 -Removing instruction jmp b11 -Removing instruction jmp breturn -Removing instruction jmp b19 -Removing instruction jmp b17 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 b22 +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 @@ -10967,8 +17065,8 @@ ASSEMBLER lines_y: .byte $a, $28, $3c, $50, $6e, $50, $3c, $28, $a //SEG1 @begin bbegin: -//SEG2 @7 -b7: +//SEG2 @10 +b10: //SEG3 [0] call main param-assignment [ ] jsr main //SEG4 @end @@ -10988,13 +17086,13 @@ main: { lda #$18 sta D018 //SEG10 [5] call init_screen param-assignment [ ] - //SEG11 [116] phi from main to init_screen [phi:main->init_screen] + //SEG11 [186] phi from main to init_screen [phi:main->init_screen] init_screen_from_main: jsr init_screen //SEG12 main::@3 b3: //SEG13 [6] call init_plot_tables param-assignment [ ] - //SEG14 [91] phi from main::@3 to init_plot_tables [phi:main::@3->init_plot_tables] + //SEG14 [161] phi from main::@3 to init_plot_tables [phi:main::@3->init_plot_tables] init_plot_tables_from_b3: jsr init_plot_tables //SEG15 main::@1 @@ -11046,13 +17144,13 @@ lines: { tax //SEG32 [16] (byte) line::x0#0 ← (byte~) lines::$0 [ lines::l#2 lines::$2 lines::$3 lines::$5 line::x0#0 ] -- zpby1=yby sty line.x0 - //SEG33 [17] (byte) line::x1#0 ← (byte~) lines::$2 [ lines::l#2 lines::$3 lines::$5 line::x0#0 line::x1#0 ] -- zpby1=zpby2 - lda _2 - sta line.x1 - //SEG34 [18] (byte) line::y0#0 ← (byte~) lines::$3 [ lines::l#2 lines::$5 line::x0#0 line::x1#0 line::y0#0 ] -- yby=zpby1 - ldy _3 - //SEG35 [19] (byte) line::y1#0 ← (byte~) lines::$5 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] -- zpby1=xby - stx line.y1 + //SEG33 [17] (byte) line::x1#0 ← (byte~) lines::$2 [ lines::l#2 lines::$3 lines::$5 line::x0#0 line::x1#0 ] -- yby=zpby1 + ldy _2 + //SEG34 [18] (byte) line::y0#0 ← (byte~) lines::$3 [ lines::l#2 lines::$5 line::x0#0 line::x1#0 line::y0#0 ] -- zpby1=zpby2 + lda _3 + sta line.y0 + //SEG35 [19] (byte) line::y1#0 ← (byte~) lines::$5 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] + // (byte) line::y1#0 = (byte~) lines::$5 // register copy reg byte x //SEG36 [20] call line param-assignment [ lines::l#2 ] jsr line //SEG37 lines::@3 @@ -11071,191 +17169,383 @@ lines: { //SEG42 line line: { .label x0 = 5 - .label x1 = 8 - .label y1 = 9 - .label xd = 10 - //SEG43 [24] if((byte) line::x0#0>=(byte) line::x1#0) goto line::@1 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] -- zpby1_ge_zpby2_then_la1 - lda x0 - cmp x1 - bcs b1 - //SEG44 line::@9 - b9: - //SEG45 [25] (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 ] -- zpby1=zpby2_minus_zpby3 - lda x1 + .label y0 = 3 + .label xd = 8 + .label yd = 4 + //SEG43 [24] if((byte) line::x0#0>=(byte) line::x1#0) goto line::@1 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] -- zpby1_ge_yby_then_la1 + cpy x0 + bcc b1 + //SEG44 line::@15 + b15: + //SEG45 [25] (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 ] -- zpby1=yby_minus_zpby2 + tya sec sbc x0 sta xd - //SEG46 [26] 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 ] -- yby_ge_zpby1_then_la1 - cpy y1 - bcs b2 - //SEG47 line::@10 - b10: - //SEG48 [27] (byte) line::yd#0 ← (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#0 ] -- xby=zpby1_minus_yby - sty $ff - lda y1 + //SEG46 [26] 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 ] -- zpby1_ge_xby_then_la1 + cpx y0 + bcc b2 + //SEG47 line::@16 + b16: + //SEG48 [27] (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 ] -- zpby1=xby_minus_zpby2 + txa sec - sbc $ff - tax - //SEG49 [28] if((byte) line::yd#0>=(byte) line::xd#1) goto line::@3 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#0 ] -- xby_ge_zpby1_then_la1 - cpx xd + sbc y0 + sta yd + //SEG49 [28] 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 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp xd bcs b3 - //SEG50 line::@11 - b11: - //SEG51 [29] (byte) line_xdyi::x#0 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::xd#1 line::yd#0 line_xdyi::x#0 ] -- zpby1=zpby2 + //SEG50 line::@17 + b17: + //SEG51 [29] (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 ] -- zpby1=zpby2 lda x0 sta line_xdyi.x - //SEG52 [30] (byte) line_xdyi::y#0 ← (byte) line::y0#0 [ line::x1#0 line::xd#1 line::yd#0 line_xdyi::x#0 line_xdyi::y#0 ] -- zpby1=yby - sty line_xdyi.y - //SEG53 [31] (byte) line_xdyi::x1#0 ← (byte) line::x1#0 [ line::xd#1 line::yd#0 line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 ] -- zpby1=zpby2 - lda x1 - sta line_xdyi.x1 - //SEG54 [32] (byte) line_xdyi::xd#0 ← (byte) line::xd#1 [ line::yd#0 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:10 - //SEG55 [33] (byte) line_xdyi::yd#0 ← (byte) line::yd#0 [ line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 ] -- zpby1=xby - stx line_xdyi.yd + //SEG52 [30] (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 ] -- zpby1=zpby2 + lda y0 + sta line_xdyi.y + //SEG53 [31] (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 ] -- zpby1=yby + sty line_xdyi.x1 + //SEG54 [32] (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 ] -- zpby1=zpby2 + lda xd + sta line_xdyi.xd + //SEG55 [33] (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 ] -- zpby1=zpby2 + lda yd + sta line_xdyi.yd //SEG56 [34] call line_xdyi param-assignment [ ] + //SEG57 [116] phi from line::@17 to line_xdyi [phi:line::@17->line_xdyi] + line_xdyi_from_b17: + //SEG58 [116] phi (byte) line_xdyi::x1#6 = (byte) line_xdyi::x1#0 [phi:line::@17->line_xdyi#0] -- register_copy + //SEG59 [116] phi (byte) line_xdyi::xd#5 = (byte) line_xdyi::xd#0 [phi:line::@17->line_xdyi#1] -- register_copy + //SEG60 [116] phi (byte) line_xdyi::y#5 = (byte) line_xdyi::y#0 [phi:line::@17->line_xdyi#2] -- register_copy + //SEG61 [116] phi (byte) line_xdyi::x#6 = (byte) line_xdyi::x#0 [phi:line::@17->line_xdyi#3] -- register_copy + //SEG62 [116] phi (byte) line_xdyi::yd#2 = (byte) line_xdyi::yd#0 [phi:line::@17->line_xdyi#4] -- register_copy jsr line_xdyi - //SEG57 line::@return + //SEG63 line::@return breturn: - //SEG58 [35] return [ ] + //SEG64 [35] return [ ] rts - //SEG59 line::@3 + //SEG65 line::@3 b3: - //SEG60 [36] (byte) plot::x#2 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#2 ] -- xby=zpby1 - ldx x0 - //SEG61 [37] (byte) plot::y#2 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#2 plot::y#2 ] - // (byte) plot::y#2 = (byte) line::y0#0 // register copy reg byte y - //SEG62 [38] call plot param-assignment [ line::x1#0 line::y1#0 ] - //SEG63 [62] phi from line::@3 to plot [phi:line::@3->plot] - plot_from_b3: - //SEG64 [62] phi (byte) plot::y#9 = (byte) plot::y#2 [phi:line::@3->plot#0] -- register_copy - //SEG65 [62] phi (byte) plot::x#9 = (byte) plot::x#2 [phi:line::@3->plot#1] -- register_copy - jsr plot - //SEG66 line::@19 - b19: - //SEG67 [39] (byte) plot::x#3 ← (byte) line::x1#0 [ line::y1#0 plot::x#3 ] -- xby=zpby1 - ldx x1 - //SEG68 [40] (byte) plot::y#3 ← (byte) line::y1#0 [ plot::x#3 plot::y#3 ] -- yby=zpby1 - ldy y1 - //SEG69 [41] call plot param-assignment [ ] - //SEG70 [62] phi from line::@19 to plot [phi:line::@19->plot] - plot_from_b19: - //SEG71 [62] phi (byte) plot::y#9 = (byte) plot::y#3 [phi:line::@19->plot#0] -- register_copy - //SEG72 [62] phi (byte) plot::x#9 = (byte) plot::x#3 [phi:line::@19->plot#1] -- register_copy - jsr plot + //SEG66 [36] (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 ] -- zpby1=zpby2 + lda y0 + sta line_ydxi.y + //SEG67 [37] (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 ] -- zpby1=zpby2 + lda x0 + sta line_ydxi.x + //SEG68 [38] (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 ] -- zpby1=xby + stx line_ydxi.y1 + //SEG69 [39] (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 ] + // (byte) line_ydxi::yd#0 = (byte) line::yd#1 // register copy zp ZP_BYTE:4 + //SEG70 [40] (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 ] -- zpby1=zpby2 + lda xd + sta line_ydxi.xd + //SEG71 [41] call line_ydxi param-assignment [ ] + //SEG72 [86] phi from line::@3 to line_ydxi [phi:line::@3->line_ydxi] + line_ydxi_from_b3: + //SEG73 [86] phi (byte) line_ydxi::y1#6 = (byte) line_ydxi::y1#0 [phi:line::@3->line_ydxi#0] -- register_copy + //SEG74 [86] phi (byte) line_ydxi::yd#5 = (byte) line_ydxi::yd#0 [phi:line::@3->line_ydxi#1] -- register_copy + //SEG75 [86] phi (byte) line_ydxi::y#6 = (byte) line_ydxi::y#0 [phi:line::@3->line_ydxi#2] -- register_copy + //SEG76 [86] phi (byte) line_ydxi::x#5 = (byte) line_ydxi::x#0 [phi:line::@3->line_ydxi#3] -- register_copy + //SEG77 [86] phi (byte) line_ydxi::xd#2 = (byte) line_ydxi::xd#0 [phi:line::@3->line_ydxi#4] -- register_copy + jsr line_ydxi jmp breturn - //SEG73 line::@2 + //SEG78 line::@2 b2: - //SEG74 [42] (byte) plot::x#0 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#0 ] -- xby=zpby1 - ldx x0 - //SEG75 [43] (byte) plot::y#0 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#0 plot::y#0 ] - // (byte) plot::y#0 = (byte) line::y0#0 // register copy reg byte y - //SEG76 [44] call plot param-assignment [ line::x1#0 line::y1#0 ] - //SEG77 [62] phi from line::@2 to plot [phi:line::@2->plot] - plot_from_b2: - //SEG78 [62] phi (byte) plot::y#9 = (byte) plot::y#0 [phi:line::@2->plot#0] -- register_copy - //SEG79 [62] phi (byte) plot::x#9 = (byte) plot::x#0 [phi:line::@2->plot#1] -- register_copy - jsr plot - //SEG80 line::@17 - b17: - //SEG81 [45] (byte) plot::x#1 ← (byte) line::x1#0 [ line::y1#0 plot::x#1 ] -- xby=zpby1 - ldx x1 - //SEG82 [46] (byte) plot::y#1 ← (byte) line::y1#0 [ plot::x#1 plot::y#1 ] -- yby=zpby1 - ldy y1 - //SEG83 [47] call plot param-assignment [ ] - //SEG84 [62] phi from line::@17 to plot [phi:line::@17->plot] - plot_from_b17: - //SEG85 [62] phi (byte) plot::y#9 = (byte) plot::y#1 [phi:line::@17->plot#0] -- register_copy - //SEG86 [62] phi (byte) plot::x#9 = (byte) plot::x#1 [phi:line::@17->plot#1] -- register_copy - jsr plot - jmp breturn - //SEG87 line::@1 - b1: - //SEG88 [48] (byte) line::xd#0 ← (byte) line::x1#0 - (byte) line::x0#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] -- aby=zpby1_minus_zpby2 - lda x1 + //SEG79 [42] (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 ] -- zpby1=zpby2_minus_xby + stx $ff + lda y0 sec - sbc x0 - //SEG89 [49] if((byte) line::y0#0>=(byte) line::y1#0) goto line::@7 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] -- yby_ge_zpby1_then_la1 - cpy y1 - bcs b7 - //SEG90 line::@15 - b15: - //SEG91 [50] (byte) plot::x#6 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#6 ] -- xby=zpby1 - ldx x0 - //SEG92 [51] (byte) plot::y#6 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#6 plot::y#6 ] - // (byte) plot::y#6 = (byte) line::y0#0 // register copy reg byte y - //SEG93 [52] call plot param-assignment [ line::x1#0 line::y1#0 ] - //SEG94 [62] phi from line::@15 to plot [phi:line::@15->plot] - plot_from_b15: - //SEG95 [62] phi (byte) plot::y#9 = (byte) plot::y#6 [phi:line::@15->plot#0] -- register_copy - //SEG96 [62] phi (byte) plot::x#9 = (byte) plot::x#6 [phi:line::@15->plot#1] -- register_copy - jsr plot - //SEG97 line::@24 - b24: - //SEG98 [53] (byte) plot::x#7 ← (byte) line::x1#0 [ line::y1#0 plot::x#7 ] -- xby=zpby1 - ldx x1 - //SEG99 [54] (byte) plot::y#7 ← (byte) line::y1#0 [ plot::x#7 plot::y#7 ] -- yby=zpby1 - ldy y1 - //SEG100 [55] call plot param-assignment [ ] - //SEG101 [62] phi from line::@24 to plot [phi:line::@24->plot] - plot_from_b24: - //SEG102 [62] phi (byte) plot::y#9 = (byte) plot::y#7 [phi:line::@24->plot#0] -- register_copy - //SEG103 [62] phi (byte) plot::x#9 = (byte) plot::x#7 [phi:line::@24->plot#1] -- register_copy - jsr plot + sbc $ff + sta yd + //SEG80 [43] 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 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp xd + bcs b6 + //SEG81 line::@20 + b20: + //SEG82 [44] (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 ] -- zpby1=zpby2 + lda x0 + sta line_xdyd.x + //SEG83 [45] (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 ] -- zpby1=zpby2 + lda y0 + sta line_xdyd.y + //SEG84 [46] (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 ] -- zpby1=yby + sty line_xdyd.x1 + //SEG85 [47] (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 ] -- zpby1=zpby2 + lda xd + sta line_xdyd.xd + //SEG86 [48] (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 ] -- zpby1=zpby2 + lda yd + sta line_xdyd.yd + //SEG87 [49] call line_xdyd param-assignment [ ] + //SEG88 [146] phi from line::@20 to line_xdyd [phi:line::@20->line_xdyd] + line_xdyd_from_b20: + //SEG89 [146] phi (byte) line_xdyd::x1#6 = (byte) line_xdyd::x1#0 [phi:line::@20->line_xdyd#0] -- register_copy + //SEG90 [146] phi (byte) line_xdyd::xd#5 = (byte) line_xdyd::xd#0 [phi:line::@20->line_xdyd#1] -- register_copy + //SEG91 [146] phi (byte) line_xdyd::y#5 = (byte) line_xdyd::y#0 [phi:line::@20->line_xdyd#2] -- register_copy + //SEG92 [146] phi (byte) line_xdyd::x#6 = (byte) line_xdyd::x#0 [phi:line::@20->line_xdyd#3] -- register_copy + //SEG93 [146] phi (byte) line_xdyd::yd#2 = (byte) line_xdyd::yd#0 [phi:line::@20->line_xdyd#4] -- register_copy + jsr line_xdyd jmp breturn - //SEG104 line::@7 - b7: - //SEG105 [56] (byte) plot::x#4 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#4 ] -- xby=zpby1 - ldx x0 - //SEG106 [57] (byte) plot::y#4 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#4 plot::y#4 ] - // (byte) plot::y#4 = (byte) line::y0#0 // register copy reg byte y - //SEG107 [58] call plot param-assignment [ line::x1#0 line::y1#0 ] - //SEG108 [62] phi from line::@7 to plot [phi:line::@7->plot] - plot_from_b7: - //SEG109 [62] phi (byte) plot::y#9 = (byte) plot::y#4 [phi:line::@7->plot#0] -- register_copy - //SEG110 [62] phi (byte) plot::x#9 = (byte) plot::x#4 [phi:line::@7->plot#1] -- register_copy - jsr plot - //SEG111 line::@22 - b22: - //SEG112 [59] (byte) plot::x#5 ← (byte) line::x1#0 [ line::y1#0 plot::x#5 ] -- xby=zpby1 - ldx x1 - //SEG113 [60] (byte) plot::y#5 ← (byte) line::y1#0 [ plot::x#5 plot::y#5 ] -- yby=zpby1 - ldy y1 - //SEG114 [61] call plot param-assignment [ ] - //SEG115 [62] phi from line::@22 to plot [phi:line::@22->plot] - plot_from_b22: - //SEG116 [62] phi (byte) plot::y#9 = (byte) plot::y#5 [phi:line::@22->plot#0] -- register_copy - //SEG117 [62] phi (byte) plot::x#9 = (byte) plot::x#5 [phi:line::@22->plot#1] -- register_copy - jsr plot + //SEG94 line::@6 + b6: + //SEG95 [50] (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 ] -- zpby1=xby + stx line_ydxd.y + //SEG96 [51] (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 ] -- zpby1=yby + sty line_ydxd.x + //SEG97 [52] (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 ] -- zpby1=zpby2 + lda y0 + sta line_ydxd.y1 + //SEG98 [53] (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 ] -- zpby1=zpby2 + lda yd + sta line_ydxd.yd + //SEG99 [54] (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 ] -- zpby1=zpby2 + lda xd + sta line_ydxd.xd + //SEG100 [55] call line_ydxd param-assignment [ ] + //SEG101 [131] phi from line::@6 to line_ydxd [phi:line::@6->line_ydxd] + line_ydxd_from_b6: + //SEG102 [131] phi (byte) line_ydxd::y1#6 = (byte) line_ydxd::y1#0 [phi:line::@6->line_ydxd#0] -- register_copy + //SEG103 [131] phi (byte) line_ydxd::yd#5 = (byte) line_ydxd::yd#0 [phi:line::@6->line_ydxd#1] -- register_copy + //SEG104 [131] phi (byte) line_ydxd::y#6 = (byte) line_ydxd::y#0 [phi:line::@6->line_ydxd#2] -- register_copy + //SEG105 [131] phi (byte) line_ydxd::x#5 = (byte) line_ydxd::x#0 [phi:line::@6->line_ydxd#3] -- register_copy + //SEG106 [131] phi (byte) line_ydxd::xd#2 = (byte) line_ydxd::xd#0 [phi:line::@6->line_ydxd#4] -- register_copy + jsr line_ydxd + jmp breturn + //SEG107 line::@1 + b1: + //SEG108 [56] (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 ] -- zpby1=zpby2_minus_yby + sty $ff + lda x0 + sec + sbc $ff + sta xd + //SEG109 [57] 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 ] -- zpby1_ge_xby_then_la1 + cpx y0 + bcc b9 + //SEG110 line::@23 + b23: + //SEG111 [58] (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 ] -- zpby1=xby_minus_zpby2 + txa + sec + sbc y0 + sta yd + //SEG112 [59] 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 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp xd + bcs b10 + //SEG113 line::@24 + b24: + //SEG114 [60] (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 ] -- zpby1=yby + sty line_xdyd.x + //SEG115 [61] (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 ] -- zpby1=xby + stx line_xdyd.y + //SEG116 [62] (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 ] -- zpby1=zpby2 + lda x0 + sta line_xdyd.x1 + //SEG117 [63] (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 ] -- zpby1=zpby2 + lda xd + sta line_xdyd.xd + //SEG118 [64] (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 ] -- zpby1=zpby2 + lda yd + sta line_xdyd.yd + //SEG119 [65] call line_xdyd param-assignment [ ] + //SEG120 [146] phi from line::@24 to line_xdyd [phi:line::@24->line_xdyd] + line_xdyd_from_b24: + //SEG121 [146] phi (byte) line_xdyd::x1#6 = (byte) line_xdyd::x1#1 [phi:line::@24->line_xdyd#0] -- register_copy + //SEG122 [146] phi (byte) line_xdyd::xd#5 = (byte) line_xdyd::xd#1 [phi:line::@24->line_xdyd#1] -- register_copy + //SEG123 [146] phi (byte) line_xdyd::y#5 = (byte) line_xdyd::y#1 [phi:line::@24->line_xdyd#2] -- register_copy + //SEG124 [146] phi (byte) line_xdyd::x#6 = (byte) line_xdyd::x#1 [phi:line::@24->line_xdyd#3] -- register_copy + //SEG125 [146] phi (byte) line_xdyd::yd#2 = (byte) line_xdyd::yd#1 [phi:line::@24->line_xdyd#4] -- register_copy + jsr line_xdyd + jmp breturn + //SEG126 line::@10 + b10: + //SEG127 [66] (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 ] -- zpby1=zpby2 + lda y0 + sta line_ydxd.y + //SEG128 [67] (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 ] -- zpby1=zpby2 + lda x0 + sta line_ydxd.x + //SEG129 [68] (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 ] -- zpby1=xby + stx line_ydxd.y1 + //SEG130 [69] (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 ] -- zpby1=zpby2 + lda yd + sta line_ydxd.yd + //SEG131 [70] (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 ] -- zpby1=zpby2 + lda xd + sta line_ydxd.xd + //SEG132 [71] call line_ydxd param-assignment [ ] + //SEG133 [131] phi from line::@10 to line_ydxd [phi:line::@10->line_ydxd] + line_ydxd_from_b10: + //SEG134 [131] phi (byte) line_ydxd::y1#6 = (byte) line_ydxd::y1#1 [phi:line::@10->line_ydxd#0] -- register_copy + //SEG135 [131] phi (byte) line_ydxd::yd#5 = (byte) line_ydxd::yd#1 [phi:line::@10->line_ydxd#1] -- register_copy + //SEG136 [131] phi (byte) line_ydxd::y#6 = (byte) line_ydxd::y#1 [phi:line::@10->line_ydxd#2] -- register_copy + //SEG137 [131] phi (byte) line_ydxd::x#5 = (byte) line_ydxd::x#1 [phi:line::@10->line_ydxd#3] -- register_copy + //SEG138 [131] phi (byte) line_ydxd::xd#2 = (byte) line_ydxd::xd#1 [phi:line::@10->line_ydxd#4] -- register_copy + jsr line_ydxd + jmp breturn + //SEG139 line::@9 + b9: + //SEG140 [72] (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 ] -- zpby1=zpby2_minus_xby + stx $ff + lda y0 + sec + sbc $ff + sta yd + //SEG141 [73] 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 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp xd + bcs b13 + //SEG142 line::@27 + b27: + //SEG143 [74] (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 ] -- zpby1=yby + sty line_xdyi.x + //SEG144 [75] (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 ] -- zpby1=xby + stx line_xdyi.y + //SEG145 [76] (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 ] -- zpby1=zpby2 + lda x0 + sta line_xdyi.x1 + //SEG146 [77] (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 ] -- zpby1=zpby2 + lda xd + sta line_xdyi.xd + //SEG147 [78] (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 ] -- zpby1=zpby2 + lda yd + sta line_xdyi.yd + //SEG148 [79] call line_xdyi param-assignment [ ] + //SEG149 [116] phi from line::@27 to line_xdyi [phi:line::@27->line_xdyi] + line_xdyi_from_b27: + //SEG150 [116] phi (byte) line_xdyi::x1#6 = (byte) line_xdyi::x1#1 [phi:line::@27->line_xdyi#0] -- register_copy + //SEG151 [116] phi (byte) line_xdyi::xd#5 = (byte) line_xdyi::xd#1 [phi:line::@27->line_xdyi#1] -- register_copy + //SEG152 [116] phi (byte) line_xdyi::y#5 = (byte) line_xdyi::y#1 [phi:line::@27->line_xdyi#2] -- register_copy + //SEG153 [116] phi (byte) line_xdyi::x#6 = (byte) line_xdyi::x#1 [phi:line::@27->line_xdyi#3] -- register_copy + //SEG154 [116] phi (byte) line_xdyi::yd#2 = (byte) line_xdyi::yd#1 [phi:line::@27->line_xdyi#4] -- register_copy + jsr line_xdyi + jmp breturn + //SEG155 line::@13 + b13: + //SEG156 [80] (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 ] -- zpby1=xby + stx line_ydxi.y + //SEG157 [81] (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 ] -- zpby1=yby + sty line_ydxi.x + //SEG158 [82] (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 ] -- zpby1=zpby2 + lda y0 + sta line_ydxi.y1 + //SEG159 [83] (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 ] + // (byte) line_ydxi::yd#1 = (byte) line::yd#10 // register copy zp ZP_BYTE:4 + //SEG160 [84] (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 ] -- zpby1=zpby2 + lda xd + sta line_ydxi.xd + //SEG161 [85] call line_ydxi param-assignment [ ] + //SEG162 [86] phi from line::@13 to line_ydxi [phi:line::@13->line_ydxi] + line_ydxi_from_b13: + //SEG163 [86] phi (byte) line_ydxi::y1#6 = (byte) line_ydxi::y1#1 [phi:line::@13->line_ydxi#0] -- register_copy + //SEG164 [86] phi (byte) line_ydxi::yd#5 = (byte) line_ydxi::yd#1 [phi:line::@13->line_ydxi#1] -- register_copy + //SEG165 [86] phi (byte) line_ydxi::y#6 = (byte) line_ydxi::y#1 [phi:line::@13->line_ydxi#2] -- register_copy + //SEG166 [86] phi (byte) line_ydxi::x#5 = (byte) line_ydxi::x#1 [phi:line::@13->line_ydxi#3] -- register_copy + //SEG167 [86] phi (byte) line_ydxi::xd#2 = (byte) line_ydxi::xd#1 [phi:line::@13->line_ydxi#4] -- register_copy + jsr line_ydxi jmp breturn } -//SEG118 plot +//SEG168 line_ydxi +line_ydxi: { + .label y = 7 + .label x = 6 + .label y1 = 5 + .label yd = 4 + .label xd = 3 + .label e = 8 + //SEG169 [87] (byte) line_ydxi::e#0 ← (byte) line_ydxi::xd#2 >> (byte) 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 ] -- zpby1=zpby2_ror_1 + lda xd + lsr + sta e + //SEG170 [88] 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: + //SEG171 [88] phi (byte) line_ydxi::e#3 = (byte) line_ydxi::e#0 [phi:line_ydxi/line_ydxi::@2->line_ydxi::@1#0] -- register_copy + //SEG172 [88] phi (byte) line_ydxi::y#3 = (byte) line_ydxi::y#6 [phi:line_ydxi/line_ydxi::@2->line_ydxi::@1#1] -- register_copy + //SEG173 [88] phi (byte) line_ydxi::x#3 = (byte) line_ydxi::x#5 [phi:line_ydxi/line_ydxi::@2->line_ydxi::@1#2] -- register_copy + //SEG174 line_ydxi::@1 + b1: + //SEG175 [89] (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 ] -- xby=zpby1 + ldx x + //SEG176 [90] (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 ] -- yby=zpby1 + ldy y + //SEG177 [91] 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 ] + //SEG178 [101] phi from line_ydxi::@1 to plot [phi:line_ydxi::@1->plot] + plot_from_b1: + //SEG179 [101] phi (byte) plot::y#4 = (byte) plot::y#2 [phi:line_ydxi::@1->plot#0] -- register_copy + //SEG180 [101] phi (byte) plot::x#4 = (byte) plot::x#2 [phi:line_ydxi::@1->plot#1] -- register_copy + jsr plot + //SEG181 line_ydxi::@5 + b5: + //SEG182 [92] (byte) line_ydxi::y#2 ← (byte) line_ydxi::y#3 + (byte) 1 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::e#3 line_ydxi::y#2 ] -- zpby1=zpby1_plus_1 + inc y + //SEG183 [93] (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 ] -- zpby1=zpby1_plus_zpby2 + lda e + clc + adc xd + sta e + //SEG184 [94] 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 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp e + bcs b2_from_b5 + //SEG185 line_ydxi::@3 + b3: + //SEG186 [95] (byte) line_ydxi::x#2 ← (byte) line_ydxi::x#3 + (byte) 1 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::e#1 line_ydxi::x#2 ] -- zpby1=zpby1_plus_1 + inc x + //SEG187 [96] (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 ] -- zpby1=zpby1_minus_zpby2 + lda e + sec + sbc yd + sta e + //SEG188 [97] 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: + //SEG189 [97] phi (byte) line_ydxi::e#6 = (byte) line_ydxi::e#2 [phi:line_ydxi::@3/line_ydxi::@5->line_ydxi::@2#0] -- register_copy + //SEG190 [97] phi (byte) line_ydxi::x#6 = (byte) line_ydxi::x#2 [phi:line_ydxi::@3/line_ydxi::@5->line_ydxi::@2#1] -- register_copy + //SEG191 line_ydxi::@2 + b2: + //SEG192 [98] (byte~) line_ydxi::$8 ← (byte) line_ydxi::y1#6 + (byte) 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::$8 ] -- aby=zpby1_plus_1 + lda y1 + clc + adc #1 + //SEG193 [99] if((byte) line_ydxi::y#2<(byte~) line_ydxi::$8) 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 ] -- zpby1_lt_aby_then_la1 + cmp y + bcs b1_from_b2 + //SEG194 line_ydxi::@return + breturn: + //SEG195 [100] return [ ] + rts +} +//SEG196 plot plot: { - .label _5 = 15 - .label plotter_x = 6 - .label plotter_y = 13 - .label plotter = 6 - //SEG119 [63] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#9 [ plot::x#9 plot::y#9 plot::$0 ] -- aby=cowo1_staridx_xby + .label _5 = 31 + .label plotter_x = 27 + .label plotter_y = 29 + .label plotter = 27 + //SEG197 [102] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#4 [ plot::x#4 plot::y#4 plot::$0 ] -- aby=cowo1_staridx_xby lda plot_xhi,x - //SEG120 [64] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#9 plot::y#9 plot::plotter_x#1 ] -- zpptrby1=coby1_sethi_aby + //SEG198 [103] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#4 plot::y#4 plot::plotter_x#1 ] -- zpptrby1=coby1_sethi_aby sta plotter_x+1 lda #<0 sta plotter_x - //SEG121 [65] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#9 [ plot::x#9 plot::y#9 plot::plotter_x#1 plot::$1 ] -- aby=cowo1_staridx_xby + //SEG199 [104] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#4 [ plot::x#4 plot::y#4 plot::plotter_x#1 plot::$1 ] -- aby=cowo1_staridx_xby lda plot_xlo,x - //SEG122 [66] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#9 plot::y#9 plot::plotter_x#2 ] -- zpptrby1=zpptrby1_setlo_aby + //SEG200 [105] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#4 plot::y#4 plot::plotter_x#2 ] -- zpptrby1=zpptrby1_setlo_aby sta plotter_x - //SEG123 [67] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#9 [ plot::x#9 plot::y#9 plot::plotter_x#2 plot::$2 ] -- aby=cowo1_staridx_yby + //SEG201 [106] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#4 [ plot::x#4 plot::y#4 plot::plotter_x#2 plot::$2 ] -- aby=cowo1_staridx_yby lda plot_yhi,y - //SEG124 [68] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#9 plot::y#9 plot::plotter_x#2 plot::plotter_y#1 ] -- zpptrby1=coby1_sethi_aby + //SEG202 [107] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#4 plot::y#4 plot::plotter_x#2 plot::plotter_y#1 ] -- zpptrby1=coby1_sethi_aby sta plotter_y+1 lda #<0 sta plotter_y - //SEG125 [69] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#9 [ plot::x#9 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] -- aby=cowo1_staridx_yby + //SEG203 [108] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#4 [ plot::x#4 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] -- aby=cowo1_staridx_yby lda plot_ylo,y - //SEG126 [70] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#9 plot::plotter_x#2 plot::plotter_y#2 ] -- zpptrby1=zpptrby1_setlo_aby + //SEG204 [109] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#4 plot::plotter_x#2 plot::plotter_y#2 ] -- zpptrby1=zpptrby1_setlo_aby sta plotter_y - //SEG127 [71] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#9 plot::plotter#0 ] -- zpptrby1=zpptrby1_plus_zpptrby2 + //SEG205 [110] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#4 plot::plotter#0 ] -- zpptrby1=zpptrby1_plus_zpptrby2 lda plotter clc adc plotter_y @@ -11263,178 +17553,320 @@ plot: { lda plotter+1 adc plotter_y+1 sta plotter+1 - //SEG128 [72] (byte~) plot::$5 ← * (byte*) plot::plotter#0 [ plot::x#9 plot::plotter#0 plot::$5 ] -- zpby1=_star_zpptrby1 + //SEG206 [111] (byte~) plot::$5 ← * (byte*) plot::plotter#0 [ plot::x#4 plot::plotter#0 plot::$5 ] -- zpby1=_star_zpptrby1 ldy #0 lda (plotter),y sta _5 - //SEG129 [73] (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#9 [ plot::plotter#0 plot::$5 plot::$6 ] -- aby=cowo1_staridx_xby + //SEG207 [112] (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#4 [ plot::plotter#0 plot::$5 plot::$6 ] -- aby=cowo1_staridx_xby lda plot_bit,x - //SEG130 [74] (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 [ plot::plotter#0 plot::$7 ] -- aby=zpby1_bor_aby + //SEG208 [113] (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 [ plot::plotter#0 plot::$7 ] -- aby=zpby1_bor_aby ora _5 - //SEG131 [75] *((byte*) plot::plotter#0) ← (byte~) plot::$7 [ ] -- _star_zpptrby1=aby + //SEG209 [114] *((byte*) plot::plotter#0) ← (byte~) plot::$7 [ ] -- _star_zpptrby1=aby ldy #0 sta (plotter),y - //SEG132 plot::@return + //SEG210 plot::@return breturn: - //SEG133 [76] return [ ] + //SEG211 [115] return [ ] rts } -//SEG134 line_xdyi +//SEG212 line_xdyi line_xdyi: { - .label x = 3 - .label y = 4 + .label x = 12 + .label y = 13 .label x1 = 11 .label xd = 10 - .label yd = 12 - .label e = 5 - //SEG135 [77] (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#0 >> (byte) 1 [ line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::e#0 ] -- zpby1=zpby2_ror_1 + .label yd = 9 + .label e = 14 + //SEG213 [117] (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#2 >> (byte) 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 ] -- zpby1=zpby2_ror_1 lda yd lsr sta e - //SEG136 [78] phi from line_xdyi line_xdyi::@2 to line_xdyi::@1 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1] + //SEG214 [118] 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: - //SEG137 [78] phi (byte) line_xdyi::e#3 = (byte) line_xdyi::e#0 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#0] -- register_copy - //SEG138 [78] phi (byte) line_xdyi::y#2 = (byte) line_xdyi::y#0 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#1] -- register_copy - //SEG139 [78] phi (byte) line_xdyi::x#2 = (byte) line_xdyi::x#0 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#2] -- register_copy - //SEG140 line_xdyi::@1 + //SEG215 [118] phi (byte) line_xdyi::e#3 = (byte) line_xdyi::e#0 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#0] -- register_copy + //SEG216 [118] phi (byte) line_xdyi::y#3 = (byte) line_xdyi::y#5 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#1] -- register_copy + //SEG217 [118] phi (byte) line_xdyi::x#3 = (byte) line_xdyi::x#6 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#2] -- register_copy + //SEG218 line_xdyi::@1 b1: - //SEG141 [79] (byte) plot::x#8 ← (byte) line_xdyi::x#2 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 plot::x#8 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] -- xby=zpby1 + //SEG219 [119] (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 ] -- xby=zpby1 ldx x - //SEG142 [80] (byte) plot::y#8 ← (byte) line_xdyi::y#2 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 plot::x#8 plot::y#8 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] -- yby=zpby1 + //SEG220 [120] (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 ] -- yby=zpby1 ldy y - //SEG143 [81] call plot param-assignment [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] - //SEG144 [62] phi from line_xdyi::@1 to plot [phi:line_xdyi::@1->plot] + //SEG221 [121] 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 ] + //SEG222 [101] phi from line_xdyi::@1 to plot [phi:line_xdyi::@1->plot] plot_from_b1: - //SEG145 [62] phi (byte) plot::y#9 = (byte) plot::y#8 [phi:line_xdyi::@1->plot#0] -- register_copy - //SEG146 [62] phi (byte) plot::x#9 = (byte) plot::x#8 [phi:line_xdyi::@1->plot#1] -- register_copy + //SEG223 [101] phi (byte) plot::y#4 = (byte) plot::y#0 [phi:line_xdyi::@1->plot#0] -- register_copy + //SEG224 [101] phi (byte) plot::x#4 = (byte) plot::x#0 [phi:line_xdyi::@1->plot#1] -- register_copy jsr plot - //SEG147 line_xdyi::@5 + //SEG225 line_xdyi::@5 b5: - //SEG148 [82] (byte) line_xdyi::x#1 ← (byte) line_xdyi::x#2 + (byte) 1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::y#2 line_xdyi::e#3 line_xdyi::x#1 ] -- zpby1=zpby1_plus_1 + //SEG226 [122] (byte) line_xdyi::x#2 ← (byte) line_xdyi::x#3 + (byte) 1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::e#3 line_xdyi::x#2 ] -- zpby1=zpby1_plus_1 inc x - //SEG149 [83] (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#0 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::y#2 line_xdyi::x#1 line_xdyi::e#1 ] -- zpby1=zpby1_plus_zpby2 + //SEG227 [123] (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 ] -- zpby1=zpby1_plus_zpby2 lda e clc adc yd sta e - //SEG150 [84] if((byte) line_xdyi::xd#0>=(byte) line_xdyi::e#1) goto line_xdyi::@2 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::y#2 line_xdyi::x#1 line_xdyi::e#1 ] -- zpby1_ge_zpby2_then_la1 + //SEG228 [124] 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 ] -- zpby1_ge_zpby2_then_la1 lda xd cmp e bcs b2_from_b5 - //SEG151 line_xdyi::@3 + //SEG229 line_xdyi::@3 b3: - //SEG152 [85] (byte) line_xdyi::y#1 ← (byte) line_xdyi::y#2 + (byte) 1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::e#1 line_xdyi::y#1 ] -- zpby1=zpby1_plus_1 + //SEG230 [125] (byte) line_xdyi::y#2 ← (byte) line_xdyi::y#3 + (byte) 1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::e#1 line_xdyi::y#2 ] -- zpby1=zpby1_plus_1 inc y - //SEG153 [86] (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#0 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#1 line_xdyi::e#2 ] -- zpby1=zpby1_minus_zpby2 + //SEG231 [126] (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 ] -- zpby1=zpby1_minus_zpby2 lda e sec sbc xd sta e - //SEG154 [87] phi from line_xdyi::@3 line_xdyi::@5 to line_xdyi::@2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2] + //SEG232 [127] 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: - //SEG155 [87] phi (byte) line_xdyi::e#6 = (byte) line_xdyi::e#2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2#0] -- register_copy - //SEG156 [87] phi (byte) line_xdyi::y#5 = (byte) line_xdyi::y#1 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2#1] -- register_copy - //SEG157 line_xdyi::@2 + //SEG233 [127] phi (byte) line_xdyi::e#6 = (byte) line_xdyi::e#2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2#0] -- register_copy + //SEG234 [127] phi (byte) line_xdyi::y#6 = (byte) line_xdyi::y#2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2#1] -- register_copy + //SEG235 line_xdyi::@2 b2: - //SEG158 [88] (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#0 + (byte) 1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#5 line_xdyi::e#6 line_xdyi::$8 ] -- aby=zpby1_plus_1 + //SEG236 [128] (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#6 + (byte) 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::$8 ] -- aby=zpby1_plus_1 lda x1 clc adc #1 - //SEG159 [89] if((byte) line_xdyi::x#1<(byte~) line_xdyi::$8) goto line_xdyi::@1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#5 line_xdyi::e#6 ] -- zpby1_lt_aby_then_la1 + //SEG237 [129] if((byte) line_xdyi::x#2<(byte~) line_xdyi::$8) 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 ] -- zpby1_lt_aby_then_la1 cmp x bcs b1_from_b2 - //SEG160 line_xdyi::@return + //SEG238 line_xdyi::@return breturn: - //SEG161 [90] return [ ] + //SEG239 [130] return [ ] rts } -//SEG162 init_plot_tables +//SEG240 line_ydxd +line_ydxd: { + .label y = 19 + .label x = 18 + .label y1 = 17 + .label yd = 16 + .label xd = 15 + .label e = 20 + //SEG241 [132] (byte) line_ydxd::e#0 ← (byte) line_ydxd::xd#2 >> (byte) 1 [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] -- zpby1=zpby2_ror_1 + lda xd + lsr + sta e + //SEG242 [133] 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: + //SEG243 [133] phi (byte) line_ydxd::e#3 = (byte) line_ydxd::e#0 [phi:line_ydxd/line_ydxd::@2->line_ydxd::@1#0] -- register_copy + //SEG244 [133] phi (byte) line_ydxd::y#3 = (byte) line_ydxd::y#6 [phi:line_ydxd/line_ydxd::@2->line_ydxd::@1#1] -- register_copy + //SEG245 [133] phi (byte) line_ydxd::x#3 = (byte) line_ydxd::x#5 [phi:line_ydxd/line_ydxd::@2->line_ydxd::@1#2] -- register_copy + //SEG246 line_ydxd::@1 + b1: + //SEG247 [134] (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#3 line_ydxd::e#3 ] -- xby=zpby1 + ldx x + //SEG248 [135] (byte) plot::y#3 ← (byte) line_ydxd::y#3 [ 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#3 line_ydxd::e#3 ] -- yby=zpby1 + ldy y + //SEG249 [136] call plot param-assignment [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] + //SEG250 [101] phi from line_ydxd::@1 to plot [phi:line_ydxd::@1->plot] + plot_from_b1: + //SEG251 [101] phi (byte) plot::y#4 = (byte) plot::y#3 [phi:line_ydxd::@1->plot#0] -- register_copy + //SEG252 [101] phi (byte) plot::x#4 = (byte) plot::x#3 [phi:line_ydxd::@1->plot#1] -- register_copy + jsr plot + //SEG253 line_ydxd::@5 + b5: + //SEG254 [137] (byte) line_ydxd::y#2 ← (byte) line_ydxd::y#3 + (byte) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::e#3 line_ydxd::y#2 ] -- zpby1=zpby1_plus_1 + inc y + //SEG255 [138] (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#2 line_ydxd::e#1 ] -- zpby1=zpby1_plus_zpby2 + lda e + clc + adc xd + sta e + //SEG256 [139] 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#2 line_ydxd::e#1 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp e + bcs b2_from_b5 + //SEG257 line_ydxd::@3 + b3: + //SEG258 [140] (byte) line_ydxd::x#2 ← (byte) line_ydxd::x#3 - (byte) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#2 line_ydxd::e#1 line_ydxd::x#2 ] -- zpby1=zpby1_minus_1 + dec x + //SEG259 [141] (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#2 line_ydxd::x#2 line_ydxd::e#2 ] -- zpby1=zpby1_minus_zpby2 + lda e + sec + sbc yd + sta e + //SEG260 [142] 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: + //SEG261 [142] phi (byte) line_ydxd::e#6 = (byte) line_ydxd::e#2 [phi:line_ydxd::@3/line_ydxd::@5->line_ydxd::@2#0] -- register_copy + //SEG262 [142] phi (byte) line_ydxd::x#6 = (byte) line_ydxd::x#2 [phi:line_ydxd::@3/line_ydxd::@5->line_ydxd::@2#1] -- register_copy + //SEG263 line_ydxd::@2 + b2: + //SEG264 [143] (byte~) line_ydxd::$8 ← (byte) line_ydxd::y1#6 + (byte) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 line_ydxd::$8 ] -- aby=zpby1_plus_1 + lda y1 + clc + adc #1 + //SEG265 [144] if((byte) line_ydxd::y#2<(byte~) line_ydxd::$8) goto line_ydxd::@1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 ] -- zpby1_lt_aby_then_la1 + cmp y + bcs b1_from_b2 + //SEG266 line_ydxd::@return + breturn: + //SEG267 [145] return [ ] + rts +} +//SEG268 line_xdyd +line_xdyd: { + .label x = 24 + .label y = 25 + .label x1 = 23 + .label xd = 22 + .label yd = 21 + .label e = 26 + //SEG269 [147] (byte) line_xdyd::e#0 ← (byte) line_xdyd::yd#2 >> (byte) 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 ] -- zpby1=zpby2_ror_1 + lda yd + lsr + sta e + //SEG270 [148] 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: + //SEG271 [148] phi (byte) line_xdyd::e#3 = (byte) line_xdyd::e#0 [phi:line_xdyd/line_xdyd::@2->line_xdyd::@1#0] -- register_copy + //SEG272 [148] phi (byte) line_xdyd::y#3 = (byte) line_xdyd::y#5 [phi:line_xdyd/line_xdyd::@2->line_xdyd::@1#1] -- register_copy + //SEG273 [148] phi (byte) line_xdyd::x#3 = (byte) line_xdyd::x#6 [phi:line_xdyd/line_xdyd::@2->line_xdyd::@1#2] -- register_copy + //SEG274 line_xdyd::@1 + b1: + //SEG275 [149] (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 ] -- xby=zpby1 + ldx x + //SEG276 [150] (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 ] -- yby=zpby1 + ldy y + //SEG277 [151] 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 ] + //SEG278 [101] phi from line_xdyd::@1 to plot [phi:line_xdyd::@1->plot] + plot_from_b1: + //SEG279 [101] phi (byte) plot::y#4 = (byte) plot::y#1 [phi:line_xdyd::@1->plot#0] -- register_copy + //SEG280 [101] phi (byte) plot::x#4 = (byte) plot::x#1 [phi:line_xdyd::@1->plot#1] -- register_copy + jsr plot + //SEG281 line_xdyd::@5 + b5: + //SEG282 [152] (byte) line_xdyd::x#2 ← (byte) line_xdyd::x#3 + (byte) 1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::e#3 line_xdyd::x#2 ] -- zpby1=zpby1_plus_1 + inc x + //SEG283 [153] (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 ] -- zpby1=zpby1_plus_zpby2 + lda e + clc + adc yd + sta e + //SEG284 [154] 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 ] -- zpby1_ge_zpby2_then_la1 + lda xd + cmp e + bcs b2_from_b5 + //SEG285 line_xdyd::@3 + b3: + //SEG286 [155] (byte) line_xdyd::y#2 ← (byte) line_xdyd::y#3 - (byte) 1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::e#1 line_xdyd::y#2 ] -- zpby1=zpby1_minus_1 + dec y + //SEG287 [156] (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 ] -- zpby1=zpby1_minus_zpby2 + lda e + sec + sbc xd + sta e + //SEG288 [157] 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: + //SEG289 [157] phi (byte) line_xdyd::e#6 = (byte) line_xdyd::e#2 [phi:line_xdyd::@3/line_xdyd::@5->line_xdyd::@2#0] -- register_copy + //SEG290 [157] phi (byte) line_xdyd::y#6 = (byte) line_xdyd::y#2 [phi:line_xdyd::@3/line_xdyd::@5->line_xdyd::@2#1] -- register_copy + //SEG291 line_xdyd::@2 + b2: + //SEG292 [158] (byte~) line_xdyd::$8 ← (byte) line_xdyd::x1#6 + (byte) 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::$8 ] -- aby=zpby1_plus_1 + lda x1 + clc + adc #1 + //SEG293 [159] if((byte) line_xdyd::x#2<(byte~) line_xdyd::$8) 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 ] -- zpby1_lt_aby_then_la1 + cmp x + bcs b1_from_b2 + //SEG294 line_xdyd::@return + breturn: + //SEG295 [160] return [ ] + rts +} +//SEG296 init_plot_tables init_plot_tables: { .label _6 = 2 - .label yoffs = 6 - //SEG163 [92] phi from init_plot_tables to init_plot_tables::@1 [phi:init_plot_tables->init_plot_tables::@1] + .label yoffs = 27 + //SEG297 [162] phi from init_plot_tables to init_plot_tables::@1 [phi:init_plot_tables->init_plot_tables::@1] b1_from_init_plot_tables: - //SEG164 [92] phi (byte) init_plot_tables::bit#3 = (byte) 128 [phi:init_plot_tables->init_plot_tables::@1#0] -- yby=coby1 + //SEG298 [162] phi (byte) init_plot_tables::bit#3 = (byte) 128 [phi:init_plot_tables->init_plot_tables::@1#0] -- yby=coby1 ldy #$80 - //SEG165 [92] phi (byte) init_plot_tables::x#2 = (byte) 0 [phi:init_plot_tables->init_plot_tables::@1#1] -- xby=coby1 + //SEG299 [162] phi (byte) init_plot_tables::x#2 = (byte) 0 [phi:init_plot_tables->init_plot_tables::@1#1] -- xby=coby1 ldx #0 jmp b1 - //SEG166 [92] phi from init_plot_tables::@2 to init_plot_tables::@1 [phi:init_plot_tables::@2->init_plot_tables::@1] + //SEG300 [162] phi from init_plot_tables::@2 to init_plot_tables::@1 [phi:init_plot_tables::@2->init_plot_tables::@1] b1_from_b2: - //SEG167 [92] phi (byte) init_plot_tables::bit#3 = (byte) init_plot_tables::bit#4 [phi:init_plot_tables::@2->init_plot_tables::@1#0] -- register_copy - //SEG168 [92] 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 - //SEG169 init_plot_tables::@1 + //SEG301 [162] phi (byte) init_plot_tables::bit#3 = (byte) init_plot_tables::bit#4 [phi:init_plot_tables::@2->init_plot_tables::@1#0] -- register_copy + //SEG302 [162] 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 + //SEG303 init_plot_tables::@1 b1: - //SEG170 [93] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bit#3 init_plot_tables::$0 ] -- aby=xby_band_coby1 + //SEG304 [163] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bit#3 init_plot_tables::$0 ] -- aby=xby_band_coby1 txa and #$f8 - //SEG171 [94] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_xby=aby + //SEG305 [164] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_xby=aby sta plot_xlo,x - //SEG172 [95] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_xby=coby2 + //SEG306 [165] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_xby=coby2 lda #>BITMAP sta plot_xhi,x - //SEG173 [96] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bit#3 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_xby=yby + //SEG307 [166] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bit#3 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_xby=yby tya sta plot_bit,x - //SEG174 [97] (byte) init_plot_tables::bit#1 ← (byte) init_plot_tables::bit#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bit#1 ] -- yby=yby_ror_1 + //SEG308 [167] (byte) init_plot_tables::bit#1 ← (byte) init_plot_tables::bit#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bit#1 ] -- yby=yby_ror_1 tya lsr tay - //SEG175 [98] if((byte) init_plot_tables::bit#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] -- yby_neq_0_then_la1 + //SEG309 [168] if((byte) init_plot_tables::bit#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] -- yby_neq_0_then_la1 cpy #0 bne b10 - //SEG176 [99] phi from init_plot_tables::@1 to init_plot_tables::@2 [phi:init_plot_tables::@1->init_plot_tables::@2] + //SEG310 [169] phi from init_plot_tables::@1 to init_plot_tables::@2 [phi:init_plot_tables::@1->init_plot_tables::@2] b2_from_b1: - //SEG177 [99] phi (byte) init_plot_tables::bit#4 = (byte) 128 [phi:init_plot_tables::@1->init_plot_tables::@2#0] -- yby=coby1 + //SEG311 [169] phi (byte) init_plot_tables::bit#4 = (byte) 128 [phi:init_plot_tables::@1->init_plot_tables::@2#0] -- yby=coby1 ldy #$80 - //SEG178 init_plot_tables::@2 + //SEG312 init_plot_tables::@2 b2: - //SEG179 [100] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bit#4 ] -- xby=_inc_xby + //SEG313 [170] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bit#4 ] -- xby=_inc_xby inx - //SEG180 [101] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bit#4 ] -- xby_neq_0_then_la1 + //SEG314 [171] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bit#4 ] -- xby_neq_0_then_la1 cpx #0 bne b1_from_b2 - //SEG181 [102] phi from init_plot_tables::@2 to init_plot_tables::@3 [phi:init_plot_tables::@2->init_plot_tables::@3] + //SEG315 [172] phi from init_plot_tables::@2 to init_plot_tables::@3 [phi:init_plot_tables::@2->init_plot_tables::@3] b3_from_b2: - //SEG182 [102] phi (byte*) init_plot_tables::yoffs#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#0] -- zpptrby1=coby1 + //SEG316 [172] phi (byte*) init_plot_tables::yoffs#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#0] -- zpptrby1=coby1 lda #0 sta yoffs lda #0 sta yoffs+1 - //SEG183 [102] phi (byte) init_plot_tables::y#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#1] -- xby=coby1 + //SEG317 [172] phi (byte) init_plot_tables::y#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#1] -- xby=coby1 ldx #0 jmp b3 - //SEG184 [102] phi from init_plot_tables::@4 to init_plot_tables::@3 [phi:init_plot_tables::@4->init_plot_tables::@3] + //SEG318 [172] phi from init_plot_tables::@4 to init_plot_tables::@3 [phi:init_plot_tables::@4->init_plot_tables::@3] b3_from_b4: - //SEG185 [102] 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 - //SEG186 [102] 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 - //SEG187 init_plot_tables::@3 + //SEG319 [172] 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 + //SEG320 [172] 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 + //SEG321 init_plot_tables::@3 b3: - //SEG188 [103] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] -- zpby1=xby_band_coby1 + //SEG322 [173] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] -- zpby1=xby_band_coby1 txa and #7 sta _6 - //SEG189 [104] (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 ] -- aby=_lo_zpptrby1 + //SEG323 [174] (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 ] -- aby=_lo_zpptrby1 lda yoffs - //SEG190 [105] (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 ] -- aby=zpby1_bor_aby + //SEG324 [175] (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 ] -- aby=zpby1_bor_aby ora _6 - //SEG191 [106] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- cowo1_staridx_xby=aby + //SEG325 [176] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- cowo1_staridx_xby=aby sta plot_ylo,x - //SEG192 [107] (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 ] -- aby=_hi_zpptrby1 + //SEG326 [177] (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 ] -- aby=_hi_zpptrby1 lda yoffs+1 - //SEG193 [108] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- cowo1_staridx_xby=aby + //SEG327 [178] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- cowo1_staridx_xby=aby sta plot_yhi,x - //SEG194 [109] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] -- aby=xby_band_coby1 + //SEG328 [179] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] -- aby=xby_band_coby1 txa and #7 - //SEG195 [110] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- aby_neq_coby1_then_la1 + //SEG329 [180] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- aby_neq_coby1_then_la1 cmp #7 bne b4_from_b3 - //SEG196 init_plot_tables::@7 + //SEG330 init_plot_tables::@7 b7: - //SEG197 [111] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] -- zpptrby1=zpptrby1_plus_cowo1 + //SEG331 [181] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] -- zpptrby1=zpptrby1_plus_cowo1 lda yoffs clc adc #<$140 @@ -11442,93 +17874,93 @@ init_plot_tables: { lda yoffs+1 adc #>$140 sta yoffs+1 - //SEG198 [112] 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] + //SEG332 [182] 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: - //SEG199 [112] 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 - //SEG200 init_plot_tables::@4 + //SEG333 [182] 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 + //SEG334 init_plot_tables::@4 b4: - //SEG201 [113] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] -- xby=_inc_xby + //SEG335 [183] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] -- xby=_inc_xby inx - //SEG202 [114] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] -- xby_neq_0_then_la1 + //SEG336 [184] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] -- xby_neq_0_then_la1 cpx #0 bne b3_from_b4 - //SEG203 init_plot_tables::@return + //SEG337 init_plot_tables::@return breturn: - //SEG204 [115] return [ ] + //SEG338 [185] return [ ] rts - //SEG205 init_plot_tables::@10 + //SEG339 init_plot_tables::@10 b10: - //SEG206 [99] phi from init_plot_tables::@10 to init_plot_tables::@2 [phi:init_plot_tables::@10->init_plot_tables::@2] + //SEG340 [169] phi from init_plot_tables::@10 to init_plot_tables::@2 [phi:init_plot_tables::@10->init_plot_tables::@2] b2_from_b10: - //SEG207 [99] phi (byte) init_plot_tables::bit#4 = (byte) init_plot_tables::bit#1 [phi:init_plot_tables::@10->init_plot_tables::@2#0] -- register_copy + //SEG341 [169] phi (byte) init_plot_tables::bit#4 = (byte) init_plot_tables::bit#1 [phi:init_plot_tables::@10->init_plot_tables::@2#0] -- register_copy jmp b2 } -//SEG208 init_screen +//SEG342 init_screen init_screen: { - .label b = 6 - .label c = 6 - //SEG209 [117] phi from init_screen to init_screen::@1 [phi:init_screen->init_screen::@1] + .label b = 27 + .label c = 27 + //SEG343 [187] phi from init_screen to init_screen::@1 [phi:init_screen->init_screen::@1] b1_from_init_screen: - //SEG210 [117] phi (byte*) init_screen::b#2 = (const byte*) BITMAP#0 [phi:init_screen->init_screen::@1#0] -- zpptrby1=cowo1 + //SEG344 [187] phi (byte*) init_screen::b#2 = (const byte*) BITMAP#0 [phi:init_screen->init_screen::@1#0] -- zpptrby1=cowo1 lda #BITMAP sta b+1 jmp b1 - //SEG211 [117] phi from init_screen::@1 to init_screen::@1 [phi:init_screen::@1->init_screen::@1] + //SEG345 [187] phi from init_screen::@1 to init_screen::@1 [phi:init_screen::@1->init_screen::@1] b1_from_b1: - //SEG212 [117] phi (byte*) init_screen::b#2 = (byte*) init_screen::b#1 [phi:init_screen::@1->init_screen::@1#0] -- register_copy - //SEG213 init_screen::@1 + //SEG346 [187] phi (byte*) init_screen::b#2 = (byte*) init_screen::b#1 [phi:init_screen::@1->init_screen::@1#0] -- register_copy + //SEG347 init_screen::@1 b1: - //SEG214 [118] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] -- _star_zpptrby1=coby1 + //SEG348 [188] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] -- _star_zpptrby1=coby1 ldy #0 lda #0 sta (b),y - //SEG215 [119] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] -- zpptrby1=_inc_zpptrby1 + //SEG349 [189] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] -- zpptrby1=_inc_zpptrby1 inc b bne !+ inc b+1 !: - //SEG216 [120] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] -- zpptrby1_neq_cowo1_then_la1 + //SEG350 [190] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] -- zpptrby1_neq_cowo1_then_la1 lda b+1 cmp #>BITMAP+$2000 bne b1_from_b1 lda b cmp #init_screen::@2] + //SEG351 [191] phi from init_screen::@1 to init_screen::@2 [phi:init_screen::@1->init_screen::@2] b2_from_b1: - //SEG218 [121] phi (byte*) init_screen::c#2 = (const byte*) SCREEN#0 [phi:init_screen::@1->init_screen::@2#0] -- zpptrby1=cowo1 + //SEG352 [191] phi (byte*) init_screen::c#2 = (const byte*) SCREEN#0 [phi:init_screen::@1->init_screen::@2#0] -- zpptrby1=cowo1 lda #SCREEN sta c+1 jmp b2 - //SEG219 [121] phi from init_screen::@2 to init_screen::@2 [phi:init_screen::@2->init_screen::@2] + //SEG353 [191] phi from init_screen::@2 to init_screen::@2 [phi:init_screen::@2->init_screen::@2] b2_from_b2: - //SEG220 [121] phi (byte*) init_screen::c#2 = (byte*) init_screen::c#1 [phi:init_screen::@2->init_screen::@2#0] -- register_copy - //SEG221 init_screen::@2 + //SEG354 [191] phi (byte*) init_screen::c#2 = (byte*) init_screen::c#1 [phi:init_screen::@2->init_screen::@2#0] -- register_copy + //SEG355 init_screen::@2 b2: - //SEG222 [122] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] -- _star_zpptrby1=coby1 + //SEG356 [192] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] -- _star_zpptrby1=coby1 ldy #0 lda #$14 sta (c),y - //SEG223 [123] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] -- zpptrby1=_inc_zpptrby1 + //SEG357 [193] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] -- zpptrby1=_inc_zpptrby1 inc c bne !+ inc c+1 !: - //SEG224 [124] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] -- zpptrby1_neq_cowo1_then_la1 + //SEG358 [194] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] -- zpptrby1_neq_cowo1_then_la1 lda c+1 cmp #>SCREEN+$400 bne b2_from_b2 lda c cmp #init_screen] + //SEG11 [186] phi from main to init_screen [phi:main->init_screen] init_screen_from_main: jsr init_screen //SEG12 main::@3 b3: //SEG13 [6] call init_plot_tables param-assignment [ ] - //SEG14 [91] phi from main::@3 to init_plot_tables [phi:main::@3->init_plot_tables] + //SEG14 [161] phi from main::@3 to init_plot_tables [phi:main::@3->init_plot_tables] init_plot_tables_from_b3: jsr init_plot_tables //SEG15 main::@1 @@ -11642,13 +18074,13 @@ lines: { tax //SEG32 [16] (byte) line::x0#0 ← (byte~) lines::$0 [ lines::l#2 lines::$2 lines::$3 lines::$5 line::x0#0 ] -- zpby1=yby sty line.x0 - //SEG33 [17] (byte) line::x1#0 ← (byte~) lines::$2 [ lines::l#2 lines::$3 lines::$5 line::x0#0 line::x1#0 ] -- zpby1=zpby2 - lda _2 - sta line.x1 - //SEG34 [18] (byte) line::y0#0 ← (byte~) lines::$3 [ lines::l#2 lines::$5 line::x0#0 line::x1#0 line::y0#0 ] -- yby=zpby1 - ldy _3 - //SEG35 [19] (byte) line::y1#0 ← (byte~) lines::$5 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] -- zpby1=xby - stx line.y1 + //SEG33 [17] (byte) line::x1#0 ← (byte~) lines::$2 [ lines::l#2 lines::$3 lines::$5 line::x0#0 line::x1#0 ] -- yby=zpby1 + ldy _2 + //SEG34 [18] (byte) line::y0#0 ← (byte~) lines::$3 [ lines::l#2 lines::$5 line::x0#0 line::x1#0 line::y0#0 ] -- zpby1=zpby2 + lda _3 + sta line.y0 + //SEG35 [19] (byte) line::y1#0 ← (byte~) lines::$5 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] + // (byte) line::y1#0 = (byte~) lines::$5 // register copy reg byte x //SEG36 [20] call line param-assignment [ lines::l#2 ] jsr line //SEG37 lines::@3 @@ -11667,191 +18099,383 @@ lines: { //SEG42 line line: { .label x0 = 5 - .label x1 = 8 - .label y1 = 9 - .label xd = 10 - //SEG43 [24] if((byte) line::x0#0>=(byte) line::x1#0) goto line::@1 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] -- zpby1_ge_zpby2_then_la1 - lda x0 - cmp x1 - bcs b1 - //SEG44 line::@9 - b9: - //SEG45 [25] (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 ] -- zpby1=zpby2_minus_zpby3 - lda x1 + .label y0 = 3 + .label xd = 8 + .label yd = 4 + //SEG43 [24] if((byte) line::x0#0>=(byte) line::x1#0) goto line::@1 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] -- zpby1_ge_yby_then_la1 + cpy x0 + bcc b1 + //SEG44 line::@15 + b15: + //SEG45 [25] (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 ] -- zpby1=yby_minus_zpby2 + tya sec sbc x0 sta xd - //SEG46 [26] 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 ] -- yby_ge_zpby1_then_la1 - cpy y1 - bcs b2 - //SEG47 line::@10 - b10: - //SEG48 [27] (byte) line::yd#0 ← (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#0 ] -- xby=zpby1_minus_yby - sty $ff - lda y1 + //SEG46 [26] 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 ] -- zpby1_ge_xby_then_la1 + cpx y0 + bcc b2 + //SEG47 line::@16 + b16: + //SEG48 [27] (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 ] -- zpby1=xby_minus_zpby2 + txa sec - sbc $ff - tax - //SEG49 [28] if((byte) line::yd#0>=(byte) line::xd#1) goto line::@3 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#0 ] -- xby_ge_zpby1_then_la1 - cpx xd + sbc y0 + sta yd + //SEG49 [28] 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 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp xd bcs b3 - //SEG50 line::@11 - b11: - //SEG51 [29] (byte) line_xdyi::x#0 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::xd#1 line::yd#0 line_xdyi::x#0 ] -- zpby1=zpby2 + //SEG50 line::@17 + b17: + //SEG51 [29] (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 ] -- zpby1=zpby2 lda x0 sta line_xdyi.x - //SEG52 [30] (byte) line_xdyi::y#0 ← (byte) line::y0#0 [ line::x1#0 line::xd#1 line::yd#0 line_xdyi::x#0 line_xdyi::y#0 ] -- zpby1=yby - sty line_xdyi.y - //SEG53 [31] (byte) line_xdyi::x1#0 ← (byte) line::x1#0 [ line::xd#1 line::yd#0 line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 ] -- zpby1=zpby2 - lda x1 - sta line_xdyi.x1 - //SEG54 [32] (byte) line_xdyi::xd#0 ← (byte) line::xd#1 [ line::yd#0 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:10 - //SEG55 [33] (byte) line_xdyi::yd#0 ← (byte) line::yd#0 [ line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 ] -- zpby1=xby - stx line_xdyi.yd + //SEG52 [30] (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 ] -- zpby1=zpby2 + lda y0 + sta line_xdyi.y + //SEG53 [31] (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 ] -- zpby1=yby + sty line_xdyi.x1 + //SEG54 [32] (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 ] -- zpby1=zpby2 + lda xd + sta line_xdyi.xd + //SEG55 [33] (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 ] -- zpby1=zpby2 + lda yd + sta line_xdyi.yd //SEG56 [34] call line_xdyi param-assignment [ ] + //SEG57 [116] phi from line::@17 to line_xdyi [phi:line::@17->line_xdyi] + line_xdyi_from_b17: + //SEG58 [116] phi (byte) line_xdyi::x1#6 = (byte) line_xdyi::x1#0 [phi:line::@17->line_xdyi#0] -- register_copy + //SEG59 [116] phi (byte) line_xdyi::xd#5 = (byte) line_xdyi::xd#0 [phi:line::@17->line_xdyi#1] -- register_copy + //SEG60 [116] phi (byte) line_xdyi::y#5 = (byte) line_xdyi::y#0 [phi:line::@17->line_xdyi#2] -- register_copy + //SEG61 [116] phi (byte) line_xdyi::x#6 = (byte) line_xdyi::x#0 [phi:line::@17->line_xdyi#3] -- register_copy + //SEG62 [116] phi (byte) line_xdyi::yd#2 = (byte) line_xdyi::yd#0 [phi:line::@17->line_xdyi#4] -- register_copy jsr line_xdyi - //SEG57 line::@return + //SEG63 line::@return breturn: - //SEG58 [35] return [ ] + //SEG64 [35] return [ ] rts - //SEG59 line::@3 + //SEG65 line::@3 b3: - //SEG60 [36] (byte) plot::x#2 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#2 ] -- xby=zpby1 - ldx x0 - //SEG61 [37] (byte) plot::y#2 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#2 plot::y#2 ] - // (byte) plot::y#2 = (byte) line::y0#0 // register copy reg byte y - //SEG62 [38] call plot param-assignment [ line::x1#0 line::y1#0 ] - //SEG63 [62] phi from line::@3 to plot [phi:line::@3->plot] - plot_from_b3: - //SEG64 [62] phi (byte) plot::y#9 = (byte) plot::y#2 [phi:line::@3->plot#0] -- register_copy - //SEG65 [62] phi (byte) plot::x#9 = (byte) plot::x#2 [phi:line::@3->plot#1] -- register_copy - jsr plot - //SEG66 line::@19 - b19: - //SEG67 [39] (byte) plot::x#3 ← (byte) line::x1#0 [ line::y1#0 plot::x#3 ] -- xby=zpby1 - ldx x1 - //SEG68 [40] (byte) plot::y#3 ← (byte) line::y1#0 [ plot::x#3 plot::y#3 ] -- yby=zpby1 - ldy y1 - //SEG69 [41] call plot param-assignment [ ] - //SEG70 [62] phi from line::@19 to plot [phi:line::@19->plot] - plot_from_b19: - //SEG71 [62] phi (byte) plot::y#9 = (byte) plot::y#3 [phi:line::@19->plot#0] -- register_copy - //SEG72 [62] phi (byte) plot::x#9 = (byte) plot::x#3 [phi:line::@19->plot#1] -- register_copy - jsr plot + //SEG66 [36] (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 ] -- zpby1=zpby2 + lda y0 + sta line_ydxi.y + //SEG67 [37] (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 ] -- zpby1=zpby2 + lda x0 + sta line_ydxi.x + //SEG68 [38] (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 ] -- zpby1=xby + stx line_ydxi.y1 + //SEG69 [39] (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 ] + // (byte) line_ydxi::yd#0 = (byte) line::yd#1 // register copy zp ZP_BYTE:4 + //SEG70 [40] (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 ] -- zpby1=zpby2 + lda xd + sta line_ydxi.xd + //SEG71 [41] call line_ydxi param-assignment [ ] + //SEG72 [86] phi from line::@3 to line_ydxi [phi:line::@3->line_ydxi] + line_ydxi_from_b3: + //SEG73 [86] phi (byte) line_ydxi::y1#6 = (byte) line_ydxi::y1#0 [phi:line::@3->line_ydxi#0] -- register_copy + //SEG74 [86] phi (byte) line_ydxi::yd#5 = (byte) line_ydxi::yd#0 [phi:line::@3->line_ydxi#1] -- register_copy + //SEG75 [86] phi (byte) line_ydxi::y#6 = (byte) line_ydxi::y#0 [phi:line::@3->line_ydxi#2] -- register_copy + //SEG76 [86] phi (byte) line_ydxi::x#5 = (byte) line_ydxi::x#0 [phi:line::@3->line_ydxi#3] -- register_copy + //SEG77 [86] phi (byte) line_ydxi::xd#2 = (byte) line_ydxi::xd#0 [phi:line::@3->line_ydxi#4] -- register_copy + jsr line_ydxi jmp breturn - //SEG73 line::@2 + //SEG78 line::@2 b2: - //SEG74 [42] (byte) plot::x#0 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#0 ] -- xby=zpby1 - ldx x0 - //SEG75 [43] (byte) plot::y#0 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#0 plot::y#0 ] - // (byte) plot::y#0 = (byte) line::y0#0 // register copy reg byte y - //SEG76 [44] call plot param-assignment [ line::x1#0 line::y1#0 ] - //SEG77 [62] phi from line::@2 to plot [phi:line::@2->plot] - plot_from_b2: - //SEG78 [62] phi (byte) plot::y#9 = (byte) plot::y#0 [phi:line::@2->plot#0] -- register_copy - //SEG79 [62] phi (byte) plot::x#9 = (byte) plot::x#0 [phi:line::@2->plot#1] -- register_copy - jsr plot - //SEG80 line::@17 - b17: - //SEG81 [45] (byte) plot::x#1 ← (byte) line::x1#0 [ line::y1#0 plot::x#1 ] -- xby=zpby1 - ldx x1 - //SEG82 [46] (byte) plot::y#1 ← (byte) line::y1#0 [ plot::x#1 plot::y#1 ] -- yby=zpby1 - ldy y1 - //SEG83 [47] call plot param-assignment [ ] - //SEG84 [62] phi from line::@17 to plot [phi:line::@17->plot] - plot_from_b17: - //SEG85 [62] phi (byte) plot::y#9 = (byte) plot::y#1 [phi:line::@17->plot#0] -- register_copy - //SEG86 [62] phi (byte) plot::x#9 = (byte) plot::x#1 [phi:line::@17->plot#1] -- register_copy - jsr plot - jmp breturn - //SEG87 line::@1 - b1: - //SEG88 [48] (byte) line::xd#0 ← (byte) line::x1#0 - (byte) line::x0#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] -- aby=zpby1_minus_zpby2 - lda x1 + //SEG79 [42] (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 ] -- zpby1=zpby2_minus_xby + stx $ff + lda y0 sec - sbc x0 - //SEG89 [49] if((byte) line::y0#0>=(byte) line::y1#0) goto line::@7 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] -- yby_ge_zpby1_then_la1 - cpy y1 - bcs b7 - //SEG90 line::@15 - b15: - //SEG91 [50] (byte) plot::x#6 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#6 ] -- xby=zpby1 - ldx x0 - //SEG92 [51] (byte) plot::y#6 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#6 plot::y#6 ] - // (byte) plot::y#6 = (byte) line::y0#0 // register copy reg byte y - //SEG93 [52] call plot param-assignment [ line::x1#0 line::y1#0 ] - //SEG94 [62] phi from line::@15 to plot [phi:line::@15->plot] - plot_from_b15: - //SEG95 [62] phi (byte) plot::y#9 = (byte) plot::y#6 [phi:line::@15->plot#0] -- register_copy - //SEG96 [62] phi (byte) plot::x#9 = (byte) plot::x#6 [phi:line::@15->plot#1] -- register_copy - jsr plot - //SEG97 line::@24 - b24: - //SEG98 [53] (byte) plot::x#7 ← (byte) line::x1#0 [ line::y1#0 plot::x#7 ] -- xby=zpby1 - ldx x1 - //SEG99 [54] (byte) plot::y#7 ← (byte) line::y1#0 [ plot::x#7 plot::y#7 ] -- yby=zpby1 - ldy y1 - //SEG100 [55] call plot param-assignment [ ] - //SEG101 [62] phi from line::@24 to plot [phi:line::@24->plot] - plot_from_b24: - //SEG102 [62] phi (byte) plot::y#9 = (byte) plot::y#7 [phi:line::@24->plot#0] -- register_copy - //SEG103 [62] phi (byte) plot::x#9 = (byte) plot::x#7 [phi:line::@24->plot#1] -- register_copy - jsr plot + sbc $ff + sta yd + //SEG80 [43] 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 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp xd + bcs b6 + //SEG81 line::@20 + b20: + //SEG82 [44] (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 ] -- zpby1=zpby2 + lda x0 + sta line_xdyd.x + //SEG83 [45] (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 ] -- zpby1=zpby2 + lda y0 + sta line_xdyd.y + //SEG84 [46] (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 ] -- zpby1=yby + sty line_xdyd.x1 + //SEG85 [47] (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 ] -- zpby1=zpby2 + lda xd + sta line_xdyd.xd + //SEG86 [48] (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 ] -- zpby1=zpby2 + lda yd + sta line_xdyd.yd + //SEG87 [49] call line_xdyd param-assignment [ ] + //SEG88 [146] phi from line::@20 to line_xdyd [phi:line::@20->line_xdyd] + line_xdyd_from_b20: + //SEG89 [146] phi (byte) line_xdyd::x1#6 = (byte) line_xdyd::x1#0 [phi:line::@20->line_xdyd#0] -- register_copy + //SEG90 [146] phi (byte) line_xdyd::xd#5 = (byte) line_xdyd::xd#0 [phi:line::@20->line_xdyd#1] -- register_copy + //SEG91 [146] phi (byte) line_xdyd::y#5 = (byte) line_xdyd::y#0 [phi:line::@20->line_xdyd#2] -- register_copy + //SEG92 [146] phi (byte) line_xdyd::x#6 = (byte) line_xdyd::x#0 [phi:line::@20->line_xdyd#3] -- register_copy + //SEG93 [146] phi (byte) line_xdyd::yd#2 = (byte) line_xdyd::yd#0 [phi:line::@20->line_xdyd#4] -- register_copy + jsr line_xdyd jmp breturn - //SEG104 line::@7 - b7: - //SEG105 [56] (byte) plot::x#4 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#4 ] -- xby=zpby1 - ldx x0 - //SEG106 [57] (byte) plot::y#4 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#4 plot::y#4 ] - // (byte) plot::y#4 = (byte) line::y0#0 // register copy reg byte y - //SEG107 [58] call plot param-assignment [ line::x1#0 line::y1#0 ] - //SEG108 [62] phi from line::@7 to plot [phi:line::@7->plot] - plot_from_b7: - //SEG109 [62] phi (byte) plot::y#9 = (byte) plot::y#4 [phi:line::@7->plot#0] -- register_copy - //SEG110 [62] phi (byte) plot::x#9 = (byte) plot::x#4 [phi:line::@7->plot#1] -- register_copy - jsr plot - //SEG111 line::@22 - b22: - //SEG112 [59] (byte) plot::x#5 ← (byte) line::x1#0 [ line::y1#0 plot::x#5 ] -- xby=zpby1 - ldx x1 - //SEG113 [60] (byte) plot::y#5 ← (byte) line::y1#0 [ plot::x#5 plot::y#5 ] -- yby=zpby1 - ldy y1 - //SEG114 [61] call plot param-assignment [ ] - //SEG115 [62] phi from line::@22 to plot [phi:line::@22->plot] - plot_from_b22: - //SEG116 [62] phi (byte) plot::y#9 = (byte) plot::y#5 [phi:line::@22->plot#0] -- register_copy - //SEG117 [62] phi (byte) plot::x#9 = (byte) plot::x#5 [phi:line::@22->plot#1] -- register_copy - jsr plot + //SEG94 line::@6 + b6: + //SEG95 [50] (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 ] -- zpby1=xby + stx line_ydxd.y + //SEG96 [51] (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 ] -- zpby1=yby + sty line_ydxd.x + //SEG97 [52] (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 ] -- zpby1=zpby2 + lda y0 + sta line_ydxd.y1 + //SEG98 [53] (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 ] -- zpby1=zpby2 + lda yd + sta line_ydxd.yd + //SEG99 [54] (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 ] -- zpby1=zpby2 + lda xd + sta line_ydxd.xd + //SEG100 [55] call line_ydxd param-assignment [ ] + //SEG101 [131] phi from line::@6 to line_ydxd [phi:line::@6->line_ydxd] + line_ydxd_from_b6: + //SEG102 [131] phi (byte) line_ydxd::y1#6 = (byte) line_ydxd::y1#0 [phi:line::@6->line_ydxd#0] -- register_copy + //SEG103 [131] phi (byte) line_ydxd::yd#5 = (byte) line_ydxd::yd#0 [phi:line::@6->line_ydxd#1] -- register_copy + //SEG104 [131] phi (byte) line_ydxd::y#6 = (byte) line_ydxd::y#0 [phi:line::@6->line_ydxd#2] -- register_copy + //SEG105 [131] phi (byte) line_ydxd::x#5 = (byte) line_ydxd::x#0 [phi:line::@6->line_ydxd#3] -- register_copy + //SEG106 [131] phi (byte) line_ydxd::xd#2 = (byte) line_ydxd::xd#0 [phi:line::@6->line_ydxd#4] -- register_copy + jsr line_ydxd + jmp breturn + //SEG107 line::@1 + b1: + //SEG108 [56] (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 ] -- zpby1=zpby2_minus_yby + sty $ff + lda x0 + sec + sbc $ff + sta xd + //SEG109 [57] 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 ] -- zpby1_ge_xby_then_la1 + cpx y0 + bcc b9 + //SEG110 line::@23 + b23: + //SEG111 [58] (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 ] -- zpby1=xby_minus_zpby2 + txa + sec + sbc y0 + sta yd + //SEG112 [59] 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 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp xd + bcs b10 + //SEG113 line::@24 + b24: + //SEG114 [60] (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 ] -- zpby1=yby + sty line_xdyd.x + //SEG115 [61] (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 ] -- zpby1=xby + stx line_xdyd.y + //SEG116 [62] (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 ] -- zpby1=zpby2 + lda x0 + sta line_xdyd.x1 + //SEG117 [63] (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 ] -- zpby1=zpby2 + lda xd + sta line_xdyd.xd + //SEG118 [64] (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 ] -- zpby1=zpby2 + lda yd + sta line_xdyd.yd + //SEG119 [65] call line_xdyd param-assignment [ ] + //SEG120 [146] phi from line::@24 to line_xdyd [phi:line::@24->line_xdyd] + line_xdyd_from_b24: + //SEG121 [146] phi (byte) line_xdyd::x1#6 = (byte) line_xdyd::x1#1 [phi:line::@24->line_xdyd#0] -- register_copy + //SEG122 [146] phi (byte) line_xdyd::xd#5 = (byte) line_xdyd::xd#1 [phi:line::@24->line_xdyd#1] -- register_copy + //SEG123 [146] phi (byte) line_xdyd::y#5 = (byte) line_xdyd::y#1 [phi:line::@24->line_xdyd#2] -- register_copy + //SEG124 [146] phi (byte) line_xdyd::x#6 = (byte) line_xdyd::x#1 [phi:line::@24->line_xdyd#3] -- register_copy + //SEG125 [146] phi (byte) line_xdyd::yd#2 = (byte) line_xdyd::yd#1 [phi:line::@24->line_xdyd#4] -- register_copy + jsr line_xdyd + jmp breturn + //SEG126 line::@10 + b10: + //SEG127 [66] (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 ] -- zpby1=zpby2 + lda y0 + sta line_ydxd.y + //SEG128 [67] (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 ] -- zpby1=zpby2 + lda x0 + sta line_ydxd.x + //SEG129 [68] (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 ] -- zpby1=xby + stx line_ydxd.y1 + //SEG130 [69] (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 ] -- zpby1=zpby2 + lda yd + sta line_ydxd.yd + //SEG131 [70] (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 ] -- zpby1=zpby2 + lda xd + sta line_ydxd.xd + //SEG132 [71] call line_ydxd param-assignment [ ] + //SEG133 [131] phi from line::@10 to line_ydxd [phi:line::@10->line_ydxd] + line_ydxd_from_b10: + //SEG134 [131] phi (byte) line_ydxd::y1#6 = (byte) line_ydxd::y1#1 [phi:line::@10->line_ydxd#0] -- register_copy + //SEG135 [131] phi (byte) line_ydxd::yd#5 = (byte) line_ydxd::yd#1 [phi:line::@10->line_ydxd#1] -- register_copy + //SEG136 [131] phi (byte) line_ydxd::y#6 = (byte) line_ydxd::y#1 [phi:line::@10->line_ydxd#2] -- register_copy + //SEG137 [131] phi (byte) line_ydxd::x#5 = (byte) line_ydxd::x#1 [phi:line::@10->line_ydxd#3] -- register_copy + //SEG138 [131] phi (byte) line_ydxd::xd#2 = (byte) line_ydxd::xd#1 [phi:line::@10->line_ydxd#4] -- register_copy + jsr line_ydxd + jmp breturn + //SEG139 line::@9 + b9: + //SEG140 [72] (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 ] -- zpby1=zpby2_minus_xby + stx $ff + lda y0 + sec + sbc $ff + sta yd + //SEG141 [73] 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 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp xd + bcs b13 + //SEG142 line::@27 + b27: + //SEG143 [74] (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 ] -- zpby1=yby + sty line_xdyi.x + //SEG144 [75] (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 ] -- zpby1=xby + stx line_xdyi.y + //SEG145 [76] (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 ] -- zpby1=zpby2 + lda x0 + sta line_xdyi.x1 + //SEG146 [77] (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 ] -- zpby1=zpby2 + lda xd + sta line_xdyi.xd + //SEG147 [78] (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 ] -- zpby1=zpby2 + lda yd + sta line_xdyi.yd + //SEG148 [79] call line_xdyi param-assignment [ ] + //SEG149 [116] phi from line::@27 to line_xdyi [phi:line::@27->line_xdyi] + line_xdyi_from_b27: + //SEG150 [116] phi (byte) line_xdyi::x1#6 = (byte) line_xdyi::x1#1 [phi:line::@27->line_xdyi#0] -- register_copy + //SEG151 [116] phi (byte) line_xdyi::xd#5 = (byte) line_xdyi::xd#1 [phi:line::@27->line_xdyi#1] -- register_copy + //SEG152 [116] phi (byte) line_xdyi::y#5 = (byte) line_xdyi::y#1 [phi:line::@27->line_xdyi#2] -- register_copy + //SEG153 [116] phi (byte) line_xdyi::x#6 = (byte) line_xdyi::x#1 [phi:line::@27->line_xdyi#3] -- register_copy + //SEG154 [116] phi (byte) line_xdyi::yd#2 = (byte) line_xdyi::yd#1 [phi:line::@27->line_xdyi#4] -- register_copy + jsr line_xdyi + jmp breturn + //SEG155 line::@13 + b13: + //SEG156 [80] (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 ] -- zpby1=xby + stx line_ydxi.y + //SEG157 [81] (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 ] -- zpby1=yby + sty line_ydxi.x + //SEG158 [82] (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 ] -- zpby1=zpby2 + lda y0 + sta line_ydxi.y1 + //SEG159 [83] (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 ] + // (byte) line_ydxi::yd#1 = (byte) line::yd#10 // register copy zp ZP_BYTE:4 + //SEG160 [84] (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 ] -- zpby1=zpby2 + lda xd + sta line_ydxi.xd + //SEG161 [85] call line_ydxi param-assignment [ ] + //SEG162 [86] phi from line::@13 to line_ydxi [phi:line::@13->line_ydxi] + line_ydxi_from_b13: + //SEG163 [86] phi (byte) line_ydxi::y1#6 = (byte) line_ydxi::y1#1 [phi:line::@13->line_ydxi#0] -- register_copy + //SEG164 [86] phi (byte) line_ydxi::yd#5 = (byte) line_ydxi::yd#1 [phi:line::@13->line_ydxi#1] -- register_copy + //SEG165 [86] phi (byte) line_ydxi::y#6 = (byte) line_ydxi::y#1 [phi:line::@13->line_ydxi#2] -- register_copy + //SEG166 [86] phi (byte) line_ydxi::x#5 = (byte) line_ydxi::x#1 [phi:line::@13->line_ydxi#3] -- register_copy + //SEG167 [86] phi (byte) line_ydxi::xd#2 = (byte) line_ydxi::xd#1 [phi:line::@13->line_ydxi#4] -- register_copy + jsr line_ydxi jmp breturn } -//SEG118 plot +//SEG168 line_ydxi +line_ydxi: { + .label y = 7 + .label x = 6 + .label y1 = 5 + .label yd = 4 + .label xd = 3 + .label e = 8 + //SEG169 [87] (byte) line_ydxi::e#0 ← (byte) line_ydxi::xd#2 >> (byte) 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 ] -- zpby1=zpby2_ror_1 + lda xd + lsr + sta e + //SEG170 [88] 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: + //SEG171 [88] phi (byte) line_ydxi::e#3 = (byte) line_ydxi::e#0 [phi:line_ydxi/line_ydxi::@2->line_ydxi::@1#0] -- register_copy + //SEG172 [88] phi (byte) line_ydxi::y#3 = (byte) line_ydxi::y#6 [phi:line_ydxi/line_ydxi::@2->line_ydxi::@1#1] -- register_copy + //SEG173 [88] phi (byte) line_ydxi::x#3 = (byte) line_ydxi::x#5 [phi:line_ydxi/line_ydxi::@2->line_ydxi::@1#2] -- register_copy + //SEG174 line_ydxi::@1 + b1: + //SEG175 [89] (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 ] -- xby=zpby1 + ldx x + //SEG176 [90] (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 ] -- yby=zpby1 + ldy y + //SEG177 [91] 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 ] + //SEG178 [101] phi from line_ydxi::@1 to plot [phi:line_ydxi::@1->plot] + plot_from_b1: + //SEG179 [101] phi (byte) plot::y#4 = (byte) plot::y#2 [phi:line_ydxi::@1->plot#0] -- register_copy + //SEG180 [101] phi (byte) plot::x#4 = (byte) plot::x#2 [phi:line_ydxi::@1->plot#1] -- register_copy + jsr plot + //SEG181 line_ydxi::@5 + b5: + //SEG182 [92] (byte) line_ydxi::y#2 ← (byte) line_ydxi::y#3 + (byte) 1 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::e#3 line_ydxi::y#2 ] -- zpby1=zpby1_plus_1 + inc y + //SEG183 [93] (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 ] -- zpby1=zpby1_plus_zpby2 + lda e + clc + adc xd + sta e + //SEG184 [94] 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 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp e + bcs b2_from_b5 + //SEG185 line_ydxi::@3 + b3: + //SEG186 [95] (byte) line_ydxi::x#2 ← (byte) line_ydxi::x#3 + (byte) 1 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::e#1 line_ydxi::x#2 ] -- zpby1=zpby1_plus_1 + inc x + //SEG187 [96] (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 ] -- zpby1=zpby1_minus_zpby2 + lda e + sec + sbc yd + sta e + //SEG188 [97] 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: + //SEG189 [97] phi (byte) line_ydxi::e#6 = (byte) line_ydxi::e#2 [phi:line_ydxi::@3/line_ydxi::@5->line_ydxi::@2#0] -- register_copy + //SEG190 [97] phi (byte) line_ydxi::x#6 = (byte) line_ydxi::x#2 [phi:line_ydxi::@3/line_ydxi::@5->line_ydxi::@2#1] -- register_copy + //SEG191 line_ydxi::@2 + b2: + //SEG192 [98] (byte~) line_ydxi::$8 ← (byte) line_ydxi::y1#6 + (byte) 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::$8 ] -- aby=zpby1_plus_1 + lda y1 + clc + adc #1 + //SEG193 [99] if((byte) line_ydxi::y#2<(byte~) line_ydxi::$8) 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 ] -- zpby1_lt_aby_then_la1 + cmp y + bcs b1_from_b2 + //SEG194 line_ydxi::@return + breturn: + //SEG195 [100] return [ ] + rts +} +//SEG196 plot plot: { - .label _5 = 15 - .label plotter_x = 6 - .label plotter_y = 13 - .label plotter = 6 - //SEG119 [63] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#9 [ plot::x#9 plot::y#9 plot::$0 ] -- aby=cowo1_staridx_xby + .label _5 = 31 + .label plotter_x = 27 + .label plotter_y = 29 + .label plotter = 27 + //SEG197 [102] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#4 [ plot::x#4 plot::y#4 plot::$0 ] -- aby=cowo1_staridx_xby lda plot_xhi,x - //SEG120 [64] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#9 plot::y#9 plot::plotter_x#1 ] -- zpptrby1=coby1_sethi_aby + //SEG198 [103] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#4 plot::y#4 plot::plotter_x#1 ] -- zpptrby1=coby1_sethi_aby sta plotter_x+1 lda #<0 sta plotter_x - //SEG121 [65] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#9 [ plot::x#9 plot::y#9 plot::plotter_x#1 plot::$1 ] -- aby=cowo1_staridx_xby + //SEG199 [104] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#4 [ plot::x#4 plot::y#4 plot::plotter_x#1 plot::$1 ] -- aby=cowo1_staridx_xby lda plot_xlo,x - //SEG122 [66] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#9 plot::y#9 plot::plotter_x#2 ] -- zpptrby1=zpptrby1_setlo_aby + //SEG200 [105] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#4 plot::y#4 plot::plotter_x#2 ] -- zpptrby1=zpptrby1_setlo_aby sta plotter_x - //SEG123 [67] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#9 [ plot::x#9 plot::y#9 plot::plotter_x#2 plot::$2 ] -- aby=cowo1_staridx_yby + //SEG201 [106] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#4 [ plot::x#4 plot::y#4 plot::plotter_x#2 plot::$2 ] -- aby=cowo1_staridx_yby lda plot_yhi,y - //SEG124 [68] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#9 plot::y#9 plot::plotter_x#2 plot::plotter_y#1 ] -- zpptrby1=coby1_sethi_aby + //SEG202 [107] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#4 plot::y#4 plot::plotter_x#2 plot::plotter_y#1 ] -- zpptrby1=coby1_sethi_aby sta plotter_y+1 lda #<0 sta plotter_y - //SEG125 [69] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#9 [ plot::x#9 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] -- aby=cowo1_staridx_yby + //SEG203 [108] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#4 [ plot::x#4 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] -- aby=cowo1_staridx_yby lda plot_ylo,y - //SEG126 [70] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#9 plot::plotter_x#2 plot::plotter_y#2 ] -- zpptrby1=zpptrby1_setlo_aby + //SEG204 [109] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#4 plot::plotter_x#2 plot::plotter_y#2 ] -- zpptrby1=zpptrby1_setlo_aby sta plotter_y - //SEG127 [71] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#9 plot::plotter#0 ] -- zpptrby1=zpptrby1_plus_zpptrby2 + //SEG205 [110] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#4 plot::plotter#0 ] -- zpptrby1=zpptrby1_plus_zpptrby2 lda plotter clc adc plotter_y @@ -11859,176 +18483,318 @@ plot: { lda plotter+1 adc plotter_y+1 sta plotter+1 - //SEG128 [72] (byte~) plot::$5 ← * (byte*) plot::plotter#0 [ plot::x#9 plot::plotter#0 plot::$5 ] -- zpby1=_star_zpptrby1 + //SEG206 [111] (byte~) plot::$5 ← * (byte*) plot::plotter#0 [ plot::x#4 plot::plotter#0 plot::$5 ] -- zpby1=_star_zpptrby1 ldy #0 lda (plotter),y sta _5 - //SEG129 [73] (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#9 [ plot::plotter#0 plot::$5 plot::$6 ] -- aby=cowo1_staridx_xby + //SEG207 [112] (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#4 [ plot::plotter#0 plot::$5 plot::$6 ] -- aby=cowo1_staridx_xby lda plot_bit,x - //SEG130 [74] (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 [ plot::plotter#0 plot::$7 ] -- aby=zpby1_bor_aby + //SEG208 [113] (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 [ plot::plotter#0 plot::$7 ] -- aby=zpby1_bor_aby ora _5 - //SEG131 [75] *((byte*) plot::plotter#0) ← (byte~) plot::$7 [ ] -- _star_zpptrby1=aby + //SEG209 [114] *((byte*) plot::plotter#0) ← (byte~) plot::$7 [ ] -- _star_zpptrby1=aby sta (plotter),y - //SEG132 plot::@return + //SEG210 plot::@return breturn: - //SEG133 [76] return [ ] + //SEG211 [115] return [ ] rts } -//SEG134 line_xdyi +//SEG212 line_xdyi line_xdyi: { - .label x = 3 - .label y = 4 + .label x = 12 + .label y = 13 .label x1 = 11 .label xd = 10 - .label yd = 12 - .label e = 5 - //SEG135 [77] (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#0 >> (byte) 1 [ line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::e#0 ] -- zpby1=zpby2_ror_1 + .label yd = 9 + .label e = 14 + //SEG213 [117] (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#2 >> (byte) 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 ] -- zpby1=zpby2_ror_1 lda yd lsr sta e - //SEG136 [78] phi from line_xdyi line_xdyi::@2 to line_xdyi::@1 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1] + //SEG214 [118] 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: - //SEG137 [78] phi (byte) line_xdyi::e#3 = (byte) line_xdyi::e#0 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#0] -- register_copy - //SEG138 [78] phi (byte) line_xdyi::y#2 = (byte) line_xdyi::y#0 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#1] -- register_copy - //SEG139 [78] phi (byte) line_xdyi::x#2 = (byte) line_xdyi::x#0 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#2] -- register_copy - //SEG140 line_xdyi::@1 + //SEG215 [118] phi (byte) line_xdyi::e#3 = (byte) line_xdyi::e#0 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#0] -- register_copy + //SEG216 [118] phi (byte) line_xdyi::y#3 = (byte) line_xdyi::y#5 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#1] -- register_copy + //SEG217 [118] phi (byte) line_xdyi::x#3 = (byte) line_xdyi::x#6 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#2] -- register_copy + //SEG218 line_xdyi::@1 b1: - //SEG141 [79] (byte) plot::x#8 ← (byte) line_xdyi::x#2 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 plot::x#8 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] -- xby=zpby1 + //SEG219 [119] (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 ] -- xby=zpby1 ldx x - //SEG142 [80] (byte) plot::y#8 ← (byte) line_xdyi::y#2 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 plot::x#8 plot::y#8 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] -- yby=zpby1 + //SEG220 [120] (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 ] -- yby=zpby1 ldy y - //SEG143 [81] call plot param-assignment [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] - //SEG144 [62] phi from line_xdyi::@1 to plot [phi:line_xdyi::@1->plot] + //SEG221 [121] 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 ] + //SEG222 [101] phi from line_xdyi::@1 to plot [phi:line_xdyi::@1->plot] plot_from_b1: - //SEG145 [62] phi (byte) plot::y#9 = (byte) plot::y#8 [phi:line_xdyi::@1->plot#0] -- register_copy - //SEG146 [62] phi (byte) plot::x#9 = (byte) plot::x#8 [phi:line_xdyi::@1->plot#1] -- register_copy + //SEG223 [101] phi (byte) plot::y#4 = (byte) plot::y#0 [phi:line_xdyi::@1->plot#0] -- register_copy + //SEG224 [101] phi (byte) plot::x#4 = (byte) plot::x#0 [phi:line_xdyi::@1->plot#1] -- register_copy jsr plot - //SEG147 line_xdyi::@5 + //SEG225 line_xdyi::@5 b5: - //SEG148 [82] (byte) line_xdyi::x#1 ← (byte) line_xdyi::x#2 + (byte) 1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::y#2 line_xdyi::e#3 line_xdyi::x#1 ] -- zpby1=zpby1_plus_1 + //SEG226 [122] (byte) line_xdyi::x#2 ← (byte) line_xdyi::x#3 + (byte) 1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::e#3 line_xdyi::x#2 ] -- zpby1=zpby1_plus_1 inc x - //SEG149 [83] (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#0 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::y#2 line_xdyi::x#1 line_xdyi::e#1 ] -- zpby1=zpby1_plus_zpby2 + //SEG227 [123] (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 ] -- zpby1=zpby1_plus_zpby2 lda e clc adc yd sta e - //SEG150 [84] if((byte) line_xdyi::xd#0>=(byte) line_xdyi::e#1) goto line_xdyi::@2 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::y#2 line_xdyi::x#1 line_xdyi::e#1 ] -- zpby1_ge_zpby2_then_la1 + //SEG228 [124] 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 ] -- zpby1_ge_zpby2_then_la1 lda xd cmp e bcs b2_from_b5 - //SEG151 line_xdyi::@3 + //SEG229 line_xdyi::@3 b3: - //SEG152 [85] (byte) line_xdyi::y#1 ← (byte) line_xdyi::y#2 + (byte) 1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::e#1 line_xdyi::y#1 ] -- zpby1=zpby1_plus_1 + //SEG230 [125] (byte) line_xdyi::y#2 ← (byte) line_xdyi::y#3 + (byte) 1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::e#1 line_xdyi::y#2 ] -- zpby1=zpby1_plus_1 inc y - //SEG153 [86] (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#0 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#1 line_xdyi::e#2 ] -- zpby1=zpby1_minus_zpby2 + //SEG231 [126] (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 ] -- zpby1=zpby1_minus_zpby2 lda e sec sbc xd sta e - //SEG154 [87] phi from line_xdyi::@3 line_xdyi::@5 to line_xdyi::@2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2] + //SEG232 [127] 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: - //SEG155 [87] phi (byte) line_xdyi::e#6 = (byte) line_xdyi::e#2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2#0] -- register_copy - //SEG156 [87] phi (byte) line_xdyi::y#5 = (byte) line_xdyi::y#1 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2#1] -- register_copy - //SEG157 line_xdyi::@2 + //SEG233 [127] phi (byte) line_xdyi::e#6 = (byte) line_xdyi::e#2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2#0] -- register_copy + //SEG234 [127] phi (byte) line_xdyi::y#6 = (byte) line_xdyi::y#2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2#1] -- register_copy + //SEG235 line_xdyi::@2 b2: - //SEG158 [88] (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#0 + (byte) 1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#5 line_xdyi::e#6 line_xdyi::$8 ] -- aby=zpby1_plus_1 + //SEG236 [128] (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#6 + (byte) 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::$8 ] -- aby=zpby1_plus_1 lda x1 clc adc #1 - //SEG159 [89] if((byte) line_xdyi::x#1<(byte~) line_xdyi::$8) goto line_xdyi::@1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#5 line_xdyi::e#6 ] -- zpby1_lt_aby_then_la1 + //SEG237 [129] if((byte) line_xdyi::x#2<(byte~) line_xdyi::$8) 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 ] -- zpby1_lt_aby_then_la1 cmp x bcs b1_from_b2 - //SEG160 line_xdyi::@return + //SEG238 line_xdyi::@return breturn: - //SEG161 [90] return [ ] + //SEG239 [130] return [ ] rts } -//SEG162 init_plot_tables +//SEG240 line_ydxd +line_ydxd: { + .label y = 19 + .label x = 18 + .label y1 = 17 + .label yd = 16 + .label xd = 15 + .label e = 20 + //SEG241 [132] (byte) line_ydxd::e#0 ← (byte) line_ydxd::xd#2 >> (byte) 1 [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] -- zpby1=zpby2_ror_1 + lda xd + lsr + sta e + //SEG242 [133] 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: + //SEG243 [133] phi (byte) line_ydxd::e#3 = (byte) line_ydxd::e#0 [phi:line_ydxd/line_ydxd::@2->line_ydxd::@1#0] -- register_copy + //SEG244 [133] phi (byte) line_ydxd::y#3 = (byte) line_ydxd::y#6 [phi:line_ydxd/line_ydxd::@2->line_ydxd::@1#1] -- register_copy + //SEG245 [133] phi (byte) line_ydxd::x#3 = (byte) line_ydxd::x#5 [phi:line_ydxd/line_ydxd::@2->line_ydxd::@1#2] -- register_copy + //SEG246 line_ydxd::@1 + b1: + //SEG247 [134] (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#3 line_ydxd::e#3 ] -- xby=zpby1 + ldx x + //SEG248 [135] (byte) plot::y#3 ← (byte) line_ydxd::y#3 [ 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#3 line_ydxd::e#3 ] -- yby=zpby1 + ldy y + //SEG249 [136] call plot param-assignment [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] + //SEG250 [101] phi from line_ydxd::@1 to plot [phi:line_ydxd::@1->plot] + plot_from_b1: + //SEG251 [101] phi (byte) plot::y#4 = (byte) plot::y#3 [phi:line_ydxd::@1->plot#0] -- register_copy + //SEG252 [101] phi (byte) plot::x#4 = (byte) plot::x#3 [phi:line_ydxd::@1->plot#1] -- register_copy + jsr plot + //SEG253 line_ydxd::@5 + b5: + //SEG254 [137] (byte) line_ydxd::y#2 ← (byte) line_ydxd::y#3 + (byte) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::e#3 line_ydxd::y#2 ] -- zpby1=zpby1_plus_1 + inc y + //SEG255 [138] (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#2 line_ydxd::e#1 ] -- zpby1=zpby1_plus_zpby2 + lda e + clc + adc xd + sta e + //SEG256 [139] 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#2 line_ydxd::e#1 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp e + bcs b2_from_b5 + //SEG257 line_ydxd::@3 + b3: + //SEG258 [140] (byte) line_ydxd::x#2 ← (byte) line_ydxd::x#3 - (byte) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#2 line_ydxd::e#1 line_ydxd::x#2 ] -- zpby1=zpby1_minus_1 + dec x + //SEG259 [141] (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#2 line_ydxd::x#2 line_ydxd::e#2 ] -- zpby1=zpby1_minus_zpby2 + lda e + sec + sbc yd + sta e + //SEG260 [142] 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: + //SEG261 [142] phi (byte) line_ydxd::e#6 = (byte) line_ydxd::e#2 [phi:line_ydxd::@3/line_ydxd::@5->line_ydxd::@2#0] -- register_copy + //SEG262 [142] phi (byte) line_ydxd::x#6 = (byte) line_ydxd::x#2 [phi:line_ydxd::@3/line_ydxd::@5->line_ydxd::@2#1] -- register_copy + //SEG263 line_ydxd::@2 + b2: + //SEG264 [143] (byte~) line_ydxd::$8 ← (byte) line_ydxd::y1#6 + (byte) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 line_ydxd::$8 ] -- aby=zpby1_plus_1 + lda y1 + clc + adc #1 + //SEG265 [144] if((byte) line_ydxd::y#2<(byte~) line_ydxd::$8) goto line_ydxd::@1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 ] -- zpby1_lt_aby_then_la1 + cmp y + bcs b1_from_b2 + //SEG266 line_ydxd::@return + breturn: + //SEG267 [145] return [ ] + rts +} +//SEG268 line_xdyd +line_xdyd: { + .label x = 24 + .label y = 25 + .label x1 = 23 + .label xd = 22 + .label yd = 21 + .label e = 26 + //SEG269 [147] (byte) line_xdyd::e#0 ← (byte) line_xdyd::yd#2 >> (byte) 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 ] -- zpby1=zpby2_ror_1 + lda yd + lsr + sta e + //SEG270 [148] 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: + //SEG271 [148] phi (byte) line_xdyd::e#3 = (byte) line_xdyd::e#0 [phi:line_xdyd/line_xdyd::@2->line_xdyd::@1#0] -- register_copy + //SEG272 [148] phi (byte) line_xdyd::y#3 = (byte) line_xdyd::y#5 [phi:line_xdyd/line_xdyd::@2->line_xdyd::@1#1] -- register_copy + //SEG273 [148] phi (byte) line_xdyd::x#3 = (byte) line_xdyd::x#6 [phi:line_xdyd/line_xdyd::@2->line_xdyd::@1#2] -- register_copy + //SEG274 line_xdyd::@1 + b1: + //SEG275 [149] (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 ] -- xby=zpby1 + ldx x + //SEG276 [150] (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 ] -- yby=zpby1 + ldy y + //SEG277 [151] 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 ] + //SEG278 [101] phi from line_xdyd::@1 to plot [phi:line_xdyd::@1->plot] + plot_from_b1: + //SEG279 [101] phi (byte) plot::y#4 = (byte) plot::y#1 [phi:line_xdyd::@1->plot#0] -- register_copy + //SEG280 [101] phi (byte) plot::x#4 = (byte) plot::x#1 [phi:line_xdyd::@1->plot#1] -- register_copy + jsr plot + //SEG281 line_xdyd::@5 + b5: + //SEG282 [152] (byte) line_xdyd::x#2 ← (byte) line_xdyd::x#3 + (byte) 1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::e#3 line_xdyd::x#2 ] -- zpby1=zpby1_plus_1 + inc x + //SEG283 [153] (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 ] -- zpby1=zpby1_plus_zpby2 + lda e + clc + adc yd + sta e + //SEG284 [154] 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 ] -- zpby1_ge_zpby2_then_la1 + lda xd + cmp e + bcs b2_from_b5 + //SEG285 line_xdyd::@3 + b3: + //SEG286 [155] (byte) line_xdyd::y#2 ← (byte) line_xdyd::y#3 - (byte) 1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::e#1 line_xdyd::y#2 ] -- zpby1=zpby1_minus_1 + dec y + //SEG287 [156] (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 ] -- zpby1=zpby1_minus_zpby2 + lda e + sec + sbc xd + sta e + //SEG288 [157] 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: + //SEG289 [157] phi (byte) line_xdyd::e#6 = (byte) line_xdyd::e#2 [phi:line_xdyd::@3/line_xdyd::@5->line_xdyd::@2#0] -- register_copy + //SEG290 [157] phi (byte) line_xdyd::y#6 = (byte) line_xdyd::y#2 [phi:line_xdyd::@3/line_xdyd::@5->line_xdyd::@2#1] -- register_copy + //SEG291 line_xdyd::@2 + b2: + //SEG292 [158] (byte~) line_xdyd::$8 ← (byte) line_xdyd::x1#6 + (byte) 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::$8 ] -- aby=zpby1_plus_1 + lda x1 + clc + adc #1 + //SEG293 [159] if((byte) line_xdyd::x#2<(byte~) line_xdyd::$8) 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 ] -- zpby1_lt_aby_then_la1 + cmp x + bcs b1_from_b2 + //SEG294 line_xdyd::@return + breturn: + //SEG295 [160] return [ ] + rts +} +//SEG296 init_plot_tables init_plot_tables: { .label _6 = 2 - .label yoffs = 6 - //SEG163 [92] phi from init_plot_tables to init_plot_tables::@1 [phi:init_plot_tables->init_plot_tables::@1] + .label yoffs = 27 + //SEG297 [162] phi from init_plot_tables to init_plot_tables::@1 [phi:init_plot_tables->init_plot_tables::@1] b1_from_init_plot_tables: - //SEG164 [92] phi (byte) init_plot_tables::bit#3 = (byte) 128 [phi:init_plot_tables->init_plot_tables::@1#0] -- yby=coby1 + //SEG298 [162] phi (byte) init_plot_tables::bit#3 = (byte) 128 [phi:init_plot_tables->init_plot_tables::@1#0] -- yby=coby1 ldy #$80 - //SEG165 [92] phi (byte) init_plot_tables::x#2 = (byte) 0 [phi:init_plot_tables->init_plot_tables::@1#1] -- xby=coby1 + //SEG299 [162] phi (byte) init_plot_tables::x#2 = (byte) 0 [phi:init_plot_tables->init_plot_tables::@1#1] -- xby=coby1 ldx #0 jmp b1 - //SEG166 [92] phi from init_plot_tables::@2 to init_plot_tables::@1 [phi:init_plot_tables::@2->init_plot_tables::@1] + //SEG300 [162] phi from init_plot_tables::@2 to init_plot_tables::@1 [phi:init_plot_tables::@2->init_plot_tables::@1] b1_from_b2: - //SEG167 [92] phi (byte) init_plot_tables::bit#3 = (byte) init_plot_tables::bit#4 [phi:init_plot_tables::@2->init_plot_tables::@1#0] -- register_copy - //SEG168 [92] 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 - //SEG169 init_plot_tables::@1 + //SEG301 [162] phi (byte) init_plot_tables::bit#3 = (byte) init_plot_tables::bit#4 [phi:init_plot_tables::@2->init_plot_tables::@1#0] -- register_copy + //SEG302 [162] 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 + //SEG303 init_plot_tables::@1 b1: - //SEG170 [93] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bit#3 init_plot_tables::$0 ] -- aby=xby_band_coby1 + //SEG304 [163] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bit#3 init_plot_tables::$0 ] -- aby=xby_band_coby1 txa and #$f8 - //SEG171 [94] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_xby=aby + //SEG305 [164] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_xby=aby sta plot_xlo,x - //SEG172 [95] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_xby=coby2 + //SEG306 [165] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_xby=coby2 lda #>BITMAP sta plot_xhi,x - //SEG173 [96] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bit#3 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_xby=yby + //SEG307 [166] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bit#3 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_xby=yby tya sta plot_bit,x - //SEG174 [97] (byte) init_plot_tables::bit#1 ← (byte) init_plot_tables::bit#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bit#1 ] -- yby=yby_ror_1 + //SEG308 [167] (byte) init_plot_tables::bit#1 ← (byte) init_plot_tables::bit#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bit#1 ] -- yby=yby_ror_1 tya lsr tay - //SEG175 [98] if((byte) init_plot_tables::bit#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] -- yby_neq_0_then_la1 + //SEG309 [168] if((byte) init_plot_tables::bit#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] -- yby_neq_0_then_la1 cpy #0 bne b10 - //SEG176 [99] phi from init_plot_tables::@1 to init_plot_tables::@2 [phi:init_plot_tables::@1->init_plot_tables::@2] + //SEG310 [169] phi from init_plot_tables::@1 to init_plot_tables::@2 [phi:init_plot_tables::@1->init_plot_tables::@2] b2_from_b1: - //SEG177 [99] phi (byte) init_plot_tables::bit#4 = (byte) 128 [phi:init_plot_tables::@1->init_plot_tables::@2#0] -- yby=coby1 + //SEG311 [169] phi (byte) init_plot_tables::bit#4 = (byte) 128 [phi:init_plot_tables::@1->init_plot_tables::@2#0] -- yby=coby1 ldy #$80 - //SEG178 init_plot_tables::@2 + //SEG312 init_plot_tables::@2 b2: - //SEG179 [100] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bit#4 ] -- xby=_inc_xby + //SEG313 [170] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bit#4 ] -- xby=_inc_xby inx - //SEG180 [101] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bit#4 ] -- xby_neq_0_then_la1 + //SEG314 [171] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bit#4 ] -- xby_neq_0_then_la1 cpx #0 bne b1_from_b2 - //SEG181 [102] phi from init_plot_tables::@2 to init_plot_tables::@3 [phi:init_plot_tables::@2->init_plot_tables::@3] + //SEG315 [172] phi from init_plot_tables::@2 to init_plot_tables::@3 [phi:init_plot_tables::@2->init_plot_tables::@3] b3_from_b2: - //SEG182 [102] phi (byte*) init_plot_tables::yoffs#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#0] -- zpptrby1=coby1 + //SEG316 [172] phi (byte*) init_plot_tables::yoffs#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#0] -- zpptrby1=coby1 lda #0 sta yoffs sta yoffs+1 - //SEG183 [102] phi (byte) init_plot_tables::y#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#1] -- xby=coby1 + //SEG317 [172] phi (byte) init_plot_tables::y#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#1] -- xby=coby1 ldx #0 jmp b3 - //SEG184 [102] phi from init_plot_tables::@4 to init_plot_tables::@3 [phi:init_plot_tables::@4->init_plot_tables::@3] + //SEG318 [172] phi from init_plot_tables::@4 to init_plot_tables::@3 [phi:init_plot_tables::@4->init_plot_tables::@3] b3_from_b4: - //SEG185 [102] 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 - //SEG186 [102] 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 - //SEG187 init_plot_tables::@3 + //SEG319 [172] 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 + //SEG320 [172] 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 + //SEG321 init_plot_tables::@3 b3: - //SEG188 [103] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] -- zpby1=xby_band_coby1 + //SEG322 [173] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] -- zpby1=xby_band_coby1 txa and #7 sta _6 - //SEG189 [104] (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 ] -- aby=_lo_zpptrby1 + //SEG323 [174] (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 ] -- aby=_lo_zpptrby1 lda yoffs - //SEG190 [105] (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 ] -- aby=zpby1_bor_aby + //SEG324 [175] (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 ] -- aby=zpby1_bor_aby ora _6 - //SEG191 [106] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- cowo1_staridx_xby=aby + //SEG325 [176] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- cowo1_staridx_xby=aby sta plot_ylo,x - //SEG192 [107] (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 ] -- aby=_hi_zpptrby1 + //SEG326 [177] (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 ] -- aby=_hi_zpptrby1 lda yoffs+1 - //SEG193 [108] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- cowo1_staridx_xby=aby + //SEG327 [178] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- cowo1_staridx_xby=aby sta plot_yhi,x - //SEG194 [109] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] -- aby=xby_band_coby1 + //SEG328 [179] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] -- aby=xby_band_coby1 txa and #7 - //SEG195 [110] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- aby_neq_coby1_then_la1 + //SEG329 [180] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- aby_neq_coby1_then_la1 cmp #7 bne b4_from_b3 - //SEG196 init_plot_tables::@7 + //SEG330 init_plot_tables::@7 b7: - //SEG197 [111] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] -- zpptrby1=zpptrby1_plus_cowo1 + //SEG331 [181] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] -- zpptrby1=zpptrby1_plus_cowo1 lda yoffs clc adc #<$140 @@ -12036,99 +18802,105 @@ init_plot_tables: { lda yoffs+1 adc #>$140 sta yoffs+1 - //SEG198 [112] 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] + //SEG332 [182] 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: - //SEG199 [112] 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 - //SEG200 init_plot_tables::@4 + //SEG333 [182] 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 + //SEG334 init_plot_tables::@4 b4: - //SEG201 [113] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] -- xby=_inc_xby + //SEG335 [183] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] -- xby=_inc_xby inx - //SEG202 [114] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] -- xby_neq_0_then_la1 + //SEG336 [184] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] -- xby_neq_0_then_la1 cpx #0 bne b3_from_b4 - //SEG203 init_plot_tables::@return + //SEG337 init_plot_tables::@return breturn: - //SEG204 [115] return [ ] + //SEG338 [185] return [ ] rts - //SEG205 init_plot_tables::@10 + //SEG339 init_plot_tables::@10 b10: - //SEG206 [99] phi from init_plot_tables::@10 to init_plot_tables::@2 [phi:init_plot_tables::@10->init_plot_tables::@2] + //SEG340 [169] phi from init_plot_tables::@10 to init_plot_tables::@2 [phi:init_plot_tables::@10->init_plot_tables::@2] b2_from_b10: - //SEG207 [99] phi (byte) init_plot_tables::bit#4 = (byte) init_plot_tables::bit#1 [phi:init_plot_tables::@10->init_plot_tables::@2#0] -- register_copy + //SEG341 [169] phi (byte) init_plot_tables::bit#4 = (byte) init_plot_tables::bit#1 [phi:init_plot_tables::@10->init_plot_tables::@2#0] -- register_copy jmp b2 } -//SEG208 init_screen +//SEG342 init_screen init_screen: { - .label b = 6 - .label c = 6 - //SEG209 [117] phi from init_screen to init_screen::@1 [phi:init_screen->init_screen::@1] + .label b = 27 + .label c = 27 + //SEG343 [187] phi from init_screen to init_screen::@1 [phi:init_screen->init_screen::@1] b1_from_init_screen: - //SEG210 [117] phi (byte*) init_screen::b#2 = (const byte*) BITMAP#0 [phi:init_screen->init_screen::@1#0] -- zpptrby1=cowo1 + //SEG344 [187] phi (byte*) init_screen::b#2 = (const byte*) BITMAP#0 [phi:init_screen->init_screen::@1#0] -- zpptrby1=cowo1 lda #BITMAP sta b+1 jmp b1 - //SEG211 [117] phi from init_screen::@1 to init_screen::@1 [phi:init_screen::@1->init_screen::@1] + //SEG345 [187] phi from init_screen::@1 to init_screen::@1 [phi:init_screen::@1->init_screen::@1] b1_from_b1: - //SEG212 [117] phi (byte*) init_screen::b#2 = (byte*) init_screen::b#1 [phi:init_screen::@1->init_screen::@1#0] -- register_copy - //SEG213 init_screen::@1 + //SEG346 [187] phi (byte*) init_screen::b#2 = (byte*) init_screen::b#1 [phi:init_screen::@1->init_screen::@1#0] -- register_copy + //SEG347 init_screen::@1 b1: - //SEG214 [118] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] -- _star_zpptrby1=coby1 + //SEG348 [188] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] -- _star_zpptrby1=coby1 ldy #0 lda #0 sta (b),y - //SEG215 [119] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] -- zpptrby1=_inc_zpptrby1 + //SEG349 [189] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] -- zpptrby1=_inc_zpptrby1 inc b bne !+ inc b+1 !: - //SEG216 [120] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] -- zpptrby1_neq_cowo1_then_la1 + //SEG350 [190] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] -- zpptrby1_neq_cowo1_then_la1 lda b+1 cmp #>BITMAP+$2000 bne b1_from_b1 lda b cmp #init_screen::@2] + //SEG351 [191] phi from init_screen::@1 to init_screen::@2 [phi:init_screen::@1->init_screen::@2] b2_from_b1: - //SEG218 [121] phi (byte*) init_screen::c#2 = (const byte*) SCREEN#0 [phi:init_screen::@1->init_screen::@2#0] -- zpptrby1=cowo1 + //SEG352 [191] phi (byte*) init_screen::c#2 = (const byte*) SCREEN#0 [phi:init_screen::@1->init_screen::@2#0] -- zpptrby1=cowo1 lda #SCREEN sta c+1 jmp b2 - //SEG219 [121] phi from init_screen::@2 to init_screen::@2 [phi:init_screen::@2->init_screen::@2] + //SEG353 [191] phi from init_screen::@2 to init_screen::@2 [phi:init_screen::@2->init_screen::@2] b2_from_b2: - //SEG220 [121] phi (byte*) init_screen::c#2 = (byte*) init_screen::c#1 [phi:init_screen::@2->init_screen::@2#0] -- register_copy - //SEG221 init_screen::@2 + //SEG354 [191] phi (byte*) init_screen::c#2 = (byte*) init_screen::c#1 [phi:init_screen::@2->init_screen::@2#0] -- register_copy + //SEG355 init_screen::@2 b2: - //SEG222 [122] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] -- _star_zpptrby1=coby1 + //SEG356 [192] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] -- _star_zpptrby1=coby1 ldy #0 lda #$14 sta (c),y - //SEG223 [123] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] -- zpptrby1=_inc_zpptrby1 + //SEG357 [193] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] -- zpptrby1=_inc_zpptrby1 inc c bne !+ inc c+1 !: - //SEG224 [124] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] -- zpptrby1_neq_cowo1_then_la1 + //SEG358 [194] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] -- zpptrby1_neq_cowo1_then_la1 lda c+1 cmp #>SCREEN+$400 bne b2_from_b2 lda c cmp #init_screen] + //SEG11 [186] phi from main to init_screen [phi:main->init_screen] init_screen_from_main: jsr init_screen //SEG12 main::@3 b3: //SEG13 [6] call init_plot_tables param-assignment [ ] - //SEG14 [91] phi from main::@3 to init_plot_tables [phi:main::@3->init_plot_tables] + //SEG14 [161] phi from main::@3 to init_plot_tables [phi:main::@3->init_plot_tables] jsr init_plot_tables //SEG15 main::@1 b1: @@ -12254,13 +19038,13 @@ lines: { tax //SEG32 [16] (byte) line::x0#0 ← (byte~) lines::$0 [ lines::l#2 lines::$2 lines::$3 lines::$5 line::x0#0 ] -- zpby1=yby sty line.x0 - //SEG33 [17] (byte) line::x1#0 ← (byte~) lines::$2 [ lines::l#2 lines::$3 lines::$5 line::x0#0 line::x1#0 ] -- zpby1=zpby2 - lda _2 - sta line.x1 - //SEG34 [18] (byte) line::y0#0 ← (byte~) lines::$3 [ lines::l#2 lines::$5 line::x0#0 line::x1#0 line::y0#0 ] -- yby=zpby1 - ldy _3 - //SEG35 [19] (byte) line::y1#0 ← (byte~) lines::$5 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] -- zpby1=xby - stx line.y1 + //SEG33 [17] (byte) line::x1#0 ← (byte~) lines::$2 [ lines::l#2 lines::$3 lines::$5 line::x0#0 line::x1#0 ] -- yby=zpby1 + ldy _2 + //SEG34 [18] (byte) line::y0#0 ← (byte~) lines::$3 [ lines::l#2 lines::$5 line::x0#0 line::x1#0 line::y0#0 ] -- zpby1=zpby2 + lda _3 + sta line.y0 + //SEG35 [19] (byte) line::y1#0 ← (byte~) lines::$5 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] + // (byte) line::y1#0 = (byte~) lines::$5 // register copy reg byte x //SEG36 [20] call line param-assignment [ lines::l#2 ] jsr line //SEG37 lines::@3 @@ -12279,191 +19063,379 @@ lines: { //SEG42 line line: { .label x0 = 5 - .label x1 = 8 - .label y1 = 9 - .label xd = 10 - //SEG43 [24] if((byte) line::x0#0>=(byte) line::x1#0) goto line::@1 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] -- zpby1_ge_zpby2_then_la1 - lda x0 - cmp x1 - bcs b1 - //SEG44 line::@9 - b9: - //SEG45 [25] (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 ] -- zpby1=zpby2_minus_zpby3 - lda x1 + .label y0 = 3 + .label xd = 8 + .label yd = 4 + //SEG43 [24] if((byte) line::x0#0>=(byte) line::x1#0) goto line::@1 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] -- zpby1_ge_yby_then_la1 + cpy x0 + bcc b1 + //SEG44 line::@15 + b15: + //SEG45 [25] (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 ] -- zpby1=yby_minus_zpby2 + tya sec sbc x0 sta xd - //SEG46 [26] 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 ] -- yby_ge_zpby1_then_la1 - cpy y1 - bcs b2 - //SEG47 line::@10 - b10: - //SEG48 [27] (byte) line::yd#0 ← (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#0 ] -- xby=zpby1_minus_yby - sty $ff - lda y1 + //SEG46 [26] 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 ] -- zpby1_ge_xby_then_la1 + cpx y0 + bcc b2 + //SEG47 line::@16 + b16: + //SEG48 [27] (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 ] -- zpby1=xby_minus_zpby2 + txa sec - sbc $ff - tax - //SEG49 [28] if((byte) line::yd#0>=(byte) line::xd#1) goto line::@3 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#0 ] -- xby_ge_zpby1_then_la1 - cpx xd + sbc y0 + sta yd + //SEG49 [28] 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 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp xd bcs b3 - //SEG50 line::@11 - b11: - //SEG51 [29] (byte) line_xdyi::x#0 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::xd#1 line::yd#0 line_xdyi::x#0 ] -- zpby1=zpby2 + //SEG50 line::@17 + b17: + //SEG51 [29] (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 ] -- zpby1=zpby2 lda x0 sta line_xdyi.x - //SEG52 [30] (byte) line_xdyi::y#0 ← (byte) line::y0#0 [ line::x1#0 line::xd#1 line::yd#0 line_xdyi::x#0 line_xdyi::y#0 ] -- zpby1=yby - sty line_xdyi.y - //SEG53 [31] (byte) line_xdyi::x1#0 ← (byte) line::x1#0 [ line::xd#1 line::yd#0 line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 ] -- zpby1=zpby2 - lda x1 - sta line_xdyi.x1 - //SEG54 [32] (byte) line_xdyi::xd#0 ← (byte) line::xd#1 [ line::yd#0 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:10 - //SEG55 [33] (byte) line_xdyi::yd#0 ← (byte) line::yd#0 [ line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 ] -- zpby1=xby - stx line_xdyi.yd + //SEG52 [30] (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 ] -- zpby1=zpby2 + lda y0 + sta line_xdyi.y + //SEG53 [31] (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 ] -- zpby1=yby + sty line_xdyi.x1 + //SEG54 [32] (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 ] -- zpby1=zpby2 + lda xd + sta line_xdyi.xd + //SEG55 [33] (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 ] -- zpby1=zpby2 + lda yd + sta line_xdyi.yd //SEG56 [34] call line_xdyi param-assignment [ ] + //SEG57 [116] phi from line::@17 to line_xdyi [phi:line::@17->line_xdyi] + line_xdyi_from_b17: + //SEG58 [116] phi (byte) line_xdyi::x1#6 = (byte) line_xdyi::x1#0 [phi:line::@17->line_xdyi#0] -- register_copy + //SEG59 [116] phi (byte) line_xdyi::xd#5 = (byte) line_xdyi::xd#0 [phi:line::@17->line_xdyi#1] -- register_copy + //SEG60 [116] phi (byte) line_xdyi::y#5 = (byte) line_xdyi::y#0 [phi:line::@17->line_xdyi#2] -- register_copy + //SEG61 [116] phi (byte) line_xdyi::x#6 = (byte) line_xdyi::x#0 [phi:line::@17->line_xdyi#3] -- register_copy + //SEG62 [116] phi (byte) line_xdyi::yd#2 = (byte) line_xdyi::yd#0 [phi:line::@17->line_xdyi#4] -- register_copy jsr line_xdyi - //SEG57 line::@return + //SEG63 line::@return breturn: - //SEG58 [35] return [ ] + //SEG64 [35] return [ ] rts - //SEG59 line::@3 + //SEG65 line::@3 b3: - //SEG60 [36] (byte) plot::x#2 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#2 ] -- xby=zpby1 - ldx x0 - //SEG61 [37] (byte) plot::y#2 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#2 plot::y#2 ] - // (byte) plot::y#2 = (byte) line::y0#0 // register copy reg byte y - //SEG62 [38] call plot param-assignment [ line::x1#0 line::y1#0 ] - //SEG63 [62] phi from line::@3 to plot [phi:line::@3->plot] - plot_from_b3: - //SEG64 [62] phi (byte) plot::y#9 = (byte) plot::y#2 [phi:line::@3->plot#0] -- register_copy - //SEG65 [62] phi (byte) plot::x#9 = (byte) plot::x#2 [phi:line::@3->plot#1] -- register_copy - jsr plot - //SEG66 line::@19 - b19: - //SEG67 [39] (byte) plot::x#3 ← (byte) line::x1#0 [ line::y1#0 plot::x#3 ] -- xby=zpby1 - ldx x1 - //SEG68 [40] (byte) plot::y#3 ← (byte) line::y1#0 [ plot::x#3 plot::y#3 ] -- yby=zpby1 - ldy y1 - //SEG69 [41] call plot param-assignment [ ] - //SEG70 [62] phi from line::@19 to plot [phi:line::@19->plot] - plot_from_b19: - //SEG71 [62] phi (byte) plot::y#9 = (byte) plot::y#3 [phi:line::@19->plot#0] -- register_copy - //SEG72 [62] phi (byte) plot::x#9 = (byte) plot::x#3 [phi:line::@19->plot#1] -- register_copy - jsr plot + //SEG66 [36] (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 ] -- zpby1=zpby2 + lda y0 + sta line_ydxi.y + //SEG67 [37] (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 ] -- zpby1=zpby2 + lda x0 + sta line_ydxi.x + //SEG68 [38] (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 ] -- zpby1=xby + stx line_ydxi.y1 + //SEG69 [39] (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 ] + // (byte) line_ydxi::yd#0 = (byte) line::yd#1 // register copy zp ZP_BYTE:4 + //SEG70 [40] (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 ] -- zpby1=zpby2 + lda xd + sta line_ydxi.xd + //SEG71 [41] call line_ydxi param-assignment [ ] + //SEG72 [86] phi from line::@3 to line_ydxi [phi:line::@3->line_ydxi] + line_ydxi_from_b3: + //SEG73 [86] phi (byte) line_ydxi::y1#6 = (byte) line_ydxi::y1#0 [phi:line::@3->line_ydxi#0] -- register_copy + //SEG74 [86] phi (byte) line_ydxi::yd#5 = (byte) line_ydxi::yd#0 [phi:line::@3->line_ydxi#1] -- register_copy + //SEG75 [86] phi (byte) line_ydxi::y#6 = (byte) line_ydxi::y#0 [phi:line::@3->line_ydxi#2] -- register_copy + //SEG76 [86] phi (byte) line_ydxi::x#5 = (byte) line_ydxi::x#0 [phi:line::@3->line_ydxi#3] -- register_copy + //SEG77 [86] phi (byte) line_ydxi::xd#2 = (byte) line_ydxi::xd#0 [phi:line::@3->line_ydxi#4] -- register_copy + jsr line_ydxi jmp breturn - //SEG73 line::@2 + //SEG78 line::@2 b2: - //SEG74 [42] (byte) plot::x#0 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#0 ] -- xby=zpby1 - ldx x0 - //SEG75 [43] (byte) plot::y#0 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#0 plot::y#0 ] - // (byte) plot::y#0 = (byte) line::y0#0 // register copy reg byte y - //SEG76 [44] call plot param-assignment [ line::x1#0 line::y1#0 ] - //SEG77 [62] phi from line::@2 to plot [phi:line::@2->plot] - plot_from_b2: - //SEG78 [62] phi (byte) plot::y#9 = (byte) plot::y#0 [phi:line::@2->plot#0] -- register_copy - //SEG79 [62] phi (byte) plot::x#9 = (byte) plot::x#0 [phi:line::@2->plot#1] -- register_copy - jsr plot - //SEG80 line::@17 - b17: - //SEG81 [45] (byte) plot::x#1 ← (byte) line::x1#0 [ line::y1#0 plot::x#1 ] -- xby=zpby1 - ldx x1 - //SEG82 [46] (byte) plot::y#1 ← (byte) line::y1#0 [ plot::x#1 plot::y#1 ] -- yby=zpby1 - ldy y1 - //SEG83 [47] call plot param-assignment [ ] - //SEG84 [62] phi from line::@17 to plot [phi:line::@17->plot] - plot_from_b17: - //SEG85 [62] phi (byte) plot::y#9 = (byte) plot::y#1 [phi:line::@17->plot#0] -- register_copy - //SEG86 [62] phi (byte) plot::x#9 = (byte) plot::x#1 [phi:line::@17->plot#1] -- register_copy - jsr plot - jmp breturn - //SEG87 line::@1 - b1: - //SEG88 [48] (byte) line::xd#0 ← (byte) line::x1#0 - (byte) line::x0#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] -- aby=zpby1_minus_zpby2 - lda x1 + //SEG79 [42] (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 ] -- zpby1=zpby2_minus_xby + stx $ff + lda y0 sec - sbc x0 - //SEG89 [49] if((byte) line::y0#0>=(byte) line::y1#0) goto line::@7 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] -- yby_ge_zpby1_then_la1 - cpy y1 - bcs b7 - //SEG90 line::@15 - b15: - //SEG91 [50] (byte) plot::x#6 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#6 ] -- xby=zpby1 - ldx x0 - //SEG92 [51] (byte) plot::y#6 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#6 plot::y#6 ] - // (byte) plot::y#6 = (byte) line::y0#0 // register copy reg byte y - //SEG93 [52] call plot param-assignment [ line::x1#0 line::y1#0 ] - //SEG94 [62] phi from line::@15 to plot [phi:line::@15->plot] - plot_from_b15: - //SEG95 [62] phi (byte) plot::y#9 = (byte) plot::y#6 [phi:line::@15->plot#0] -- register_copy - //SEG96 [62] phi (byte) plot::x#9 = (byte) plot::x#6 [phi:line::@15->plot#1] -- register_copy - jsr plot - //SEG97 line::@24 - b24: - //SEG98 [53] (byte) plot::x#7 ← (byte) line::x1#0 [ line::y1#0 plot::x#7 ] -- xby=zpby1 - ldx x1 - //SEG99 [54] (byte) plot::y#7 ← (byte) line::y1#0 [ plot::x#7 plot::y#7 ] -- yby=zpby1 - ldy y1 - //SEG100 [55] call plot param-assignment [ ] - //SEG101 [62] phi from line::@24 to plot [phi:line::@24->plot] - plot_from_b24: - //SEG102 [62] phi (byte) plot::y#9 = (byte) plot::y#7 [phi:line::@24->plot#0] -- register_copy - //SEG103 [62] phi (byte) plot::x#9 = (byte) plot::x#7 [phi:line::@24->plot#1] -- register_copy - jsr plot + sbc $ff + sta yd + //SEG80 [43] 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 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp xd + bcs b6 + //SEG81 line::@20 + b20: + //SEG82 [44] (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 ] -- zpby1=zpby2 + lda x0 + sta line_xdyd.x + //SEG83 [45] (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 ] -- zpby1=zpby2 + lda y0 + sta line_xdyd.y + //SEG84 [46] (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 ] -- zpby1=yby + sty line_xdyd.x1 + //SEG85 [47] (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 ] -- zpby1=zpby2 + lda xd + sta line_xdyd.xd + //SEG86 [48] (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 ] -- zpby1=zpby2 + lda yd + sta line_xdyd.yd + //SEG87 [49] call line_xdyd param-assignment [ ] + //SEG88 [146] phi from line::@20 to line_xdyd [phi:line::@20->line_xdyd] + line_xdyd_from_b20: + //SEG89 [146] phi (byte) line_xdyd::x1#6 = (byte) line_xdyd::x1#0 [phi:line::@20->line_xdyd#0] -- register_copy + //SEG90 [146] phi (byte) line_xdyd::xd#5 = (byte) line_xdyd::xd#0 [phi:line::@20->line_xdyd#1] -- register_copy + //SEG91 [146] phi (byte) line_xdyd::y#5 = (byte) line_xdyd::y#0 [phi:line::@20->line_xdyd#2] -- register_copy + //SEG92 [146] phi (byte) line_xdyd::x#6 = (byte) line_xdyd::x#0 [phi:line::@20->line_xdyd#3] -- register_copy + //SEG93 [146] phi (byte) line_xdyd::yd#2 = (byte) line_xdyd::yd#0 [phi:line::@20->line_xdyd#4] -- register_copy + jsr line_xdyd jmp breturn - //SEG104 line::@7 - b7: - //SEG105 [56] (byte) plot::x#4 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#4 ] -- xby=zpby1 - ldx x0 - //SEG106 [57] (byte) plot::y#4 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#4 plot::y#4 ] - // (byte) plot::y#4 = (byte) line::y0#0 // register copy reg byte y - //SEG107 [58] call plot param-assignment [ line::x1#0 line::y1#0 ] - //SEG108 [62] phi from line::@7 to plot [phi:line::@7->plot] - plot_from_b7: - //SEG109 [62] phi (byte) plot::y#9 = (byte) plot::y#4 [phi:line::@7->plot#0] -- register_copy - //SEG110 [62] phi (byte) plot::x#9 = (byte) plot::x#4 [phi:line::@7->plot#1] -- register_copy - jsr plot - //SEG111 line::@22 - b22: - //SEG112 [59] (byte) plot::x#5 ← (byte) line::x1#0 [ line::y1#0 plot::x#5 ] -- xby=zpby1 - ldx x1 - //SEG113 [60] (byte) plot::y#5 ← (byte) line::y1#0 [ plot::x#5 plot::y#5 ] -- yby=zpby1 - ldy y1 - //SEG114 [61] call plot param-assignment [ ] - //SEG115 [62] phi from line::@22 to plot [phi:line::@22->plot] - plot_from_b22: - //SEG116 [62] phi (byte) plot::y#9 = (byte) plot::y#5 [phi:line::@22->plot#0] -- register_copy - //SEG117 [62] phi (byte) plot::x#9 = (byte) plot::x#5 [phi:line::@22->plot#1] -- register_copy - jsr plot + //SEG94 line::@6 + b6: + //SEG95 [50] (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 ] -- zpby1=xby + stx line_ydxd.y + //SEG96 [51] (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 ] -- zpby1=yby + sty line_ydxd.x + //SEG97 [52] (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 ] -- zpby1=zpby2 + lda y0 + sta line_ydxd.y1 + //SEG98 [53] (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 ] -- zpby1=zpby2 + lda yd + sta line_ydxd.yd + //SEG99 [54] (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 ] -- zpby1=zpby2 + lda xd + sta line_ydxd.xd + //SEG100 [55] call line_ydxd param-assignment [ ] + //SEG101 [131] phi from line::@6 to line_ydxd [phi:line::@6->line_ydxd] + line_ydxd_from_b6: + //SEG102 [131] phi (byte) line_ydxd::y1#6 = (byte) line_ydxd::y1#0 [phi:line::@6->line_ydxd#0] -- register_copy + //SEG103 [131] phi (byte) line_ydxd::yd#5 = (byte) line_ydxd::yd#0 [phi:line::@6->line_ydxd#1] -- register_copy + //SEG104 [131] phi (byte) line_ydxd::y#6 = (byte) line_ydxd::y#0 [phi:line::@6->line_ydxd#2] -- register_copy + //SEG105 [131] phi (byte) line_ydxd::x#5 = (byte) line_ydxd::x#0 [phi:line::@6->line_ydxd#3] -- register_copy + //SEG106 [131] phi (byte) line_ydxd::xd#2 = (byte) line_ydxd::xd#0 [phi:line::@6->line_ydxd#4] -- register_copy + jsr line_ydxd + jmp breturn + //SEG107 line::@1 + b1: + //SEG108 [56] (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 ] -- zpby1=zpby2_minus_yby + sty $ff + lda x0 + sec + sbc $ff + sta xd + //SEG109 [57] 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 ] -- zpby1_ge_xby_then_la1 + cpx y0 + bcc b9 + //SEG110 line::@23 + b23: + //SEG111 [58] (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 ] -- zpby1=xby_minus_zpby2 + txa + sec + sbc y0 + sta yd + //SEG112 [59] 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 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp xd + bcs b10 + //SEG113 line::@24 + b24: + //SEG114 [60] (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 ] -- zpby1=yby + sty line_xdyd.x + //SEG115 [61] (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 ] -- zpby1=xby + stx line_xdyd.y + //SEG116 [62] (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 ] -- zpby1=zpby2 + lda x0 + sta line_xdyd.x1 + //SEG117 [63] (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 ] -- zpby1=zpby2 + lda xd + sta line_xdyd.xd + //SEG118 [64] (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 ] -- zpby1=zpby2 + lda yd + sta line_xdyd.yd + //SEG119 [65] call line_xdyd param-assignment [ ] + //SEG120 [146] phi from line::@24 to line_xdyd [phi:line::@24->line_xdyd] + line_xdyd_from_b24: + //SEG121 [146] phi (byte) line_xdyd::x1#6 = (byte) line_xdyd::x1#1 [phi:line::@24->line_xdyd#0] -- register_copy + //SEG122 [146] phi (byte) line_xdyd::xd#5 = (byte) line_xdyd::xd#1 [phi:line::@24->line_xdyd#1] -- register_copy + //SEG123 [146] phi (byte) line_xdyd::y#5 = (byte) line_xdyd::y#1 [phi:line::@24->line_xdyd#2] -- register_copy + //SEG124 [146] phi (byte) line_xdyd::x#6 = (byte) line_xdyd::x#1 [phi:line::@24->line_xdyd#3] -- register_copy + //SEG125 [146] phi (byte) line_xdyd::yd#2 = (byte) line_xdyd::yd#1 [phi:line::@24->line_xdyd#4] -- register_copy + jsr line_xdyd + jmp breturn + //SEG126 line::@10 + b10: + //SEG127 [66] (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 ] -- zpby1=zpby2 + lda y0 + sta line_ydxd.y + //SEG128 [67] (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 ] -- zpby1=zpby2 + lda x0 + sta line_ydxd.x + //SEG129 [68] (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 ] -- zpby1=xby + stx line_ydxd.y1 + //SEG130 [69] (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 ] -- zpby1=zpby2 + lda yd + sta line_ydxd.yd + //SEG131 [70] (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 ] -- zpby1=zpby2 + lda xd + sta line_ydxd.xd + //SEG132 [71] call line_ydxd param-assignment [ ] + //SEG133 [131] phi from line::@10 to line_ydxd [phi:line::@10->line_ydxd] + line_ydxd_from_b10: + //SEG134 [131] phi (byte) line_ydxd::y1#6 = (byte) line_ydxd::y1#1 [phi:line::@10->line_ydxd#0] -- register_copy + //SEG135 [131] phi (byte) line_ydxd::yd#5 = (byte) line_ydxd::yd#1 [phi:line::@10->line_ydxd#1] -- register_copy + //SEG136 [131] phi (byte) line_ydxd::y#6 = (byte) line_ydxd::y#1 [phi:line::@10->line_ydxd#2] -- register_copy + //SEG137 [131] phi (byte) line_ydxd::x#5 = (byte) line_ydxd::x#1 [phi:line::@10->line_ydxd#3] -- register_copy + //SEG138 [131] phi (byte) line_ydxd::xd#2 = (byte) line_ydxd::xd#1 [phi:line::@10->line_ydxd#4] -- register_copy + jsr line_ydxd + jmp breturn + //SEG139 line::@9 + b9: + //SEG140 [72] (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 ] -- zpby1=zpby2_minus_xby + stx $ff + lda y0 + sec + sbc $ff + sta yd + //SEG141 [73] 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 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp xd + bcs b13 + //SEG142 line::@27 + b27: + //SEG143 [74] (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 ] -- zpby1=yby + sty line_xdyi.x + //SEG144 [75] (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 ] -- zpby1=xby + stx line_xdyi.y + //SEG145 [76] (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 ] -- zpby1=zpby2 + lda x0 + sta line_xdyi.x1 + //SEG146 [77] (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 ] -- zpby1=zpby2 + lda xd + sta line_xdyi.xd + //SEG147 [78] (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 ] -- zpby1=zpby2 + lda yd + sta line_xdyi.yd + //SEG148 [79] call line_xdyi param-assignment [ ] + //SEG149 [116] phi from line::@27 to line_xdyi [phi:line::@27->line_xdyi] + line_xdyi_from_b27: + //SEG150 [116] phi (byte) line_xdyi::x1#6 = (byte) line_xdyi::x1#1 [phi:line::@27->line_xdyi#0] -- register_copy + //SEG151 [116] phi (byte) line_xdyi::xd#5 = (byte) line_xdyi::xd#1 [phi:line::@27->line_xdyi#1] -- register_copy + //SEG152 [116] phi (byte) line_xdyi::y#5 = (byte) line_xdyi::y#1 [phi:line::@27->line_xdyi#2] -- register_copy + //SEG153 [116] phi (byte) line_xdyi::x#6 = (byte) line_xdyi::x#1 [phi:line::@27->line_xdyi#3] -- register_copy + //SEG154 [116] phi (byte) line_xdyi::yd#2 = (byte) line_xdyi::yd#1 [phi:line::@27->line_xdyi#4] -- register_copy + jsr line_xdyi + jmp breturn + //SEG155 line::@13 + b13: + //SEG156 [80] (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 ] -- zpby1=xby + stx line_ydxi.y + //SEG157 [81] (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 ] -- zpby1=yby + sty line_ydxi.x + //SEG158 [82] (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 ] -- zpby1=zpby2 + lda y0 + sta line_ydxi.y1 + //SEG159 [83] (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 ] + // (byte) line_ydxi::yd#1 = (byte) line::yd#10 // register copy zp ZP_BYTE:4 + //SEG160 [84] (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 ] -- zpby1=zpby2 + lda xd + sta line_ydxi.xd + //SEG161 [85] call line_ydxi param-assignment [ ] + //SEG162 [86] phi from line::@13 to line_ydxi [phi:line::@13->line_ydxi] + line_ydxi_from_b13: + //SEG163 [86] phi (byte) line_ydxi::y1#6 = (byte) line_ydxi::y1#1 [phi:line::@13->line_ydxi#0] -- register_copy + //SEG164 [86] phi (byte) line_ydxi::yd#5 = (byte) line_ydxi::yd#1 [phi:line::@13->line_ydxi#1] -- register_copy + //SEG165 [86] phi (byte) line_ydxi::y#6 = (byte) line_ydxi::y#1 [phi:line::@13->line_ydxi#2] -- register_copy + //SEG166 [86] phi (byte) line_ydxi::x#5 = (byte) line_ydxi::x#1 [phi:line::@13->line_ydxi#3] -- register_copy + //SEG167 [86] phi (byte) line_ydxi::xd#2 = (byte) line_ydxi::xd#1 [phi:line::@13->line_ydxi#4] -- register_copy + jsr line_ydxi jmp breturn } -//SEG118 plot +//SEG168 line_ydxi +line_ydxi: { + .label y = 7 + .label x = 6 + .label y1 = 5 + .label yd = 4 + .label xd = 3 + .label e = 8 + //SEG169 [87] (byte) line_ydxi::e#0 ← (byte) line_ydxi::xd#2 >> (byte) 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 ] -- zpby1=zpby2_ror_1 + lda xd + lsr + sta e + //SEG170 [88] phi from line_ydxi line_ydxi::@2 to line_ydxi::@1 [phi:line_ydxi/line_ydxi::@2->line_ydxi::@1] + //SEG171 [88] phi (byte) line_ydxi::e#3 = (byte) line_ydxi::e#0 [phi:line_ydxi/line_ydxi::@2->line_ydxi::@1#0] -- register_copy + //SEG172 [88] phi (byte) line_ydxi::y#3 = (byte) line_ydxi::y#6 [phi:line_ydxi/line_ydxi::@2->line_ydxi::@1#1] -- register_copy + //SEG173 [88] phi (byte) line_ydxi::x#3 = (byte) line_ydxi::x#5 [phi:line_ydxi/line_ydxi::@2->line_ydxi::@1#2] -- register_copy + //SEG174 line_ydxi::@1 + b1: + //SEG175 [89] (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 ] -- xby=zpby1 + ldx x + //SEG176 [90] (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 ] -- yby=zpby1 + ldy y + //SEG177 [91] 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 ] + //SEG178 [101] phi from line_ydxi::@1 to plot [phi:line_ydxi::@1->plot] + plot_from_b1: + //SEG179 [101] phi (byte) plot::y#4 = (byte) plot::y#2 [phi:line_ydxi::@1->plot#0] -- register_copy + //SEG180 [101] phi (byte) plot::x#4 = (byte) plot::x#2 [phi:line_ydxi::@1->plot#1] -- register_copy + jsr plot + //SEG181 line_ydxi::@5 + b5: + //SEG182 [92] (byte) line_ydxi::y#2 ← (byte) line_ydxi::y#3 + (byte) 1 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::e#3 line_ydxi::y#2 ] -- zpby1=zpby1_plus_1 + inc y + //SEG183 [93] (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 ] -- zpby1=zpby1_plus_zpby2 + lda e + clc + adc xd + sta e + //SEG184 [94] 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 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp e + bcs b2 + //SEG185 line_ydxi::@3 + b3: + //SEG186 [95] (byte) line_ydxi::x#2 ← (byte) line_ydxi::x#3 + (byte) 1 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::e#1 line_ydxi::x#2 ] -- zpby1=zpby1_plus_1 + inc x + //SEG187 [96] (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 ] -- zpby1=zpby1_minus_zpby2 + lda e + sec + sbc yd + sta e + //SEG188 [97] phi from line_ydxi::@3 line_ydxi::@5 to line_ydxi::@2 [phi:line_ydxi::@3/line_ydxi::@5->line_ydxi::@2] + //SEG189 [97] phi (byte) line_ydxi::e#6 = (byte) line_ydxi::e#2 [phi:line_ydxi::@3/line_ydxi::@5->line_ydxi::@2#0] -- register_copy + //SEG190 [97] phi (byte) line_ydxi::x#6 = (byte) line_ydxi::x#2 [phi:line_ydxi::@3/line_ydxi::@5->line_ydxi::@2#1] -- register_copy + //SEG191 line_ydxi::@2 + b2: + //SEG192 [98] (byte~) line_ydxi::$8 ← (byte) line_ydxi::y1#6 + (byte) 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::$8 ] -- aby=zpby1_plus_1 + lda y1 + clc + adc #1 + //SEG193 [99] if((byte) line_ydxi::y#2<(byte~) line_ydxi::$8) 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 ] -- zpby1_lt_aby_then_la1 + cmp y + bcs b1 + //SEG194 line_ydxi::@return + breturn: + //SEG195 [100] return [ ] + rts +} +//SEG196 plot plot: { - .label _5 = 15 - .label plotter_x = 6 - .label plotter_y = 13 - .label plotter = 6 - //SEG119 [63] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#9 [ plot::x#9 plot::y#9 plot::$0 ] -- aby=cowo1_staridx_xby + .label _5 = 31 + .label plotter_x = 27 + .label plotter_y = 29 + .label plotter = 27 + //SEG197 [102] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#4 [ plot::x#4 plot::y#4 plot::$0 ] -- aby=cowo1_staridx_xby lda plot_xhi,x - //SEG120 [64] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#9 plot::y#9 plot::plotter_x#1 ] -- zpptrby1=coby1_sethi_aby + //SEG198 [103] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#4 plot::y#4 plot::plotter_x#1 ] -- zpptrby1=coby1_sethi_aby sta plotter_x+1 lda #<0 sta plotter_x - //SEG121 [65] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#9 [ plot::x#9 plot::y#9 plot::plotter_x#1 plot::$1 ] -- aby=cowo1_staridx_xby + //SEG199 [104] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#4 [ plot::x#4 plot::y#4 plot::plotter_x#1 plot::$1 ] -- aby=cowo1_staridx_xby lda plot_xlo,x - //SEG122 [66] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#9 plot::y#9 plot::plotter_x#2 ] -- zpptrby1=zpptrby1_setlo_aby + //SEG200 [105] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#4 plot::y#4 plot::plotter_x#2 ] -- zpptrby1=zpptrby1_setlo_aby sta plotter_x - //SEG123 [67] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#9 [ plot::x#9 plot::y#9 plot::plotter_x#2 plot::$2 ] -- aby=cowo1_staridx_yby + //SEG201 [106] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#4 [ plot::x#4 plot::y#4 plot::plotter_x#2 plot::$2 ] -- aby=cowo1_staridx_yby lda plot_yhi,y - //SEG124 [68] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#9 plot::y#9 plot::plotter_x#2 plot::plotter_y#1 ] -- zpptrby1=coby1_sethi_aby + //SEG202 [107] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#4 plot::y#4 plot::plotter_x#2 plot::plotter_y#1 ] -- zpptrby1=coby1_sethi_aby sta plotter_y+1 lda #<0 sta plotter_y - //SEG125 [69] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#9 [ plot::x#9 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] -- aby=cowo1_staridx_yby + //SEG203 [108] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#4 [ plot::x#4 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] -- aby=cowo1_staridx_yby lda plot_ylo,y - //SEG126 [70] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#9 plot::plotter_x#2 plot::plotter_y#2 ] -- zpptrby1=zpptrby1_setlo_aby + //SEG204 [109] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#4 plot::plotter_x#2 plot::plotter_y#2 ] -- zpptrby1=zpptrby1_setlo_aby sta plotter_y - //SEG127 [71] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#9 plot::plotter#0 ] -- zpptrby1=zpptrby1_plus_zpptrby2 + //SEG205 [110] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#4 plot::plotter#0 ] -- zpptrby1=zpptrby1_plus_zpptrby2 lda plotter clc adc plotter_y @@ -12471,170 +19443,304 @@ plot: { lda plotter+1 adc plotter_y+1 sta plotter+1 - //SEG128 [72] (byte~) plot::$5 ← * (byte*) plot::plotter#0 [ plot::x#9 plot::plotter#0 plot::$5 ] -- zpby1=_star_zpptrby1 + //SEG206 [111] (byte~) plot::$5 ← * (byte*) plot::plotter#0 [ plot::x#4 plot::plotter#0 plot::$5 ] -- zpby1=_star_zpptrby1 ldy #0 lda (plotter),y sta _5 - //SEG129 [73] (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#9 [ plot::plotter#0 plot::$5 plot::$6 ] -- aby=cowo1_staridx_xby + //SEG207 [112] (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#4 [ plot::plotter#0 plot::$5 plot::$6 ] -- aby=cowo1_staridx_xby lda plot_bit,x - //SEG130 [74] (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 [ plot::plotter#0 plot::$7 ] -- aby=zpby1_bor_aby + //SEG208 [113] (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 [ plot::plotter#0 plot::$7 ] -- aby=zpby1_bor_aby ora _5 - //SEG131 [75] *((byte*) plot::plotter#0) ← (byte~) plot::$7 [ ] -- _star_zpptrby1=aby + //SEG209 [114] *((byte*) plot::plotter#0) ← (byte~) plot::$7 [ ] -- _star_zpptrby1=aby sta (plotter),y - //SEG132 plot::@return + //SEG210 plot::@return breturn: - //SEG133 [76] return [ ] + //SEG211 [115] return [ ] rts } -//SEG134 line_xdyi +//SEG212 line_xdyi line_xdyi: { - .label x = 3 - .label y = 4 + .label x = 12 + .label y = 13 .label x1 = 11 .label xd = 10 - .label yd = 12 - .label e = 5 - //SEG135 [77] (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#0 >> (byte) 1 [ line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::e#0 ] -- zpby1=zpby2_ror_1 + .label yd = 9 + .label e = 14 + //SEG213 [117] (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#2 >> (byte) 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 ] -- zpby1=zpby2_ror_1 lda yd lsr sta e - //SEG136 [78] phi from line_xdyi line_xdyi::@2 to line_xdyi::@1 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1] - //SEG137 [78] phi (byte) line_xdyi::e#3 = (byte) line_xdyi::e#0 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#0] -- register_copy - //SEG138 [78] phi (byte) line_xdyi::y#2 = (byte) line_xdyi::y#0 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#1] -- register_copy - //SEG139 [78] phi (byte) line_xdyi::x#2 = (byte) line_xdyi::x#0 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#2] -- register_copy - //SEG140 line_xdyi::@1 + //SEG214 [118] phi from line_xdyi line_xdyi::@2 to line_xdyi::@1 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1] + //SEG215 [118] phi (byte) line_xdyi::e#3 = (byte) line_xdyi::e#0 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#0] -- register_copy + //SEG216 [118] phi (byte) line_xdyi::y#3 = (byte) line_xdyi::y#5 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#1] -- register_copy + //SEG217 [118] phi (byte) line_xdyi::x#3 = (byte) line_xdyi::x#6 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#2] -- register_copy + //SEG218 line_xdyi::@1 b1: - //SEG141 [79] (byte) plot::x#8 ← (byte) line_xdyi::x#2 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 plot::x#8 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] -- xby=zpby1 + //SEG219 [119] (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 ] -- xby=zpby1 ldx x - //SEG142 [80] (byte) plot::y#8 ← (byte) line_xdyi::y#2 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 plot::x#8 plot::y#8 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] -- yby=zpby1 + //SEG220 [120] (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 ] -- yby=zpby1 ldy y - //SEG143 [81] call plot param-assignment [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] - //SEG144 [62] phi from line_xdyi::@1 to plot [phi:line_xdyi::@1->plot] + //SEG221 [121] 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 ] + //SEG222 [101] phi from line_xdyi::@1 to plot [phi:line_xdyi::@1->plot] plot_from_b1: - //SEG145 [62] phi (byte) plot::y#9 = (byte) plot::y#8 [phi:line_xdyi::@1->plot#0] -- register_copy - //SEG146 [62] phi (byte) plot::x#9 = (byte) plot::x#8 [phi:line_xdyi::@1->plot#1] -- register_copy + //SEG223 [101] phi (byte) plot::y#4 = (byte) plot::y#0 [phi:line_xdyi::@1->plot#0] -- register_copy + //SEG224 [101] phi (byte) plot::x#4 = (byte) plot::x#0 [phi:line_xdyi::@1->plot#1] -- register_copy jsr plot - //SEG147 line_xdyi::@5 + //SEG225 line_xdyi::@5 b5: - //SEG148 [82] (byte) line_xdyi::x#1 ← (byte) line_xdyi::x#2 + (byte) 1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::y#2 line_xdyi::e#3 line_xdyi::x#1 ] -- zpby1=zpby1_plus_1 + //SEG226 [122] (byte) line_xdyi::x#2 ← (byte) line_xdyi::x#3 + (byte) 1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::e#3 line_xdyi::x#2 ] -- zpby1=zpby1_plus_1 inc x - //SEG149 [83] (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#0 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::y#2 line_xdyi::x#1 line_xdyi::e#1 ] -- zpby1=zpby1_plus_zpby2 + //SEG227 [123] (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 ] -- zpby1=zpby1_plus_zpby2 lda e clc adc yd sta e - //SEG150 [84] if((byte) line_xdyi::xd#0>=(byte) line_xdyi::e#1) goto line_xdyi::@2 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::y#2 line_xdyi::x#1 line_xdyi::e#1 ] -- zpby1_ge_zpby2_then_la1 + //SEG228 [124] 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 ] -- zpby1_ge_zpby2_then_la1 lda xd cmp e bcs b2 - //SEG151 line_xdyi::@3 + //SEG229 line_xdyi::@3 b3: - //SEG152 [85] (byte) line_xdyi::y#1 ← (byte) line_xdyi::y#2 + (byte) 1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::e#1 line_xdyi::y#1 ] -- zpby1=zpby1_plus_1 + //SEG230 [125] (byte) line_xdyi::y#2 ← (byte) line_xdyi::y#3 + (byte) 1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::e#1 line_xdyi::y#2 ] -- zpby1=zpby1_plus_1 inc y - //SEG153 [86] (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#0 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#1 line_xdyi::e#2 ] -- zpby1=zpby1_minus_zpby2 + //SEG231 [126] (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 ] -- zpby1=zpby1_minus_zpby2 lda e sec sbc xd sta e - //SEG154 [87] phi from line_xdyi::@3 line_xdyi::@5 to line_xdyi::@2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2] - //SEG155 [87] phi (byte) line_xdyi::e#6 = (byte) line_xdyi::e#2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2#0] -- register_copy - //SEG156 [87] phi (byte) line_xdyi::y#5 = (byte) line_xdyi::y#1 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2#1] -- register_copy - //SEG157 line_xdyi::@2 + //SEG232 [127] phi from line_xdyi::@3 line_xdyi::@5 to line_xdyi::@2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2] + //SEG233 [127] phi (byte) line_xdyi::e#6 = (byte) line_xdyi::e#2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2#0] -- register_copy + //SEG234 [127] phi (byte) line_xdyi::y#6 = (byte) line_xdyi::y#2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2#1] -- register_copy + //SEG235 line_xdyi::@2 b2: - //SEG158 [88] (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#0 + (byte) 1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#5 line_xdyi::e#6 line_xdyi::$8 ] -- aby=zpby1_plus_1 + //SEG236 [128] (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#6 + (byte) 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::$8 ] -- aby=zpby1_plus_1 lda x1 clc adc #1 - //SEG159 [89] if((byte) line_xdyi::x#1<(byte~) line_xdyi::$8) goto line_xdyi::@1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#5 line_xdyi::e#6 ] -- zpby1_lt_aby_then_la1 + //SEG237 [129] if((byte) line_xdyi::x#2<(byte~) line_xdyi::$8) 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 ] -- zpby1_lt_aby_then_la1 cmp x bcs b1 - //SEG160 line_xdyi::@return + //SEG238 line_xdyi::@return breturn: - //SEG161 [90] return [ ] + //SEG239 [130] return [ ] rts } -//SEG162 init_plot_tables +//SEG240 line_ydxd +line_ydxd: { + .label y = 19 + .label x = 18 + .label y1 = 17 + .label yd = 16 + .label xd = 15 + .label e = 20 + //SEG241 [132] (byte) line_ydxd::e#0 ← (byte) line_ydxd::xd#2 >> (byte) 1 [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] -- zpby1=zpby2_ror_1 + lda xd + lsr + sta e + //SEG242 [133] phi from line_ydxd line_ydxd::@2 to line_ydxd::@1 [phi:line_ydxd/line_ydxd::@2->line_ydxd::@1] + //SEG243 [133] phi (byte) line_ydxd::e#3 = (byte) line_ydxd::e#0 [phi:line_ydxd/line_ydxd::@2->line_ydxd::@1#0] -- register_copy + //SEG244 [133] phi (byte) line_ydxd::y#3 = (byte) line_ydxd::y#6 [phi:line_ydxd/line_ydxd::@2->line_ydxd::@1#1] -- register_copy + //SEG245 [133] phi (byte) line_ydxd::x#3 = (byte) line_ydxd::x#5 [phi:line_ydxd/line_ydxd::@2->line_ydxd::@1#2] -- register_copy + //SEG246 line_ydxd::@1 + b1: + //SEG247 [134] (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#3 line_ydxd::e#3 ] -- xby=zpby1 + ldx x + //SEG248 [135] (byte) plot::y#3 ← (byte) line_ydxd::y#3 [ 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#3 line_ydxd::e#3 ] -- yby=zpby1 + ldy y + //SEG249 [136] call plot param-assignment [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] + //SEG250 [101] phi from line_ydxd::@1 to plot [phi:line_ydxd::@1->plot] + plot_from_b1: + //SEG251 [101] phi (byte) plot::y#4 = (byte) plot::y#3 [phi:line_ydxd::@1->plot#0] -- register_copy + //SEG252 [101] phi (byte) plot::x#4 = (byte) plot::x#3 [phi:line_ydxd::@1->plot#1] -- register_copy + jsr plot + //SEG253 line_ydxd::@5 + b5: + //SEG254 [137] (byte) line_ydxd::y#2 ← (byte) line_ydxd::y#3 + (byte) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::e#3 line_ydxd::y#2 ] -- zpby1=zpby1_plus_1 + inc y + //SEG255 [138] (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#2 line_ydxd::e#1 ] -- zpby1=zpby1_plus_zpby2 + lda e + clc + adc xd + sta e + //SEG256 [139] 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#2 line_ydxd::e#1 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp e + bcs b2 + //SEG257 line_ydxd::@3 + b3: + //SEG258 [140] (byte) line_ydxd::x#2 ← (byte) line_ydxd::x#3 - (byte) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#2 line_ydxd::e#1 line_ydxd::x#2 ] -- zpby1=zpby1_minus_1 + dec x + //SEG259 [141] (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#2 line_ydxd::x#2 line_ydxd::e#2 ] -- zpby1=zpby1_minus_zpby2 + lda e + sec + sbc yd + sta e + //SEG260 [142] phi from line_ydxd::@3 line_ydxd::@5 to line_ydxd::@2 [phi:line_ydxd::@3/line_ydxd::@5->line_ydxd::@2] + //SEG261 [142] phi (byte) line_ydxd::e#6 = (byte) line_ydxd::e#2 [phi:line_ydxd::@3/line_ydxd::@5->line_ydxd::@2#0] -- register_copy + //SEG262 [142] phi (byte) line_ydxd::x#6 = (byte) line_ydxd::x#2 [phi:line_ydxd::@3/line_ydxd::@5->line_ydxd::@2#1] -- register_copy + //SEG263 line_ydxd::@2 + b2: + //SEG264 [143] (byte~) line_ydxd::$8 ← (byte) line_ydxd::y1#6 + (byte) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 line_ydxd::$8 ] -- aby=zpby1_plus_1 + lda y1 + clc + adc #1 + //SEG265 [144] if((byte) line_ydxd::y#2<(byte~) line_ydxd::$8) goto line_ydxd::@1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 ] -- zpby1_lt_aby_then_la1 + cmp y + bcs b1 + //SEG266 line_ydxd::@return + breturn: + //SEG267 [145] return [ ] + rts +} +//SEG268 line_xdyd +line_xdyd: { + .label x = 24 + .label y = 25 + .label x1 = 23 + .label xd = 22 + .label yd = 21 + .label e = 26 + //SEG269 [147] (byte) line_xdyd::e#0 ← (byte) line_xdyd::yd#2 >> (byte) 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 ] -- zpby1=zpby2_ror_1 + lda yd + lsr + sta e + //SEG270 [148] phi from line_xdyd line_xdyd::@2 to line_xdyd::@1 [phi:line_xdyd/line_xdyd::@2->line_xdyd::@1] + //SEG271 [148] phi (byte) line_xdyd::e#3 = (byte) line_xdyd::e#0 [phi:line_xdyd/line_xdyd::@2->line_xdyd::@1#0] -- register_copy + //SEG272 [148] phi (byte) line_xdyd::y#3 = (byte) line_xdyd::y#5 [phi:line_xdyd/line_xdyd::@2->line_xdyd::@1#1] -- register_copy + //SEG273 [148] phi (byte) line_xdyd::x#3 = (byte) line_xdyd::x#6 [phi:line_xdyd/line_xdyd::@2->line_xdyd::@1#2] -- register_copy + //SEG274 line_xdyd::@1 + b1: + //SEG275 [149] (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 ] -- xby=zpby1 + ldx x + //SEG276 [150] (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 ] -- yby=zpby1 + ldy y + //SEG277 [151] 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 ] + //SEG278 [101] phi from line_xdyd::@1 to plot [phi:line_xdyd::@1->plot] + plot_from_b1: + //SEG279 [101] phi (byte) plot::y#4 = (byte) plot::y#1 [phi:line_xdyd::@1->plot#0] -- register_copy + //SEG280 [101] phi (byte) plot::x#4 = (byte) plot::x#1 [phi:line_xdyd::@1->plot#1] -- register_copy + jsr plot + //SEG281 line_xdyd::@5 + b5: + //SEG282 [152] (byte) line_xdyd::x#2 ← (byte) line_xdyd::x#3 + (byte) 1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::e#3 line_xdyd::x#2 ] -- zpby1=zpby1_plus_1 + inc x + //SEG283 [153] (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 ] -- zpby1=zpby1_plus_zpby2 + lda e + clc + adc yd + sta e + //SEG284 [154] 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 ] -- zpby1_ge_zpby2_then_la1 + lda xd + cmp e + bcs b2 + //SEG285 line_xdyd::@3 + b3: + //SEG286 [155] (byte) line_xdyd::y#2 ← (byte) line_xdyd::y#3 - (byte) 1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::e#1 line_xdyd::y#2 ] -- zpby1=zpby1_minus_1 + dec y + //SEG287 [156] (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 ] -- zpby1=zpby1_minus_zpby2 + lda e + sec + sbc xd + sta e + //SEG288 [157] phi from line_xdyd::@3 line_xdyd::@5 to line_xdyd::@2 [phi:line_xdyd::@3/line_xdyd::@5->line_xdyd::@2] + //SEG289 [157] phi (byte) line_xdyd::e#6 = (byte) line_xdyd::e#2 [phi:line_xdyd::@3/line_xdyd::@5->line_xdyd::@2#0] -- register_copy + //SEG290 [157] phi (byte) line_xdyd::y#6 = (byte) line_xdyd::y#2 [phi:line_xdyd::@3/line_xdyd::@5->line_xdyd::@2#1] -- register_copy + //SEG291 line_xdyd::@2 + b2: + //SEG292 [158] (byte~) line_xdyd::$8 ← (byte) line_xdyd::x1#6 + (byte) 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::$8 ] -- aby=zpby1_plus_1 + lda x1 + clc + adc #1 + //SEG293 [159] if((byte) line_xdyd::x#2<(byte~) line_xdyd::$8) 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 ] -- zpby1_lt_aby_then_la1 + cmp x + bcs b1 + //SEG294 line_xdyd::@return + breturn: + //SEG295 [160] return [ ] + rts +} +//SEG296 init_plot_tables init_plot_tables: { .label _6 = 2 - .label yoffs = 6 - //SEG163 [92] phi from init_plot_tables to init_plot_tables::@1 [phi:init_plot_tables->init_plot_tables::@1] + .label yoffs = 27 + //SEG297 [162] phi from init_plot_tables to init_plot_tables::@1 [phi:init_plot_tables->init_plot_tables::@1] b1_from_init_plot_tables: - //SEG164 [92] phi (byte) init_plot_tables::bit#3 = (byte) 128 [phi:init_plot_tables->init_plot_tables::@1#0] -- yby=coby1 + //SEG298 [162] phi (byte) init_plot_tables::bit#3 = (byte) 128 [phi:init_plot_tables->init_plot_tables::@1#0] -- yby=coby1 ldy #$80 - //SEG165 [92] phi (byte) init_plot_tables::x#2 = (byte) 0 [phi:init_plot_tables->init_plot_tables::@1#1] -- xby=coby1 + //SEG299 [162] phi (byte) init_plot_tables::x#2 = (byte) 0 [phi:init_plot_tables->init_plot_tables::@1#1] -- xby=coby1 ldx #0 jmp b1 - //SEG166 [92] phi from init_plot_tables::@2 to init_plot_tables::@1 [phi:init_plot_tables::@2->init_plot_tables::@1] - //SEG167 [92] phi (byte) init_plot_tables::bit#3 = (byte) init_plot_tables::bit#4 [phi:init_plot_tables::@2->init_plot_tables::@1#0] -- register_copy - //SEG168 [92] 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 - //SEG169 init_plot_tables::@1 + //SEG300 [162] phi from init_plot_tables::@2 to init_plot_tables::@1 [phi:init_plot_tables::@2->init_plot_tables::@1] + //SEG301 [162] phi (byte) init_plot_tables::bit#3 = (byte) init_plot_tables::bit#4 [phi:init_plot_tables::@2->init_plot_tables::@1#0] -- register_copy + //SEG302 [162] 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 + //SEG303 init_plot_tables::@1 b1: - //SEG170 [93] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bit#3 init_plot_tables::$0 ] -- aby=xby_band_coby1 + //SEG304 [163] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bit#3 init_plot_tables::$0 ] -- aby=xby_band_coby1 txa and #$f8 - //SEG171 [94] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_xby=aby + //SEG305 [164] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_xby=aby sta plot_xlo,x - //SEG172 [95] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_xby=coby2 + //SEG306 [165] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_xby=coby2 lda #>BITMAP sta plot_xhi,x - //SEG173 [96] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bit#3 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_xby=yby + //SEG307 [166] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bit#3 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_xby=yby tya sta plot_bit,x - //SEG174 [97] (byte) init_plot_tables::bit#1 ← (byte) init_plot_tables::bit#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bit#1 ] -- yby=yby_ror_1 + //SEG308 [167] (byte) init_plot_tables::bit#1 ← (byte) init_plot_tables::bit#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bit#1 ] -- yby=yby_ror_1 tya lsr tay - //SEG175 [98] if((byte) init_plot_tables::bit#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] -- yby_neq_0_then_la1 + //SEG309 [168] if((byte) init_plot_tables::bit#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] -- yby_neq_0_then_la1 cpy #0 bne b10 - //SEG176 [99] phi from init_plot_tables::@1 to init_plot_tables::@2 [phi:init_plot_tables::@1->init_plot_tables::@2] + //SEG310 [169] phi from init_plot_tables::@1 to init_plot_tables::@2 [phi:init_plot_tables::@1->init_plot_tables::@2] b2_from_b1: - //SEG177 [99] phi (byte) init_plot_tables::bit#4 = (byte) 128 [phi:init_plot_tables::@1->init_plot_tables::@2#0] -- yby=coby1 + //SEG311 [169] phi (byte) init_plot_tables::bit#4 = (byte) 128 [phi:init_plot_tables::@1->init_plot_tables::@2#0] -- yby=coby1 ldy #$80 - //SEG178 init_plot_tables::@2 + //SEG312 init_plot_tables::@2 b2: - //SEG179 [100] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bit#4 ] -- xby=_inc_xby + //SEG313 [170] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bit#4 ] -- xby=_inc_xby inx - //SEG180 [101] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bit#4 ] -- xby_neq_0_then_la1 + //SEG314 [171] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bit#4 ] -- xby_neq_0_then_la1 cpx #0 bne b1 - //SEG181 [102] phi from init_plot_tables::@2 to init_plot_tables::@3 [phi:init_plot_tables::@2->init_plot_tables::@3] + //SEG315 [172] phi from init_plot_tables::@2 to init_plot_tables::@3 [phi:init_plot_tables::@2->init_plot_tables::@3] b3_from_b2: - //SEG182 [102] phi (byte*) init_plot_tables::yoffs#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#0] -- zpptrby1=coby1 + //SEG316 [172] phi (byte*) init_plot_tables::yoffs#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#0] -- zpptrby1=coby1 lda #0 sta yoffs sta yoffs+1 - //SEG183 [102] phi (byte) init_plot_tables::y#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#1] -- xby=coby1 + //SEG317 [172] phi (byte) init_plot_tables::y#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#1] -- xby=coby1 ldx #0 jmp b3 - //SEG184 [102] phi from init_plot_tables::@4 to init_plot_tables::@3 [phi:init_plot_tables::@4->init_plot_tables::@3] - //SEG185 [102] 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 - //SEG186 [102] 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 - //SEG187 init_plot_tables::@3 + //SEG318 [172] phi from init_plot_tables::@4 to init_plot_tables::@3 [phi:init_plot_tables::@4->init_plot_tables::@3] + //SEG319 [172] 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 + //SEG320 [172] 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 + //SEG321 init_plot_tables::@3 b3: - //SEG188 [103] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] -- zpby1=xby_band_coby1 + //SEG322 [173] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] -- zpby1=xby_band_coby1 txa and #7 sta _6 - //SEG189 [104] (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 ] -- aby=_lo_zpptrby1 + //SEG323 [174] (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 ] -- aby=_lo_zpptrby1 lda yoffs - //SEG190 [105] (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 ] -- aby=zpby1_bor_aby + //SEG324 [175] (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 ] -- aby=zpby1_bor_aby ora _6 - //SEG191 [106] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- cowo1_staridx_xby=aby + //SEG325 [176] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- cowo1_staridx_xby=aby sta plot_ylo,x - //SEG192 [107] (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 ] -- aby=_hi_zpptrby1 + //SEG326 [177] (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 ] -- aby=_hi_zpptrby1 lda yoffs+1 - //SEG193 [108] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- cowo1_staridx_xby=aby + //SEG327 [178] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- cowo1_staridx_xby=aby sta plot_yhi,x - //SEG194 [109] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] -- aby=xby_band_coby1 + //SEG328 [179] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] -- aby=xby_band_coby1 txa and #7 - //SEG195 [110] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- aby_neq_coby1_then_la1 + //SEG329 [180] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- aby_neq_coby1_then_la1 cmp #7 bne b4 - //SEG196 init_plot_tables::@7 + //SEG330 init_plot_tables::@7 b7: - //SEG197 [111] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] -- zpptrby1=zpptrby1_plus_cowo1 + //SEG331 [181] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] -- zpptrby1=zpptrby1_plus_cowo1 lda yoffs clc adc #<$140 @@ -12642,92 +19748,92 @@ init_plot_tables: { lda yoffs+1 adc #>$140 sta yoffs+1 - //SEG198 [112] 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] - //SEG199 [112] 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 - //SEG200 init_plot_tables::@4 + //SEG332 [182] 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] + //SEG333 [182] 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 + //SEG334 init_plot_tables::@4 b4: - //SEG201 [113] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] -- xby=_inc_xby + //SEG335 [183] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] -- xby=_inc_xby inx - //SEG202 [114] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] -- xby_neq_0_then_la1 + //SEG336 [184] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] -- xby_neq_0_then_la1 cpx #0 bne b3 - //SEG203 init_plot_tables::@return + //SEG337 init_plot_tables::@return breturn: - //SEG204 [115] return [ ] + //SEG338 [185] return [ ] rts - //SEG205 init_plot_tables::@10 + //SEG339 init_plot_tables::@10 b10: - //SEG206 [99] phi from init_plot_tables::@10 to init_plot_tables::@2 [phi:init_plot_tables::@10->init_plot_tables::@2] - //SEG207 [99] phi (byte) init_plot_tables::bit#4 = (byte) init_plot_tables::bit#1 [phi:init_plot_tables::@10->init_plot_tables::@2#0] -- register_copy + //SEG340 [169] phi from init_plot_tables::@10 to init_plot_tables::@2 [phi:init_plot_tables::@10->init_plot_tables::@2] + //SEG341 [169] phi (byte) init_plot_tables::bit#4 = (byte) init_plot_tables::bit#1 [phi:init_plot_tables::@10->init_plot_tables::@2#0] -- register_copy jmp b2 } -//SEG208 init_screen +//SEG342 init_screen init_screen: { - .label b = 6 - .label c = 6 - //SEG209 [117] phi from init_screen to init_screen::@1 [phi:init_screen->init_screen::@1] + .label b = 27 + .label c = 27 + //SEG343 [187] phi from init_screen to init_screen::@1 [phi:init_screen->init_screen::@1] b1_from_init_screen: - //SEG210 [117] phi (byte*) init_screen::b#2 = (const byte*) BITMAP#0 [phi:init_screen->init_screen::@1#0] -- zpptrby1=cowo1 + //SEG344 [187] phi (byte*) init_screen::b#2 = (const byte*) BITMAP#0 [phi:init_screen->init_screen::@1#0] -- zpptrby1=cowo1 lda #BITMAP sta b+1 jmp b1 - //SEG211 [117] phi from init_screen::@1 to init_screen::@1 [phi:init_screen::@1->init_screen::@1] - //SEG212 [117] phi (byte*) init_screen::b#2 = (byte*) init_screen::b#1 [phi:init_screen::@1->init_screen::@1#0] -- register_copy - //SEG213 init_screen::@1 + //SEG345 [187] phi from init_screen::@1 to init_screen::@1 [phi:init_screen::@1->init_screen::@1] + //SEG346 [187] phi (byte*) init_screen::b#2 = (byte*) init_screen::b#1 [phi:init_screen::@1->init_screen::@1#0] -- register_copy + //SEG347 init_screen::@1 b1: - //SEG214 [118] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] -- _star_zpptrby1=coby1 + //SEG348 [188] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] -- _star_zpptrby1=coby1 ldy #0 lda #0 sta (b),y - //SEG215 [119] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] -- zpptrby1=_inc_zpptrby1 + //SEG349 [189] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] -- zpptrby1=_inc_zpptrby1 inc b bne !+ inc b+1 !: - //SEG216 [120] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] -- zpptrby1_neq_cowo1_then_la1 + //SEG350 [190] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] -- zpptrby1_neq_cowo1_then_la1 lda b+1 cmp #>BITMAP+$2000 bne b1 lda b cmp #init_screen::@2] + //SEG351 [191] phi from init_screen::@1 to init_screen::@2 [phi:init_screen::@1->init_screen::@2] b2_from_b1: - //SEG218 [121] phi (byte*) init_screen::c#2 = (const byte*) SCREEN#0 [phi:init_screen::@1->init_screen::@2#0] -- zpptrby1=cowo1 + //SEG352 [191] phi (byte*) init_screen::c#2 = (const byte*) SCREEN#0 [phi:init_screen::@1->init_screen::@2#0] -- zpptrby1=cowo1 lda #SCREEN sta c+1 jmp b2 - //SEG219 [121] phi from init_screen::@2 to init_screen::@2 [phi:init_screen::@2->init_screen::@2] - //SEG220 [121] phi (byte*) init_screen::c#2 = (byte*) init_screen::c#1 [phi:init_screen::@2->init_screen::@2#0] -- register_copy - //SEG221 init_screen::@2 + //SEG353 [191] phi from init_screen::@2 to init_screen::@2 [phi:init_screen::@2->init_screen::@2] + //SEG354 [191] phi (byte*) init_screen::c#2 = (byte*) init_screen::c#1 [phi:init_screen::@2->init_screen::@2#0] -- register_copy + //SEG355 init_screen::@2 b2: - //SEG222 [122] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] -- _star_zpptrby1=coby1 + //SEG356 [192] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] -- _star_zpptrby1=coby1 ldy #0 lda #$14 sta (c),y - //SEG223 [123] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] -- zpptrby1=_inc_zpptrby1 + //SEG357 [193] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] -- zpptrby1=_inc_zpptrby1 inc c bne !+ inc c+1 !: - //SEG224 [124] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] -- zpptrby1_neq_cowo1_then_la1 + //SEG358 [194] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] -- zpptrby1_neq_cowo1_then_la1 lda c+1 cmp #>SCREEN+$400 bne b2 lda c cmp #init_screen] + //SEG11 [186] phi from main to init_screen [phi:main->init_screen] jsr init_screen //SEG12 main::@3 //SEG13 [6] call init_plot_tables param-assignment [ ] - //SEG14 [91] phi from main::@3 to init_plot_tables [phi:main::@3->init_plot_tables] + //SEG14 [161] phi from main::@3 to init_plot_tables [phi:main::@3->init_plot_tables] jsr init_plot_tables //SEG15 main::@1 b1: @@ -12861,13 +19978,13 @@ lines: { tax //SEG32 [16] (byte) line::x0#0 ← (byte~) lines::$0 [ lines::l#2 lines::$2 lines::$3 lines::$5 line::x0#0 ] -- zpby1=yby sty line.x0 - //SEG33 [17] (byte) line::x1#0 ← (byte~) lines::$2 [ lines::l#2 lines::$3 lines::$5 line::x0#0 line::x1#0 ] -- zpby1=zpby2 - lda _2 - sta line.x1 - //SEG34 [18] (byte) line::y0#0 ← (byte~) lines::$3 [ lines::l#2 lines::$5 line::x0#0 line::x1#0 line::y0#0 ] -- yby=zpby1 - ldy _3 - //SEG35 [19] (byte) line::y1#0 ← (byte~) lines::$5 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] -- zpby1=xby - stx line.y1 + //SEG33 [17] (byte) line::x1#0 ← (byte~) lines::$2 [ lines::l#2 lines::$3 lines::$5 line::x0#0 line::x1#0 ] -- yby=zpby1 + ldy _2 + //SEG34 [18] (byte) line::y0#0 ← (byte~) lines::$3 [ lines::l#2 lines::$5 line::x0#0 line::x1#0 line::y0#0 ] -- zpby1=zpby2 + lda _3 + sta line.y0 + //SEG35 [19] (byte) line::y1#0 ← (byte~) lines::$5 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] + // (byte) line::y1#0 = (byte~) lines::$5 // register copy reg byte x //SEG36 [20] call line param-assignment [ lines::l#2 ] jsr line //SEG37 lines::@3 @@ -12884,175 +20001,360 @@ lines: { //SEG42 line line: { .label x0 = 5 - .label x1 = 8 - .label y1 = 9 - .label xd = 10 - //SEG43 [24] if((byte) line::x0#0>=(byte) line::x1#0) goto line::@1 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] -- zpby1_ge_zpby2_then_la1 - lda x0 - cmp x1 - bcs b1 - //SEG44 line::@9 - //SEG45 [25] (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 ] -- zpby1=zpby2_minus_zpby3 - lda x1 + .label y0 = 3 + .label xd = 8 + .label yd = 4 + //SEG43 [24] if((byte) line::x0#0>=(byte) line::x1#0) goto line::@1 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] -- zpby1_ge_yby_then_la1 + cpy x0 + bcc b1 + //SEG44 line::@15 + //SEG45 [25] (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 ] -- zpby1=yby_minus_zpby2 + tya sec sbc x0 sta xd - //SEG46 [26] 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 ] -- yby_ge_zpby1_then_la1 - cpy y1 - bcs b2 - //SEG47 line::@10 - //SEG48 [27] (byte) line::yd#0 ← (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#0 ] -- xby=zpby1_minus_yby - sty $ff - lda y1 + //SEG46 [26] 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 ] -- zpby1_ge_xby_then_la1 + cpx y0 + bcc b2 + //SEG47 line::@16 + //SEG48 [27] (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 ] -- zpby1=xby_minus_zpby2 + txa sec - sbc $ff - tax - //SEG49 [28] if((byte) line::yd#0>=(byte) line::xd#1) goto line::@3 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#0 ] -- xby_ge_zpby1_then_la1 - cpx xd + sbc y0 + sta yd + //SEG49 [28] 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 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp xd bcs b3 - //SEG50 line::@11 - //SEG51 [29] (byte) line_xdyi::x#0 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::xd#1 line::yd#0 line_xdyi::x#0 ] -- zpby1=zpby2 + //SEG50 line::@17 + //SEG51 [29] (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 ] -- zpby1=zpby2 lda x0 sta line_xdyi.x - //SEG52 [30] (byte) line_xdyi::y#0 ← (byte) line::y0#0 [ line::x1#0 line::xd#1 line::yd#0 line_xdyi::x#0 line_xdyi::y#0 ] -- zpby1=yby - sty line_xdyi.y - //SEG53 [31] (byte) line_xdyi::x1#0 ← (byte) line::x1#0 [ line::xd#1 line::yd#0 line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 ] -- zpby1=zpby2 - lda x1 - sta line_xdyi.x1 - //SEG54 [32] (byte) line_xdyi::xd#0 ← (byte) line::xd#1 [ line::yd#0 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:10 - //SEG55 [33] (byte) line_xdyi::yd#0 ← (byte) line::yd#0 [ line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 ] -- zpby1=xby - stx line_xdyi.yd + //SEG52 [30] (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 ] -- zpby1=zpby2 + lda y0 + sta line_xdyi.y + //SEG53 [31] (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 ] -- zpby1=yby + sty line_xdyi.x1 + //SEG54 [32] (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 ] -- zpby1=zpby2 + lda xd + sta line_xdyi.xd + //SEG55 [33] (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 ] -- zpby1=zpby2 + lda yd + sta line_xdyi.yd //SEG56 [34] call line_xdyi param-assignment [ ] + //SEG57 [116] phi from line::@17 to line_xdyi [phi:line::@17->line_xdyi] + //SEG58 [116] phi (byte) line_xdyi::x1#6 = (byte) line_xdyi::x1#0 [phi:line::@17->line_xdyi#0] -- register_copy + //SEG59 [116] phi (byte) line_xdyi::xd#5 = (byte) line_xdyi::xd#0 [phi:line::@17->line_xdyi#1] -- register_copy + //SEG60 [116] phi (byte) line_xdyi::y#5 = (byte) line_xdyi::y#0 [phi:line::@17->line_xdyi#2] -- register_copy + //SEG61 [116] phi (byte) line_xdyi::x#6 = (byte) line_xdyi::x#0 [phi:line::@17->line_xdyi#3] -- register_copy + //SEG62 [116] phi (byte) line_xdyi::yd#2 = (byte) line_xdyi::yd#0 [phi:line::@17->line_xdyi#4] -- register_copy jsr line_xdyi - //SEG57 line::@return + //SEG63 line::@return breturn: - //SEG58 [35] return [ ] + //SEG64 [35] return [ ] rts - //SEG59 line::@3 + //SEG65 line::@3 b3: - //SEG60 [36] (byte) plot::x#2 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#2 ] -- xby=zpby1 - ldx x0 - //SEG61 [37] (byte) plot::y#2 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#2 plot::y#2 ] - // (byte) plot::y#2 = (byte) line::y0#0 // register copy reg byte y - //SEG62 [38] call plot param-assignment [ line::x1#0 line::y1#0 ] - //SEG63 [62] phi from line::@3 to plot [phi:line::@3->plot] - //SEG64 [62] phi (byte) plot::y#9 = (byte) plot::y#2 [phi:line::@3->plot#0] -- register_copy - //SEG65 [62] phi (byte) plot::x#9 = (byte) plot::x#2 [phi:line::@3->plot#1] -- register_copy - jsr plot - //SEG66 line::@19 - //SEG67 [39] (byte) plot::x#3 ← (byte) line::x1#0 [ line::y1#0 plot::x#3 ] -- xby=zpby1 - ldx x1 - //SEG68 [40] (byte) plot::y#3 ← (byte) line::y1#0 [ plot::x#3 plot::y#3 ] -- yby=zpby1 - ldy y1 - //SEG69 [41] call plot param-assignment [ ] - //SEG70 [62] phi from line::@19 to plot [phi:line::@19->plot] - //SEG71 [62] phi (byte) plot::y#9 = (byte) plot::y#3 [phi:line::@19->plot#0] -- register_copy - //SEG72 [62] phi (byte) plot::x#9 = (byte) plot::x#3 [phi:line::@19->plot#1] -- register_copy - jsr plot + //SEG66 [36] (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 ] -- zpby1=zpby2 + lda y0 + sta line_ydxi.y + //SEG67 [37] (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 ] -- zpby1=zpby2 + lda x0 + sta line_ydxi.x + //SEG68 [38] (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 ] -- zpby1=xby + stx line_ydxi.y1 + //SEG69 [39] (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 ] + // (byte) line_ydxi::yd#0 = (byte) line::yd#1 // register copy zp ZP_BYTE:4 + //SEG70 [40] (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 ] -- zpby1=zpby2 + lda xd + sta line_ydxi.xd + //SEG71 [41] call line_ydxi param-assignment [ ] + //SEG72 [86] phi from line::@3 to line_ydxi [phi:line::@3->line_ydxi] + //SEG73 [86] phi (byte) line_ydxi::y1#6 = (byte) line_ydxi::y1#0 [phi:line::@3->line_ydxi#0] -- register_copy + //SEG74 [86] phi (byte) line_ydxi::yd#5 = (byte) line_ydxi::yd#0 [phi:line::@3->line_ydxi#1] -- register_copy + //SEG75 [86] phi (byte) line_ydxi::y#6 = (byte) line_ydxi::y#0 [phi:line::@3->line_ydxi#2] -- register_copy + //SEG76 [86] phi (byte) line_ydxi::x#5 = (byte) line_ydxi::x#0 [phi:line::@3->line_ydxi#3] -- register_copy + //SEG77 [86] phi (byte) line_ydxi::xd#2 = (byte) line_ydxi::xd#0 [phi:line::@3->line_ydxi#4] -- register_copy + jsr line_ydxi jmp breturn - //SEG73 line::@2 + //SEG78 line::@2 b2: - //SEG74 [42] (byte) plot::x#0 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#0 ] -- xby=zpby1 - ldx x0 - //SEG75 [43] (byte) plot::y#0 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#0 plot::y#0 ] - // (byte) plot::y#0 = (byte) line::y0#0 // register copy reg byte y - //SEG76 [44] call plot param-assignment [ line::x1#0 line::y1#0 ] - //SEG77 [62] phi from line::@2 to plot [phi:line::@2->plot] - //SEG78 [62] phi (byte) plot::y#9 = (byte) plot::y#0 [phi:line::@2->plot#0] -- register_copy - //SEG79 [62] phi (byte) plot::x#9 = (byte) plot::x#0 [phi:line::@2->plot#1] -- register_copy - jsr plot - //SEG80 line::@17 - //SEG81 [45] (byte) plot::x#1 ← (byte) line::x1#0 [ line::y1#0 plot::x#1 ] -- xby=zpby1 - ldx x1 - //SEG82 [46] (byte) plot::y#1 ← (byte) line::y1#0 [ plot::x#1 plot::y#1 ] -- yby=zpby1 - ldy y1 - //SEG83 [47] call plot param-assignment [ ] - //SEG84 [62] phi from line::@17 to plot [phi:line::@17->plot] - //SEG85 [62] phi (byte) plot::y#9 = (byte) plot::y#1 [phi:line::@17->plot#0] -- register_copy - //SEG86 [62] phi (byte) plot::x#9 = (byte) plot::x#1 [phi:line::@17->plot#1] -- register_copy - jsr plot - jmp breturn - //SEG87 line::@1 - b1: - //SEG88 [48] (byte) line::xd#0 ← (byte) line::x1#0 - (byte) line::x0#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] -- aby=zpby1_minus_zpby2 - lda x1 + //SEG79 [42] (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 ] -- zpby1=zpby2_minus_xby + stx $ff + lda y0 sec - sbc x0 - //SEG89 [49] if((byte) line::y0#0>=(byte) line::y1#0) goto line::@7 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] -- yby_ge_zpby1_then_la1 - cpy y1 - bcs b7 - //SEG90 line::@15 - //SEG91 [50] (byte) plot::x#6 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#6 ] -- xby=zpby1 - ldx x0 - //SEG92 [51] (byte) plot::y#6 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#6 plot::y#6 ] - // (byte) plot::y#6 = (byte) line::y0#0 // register copy reg byte y - //SEG93 [52] call plot param-assignment [ line::x1#0 line::y1#0 ] - //SEG94 [62] phi from line::@15 to plot [phi:line::@15->plot] - //SEG95 [62] phi (byte) plot::y#9 = (byte) plot::y#6 [phi:line::@15->plot#0] -- register_copy - //SEG96 [62] phi (byte) plot::x#9 = (byte) plot::x#6 [phi:line::@15->plot#1] -- register_copy - jsr plot - //SEG97 line::@24 - //SEG98 [53] (byte) plot::x#7 ← (byte) line::x1#0 [ line::y1#0 plot::x#7 ] -- xby=zpby1 - ldx x1 - //SEG99 [54] (byte) plot::y#7 ← (byte) line::y1#0 [ plot::x#7 plot::y#7 ] -- yby=zpby1 - ldy y1 - //SEG100 [55] call plot param-assignment [ ] - //SEG101 [62] phi from line::@24 to plot [phi:line::@24->plot] - //SEG102 [62] phi (byte) plot::y#9 = (byte) plot::y#7 [phi:line::@24->plot#0] -- register_copy - //SEG103 [62] phi (byte) plot::x#9 = (byte) plot::x#7 [phi:line::@24->plot#1] -- register_copy - jsr plot + sbc $ff + sta yd + //SEG80 [43] 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 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp xd + bcs b6 + //SEG81 line::@20 + //SEG82 [44] (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 ] -- zpby1=zpby2 + lda x0 + sta line_xdyd.x + //SEG83 [45] (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 ] -- zpby1=zpby2 + lda y0 + sta line_xdyd.y + //SEG84 [46] (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 ] -- zpby1=yby + sty line_xdyd.x1 + //SEG85 [47] (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 ] -- zpby1=zpby2 + lda xd + sta line_xdyd.xd + //SEG86 [48] (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 ] -- zpby1=zpby2 + lda yd + sta line_xdyd.yd + //SEG87 [49] call line_xdyd param-assignment [ ] + //SEG88 [146] phi from line::@20 to line_xdyd [phi:line::@20->line_xdyd] + //SEG89 [146] phi (byte) line_xdyd::x1#6 = (byte) line_xdyd::x1#0 [phi:line::@20->line_xdyd#0] -- register_copy + //SEG90 [146] phi (byte) line_xdyd::xd#5 = (byte) line_xdyd::xd#0 [phi:line::@20->line_xdyd#1] -- register_copy + //SEG91 [146] phi (byte) line_xdyd::y#5 = (byte) line_xdyd::y#0 [phi:line::@20->line_xdyd#2] -- register_copy + //SEG92 [146] phi (byte) line_xdyd::x#6 = (byte) line_xdyd::x#0 [phi:line::@20->line_xdyd#3] -- register_copy + //SEG93 [146] phi (byte) line_xdyd::yd#2 = (byte) line_xdyd::yd#0 [phi:line::@20->line_xdyd#4] -- register_copy + jsr line_xdyd jmp breturn - //SEG104 line::@7 - b7: - //SEG105 [56] (byte) plot::x#4 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#4 ] -- xby=zpby1 - ldx x0 - //SEG106 [57] (byte) plot::y#4 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#4 plot::y#4 ] - // (byte) plot::y#4 = (byte) line::y0#0 // register copy reg byte y - //SEG107 [58] call plot param-assignment [ line::x1#0 line::y1#0 ] - //SEG108 [62] phi from line::@7 to plot [phi:line::@7->plot] - //SEG109 [62] phi (byte) plot::y#9 = (byte) plot::y#4 [phi:line::@7->plot#0] -- register_copy - //SEG110 [62] phi (byte) plot::x#9 = (byte) plot::x#4 [phi:line::@7->plot#1] -- register_copy - jsr plot - //SEG111 line::@22 - //SEG112 [59] (byte) plot::x#5 ← (byte) line::x1#0 [ line::y1#0 plot::x#5 ] -- xby=zpby1 - ldx x1 - //SEG113 [60] (byte) plot::y#5 ← (byte) line::y1#0 [ plot::x#5 plot::y#5 ] -- yby=zpby1 - ldy y1 - //SEG114 [61] call plot param-assignment [ ] - //SEG115 [62] phi from line::@22 to plot [phi:line::@22->plot] - //SEG116 [62] phi (byte) plot::y#9 = (byte) plot::y#5 [phi:line::@22->plot#0] -- register_copy - //SEG117 [62] phi (byte) plot::x#9 = (byte) plot::x#5 [phi:line::@22->plot#1] -- register_copy - jsr plot + //SEG94 line::@6 + b6: + //SEG95 [50] (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 ] -- zpby1=xby + stx line_ydxd.y + //SEG96 [51] (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 ] -- zpby1=yby + sty line_ydxd.x + //SEG97 [52] (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 ] -- zpby1=zpby2 + lda y0 + sta line_ydxd.y1 + //SEG98 [53] (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 ] -- zpby1=zpby2 + lda yd + sta line_ydxd.yd + //SEG99 [54] (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 ] -- zpby1=zpby2 + lda xd + sta line_ydxd.xd + //SEG100 [55] call line_ydxd param-assignment [ ] + //SEG101 [131] phi from line::@6 to line_ydxd [phi:line::@6->line_ydxd] + //SEG102 [131] phi (byte) line_ydxd::y1#6 = (byte) line_ydxd::y1#0 [phi:line::@6->line_ydxd#0] -- register_copy + //SEG103 [131] phi (byte) line_ydxd::yd#5 = (byte) line_ydxd::yd#0 [phi:line::@6->line_ydxd#1] -- register_copy + //SEG104 [131] phi (byte) line_ydxd::y#6 = (byte) line_ydxd::y#0 [phi:line::@6->line_ydxd#2] -- register_copy + //SEG105 [131] phi (byte) line_ydxd::x#5 = (byte) line_ydxd::x#0 [phi:line::@6->line_ydxd#3] -- register_copy + //SEG106 [131] phi (byte) line_ydxd::xd#2 = (byte) line_ydxd::xd#0 [phi:line::@6->line_ydxd#4] -- register_copy + jsr line_ydxd + jmp breturn + //SEG107 line::@1 + b1: + //SEG108 [56] (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 ] -- zpby1=zpby2_minus_yby + sty $ff + lda x0 + sec + sbc $ff + sta xd + //SEG109 [57] 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 ] -- zpby1_ge_xby_then_la1 + cpx y0 + bcc b9 + //SEG110 line::@23 + //SEG111 [58] (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 ] -- zpby1=xby_minus_zpby2 + txa + sec + sbc y0 + sta yd + //SEG112 [59] 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 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp xd + bcs b10 + //SEG113 line::@24 + //SEG114 [60] (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 ] -- zpby1=yby + sty line_xdyd.x + //SEG115 [61] (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 ] -- zpby1=xby + stx line_xdyd.y + //SEG116 [62] (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 ] -- zpby1=zpby2 + lda x0 + sta line_xdyd.x1 + //SEG117 [63] (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 ] -- zpby1=zpby2 + lda xd + sta line_xdyd.xd + //SEG118 [64] (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 ] -- zpby1=zpby2 + lda yd + sta line_xdyd.yd + //SEG119 [65] call line_xdyd param-assignment [ ] + //SEG120 [146] phi from line::@24 to line_xdyd [phi:line::@24->line_xdyd] + //SEG121 [146] phi (byte) line_xdyd::x1#6 = (byte) line_xdyd::x1#1 [phi:line::@24->line_xdyd#0] -- register_copy + //SEG122 [146] phi (byte) line_xdyd::xd#5 = (byte) line_xdyd::xd#1 [phi:line::@24->line_xdyd#1] -- register_copy + //SEG123 [146] phi (byte) line_xdyd::y#5 = (byte) line_xdyd::y#1 [phi:line::@24->line_xdyd#2] -- register_copy + //SEG124 [146] phi (byte) line_xdyd::x#6 = (byte) line_xdyd::x#1 [phi:line::@24->line_xdyd#3] -- register_copy + //SEG125 [146] phi (byte) line_xdyd::yd#2 = (byte) line_xdyd::yd#1 [phi:line::@24->line_xdyd#4] -- register_copy + jsr line_xdyd + jmp breturn + //SEG126 line::@10 + b10: + //SEG127 [66] (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 ] -- zpby1=zpby2 + lda y0 + sta line_ydxd.y + //SEG128 [67] (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 ] -- zpby1=zpby2 + lda x0 + sta line_ydxd.x + //SEG129 [68] (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 ] -- zpby1=xby + stx line_ydxd.y1 + //SEG130 [69] (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 ] -- zpby1=zpby2 + lda yd + sta line_ydxd.yd + //SEG131 [70] (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 ] -- zpby1=zpby2 + lda xd + sta line_ydxd.xd + //SEG132 [71] call line_ydxd param-assignment [ ] + //SEG133 [131] phi from line::@10 to line_ydxd [phi:line::@10->line_ydxd] + //SEG134 [131] phi (byte) line_ydxd::y1#6 = (byte) line_ydxd::y1#1 [phi:line::@10->line_ydxd#0] -- register_copy + //SEG135 [131] phi (byte) line_ydxd::yd#5 = (byte) line_ydxd::yd#1 [phi:line::@10->line_ydxd#1] -- register_copy + //SEG136 [131] phi (byte) line_ydxd::y#6 = (byte) line_ydxd::y#1 [phi:line::@10->line_ydxd#2] -- register_copy + //SEG137 [131] phi (byte) line_ydxd::x#5 = (byte) line_ydxd::x#1 [phi:line::@10->line_ydxd#3] -- register_copy + //SEG138 [131] phi (byte) line_ydxd::xd#2 = (byte) line_ydxd::xd#1 [phi:line::@10->line_ydxd#4] -- register_copy + jsr line_ydxd + jmp breturn + //SEG139 line::@9 + b9: + //SEG140 [72] (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 ] -- zpby1=zpby2_minus_xby + stx $ff + lda y0 + sec + sbc $ff + sta yd + //SEG141 [73] 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 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp xd + bcs b13 + //SEG142 line::@27 + //SEG143 [74] (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 ] -- zpby1=yby + sty line_xdyi.x + //SEG144 [75] (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 ] -- zpby1=xby + stx line_xdyi.y + //SEG145 [76] (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 ] -- zpby1=zpby2 + lda x0 + sta line_xdyi.x1 + //SEG146 [77] (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 ] -- zpby1=zpby2 + lda xd + sta line_xdyi.xd + //SEG147 [78] (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 ] -- zpby1=zpby2 + lda yd + sta line_xdyi.yd + //SEG148 [79] call line_xdyi param-assignment [ ] + //SEG149 [116] phi from line::@27 to line_xdyi [phi:line::@27->line_xdyi] + //SEG150 [116] phi (byte) line_xdyi::x1#6 = (byte) line_xdyi::x1#1 [phi:line::@27->line_xdyi#0] -- register_copy + //SEG151 [116] phi (byte) line_xdyi::xd#5 = (byte) line_xdyi::xd#1 [phi:line::@27->line_xdyi#1] -- register_copy + //SEG152 [116] phi (byte) line_xdyi::y#5 = (byte) line_xdyi::y#1 [phi:line::@27->line_xdyi#2] -- register_copy + //SEG153 [116] phi (byte) line_xdyi::x#6 = (byte) line_xdyi::x#1 [phi:line::@27->line_xdyi#3] -- register_copy + //SEG154 [116] phi (byte) line_xdyi::yd#2 = (byte) line_xdyi::yd#1 [phi:line::@27->line_xdyi#4] -- register_copy + jsr line_xdyi + jmp breturn + //SEG155 line::@13 + b13: + //SEG156 [80] (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 ] -- zpby1=xby + stx line_ydxi.y + //SEG157 [81] (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 ] -- zpby1=yby + sty line_ydxi.x + //SEG158 [82] (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 ] -- zpby1=zpby2 + lda y0 + sta line_ydxi.y1 + //SEG159 [83] (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 ] + // (byte) line_ydxi::yd#1 = (byte) line::yd#10 // register copy zp ZP_BYTE:4 + //SEG160 [84] (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 ] -- zpby1=zpby2 + lda xd + sta line_ydxi.xd + //SEG161 [85] call line_ydxi param-assignment [ ] + //SEG162 [86] phi from line::@13 to line_ydxi [phi:line::@13->line_ydxi] + //SEG163 [86] phi (byte) line_ydxi::y1#6 = (byte) line_ydxi::y1#1 [phi:line::@13->line_ydxi#0] -- register_copy + //SEG164 [86] phi (byte) line_ydxi::yd#5 = (byte) line_ydxi::yd#1 [phi:line::@13->line_ydxi#1] -- register_copy + //SEG165 [86] phi (byte) line_ydxi::y#6 = (byte) line_ydxi::y#1 [phi:line::@13->line_ydxi#2] -- register_copy + //SEG166 [86] phi (byte) line_ydxi::x#5 = (byte) line_ydxi::x#1 [phi:line::@13->line_ydxi#3] -- register_copy + //SEG167 [86] phi (byte) line_ydxi::xd#2 = (byte) line_ydxi::xd#1 [phi:line::@13->line_ydxi#4] -- register_copy + jsr line_ydxi jmp breturn } -//SEG118 plot +//SEG168 line_ydxi +line_ydxi: { + .label y = 7 + .label x = 6 + .label y1 = 5 + .label yd = 4 + .label xd = 3 + .label e = 8 + //SEG169 [87] (byte) line_ydxi::e#0 ← (byte) line_ydxi::xd#2 >> (byte) 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 ] -- zpby1=zpby2_ror_1 + lda xd + lsr + sta e + //SEG170 [88] phi from line_ydxi line_ydxi::@2 to line_ydxi::@1 [phi:line_ydxi/line_ydxi::@2->line_ydxi::@1] + //SEG171 [88] phi (byte) line_ydxi::e#3 = (byte) line_ydxi::e#0 [phi:line_ydxi/line_ydxi::@2->line_ydxi::@1#0] -- register_copy + //SEG172 [88] phi (byte) line_ydxi::y#3 = (byte) line_ydxi::y#6 [phi:line_ydxi/line_ydxi::@2->line_ydxi::@1#1] -- register_copy + //SEG173 [88] phi (byte) line_ydxi::x#3 = (byte) line_ydxi::x#5 [phi:line_ydxi/line_ydxi::@2->line_ydxi::@1#2] -- register_copy + //SEG174 line_ydxi::@1 + b1: + //SEG175 [89] (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 ] -- xby=zpby1 + ldx x + //SEG176 [90] (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 ] -- yby=zpby1 + ldy y + //SEG177 [91] 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 ] + //SEG178 [101] phi from line_ydxi::@1 to plot [phi:line_ydxi::@1->plot] + //SEG179 [101] phi (byte) plot::y#4 = (byte) plot::y#2 [phi:line_ydxi::@1->plot#0] -- register_copy + //SEG180 [101] phi (byte) plot::x#4 = (byte) plot::x#2 [phi:line_ydxi::@1->plot#1] -- register_copy + jsr plot + //SEG181 line_ydxi::@5 + //SEG182 [92] (byte) line_ydxi::y#2 ← (byte) line_ydxi::y#3 + (byte) 1 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::e#3 line_ydxi::y#2 ] -- zpby1=zpby1_plus_1 + inc y + //SEG183 [93] (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 ] -- zpby1=zpby1_plus_zpby2 + lda e + clc + adc xd + sta e + //SEG184 [94] 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 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp e + bcs b2 + //SEG185 line_ydxi::@3 + //SEG186 [95] (byte) line_ydxi::x#2 ← (byte) line_ydxi::x#3 + (byte) 1 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::e#1 line_ydxi::x#2 ] -- zpby1=zpby1_plus_1 + inc x + //SEG187 [96] (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 ] -- zpby1=zpby1_minus_zpby2 + lda e + sec + sbc yd + sta e + //SEG188 [97] phi from line_ydxi::@3 line_ydxi::@5 to line_ydxi::@2 [phi:line_ydxi::@3/line_ydxi::@5->line_ydxi::@2] + //SEG189 [97] phi (byte) line_ydxi::e#6 = (byte) line_ydxi::e#2 [phi:line_ydxi::@3/line_ydxi::@5->line_ydxi::@2#0] -- register_copy + //SEG190 [97] phi (byte) line_ydxi::x#6 = (byte) line_ydxi::x#2 [phi:line_ydxi::@3/line_ydxi::@5->line_ydxi::@2#1] -- register_copy + //SEG191 line_ydxi::@2 + b2: + //SEG192 [98] (byte~) line_ydxi::$8 ← (byte) line_ydxi::y1#6 + (byte) 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::$8 ] -- aby=zpby1_plus_1 + lda y1 + clc + adc #1 + //SEG193 [99] if((byte) line_ydxi::y#2<(byte~) line_ydxi::$8) 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 ] -- zpby1_lt_aby_then_la1 + cmp y + bcs b1 + //SEG194 line_ydxi::@return + //SEG195 [100] return [ ] + rts +} +//SEG196 plot plot: { - .label _5 = 15 - .label plotter_x = 6 - .label plotter_y = 13 - .label plotter = 6 - //SEG119 [63] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#9 [ plot::x#9 plot::y#9 plot::$0 ] -- aby=cowo1_staridx_xby + .label _5 = 31 + .label plotter_x = 27 + .label plotter_y = 29 + .label plotter = 27 + //SEG197 [102] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#4 [ plot::x#4 plot::y#4 plot::$0 ] -- aby=cowo1_staridx_xby lda plot_xhi,x - //SEG120 [64] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#9 plot::y#9 plot::plotter_x#1 ] -- zpptrby1=coby1_sethi_aby + //SEG198 [103] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#4 plot::y#4 plot::plotter_x#1 ] -- zpptrby1=coby1_sethi_aby sta plotter_x+1 lda #<0 sta plotter_x - //SEG121 [65] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#9 [ plot::x#9 plot::y#9 plot::plotter_x#1 plot::$1 ] -- aby=cowo1_staridx_xby + //SEG199 [104] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#4 [ plot::x#4 plot::y#4 plot::plotter_x#1 plot::$1 ] -- aby=cowo1_staridx_xby lda plot_xlo,x - //SEG122 [66] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#9 plot::y#9 plot::plotter_x#2 ] -- zpptrby1=zpptrby1_setlo_aby + //SEG200 [105] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#4 plot::y#4 plot::plotter_x#2 ] -- zpptrby1=zpptrby1_setlo_aby sta plotter_x - //SEG123 [67] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#9 [ plot::x#9 plot::y#9 plot::plotter_x#2 plot::$2 ] -- aby=cowo1_staridx_yby + //SEG201 [106] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#4 [ plot::x#4 plot::y#4 plot::plotter_x#2 plot::$2 ] -- aby=cowo1_staridx_yby lda plot_yhi,y - //SEG124 [68] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#9 plot::y#9 plot::plotter_x#2 plot::plotter_y#1 ] -- zpptrby1=coby1_sethi_aby + //SEG202 [107] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#4 plot::y#4 plot::plotter_x#2 plot::plotter_y#1 ] -- zpptrby1=coby1_sethi_aby sta plotter_y+1 lda #<0 sta plotter_y - //SEG125 [69] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#9 [ plot::x#9 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] -- aby=cowo1_staridx_yby + //SEG203 [108] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#4 [ plot::x#4 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] -- aby=cowo1_staridx_yby lda plot_ylo,y - //SEG126 [70] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#9 plot::plotter_x#2 plot::plotter_y#2 ] -- zpptrby1=zpptrby1_setlo_aby + //SEG204 [109] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#4 plot::plotter_x#2 plot::plotter_y#2 ] -- zpptrby1=zpptrby1_setlo_aby sta plotter_y - //SEG127 [71] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#9 plot::plotter#0 ] -- zpptrby1=zpptrby1_plus_zpptrby2 + //SEG205 [110] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#4 plot::plotter#0 ] -- zpptrby1=zpptrby1_plus_zpptrby2 lda plotter clc adc plotter_y @@ -13060,161 +20362,287 @@ plot: { lda plotter+1 adc plotter_y+1 sta plotter+1 - //SEG128 [72] (byte~) plot::$5 ← * (byte*) plot::plotter#0 [ plot::x#9 plot::plotter#0 plot::$5 ] -- zpby1=_star_zpptrby1 + //SEG206 [111] (byte~) plot::$5 ← * (byte*) plot::plotter#0 [ plot::x#4 plot::plotter#0 plot::$5 ] -- zpby1=_star_zpptrby1 ldy #0 lda (plotter),y sta _5 - //SEG129 [73] (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#9 [ plot::plotter#0 plot::$5 plot::$6 ] -- aby=cowo1_staridx_xby + //SEG207 [112] (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#4 [ plot::plotter#0 plot::$5 plot::$6 ] -- aby=cowo1_staridx_xby lda plot_bit,x - //SEG130 [74] (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 [ plot::plotter#0 plot::$7 ] -- aby=zpby1_bor_aby + //SEG208 [113] (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 [ plot::plotter#0 plot::$7 ] -- aby=zpby1_bor_aby ora _5 - //SEG131 [75] *((byte*) plot::plotter#0) ← (byte~) plot::$7 [ ] -- _star_zpptrby1=aby + //SEG209 [114] *((byte*) plot::plotter#0) ← (byte~) plot::$7 [ ] -- _star_zpptrby1=aby sta (plotter),y - //SEG132 plot::@return - //SEG133 [76] return [ ] + //SEG210 plot::@return + //SEG211 [115] return [ ] rts } -//SEG134 line_xdyi +//SEG212 line_xdyi line_xdyi: { - .label x = 3 - .label y = 4 + .label x = 12 + .label y = 13 .label x1 = 11 .label xd = 10 - .label yd = 12 - .label e = 5 - //SEG135 [77] (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#0 >> (byte) 1 [ line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::e#0 ] -- zpby1=zpby2_ror_1 + .label yd = 9 + .label e = 14 + //SEG213 [117] (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#2 >> (byte) 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 ] -- zpby1=zpby2_ror_1 lda yd lsr sta e - //SEG136 [78] phi from line_xdyi line_xdyi::@2 to line_xdyi::@1 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1] - //SEG137 [78] phi (byte) line_xdyi::e#3 = (byte) line_xdyi::e#0 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#0] -- register_copy - //SEG138 [78] phi (byte) line_xdyi::y#2 = (byte) line_xdyi::y#0 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#1] -- register_copy - //SEG139 [78] phi (byte) line_xdyi::x#2 = (byte) line_xdyi::x#0 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#2] -- register_copy - //SEG140 line_xdyi::@1 + //SEG214 [118] phi from line_xdyi line_xdyi::@2 to line_xdyi::@1 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1] + //SEG215 [118] phi (byte) line_xdyi::e#3 = (byte) line_xdyi::e#0 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#0] -- register_copy + //SEG216 [118] phi (byte) line_xdyi::y#3 = (byte) line_xdyi::y#5 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#1] -- register_copy + //SEG217 [118] phi (byte) line_xdyi::x#3 = (byte) line_xdyi::x#6 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#2] -- register_copy + //SEG218 line_xdyi::@1 b1: - //SEG141 [79] (byte) plot::x#8 ← (byte) line_xdyi::x#2 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 plot::x#8 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] -- xby=zpby1 + //SEG219 [119] (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 ] -- xby=zpby1 ldx x - //SEG142 [80] (byte) plot::y#8 ← (byte) line_xdyi::y#2 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 plot::x#8 plot::y#8 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] -- yby=zpby1 + //SEG220 [120] (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 ] -- yby=zpby1 ldy y - //SEG143 [81] call plot param-assignment [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] - //SEG144 [62] phi from line_xdyi::@1 to plot [phi:line_xdyi::@1->plot] - //SEG145 [62] phi (byte) plot::y#9 = (byte) plot::y#8 [phi:line_xdyi::@1->plot#0] -- register_copy - //SEG146 [62] phi (byte) plot::x#9 = (byte) plot::x#8 [phi:line_xdyi::@1->plot#1] -- register_copy + //SEG221 [121] 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 ] + //SEG222 [101] phi from line_xdyi::@1 to plot [phi:line_xdyi::@1->plot] + //SEG223 [101] phi (byte) plot::y#4 = (byte) plot::y#0 [phi:line_xdyi::@1->plot#0] -- register_copy + //SEG224 [101] phi (byte) plot::x#4 = (byte) plot::x#0 [phi:line_xdyi::@1->plot#1] -- register_copy jsr plot - //SEG147 line_xdyi::@5 - //SEG148 [82] (byte) line_xdyi::x#1 ← (byte) line_xdyi::x#2 + (byte) 1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::y#2 line_xdyi::e#3 line_xdyi::x#1 ] -- zpby1=zpby1_plus_1 + //SEG225 line_xdyi::@5 + //SEG226 [122] (byte) line_xdyi::x#2 ← (byte) line_xdyi::x#3 + (byte) 1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::e#3 line_xdyi::x#2 ] -- zpby1=zpby1_plus_1 inc x - //SEG149 [83] (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#0 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::y#2 line_xdyi::x#1 line_xdyi::e#1 ] -- zpby1=zpby1_plus_zpby2 + //SEG227 [123] (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 ] -- zpby1=zpby1_plus_zpby2 lda e clc adc yd sta e - //SEG150 [84] if((byte) line_xdyi::xd#0>=(byte) line_xdyi::e#1) goto line_xdyi::@2 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::y#2 line_xdyi::x#1 line_xdyi::e#1 ] -- zpby1_ge_zpby2_then_la1 + //SEG228 [124] 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 ] -- zpby1_ge_zpby2_then_la1 lda xd cmp e bcs b2 - //SEG151 line_xdyi::@3 - //SEG152 [85] (byte) line_xdyi::y#1 ← (byte) line_xdyi::y#2 + (byte) 1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::e#1 line_xdyi::y#1 ] -- zpby1=zpby1_plus_1 + //SEG229 line_xdyi::@3 + //SEG230 [125] (byte) line_xdyi::y#2 ← (byte) line_xdyi::y#3 + (byte) 1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::e#1 line_xdyi::y#2 ] -- zpby1=zpby1_plus_1 inc y - //SEG153 [86] (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#0 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#1 line_xdyi::e#2 ] -- zpby1=zpby1_minus_zpby2 + //SEG231 [126] (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 ] -- zpby1=zpby1_minus_zpby2 lda e sec sbc xd sta e - //SEG154 [87] phi from line_xdyi::@3 line_xdyi::@5 to line_xdyi::@2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2] - //SEG155 [87] phi (byte) line_xdyi::e#6 = (byte) line_xdyi::e#2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2#0] -- register_copy - //SEG156 [87] phi (byte) line_xdyi::y#5 = (byte) line_xdyi::y#1 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2#1] -- register_copy - //SEG157 line_xdyi::@2 + //SEG232 [127] phi from line_xdyi::@3 line_xdyi::@5 to line_xdyi::@2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2] + //SEG233 [127] phi (byte) line_xdyi::e#6 = (byte) line_xdyi::e#2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2#0] -- register_copy + //SEG234 [127] phi (byte) line_xdyi::y#6 = (byte) line_xdyi::y#2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2#1] -- register_copy + //SEG235 line_xdyi::@2 b2: - //SEG158 [88] (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#0 + (byte) 1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#5 line_xdyi::e#6 line_xdyi::$8 ] -- aby=zpby1_plus_1 + //SEG236 [128] (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#6 + (byte) 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::$8 ] -- aby=zpby1_plus_1 lda x1 clc adc #1 - //SEG159 [89] if((byte) line_xdyi::x#1<(byte~) line_xdyi::$8) goto line_xdyi::@1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#5 line_xdyi::e#6 ] -- zpby1_lt_aby_then_la1 + //SEG237 [129] if((byte) line_xdyi::x#2<(byte~) line_xdyi::$8) 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 ] -- zpby1_lt_aby_then_la1 cmp x bcs b1 - //SEG160 line_xdyi::@return - //SEG161 [90] return [ ] + //SEG238 line_xdyi::@return + //SEG239 [130] return [ ] rts } -//SEG162 init_plot_tables +//SEG240 line_ydxd +line_ydxd: { + .label y = 19 + .label x = 18 + .label y1 = 17 + .label yd = 16 + .label xd = 15 + .label e = 20 + //SEG241 [132] (byte) line_ydxd::e#0 ← (byte) line_ydxd::xd#2 >> (byte) 1 [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] -- zpby1=zpby2_ror_1 + lda xd + lsr + sta e + //SEG242 [133] phi from line_ydxd line_ydxd::@2 to line_ydxd::@1 [phi:line_ydxd/line_ydxd::@2->line_ydxd::@1] + //SEG243 [133] phi (byte) line_ydxd::e#3 = (byte) line_ydxd::e#0 [phi:line_ydxd/line_ydxd::@2->line_ydxd::@1#0] -- register_copy + //SEG244 [133] phi (byte) line_ydxd::y#3 = (byte) line_ydxd::y#6 [phi:line_ydxd/line_ydxd::@2->line_ydxd::@1#1] -- register_copy + //SEG245 [133] phi (byte) line_ydxd::x#3 = (byte) line_ydxd::x#5 [phi:line_ydxd/line_ydxd::@2->line_ydxd::@1#2] -- register_copy + //SEG246 line_ydxd::@1 + b1: + //SEG247 [134] (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#3 line_ydxd::e#3 ] -- xby=zpby1 + ldx x + //SEG248 [135] (byte) plot::y#3 ← (byte) line_ydxd::y#3 [ 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#3 line_ydxd::e#3 ] -- yby=zpby1 + ldy y + //SEG249 [136] call plot param-assignment [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] + //SEG250 [101] phi from line_ydxd::@1 to plot [phi:line_ydxd::@1->plot] + //SEG251 [101] phi (byte) plot::y#4 = (byte) plot::y#3 [phi:line_ydxd::@1->plot#0] -- register_copy + //SEG252 [101] phi (byte) plot::x#4 = (byte) plot::x#3 [phi:line_ydxd::@1->plot#1] -- register_copy + jsr plot + //SEG253 line_ydxd::@5 + //SEG254 [137] (byte) line_ydxd::y#2 ← (byte) line_ydxd::y#3 + (byte) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::e#3 line_ydxd::y#2 ] -- zpby1=zpby1_plus_1 + inc y + //SEG255 [138] (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#2 line_ydxd::e#1 ] -- zpby1=zpby1_plus_zpby2 + lda e + clc + adc xd + sta e + //SEG256 [139] 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#2 line_ydxd::e#1 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp e + bcs b2 + //SEG257 line_ydxd::@3 + //SEG258 [140] (byte) line_ydxd::x#2 ← (byte) line_ydxd::x#3 - (byte) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#2 line_ydxd::e#1 line_ydxd::x#2 ] -- zpby1=zpby1_minus_1 + dec x + //SEG259 [141] (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#2 line_ydxd::x#2 line_ydxd::e#2 ] -- zpby1=zpby1_minus_zpby2 + lda e + sec + sbc yd + sta e + //SEG260 [142] phi from line_ydxd::@3 line_ydxd::@5 to line_ydxd::@2 [phi:line_ydxd::@3/line_ydxd::@5->line_ydxd::@2] + //SEG261 [142] phi (byte) line_ydxd::e#6 = (byte) line_ydxd::e#2 [phi:line_ydxd::@3/line_ydxd::@5->line_ydxd::@2#0] -- register_copy + //SEG262 [142] phi (byte) line_ydxd::x#6 = (byte) line_ydxd::x#2 [phi:line_ydxd::@3/line_ydxd::@5->line_ydxd::@2#1] -- register_copy + //SEG263 line_ydxd::@2 + b2: + //SEG264 [143] (byte~) line_ydxd::$8 ← (byte) line_ydxd::y1#6 + (byte) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 line_ydxd::$8 ] -- aby=zpby1_plus_1 + lda y1 + clc + adc #1 + //SEG265 [144] if((byte) line_ydxd::y#2<(byte~) line_ydxd::$8) goto line_ydxd::@1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 ] -- zpby1_lt_aby_then_la1 + cmp y + bcs b1 + //SEG266 line_ydxd::@return + //SEG267 [145] return [ ] + rts +} +//SEG268 line_xdyd +line_xdyd: { + .label x = 24 + .label y = 25 + .label x1 = 23 + .label xd = 22 + .label yd = 21 + .label e = 26 + //SEG269 [147] (byte) line_xdyd::e#0 ← (byte) line_xdyd::yd#2 >> (byte) 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 ] -- zpby1=zpby2_ror_1 + lda yd + lsr + sta e + //SEG270 [148] phi from line_xdyd line_xdyd::@2 to line_xdyd::@1 [phi:line_xdyd/line_xdyd::@2->line_xdyd::@1] + //SEG271 [148] phi (byte) line_xdyd::e#3 = (byte) line_xdyd::e#0 [phi:line_xdyd/line_xdyd::@2->line_xdyd::@1#0] -- register_copy + //SEG272 [148] phi (byte) line_xdyd::y#3 = (byte) line_xdyd::y#5 [phi:line_xdyd/line_xdyd::@2->line_xdyd::@1#1] -- register_copy + //SEG273 [148] phi (byte) line_xdyd::x#3 = (byte) line_xdyd::x#6 [phi:line_xdyd/line_xdyd::@2->line_xdyd::@1#2] -- register_copy + //SEG274 line_xdyd::@1 + b1: + //SEG275 [149] (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 ] -- xby=zpby1 + ldx x + //SEG276 [150] (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 ] -- yby=zpby1 + ldy y + //SEG277 [151] 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 ] + //SEG278 [101] phi from line_xdyd::@1 to plot [phi:line_xdyd::@1->plot] + //SEG279 [101] phi (byte) plot::y#4 = (byte) plot::y#1 [phi:line_xdyd::@1->plot#0] -- register_copy + //SEG280 [101] phi (byte) plot::x#4 = (byte) plot::x#1 [phi:line_xdyd::@1->plot#1] -- register_copy + jsr plot + //SEG281 line_xdyd::@5 + //SEG282 [152] (byte) line_xdyd::x#2 ← (byte) line_xdyd::x#3 + (byte) 1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::e#3 line_xdyd::x#2 ] -- zpby1=zpby1_plus_1 + inc x + //SEG283 [153] (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 ] -- zpby1=zpby1_plus_zpby2 + lda e + clc + adc yd + sta e + //SEG284 [154] 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 ] -- zpby1_ge_zpby2_then_la1 + lda xd + cmp e + bcs b2 + //SEG285 line_xdyd::@3 + //SEG286 [155] (byte) line_xdyd::y#2 ← (byte) line_xdyd::y#3 - (byte) 1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::e#1 line_xdyd::y#2 ] -- zpby1=zpby1_minus_1 + dec y + //SEG287 [156] (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 ] -- zpby1=zpby1_minus_zpby2 + lda e + sec + sbc xd + sta e + //SEG288 [157] phi from line_xdyd::@3 line_xdyd::@5 to line_xdyd::@2 [phi:line_xdyd::@3/line_xdyd::@5->line_xdyd::@2] + //SEG289 [157] phi (byte) line_xdyd::e#6 = (byte) line_xdyd::e#2 [phi:line_xdyd::@3/line_xdyd::@5->line_xdyd::@2#0] -- register_copy + //SEG290 [157] phi (byte) line_xdyd::y#6 = (byte) line_xdyd::y#2 [phi:line_xdyd::@3/line_xdyd::@5->line_xdyd::@2#1] -- register_copy + //SEG291 line_xdyd::@2 + b2: + //SEG292 [158] (byte~) line_xdyd::$8 ← (byte) line_xdyd::x1#6 + (byte) 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::$8 ] -- aby=zpby1_plus_1 + lda x1 + clc + adc #1 + //SEG293 [159] if((byte) line_xdyd::x#2<(byte~) line_xdyd::$8) 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 ] -- zpby1_lt_aby_then_la1 + cmp x + bcs b1 + //SEG294 line_xdyd::@return + //SEG295 [160] return [ ] + rts +} +//SEG296 init_plot_tables init_plot_tables: { .label _6 = 2 - .label yoffs = 6 - //SEG163 [92] phi from init_plot_tables to init_plot_tables::@1 [phi:init_plot_tables->init_plot_tables::@1] - //SEG164 [92] phi (byte) init_plot_tables::bit#3 = (byte) 128 [phi:init_plot_tables->init_plot_tables::@1#0] -- yby=coby1 + .label yoffs = 27 + //SEG297 [162] phi from init_plot_tables to init_plot_tables::@1 [phi:init_plot_tables->init_plot_tables::@1] + //SEG298 [162] phi (byte) init_plot_tables::bit#3 = (byte) 128 [phi:init_plot_tables->init_plot_tables::@1#0] -- yby=coby1 ldy #$80 - //SEG165 [92] phi (byte) init_plot_tables::x#2 = (byte) 0 [phi:init_plot_tables->init_plot_tables::@1#1] -- xby=coby1 + //SEG299 [162] phi (byte) init_plot_tables::x#2 = (byte) 0 [phi:init_plot_tables->init_plot_tables::@1#1] -- xby=coby1 ldx #0 jmp b1 - //SEG166 [92] phi from init_plot_tables::@2 to init_plot_tables::@1 [phi:init_plot_tables::@2->init_plot_tables::@1] - //SEG167 [92] phi (byte) init_plot_tables::bit#3 = (byte) init_plot_tables::bit#4 [phi:init_plot_tables::@2->init_plot_tables::@1#0] -- register_copy - //SEG168 [92] 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 - //SEG169 init_plot_tables::@1 + //SEG300 [162] phi from init_plot_tables::@2 to init_plot_tables::@1 [phi:init_plot_tables::@2->init_plot_tables::@1] + //SEG301 [162] phi (byte) init_plot_tables::bit#3 = (byte) init_plot_tables::bit#4 [phi:init_plot_tables::@2->init_plot_tables::@1#0] -- register_copy + //SEG302 [162] 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 + //SEG303 init_plot_tables::@1 b1: - //SEG170 [93] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bit#3 init_plot_tables::$0 ] -- aby=xby_band_coby1 + //SEG304 [163] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bit#3 init_plot_tables::$0 ] -- aby=xby_band_coby1 txa and #$f8 - //SEG171 [94] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_xby=aby + //SEG305 [164] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_xby=aby sta plot_xlo,x - //SEG172 [95] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_xby=coby2 + //SEG306 [165] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_xby=coby2 lda #>BITMAP sta plot_xhi,x - //SEG173 [96] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bit#3 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_xby=yby + //SEG307 [166] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bit#3 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_xby=yby tya sta plot_bit,x - //SEG174 [97] (byte) init_plot_tables::bit#1 ← (byte) init_plot_tables::bit#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bit#1 ] -- yby=yby_ror_1 + //SEG308 [167] (byte) init_plot_tables::bit#1 ← (byte) init_plot_tables::bit#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bit#1 ] -- yby=yby_ror_1 tya lsr tay - //SEG175 [98] if((byte) init_plot_tables::bit#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] -- yby_neq_0_then_la1 + //SEG309 [168] if((byte) init_plot_tables::bit#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] -- yby_neq_0_then_la1 cpy #0 bne b10 - //SEG176 [99] phi from init_plot_tables::@1 to init_plot_tables::@2 [phi:init_plot_tables::@1->init_plot_tables::@2] - //SEG177 [99] phi (byte) init_plot_tables::bit#4 = (byte) 128 [phi:init_plot_tables::@1->init_plot_tables::@2#0] -- yby=coby1 + //SEG310 [169] phi from init_plot_tables::@1 to init_plot_tables::@2 [phi:init_plot_tables::@1->init_plot_tables::@2] + //SEG311 [169] phi (byte) init_plot_tables::bit#4 = (byte) 128 [phi:init_plot_tables::@1->init_plot_tables::@2#0] -- yby=coby1 ldy #$80 - //SEG178 init_plot_tables::@2 + //SEG312 init_plot_tables::@2 b2: - //SEG179 [100] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bit#4 ] -- xby=_inc_xby + //SEG313 [170] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bit#4 ] -- xby=_inc_xby inx - //SEG180 [101] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bit#4 ] -- xby_neq_0_then_la1 + //SEG314 [171] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bit#4 ] -- xby_neq_0_then_la1 cpx #0 bne b1 - //SEG181 [102] phi from init_plot_tables::@2 to init_plot_tables::@3 [phi:init_plot_tables::@2->init_plot_tables::@3] - //SEG182 [102] phi (byte*) init_plot_tables::yoffs#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#0] -- zpptrby1=coby1 + //SEG315 [172] phi from init_plot_tables::@2 to init_plot_tables::@3 [phi:init_plot_tables::@2->init_plot_tables::@3] + //SEG316 [172] phi (byte*) init_plot_tables::yoffs#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#0] -- zpptrby1=coby1 lda #0 sta yoffs sta yoffs+1 - //SEG183 [102] phi (byte) init_plot_tables::y#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#1] -- xby=coby1 + //SEG317 [172] phi (byte) init_plot_tables::y#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#1] -- xby=coby1 ldx #0 jmp b3 - //SEG184 [102] phi from init_plot_tables::@4 to init_plot_tables::@3 [phi:init_plot_tables::@4->init_plot_tables::@3] - //SEG185 [102] 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 - //SEG186 [102] 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 - //SEG187 init_plot_tables::@3 + //SEG318 [172] phi from init_plot_tables::@4 to init_plot_tables::@3 [phi:init_plot_tables::@4->init_plot_tables::@3] + //SEG319 [172] 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 + //SEG320 [172] 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 + //SEG321 init_plot_tables::@3 b3: - //SEG188 [103] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] -- zpby1=xby_band_coby1 + //SEG322 [173] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] -- zpby1=xby_band_coby1 txa and #7 sta _6 - //SEG189 [104] (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 ] -- aby=_lo_zpptrby1 + //SEG323 [174] (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 ] -- aby=_lo_zpptrby1 lda yoffs - //SEG190 [105] (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 ] -- aby=zpby1_bor_aby + //SEG324 [175] (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 ] -- aby=zpby1_bor_aby ora _6 - //SEG191 [106] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- cowo1_staridx_xby=aby + //SEG325 [176] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- cowo1_staridx_xby=aby sta plot_ylo,x - //SEG192 [107] (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 ] -- aby=_hi_zpptrby1 + //SEG326 [177] (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 ] -- aby=_hi_zpptrby1 lda yoffs+1 - //SEG193 [108] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- cowo1_staridx_xby=aby + //SEG327 [178] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- cowo1_staridx_xby=aby sta plot_yhi,x - //SEG194 [109] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] -- aby=xby_band_coby1 + //SEG328 [179] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] -- aby=xby_band_coby1 txa and #7 - //SEG195 [110] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- aby_neq_coby1_then_la1 + //SEG329 [180] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- aby_neq_coby1_then_la1 cmp #7 bne b4 - //SEG196 init_plot_tables::@7 - //SEG197 [111] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] -- zpptrby1=zpptrby1_plus_cowo1 + //SEG330 init_plot_tables::@7 + //SEG331 [181] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] -- zpptrby1=zpptrby1_plus_cowo1 lda yoffs clc adc #<$140 @@ -13222,84 +20650,84 @@ init_plot_tables: { lda yoffs+1 adc #>$140 sta yoffs+1 - //SEG198 [112] 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] - //SEG199 [112] 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 - //SEG200 init_plot_tables::@4 + //SEG332 [182] 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] + //SEG333 [182] 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 + //SEG334 init_plot_tables::@4 b4: - //SEG201 [113] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] -- xby=_inc_xby + //SEG335 [183] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] -- xby=_inc_xby inx - //SEG202 [114] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] -- xby_neq_0_then_la1 + //SEG336 [184] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] -- xby_neq_0_then_la1 cpx #0 bne b3 - //SEG203 init_plot_tables::@return - //SEG204 [115] return [ ] + //SEG337 init_plot_tables::@return + //SEG338 [185] return [ ] rts - //SEG205 init_plot_tables::@10 + //SEG339 init_plot_tables::@10 b10: - //SEG206 [99] phi from init_plot_tables::@10 to init_plot_tables::@2 [phi:init_plot_tables::@10->init_plot_tables::@2] - //SEG207 [99] phi (byte) init_plot_tables::bit#4 = (byte) init_plot_tables::bit#1 [phi:init_plot_tables::@10->init_plot_tables::@2#0] -- register_copy + //SEG340 [169] phi from init_plot_tables::@10 to init_plot_tables::@2 [phi:init_plot_tables::@10->init_plot_tables::@2] + //SEG341 [169] phi (byte) init_plot_tables::bit#4 = (byte) init_plot_tables::bit#1 [phi:init_plot_tables::@10->init_plot_tables::@2#0] -- register_copy jmp b2 } -//SEG208 init_screen +//SEG342 init_screen init_screen: { - .label b = 6 - .label c = 6 - //SEG209 [117] phi from init_screen to init_screen::@1 [phi:init_screen->init_screen::@1] - //SEG210 [117] phi (byte*) init_screen::b#2 = (const byte*) BITMAP#0 [phi:init_screen->init_screen::@1#0] -- zpptrby1=cowo1 + .label b = 27 + .label c = 27 + //SEG343 [187] phi from init_screen to init_screen::@1 [phi:init_screen->init_screen::@1] + //SEG344 [187] phi (byte*) init_screen::b#2 = (const byte*) BITMAP#0 [phi:init_screen->init_screen::@1#0] -- zpptrby1=cowo1 lda #BITMAP sta b+1 jmp b1 - //SEG211 [117] phi from init_screen::@1 to init_screen::@1 [phi:init_screen::@1->init_screen::@1] - //SEG212 [117] phi (byte*) init_screen::b#2 = (byte*) init_screen::b#1 [phi:init_screen::@1->init_screen::@1#0] -- register_copy - //SEG213 init_screen::@1 + //SEG345 [187] phi from init_screen::@1 to init_screen::@1 [phi:init_screen::@1->init_screen::@1] + //SEG346 [187] phi (byte*) init_screen::b#2 = (byte*) init_screen::b#1 [phi:init_screen::@1->init_screen::@1#0] -- register_copy + //SEG347 init_screen::@1 b1: - //SEG214 [118] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] -- _star_zpptrby1=coby1 + //SEG348 [188] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] -- _star_zpptrby1=coby1 ldy #0 lda #0 sta (b),y - //SEG215 [119] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] -- zpptrby1=_inc_zpptrby1 + //SEG349 [189] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] -- zpptrby1=_inc_zpptrby1 inc b bne !+ inc b+1 !: - //SEG216 [120] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] -- zpptrby1_neq_cowo1_then_la1 + //SEG350 [190] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] -- zpptrby1_neq_cowo1_then_la1 lda b+1 cmp #>BITMAP+$2000 bne b1 lda b cmp #init_screen::@2] - //SEG218 [121] phi (byte*) init_screen::c#2 = (const byte*) SCREEN#0 [phi:init_screen::@1->init_screen::@2#0] -- zpptrby1=cowo1 + //SEG351 [191] phi from init_screen::@1 to init_screen::@2 [phi:init_screen::@1->init_screen::@2] + //SEG352 [191] phi (byte*) init_screen::c#2 = (const byte*) SCREEN#0 [phi:init_screen::@1->init_screen::@2#0] -- zpptrby1=cowo1 lda #SCREEN sta c+1 jmp b2 - //SEG219 [121] phi from init_screen::@2 to init_screen::@2 [phi:init_screen::@2->init_screen::@2] - //SEG220 [121] phi (byte*) init_screen::c#2 = (byte*) init_screen::c#1 [phi:init_screen::@2->init_screen::@2#0] -- register_copy - //SEG221 init_screen::@2 + //SEG353 [191] phi from init_screen::@2 to init_screen::@2 [phi:init_screen::@2->init_screen::@2] + //SEG354 [191] phi (byte*) init_screen::c#2 = (byte*) init_screen::c#1 [phi:init_screen::@2->init_screen::@2#0] -- register_copy + //SEG355 init_screen::@2 b2: - //SEG222 [122] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] -- _star_zpptrby1=coby1 + //SEG356 [192] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] -- _star_zpptrby1=coby1 ldy #0 lda #$14 sta (c),y - //SEG223 [123] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] -- zpptrby1=_inc_zpptrby1 + //SEG357 [193] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] -- zpptrby1=_inc_zpptrby1 inc c bne !+ inc c+1 !: - //SEG224 [124] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] -- zpptrby1_neq_cowo1_then_la1 + //SEG358 [194] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] -- zpptrby1_neq_cowo1_then_la1 lda c+1 cmp #>SCREEN+$400 bne b2 lda c cmp #init_screen] + //SEG11 [186] phi from main to init_screen [phi:main->init_screen] jsr init_screen //SEG12 main::@3 //SEG13 [6] call init_plot_tables param-assignment [ ] - //SEG14 [91] phi from main::@3 to init_plot_tables [phi:main::@3->init_plot_tables] + //SEG14 [161] phi from main::@3 to init_plot_tables [phi:main::@3->init_plot_tables] jsr init_plot_tables //SEG15 main::@1 b1: @@ -13403,13 +20831,13 @@ lines: { tax //SEG32 [16] (byte) line::x0#0 ← (byte~) lines::$0 [ lines::l#2 lines::$2 lines::$3 lines::$5 line::x0#0 ] -- zpby1=yby sty line.x0 - //SEG33 [17] (byte) line::x1#0 ← (byte~) lines::$2 [ lines::l#2 lines::$3 lines::$5 line::x0#0 line::x1#0 ] -- zpby1=zpby2 - lda _2 - sta line.x1 - //SEG34 [18] (byte) line::y0#0 ← (byte~) lines::$3 [ lines::l#2 lines::$5 line::x0#0 line::x1#0 line::y0#0 ] -- yby=zpby1 - ldy _3 - //SEG35 [19] (byte) line::y1#0 ← (byte~) lines::$5 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] -- zpby1=xby - stx line.y1 + //SEG33 [17] (byte) line::x1#0 ← (byte~) lines::$2 [ lines::l#2 lines::$3 lines::$5 line::x0#0 line::x1#0 ] -- yby=zpby1 + ldy _2 + //SEG34 [18] (byte) line::y0#0 ← (byte~) lines::$3 [ lines::l#2 lines::$5 line::x0#0 line::x1#0 line::y0#0 ] -- zpby1=zpby2 + lda _3 + sta line.y0 + //SEG35 [19] (byte) line::y1#0 ← (byte~) lines::$5 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] + // (byte) line::y1#0 = (byte~) lines::$5 // register copy reg byte x //SEG36 [20] call line param-assignment [ lines::l#2 ] jsr line //SEG37 lines::@3 @@ -13426,175 +20854,360 @@ lines: { //SEG42 line line: { .label x0 = 5 - .label x1 = 8 - .label y1 = 9 - .label xd = 10 - //SEG43 [24] if((byte) line::x0#0>=(byte) line::x1#0) goto line::@1 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] -- zpby1_ge_zpby2_then_la1 - lda x0 - cmp x1 - bcs b1 - //SEG44 line::@9 - //SEG45 [25] (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 ] -- zpby1=zpby2_minus_zpby3 - lda x1 + .label y0 = 3 + .label xd = 8 + .label yd = 4 + //SEG43 [24] if((byte) line::x0#0>=(byte) line::x1#0) goto line::@1 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] -- zpby1_ge_yby_then_la1 + cpy x0 + bcc b1 + //SEG44 line::@15 + //SEG45 [25] (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 ] -- zpby1=yby_minus_zpby2 + tya sec sbc x0 sta xd - //SEG46 [26] 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 ] -- yby_ge_zpby1_then_la1 - cpy y1 - bcs b2 - //SEG47 line::@10 - //SEG48 [27] (byte) line::yd#0 ← (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#0 ] -- xby=zpby1_minus_yby - sty $ff - lda y1 + //SEG46 [26] 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 ] -- zpby1_ge_xby_then_la1 + cpx y0 + bcc b2 + //SEG47 line::@16 + //SEG48 [27] (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 ] -- zpby1=xby_minus_zpby2 + txa sec - sbc $ff - tax - //SEG49 [28] if((byte) line::yd#0>=(byte) line::xd#1) goto line::@3 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#0 ] -- xby_ge_zpby1_then_la1 - cpx xd + sbc y0 + sta yd + //SEG49 [28] 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 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp xd bcs b3 - //SEG50 line::@11 - //SEG51 [29] (byte) line_xdyi::x#0 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::xd#1 line::yd#0 line_xdyi::x#0 ] -- zpby1=zpby2 + //SEG50 line::@17 + //SEG51 [29] (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 ] -- zpby1=zpby2 lda x0 sta line_xdyi.x - //SEG52 [30] (byte) line_xdyi::y#0 ← (byte) line::y0#0 [ line::x1#0 line::xd#1 line::yd#0 line_xdyi::x#0 line_xdyi::y#0 ] -- zpby1=yby - sty line_xdyi.y - //SEG53 [31] (byte) line_xdyi::x1#0 ← (byte) line::x1#0 [ line::xd#1 line::yd#0 line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 ] -- zpby1=zpby2 - lda x1 - sta line_xdyi.x1 - //SEG54 [32] (byte) line_xdyi::xd#0 ← (byte) line::xd#1 [ line::yd#0 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:10 - //SEG55 [33] (byte) line_xdyi::yd#0 ← (byte) line::yd#0 [ line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 ] -- zpby1=xby - stx line_xdyi.yd + //SEG52 [30] (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 ] -- zpby1=zpby2 + lda y0 + sta line_xdyi.y + //SEG53 [31] (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 ] -- zpby1=yby + sty line_xdyi.x1 + //SEG54 [32] (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 ] -- zpby1=zpby2 + lda xd + sta line_xdyi.xd + //SEG55 [33] (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 ] -- zpby1=zpby2 + lda yd + sta line_xdyi.yd //SEG56 [34] call line_xdyi param-assignment [ ] + //SEG57 [116] phi from line::@17 to line_xdyi [phi:line::@17->line_xdyi] + //SEG58 [116] phi (byte) line_xdyi::x1#6 = (byte) line_xdyi::x1#0 [phi:line::@17->line_xdyi#0] -- register_copy + //SEG59 [116] phi (byte) line_xdyi::xd#5 = (byte) line_xdyi::xd#0 [phi:line::@17->line_xdyi#1] -- register_copy + //SEG60 [116] phi (byte) line_xdyi::y#5 = (byte) line_xdyi::y#0 [phi:line::@17->line_xdyi#2] -- register_copy + //SEG61 [116] phi (byte) line_xdyi::x#6 = (byte) line_xdyi::x#0 [phi:line::@17->line_xdyi#3] -- register_copy + //SEG62 [116] phi (byte) line_xdyi::yd#2 = (byte) line_xdyi::yd#0 [phi:line::@17->line_xdyi#4] -- register_copy jsr line_xdyi - //SEG57 line::@return + //SEG63 line::@return breturn: - //SEG58 [35] return [ ] + //SEG64 [35] return [ ] rts - //SEG59 line::@3 + //SEG65 line::@3 b3: - //SEG60 [36] (byte) plot::x#2 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#2 ] -- xby=zpby1 - ldx x0 - //SEG61 [37] (byte) plot::y#2 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#2 plot::y#2 ] - // (byte) plot::y#2 = (byte) line::y0#0 // register copy reg byte y - //SEG62 [38] call plot param-assignment [ line::x1#0 line::y1#0 ] - //SEG63 [62] phi from line::@3 to plot [phi:line::@3->plot] - //SEG64 [62] phi (byte) plot::y#9 = (byte) plot::y#2 [phi:line::@3->plot#0] -- register_copy - //SEG65 [62] phi (byte) plot::x#9 = (byte) plot::x#2 [phi:line::@3->plot#1] -- register_copy - jsr plot - //SEG66 line::@19 - //SEG67 [39] (byte) plot::x#3 ← (byte) line::x1#0 [ line::y1#0 plot::x#3 ] -- xby=zpby1 - ldx x1 - //SEG68 [40] (byte) plot::y#3 ← (byte) line::y1#0 [ plot::x#3 plot::y#3 ] -- yby=zpby1 - ldy y1 - //SEG69 [41] call plot param-assignment [ ] - //SEG70 [62] phi from line::@19 to plot [phi:line::@19->plot] - //SEG71 [62] phi (byte) plot::y#9 = (byte) plot::y#3 [phi:line::@19->plot#0] -- register_copy - //SEG72 [62] phi (byte) plot::x#9 = (byte) plot::x#3 [phi:line::@19->plot#1] -- register_copy - jsr plot + //SEG66 [36] (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 ] -- zpby1=zpby2 + lda y0 + sta line_ydxi.y + //SEG67 [37] (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 ] -- zpby1=zpby2 + lda x0 + sta line_ydxi.x + //SEG68 [38] (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 ] -- zpby1=xby + stx line_ydxi.y1 + //SEG69 [39] (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 ] + // (byte) line_ydxi::yd#0 = (byte) line::yd#1 // register copy zp ZP_BYTE:4 + //SEG70 [40] (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 ] -- zpby1=zpby2 + lda xd + sta line_ydxi.xd + //SEG71 [41] call line_ydxi param-assignment [ ] + //SEG72 [86] phi from line::@3 to line_ydxi [phi:line::@3->line_ydxi] + //SEG73 [86] phi (byte) line_ydxi::y1#6 = (byte) line_ydxi::y1#0 [phi:line::@3->line_ydxi#0] -- register_copy + //SEG74 [86] phi (byte) line_ydxi::yd#5 = (byte) line_ydxi::yd#0 [phi:line::@3->line_ydxi#1] -- register_copy + //SEG75 [86] phi (byte) line_ydxi::y#6 = (byte) line_ydxi::y#0 [phi:line::@3->line_ydxi#2] -- register_copy + //SEG76 [86] phi (byte) line_ydxi::x#5 = (byte) line_ydxi::x#0 [phi:line::@3->line_ydxi#3] -- register_copy + //SEG77 [86] phi (byte) line_ydxi::xd#2 = (byte) line_ydxi::xd#0 [phi:line::@3->line_ydxi#4] -- register_copy + jsr line_ydxi jmp breturn - //SEG73 line::@2 + //SEG78 line::@2 b2: - //SEG74 [42] (byte) plot::x#0 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#0 ] -- xby=zpby1 - ldx x0 - //SEG75 [43] (byte) plot::y#0 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#0 plot::y#0 ] - // (byte) plot::y#0 = (byte) line::y0#0 // register copy reg byte y - //SEG76 [44] call plot param-assignment [ line::x1#0 line::y1#0 ] - //SEG77 [62] phi from line::@2 to plot [phi:line::@2->plot] - //SEG78 [62] phi (byte) plot::y#9 = (byte) plot::y#0 [phi:line::@2->plot#0] -- register_copy - //SEG79 [62] phi (byte) plot::x#9 = (byte) plot::x#0 [phi:line::@2->plot#1] -- register_copy - jsr plot - //SEG80 line::@17 - //SEG81 [45] (byte) plot::x#1 ← (byte) line::x1#0 [ line::y1#0 plot::x#1 ] -- xby=zpby1 - ldx x1 - //SEG82 [46] (byte) plot::y#1 ← (byte) line::y1#0 [ plot::x#1 plot::y#1 ] -- yby=zpby1 - ldy y1 - //SEG83 [47] call plot param-assignment [ ] - //SEG84 [62] phi from line::@17 to plot [phi:line::@17->plot] - //SEG85 [62] phi (byte) plot::y#9 = (byte) plot::y#1 [phi:line::@17->plot#0] -- register_copy - //SEG86 [62] phi (byte) plot::x#9 = (byte) plot::x#1 [phi:line::@17->plot#1] -- register_copy - jsr plot - jmp breturn - //SEG87 line::@1 - b1: - //SEG88 [48] (byte) line::xd#0 ← (byte) line::x1#0 - (byte) line::x0#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] -- aby=zpby1_minus_zpby2 - lda x1 + //SEG79 [42] (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 ] -- zpby1=zpby2_minus_xby + stx $ff + lda y0 sec - sbc x0 - //SEG89 [49] if((byte) line::y0#0>=(byte) line::y1#0) goto line::@7 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] -- yby_ge_zpby1_then_la1 - cpy y1 - bcs b7 - //SEG90 line::@15 - //SEG91 [50] (byte) plot::x#6 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#6 ] -- xby=zpby1 - ldx x0 - //SEG92 [51] (byte) plot::y#6 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#6 plot::y#6 ] - // (byte) plot::y#6 = (byte) line::y0#0 // register copy reg byte y - //SEG93 [52] call plot param-assignment [ line::x1#0 line::y1#0 ] - //SEG94 [62] phi from line::@15 to plot [phi:line::@15->plot] - //SEG95 [62] phi (byte) plot::y#9 = (byte) plot::y#6 [phi:line::@15->plot#0] -- register_copy - //SEG96 [62] phi (byte) plot::x#9 = (byte) plot::x#6 [phi:line::@15->plot#1] -- register_copy - jsr plot - //SEG97 line::@24 - //SEG98 [53] (byte) plot::x#7 ← (byte) line::x1#0 [ line::y1#0 plot::x#7 ] -- xby=zpby1 - ldx x1 - //SEG99 [54] (byte) plot::y#7 ← (byte) line::y1#0 [ plot::x#7 plot::y#7 ] -- yby=zpby1 - ldy y1 - //SEG100 [55] call plot param-assignment [ ] - //SEG101 [62] phi from line::@24 to plot [phi:line::@24->plot] - //SEG102 [62] phi (byte) plot::y#9 = (byte) plot::y#7 [phi:line::@24->plot#0] -- register_copy - //SEG103 [62] phi (byte) plot::x#9 = (byte) plot::x#7 [phi:line::@24->plot#1] -- register_copy - jsr plot + sbc $ff + sta yd + //SEG80 [43] 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 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp xd + bcs b6 + //SEG81 line::@20 + //SEG82 [44] (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 ] -- zpby1=zpby2 + lda x0 + sta line_xdyd.x + //SEG83 [45] (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 ] -- zpby1=zpby2 + lda y0 + sta line_xdyd.y + //SEG84 [46] (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 ] -- zpby1=yby + sty line_xdyd.x1 + //SEG85 [47] (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 ] -- zpby1=zpby2 + lda xd + sta line_xdyd.xd + //SEG86 [48] (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 ] -- zpby1=zpby2 + lda yd + sta line_xdyd.yd + //SEG87 [49] call line_xdyd param-assignment [ ] + //SEG88 [146] phi from line::@20 to line_xdyd [phi:line::@20->line_xdyd] + //SEG89 [146] phi (byte) line_xdyd::x1#6 = (byte) line_xdyd::x1#0 [phi:line::@20->line_xdyd#0] -- register_copy + //SEG90 [146] phi (byte) line_xdyd::xd#5 = (byte) line_xdyd::xd#0 [phi:line::@20->line_xdyd#1] -- register_copy + //SEG91 [146] phi (byte) line_xdyd::y#5 = (byte) line_xdyd::y#0 [phi:line::@20->line_xdyd#2] -- register_copy + //SEG92 [146] phi (byte) line_xdyd::x#6 = (byte) line_xdyd::x#0 [phi:line::@20->line_xdyd#3] -- register_copy + //SEG93 [146] phi (byte) line_xdyd::yd#2 = (byte) line_xdyd::yd#0 [phi:line::@20->line_xdyd#4] -- register_copy + jsr line_xdyd jmp breturn - //SEG104 line::@7 - b7: - //SEG105 [56] (byte) plot::x#4 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#4 ] -- xby=zpby1 - ldx x0 - //SEG106 [57] (byte) plot::y#4 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#4 plot::y#4 ] - // (byte) plot::y#4 = (byte) line::y0#0 // register copy reg byte y - //SEG107 [58] call plot param-assignment [ line::x1#0 line::y1#0 ] - //SEG108 [62] phi from line::@7 to plot [phi:line::@7->plot] - //SEG109 [62] phi (byte) plot::y#9 = (byte) plot::y#4 [phi:line::@7->plot#0] -- register_copy - //SEG110 [62] phi (byte) plot::x#9 = (byte) plot::x#4 [phi:line::@7->plot#1] -- register_copy - jsr plot - //SEG111 line::@22 - //SEG112 [59] (byte) plot::x#5 ← (byte) line::x1#0 [ line::y1#0 plot::x#5 ] -- xby=zpby1 - ldx x1 - //SEG113 [60] (byte) plot::y#5 ← (byte) line::y1#0 [ plot::x#5 plot::y#5 ] -- yby=zpby1 - ldy y1 - //SEG114 [61] call plot param-assignment [ ] - //SEG115 [62] phi from line::@22 to plot [phi:line::@22->plot] - //SEG116 [62] phi (byte) plot::y#9 = (byte) plot::y#5 [phi:line::@22->plot#0] -- register_copy - //SEG117 [62] phi (byte) plot::x#9 = (byte) plot::x#5 [phi:line::@22->plot#1] -- register_copy - jsr plot + //SEG94 line::@6 + b6: + //SEG95 [50] (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 ] -- zpby1=xby + stx line_ydxd.y + //SEG96 [51] (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 ] -- zpby1=yby + sty line_ydxd.x + //SEG97 [52] (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 ] -- zpby1=zpby2 + lda y0 + sta line_ydxd.y1 + //SEG98 [53] (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 ] -- zpby1=zpby2 + lda yd + sta line_ydxd.yd + //SEG99 [54] (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 ] -- zpby1=zpby2 + lda xd + sta line_ydxd.xd + //SEG100 [55] call line_ydxd param-assignment [ ] + //SEG101 [131] phi from line::@6 to line_ydxd [phi:line::@6->line_ydxd] + //SEG102 [131] phi (byte) line_ydxd::y1#6 = (byte) line_ydxd::y1#0 [phi:line::@6->line_ydxd#0] -- register_copy + //SEG103 [131] phi (byte) line_ydxd::yd#5 = (byte) line_ydxd::yd#0 [phi:line::@6->line_ydxd#1] -- register_copy + //SEG104 [131] phi (byte) line_ydxd::y#6 = (byte) line_ydxd::y#0 [phi:line::@6->line_ydxd#2] -- register_copy + //SEG105 [131] phi (byte) line_ydxd::x#5 = (byte) line_ydxd::x#0 [phi:line::@6->line_ydxd#3] -- register_copy + //SEG106 [131] phi (byte) line_ydxd::xd#2 = (byte) line_ydxd::xd#0 [phi:line::@6->line_ydxd#4] -- register_copy + jsr line_ydxd + jmp breturn + //SEG107 line::@1 + b1: + //SEG108 [56] (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 ] -- zpby1=zpby2_minus_yby + sty $ff + lda x0 + sec + sbc $ff + sta xd + //SEG109 [57] 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 ] -- zpby1_ge_xby_then_la1 + cpx y0 + bcc b9 + //SEG110 line::@23 + //SEG111 [58] (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 ] -- zpby1=xby_minus_zpby2 + txa + sec + sbc y0 + sta yd + //SEG112 [59] 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 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp xd + bcs b10 + //SEG113 line::@24 + //SEG114 [60] (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 ] -- zpby1=yby + sty line_xdyd.x + //SEG115 [61] (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 ] -- zpby1=xby + stx line_xdyd.y + //SEG116 [62] (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 ] -- zpby1=zpby2 + lda x0 + sta line_xdyd.x1 + //SEG117 [63] (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 ] -- zpby1=zpby2 + lda xd + sta line_xdyd.xd + //SEG118 [64] (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 ] -- zpby1=zpby2 + lda yd + sta line_xdyd.yd + //SEG119 [65] call line_xdyd param-assignment [ ] + //SEG120 [146] phi from line::@24 to line_xdyd [phi:line::@24->line_xdyd] + //SEG121 [146] phi (byte) line_xdyd::x1#6 = (byte) line_xdyd::x1#1 [phi:line::@24->line_xdyd#0] -- register_copy + //SEG122 [146] phi (byte) line_xdyd::xd#5 = (byte) line_xdyd::xd#1 [phi:line::@24->line_xdyd#1] -- register_copy + //SEG123 [146] phi (byte) line_xdyd::y#5 = (byte) line_xdyd::y#1 [phi:line::@24->line_xdyd#2] -- register_copy + //SEG124 [146] phi (byte) line_xdyd::x#6 = (byte) line_xdyd::x#1 [phi:line::@24->line_xdyd#3] -- register_copy + //SEG125 [146] phi (byte) line_xdyd::yd#2 = (byte) line_xdyd::yd#1 [phi:line::@24->line_xdyd#4] -- register_copy + jsr line_xdyd + jmp breturn + //SEG126 line::@10 + b10: + //SEG127 [66] (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 ] -- zpby1=zpby2 + lda y0 + sta line_ydxd.y + //SEG128 [67] (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 ] -- zpby1=zpby2 + lda x0 + sta line_ydxd.x + //SEG129 [68] (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 ] -- zpby1=xby + stx line_ydxd.y1 + //SEG130 [69] (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 ] -- zpby1=zpby2 + lda yd + sta line_ydxd.yd + //SEG131 [70] (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 ] -- zpby1=zpby2 + lda xd + sta line_ydxd.xd + //SEG132 [71] call line_ydxd param-assignment [ ] + //SEG133 [131] phi from line::@10 to line_ydxd [phi:line::@10->line_ydxd] + //SEG134 [131] phi (byte) line_ydxd::y1#6 = (byte) line_ydxd::y1#1 [phi:line::@10->line_ydxd#0] -- register_copy + //SEG135 [131] phi (byte) line_ydxd::yd#5 = (byte) line_ydxd::yd#1 [phi:line::@10->line_ydxd#1] -- register_copy + //SEG136 [131] phi (byte) line_ydxd::y#6 = (byte) line_ydxd::y#1 [phi:line::@10->line_ydxd#2] -- register_copy + //SEG137 [131] phi (byte) line_ydxd::x#5 = (byte) line_ydxd::x#1 [phi:line::@10->line_ydxd#3] -- register_copy + //SEG138 [131] phi (byte) line_ydxd::xd#2 = (byte) line_ydxd::xd#1 [phi:line::@10->line_ydxd#4] -- register_copy + jsr line_ydxd + jmp breturn + //SEG139 line::@9 + b9: + //SEG140 [72] (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 ] -- zpby1=zpby2_minus_xby + stx $ff + lda y0 + sec + sbc $ff + sta yd + //SEG141 [73] 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 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp xd + bcs b13 + //SEG142 line::@27 + //SEG143 [74] (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 ] -- zpby1=yby + sty line_xdyi.x + //SEG144 [75] (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 ] -- zpby1=xby + stx line_xdyi.y + //SEG145 [76] (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 ] -- zpby1=zpby2 + lda x0 + sta line_xdyi.x1 + //SEG146 [77] (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 ] -- zpby1=zpby2 + lda xd + sta line_xdyi.xd + //SEG147 [78] (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 ] -- zpby1=zpby2 + lda yd + sta line_xdyi.yd + //SEG148 [79] call line_xdyi param-assignment [ ] + //SEG149 [116] phi from line::@27 to line_xdyi [phi:line::@27->line_xdyi] + //SEG150 [116] phi (byte) line_xdyi::x1#6 = (byte) line_xdyi::x1#1 [phi:line::@27->line_xdyi#0] -- register_copy + //SEG151 [116] phi (byte) line_xdyi::xd#5 = (byte) line_xdyi::xd#1 [phi:line::@27->line_xdyi#1] -- register_copy + //SEG152 [116] phi (byte) line_xdyi::y#5 = (byte) line_xdyi::y#1 [phi:line::@27->line_xdyi#2] -- register_copy + //SEG153 [116] phi (byte) line_xdyi::x#6 = (byte) line_xdyi::x#1 [phi:line::@27->line_xdyi#3] -- register_copy + //SEG154 [116] phi (byte) line_xdyi::yd#2 = (byte) line_xdyi::yd#1 [phi:line::@27->line_xdyi#4] -- register_copy + jsr line_xdyi + jmp breturn + //SEG155 line::@13 + b13: + //SEG156 [80] (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 ] -- zpby1=xby + stx line_ydxi.y + //SEG157 [81] (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 ] -- zpby1=yby + sty line_ydxi.x + //SEG158 [82] (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 ] -- zpby1=zpby2 + lda y0 + sta line_ydxi.y1 + //SEG159 [83] (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 ] + // (byte) line_ydxi::yd#1 = (byte) line::yd#10 // register copy zp ZP_BYTE:4 + //SEG160 [84] (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 ] -- zpby1=zpby2 + lda xd + sta line_ydxi.xd + //SEG161 [85] call line_ydxi param-assignment [ ] + //SEG162 [86] phi from line::@13 to line_ydxi [phi:line::@13->line_ydxi] + //SEG163 [86] phi (byte) line_ydxi::y1#6 = (byte) line_ydxi::y1#1 [phi:line::@13->line_ydxi#0] -- register_copy + //SEG164 [86] phi (byte) line_ydxi::yd#5 = (byte) line_ydxi::yd#1 [phi:line::@13->line_ydxi#1] -- register_copy + //SEG165 [86] phi (byte) line_ydxi::y#6 = (byte) line_ydxi::y#1 [phi:line::@13->line_ydxi#2] -- register_copy + //SEG166 [86] phi (byte) line_ydxi::x#5 = (byte) line_ydxi::x#1 [phi:line::@13->line_ydxi#3] -- register_copy + //SEG167 [86] phi (byte) line_ydxi::xd#2 = (byte) line_ydxi::xd#1 [phi:line::@13->line_ydxi#4] -- register_copy + jsr line_ydxi jmp breturn } -//SEG118 plot +//SEG168 line_ydxi +line_ydxi: { + .label y = 7 + .label x = 6 + .label y1 = 5 + .label yd = 4 + .label xd = 3 + .label e = 8 + //SEG169 [87] (byte) line_ydxi::e#0 ← (byte) line_ydxi::xd#2 >> (byte) 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 ] -- zpby1=zpby2_ror_1 + lda xd + lsr + sta e + //SEG170 [88] phi from line_ydxi line_ydxi::@2 to line_ydxi::@1 [phi:line_ydxi/line_ydxi::@2->line_ydxi::@1] + //SEG171 [88] phi (byte) line_ydxi::e#3 = (byte) line_ydxi::e#0 [phi:line_ydxi/line_ydxi::@2->line_ydxi::@1#0] -- register_copy + //SEG172 [88] phi (byte) line_ydxi::y#3 = (byte) line_ydxi::y#6 [phi:line_ydxi/line_ydxi::@2->line_ydxi::@1#1] -- register_copy + //SEG173 [88] phi (byte) line_ydxi::x#3 = (byte) line_ydxi::x#5 [phi:line_ydxi/line_ydxi::@2->line_ydxi::@1#2] -- register_copy + //SEG174 line_ydxi::@1 + b1: + //SEG175 [89] (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 ] -- xby=zpby1 + ldx x + //SEG176 [90] (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 ] -- yby=zpby1 + ldy y + //SEG177 [91] 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 ] + //SEG178 [101] phi from line_ydxi::@1 to plot [phi:line_ydxi::@1->plot] + //SEG179 [101] phi (byte) plot::y#4 = (byte) plot::y#2 [phi:line_ydxi::@1->plot#0] -- register_copy + //SEG180 [101] phi (byte) plot::x#4 = (byte) plot::x#2 [phi:line_ydxi::@1->plot#1] -- register_copy + jsr plot + //SEG181 line_ydxi::@5 + //SEG182 [92] (byte) line_ydxi::y#2 ← (byte) line_ydxi::y#3 + (byte) 1 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::e#3 line_ydxi::y#2 ] -- zpby1=zpby1_plus_1 + inc y + //SEG183 [93] (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 ] -- zpby1=zpby1_plus_zpby2 + lda e + clc + adc xd + sta e + //SEG184 [94] 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 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp e + bcs b2 + //SEG185 line_ydxi::@3 + //SEG186 [95] (byte) line_ydxi::x#2 ← (byte) line_ydxi::x#3 + (byte) 1 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::e#1 line_ydxi::x#2 ] -- zpby1=zpby1_plus_1 + inc x + //SEG187 [96] (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 ] -- zpby1=zpby1_minus_zpby2 + lda e + sec + sbc yd + sta e + //SEG188 [97] phi from line_ydxi::@3 line_ydxi::@5 to line_ydxi::@2 [phi:line_ydxi::@3/line_ydxi::@5->line_ydxi::@2] + //SEG189 [97] phi (byte) line_ydxi::e#6 = (byte) line_ydxi::e#2 [phi:line_ydxi::@3/line_ydxi::@5->line_ydxi::@2#0] -- register_copy + //SEG190 [97] phi (byte) line_ydxi::x#6 = (byte) line_ydxi::x#2 [phi:line_ydxi::@3/line_ydxi::@5->line_ydxi::@2#1] -- register_copy + //SEG191 line_ydxi::@2 + b2: + //SEG192 [98] (byte~) line_ydxi::$8 ← (byte) line_ydxi::y1#6 + (byte) 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::$8 ] -- aby=zpby1_plus_1 + lda y1 + clc + adc #1 + //SEG193 [99] if((byte) line_ydxi::y#2<(byte~) line_ydxi::$8) 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 ] -- zpby1_lt_aby_then_la1 + cmp y + bcs b1 + //SEG194 line_ydxi::@return + //SEG195 [100] return [ ] + rts +} +//SEG196 plot plot: { - .label _5 = 15 - .label plotter_x = 6 - .label plotter_y = 13 - .label plotter = 6 - //SEG119 [63] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#9 [ plot::x#9 plot::y#9 plot::$0 ] -- aby=cowo1_staridx_xby + .label _5 = 31 + .label plotter_x = 27 + .label plotter_y = 29 + .label plotter = 27 + //SEG197 [102] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#4 [ plot::x#4 plot::y#4 plot::$0 ] -- aby=cowo1_staridx_xby lda plot_xhi,x - //SEG120 [64] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#9 plot::y#9 plot::plotter_x#1 ] -- zpptrby1=coby1_sethi_aby + //SEG198 [103] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#4 plot::y#4 plot::plotter_x#1 ] -- zpptrby1=coby1_sethi_aby sta plotter_x+1 lda #<0 sta plotter_x - //SEG121 [65] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#9 [ plot::x#9 plot::y#9 plot::plotter_x#1 plot::$1 ] -- aby=cowo1_staridx_xby + //SEG199 [104] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#4 [ plot::x#4 plot::y#4 plot::plotter_x#1 plot::$1 ] -- aby=cowo1_staridx_xby lda plot_xlo,x - //SEG122 [66] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#9 plot::y#9 plot::plotter_x#2 ] -- zpptrby1=zpptrby1_setlo_aby + //SEG200 [105] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#4 plot::y#4 plot::plotter_x#2 ] -- zpptrby1=zpptrby1_setlo_aby sta plotter_x - //SEG123 [67] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#9 [ plot::x#9 plot::y#9 plot::plotter_x#2 plot::$2 ] -- aby=cowo1_staridx_yby + //SEG201 [106] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#4 [ plot::x#4 plot::y#4 plot::plotter_x#2 plot::$2 ] -- aby=cowo1_staridx_yby lda plot_yhi,y - //SEG124 [68] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#9 plot::y#9 plot::plotter_x#2 plot::plotter_y#1 ] -- zpptrby1=coby1_sethi_aby + //SEG202 [107] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#4 plot::y#4 plot::plotter_x#2 plot::plotter_y#1 ] -- zpptrby1=coby1_sethi_aby sta plotter_y+1 lda #<0 sta plotter_y - //SEG125 [69] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#9 [ plot::x#9 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] -- aby=cowo1_staridx_yby + //SEG203 [108] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#4 [ plot::x#4 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] -- aby=cowo1_staridx_yby lda plot_ylo,y - //SEG126 [70] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#9 plot::plotter_x#2 plot::plotter_y#2 ] -- zpptrby1=zpptrby1_setlo_aby + //SEG204 [109] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#4 plot::plotter_x#2 plot::plotter_y#2 ] -- zpptrby1=zpptrby1_setlo_aby sta plotter_y - //SEG127 [71] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#9 plot::plotter#0 ] -- zpptrby1=zpptrby1_plus_zpptrby2 + //SEG205 [110] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#4 plot::plotter#0 ] -- zpptrby1=zpptrby1_plus_zpptrby2 lda plotter clc adc plotter_y @@ -13602,159 +21215,285 @@ plot: { lda plotter+1 adc plotter_y+1 sta plotter+1 - //SEG128 [72] (byte~) plot::$5 ← * (byte*) plot::plotter#0 [ plot::x#9 plot::plotter#0 plot::$5 ] -- zpby1=_star_zpptrby1 + //SEG206 [111] (byte~) plot::$5 ← * (byte*) plot::plotter#0 [ plot::x#4 plot::plotter#0 plot::$5 ] -- zpby1=_star_zpptrby1 ldy #0 lda (plotter),y sta _5 - //SEG129 [73] (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#9 [ plot::plotter#0 plot::$5 plot::$6 ] -- aby=cowo1_staridx_xby + //SEG207 [112] (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#4 [ plot::plotter#0 plot::$5 plot::$6 ] -- aby=cowo1_staridx_xby lda plot_bit,x - //SEG130 [74] (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 [ plot::plotter#0 plot::$7 ] -- aby=zpby1_bor_aby + //SEG208 [113] (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 [ plot::plotter#0 plot::$7 ] -- aby=zpby1_bor_aby ora _5 - //SEG131 [75] *((byte*) plot::plotter#0) ← (byte~) plot::$7 [ ] -- _star_zpptrby1=aby + //SEG209 [114] *((byte*) plot::plotter#0) ← (byte~) plot::$7 [ ] -- _star_zpptrby1=aby sta (plotter),y - //SEG132 plot::@return - //SEG133 [76] return [ ] + //SEG210 plot::@return + //SEG211 [115] return [ ] rts } -//SEG134 line_xdyi +//SEG212 line_xdyi line_xdyi: { - .label x = 3 - .label y = 4 + .label x = 12 + .label y = 13 .label x1 = 11 .label xd = 10 - .label yd = 12 - .label e = 5 - //SEG135 [77] (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#0 >> (byte) 1 [ line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::e#0 ] -- zpby1=zpby2_ror_1 + .label yd = 9 + .label e = 14 + //SEG213 [117] (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#2 >> (byte) 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 ] -- zpby1=zpby2_ror_1 lda yd lsr sta e - //SEG136 [78] phi from line_xdyi line_xdyi::@2 to line_xdyi::@1 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1] - //SEG137 [78] phi (byte) line_xdyi::e#3 = (byte) line_xdyi::e#0 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#0] -- register_copy - //SEG138 [78] phi (byte) line_xdyi::y#2 = (byte) line_xdyi::y#0 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#1] -- register_copy - //SEG139 [78] phi (byte) line_xdyi::x#2 = (byte) line_xdyi::x#0 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#2] -- register_copy - //SEG140 line_xdyi::@1 + //SEG214 [118] phi from line_xdyi line_xdyi::@2 to line_xdyi::@1 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1] + //SEG215 [118] phi (byte) line_xdyi::e#3 = (byte) line_xdyi::e#0 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#0] -- register_copy + //SEG216 [118] phi (byte) line_xdyi::y#3 = (byte) line_xdyi::y#5 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#1] -- register_copy + //SEG217 [118] phi (byte) line_xdyi::x#3 = (byte) line_xdyi::x#6 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#2] -- register_copy + //SEG218 line_xdyi::@1 b1: - //SEG141 [79] (byte) plot::x#8 ← (byte) line_xdyi::x#2 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 plot::x#8 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] -- xby=zpby1 + //SEG219 [119] (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 ] -- xby=zpby1 ldx x - //SEG142 [80] (byte) plot::y#8 ← (byte) line_xdyi::y#2 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 plot::x#8 plot::y#8 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] -- yby=zpby1 + //SEG220 [120] (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 ] -- yby=zpby1 ldy y - //SEG143 [81] call plot param-assignment [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] - //SEG144 [62] phi from line_xdyi::@1 to plot [phi:line_xdyi::@1->plot] - //SEG145 [62] phi (byte) plot::y#9 = (byte) plot::y#8 [phi:line_xdyi::@1->plot#0] -- register_copy - //SEG146 [62] phi (byte) plot::x#9 = (byte) plot::x#8 [phi:line_xdyi::@1->plot#1] -- register_copy + //SEG221 [121] 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 ] + //SEG222 [101] phi from line_xdyi::@1 to plot [phi:line_xdyi::@1->plot] + //SEG223 [101] phi (byte) plot::y#4 = (byte) plot::y#0 [phi:line_xdyi::@1->plot#0] -- register_copy + //SEG224 [101] phi (byte) plot::x#4 = (byte) plot::x#0 [phi:line_xdyi::@1->plot#1] -- register_copy jsr plot - //SEG147 line_xdyi::@5 - //SEG148 [82] (byte) line_xdyi::x#1 ← (byte) line_xdyi::x#2 + (byte) 1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::y#2 line_xdyi::e#3 line_xdyi::x#1 ] -- zpby1=zpby1_plus_1 + //SEG225 line_xdyi::@5 + //SEG226 [122] (byte) line_xdyi::x#2 ← (byte) line_xdyi::x#3 + (byte) 1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::e#3 line_xdyi::x#2 ] -- zpby1=zpby1_plus_1 inc x - //SEG149 [83] (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#0 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::y#2 line_xdyi::x#1 line_xdyi::e#1 ] -- zpby1=zpby1_plus_zpby2 + //SEG227 [123] (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 ] -- zpby1=zpby1_plus_zpby2 lda e clc adc yd sta e - //SEG150 [84] if((byte) line_xdyi::xd#0>=(byte) line_xdyi::e#1) goto line_xdyi::@2 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::y#2 line_xdyi::x#1 line_xdyi::e#1 ] -- zpby1_ge_zpby2_then_la1 + //SEG228 [124] 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 ] -- zpby1_ge_zpby2_then_la1 lda xd cmp e bcs b2 - //SEG151 line_xdyi::@3 - //SEG152 [85] (byte) line_xdyi::y#1 ← (byte) line_xdyi::y#2 + (byte) 1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::e#1 line_xdyi::y#1 ] -- zpby1=zpby1_plus_1 + //SEG229 line_xdyi::@3 + //SEG230 [125] (byte) line_xdyi::y#2 ← (byte) line_xdyi::y#3 + (byte) 1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::e#1 line_xdyi::y#2 ] -- zpby1=zpby1_plus_1 inc y - //SEG153 [86] (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#0 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#1 line_xdyi::e#2 ] -- zpby1=zpby1_minus_zpby2 + //SEG231 [126] (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 ] -- zpby1=zpby1_minus_zpby2 lda e sec sbc xd sta e - //SEG154 [87] phi from line_xdyi::@3 line_xdyi::@5 to line_xdyi::@2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2] - //SEG155 [87] phi (byte) line_xdyi::e#6 = (byte) line_xdyi::e#2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2#0] -- register_copy - //SEG156 [87] phi (byte) line_xdyi::y#5 = (byte) line_xdyi::y#1 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2#1] -- register_copy - //SEG157 line_xdyi::@2 + //SEG232 [127] phi from line_xdyi::@3 line_xdyi::@5 to line_xdyi::@2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2] + //SEG233 [127] phi (byte) line_xdyi::e#6 = (byte) line_xdyi::e#2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2#0] -- register_copy + //SEG234 [127] phi (byte) line_xdyi::y#6 = (byte) line_xdyi::y#2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2#1] -- register_copy + //SEG235 line_xdyi::@2 b2: - //SEG158 [88] (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#0 + (byte) 1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#5 line_xdyi::e#6 line_xdyi::$8 ] -- aby=zpby1_plus_1 + //SEG236 [128] (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#6 + (byte) 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::$8 ] -- aby=zpby1_plus_1 lda x1 clc adc #1 - //SEG159 [89] if((byte) line_xdyi::x#1<(byte~) line_xdyi::$8) goto line_xdyi::@1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#5 line_xdyi::e#6 ] -- zpby1_lt_aby_then_la1 + //SEG237 [129] if((byte) line_xdyi::x#2<(byte~) line_xdyi::$8) 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 ] -- zpby1_lt_aby_then_la1 cmp x bcs b1 - //SEG160 line_xdyi::@return - //SEG161 [90] return [ ] + //SEG238 line_xdyi::@return + //SEG239 [130] return [ ] rts } -//SEG162 init_plot_tables +//SEG240 line_ydxd +line_ydxd: { + .label y = 19 + .label x = 18 + .label y1 = 17 + .label yd = 16 + .label xd = 15 + .label e = 20 + //SEG241 [132] (byte) line_ydxd::e#0 ← (byte) line_ydxd::xd#2 >> (byte) 1 [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] -- zpby1=zpby2_ror_1 + lda xd + lsr + sta e + //SEG242 [133] phi from line_ydxd line_ydxd::@2 to line_ydxd::@1 [phi:line_ydxd/line_ydxd::@2->line_ydxd::@1] + //SEG243 [133] phi (byte) line_ydxd::e#3 = (byte) line_ydxd::e#0 [phi:line_ydxd/line_ydxd::@2->line_ydxd::@1#0] -- register_copy + //SEG244 [133] phi (byte) line_ydxd::y#3 = (byte) line_ydxd::y#6 [phi:line_ydxd/line_ydxd::@2->line_ydxd::@1#1] -- register_copy + //SEG245 [133] phi (byte) line_ydxd::x#3 = (byte) line_ydxd::x#5 [phi:line_ydxd/line_ydxd::@2->line_ydxd::@1#2] -- register_copy + //SEG246 line_ydxd::@1 + b1: + //SEG247 [134] (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#3 line_ydxd::e#3 ] -- xby=zpby1 + ldx x + //SEG248 [135] (byte) plot::y#3 ← (byte) line_ydxd::y#3 [ 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#3 line_ydxd::e#3 ] -- yby=zpby1 + ldy y + //SEG249 [136] call plot param-assignment [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] + //SEG250 [101] phi from line_ydxd::@1 to plot [phi:line_ydxd::@1->plot] + //SEG251 [101] phi (byte) plot::y#4 = (byte) plot::y#3 [phi:line_ydxd::@1->plot#0] -- register_copy + //SEG252 [101] phi (byte) plot::x#4 = (byte) plot::x#3 [phi:line_ydxd::@1->plot#1] -- register_copy + jsr plot + //SEG253 line_ydxd::@5 + //SEG254 [137] (byte) line_ydxd::y#2 ← (byte) line_ydxd::y#3 + (byte) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::e#3 line_ydxd::y#2 ] -- zpby1=zpby1_plus_1 + inc y + //SEG255 [138] (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#2 line_ydxd::e#1 ] -- zpby1=zpby1_plus_zpby2 + lda e + clc + adc xd + sta e + //SEG256 [139] 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#2 line_ydxd::e#1 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp e + bcs b2 + //SEG257 line_ydxd::@3 + //SEG258 [140] (byte) line_ydxd::x#2 ← (byte) line_ydxd::x#3 - (byte) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#2 line_ydxd::e#1 line_ydxd::x#2 ] -- zpby1=zpby1_minus_1 + dec x + //SEG259 [141] (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#2 line_ydxd::x#2 line_ydxd::e#2 ] -- zpby1=zpby1_minus_zpby2 + lda e + sec + sbc yd + sta e + //SEG260 [142] phi from line_ydxd::@3 line_ydxd::@5 to line_ydxd::@2 [phi:line_ydxd::@3/line_ydxd::@5->line_ydxd::@2] + //SEG261 [142] phi (byte) line_ydxd::e#6 = (byte) line_ydxd::e#2 [phi:line_ydxd::@3/line_ydxd::@5->line_ydxd::@2#0] -- register_copy + //SEG262 [142] phi (byte) line_ydxd::x#6 = (byte) line_ydxd::x#2 [phi:line_ydxd::@3/line_ydxd::@5->line_ydxd::@2#1] -- register_copy + //SEG263 line_ydxd::@2 + b2: + //SEG264 [143] (byte~) line_ydxd::$8 ← (byte) line_ydxd::y1#6 + (byte) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 line_ydxd::$8 ] -- aby=zpby1_plus_1 + lda y1 + clc + adc #1 + //SEG265 [144] if((byte) line_ydxd::y#2<(byte~) line_ydxd::$8) goto line_ydxd::@1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 ] -- zpby1_lt_aby_then_la1 + cmp y + bcs b1 + //SEG266 line_ydxd::@return + //SEG267 [145] return [ ] + rts +} +//SEG268 line_xdyd +line_xdyd: { + .label x = 24 + .label y = 25 + .label x1 = 23 + .label xd = 22 + .label yd = 21 + .label e = 26 + //SEG269 [147] (byte) line_xdyd::e#0 ← (byte) line_xdyd::yd#2 >> (byte) 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 ] -- zpby1=zpby2_ror_1 + lda yd + lsr + sta e + //SEG270 [148] phi from line_xdyd line_xdyd::@2 to line_xdyd::@1 [phi:line_xdyd/line_xdyd::@2->line_xdyd::@1] + //SEG271 [148] phi (byte) line_xdyd::e#3 = (byte) line_xdyd::e#0 [phi:line_xdyd/line_xdyd::@2->line_xdyd::@1#0] -- register_copy + //SEG272 [148] phi (byte) line_xdyd::y#3 = (byte) line_xdyd::y#5 [phi:line_xdyd/line_xdyd::@2->line_xdyd::@1#1] -- register_copy + //SEG273 [148] phi (byte) line_xdyd::x#3 = (byte) line_xdyd::x#6 [phi:line_xdyd/line_xdyd::@2->line_xdyd::@1#2] -- register_copy + //SEG274 line_xdyd::@1 + b1: + //SEG275 [149] (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 ] -- xby=zpby1 + ldx x + //SEG276 [150] (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 ] -- yby=zpby1 + ldy y + //SEG277 [151] 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 ] + //SEG278 [101] phi from line_xdyd::@1 to plot [phi:line_xdyd::@1->plot] + //SEG279 [101] phi (byte) plot::y#4 = (byte) plot::y#1 [phi:line_xdyd::@1->plot#0] -- register_copy + //SEG280 [101] phi (byte) plot::x#4 = (byte) plot::x#1 [phi:line_xdyd::@1->plot#1] -- register_copy + jsr plot + //SEG281 line_xdyd::@5 + //SEG282 [152] (byte) line_xdyd::x#2 ← (byte) line_xdyd::x#3 + (byte) 1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::e#3 line_xdyd::x#2 ] -- zpby1=zpby1_plus_1 + inc x + //SEG283 [153] (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 ] -- zpby1=zpby1_plus_zpby2 + lda e + clc + adc yd + sta e + //SEG284 [154] 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 ] -- zpby1_ge_zpby2_then_la1 + lda xd + cmp e + bcs b2 + //SEG285 line_xdyd::@3 + //SEG286 [155] (byte) line_xdyd::y#2 ← (byte) line_xdyd::y#3 - (byte) 1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::e#1 line_xdyd::y#2 ] -- zpby1=zpby1_minus_1 + dec y + //SEG287 [156] (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 ] -- zpby1=zpby1_minus_zpby2 + lda e + sec + sbc xd + sta e + //SEG288 [157] phi from line_xdyd::@3 line_xdyd::@5 to line_xdyd::@2 [phi:line_xdyd::@3/line_xdyd::@5->line_xdyd::@2] + //SEG289 [157] phi (byte) line_xdyd::e#6 = (byte) line_xdyd::e#2 [phi:line_xdyd::@3/line_xdyd::@5->line_xdyd::@2#0] -- register_copy + //SEG290 [157] phi (byte) line_xdyd::y#6 = (byte) line_xdyd::y#2 [phi:line_xdyd::@3/line_xdyd::@5->line_xdyd::@2#1] -- register_copy + //SEG291 line_xdyd::@2 + b2: + //SEG292 [158] (byte~) line_xdyd::$8 ← (byte) line_xdyd::x1#6 + (byte) 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::$8 ] -- aby=zpby1_plus_1 + lda x1 + clc + adc #1 + //SEG293 [159] if((byte) line_xdyd::x#2<(byte~) line_xdyd::$8) 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 ] -- zpby1_lt_aby_then_la1 + cmp x + bcs b1 + //SEG294 line_xdyd::@return + //SEG295 [160] return [ ] + rts +} +//SEG296 init_plot_tables init_plot_tables: { .label _6 = 2 - .label yoffs = 6 - //SEG163 [92] phi from init_plot_tables to init_plot_tables::@1 [phi:init_plot_tables->init_plot_tables::@1] - //SEG164 [92] phi (byte) init_plot_tables::bit#3 = (byte) 128 [phi:init_plot_tables->init_plot_tables::@1#0] -- yby=coby1 + .label yoffs = 27 + //SEG297 [162] phi from init_plot_tables to init_plot_tables::@1 [phi:init_plot_tables->init_plot_tables::@1] + //SEG298 [162] phi (byte) init_plot_tables::bit#3 = (byte) 128 [phi:init_plot_tables->init_plot_tables::@1#0] -- yby=coby1 ldy #$80 - //SEG165 [92] phi (byte) init_plot_tables::x#2 = (byte) 0 [phi:init_plot_tables->init_plot_tables::@1#1] -- xby=coby1 + //SEG299 [162] phi (byte) init_plot_tables::x#2 = (byte) 0 [phi:init_plot_tables->init_plot_tables::@1#1] -- xby=coby1 ldx #0 - //SEG166 [92] phi from init_plot_tables::@2 to init_plot_tables::@1 [phi:init_plot_tables::@2->init_plot_tables::@1] - //SEG167 [92] phi (byte) init_plot_tables::bit#3 = (byte) init_plot_tables::bit#4 [phi:init_plot_tables::@2->init_plot_tables::@1#0] -- register_copy - //SEG168 [92] 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 - //SEG169 init_plot_tables::@1 + //SEG300 [162] phi from init_plot_tables::@2 to init_plot_tables::@1 [phi:init_plot_tables::@2->init_plot_tables::@1] + //SEG301 [162] phi (byte) init_plot_tables::bit#3 = (byte) init_plot_tables::bit#4 [phi:init_plot_tables::@2->init_plot_tables::@1#0] -- register_copy + //SEG302 [162] 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 + //SEG303 init_plot_tables::@1 b1: - //SEG170 [93] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bit#3 init_plot_tables::$0 ] -- aby=xby_band_coby1 + //SEG304 [163] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bit#3 init_plot_tables::$0 ] -- aby=xby_band_coby1 txa and #$f8 - //SEG171 [94] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_xby=aby + //SEG305 [164] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_xby=aby sta plot_xlo,x - //SEG172 [95] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_xby=coby2 + //SEG306 [165] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_xby=coby2 lda #>BITMAP sta plot_xhi,x - //SEG173 [96] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bit#3 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_xby=yby + //SEG307 [166] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bit#3 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_xby=yby tya sta plot_bit,x - //SEG174 [97] (byte) init_plot_tables::bit#1 ← (byte) init_plot_tables::bit#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bit#1 ] -- yby=yby_ror_1 + //SEG308 [167] (byte) init_plot_tables::bit#1 ← (byte) init_plot_tables::bit#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bit#1 ] -- yby=yby_ror_1 tya lsr tay - //SEG175 [98] if((byte) init_plot_tables::bit#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] -- yby_neq_0_then_la1 + //SEG309 [168] if((byte) init_plot_tables::bit#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] -- yby_neq_0_then_la1 cpy #0 bne b10 - //SEG176 [99] phi from init_plot_tables::@1 to init_plot_tables::@2 [phi:init_plot_tables::@1->init_plot_tables::@2] - //SEG177 [99] phi (byte) init_plot_tables::bit#4 = (byte) 128 [phi:init_plot_tables::@1->init_plot_tables::@2#0] -- yby=coby1 + //SEG310 [169] phi from init_plot_tables::@1 to init_plot_tables::@2 [phi:init_plot_tables::@1->init_plot_tables::@2] + //SEG311 [169] phi (byte) init_plot_tables::bit#4 = (byte) 128 [phi:init_plot_tables::@1->init_plot_tables::@2#0] -- yby=coby1 ldy #$80 - //SEG178 init_plot_tables::@2 + //SEG312 init_plot_tables::@2 b2: - //SEG179 [100] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bit#4 ] -- xby=_inc_xby + //SEG313 [170] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bit#4 ] -- xby=_inc_xby inx - //SEG180 [101] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bit#4 ] -- xby_neq_0_then_la1 + //SEG314 [171] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bit#4 ] -- xby_neq_0_then_la1 cpx #0 bne b1 - //SEG181 [102] phi from init_plot_tables::@2 to init_plot_tables::@3 [phi:init_plot_tables::@2->init_plot_tables::@3] - //SEG182 [102] phi (byte*) init_plot_tables::yoffs#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#0] -- zpptrby1=coby1 + //SEG315 [172] phi from init_plot_tables::@2 to init_plot_tables::@3 [phi:init_plot_tables::@2->init_plot_tables::@3] + //SEG316 [172] phi (byte*) init_plot_tables::yoffs#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#0] -- zpptrby1=coby1 lda #0 sta yoffs sta yoffs+1 - //SEG183 [102] phi (byte) init_plot_tables::y#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#1] -- xby=coby1 + //SEG317 [172] phi (byte) init_plot_tables::y#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#1] -- xby=coby1 ldx #0 - //SEG184 [102] phi from init_plot_tables::@4 to init_plot_tables::@3 [phi:init_plot_tables::@4->init_plot_tables::@3] - //SEG185 [102] 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 - //SEG186 [102] 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 - //SEG187 init_plot_tables::@3 + //SEG318 [172] phi from init_plot_tables::@4 to init_plot_tables::@3 [phi:init_plot_tables::@4->init_plot_tables::@3] + //SEG319 [172] 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 + //SEG320 [172] 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 + //SEG321 init_plot_tables::@3 b3: - //SEG188 [103] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] -- zpby1=xby_band_coby1 + //SEG322 [173] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] -- zpby1=xby_band_coby1 txa and #7 sta _6 - //SEG189 [104] (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 ] -- aby=_lo_zpptrby1 + //SEG323 [174] (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 ] -- aby=_lo_zpptrby1 lda yoffs - //SEG190 [105] (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 ] -- aby=zpby1_bor_aby + //SEG324 [175] (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 ] -- aby=zpby1_bor_aby ora _6 - //SEG191 [106] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- cowo1_staridx_xby=aby + //SEG325 [176] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- cowo1_staridx_xby=aby sta plot_ylo,x - //SEG192 [107] (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 ] -- aby=_hi_zpptrby1 + //SEG326 [177] (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 ] -- aby=_hi_zpptrby1 lda yoffs+1 - //SEG193 [108] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- cowo1_staridx_xby=aby + //SEG327 [178] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- cowo1_staridx_xby=aby sta plot_yhi,x - //SEG194 [109] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] -- aby=xby_band_coby1 + //SEG328 [179] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] -- aby=xby_band_coby1 txa and #7 - //SEG195 [110] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- aby_neq_coby1_then_la1 + //SEG329 [180] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- aby_neq_coby1_then_la1 cmp #7 bne b4 - //SEG196 init_plot_tables::@7 - //SEG197 [111] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] -- zpptrby1=zpptrby1_plus_cowo1 + //SEG330 init_plot_tables::@7 + //SEG331 [181] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] -- zpptrby1=zpptrby1_plus_cowo1 lda yoffs clc adc #<$140 @@ -13762,87 +21501,87 @@ init_plot_tables: { lda yoffs+1 adc #>$140 sta yoffs+1 - //SEG198 [112] 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] - //SEG199 [112] 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 - //SEG200 init_plot_tables::@4 + //SEG332 [182] 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] + //SEG333 [182] 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 + //SEG334 init_plot_tables::@4 b4: - //SEG201 [113] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] -- xby=_inc_xby + //SEG335 [183] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] -- xby=_inc_xby inx - //SEG202 [114] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] -- xby_neq_0_then_la1 + //SEG336 [184] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] -- xby_neq_0_then_la1 cpx #0 bne b3 - //SEG203 init_plot_tables::@return - //SEG204 [115] return [ ] + //SEG337 init_plot_tables::@return + //SEG338 [185] return [ ] rts - //SEG205 init_plot_tables::@10 + //SEG339 init_plot_tables::@10 b10: - //SEG206 [99] phi from init_plot_tables::@10 to init_plot_tables::@2 [phi:init_plot_tables::@10->init_plot_tables::@2] - //SEG207 [99] phi (byte) init_plot_tables::bit#4 = (byte) init_plot_tables::bit#1 [phi:init_plot_tables::@10->init_plot_tables::@2#0] -- register_copy + //SEG340 [169] phi from init_plot_tables::@10 to init_plot_tables::@2 [phi:init_plot_tables::@10->init_plot_tables::@2] + //SEG341 [169] phi (byte) init_plot_tables::bit#4 = (byte) init_plot_tables::bit#1 [phi:init_plot_tables::@10->init_plot_tables::@2#0] -- register_copy jmp b2 } -//SEG208 init_screen +//SEG342 init_screen init_screen: { - .label b = 6 - .label c = 6 - //SEG209 [117] phi from init_screen to init_screen::@1 [phi:init_screen->init_screen::@1] - //SEG210 [117] phi (byte*) init_screen::b#2 = (const byte*) BITMAP#0 [phi:init_screen->init_screen::@1#0] -- zpptrby1=cowo1 + .label b = 27 + .label c = 27 + //SEG343 [187] phi from init_screen to init_screen::@1 [phi:init_screen->init_screen::@1] + //SEG344 [187] phi (byte*) init_screen::b#2 = (const byte*) BITMAP#0 [phi:init_screen->init_screen::@1#0] -- zpptrby1=cowo1 lda #BITMAP sta b+1 - //SEG211 [117] phi from init_screen::@1 to init_screen::@1 [phi:init_screen::@1->init_screen::@1] - //SEG212 [117] phi (byte*) init_screen::b#2 = (byte*) init_screen::b#1 [phi:init_screen::@1->init_screen::@1#0] -- register_copy - //SEG213 init_screen::@1 + //SEG345 [187] phi from init_screen::@1 to init_screen::@1 [phi:init_screen::@1->init_screen::@1] + //SEG346 [187] phi (byte*) init_screen::b#2 = (byte*) init_screen::b#1 [phi:init_screen::@1->init_screen::@1#0] -- register_copy + //SEG347 init_screen::@1 b1: - //SEG214 [118] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] -- _star_zpptrby1=coby1 + //SEG348 [188] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] -- _star_zpptrby1=coby1 ldy #0 lda #0 sta (b),y - //SEG215 [119] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] -- zpptrby1=_inc_zpptrby1 + //SEG349 [189] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] -- zpptrby1=_inc_zpptrby1 inc b bne !+ inc b+1 !: - //SEG216 [120] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] -- zpptrby1_neq_cowo1_then_la1 + //SEG350 [190] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] -- zpptrby1_neq_cowo1_then_la1 lda b+1 cmp #>BITMAP+$2000 bne b1 lda b cmp #init_screen::@2] - //SEG218 [121] phi (byte*) init_screen::c#2 = (const byte*) SCREEN#0 [phi:init_screen::@1->init_screen::@2#0] -- zpptrby1=cowo1 + //SEG351 [191] phi from init_screen::@1 to init_screen::@2 [phi:init_screen::@1->init_screen::@2] + //SEG352 [191] phi (byte*) init_screen::c#2 = (const byte*) SCREEN#0 [phi:init_screen::@1->init_screen::@2#0] -- zpptrby1=cowo1 lda #SCREEN sta c+1 - //SEG219 [121] phi from init_screen::@2 to init_screen::@2 [phi:init_screen::@2->init_screen::@2] - //SEG220 [121] phi (byte*) init_screen::c#2 = (byte*) init_screen::c#1 [phi:init_screen::@2->init_screen::@2#0] -- register_copy - //SEG221 init_screen::@2 + //SEG353 [191] phi from init_screen::@2 to init_screen::@2 [phi:init_screen::@2->init_screen::@2] + //SEG354 [191] phi (byte*) init_screen::c#2 = (byte*) init_screen::c#1 [phi:init_screen::@2->init_screen::@2#0] -- register_copy + //SEG355 init_screen::@2 b2: - //SEG222 [122] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] -- _star_zpptrby1=coby1 + //SEG356 [192] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] -- _star_zpptrby1=coby1 ldy #0 lda #$14 sta (c),y - //SEG223 [123] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] -- zpptrby1=_inc_zpptrby1 + //SEG357 [193] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] -- zpptrby1=_inc_zpptrby1 inc c bne !+ inc c+1 !: - //SEG224 [124] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] -- zpptrby1_neq_cowo1_then_la1 + //SEG358 [194] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] -- zpptrby1_neq_cowo1_then_la1 lda c+1 cmp #>SCREEN+$400 bne b2 lda c cmp #init_screen] + //SEG11 [186] phi from main to init_screen [phi:main->init_screen] jsr init_screen //SEG12 main::@3 //SEG13 [6] call init_plot_tables param-assignment [ ] - //SEG14 [91] phi from main::@3 to init_plot_tables [phi:main::@3->init_plot_tables] + //SEG14 [161] phi from main::@3 to init_plot_tables [phi:main::@3->init_plot_tables] jsr init_plot_tables //SEG15 main::@1 b1: @@ -14171,13 +22047,13 @@ lines: { tax //SEG32 [16] (byte) line::x0#0 ← (byte~) lines::$0 [ lines::l#2 lines::$2 lines::$3 lines::$5 line::x0#0 ] -- zpby1=yby sty line.x0 - //SEG33 [17] (byte) line::x1#0 ← (byte~) lines::$2 [ lines::l#2 lines::$3 lines::$5 line::x0#0 line::x1#0 ] -- zpby1=zpby2 - lda _2 - sta line.x1 - //SEG34 [18] (byte) line::y0#0 ← (byte~) lines::$3 [ lines::l#2 lines::$5 line::x0#0 line::x1#0 line::y0#0 ] -- yby=zpby1 - ldy _3 - //SEG35 [19] (byte) line::y1#0 ← (byte~) lines::$5 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] -- zpby1=xby - stx line.y1 + //SEG33 [17] (byte) line::x1#0 ← (byte~) lines::$2 [ lines::l#2 lines::$3 lines::$5 line::x0#0 line::x1#0 ] -- yby=zpby1 + ldy _2 + //SEG34 [18] (byte) line::y0#0 ← (byte~) lines::$3 [ lines::l#2 lines::$5 line::x0#0 line::x1#0 line::y0#0 ] -- zpby1=zpby2 + lda _3 + sta line.y0 + //SEG35 [19] (byte) line::y1#0 ← (byte~) lines::$5 [ lines::l#2 line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] + // (byte) line::y1#0 = (byte~) lines::$5 // register copy reg byte x //SEG36 [20] call line param-assignment [ lines::l#2 ] jsr line //SEG37 lines::@3 @@ -14194,175 +22070,360 @@ lines: { //SEG42 line line: { .label x0 = 5 - .label x1 = 8 - .label y1 = 9 - .label xd = 10 - //SEG43 [24] if((byte) line::x0#0>=(byte) line::x1#0) goto line::@1 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] -- zpby1_ge_zpby2_then_la1 - lda x0 - cmp x1 - bcs b1 - //SEG44 line::@9 - //SEG45 [25] (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 ] -- zpby1=zpby2_minus_zpby3 - lda x1 + .label y0 = 3 + .label xd = 8 + .label yd = 4 + //SEG43 [24] if((byte) line::x0#0>=(byte) line::x1#0) goto line::@1 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] -- zpby1_ge_yby_then_la1 + cpy x0 + bcc b1 + //SEG44 line::@15 + //SEG45 [25] (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 ] -- zpby1=yby_minus_zpby2 + tya sec sbc x0 sta xd - //SEG46 [26] 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 ] -- yby_ge_zpby1_then_la1 - cpy y1 - bcs b2 - //SEG47 line::@10 - //SEG48 [27] (byte) line::yd#0 ← (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#0 ] -- xby=zpby1_minus_yby - sty $ff - lda y1 + //SEG46 [26] 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 ] -- zpby1_ge_xby_then_la1 + cpx y0 + bcc b2 + //SEG47 line::@16 + //SEG48 [27] (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 ] -- zpby1=xby_minus_zpby2 + txa sec - sbc $ff - tax - //SEG49 [28] if((byte) line::yd#0>=(byte) line::xd#1) goto line::@3 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 line::xd#1 line::yd#0 ] -- xby_ge_zpby1_then_la1 - cpx xd + sbc y0 + sta yd + //SEG49 [28] 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 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp xd bcs b3 - //SEG50 line::@11 - //SEG51 [29] (byte) line_xdyi::x#0 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::xd#1 line::yd#0 line_xdyi::x#0 ] -- zpby1=zpby2 + //SEG50 line::@17 + //SEG51 [29] (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 ] -- zpby1=zpby2 lda x0 sta line_xdyi.x - //SEG52 [30] (byte) line_xdyi::y#0 ← (byte) line::y0#0 [ line::x1#0 line::xd#1 line::yd#0 line_xdyi::x#0 line_xdyi::y#0 ] -- zpby1=yby - sty line_xdyi.y - //SEG53 [31] (byte) line_xdyi::x1#0 ← (byte) line::x1#0 [ line::xd#1 line::yd#0 line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 ] -- zpby1=zpby2 - lda x1 - sta line_xdyi.x1 - //SEG54 [32] (byte) line_xdyi::xd#0 ← (byte) line::xd#1 [ line::yd#0 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:10 - //SEG55 [33] (byte) line_xdyi::yd#0 ← (byte) line::yd#0 [ line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 ] -- zpby1=xby - stx line_xdyi.yd + //SEG52 [30] (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 ] -- zpby1=zpby2 + lda y0 + sta line_xdyi.y + //SEG53 [31] (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 ] -- zpby1=yby + sty line_xdyi.x1 + //SEG54 [32] (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 ] -- zpby1=zpby2 + lda xd + sta line_xdyi.xd + //SEG55 [33] (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 ] -- zpby1=zpby2 + lda yd + sta line_xdyi.yd //SEG56 [34] call line_xdyi param-assignment [ ] + //SEG57 [116] phi from line::@17 to line_xdyi [phi:line::@17->line_xdyi] + //SEG58 [116] phi (byte) line_xdyi::x1#6 = (byte) line_xdyi::x1#0 [phi:line::@17->line_xdyi#0] -- register_copy + //SEG59 [116] phi (byte) line_xdyi::xd#5 = (byte) line_xdyi::xd#0 [phi:line::@17->line_xdyi#1] -- register_copy + //SEG60 [116] phi (byte) line_xdyi::y#5 = (byte) line_xdyi::y#0 [phi:line::@17->line_xdyi#2] -- register_copy + //SEG61 [116] phi (byte) line_xdyi::x#6 = (byte) line_xdyi::x#0 [phi:line::@17->line_xdyi#3] -- register_copy + //SEG62 [116] phi (byte) line_xdyi::yd#2 = (byte) line_xdyi::yd#0 [phi:line::@17->line_xdyi#4] -- register_copy jsr line_xdyi - //SEG57 line::@return + //SEG63 line::@return breturn: - //SEG58 [35] return [ ] + //SEG64 [35] return [ ] rts - //SEG59 line::@3 + //SEG65 line::@3 b3: - //SEG60 [36] (byte) plot::x#2 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#2 ] -- xby=zpby1 - ldx x0 - //SEG61 [37] (byte) plot::y#2 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#2 plot::y#2 ] - // (byte) plot::y#2 = (byte) line::y0#0 // register copy reg byte y - //SEG62 [38] call plot param-assignment [ line::x1#0 line::y1#0 ] - //SEG63 [62] phi from line::@3 to plot [phi:line::@3->plot] - //SEG64 [62] phi (byte) plot::y#9 = (byte) plot::y#2 [phi:line::@3->plot#0] -- register_copy - //SEG65 [62] phi (byte) plot::x#9 = (byte) plot::x#2 [phi:line::@3->plot#1] -- register_copy - jsr plot - //SEG66 line::@19 - //SEG67 [39] (byte) plot::x#3 ← (byte) line::x1#0 [ line::y1#0 plot::x#3 ] -- xby=zpby1 - ldx x1 - //SEG68 [40] (byte) plot::y#3 ← (byte) line::y1#0 [ plot::x#3 plot::y#3 ] -- yby=zpby1 - ldy y1 - //SEG69 [41] call plot param-assignment [ ] - //SEG70 [62] phi from line::@19 to plot [phi:line::@19->plot] - //SEG71 [62] phi (byte) plot::y#9 = (byte) plot::y#3 [phi:line::@19->plot#0] -- register_copy - //SEG72 [62] phi (byte) plot::x#9 = (byte) plot::x#3 [phi:line::@19->plot#1] -- register_copy - jsr plot + //SEG66 [36] (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 ] -- zpby1=zpby2 + lda y0 + sta line_ydxi.y + //SEG67 [37] (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 ] -- zpby1=zpby2 + lda x0 + sta line_ydxi.x + //SEG68 [38] (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 ] -- zpby1=xby + stx line_ydxi.y1 + //SEG69 [39] (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 ] + // (byte) line_ydxi::yd#0 = (byte) line::yd#1 // register copy zp ZP_BYTE:4 + //SEG70 [40] (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 ] -- zpby1=zpby2 + lda xd + sta line_ydxi.xd + //SEG71 [41] call line_ydxi param-assignment [ ] + //SEG72 [86] phi from line::@3 to line_ydxi [phi:line::@3->line_ydxi] + //SEG73 [86] phi (byte) line_ydxi::y1#6 = (byte) line_ydxi::y1#0 [phi:line::@3->line_ydxi#0] -- register_copy + //SEG74 [86] phi (byte) line_ydxi::yd#5 = (byte) line_ydxi::yd#0 [phi:line::@3->line_ydxi#1] -- register_copy + //SEG75 [86] phi (byte) line_ydxi::y#6 = (byte) line_ydxi::y#0 [phi:line::@3->line_ydxi#2] -- register_copy + //SEG76 [86] phi (byte) line_ydxi::x#5 = (byte) line_ydxi::x#0 [phi:line::@3->line_ydxi#3] -- register_copy + //SEG77 [86] phi (byte) line_ydxi::xd#2 = (byte) line_ydxi::xd#0 [phi:line::@3->line_ydxi#4] -- register_copy + jsr line_ydxi jmp breturn - //SEG73 line::@2 + //SEG78 line::@2 b2: - //SEG74 [42] (byte) plot::x#0 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#0 ] -- xby=zpby1 - ldx x0 - //SEG75 [43] (byte) plot::y#0 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#0 plot::y#0 ] - // (byte) plot::y#0 = (byte) line::y0#0 // register copy reg byte y - //SEG76 [44] call plot param-assignment [ line::x1#0 line::y1#0 ] - //SEG77 [62] phi from line::@2 to plot [phi:line::@2->plot] - //SEG78 [62] phi (byte) plot::y#9 = (byte) plot::y#0 [phi:line::@2->plot#0] -- register_copy - //SEG79 [62] phi (byte) plot::x#9 = (byte) plot::x#0 [phi:line::@2->plot#1] -- register_copy - jsr plot - //SEG80 line::@17 - //SEG81 [45] (byte) plot::x#1 ← (byte) line::x1#0 [ line::y1#0 plot::x#1 ] -- xby=zpby1 - ldx x1 - //SEG82 [46] (byte) plot::y#1 ← (byte) line::y1#0 [ plot::x#1 plot::y#1 ] -- yby=zpby1 - ldy y1 - //SEG83 [47] call plot param-assignment [ ] - //SEG84 [62] phi from line::@17 to plot [phi:line::@17->plot] - //SEG85 [62] phi (byte) plot::y#9 = (byte) plot::y#1 [phi:line::@17->plot#0] -- register_copy - //SEG86 [62] phi (byte) plot::x#9 = (byte) plot::x#1 [phi:line::@17->plot#1] -- register_copy - jsr plot - jmp breturn - //SEG87 line::@1 - b1: - //SEG88 [48] (byte) line::xd#0 ← (byte) line::x1#0 - (byte) line::x0#0 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] -- aby=zpby1_minus_zpby2 - lda x1 + //SEG79 [42] (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 ] -- zpby1=zpby2_minus_xby + stx $ff + lda y0 sec - sbc x0 - //SEG89 [49] if((byte) line::y0#0>=(byte) line::y1#0) goto line::@7 [ line::x0#0 line::x1#0 line::y0#0 line::y1#0 ] -- yby_ge_zpby1_then_la1 - cpy y1 - bcs b7 - //SEG90 line::@15 - //SEG91 [50] (byte) plot::x#6 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#6 ] -- xby=zpby1 - ldx x0 - //SEG92 [51] (byte) plot::y#6 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#6 plot::y#6 ] - // (byte) plot::y#6 = (byte) line::y0#0 // register copy reg byte y - //SEG93 [52] call plot param-assignment [ line::x1#0 line::y1#0 ] - //SEG94 [62] phi from line::@15 to plot [phi:line::@15->plot] - //SEG95 [62] phi (byte) plot::y#9 = (byte) plot::y#6 [phi:line::@15->plot#0] -- register_copy - //SEG96 [62] phi (byte) plot::x#9 = (byte) plot::x#6 [phi:line::@15->plot#1] -- register_copy - jsr plot - //SEG97 line::@24 - //SEG98 [53] (byte) plot::x#7 ← (byte) line::x1#0 [ line::y1#0 plot::x#7 ] -- xby=zpby1 - ldx x1 - //SEG99 [54] (byte) plot::y#7 ← (byte) line::y1#0 [ plot::x#7 plot::y#7 ] -- yby=zpby1 - ldy y1 - //SEG100 [55] call plot param-assignment [ ] - //SEG101 [62] phi from line::@24 to plot [phi:line::@24->plot] - //SEG102 [62] phi (byte) plot::y#9 = (byte) plot::y#7 [phi:line::@24->plot#0] -- register_copy - //SEG103 [62] phi (byte) plot::x#9 = (byte) plot::x#7 [phi:line::@24->plot#1] -- register_copy - jsr plot + sbc $ff + sta yd + //SEG80 [43] 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 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp xd + bcs b6 + //SEG81 line::@20 + //SEG82 [44] (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 ] -- zpby1=zpby2 + lda x0 + sta line_xdyd.x + //SEG83 [45] (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 ] -- zpby1=zpby2 + lda y0 + sta line_xdyd.y + //SEG84 [46] (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 ] -- zpby1=yby + sty line_xdyd.x1 + //SEG85 [47] (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 ] -- zpby1=zpby2 + lda xd + sta line_xdyd.xd + //SEG86 [48] (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 ] -- zpby1=zpby2 + lda yd + sta line_xdyd.yd + //SEG87 [49] call line_xdyd param-assignment [ ] + //SEG88 [146] phi from line::@20 to line_xdyd [phi:line::@20->line_xdyd] + //SEG89 [146] phi (byte) line_xdyd::x1#6 = (byte) line_xdyd::x1#0 [phi:line::@20->line_xdyd#0] -- register_copy + //SEG90 [146] phi (byte) line_xdyd::xd#5 = (byte) line_xdyd::xd#0 [phi:line::@20->line_xdyd#1] -- register_copy + //SEG91 [146] phi (byte) line_xdyd::y#5 = (byte) line_xdyd::y#0 [phi:line::@20->line_xdyd#2] -- register_copy + //SEG92 [146] phi (byte) line_xdyd::x#6 = (byte) line_xdyd::x#0 [phi:line::@20->line_xdyd#3] -- register_copy + //SEG93 [146] phi (byte) line_xdyd::yd#2 = (byte) line_xdyd::yd#0 [phi:line::@20->line_xdyd#4] -- register_copy + jsr line_xdyd jmp breturn - //SEG104 line::@7 - b7: - //SEG105 [56] (byte) plot::x#4 ← (byte) line::x0#0 [ line::x1#0 line::y0#0 line::y1#0 plot::x#4 ] -- xby=zpby1 - ldx x0 - //SEG106 [57] (byte) plot::y#4 ← (byte) line::y0#0 [ line::x1#0 line::y1#0 plot::x#4 plot::y#4 ] - // (byte) plot::y#4 = (byte) line::y0#0 // register copy reg byte y - //SEG107 [58] call plot param-assignment [ line::x1#0 line::y1#0 ] - //SEG108 [62] phi from line::@7 to plot [phi:line::@7->plot] - //SEG109 [62] phi (byte) plot::y#9 = (byte) plot::y#4 [phi:line::@7->plot#0] -- register_copy - //SEG110 [62] phi (byte) plot::x#9 = (byte) plot::x#4 [phi:line::@7->plot#1] -- register_copy - jsr plot - //SEG111 line::@22 - //SEG112 [59] (byte) plot::x#5 ← (byte) line::x1#0 [ line::y1#0 plot::x#5 ] -- xby=zpby1 - ldx x1 - //SEG113 [60] (byte) plot::y#5 ← (byte) line::y1#0 [ plot::x#5 plot::y#5 ] -- yby=zpby1 - ldy y1 - //SEG114 [61] call plot param-assignment [ ] - //SEG115 [62] phi from line::@22 to plot [phi:line::@22->plot] - //SEG116 [62] phi (byte) plot::y#9 = (byte) plot::y#5 [phi:line::@22->plot#0] -- register_copy - //SEG117 [62] phi (byte) plot::x#9 = (byte) plot::x#5 [phi:line::@22->plot#1] -- register_copy - jsr plot + //SEG94 line::@6 + b6: + //SEG95 [50] (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 ] -- zpby1=xby + stx line_ydxd.y + //SEG96 [51] (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 ] -- zpby1=yby + sty line_ydxd.x + //SEG97 [52] (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 ] -- zpby1=zpby2 + lda y0 + sta line_ydxd.y1 + //SEG98 [53] (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 ] -- zpby1=zpby2 + lda yd + sta line_ydxd.yd + //SEG99 [54] (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 ] -- zpby1=zpby2 + lda xd + sta line_ydxd.xd + //SEG100 [55] call line_ydxd param-assignment [ ] + //SEG101 [131] phi from line::@6 to line_ydxd [phi:line::@6->line_ydxd] + //SEG102 [131] phi (byte) line_ydxd::y1#6 = (byte) line_ydxd::y1#0 [phi:line::@6->line_ydxd#0] -- register_copy + //SEG103 [131] phi (byte) line_ydxd::yd#5 = (byte) line_ydxd::yd#0 [phi:line::@6->line_ydxd#1] -- register_copy + //SEG104 [131] phi (byte) line_ydxd::y#6 = (byte) line_ydxd::y#0 [phi:line::@6->line_ydxd#2] -- register_copy + //SEG105 [131] phi (byte) line_ydxd::x#5 = (byte) line_ydxd::x#0 [phi:line::@6->line_ydxd#3] -- register_copy + //SEG106 [131] phi (byte) line_ydxd::xd#2 = (byte) line_ydxd::xd#0 [phi:line::@6->line_ydxd#4] -- register_copy + jsr line_ydxd + jmp breturn + //SEG107 line::@1 + b1: + //SEG108 [56] (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 ] -- zpby1=zpby2_minus_yby + sty $ff + lda x0 + sec + sbc $ff + sta xd + //SEG109 [57] 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 ] -- zpby1_ge_xby_then_la1 + cpx y0 + bcc b9 + //SEG110 line::@23 + //SEG111 [58] (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 ] -- zpby1=xby_minus_zpby2 + txa + sec + sbc y0 + sta yd + //SEG112 [59] 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 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp xd + bcs b10 + //SEG113 line::@24 + //SEG114 [60] (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 ] -- zpby1=yby + sty line_xdyd.x + //SEG115 [61] (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 ] -- zpby1=xby + stx line_xdyd.y + //SEG116 [62] (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 ] -- zpby1=zpby2 + lda x0 + sta line_xdyd.x1 + //SEG117 [63] (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 ] -- zpby1=zpby2 + lda xd + sta line_xdyd.xd + //SEG118 [64] (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 ] -- zpby1=zpby2 + lda yd + sta line_xdyd.yd + //SEG119 [65] call line_xdyd param-assignment [ ] + //SEG120 [146] phi from line::@24 to line_xdyd [phi:line::@24->line_xdyd] + //SEG121 [146] phi (byte) line_xdyd::x1#6 = (byte) line_xdyd::x1#1 [phi:line::@24->line_xdyd#0] -- register_copy + //SEG122 [146] phi (byte) line_xdyd::xd#5 = (byte) line_xdyd::xd#1 [phi:line::@24->line_xdyd#1] -- register_copy + //SEG123 [146] phi (byte) line_xdyd::y#5 = (byte) line_xdyd::y#1 [phi:line::@24->line_xdyd#2] -- register_copy + //SEG124 [146] phi (byte) line_xdyd::x#6 = (byte) line_xdyd::x#1 [phi:line::@24->line_xdyd#3] -- register_copy + //SEG125 [146] phi (byte) line_xdyd::yd#2 = (byte) line_xdyd::yd#1 [phi:line::@24->line_xdyd#4] -- register_copy + jsr line_xdyd + jmp breturn + //SEG126 line::@10 + b10: + //SEG127 [66] (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 ] -- zpby1=zpby2 + lda y0 + sta line_ydxd.y + //SEG128 [67] (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 ] -- zpby1=zpby2 + lda x0 + sta line_ydxd.x + //SEG129 [68] (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 ] -- zpby1=xby + stx line_ydxd.y1 + //SEG130 [69] (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 ] -- zpby1=zpby2 + lda yd + sta line_ydxd.yd + //SEG131 [70] (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 ] -- zpby1=zpby2 + lda xd + sta line_ydxd.xd + //SEG132 [71] call line_ydxd param-assignment [ ] + //SEG133 [131] phi from line::@10 to line_ydxd [phi:line::@10->line_ydxd] + //SEG134 [131] phi (byte) line_ydxd::y1#6 = (byte) line_ydxd::y1#1 [phi:line::@10->line_ydxd#0] -- register_copy + //SEG135 [131] phi (byte) line_ydxd::yd#5 = (byte) line_ydxd::yd#1 [phi:line::@10->line_ydxd#1] -- register_copy + //SEG136 [131] phi (byte) line_ydxd::y#6 = (byte) line_ydxd::y#1 [phi:line::@10->line_ydxd#2] -- register_copy + //SEG137 [131] phi (byte) line_ydxd::x#5 = (byte) line_ydxd::x#1 [phi:line::@10->line_ydxd#3] -- register_copy + //SEG138 [131] phi (byte) line_ydxd::xd#2 = (byte) line_ydxd::xd#1 [phi:line::@10->line_ydxd#4] -- register_copy + jsr line_ydxd + jmp breturn + //SEG139 line::@9 + b9: + //SEG140 [72] (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 ] -- zpby1=zpby2_minus_xby + stx $ff + lda y0 + sec + sbc $ff + sta yd + //SEG141 [73] 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 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp xd + bcs b13 + //SEG142 line::@27 + //SEG143 [74] (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 ] -- zpby1=yby + sty line_xdyi.x + //SEG144 [75] (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 ] -- zpby1=xby + stx line_xdyi.y + //SEG145 [76] (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 ] -- zpby1=zpby2 + lda x0 + sta line_xdyi.x1 + //SEG146 [77] (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 ] -- zpby1=zpby2 + lda xd + sta line_xdyi.xd + //SEG147 [78] (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 ] -- zpby1=zpby2 + lda yd + sta line_xdyi.yd + //SEG148 [79] call line_xdyi param-assignment [ ] + //SEG149 [116] phi from line::@27 to line_xdyi [phi:line::@27->line_xdyi] + //SEG150 [116] phi (byte) line_xdyi::x1#6 = (byte) line_xdyi::x1#1 [phi:line::@27->line_xdyi#0] -- register_copy + //SEG151 [116] phi (byte) line_xdyi::xd#5 = (byte) line_xdyi::xd#1 [phi:line::@27->line_xdyi#1] -- register_copy + //SEG152 [116] phi (byte) line_xdyi::y#5 = (byte) line_xdyi::y#1 [phi:line::@27->line_xdyi#2] -- register_copy + //SEG153 [116] phi (byte) line_xdyi::x#6 = (byte) line_xdyi::x#1 [phi:line::@27->line_xdyi#3] -- register_copy + //SEG154 [116] phi (byte) line_xdyi::yd#2 = (byte) line_xdyi::yd#1 [phi:line::@27->line_xdyi#4] -- register_copy + jsr line_xdyi + jmp breturn + //SEG155 line::@13 + b13: + //SEG156 [80] (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 ] -- zpby1=xby + stx line_ydxi.y + //SEG157 [81] (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 ] -- zpby1=yby + sty line_ydxi.x + //SEG158 [82] (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 ] -- zpby1=zpby2 + lda y0 + sta line_ydxi.y1 + //SEG159 [83] (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 ] + // (byte) line_ydxi::yd#1 = (byte) line::yd#10 // register copy zp ZP_BYTE:4 + //SEG160 [84] (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 ] -- zpby1=zpby2 + lda xd + sta line_ydxi.xd + //SEG161 [85] call line_ydxi param-assignment [ ] + //SEG162 [86] phi from line::@13 to line_ydxi [phi:line::@13->line_ydxi] + //SEG163 [86] phi (byte) line_ydxi::y1#6 = (byte) line_ydxi::y1#1 [phi:line::@13->line_ydxi#0] -- register_copy + //SEG164 [86] phi (byte) line_ydxi::yd#5 = (byte) line_ydxi::yd#1 [phi:line::@13->line_ydxi#1] -- register_copy + //SEG165 [86] phi (byte) line_ydxi::y#6 = (byte) line_ydxi::y#1 [phi:line::@13->line_ydxi#2] -- register_copy + //SEG166 [86] phi (byte) line_ydxi::x#5 = (byte) line_ydxi::x#1 [phi:line::@13->line_ydxi#3] -- register_copy + //SEG167 [86] phi (byte) line_ydxi::xd#2 = (byte) line_ydxi::xd#1 [phi:line::@13->line_ydxi#4] -- register_copy + jsr line_ydxi jmp breturn } -//SEG118 plot +//SEG168 line_ydxi +line_ydxi: { + .label y = 7 + .label x = 6 + .label y1 = 5 + .label yd = 4 + .label xd = 3 + .label e = 8 + //SEG169 [87] (byte) line_ydxi::e#0 ← (byte) line_ydxi::xd#2 >> (byte) 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 ] -- zpby1=zpby2_ror_1 + lda xd + lsr + sta e + //SEG170 [88] phi from line_ydxi line_ydxi::@2 to line_ydxi::@1 [phi:line_ydxi/line_ydxi::@2->line_ydxi::@1] + //SEG171 [88] phi (byte) line_ydxi::e#3 = (byte) line_ydxi::e#0 [phi:line_ydxi/line_ydxi::@2->line_ydxi::@1#0] -- register_copy + //SEG172 [88] phi (byte) line_ydxi::y#3 = (byte) line_ydxi::y#6 [phi:line_ydxi/line_ydxi::@2->line_ydxi::@1#1] -- register_copy + //SEG173 [88] phi (byte) line_ydxi::x#3 = (byte) line_ydxi::x#5 [phi:line_ydxi/line_ydxi::@2->line_ydxi::@1#2] -- register_copy + //SEG174 line_ydxi::@1 + b1: + //SEG175 [89] (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 ] -- xby=zpby1 + ldx x + //SEG176 [90] (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 ] -- yby=zpby1 + ldy y + //SEG177 [91] 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 ] + //SEG178 [101] phi from line_ydxi::@1 to plot [phi:line_ydxi::@1->plot] + //SEG179 [101] phi (byte) plot::y#4 = (byte) plot::y#2 [phi:line_ydxi::@1->plot#0] -- register_copy + //SEG180 [101] phi (byte) plot::x#4 = (byte) plot::x#2 [phi:line_ydxi::@1->plot#1] -- register_copy + jsr plot + //SEG181 line_ydxi::@5 + //SEG182 [92] (byte) line_ydxi::y#2 ← (byte) line_ydxi::y#3 + (byte) 1 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::e#3 line_ydxi::y#2 ] -- zpby1=zpby1_plus_1 + inc y + //SEG183 [93] (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 ] -- zpby1=zpby1_plus_zpby2 + lda e + clc + adc xd + sta e + //SEG184 [94] 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 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp e + bcs b2 + //SEG185 line_ydxi::@3 + //SEG186 [95] (byte) line_ydxi::x#2 ← (byte) line_ydxi::x#3 + (byte) 1 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::e#1 line_ydxi::x#2 ] -- zpby1=zpby1_plus_1 + inc x + //SEG187 [96] (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 ] -- zpby1=zpby1_minus_zpby2 + lda e + sec + sbc yd + sta e + //SEG188 [97] phi from line_ydxi::@3 line_ydxi::@5 to line_ydxi::@2 [phi:line_ydxi::@3/line_ydxi::@5->line_ydxi::@2] + //SEG189 [97] phi (byte) line_ydxi::e#6 = (byte) line_ydxi::e#2 [phi:line_ydxi::@3/line_ydxi::@5->line_ydxi::@2#0] -- register_copy + //SEG190 [97] phi (byte) line_ydxi::x#6 = (byte) line_ydxi::x#2 [phi:line_ydxi::@3/line_ydxi::@5->line_ydxi::@2#1] -- register_copy + //SEG191 line_ydxi::@2 + b2: + //SEG192 [98] (byte~) line_ydxi::$8 ← (byte) line_ydxi::y1#6 + (byte) 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::$8 ] -- aby=zpby1_plus_1 + lda y1 + clc + adc #1 + //SEG193 [99] if((byte) line_ydxi::y#2<(byte~) line_ydxi::$8) 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 ] -- zpby1_lt_aby_then_la1 + cmp y + bcs b1 + //SEG194 line_ydxi::@return + //SEG195 [100] return [ ] + rts +} +//SEG196 plot plot: { - .label _5 = 15 - .label plotter_x = 6 - .label plotter_y = 13 - .label plotter = 6 - //SEG119 [63] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#9 [ plot::x#9 plot::y#9 plot::$0 ] -- aby=cowo1_staridx_xby + .label _5 = 31 + .label plotter_x = 27 + .label plotter_y = 29 + .label plotter = 27 + //SEG197 [102] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#4 [ plot::x#4 plot::y#4 plot::$0 ] -- aby=cowo1_staridx_xby lda plot_xhi,x - //SEG120 [64] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#9 plot::y#9 plot::plotter_x#1 ] -- zpptrby1=coby1_sethi_aby + //SEG198 [103] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#4 plot::y#4 plot::plotter_x#1 ] -- zpptrby1=coby1_sethi_aby sta plotter_x+1 lda #<0 sta plotter_x - //SEG121 [65] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#9 [ plot::x#9 plot::y#9 plot::plotter_x#1 plot::$1 ] -- aby=cowo1_staridx_xby + //SEG199 [104] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#4 [ plot::x#4 plot::y#4 plot::plotter_x#1 plot::$1 ] -- aby=cowo1_staridx_xby lda plot_xlo,x - //SEG122 [66] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#9 plot::y#9 plot::plotter_x#2 ] -- zpptrby1=zpptrby1_setlo_aby + //SEG200 [105] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#4 plot::y#4 plot::plotter_x#2 ] -- zpptrby1=zpptrby1_setlo_aby sta plotter_x - //SEG123 [67] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#9 [ plot::x#9 plot::y#9 plot::plotter_x#2 plot::$2 ] -- aby=cowo1_staridx_yby + //SEG201 [106] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#4 [ plot::x#4 plot::y#4 plot::plotter_x#2 plot::$2 ] -- aby=cowo1_staridx_yby lda plot_yhi,y - //SEG124 [68] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#9 plot::y#9 plot::plotter_x#2 plot::plotter_y#1 ] -- zpptrby1=coby1_sethi_aby + //SEG202 [107] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#4 plot::y#4 plot::plotter_x#2 plot::plotter_y#1 ] -- zpptrby1=coby1_sethi_aby sta plotter_y+1 lda #<0 sta plotter_y - //SEG125 [69] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#9 [ plot::x#9 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] -- aby=cowo1_staridx_yby + //SEG203 [108] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#4 [ plot::x#4 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] -- aby=cowo1_staridx_yby lda plot_ylo,y - //SEG126 [70] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#9 plot::plotter_x#2 plot::plotter_y#2 ] -- zpptrby1=zpptrby1_setlo_aby + //SEG204 [109] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#4 plot::plotter_x#2 plot::plotter_y#2 ] -- zpptrby1=zpptrby1_setlo_aby sta plotter_y - //SEG127 [71] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#9 plot::plotter#0 ] -- zpptrby1=zpptrby1_plus_zpptrby2 + //SEG205 [110] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#4 plot::plotter#0 ] -- zpptrby1=zpptrby1_plus_zpptrby2 lda plotter clc adc plotter_y @@ -14370,159 +22431,285 @@ plot: { lda plotter+1 adc plotter_y+1 sta plotter+1 - //SEG128 [72] (byte~) plot::$5 ← * (byte*) plot::plotter#0 [ plot::x#9 plot::plotter#0 plot::$5 ] -- zpby1=_star_zpptrby1 + //SEG206 [111] (byte~) plot::$5 ← * (byte*) plot::plotter#0 [ plot::x#4 plot::plotter#0 plot::$5 ] -- zpby1=_star_zpptrby1 ldy #0 lda (plotter),y sta _5 - //SEG129 [73] (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#9 [ plot::plotter#0 plot::$5 plot::$6 ] -- aby=cowo1_staridx_xby + //SEG207 [112] (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#4 [ plot::plotter#0 plot::$5 plot::$6 ] -- aby=cowo1_staridx_xby lda plot_bit,x - //SEG130 [74] (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 [ plot::plotter#0 plot::$7 ] -- aby=zpby1_bor_aby + //SEG208 [113] (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 [ plot::plotter#0 plot::$7 ] -- aby=zpby1_bor_aby ora _5 - //SEG131 [75] *((byte*) plot::plotter#0) ← (byte~) plot::$7 [ ] -- _star_zpptrby1=aby + //SEG209 [114] *((byte*) plot::plotter#0) ← (byte~) plot::$7 [ ] -- _star_zpptrby1=aby sta (plotter),y - //SEG132 plot::@return - //SEG133 [76] return [ ] + //SEG210 plot::@return + //SEG211 [115] return [ ] rts } -//SEG134 line_xdyi +//SEG212 line_xdyi line_xdyi: { - .label x = 3 - .label y = 4 + .label x = 12 + .label y = 13 .label x1 = 11 .label xd = 10 - .label yd = 12 - .label e = 5 - //SEG135 [77] (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#0 >> (byte) 1 [ line_xdyi::x#0 line_xdyi::y#0 line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::e#0 ] -- zpby1=zpby2_ror_1 + .label yd = 9 + .label e = 14 + //SEG213 [117] (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#2 >> (byte) 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 ] -- zpby1=zpby2_ror_1 lda yd lsr sta e - //SEG136 [78] phi from line_xdyi line_xdyi::@2 to line_xdyi::@1 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1] - //SEG137 [78] phi (byte) line_xdyi::e#3 = (byte) line_xdyi::e#0 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#0] -- register_copy - //SEG138 [78] phi (byte) line_xdyi::y#2 = (byte) line_xdyi::y#0 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#1] -- register_copy - //SEG139 [78] phi (byte) line_xdyi::x#2 = (byte) line_xdyi::x#0 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#2] -- register_copy - //SEG140 line_xdyi::@1 + //SEG214 [118] phi from line_xdyi line_xdyi::@2 to line_xdyi::@1 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1] + //SEG215 [118] phi (byte) line_xdyi::e#3 = (byte) line_xdyi::e#0 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#0] -- register_copy + //SEG216 [118] phi (byte) line_xdyi::y#3 = (byte) line_xdyi::y#5 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#1] -- register_copy + //SEG217 [118] phi (byte) line_xdyi::x#3 = (byte) line_xdyi::x#6 [phi:line_xdyi/line_xdyi::@2->line_xdyi::@1#2] -- register_copy + //SEG218 line_xdyi::@1 b1: - //SEG141 [79] (byte) plot::x#8 ← (byte) line_xdyi::x#2 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 plot::x#8 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] -- xby=zpby1 + //SEG219 [119] (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 ] -- xby=zpby1 ldx x - //SEG142 [80] (byte) plot::y#8 ← (byte) line_xdyi::y#2 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 plot::x#8 plot::y#8 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] -- yby=zpby1 + //SEG220 [120] (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 ] -- yby=zpby1 ldy y - //SEG143 [81] call plot param-assignment [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#3 ] - //SEG144 [62] phi from line_xdyi::@1 to plot [phi:line_xdyi::@1->plot] - //SEG145 [62] phi (byte) plot::y#9 = (byte) plot::y#8 [phi:line_xdyi::@1->plot#0] -- register_copy - //SEG146 [62] phi (byte) plot::x#9 = (byte) plot::x#8 [phi:line_xdyi::@1->plot#1] -- register_copy + //SEG221 [121] 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 ] + //SEG222 [101] phi from line_xdyi::@1 to plot [phi:line_xdyi::@1->plot] + //SEG223 [101] phi (byte) plot::y#4 = (byte) plot::y#0 [phi:line_xdyi::@1->plot#0] -- register_copy + //SEG224 [101] phi (byte) plot::x#4 = (byte) plot::x#0 [phi:line_xdyi::@1->plot#1] -- register_copy jsr plot - //SEG147 line_xdyi::@5 - //SEG148 [82] (byte) line_xdyi::x#1 ← (byte) line_xdyi::x#2 + (byte) 1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::y#2 line_xdyi::e#3 line_xdyi::x#1 ] -- zpby1=zpby1_plus_1 + //SEG225 line_xdyi::@5 + //SEG226 [122] (byte) line_xdyi::x#2 ← (byte) line_xdyi::x#3 + (byte) 1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::e#3 line_xdyi::x#2 ] -- zpby1=zpby1_plus_1 inc x - //SEG149 [83] (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#0 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::y#2 line_xdyi::x#1 line_xdyi::e#1 ] -- zpby1=zpby1_plus_zpby2 + //SEG227 [123] (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 ] -- zpby1=zpby1_plus_zpby2 lda e clc adc yd sta e - //SEG150 [84] if((byte) line_xdyi::xd#0>=(byte) line_xdyi::e#1) goto line_xdyi::@2 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::y#2 line_xdyi::x#1 line_xdyi::e#1 ] -- zpby1_ge_zpby2_then_la1 + //SEG228 [124] 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 ] -- zpby1_ge_zpby2_then_la1 lda xd cmp e bcs b2 - //SEG151 line_xdyi::@3 - //SEG152 [85] (byte) line_xdyi::y#1 ← (byte) line_xdyi::y#2 + (byte) 1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::e#1 line_xdyi::y#1 ] -- zpby1=zpby1_plus_1 + //SEG229 line_xdyi::@3 + //SEG230 [125] (byte) line_xdyi::y#2 ← (byte) line_xdyi::y#3 + (byte) 1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::e#1 line_xdyi::y#2 ] -- zpby1=zpby1_plus_1 inc y - //SEG153 [86] (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#0 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#1 line_xdyi::e#2 ] -- zpby1=zpby1_minus_zpby2 + //SEG231 [126] (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 ] -- zpby1=zpby1_minus_zpby2 lda e sec sbc xd sta e - //SEG154 [87] phi from line_xdyi::@3 line_xdyi::@5 to line_xdyi::@2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2] - //SEG155 [87] phi (byte) line_xdyi::e#6 = (byte) line_xdyi::e#2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2#0] -- register_copy - //SEG156 [87] phi (byte) line_xdyi::y#5 = (byte) line_xdyi::y#1 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2#1] -- register_copy - //SEG157 line_xdyi::@2 + //SEG232 [127] phi from line_xdyi::@3 line_xdyi::@5 to line_xdyi::@2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2] + //SEG233 [127] phi (byte) line_xdyi::e#6 = (byte) line_xdyi::e#2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2#0] -- register_copy + //SEG234 [127] phi (byte) line_xdyi::y#6 = (byte) line_xdyi::y#2 [phi:line_xdyi::@3/line_xdyi::@5->line_xdyi::@2#1] -- register_copy + //SEG235 line_xdyi::@2 b2: - //SEG158 [88] (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#0 + (byte) 1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#5 line_xdyi::e#6 line_xdyi::$8 ] -- aby=zpby1_plus_1 + //SEG236 [128] (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#6 + (byte) 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::$8 ] -- aby=zpby1_plus_1 lda x1 clc adc #1 - //SEG159 [89] if((byte) line_xdyi::x#1<(byte~) line_xdyi::$8) goto line_xdyi::@1 [ line_xdyi::x1#0 line_xdyi::xd#0 line_xdyi::yd#0 line_xdyi::x#1 line_xdyi::y#5 line_xdyi::e#6 ] -- zpby1_lt_aby_then_la1 + //SEG237 [129] if((byte) line_xdyi::x#2<(byte~) line_xdyi::$8) 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 ] -- zpby1_lt_aby_then_la1 cmp x bcs b1 - //SEG160 line_xdyi::@return - //SEG161 [90] return [ ] + //SEG238 line_xdyi::@return + //SEG239 [130] return [ ] rts } -//SEG162 init_plot_tables +//SEG240 line_ydxd +line_ydxd: { + .label y = 19 + .label x = 18 + .label y1 = 17 + .label yd = 16 + .label xd = 15 + .label e = 20 + //SEG241 [132] (byte) line_ydxd::e#0 ← (byte) line_ydxd::xd#2 >> (byte) 1 [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] -- zpby1=zpby2_ror_1 + lda xd + lsr + sta e + //SEG242 [133] phi from line_ydxd line_ydxd::@2 to line_ydxd::@1 [phi:line_ydxd/line_ydxd::@2->line_ydxd::@1] + //SEG243 [133] phi (byte) line_ydxd::e#3 = (byte) line_ydxd::e#0 [phi:line_ydxd/line_ydxd::@2->line_ydxd::@1#0] -- register_copy + //SEG244 [133] phi (byte) line_ydxd::y#3 = (byte) line_ydxd::y#6 [phi:line_ydxd/line_ydxd::@2->line_ydxd::@1#1] -- register_copy + //SEG245 [133] phi (byte) line_ydxd::x#3 = (byte) line_ydxd::x#5 [phi:line_ydxd/line_ydxd::@2->line_ydxd::@1#2] -- register_copy + //SEG246 line_ydxd::@1 + b1: + //SEG247 [134] (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#3 line_ydxd::e#3 ] -- xby=zpby1 + ldx x + //SEG248 [135] (byte) plot::y#3 ← (byte) line_ydxd::y#3 [ 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#3 line_ydxd::e#3 ] -- yby=zpby1 + ldy y + //SEG249 [136] call plot param-assignment [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] + //SEG250 [101] phi from line_ydxd::@1 to plot [phi:line_ydxd::@1->plot] + //SEG251 [101] phi (byte) plot::y#4 = (byte) plot::y#3 [phi:line_ydxd::@1->plot#0] -- register_copy + //SEG252 [101] phi (byte) plot::x#4 = (byte) plot::x#3 [phi:line_ydxd::@1->plot#1] -- register_copy + jsr plot + //SEG253 line_ydxd::@5 + //SEG254 [137] (byte) line_ydxd::y#2 ← (byte) line_ydxd::y#3 + (byte) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::e#3 line_ydxd::y#2 ] -- zpby1=zpby1_plus_1 + inc y + //SEG255 [138] (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#2 line_ydxd::e#1 ] -- zpby1=zpby1_plus_zpby2 + lda e + clc + adc xd + sta e + //SEG256 [139] 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#2 line_ydxd::e#1 ] -- zpby1_ge_zpby2_then_la1 + lda yd + cmp e + bcs b2 + //SEG257 line_ydxd::@3 + //SEG258 [140] (byte) line_ydxd::x#2 ← (byte) line_ydxd::x#3 - (byte) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#2 line_ydxd::e#1 line_ydxd::x#2 ] -- zpby1=zpby1_minus_1 + dec x + //SEG259 [141] (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#2 line_ydxd::x#2 line_ydxd::e#2 ] -- zpby1=zpby1_minus_zpby2 + lda e + sec + sbc yd + sta e + //SEG260 [142] phi from line_ydxd::@3 line_ydxd::@5 to line_ydxd::@2 [phi:line_ydxd::@3/line_ydxd::@5->line_ydxd::@2] + //SEG261 [142] phi (byte) line_ydxd::e#6 = (byte) line_ydxd::e#2 [phi:line_ydxd::@3/line_ydxd::@5->line_ydxd::@2#0] -- register_copy + //SEG262 [142] phi (byte) line_ydxd::x#6 = (byte) line_ydxd::x#2 [phi:line_ydxd::@3/line_ydxd::@5->line_ydxd::@2#1] -- register_copy + //SEG263 line_ydxd::@2 + b2: + //SEG264 [143] (byte~) line_ydxd::$8 ← (byte) line_ydxd::y1#6 + (byte) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 line_ydxd::$8 ] -- aby=zpby1_plus_1 + lda y1 + clc + adc #1 + //SEG265 [144] if((byte) line_ydxd::y#2<(byte~) line_ydxd::$8) goto line_ydxd::@1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 ] -- zpby1_lt_aby_then_la1 + cmp y + bcs b1 + //SEG266 line_ydxd::@return + //SEG267 [145] return [ ] + rts +} +//SEG268 line_xdyd +line_xdyd: { + .label x = 24 + .label y = 25 + .label x1 = 23 + .label xd = 22 + .label yd = 21 + .label e = 26 + //SEG269 [147] (byte) line_xdyd::e#0 ← (byte) line_xdyd::yd#2 >> (byte) 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 ] -- zpby1=zpby2_ror_1 + lda yd + lsr + sta e + //SEG270 [148] phi from line_xdyd line_xdyd::@2 to line_xdyd::@1 [phi:line_xdyd/line_xdyd::@2->line_xdyd::@1] + //SEG271 [148] phi (byte) line_xdyd::e#3 = (byte) line_xdyd::e#0 [phi:line_xdyd/line_xdyd::@2->line_xdyd::@1#0] -- register_copy + //SEG272 [148] phi (byte) line_xdyd::y#3 = (byte) line_xdyd::y#5 [phi:line_xdyd/line_xdyd::@2->line_xdyd::@1#1] -- register_copy + //SEG273 [148] phi (byte) line_xdyd::x#3 = (byte) line_xdyd::x#6 [phi:line_xdyd/line_xdyd::@2->line_xdyd::@1#2] -- register_copy + //SEG274 line_xdyd::@1 + b1: + //SEG275 [149] (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 ] -- xby=zpby1 + ldx x + //SEG276 [150] (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 ] -- yby=zpby1 + ldy y + //SEG277 [151] 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 ] + //SEG278 [101] phi from line_xdyd::@1 to plot [phi:line_xdyd::@1->plot] + //SEG279 [101] phi (byte) plot::y#4 = (byte) plot::y#1 [phi:line_xdyd::@1->plot#0] -- register_copy + //SEG280 [101] phi (byte) plot::x#4 = (byte) plot::x#1 [phi:line_xdyd::@1->plot#1] -- register_copy + jsr plot + //SEG281 line_xdyd::@5 + //SEG282 [152] (byte) line_xdyd::x#2 ← (byte) line_xdyd::x#3 + (byte) 1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::e#3 line_xdyd::x#2 ] -- zpby1=zpby1_plus_1 + inc x + //SEG283 [153] (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 ] -- zpby1=zpby1_plus_zpby2 + lda e + clc + adc yd + sta e + //SEG284 [154] 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 ] -- zpby1_ge_zpby2_then_la1 + lda xd + cmp e + bcs b2 + //SEG285 line_xdyd::@3 + //SEG286 [155] (byte) line_xdyd::y#2 ← (byte) line_xdyd::y#3 - (byte) 1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::e#1 line_xdyd::y#2 ] -- zpby1=zpby1_minus_1 + dec y + //SEG287 [156] (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 ] -- zpby1=zpby1_minus_zpby2 + lda e + sec + sbc xd + sta e + //SEG288 [157] phi from line_xdyd::@3 line_xdyd::@5 to line_xdyd::@2 [phi:line_xdyd::@3/line_xdyd::@5->line_xdyd::@2] + //SEG289 [157] phi (byte) line_xdyd::e#6 = (byte) line_xdyd::e#2 [phi:line_xdyd::@3/line_xdyd::@5->line_xdyd::@2#0] -- register_copy + //SEG290 [157] phi (byte) line_xdyd::y#6 = (byte) line_xdyd::y#2 [phi:line_xdyd::@3/line_xdyd::@5->line_xdyd::@2#1] -- register_copy + //SEG291 line_xdyd::@2 + b2: + //SEG292 [158] (byte~) line_xdyd::$8 ← (byte) line_xdyd::x1#6 + (byte) 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::$8 ] -- aby=zpby1_plus_1 + lda x1 + clc + adc #1 + //SEG293 [159] if((byte) line_xdyd::x#2<(byte~) line_xdyd::$8) 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 ] -- zpby1_lt_aby_then_la1 + cmp x + bcs b1 + //SEG294 line_xdyd::@return + //SEG295 [160] return [ ] + rts +} +//SEG296 init_plot_tables init_plot_tables: { .label _6 = 2 - .label yoffs = 6 - //SEG163 [92] phi from init_plot_tables to init_plot_tables::@1 [phi:init_plot_tables->init_plot_tables::@1] - //SEG164 [92] phi (byte) init_plot_tables::bit#3 = (byte) 128 [phi:init_plot_tables->init_plot_tables::@1#0] -- yby=coby1 + .label yoffs = 27 + //SEG297 [162] phi from init_plot_tables to init_plot_tables::@1 [phi:init_plot_tables->init_plot_tables::@1] + //SEG298 [162] phi (byte) init_plot_tables::bit#3 = (byte) 128 [phi:init_plot_tables->init_plot_tables::@1#0] -- yby=coby1 ldy #$80 - //SEG165 [92] phi (byte) init_plot_tables::x#2 = (byte) 0 [phi:init_plot_tables->init_plot_tables::@1#1] -- xby=coby1 + //SEG299 [162] phi (byte) init_plot_tables::x#2 = (byte) 0 [phi:init_plot_tables->init_plot_tables::@1#1] -- xby=coby1 ldx #0 - //SEG166 [92] phi from init_plot_tables::@2 to init_plot_tables::@1 [phi:init_plot_tables::@2->init_plot_tables::@1] - //SEG167 [92] phi (byte) init_plot_tables::bit#3 = (byte) init_plot_tables::bit#4 [phi:init_plot_tables::@2->init_plot_tables::@1#0] -- register_copy - //SEG168 [92] 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 - //SEG169 init_plot_tables::@1 + //SEG300 [162] phi from init_plot_tables::@2 to init_plot_tables::@1 [phi:init_plot_tables::@2->init_plot_tables::@1] + //SEG301 [162] phi (byte) init_plot_tables::bit#3 = (byte) init_plot_tables::bit#4 [phi:init_plot_tables::@2->init_plot_tables::@1#0] -- register_copy + //SEG302 [162] 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 + //SEG303 init_plot_tables::@1 b1: - //SEG170 [93] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bit#3 init_plot_tables::$0 ] -- aby=xby_band_coby1 + //SEG304 [163] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bit#3 init_plot_tables::$0 ] -- aby=xby_band_coby1 txa and #$f8 - //SEG171 [94] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_xby=aby + //SEG305 [164] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_xby=aby sta plot_xlo,x - //SEG172 [95] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_xby=coby2 + //SEG306 [165] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_xby=coby2 lda #>BITMAP sta plot_xhi,x - //SEG173 [96] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bit#3 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_xby=yby + //SEG307 [166] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bit#3 [ init_plot_tables::x#2 init_plot_tables::bit#3 ] -- cowo1_staridx_xby=yby tya sta plot_bit,x - //SEG174 [97] (byte) init_plot_tables::bit#1 ← (byte) init_plot_tables::bit#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bit#1 ] -- yby=yby_ror_1 + //SEG308 [167] (byte) init_plot_tables::bit#1 ← (byte) init_plot_tables::bit#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bit#1 ] -- yby=yby_ror_1 tya lsr tay - //SEG175 [98] if((byte) init_plot_tables::bit#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] -- yby_neq_0_then_la1 + //SEG309 [168] if((byte) init_plot_tables::bit#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] -- yby_neq_0_then_la1 cpy #0 bne b10 - //SEG176 [99] phi from init_plot_tables::@1 to init_plot_tables::@2 [phi:init_plot_tables::@1->init_plot_tables::@2] - //SEG177 [99] phi (byte) init_plot_tables::bit#4 = (byte) 128 [phi:init_plot_tables::@1->init_plot_tables::@2#0] -- yby=coby1 + //SEG310 [169] phi from init_plot_tables::@1 to init_plot_tables::@2 [phi:init_plot_tables::@1->init_plot_tables::@2] + //SEG311 [169] phi (byte) init_plot_tables::bit#4 = (byte) 128 [phi:init_plot_tables::@1->init_plot_tables::@2#0] -- yby=coby1 ldy #$80 - //SEG178 init_plot_tables::@2 + //SEG312 init_plot_tables::@2 b2: - //SEG179 [100] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bit#4 ] -- xby=_inc_xby + //SEG313 [170] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bit#4 ] -- xby=_inc_xby inx - //SEG180 [101] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bit#4 ] -- xby_neq_0_then_la1 + //SEG314 [171] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bit#4 ] -- xby_neq_0_then_la1 cpx #0 bne b1 - //SEG181 [102] phi from init_plot_tables::@2 to init_plot_tables::@3 [phi:init_plot_tables::@2->init_plot_tables::@3] - //SEG182 [102] phi (byte*) init_plot_tables::yoffs#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#0] -- zpptrby1=coby1 + //SEG315 [172] phi from init_plot_tables::@2 to init_plot_tables::@3 [phi:init_plot_tables::@2->init_plot_tables::@3] + //SEG316 [172] phi (byte*) init_plot_tables::yoffs#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#0] -- zpptrby1=coby1 lda #0 sta yoffs sta yoffs+1 - //SEG183 [102] phi (byte) init_plot_tables::y#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#1] -- xby=coby1 + //SEG317 [172] phi (byte) init_plot_tables::y#2 = (byte) 0 [phi:init_plot_tables::@2->init_plot_tables::@3#1] -- xby=coby1 ldx #0 - //SEG184 [102] phi from init_plot_tables::@4 to init_plot_tables::@3 [phi:init_plot_tables::@4->init_plot_tables::@3] - //SEG185 [102] 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 - //SEG186 [102] 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 - //SEG187 init_plot_tables::@3 + //SEG318 [172] phi from init_plot_tables::@4 to init_plot_tables::@3 [phi:init_plot_tables::@4->init_plot_tables::@3] + //SEG319 [172] 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 + //SEG320 [172] 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 + //SEG321 init_plot_tables::@3 b3: - //SEG188 [103] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] -- zpby1=xby_band_coby1 + //SEG322 [173] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] -- zpby1=xby_band_coby1 txa and #7 sta _6 - //SEG189 [104] (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 ] -- aby=_lo_zpptrby1 + //SEG323 [174] (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 ] -- aby=_lo_zpptrby1 lda yoffs - //SEG190 [105] (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 ] -- aby=zpby1_bor_aby + //SEG324 [175] (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 ] -- aby=zpby1_bor_aby ora _6 - //SEG191 [106] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- cowo1_staridx_xby=aby + //SEG325 [176] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- cowo1_staridx_xby=aby sta plot_ylo,x - //SEG192 [107] (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 ] -- aby=_hi_zpptrby1 + //SEG326 [177] (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 ] -- aby=_hi_zpptrby1 lda yoffs+1 - //SEG193 [108] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- cowo1_staridx_xby=aby + //SEG327 [178] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- cowo1_staridx_xby=aby sta plot_yhi,x - //SEG194 [109] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] -- aby=xby_band_coby1 + //SEG328 [179] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] -- aby=xby_band_coby1 txa and #7 - //SEG195 [110] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- aby_neq_coby1_then_la1 + //SEG329 [180] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] -- aby_neq_coby1_then_la1 cmp #7 bne b4 - //SEG196 init_plot_tables::@7 - //SEG197 [111] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] -- zpptrby1=zpptrby1_plus_cowo1 + //SEG330 init_plot_tables::@7 + //SEG331 [181] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] -- zpptrby1=zpptrby1_plus_cowo1 lda yoffs clc adc #<$140 @@ -14530,82 +22717,82 @@ init_plot_tables: { lda yoffs+1 adc #>$140 sta yoffs+1 - //SEG198 [112] 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] - //SEG199 [112] 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 - //SEG200 init_plot_tables::@4 + //SEG332 [182] 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] + //SEG333 [182] 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 + //SEG334 init_plot_tables::@4 b4: - //SEG201 [113] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] -- xby=_inc_xby + //SEG335 [183] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] -- xby=_inc_xby inx - //SEG202 [114] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] -- xby_neq_0_then_la1 + //SEG336 [184] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] -- xby_neq_0_then_la1 cpx #0 bne b3 - //SEG203 init_plot_tables::@return - //SEG204 [115] return [ ] + //SEG337 init_plot_tables::@return + //SEG338 [185] return [ ] rts - //SEG205 init_plot_tables::@10 + //SEG339 init_plot_tables::@10 b10: - //SEG206 [99] phi from init_plot_tables::@10 to init_plot_tables::@2 [phi:init_plot_tables::@10->init_plot_tables::@2] - //SEG207 [99] phi (byte) init_plot_tables::bit#4 = (byte) init_plot_tables::bit#1 [phi:init_plot_tables::@10->init_plot_tables::@2#0] -- register_copy + //SEG340 [169] phi from init_plot_tables::@10 to init_plot_tables::@2 [phi:init_plot_tables::@10->init_plot_tables::@2] + //SEG341 [169] phi (byte) init_plot_tables::bit#4 = (byte) init_plot_tables::bit#1 [phi:init_plot_tables::@10->init_plot_tables::@2#0] -- register_copy jmp b2 } -//SEG208 init_screen +//SEG342 init_screen init_screen: { - .label b = 6 - .label c = 6 - //SEG209 [117] phi from init_screen to init_screen::@1 [phi:init_screen->init_screen::@1] - //SEG210 [117] phi (byte*) init_screen::b#2 = (const byte*) BITMAP#0 [phi:init_screen->init_screen::@1#0] -- zpptrby1=cowo1 + .label b = 27 + .label c = 27 + //SEG343 [187] phi from init_screen to init_screen::@1 [phi:init_screen->init_screen::@1] + //SEG344 [187] phi (byte*) init_screen::b#2 = (const byte*) BITMAP#0 [phi:init_screen->init_screen::@1#0] -- zpptrby1=cowo1 lda #BITMAP sta b+1 - //SEG211 [117] phi from init_screen::@1 to init_screen::@1 [phi:init_screen::@1->init_screen::@1] - //SEG212 [117] phi (byte*) init_screen::b#2 = (byte*) init_screen::b#1 [phi:init_screen::@1->init_screen::@1#0] -- register_copy - //SEG213 init_screen::@1 + //SEG345 [187] phi from init_screen::@1 to init_screen::@1 [phi:init_screen::@1->init_screen::@1] + //SEG346 [187] phi (byte*) init_screen::b#2 = (byte*) init_screen::b#1 [phi:init_screen::@1->init_screen::@1#0] -- register_copy + //SEG347 init_screen::@1 b1: - //SEG214 [118] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] -- _star_zpptrby1=coby1 + //SEG348 [188] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] -- _star_zpptrby1=coby1 ldy #0 lda #0 sta (b),y - //SEG215 [119] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] -- zpptrby1=_inc_zpptrby1 + //SEG349 [189] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] -- zpptrby1=_inc_zpptrby1 inc b bne !+ inc b+1 !: - //SEG216 [120] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] -- zpptrby1_neq_cowo1_then_la1 + //SEG350 [190] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] -- zpptrby1_neq_cowo1_then_la1 lda b+1 cmp #>BITMAP+$2000 bne b1 lda b cmp #init_screen::@2] - //SEG218 [121] phi (byte*) init_screen::c#2 = (const byte*) SCREEN#0 [phi:init_screen::@1->init_screen::@2#0] -- zpptrby1=cowo1 + //SEG351 [191] phi from init_screen::@1 to init_screen::@2 [phi:init_screen::@1->init_screen::@2] + //SEG352 [191] phi (byte*) init_screen::c#2 = (const byte*) SCREEN#0 [phi:init_screen::@1->init_screen::@2#0] -- zpptrby1=cowo1 lda #SCREEN sta c+1 - //SEG219 [121] phi from init_screen::@2 to init_screen::@2 [phi:init_screen::@2->init_screen::@2] - //SEG220 [121] phi (byte*) init_screen::c#2 = (byte*) init_screen::c#1 [phi:init_screen::@2->init_screen::@2#0] -- register_copy - //SEG221 init_screen::@2 + //SEG353 [191] phi from init_screen::@2 to init_screen::@2 [phi:init_screen::@2->init_screen::@2] + //SEG354 [191] phi (byte*) init_screen::c#2 = (byte*) init_screen::c#1 [phi:init_screen::@2->init_screen::@2#0] -- register_copy + //SEG355 init_screen::@2 b2: - //SEG222 [122] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] -- _star_zpptrby1=coby1 + //SEG356 [192] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] -- _star_zpptrby1=coby1 ldy #0 lda #$14 sta (c),y - //SEG223 [123] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] -- zpptrby1=_inc_zpptrby1 + //SEG357 [193] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] -- zpptrby1=_inc_zpptrby1 inc c bne !+ inc c+1 !: - //SEG224 [124] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] -- zpptrby1_neq_cowo1_then_la1 + //SEG358 [194] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] -- zpptrby1_neq_cowo1_then_la1 lda c+1 cmp #>SCREEN+$400 bne b2 lda c cmp #