diff --git a/src/main/java/dk/camelot64/kickc/model/CallGraph.java b/src/main/java/dk/camelot64/kickc/model/CallGraph.java index 0f4668183..e7b74ff70 100644 --- a/src/main/java/dk/camelot64/kickc/model/CallGraph.java +++ b/src/main/java/dk/camelot64/kickc/model/CallGraph.java @@ -54,10 +54,6 @@ public class CallGraph { return null; } - public ScopeRef getFirstCallBlock() { - return ScopeRef.ROOT; - } - /** * Get sub call blocks called from a specific call block. * @@ -89,6 +85,47 @@ public class CallGraph { return callingBlocks; } + /** + * Get the closure of all procedures called from a specific scope. + * This includes the recursive closure of calls (ie. sub-calls and their sub-calls). + * @param scopeRef The scope (procedure/root) to examine + * @return All scopes called in the closure of calls + */ + public Collection getRecursiveCalls(ScopeRef scopeRef) { + ArrayList closure = new ArrayList<>(); + CallBlock callBlock = getCallBlock(scopeRef); + if(callBlock!=null) { + for(CallBlock.Call call : callBlock.getCalls()) { + addRecursiveCalls(call.getProcedure(), closure); + } + } + return closure; + } + + /** + * Get the closure of all procedures called from a specific scope. + * This includes the recursive closure of calls (ie. sub-calls and their sub-calls). + * @param scopeRef The scope (procedure/root) to examine + * @param found The scopes already found + * + * @return All scopes called in the closure of calls + */ + private void addRecursiveCalls(ScopeRef scopeRef, Collection found) { + if(found.contains(scopeRef)) { + // Recursion detected - stop here + return; + } + found.add(scopeRef); + CallBlock callBlock = getCallBlock(scopeRef); + if(callBlock!=null) { + for(CallBlock.Call call : callBlock.getCalls()) { + addRecursiveCalls(call.getProcedure(), found); + } + } + } + + + @Override public String toString() { StringBuilder out = new StringBuilder(); @@ -126,6 +163,9 @@ public class CallGraph { */ private ScopeRef scopeLabel; + /** + * All direct calls from the scope. + */ private List calls; public CallBlock(ScopeRef scopeLabel) { diff --git a/src/main/java/dk/camelot64/kickc/passes/Pass1AssertNoRecursion.java b/src/main/java/dk/camelot64/kickc/passes/Pass1AssertNoRecursion.java index 6cd05209a..461808a21 100644 --- a/src/main/java/dk/camelot64/kickc/passes/Pass1AssertNoRecursion.java +++ b/src/main/java/dk/camelot64/kickc/passes/Pass1AssertNoRecursion.java @@ -1,17 +1,12 @@ package dk.camelot64.kickc.passes; +import dk.camelot64.kickc.model.CallGraph; import dk.camelot64.kickc.model.CompileError; -import dk.camelot64.kickc.model.ControlFlowBlock; -import dk.camelot64.kickc.model.ControlFlowGraph; import dk.camelot64.kickc.model.Program; -import dk.camelot64.kickc.model.statements.Statement; -import dk.camelot64.kickc.model.statements.StatementCall; -import dk.camelot64.kickc.model.values.ProcedureRef; -import dk.camelot64.kickc.model.values.SymbolRef; +import dk.camelot64.kickc.model.symbols.Procedure; +import dk.camelot64.kickc.model.values.ScopeRef; -import java.util.Deque; -import java.util.Iterator; -import java.util.LinkedList; +import java.util.Collection; /** Asserts that the program has no recursive calls */ public class Pass1AssertNoRecursion extends Pass1Base { @@ -22,53 +17,16 @@ public class Pass1AssertNoRecursion extends Pass1Base { @Override public boolean step() { - ControlFlowBlock firstBlock = getGraph().getFirstBlock(); - Deque path = new LinkedList<>(); - assertNoRecursion(firstBlock, path); + CallGraph callGraph = getProgram().getCallGraph(); + Collection procedures = getScope().getAllProcedures(true); + for(Procedure procedure : procedures) { + Collection recursiveCalls = callGraph.getRecursiveCalls(procedure.getRef()); + if(recursiveCalls.contains(procedure.getRef())) { + throw new CompileError("ERROR! Recursion not allowed! Occurs in " + procedure.getRef()); + } + } return false; } - /** - * Asserts that no methods perform recursive calls - * @param block The block to check - * @param path The call-path taken to the block - */ - private void assertNoRecursion(ControlFlowBlock block, Deque path) { - // Detect recursion - if(path.contains(block)) { - StringBuffer msg = new StringBuffer(); - Iterator pathIt = path.descendingIterator(); - while(pathIt.hasNext()) { - ControlFlowBlock pathBlock = pathIt.next(); - msg.append(pathBlock.getLabel()).append(" > "); - } - msg.append(block.getLabel()); - throw new CompileError("ERROR! Recursion not allowed! "+msg); - } - path.push(block); - // Follow all calls - for(Statement statement : block.getStatements()) { - if(statement instanceof StatementCall) { - ProcedureRef procedureRef = ((StatementCall) statement).getProcedure(); - ControlFlowBlock procedureBlock = getGraph().getBlock(procedureRef.getLabelRef()); - assertNoRecursion(procedureBlock, path); - } - } - // Follow successors - if(block.getConditionalSuccessor()!=null && !block.getConditionalSuccessor().isProcExit()) { - ControlFlowBlock conditionalSuccessor = getGraph().getConditionalSuccessor(block); - if(!path.contains(conditionalSuccessor)) { - assertNoRecursion(conditionalSuccessor, path); - } - } - if(block.getDefaultSuccessor()!=null && !block.getDefaultSuccessor().isProcExit()) { - ControlFlowBlock defaultSuccessor = getGraph().getDefaultSuccessor(block); - if(!path.contains(defaultSuccessor)) { - assertNoRecursion(defaultSuccessor, path); - } - } - path.pop(); - } - } diff --git a/src/main/java/dk/camelot64/kickc/passes/Pass3LoopDepthAnalysis.java b/src/main/java/dk/camelot64/kickc/passes/Pass3LoopDepthAnalysis.java index 4fb6ec931..d0247f3fc 100644 --- a/src/main/java/dk/camelot64/kickc/passes/Pass3LoopDepthAnalysis.java +++ b/src/main/java/dk/camelot64/kickc/passes/Pass3LoopDepthAnalysis.java @@ -34,7 +34,7 @@ public class Pass3LoopDepthAnalysis extends Pass2Base { LabelRef label = entryPointBlock.getLabel(); ScopeRef scope; if(label.getFullName().equals(LabelRef.BEGIN_BLOCK_NAME)) { - scope = callGraph.getFirstCallBlock(); + scope = ScopeRef.ROOT; } else { scope = entryPointBlock.getScope(); } diff --git a/src/test/java/dk/camelot64/kickc/test/TestPrograms.java b/src/test/java/dk/camelot64/kickc/test/TestPrograms.java index 4d3193f05..79f828ec6 100644 --- a/src/test/java/dk/camelot64/kickc/test/TestPrograms.java +++ b/src/test/java/dk/camelot64/kickc/test/TestPrograms.java @@ -44,6 +44,11 @@ public class TestPrograms { AsmFragmentTemplateUsages.logUsages(log, false, false, false, false, false, false); } + @Test + public void testNoRecursionHeavy() throws IOException, URISyntaxException { + compileAndCompare("no-recursion-heavy"); + } + @Test public void testScrollUp() throws IOException, URISyntaxException { compileAndCompare("test-scroll-up"); diff --git a/src/test/kc/no-recursion-heavy.kc b/src/test/kc/no-recursion-heavy.kc new file mode 100644 index 000000000..560140cf9 --- /dev/null +++ b/src/test/kc/no-recursion-heavy.kc @@ -0,0 +1,178 @@ + +byte ba = 0; +byte bb = 0; +byte bc = 0; +byte bd = 0; +byte be = 0; + +void main() { + while(true) { + f0(); + ba++; + } +} + +void f0() { + if(ba==0) { + bb++; + fa(); + } + if(ba==1) { + bb++; + fa(); + } + if(ba==2) { + bb++; + fa(); + } + if(ba==3) { + bb++; + fa(); + } + if(ba==4) { + bb++; + fa(); + } + if(ba==5) { + bb++; + fa(); + } + if(ba==6) { + bb++; + fa(); + } + if(ba==7) { + bb++; + fa(); + } + if(ba==8) { + bb++; + fa(); + } + if(ba==9) { + bb = 0; + fa(); + } + +} + +void fa() { + if(bb==0) { + bc++; + fb(); + } + if(bb==1) { + bc++; + fb(); + } + if(bb==2) { + bc++; + fb(); + } + if(bb==3) { + bc++; + fb(); + } + if(bb==4) { + bc++; + fb(); + } + if(bb==5) { + bc++; + fb(); + } + if(bb==6) { + bc++; + fb(); + } + if(bb==7) { + bc++; + fb(); + } + if(bb==8) { + bc++; + fb(); + } + if(bb==9) { + bc = 0; + fb(); + } + +} + +void fb() { + if(bc==0) { + bd++; + fc(); + } + if(bc==1) { + bd++; + fc(); + } + if(bc==2) { + bd++; + fc(); + } + if(bc==3) { + bd++; + fc(); + } + if(bc==4) { + bd++; + fc(); + } + if(bc==5) { + bd++; + fc(); + } + if(bc==6) { + bd++; + fc(); + } + if(bc==7) { + bd++; + fc(); + } + if(bc==8) { + bd++; + fc(); + } + if(bc==9) { + bd = 0; + fc(); + } + +} + +void fc() { + if(bd==0) { + be++; + } + if(bd==1) { + be++; + } + if(bd==2) { + be++; + } + if(bd==3) { + be++; + } + if(bd==4) { + be++; + } + if(bd==5) { + be++; + } + if(bd==6) { + be++; + } + if(bd==7) { + be++; + } + if(bd==8) { + be++; + } + if(bd==9) { + be = 0; + } +} \ No newline at end of file diff --git a/src/test/ref/no-recursion-heavy.asm b/src/test/ref/no-recursion-heavy.asm new file mode 100644 index 000000000..864bfd55e --- /dev/null +++ b/src/test/ref/no-recursion-heavy.asm @@ -0,0 +1,304 @@ +.pc = $801 "Basic" +:BasicUpstart(main) +.pc = $80d "Program" + .label ba = 2 + .label be = 6 + .label bb = 3 + .label bb_27 = 4 + .label bc = 5 + .label bb_101 = 4 + .label bb_102 = 4 + .label bb_103 = 4 + .label bb_104 = 4 + .label bb_105 = 4 + .label bb_106 = 4 + .label bb_107 = 4 + .label bb_108 = 4 + .label bb_109 = 4 +main: { + lda #0 + sta ba + sta be + tay + tax + sta bb + b2: + jsr f0 + inc ba + jmp b2 +} +f0: { + lda ba + cmp #0 + bne b1 + inc bb + lda bb + sta bb_101 + jsr fa + b1: + lda ba + cmp #1 + bne b2 + inc bb + lda bb + sta bb_102 + jsr fa + b2: + lda ba + cmp #2 + bne b3 + inc bb + lda bb + sta bb_103 + jsr fa + b3: + lda ba + cmp #3 + bne b4 + inc bb + lda bb + sta bb_104 + jsr fa + b4: + lda ba + cmp #4 + bne b5 + inc bb + lda bb + sta bb_105 + jsr fa + b5: + lda ba + cmp #5 + bne b6 + inc bb + lda bb + sta bb_106 + jsr fa + b6: + lda ba + cmp #6 + bne b7 + inc bb + lda bb + sta bb_107 + jsr fa + b7: + lda ba + cmp #7 + bne b8 + inc bb + lda bb + sta bb_108 + jsr fa + b8: + lda ba + cmp #8 + bne b9 + inc bb + lda bb + sta bb_109 + jsr fa + b9: + lda ba + cmp #9 + bne breturn + lda #0 + sta bb_27 + jsr fa + lda #0 + sta bb + breturn: + rts +} +fa: { + lda bb_27 + cmp #0 + bne b1 + inx + stx bc + jsr fb + b1: + lda bb_27 + cmp #1 + bne b2 + inx + stx bc + jsr fb + b2: + lda bb_27 + cmp #2 + bne b3 + inx + stx bc + jsr fb + b3: + lda bb_27 + cmp #3 + bne b4 + inx + stx bc + jsr fb + b4: + lda bb_27 + cmp #4 + bne b5 + inx + stx bc + jsr fb + b5: + lda bb_27 + cmp #5 + bne b6 + inx + stx bc + jsr fb + b6: + lda bb_27 + cmp #6 + bne b7 + inx + stx bc + jsr fb + b7: + lda bb_27 + cmp #7 + bne b8 + inx + stx bc + jsr fb + b8: + lda bb_27 + cmp #8 + bne b9 + inx + stx bc + jsr fb + b9: + lda bb_27 + cmp #9 + bne breturn + lda #0 + sta bc + jsr fb + ldx #0 + breturn: + rts +} +fb: { + lda bc + cmp #0 + bne b1 + iny + tya + jsr fc + b1: + lda bc + cmp #1 + bne b2 + iny + tya + jsr fc + b2: + lda bc + cmp #2 + bne b3 + iny + tya + jsr fc + b3: + lda bc + cmp #3 + bne b4 + iny + tya + jsr fc + b4: + lda bc + cmp #4 + bne b5 + iny + tya + jsr fc + b5: + lda bc + cmp #5 + bne b6 + iny + tya + jsr fc + b6: + lda bc + cmp #6 + bne b7 + iny + tya + jsr fc + b7: + lda bc + cmp #7 + bne b8 + iny + tya + jsr fc + b8: + lda bc + cmp #8 + bne b9 + iny + tya + jsr fc + b9: + lda bc + cmp #9 + bne breturn + lda #0 + jsr fc + ldy #0 + breturn: + rts +} +fc: { + cmp #0 + bne b1 + inc be + b1: + cmp #1 + bne b2 + inc be + b2: + cmp #2 + bne b3 + inc be + b3: + cmp #3 + bne b4 + inc be + b4: + cmp #4 + bne b5 + inc be + b5: + cmp #5 + bne b6 + inc be + b6: + cmp #6 + bne b7 + inc be + b7: + cmp #7 + bne b8 + inc be + b8: + cmp #8 + bne b9 + inc be + b9: + cmp #9 + bne breturn + lda #0 + sta be + breturn: + rts +} diff --git a/src/test/ref/no-recursion-heavy.cfg b/src/test/ref/no-recursion-heavy.cfg new file mode 100644 index 000000000..09579fbc2 --- /dev/null +++ b/src/test/ref/no-recursion-heavy.cfg @@ -0,0 +1,444 @@ +@begin: scope:[] from + [0] phi() + to:@5 +@5: scope:[] from @begin + [1] phi() + [2] call main + to:@end +@end: scope:[] from @5 + [3] phi() +main: scope:[main] from @5 + [4] phi() + to:main::@1 +main::@1: scope:[main] from main main::@7 + [5] (byte) ba#17 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@7/(byte) ba#1 ) + [5] (byte) be#2 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@7/(byte) be#13 ) + [5] (byte) bd#2 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@7/(byte) bd#13 ) + [5] (byte) bc#2 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@7/(byte) bc#13 ) + [5] (byte) bb#16 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@7/(byte) bb#13 ) + to:main::@2 +main::@2: scope:[main] from main::@1 + [6] phi() + [7] call f0 + to:main::@7 +main::@7: scope:[main] from main::@2 + [8] (byte) ba#1 ← ++ (byte) ba#17 + to:main::@1 +f0: scope:[f0] from main::@2 + [9] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto f0::@1 + to:f0::@11 +f0::@11: scope:[f0] from f0 + [10] (byte) bb#3 ← ++ (byte) bb#16 + [11] (byte~) bb#101 ← (byte) bb#3 + [12] call fa + to:f0::@1 +f0::@1: scope:[f0] from f0 f0::@11 + [13] (byte) be#142 ← phi( f0/(byte) be#2 f0::@11/(byte) be#24 ) + [13] (byte) bd#129 ← phi( f0/(byte) bd#2 f0::@11/(byte) bd#24 ) + [13] (byte) bc#63 ← phi( f0/(byte) bc#2 f0::@11/(byte) bc#24 ) + [13] (byte) bb#18 ← phi( f0/(byte) bb#16 f0::@11/(byte) bb#3 ) + [14] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 1) goto f0::@2 + to:f0::@12 +f0::@12: scope:[f0] from f0::@1 + [15] (byte) bb#4 ← ++ (byte) bb#18 + [16] (byte~) bb#102 ← (byte) bb#4 + [17] call fa + to:f0::@2 +f0::@2: scope:[f0] from f0::@1 f0::@12 + [18] (byte) be#143 ← phi( f0::@1/(byte) be#142 f0::@12/(byte) be#24 ) + [18] (byte) bd#130 ← phi( f0::@1/(byte) bd#129 f0::@12/(byte) bd#24 ) + [18] (byte) bc#64 ← phi( f0::@1/(byte) bc#63 f0::@12/(byte) bc#24 ) + [18] (byte) bb#19 ← phi( f0::@1/(byte) bb#18 f0::@12/(byte) bb#4 ) + [19] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 2) goto f0::@3 + to:f0::@13 +f0::@13: scope:[f0] from f0::@2 + [20] (byte) bb#5 ← ++ (byte) bb#19 + [21] (byte~) bb#103 ← (byte) bb#5 + [22] call fa + to:f0::@3 +f0::@3: scope:[f0] from f0::@13 f0::@2 + [23] (byte) be#144 ← phi( f0::@2/(byte) be#143 f0::@13/(byte) be#24 ) + [23] (byte) bd#131 ← phi( f0::@2/(byte) bd#130 f0::@13/(byte) bd#24 ) + [23] (byte) bc#65 ← phi( f0::@2/(byte) bc#64 f0::@13/(byte) bc#24 ) + [23] (byte) bb#20 ← phi( f0::@2/(byte) bb#19 f0::@13/(byte) bb#5 ) + [24] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto f0::@4 + to:f0::@14 +f0::@14: scope:[f0] from f0::@3 + [25] (byte) bb#6 ← ++ (byte) bb#20 + [26] (byte~) bb#104 ← (byte) bb#6 + [27] call fa + to:f0::@4 +f0::@4: scope:[f0] from f0::@14 f0::@3 + [28] (byte) be#100 ← phi( f0::@14/(byte) be#24 f0::@3/(byte) be#144 ) + [28] (byte) bd#132 ← phi( f0::@14/(byte) bd#24 f0::@3/(byte) bd#131 ) + [28] (byte) bc#66 ← phi( f0::@14/(byte) bc#24 f0::@3/(byte) bc#65 ) + [28] (byte) bb#21 ← phi( f0::@14/(byte) bb#6 f0::@3/(byte) bb#20 ) + [29] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto f0::@5 + to:f0::@15 +f0::@15: scope:[f0] from f0::@4 + [30] (byte) bb#66 ← ++ (byte) bb#21 + [31] (byte~) bb#105 ← (byte) bb#66 + [32] call fa + to:f0::@5 +f0::@5: scope:[f0] from f0::@15 f0::@4 + [33] (byte) be#101 ← phi( f0::@15/(byte) be#24 f0::@4/(byte) be#100 ) + [33] (byte) bd#133 ← phi( f0::@15/(byte) bd#24 f0::@4/(byte) bd#132 ) + [33] (byte) bc#100 ← phi( f0::@15/(byte) bc#24 f0::@4/(byte) bc#66 ) + [33] (byte) bb#22 ← phi( f0::@15/(byte) bb#66 f0::@4/(byte) bb#21 ) + [34] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 5) goto f0::@6 + to:f0::@16 +f0::@16: scope:[f0] from f0::@5 + [35] (byte) bb#67 ← ++ (byte) bb#22 + [36] (byte~) bb#106 ← (byte) bb#67 + [37] call fa + to:f0::@6 +f0::@6: scope:[f0] from f0::@16 f0::@5 + [38] (byte) be#102 ← phi( f0::@16/(byte) be#24 f0::@5/(byte) be#101 ) + [38] (byte) bd#134 ← phi( f0::@16/(byte) bd#24 f0::@5/(byte) bd#133 ) + [38] (byte) bc#101 ← phi( f0::@16/(byte) bc#24 f0::@5/(byte) bc#100 ) + [38] (byte) bb#23 ← phi( f0::@16/(byte) bb#67 f0::@5/(byte) bb#22 ) + [39] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 6) goto f0::@7 + to:f0::@17 +f0::@17: scope:[f0] from f0::@6 + [40] (byte) bb#68 ← ++ (byte) bb#23 + [41] (byte~) bb#107 ← (byte) bb#68 + [42] call fa + to:f0::@7 +f0::@7: scope:[f0] from f0::@17 f0::@6 + [43] (byte) be#103 ← phi( f0::@17/(byte) be#24 f0::@6/(byte) be#102 ) + [43] (byte) bd#135 ← phi( f0::@17/(byte) bd#24 f0::@6/(byte) bd#134 ) + [43] (byte) bc#102 ← phi( f0::@17/(byte) bc#24 f0::@6/(byte) bc#101 ) + [43] (byte) bb#24 ← phi( f0::@17/(byte) bb#68 f0::@6/(byte) bb#23 ) + [44] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto f0::@8 + to:f0::@18 +f0::@18: scope:[f0] from f0::@7 + [45] (byte) bb#10 ← ++ (byte) bb#24 + [46] (byte~) bb#108 ← (byte) bb#10 + [47] call fa + to:f0::@8 +f0::@8: scope:[f0] from f0::@18 f0::@7 + [48] (byte) be#104 ← phi( f0::@18/(byte) be#24 f0::@7/(byte) be#103 ) + [48] (byte) bd#136 ← phi( f0::@18/(byte) bd#24 f0::@7/(byte) bd#135 ) + [48] (byte) bc#103 ← phi( f0::@18/(byte) bc#24 f0::@7/(byte) bc#102 ) + [48] (byte) bb#25 ← phi( f0::@18/(byte) bb#10 f0::@7/(byte) bb#24 ) + [49] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto f0::@9 + to:f0::@19 +f0::@19: scope:[f0] from f0::@8 + [50] (byte) bb#11 ← ++ (byte) bb#25 + [51] (byte~) bb#109 ← (byte) bb#11 + [52] call fa + to:f0::@9 +f0::@9: scope:[f0] from f0::@19 f0::@8 + [53] (byte) be#105 ← phi( f0::@19/(byte) be#24 f0::@8/(byte) be#104 ) + [53] (byte) bd#137 ← phi( f0::@19/(byte) bd#24 f0::@8/(byte) bd#136 ) + [53] (byte) bc#104 ← phi( f0::@19/(byte) bc#24 f0::@8/(byte) bc#103 ) + [53] (byte) bb#49 ← phi( f0::@19/(byte) bb#11 f0::@8/(byte) bb#25 ) + [54] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 9) goto f0::@return + to:f0::@20 +f0::@20: scope:[f0] from f0::@9 + [55] phi() + [56] call fa + to:f0::@return +f0::@return: scope:[f0] from f0::@20 f0::@9 + [57] (byte) be#13 ← phi( f0::@9/(byte) be#105 f0::@20/(byte) be#24 ) + [57] (byte) bd#13 ← phi( f0::@9/(byte) bd#137 f0::@20/(byte) bd#24 ) + [57] (byte) bc#13 ← phi( f0::@9/(byte) bc#104 f0::@20/(byte) bc#24 ) + [57] (byte) bb#13 ← phi( f0::@9/(byte) bb#49 f0::@20/(byte/signed byte/word/signed word/dword/signed dword) 0 ) + [58] return + to:@return +fa: scope:[fa] from f0::@11 f0::@12 f0::@13 f0::@14 f0::@15 f0::@16 f0::@17 f0::@18 f0::@19 f0::@20 + [59] (byte) be#107 ← phi( f0::@11/(byte) be#2 f0::@12/(byte) be#142 f0::@13/(byte) be#143 f0::@14/(byte) be#144 f0::@15/(byte) be#100 f0::@16/(byte) be#101 f0::@17/(byte) be#102 f0::@18/(byte) be#103 f0::@19/(byte) be#104 f0::@20/(byte) be#105 ) + [59] (byte) bd#138 ← phi( f0::@11/(byte) bd#2 f0::@12/(byte) bd#129 f0::@13/(byte) bd#130 f0::@14/(byte) bd#131 f0::@15/(byte) bd#132 f0::@16/(byte) bd#133 f0::@17/(byte) bd#134 f0::@18/(byte) bd#135 f0::@19/(byte) bd#136 f0::@20/(byte) bd#137 ) + [59] (byte) bc#39 ← phi( f0::@11/(byte) bc#2 f0::@12/(byte) bc#63 f0::@13/(byte) bc#64 f0::@14/(byte) bc#65 f0::@15/(byte) bc#66 f0::@16/(byte) bc#100 f0::@17/(byte) bc#101 f0::@18/(byte) bc#102 f0::@19/(byte) bc#103 f0::@20/(byte) bc#104 ) + [59] (byte) bb#27 ← phi( f0::@11/(byte~) bb#101 f0::@12/(byte~) bb#102 f0::@13/(byte~) bb#103 f0::@14/(byte~) bb#104 f0::@15/(byte~) bb#105 f0::@16/(byte~) bb#106 f0::@17/(byte~) bb#107 f0::@18/(byte~) bb#108 f0::@19/(byte~) bb#109 f0::@20/(byte/signed byte/word/signed word/dword/signed dword) 0 ) + [60] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto fa::@1 + to:fa::@11 +fa::@11: scope:[fa] from fa + [61] (byte) bc#105 ← ++ (byte) bc#39 + [62] (byte~) bc#174 ← (byte) bc#105 + [63] call fb + to:fa::@1 +fa::@1: scope:[fa] from fa fa::@11 + [64] (byte) be#108 ← phi( fa/(byte) be#107 fa::@11/(byte) be#35 ) + [64] (byte) bd#139 ← phi( fa/(byte) bd#138 fa::@11/(byte) bd#35 ) + [64] (byte) bc#40 ← phi( fa/(byte) bc#39 fa::@11/(byte) bc#105 ) + [65] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 1) goto fa::@2 + to:fa::@12 +fa::@12: scope:[fa] from fa::@1 + [66] (byte) bc#106 ← ++ (byte) bc#40 + [67] (byte~) bc#175 ← (byte) bc#106 + [68] call fb + to:fa::@2 +fa::@2: scope:[fa] from fa::@1 fa::@12 + [69] (byte) be#109 ← phi( fa::@1/(byte) be#108 fa::@12/(byte) be#35 ) + [69] (byte) bd#140 ← phi( fa::@1/(byte) bd#139 fa::@12/(byte) bd#35 ) + [69] (byte) bc#41 ← phi( fa::@1/(byte) bc#40 fa::@12/(byte) bc#106 ) + [70] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 2) goto fa::@3 + to:fa::@13 +fa::@13: scope:[fa] from fa::@2 + [71] (byte) bc#107 ← ++ (byte) bc#41 + [72] (byte~) bc#176 ← (byte) bc#107 + [73] call fb + to:fa::@3 +fa::@3: scope:[fa] from fa::@13 fa::@2 + [74] (byte) be#110 ← phi( fa::@2/(byte) be#109 fa::@13/(byte) be#35 ) + [74] (byte) bd#141 ← phi( fa::@2/(byte) bd#140 fa::@13/(byte) bd#35 ) + [74] (byte) bc#42 ← phi( fa::@2/(byte) bc#41 fa::@13/(byte) bc#107 ) + [75] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto fa::@4 + to:fa::@14 +fa::@14: scope:[fa] from fa::@3 + [76] (byte) bc#108 ← ++ (byte) bc#42 + [77] (byte~) bc#177 ← (byte) bc#108 + [78] call fb + to:fa::@4 +fa::@4: scope:[fa] from fa::@14 fa::@3 + [79] (byte) be#111 ← phi( fa::@14/(byte) be#35 fa::@3/(byte) be#110 ) + [79] (byte) bd#142 ← phi( fa::@14/(byte) bd#35 fa::@3/(byte) bd#141 ) + [79] (byte) bc#43 ← phi( fa::@14/(byte) bc#108 fa::@3/(byte) bc#42 ) + [80] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto fa::@5 + to:fa::@15 +fa::@15: scope:[fa] from fa::@4 + [81] (byte) bc#109 ← ++ (byte) bc#43 + [82] (byte~) bc#178 ← (byte) bc#109 + [83] call fb + to:fa::@5 +fa::@5: scope:[fa] from fa::@15 fa::@4 + [84] (byte) be#112 ← phi( fa::@15/(byte) be#35 fa::@4/(byte) be#111 ) + [84] (byte) bd#100 ← phi( fa::@15/(byte) bd#35 fa::@4/(byte) bd#142 ) + [84] (byte) bc#44 ← phi( fa::@15/(byte) bc#109 fa::@4/(byte) bc#43 ) + [85] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 5) goto fa::@6 + to:fa::@16 +fa::@16: scope:[fa] from fa::@5 + [86] (byte) bc#110 ← ++ (byte) bc#44 + [87] (byte~) bc#179 ← (byte) bc#110 + [88] call fb + to:fa::@6 +fa::@6: scope:[fa] from fa::@16 fa::@5 + [89] (byte) be#113 ← phi( fa::@16/(byte) be#35 fa::@5/(byte) be#112 ) + [89] (byte) bd#101 ← phi( fa::@16/(byte) bd#35 fa::@5/(byte) bd#100 ) + [89] (byte) bc#45 ← phi( fa::@16/(byte) bc#110 fa::@5/(byte) bc#44 ) + [90] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 6) goto fa::@7 + to:fa::@17 +fa::@17: scope:[fa] from fa::@6 + [91] (byte) bc#111 ← ++ (byte) bc#45 + [92] (byte~) bc#180 ← (byte) bc#111 + [93] call fb + to:fa::@7 +fa::@7: scope:[fa] from fa::@17 fa::@6 + [94] (byte) be#114 ← phi( fa::@17/(byte) be#35 fa::@6/(byte) be#113 ) + [94] (byte) bd#102 ← phi( fa::@17/(byte) bd#35 fa::@6/(byte) bd#101 ) + [94] (byte) bc#46 ← phi( fa::@17/(byte) bc#111 fa::@6/(byte) bc#45 ) + [95] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto fa::@8 + to:fa::@18 +fa::@18: scope:[fa] from fa::@7 + [96] (byte) bc#112 ← ++ (byte) bc#46 + [97] (byte~) bc#181 ← (byte) bc#112 + [98] call fb + to:fa::@8 +fa::@8: scope:[fa] from fa::@18 fa::@7 + [99] (byte) be#115 ← phi( fa::@18/(byte) be#35 fa::@7/(byte) be#114 ) + [99] (byte) bd#103 ← phi( fa::@18/(byte) bd#35 fa::@7/(byte) bd#102 ) + [99] (byte) bc#47 ← phi( fa::@18/(byte) bc#112 fa::@7/(byte) bc#46 ) + [100] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto fa::@9 + to:fa::@19 +fa::@19: scope:[fa] from fa::@8 + [101] (byte) bc#123 ← ++ (byte) bc#47 + [102] (byte~) bc#182 ← (byte) bc#123 + [103] call fb + to:fa::@9 +fa::@9: scope:[fa] from fa::@19 fa::@8 + [104] (byte) be#116 ← phi( fa::@19/(byte) be#35 fa::@8/(byte) be#115 ) + [104] (byte) bd#104 ← phi( fa::@19/(byte) bd#35 fa::@8/(byte) bd#103 ) + [104] (byte) bc#113 ← phi( fa::@19/(byte) bc#123 fa::@8/(byte) bc#47 ) + [105] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 9) goto fa::@return + to:fa::@20 +fa::@20: scope:[fa] from fa::@9 + [106] phi() + [107] call fb + to:fa::@return +fa::@return: scope:[fa] from fa::@20 fa::@9 + [108] (byte) be#24 ← phi( fa::@9/(byte) be#116 fa::@20/(byte) be#35 ) + [108] (byte) bd#24 ← phi( fa::@9/(byte) bd#104 fa::@20/(byte) bd#35 ) + [108] (byte) bc#24 ← phi( fa::@9/(byte) bc#113 fa::@20/(byte/signed byte/word/signed word/dword/signed dword) 0 ) + [109] return + to:@return +fb: scope:[fb] from fa::@11 fa::@12 fa::@13 fa::@14 fa::@15 fa::@16 fa::@17 fa::@18 fa::@19 fa::@20 + [110] (byte) be#118 ← phi( fa::@11/(byte) be#107 fa::@12/(byte) be#108 fa::@13/(byte) be#109 fa::@14/(byte) be#110 fa::@15/(byte) be#111 fa::@16/(byte) be#112 fa::@17/(byte) be#113 fa::@18/(byte) be#114 fa::@19/(byte) be#115 fa::@20/(byte) be#116 ) + [110] (byte) bd#106 ← phi( fa::@11/(byte) bd#138 fa::@12/(byte) bd#139 fa::@13/(byte) bd#140 fa::@14/(byte) bd#141 fa::@15/(byte) bd#142 fa::@16/(byte) bd#100 fa::@17/(byte) bd#101 fa::@18/(byte) bd#102 fa::@19/(byte) bd#103 fa::@20/(byte) bd#104 ) + [110] (byte) bc#114 ← phi( fa::@11/(byte~) bc#174 fa::@12/(byte~) bc#175 fa::@13/(byte~) bc#176 fa::@14/(byte~) bc#177 fa::@15/(byte~) bc#178 fa::@16/(byte~) bc#179 fa::@17/(byte~) bc#180 fa::@18/(byte~) bc#181 fa::@19/(byte~) bc#182 fa::@20/(byte/signed byte/word/signed word/dword/signed dword) 0 ) + [111] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto fb::@1 + to:fb::@11 +fb::@11: scope:[fb] from fb + [112] (byte) bd#148 ← ++ (byte) bd#106 + [113] (byte~) bd#238 ← (byte) bd#148 + [114] call fc + to:fb::@1 +fb::@1: scope:[fb] from fb fb::@11 + [115] (byte) be#119 ← phi( fb/(byte) be#118 fb::@11/(byte) be#46 ) + [115] (byte) bd#107 ← phi( fb/(byte) bd#106 fb::@11/(byte) bd#148 ) + [116] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 1) goto fb::@2 + to:fb::@12 +fb::@12: scope:[fb] from fb::@1 + [117] (byte) bd#149 ← ++ (byte) bd#107 + [118] (byte~) bd#239 ← (byte) bd#149 + [119] call fc + to:fb::@2 +fb::@2: scope:[fb] from fb::@1 fb::@12 + [120] (byte) be#120 ← phi( fb::@1/(byte) be#119 fb::@12/(byte) be#46 ) + [120] (byte) bd#108 ← phi( fb::@1/(byte) bd#107 fb::@12/(byte) bd#149 ) + [121] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 2) goto fb::@3 + to:fb::@13 +fb::@13: scope:[fb] from fb::@2 + [122] (byte) bd#150 ← ++ (byte) bd#108 + [123] (byte~) bd#240 ← (byte) bd#150 + [124] call fc + to:fb::@3 +fb::@3: scope:[fb] from fb::@13 fb::@2 + [125] (byte) be#121 ← phi( fb::@2/(byte) be#120 fb::@13/(byte) be#46 ) + [125] (byte) bd#109 ← phi( fb::@2/(byte) bd#108 fb::@13/(byte) bd#150 ) + [126] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto fb::@4 + to:fb::@14 +fb::@14: scope:[fb] from fb::@3 + [127] (byte) bd#151 ← ++ (byte) bd#109 + [128] (byte~) bd#241 ← (byte) bd#151 + [129] call fc + to:fb::@4 +fb::@4: scope:[fb] from fb::@14 fb::@3 + [130] (byte) be#122 ← phi( fb::@14/(byte) be#46 fb::@3/(byte) be#121 ) + [130] (byte) bd#110 ← phi( fb::@14/(byte) bd#151 fb::@3/(byte) bd#109 ) + [131] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto fb::@5 + to:fb::@15 +fb::@15: scope:[fb] from fb::@4 + [132] (byte) bd#152 ← ++ (byte) bd#110 + [133] (byte~) bd#242 ← (byte) bd#152 + [134] call fc + to:fb::@5 +fb::@5: scope:[fb] from fb::@15 fb::@4 + [135] (byte) be#123 ← phi( fb::@15/(byte) be#46 fb::@4/(byte) be#122 ) + [135] (byte) bd#111 ← phi( fb::@15/(byte) bd#152 fb::@4/(byte) bd#110 ) + [136] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 5) goto fb::@6 + to:fb::@16 +fb::@16: scope:[fb] from fb::@5 + [137] (byte) bd#153 ← ++ (byte) bd#111 + [138] (byte~) bd#243 ← (byte) bd#153 + [139] call fc + to:fb::@6 +fb::@6: scope:[fb] from fb::@16 fb::@5 + [140] (byte) be#124 ← phi( fb::@16/(byte) be#46 fb::@5/(byte) be#123 ) + [140] (byte) bd#112 ← phi( fb::@16/(byte) bd#153 fb::@5/(byte) bd#111 ) + [141] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 6) goto fb::@7 + to:fb::@17 +fb::@17: scope:[fb] from fb::@6 + [142] (byte) bd#154 ← ++ (byte) bd#112 + [143] (byte~) bd#244 ← (byte) bd#154 + [144] call fc + to:fb::@7 +fb::@7: scope:[fb] from fb::@17 fb::@6 + [145] (byte) be#125 ← phi( fb::@17/(byte) be#46 fb::@6/(byte) be#124 ) + [145] (byte) bd#113 ← phi( fb::@17/(byte) bd#154 fb::@6/(byte) bd#112 ) + [146] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto fb::@8 + to:fb::@18 +fb::@18: scope:[fb] from fb::@7 + [147] (byte) bd#155 ← ++ (byte) bd#113 + [148] (byte~) bd#245 ← (byte) bd#155 + [149] call fc + to:fb::@8 +fb::@8: scope:[fb] from fb::@18 fb::@7 + [150] (byte) be#126 ← phi( fb::@18/(byte) be#46 fb::@7/(byte) be#125 ) + [150] (byte) bd#114 ← phi( fb::@18/(byte) bd#155 fb::@7/(byte) bd#113 ) + [151] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto fb::@9 + to:fb::@19 +fb::@19: scope:[fb] from fb::@8 + [152] (byte) bd#157 ← ++ (byte) bd#114 + [153] (byte~) bd#246 ← (byte) bd#157 + [154] call fc + to:fb::@9 +fb::@9: scope:[fb] from fb::@19 fb::@8 + [155] (byte) be#127 ← phi( fb::@19/(byte) be#46 fb::@8/(byte) be#126 ) + [155] (byte) bd#115 ← phi( fb::@19/(byte) bd#157 fb::@8/(byte) bd#114 ) + [156] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 9) goto fb::@return + to:fb::@20 +fb::@20: scope:[fb] from fb::@9 + [157] phi() + [158] call fc + to:fb::@return +fb::@return: scope:[fb] from fb::@20 fb::@9 + [159] (byte) be#35 ← phi( fb::@9/(byte) be#127 fb::@20/(byte) be#46 ) + [159] (byte) bd#35 ← phi( fb::@9/(byte) bd#115 fb::@20/(byte/signed byte/word/signed word/dword/signed dword) 0 ) + [160] return + to:@return +fc: scope:[fc] from fb::@11 fb::@12 fb::@13 fb::@14 fb::@15 fb::@16 fb::@17 fb::@18 fb::@19 fb::@20 + [161] (byte) be#129 ← phi( fb::@11/(byte) be#118 fb::@12/(byte) be#119 fb::@13/(byte) be#120 fb::@14/(byte) be#121 fb::@15/(byte) be#122 fb::@16/(byte) be#123 fb::@17/(byte) be#124 fb::@18/(byte) be#125 fb::@19/(byte) be#126 fb::@20/(byte) be#127 ) + [161] (byte) bd#117 ← phi( fb::@11/(byte~) bd#238 fb::@12/(byte~) bd#239 fb::@13/(byte~) bd#240 fb::@14/(byte~) bd#241 fb::@15/(byte~) bd#242 fb::@16/(byte~) bd#243 fb::@17/(byte~) bd#244 fb::@18/(byte~) bd#245 fb::@19/(byte~) bd#246 fb::@20/(byte/signed byte/word/signed word/dword/signed dword) 0 ) + [162] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto fc::@1 + to:fc::@11 +fc::@11: scope:[fc] from fc + [163] (byte) be#36 ← ++ (byte) be#129 + to:fc::@1 +fc::@1: scope:[fc] from fc fc::@11 + [164] (byte) be#130 ← phi( fc/(byte) be#129 fc::@11/(byte) be#36 ) + [165] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 1) goto fc::@2 + to:fc::@12 +fc::@12: scope:[fc] from fc::@1 + [166] (byte) be#37 ← ++ (byte) be#130 + to:fc::@2 +fc::@2: scope:[fc] from fc::@1 fc::@12 + [167] (byte) be#131 ← phi( fc::@1/(byte) be#130 fc::@12/(byte) be#37 ) + [168] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 2) goto fc::@3 + to:fc::@13 +fc::@13: scope:[fc] from fc::@2 + [169] (byte) be#38 ← ++ (byte) be#131 + to:fc::@3 +fc::@3: scope:[fc] from fc::@13 fc::@2 + [170] (byte) be#132 ← phi( fc::@13/(byte) be#38 fc::@2/(byte) be#131 ) + [171] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto fc::@4 + to:fc::@14 +fc::@14: scope:[fc] from fc::@3 + [172] (byte) be#39 ← ++ (byte) be#132 + to:fc::@4 +fc::@4: scope:[fc] from fc::@14 fc::@3 + [173] (byte) be#133 ← phi( fc::@14/(byte) be#39 fc::@3/(byte) be#132 ) + [174] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto fc::@5 + to:fc::@15 +fc::@15: scope:[fc] from fc::@4 + [175] (byte) be#40 ← ++ (byte) be#133 + to:fc::@5 +fc::@5: scope:[fc] from fc::@15 fc::@4 + [176] (byte) be#134 ← phi( fc::@15/(byte) be#40 fc::@4/(byte) be#133 ) + [177] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 5) goto fc::@6 + to:fc::@16 +fc::@16: scope:[fc] from fc::@5 + [178] (byte) be#41 ← ++ (byte) be#134 + to:fc::@6 +fc::@6: scope:[fc] from fc::@16 fc::@5 + [179] (byte) be#135 ← phi( fc::@16/(byte) be#41 fc::@5/(byte) be#134 ) + [180] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 6) goto fc::@7 + to:fc::@17 +fc::@17: scope:[fc] from fc::@6 + [181] (byte) be#42 ← ++ (byte) be#135 + to:fc::@7 +fc::@7: scope:[fc] from fc::@17 fc::@6 + [182] (byte) be#136 ← phi( fc::@17/(byte) be#42 fc::@6/(byte) be#135 ) + [183] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto fc::@8 + to:fc::@18 +fc::@18: scope:[fc] from fc::@7 + [184] (byte) be#43 ← ++ (byte) be#136 + to:fc::@8 +fc::@8: scope:[fc] from fc::@18 fc::@7 + [185] (byte) be#137 ← phi( fc::@18/(byte) be#43 fc::@7/(byte) be#136 ) + [186] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto fc::@9 + to:fc::@19 +fc::@19: scope:[fc] from fc::@8 + [187] (byte) be#44 ← ++ (byte) be#137 + to:fc::@9 +fc::@9: scope:[fc] from fc::@19 fc::@8 + [188] (byte) be#138 ← phi( fc::@19/(byte) be#44 fc::@8/(byte) be#137 ) + [189] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 9) goto fc::@30 + to:fc::@return +fc::@return: scope:[fc] from fc::@30 fc::@9 + [190] (byte) be#46 ← phi( fc::@30/(byte) be#138 fc::@9/(byte/signed byte/word/signed word/dword/signed dword) 0 ) + [191] return + to:@return +fc::@30: scope:[fc] from fc::@9 + [192] phi() + to:fc::@return diff --git a/src/test/ref/no-recursion-heavy.log b/src/test/ref/no-recursion-heavy.log new file mode 100644 index 000000000..c0e0b92b1 --- /dev/null +++ b/src/test/ref/no-recursion-heavy.log @@ -0,0 +1,7033 @@ + +CONTROL FLOW GRAPH SSA +@begin: scope:[] from + (byte) ba#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) bb#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) bc#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) bd#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) be#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:@5 +main: scope:[main] from @5 + (byte) ba#29 ← phi( @5/(byte) ba#28 ) + (byte) be#140 ← phi( @5/(byte) be#139 ) + (byte) bd#127 ← phi( @5/(byte) bd#126 ) + (byte) bc#94 ← phi( @5/(byte) bc#93 ) + (byte) bb#61 ← phi( @5/(byte) bb#60 ) + to:main::@1 +main::@1: scope:[main] from main main::@7 + (byte) ba#18 ← phi( main/(byte) ba#29 main::@7/(byte) ba#1 ) + (byte) be#95 ← phi( main/(byte) be#140 main::@7/(byte) be#1 ) + (byte) bd#83 ← phi( main/(byte) bd#127 main::@7/(byte) bd#1 ) + (byte) bc#61 ← phi( main/(byte) bc#94 main::@7/(byte) bc#1 ) + (byte) bb#39 ← phi( main/(byte) bb#61 main::@7/(byte) bb#1 ) + if(true) goto main::@2 + to:main::@return +main::@2: scope:[main] from main::@1 + (byte) ba#17 ← phi( main::@1/(byte) ba#18 ) + (byte) be#94 ← phi( main::@1/(byte) be#95 ) + (byte) bd#82 ← phi( main::@1/(byte) bd#83 ) + (byte) bc#60 ← phi( main::@1/(byte) bc#61 ) + (byte) bb#38 ← phi( main::@1/(byte) bb#39 ) + call f0 + to:main::@7 +main::@7: scope:[main] from main::@2 + (byte) ba#4 ← phi( main::@2/(byte) ba#17 ) + (byte) be#48 ← phi( main::@2/(byte) be#13 ) + (byte) bd#37 ← phi( main::@2/(byte) bd#13 ) + (byte) bc#26 ← phi( main::@2/(byte) bc#13 ) + (byte) bb#15 ← phi( main::@2/(byte) bb#13 ) + (byte) bb#1 ← (byte) bb#15 + (byte) bc#1 ← (byte) bc#26 + (byte) bd#1 ← (byte) bd#37 + (byte) be#1 ← (byte) be#48 + (byte) ba#1 ← ++ (byte) ba#4 + to:main::@1 +main::@return: scope:[main] from main::@1 + (byte) ba#5 ← phi( main::@1/(byte) ba#18 ) + (byte) be#49 ← phi( main::@1/(byte) be#95 ) + (byte) bd#38 ← phi( main::@1/(byte) bd#83 ) + (byte) bc#27 ← phi( main::@1/(byte) bc#61 ) + (byte) bb#16 ← phi( main::@1/(byte) bb#39 ) + (byte) bb#2 ← (byte) bb#16 + (byte) bc#2 ← (byte) bc#27 + (byte) bd#2 ← (byte) bd#38 + (byte) be#2 ← (byte) be#49 + (byte) ba#2 ← (byte) ba#5 + return + to:@return +f0: scope:[f0] from main::@2 + (byte) be#141 ← phi( main::@2/(byte) be#94 ) + (byte) bd#128 ← phi( main::@2/(byte) bd#82 ) + (byte) bc#95 ← phi( main::@2/(byte) bc#60 ) + (byte) bb#40 ← phi( main::@2/(byte) bb#38 ) + (byte) ba#6 ← phi( main::@2/(byte) ba#17 ) + (bool~) f0::$0 ← (byte) ba#6 == (byte/signed byte/word/signed word/dword/signed dword) 0 + (bool~) f0::$1 ← ! (bool~) f0::$0 + if((bool~) f0::$1) goto f0::@1 + to:f0::@11 +f0::@1: scope:[f0] from f0 f0::@21 + (byte) be#142 ← phi( f0/(byte) be#141 f0::@21/(byte) be#3 ) + (byte) bd#129 ← phi( f0/(byte) bd#128 f0::@21/(byte) bd#3 ) + (byte) bc#96 ← phi( f0/(byte) bc#95 f0::@21/(byte) bc#3 ) + (byte) bb#41 ← phi( f0/(byte) bb#40 f0::@21/(byte) bb#62 ) + (byte) ba#7 ← phi( f0/(byte) ba#6 f0::@21/(byte) ba#19 ) + (bool~) f0::$3 ← (byte) ba#7 == (byte/signed byte/word/signed word/dword/signed dword) 1 + (bool~) f0::$4 ← ! (bool~) f0::$3 + if((bool~) f0::$4) goto f0::@2 + to:f0::@12 +f0::@11: scope:[f0] from f0 + (byte) ba#30 ← phi( f0/(byte) ba#6 ) + (byte) be#96 ← phi( f0/(byte) be#141 ) + (byte) bd#84 ← phi( f0/(byte) bd#128 ) + (byte) bc#62 ← phi( f0/(byte) bc#95 ) + (byte) bb#17 ← phi( f0/(byte) bb#40 ) + (byte) bb#3 ← ++ (byte) bb#17 + call fa + to:f0::@21 +f0::@21: scope:[f0] from f0::@11 + (byte) bb#62 ← phi( f0::@11/(byte) bb#3 ) + (byte) ba#19 ← phi( f0::@11/(byte) ba#30 ) + (byte) be#50 ← phi( f0::@11/(byte) be#24 ) + (byte) bd#39 ← phi( f0::@11/(byte) bd#24 ) + (byte) bc#28 ← phi( f0::@11/(byte) bc#24 ) + (byte) bc#3 ← (byte) bc#28 + (byte) bd#3 ← (byte) bd#39 + (byte) be#3 ← (byte) be#50 + to:f0::@1 +f0::@2: scope:[f0] from f0::@1 f0::@22 + (byte) be#143 ← phi( f0::@1/(byte) be#142 f0::@22/(byte) be#4 ) + (byte) bd#130 ← phi( f0::@1/(byte) bd#129 f0::@22/(byte) bd#4 ) + (byte) bc#97 ← phi( f0::@1/(byte) bc#96 f0::@22/(byte) bc#4 ) + (byte) bb#42 ← phi( f0::@1/(byte) bb#41 f0::@22/(byte) bb#63 ) + (byte) ba#8 ← phi( f0::@1/(byte) ba#7 f0::@22/(byte) ba#20 ) + (bool~) f0::$6 ← (byte) ba#8 == (byte/signed byte/word/signed word/dword/signed dword) 2 + (bool~) f0::$7 ← ! (bool~) f0::$6 + if((bool~) f0::$7) goto f0::@3 + to:f0::@13 +f0::@12: scope:[f0] from f0::@1 + (byte) ba#31 ← phi( f0::@1/(byte) ba#7 ) + (byte) be#97 ← phi( f0::@1/(byte) be#142 ) + (byte) bd#85 ← phi( f0::@1/(byte) bd#129 ) + (byte) bc#63 ← phi( f0::@1/(byte) bc#96 ) + (byte) bb#18 ← phi( f0::@1/(byte) bb#41 ) + (byte) bb#4 ← ++ (byte) bb#18 + call fa + to:f0::@22 +f0::@22: scope:[f0] from f0::@12 + (byte) bb#63 ← phi( f0::@12/(byte) bb#4 ) + (byte) ba#20 ← phi( f0::@12/(byte) ba#31 ) + (byte) be#51 ← phi( f0::@12/(byte) be#24 ) + (byte) bd#40 ← phi( f0::@12/(byte) bd#24 ) + (byte) bc#29 ← phi( f0::@12/(byte) bc#24 ) + (byte) bc#4 ← (byte) bc#29 + (byte) bd#4 ← (byte) bd#40 + (byte) be#4 ← (byte) be#51 + to:f0::@2 +f0::@3: scope:[f0] from f0::@2 f0::@23 + (byte) be#144 ← phi( f0::@2/(byte) be#143 f0::@23/(byte) be#5 ) + (byte) bd#131 ← phi( f0::@2/(byte) bd#130 f0::@23/(byte) bd#5 ) + (byte) bc#98 ← phi( f0::@2/(byte) bc#97 f0::@23/(byte) bc#5 ) + (byte) bb#43 ← phi( f0::@2/(byte) bb#42 f0::@23/(byte) bb#64 ) + (byte) ba#9 ← phi( f0::@2/(byte) ba#8 f0::@23/(byte) ba#21 ) + (bool~) f0::$9 ← (byte) ba#9 == (byte/signed byte/word/signed word/dword/signed dword) 3 + (bool~) f0::$10 ← ! (bool~) f0::$9 + if((bool~) f0::$10) goto f0::@4 + to:f0::@14 +f0::@13: scope:[f0] from f0::@2 + (byte) ba#32 ← phi( f0::@2/(byte) ba#8 ) + (byte) be#98 ← phi( f0::@2/(byte) be#143 ) + (byte) bd#86 ← phi( f0::@2/(byte) bd#130 ) + (byte) bc#64 ← phi( f0::@2/(byte) bc#97 ) + (byte) bb#19 ← phi( f0::@2/(byte) bb#42 ) + (byte) bb#5 ← ++ (byte) bb#19 + call fa + to:f0::@23 +f0::@23: scope:[f0] from f0::@13 + (byte) bb#64 ← phi( f0::@13/(byte) bb#5 ) + (byte) ba#21 ← phi( f0::@13/(byte) ba#32 ) + (byte) be#52 ← phi( f0::@13/(byte) be#24 ) + (byte) bd#41 ← phi( f0::@13/(byte) bd#24 ) + (byte) bc#30 ← phi( f0::@13/(byte) bc#24 ) + (byte) bc#5 ← (byte) bc#30 + (byte) bd#5 ← (byte) bd#41 + (byte) be#5 ← (byte) be#52 + to:f0::@3 +f0::@4: scope:[f0] from f0::@24 f0::@3 + (byte) be#145 ← phi( f0::@24/(byte) be#6 f0::@3/(byte) be#144 ) + (byte) bd#132 ← phi( f0::@24/(byte) bd#6 f0::@3/(byte) bd#131 ) + (byte) bc#99 ← phi( f0::@24/(byte) bc#6 f0::@3/(byte) bc#98 ) + (byte) bb#44 ← phi( f0::@24/(byte) bb#65 f0::@3/(byte) bb#43 ) + (byte) ba#10 ← phi( f0::@24/(byte) ba#22 f0::@3/(byte) ba#9 ) + (bool~) f0::$12 ← (byte) ba#10 == (byte/signed byte/word/signed word/dword/signed dword) 4 + (bool~) f0::$13 ← ! (bool~) f0::$12 + if((bool~) f0::$13) goto f0::@5 + to:f0::@15 +f0::@14: scope:[f0] from f0::@3 + (byte) ba#33 ← phi( f0::@3/(byte) ba#9 ) + (byte) be#99 ← phi( f0::@3/(byte) be#144 ) + (byte) bd#87 ← phi( f0::@3/(byte) bd#131 ) + (byte) bc#65 ← phi( f0::@3/(byte) bc#98 ) + (byte) bb#20 ← phi( f0::@3/(byte) bb#43 ) + (byte) bb#6 ← ++ (byte) bb#20 + call fa + to:f0::@24 +f0::@24: scope:[f0] from f0::@14 + (byte) bb#65 ← phi( f0::@14/(byte) bb#6 ) + (byte) ba#22 ← phi( f0::@14/(byte) ba#33 ) + (byte) be#53 ← phi( f0::@14/(byte) be#24 ) + (byte) bd#42 ← phi( f0::@14/(byte) bd#24 ) + (byte) bc#31 ← phi( f0::@14/(byte) bc#24 ) + (byte) bc#6 ← (byte) bc#31 + (byte) bd#6 ← (byte) bd#42 + (byte) be#6 ← (byte) be#53 + to:f0::@4 +f0::@5: scope:[f0] from f0::@25 f0::@4 + (byte) be#146 ← phi( f0::@25/(byte) be#7 f0::@4/(byte) be#145 ) + (byte) bd#133 ← phi( f0::@25/(byte) bd#7 f0::@4/(byte) bd#132 ) + (byte) bc#100 ← phi( f0::@25/(byte) bc#7 f0::@4/(byte) bc#99 ) + (byte) bb#45 ← phi( f0::@25/(byte) bb#66 f0::@4/(byte) bb#44 ) + (byte) ba#11 ← phi( f0::@25/(byte) ba#23 f0::@4/(byte) ba#10 ) + (bool~) f0::$15 ← (byte) ba#11 == (byte/signed byte/word/signed word/dword/signed dword) 5 + (bool~) f0::$16 ← ! (bool~) f0::$15 + if((bool~) f0::$16) goto f0::@6 + to:f0::@16 +f0::@15: scope:[f0] from f0::@4 + (byte) ba#34 ← phi( f0::@4/(byte) ba#10 ) + (byte) be#100 ← phi( f0::@4/(byte) be#145 ) + (byte) bd#88 ← phi( f0::@4/(byte) bd#132 ) + (byte) bc#66 ← phi( f0::@4/(byte) bc#99 ) + (byte) bb#21 ← phi( f0::@4/(byte) bb#44 ) + (byte) bb#7 ← ++ (byte) bb#21 + call fa + to:f0::@25 +f0::@25: scope:[f0] from f0::@15 + (byte) bb#66 ← phi( f0::@15/(byte) bb#7 ) + (byte) ba#23 ← phi( f0::@15/(byte) ba#34 ) + (byte) be#54 ← phi( f0::@15/(byte) be#24 ) + (byte) bd#43 ← phi( f0::@15/(byte) bd#24 ) + (byte) bc#32 ← phi( f0::@15/(byte) bc#24 ) + (byte) bc#7 ← (byte) bc#32 + (byte) bd#7 ← (byte) bd#43 + (byte) be#7 ← (byte) be#54 + to:f0::@5 +f0::@6: scope:[f0] from f0::@26 f0::@5 + (byte) be#147 ← phi( f0::@26/(byte) be#8 f0::@5/(byte) be#146 ) + (byte) bd#134 ← phi( f0::@26/(byte) bd#8 f0::@5/(byte) bd#133 ) + (byte) bc#101 ← phi( f0::@26/(byte) bc#8 f0::@5/(byte) bc#100 ) + (byte) bb#46 ← phi( f0::@26/(byte) bb#67 f0::@5/(byte) bb#45 ) + (byte) ba#12 ← phi( f0::@26/(byte) ba#24 f0::@5/(byte) ba#11 ) + (bool~) f0::$18 ← (byte) ba#12 == (byte/signed byte/word/signed word/dword/signed dword) 6 + (bool~) f0::$19 ← ! (bool~) f0::$18 + if((bool~) f0::$19) goto f0::@7 + to:f0::@17 +f0::@16: scope:[f0] from f0::@5 + (byte) ba#35 ← phi( f0::@5/(byte) ba#11 ) + (byte) be#101 ← phi( f0::@5/(byte) be#146 ) + (byte) bd#89 ← phi( f0::@5/(byte) bd#133 ) + (byte) bc#67 ← phi( f0::@5/(byte) bc#100 ) + (byte) bb#22 ← phi( f0::@5/(byte) bb#45 ) + (byte) bb#8 ← ++ (byte) bb#22 + call fa + to:f0::@26 +f0::@26: scope:[f0] from f0::@16 + (byte) bb#67 ← phi( f0::@16/(byte) bb#8 ) + (byte) ba#24 ← phi( f0::@16/(byte) ba#35 ) + (byte) be#55 ← phi( f0::@16/(byte) be#24 ) + (byte) bd#44 ← phi( f0::@16/(byte) bd#24 ) + (byte) bc#33 ← phi( f0::@16/(byte) bc#24 ) + (byte) bc#8 ← (byte) bc#33 + (byte) bd#8 ← (byte) bd#44 + (byte) be#8 ← (byte) be#55 + to:f0::@6 +f0::@7: scope:[f0] from f0::@27 f0::@6 + (byte) be#148 ← phi( f0::@27/(byte) be#9 f0::@6/(byte) be#147 ) + (byte) bd#135 ← phi( f0::@27/(byte) bd#9 f0::@6/(byte) bd#134 ) + (byte) bc#102 ← phi( f0::@27/(byte) bc#9 f0::@6/(byte) bc#101 ) + (byte) bb#47 ← phi( f0::@27/(byte) bb#68 f0::@6/(byte) bb#46 ) + (byte) ba#13 ← phi( f0::@27/(byte) ba#25 f0::@6/(byte) ba#12 ) + (bool~) f0::$21 ← (byte) ba#13 == (byte/signed byte/word/signed word/dword/signed dword) 7 + (bool~) f0::$22 ← ! (bool~) f0::$21 + if((bool~) f0::$22) goto f0::@8 + to:f0::@18 +f0::@17: scope:[f0] from f0::@6 + (byte) ba#36 ← phi( f0::@6/(byte) ba#12 ) + (byte) be#102 ← phi( f0::@6/(byte) be#147 ) + (byte) bd#90 ← phi( f0::@6/(byte) bd#134 ) + (byte) bc#68 ← phi( f0::@6/(byte) bc#101 ) + (byte) bb#23 ← phi( f0::@6/(byte) bb#46 ) + (byte) bb#9 ← ++ (byte) bb#23 + call fa + to:f0::@27 +f0::@27: scope:[f0] from f0::@17 + (byte) bb#68 ← phi( f0::@17/(byte) bb#9 ) + (byte) ba#25 ← phi( f0::@17/(byte) ba#36 ) + (byte) be#56 ← phi( f0::@17/(byte) be#24 ) + (byte) bd#45 ← phi( f0::@17/(byte) bd#24 ) + (byte) bc#34 ← phi( f0::@17/(byte) bc#24 ) + (byte) bc#9 ← (byte) bc#34 + (byte) bd#9 ← (byte) bd#45 + (byte) be#9 ← (byte) be#56 + to:f0::@7 +f0::@8: scope:[f0] from f0::@28 f0::@7 + (byte) be#149 ← phi( f0::@28/(byte) be#10 f0::@7/(byte) be#148 ) + (byte) bd#136 ← phi( f0::@28/(byte) bd#10 f0::@7/(byte) bd#135 ) + (byte) bc#103 ← phi( f0::@28/(byte) bc#10 f0::@7/(byte) bc#102 ) + (byte) bb#48 ← phi( f0::@28/(byte) bb#69 f0::@7/(byte) bb#47 ) + (byte) ba#14 ← phi( f0::@28/(byte) ba#26 f0::@7/(byte) ba#13 ) + (bool~) f0::$24 ← (byte) ba#14 == (byte/signed byte/word/signed word/dword/signed dword) 8 + (bool~) f0::$25 ← ! (bool~) f0::$24 + if((bool~) f0::$25) goto f0::@9 + to:f0::@19 +f0::@18: scope:[f0] from f0::@7 + (byte) ba#37 ← phi( f0::@7/(byte) ba#13 ) + (byte) be#103 ← phi( f0::@7/(byte) be#148 ) + (byte) bd#91 ← phi( f0::@7/(byte) bd#135 ) + (byte) bc#69 ← phi( f0::@7/(byte) bc#102 ) + (byte) bb#24 ← phi( f0::@7/(byte) bb#47 ) + (byte) bb#10 ← ++ (byte) bb#24 + call fa + to:f0::@28 +f0::@28: scope:[f0] from f0::@18 + (byte) bb#69 ← phi( f0::@18/(byte) bb#10 ) + (byte) ba#26 ← phi( f0::@18/(byte) ba#37 ) + (byte) be#57 ← phi( f0::@18/(byte) be#24 ) + (byte) bd#46 ← phi( f0::@18/(byte) bd#24 ) + (byte) bc#35 ← phi( f0::@18/(byte) bc#24 ) + (byte) bc#10 ← (byte) bc#35 + (byte) bd#10 ← (byte) bd#46 + (byte) be#10 ← (byte) be#57 + to:f0::@8 +f0::@9: scope:[f0] from f0::@29 f0::@8 + (byte) be#150 ← phi( f0::@29/(byte) be#11 f0::@8/(byte) be#149 ) + (byte) bd#137 ← phi( f0::@29/(byte) bd#11 f0::@8/(byte) bd#136 ) + (byte) bc#104 ← phi( f0::@29/(byte) bc#11 f0::@8/(byte) bc#103 ) + (byte) bb#70 ← phi( f0::@29/(byte) bb#80 f0::@8/(byte) bb#48 ) + (byte) ba#15 ← phi( f0::@29/(byte) ba#27 f0::@8/(byte) ba#14 ) + (bool~) f0::$27 ← (byte) ba#15 == (byte/signed byte/word/signed word/dword/signed dword) 9 + (bool~) f0::$28 ← ! (bool~) f0::$27 + if((bool~) f0::$28) goto f0::@10 + to:f0::@20 +f0::@19: scope:[f0] from f0::@8 + (byte) ba#38 ← phi( f0::@8/(byte) ba#14 ) + (byte) be#104 ← phi( f0::@8/(byte) be#149 ) + (byte) bd#92 ← phi( f0::@8/(byte) bd#136 ) + (byte) bc#70 ← phi( f0::@8/(byte) bc#103 ) + (byte) bb#25 ← phi( f0::@8/(byte) bb#48 ) + (byte) bb#11 ← ++ (byte) bb#25 + call fa + to:f0::@29 +f0::@29: scope:[f0] from f0::@19 + (byte) bb#80 ← phi( f0::@19/(byte) bb#11 ) + (byte) ba#27 ← phi( f0::@19/(byte) ba#38 ) + (byte) be#58 ← phi( f0::@19/(byte) be#24 ) + (byte) bd#47 ← phi( f0::@19/(byte) bd#24 ) + (byte) bc#36 ← phi( f0::@19/(byte) bc#24 ) + (byte) bc#11 ← (byte) bc#36 + (byte) bd#11 ← (byte) bd#47 + (byte) be#11 ← (byte) be#58 + to:f0::@9 +f0::@10: scope:[f0] from f0::@9 + (byte) be#106 ← phi( f0::@9/(byte) be#150 ) + (byte) bd#94 ← phi( f0::@9/(byte) bd#137 ) + (byte) bc#72 ← phi( f0::@9/(byte) bc#104 ) + (byte) bb#49 ← phi( f0::@9/(byte) bb#70 ) + to:f0::@return +f0::@20: scope:[f0] from f0::@9 + (byte) be#105 ← phi( f0::@9/(byte) be#150 ) + (byte) bd#93 ← phi( f0::@9/(byte) bd#137 ) + (byte) bc#71 ← phi( f0::@9/(byte) bc#104 ) + (byte) bb#12 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + call fa + to:f0::@30 +f0::@30: scope:[f0] from f0::@20 + (byte) bb#50 ← phi( f0::@20/(byte) bb#12 ) + (byte) be#59 ← phi( f0::@20/(byte) be#24 ) + (byte) bd#48 ← phi( f0::@20/(byte) bd#24 ) + (byte) bc#37 ← phi( f0::@20/(byte) bc#24 ) + (byte) bc#12 ← (byte) bc#37 + (byte) bd#12 ← (byte) bd#48 + (byte) be#12 ← (byte) be#59 + to:f0::@return +f0::@return: scope:[f0] from f0::@10 f0::@30 + (byte) be#60 ← phi( f0::@10/(byte) be#106 f0::@30/(byte) be#12 ) + (byte) bd#49 ← phi( f0::@10/(byte) bd#94 f0::@30/(byte) bd#12 ) + (byte) bc#38 ← phi( f0::@10/(byte) bc#72 f0::@30/(byte) bc#12 ) + (byte) bb#26 ← phi( f0::@10/(byte) bb#49 f0::@30/(byte) bb#50 ) + (byte) bb#13 ← (byte) bb#26 + (byte) bc#13 ← (byte) bc#38 + (byte) bd#13 ← (byte) bd#49 + (byte) be#13 ← (byte) be#60 + return + to:@return +fa: scope:[fa] from f0::@11 f0::@12 f0::@13 f0::@14 f0::@15 f0::@16 f0::@17 f0::@18 f0::@19 f0::@20 + (byte) be#151 ← phi( f0::@11/(byte) be#96 f0::@12/(byte) be#97 f0::@13/(byte) be#98 f0::@14/(byte) be#99 f0::@15/(byte) be#100 f0::@16/(byte) be#101 f0::@17/(byte) be#102 f0::@18/(byte) be#103 f0::@19/(byte) be#104 f0::@20/(byte) be#105 ) + (byte) bd#138 ← phi( f0::@11/(byte) bd#84 f0::@12/(byte) bd#85 f0::@13/(byte) bd#86 f0::@14/(byte) bd#87 f0::@15/(byte) bd#88 f0::@16/(byte) bd#89 f0::@17/(byte) bd#90 f0::@18/(byte) bd#91 f0::@19/(byte) bd#92 f0::@20/(byte) bd#93 ) + (byte) bc#73 ← phi( f0::@11/(byte) bc#62 f0::@12/(byte) bc#63 f0::@13/(byte) bc#64 f0::@14/(byte) bc#65 f0::@15/(byte) bc#66 f0::@16/(byte) bc#67 f0::@17/(byte) bc#68 f0::@18/(byte) bc#69 f0::@19/(byte) bc#70 f0::@20/(byte) bc#71 ) + (byte) bb#27 ← phi( f0::@11/(byte) bb#3 f0::@12/(byte) bb#4 f0::@13/(byte) bb#5 f0::@14/(byte) bb#6 f0::@15/(byte) bb#7 f0::@16/(byte) bb#8 f0::@17/(byte) bb#9 f0::@18/(byte) bb#10 f0::@19/(byte) bb#11 f0::@20/(byte) bb#12 ) + (bool~) fa::$0 ← (byte) bb#27 == (byte/signed byte/word/signed word/dword/signed dword) 0 + (bool~) fa::$1 ← ! (bool~) fa::$0 + if((bool~) fa::$1) goto fa::@1 + to:fa::@11 +fa::@1: scope:[fa] from fa fa::@21 + (byte) be#152 ← phi( fa/(byte) be#151 fa::@21/(byte) be#14 ) + (byte) bd#139 ← phi( fa/(byte) bd#138 fa::@21/(byte) bd#14 ) + (byte) bc#74 ← phi( fa/(byte) bc#73 fa::@21/(byte) bc#105 ) + (byte) bb#28 ← phi( fa/(byte) bb#27 fa::@21/(byte) bb#51 ) + (bool~) fa::$3 ← (byte) bb#28 == (byte/signed byte/word/signed word/dword/signed dword) 1 + (bool~) fa::$4 ← ! (bool~) fa::$3 + if((bool~) fa::$4) goto fa::@2 + to:fa::@12 +fa::@11: scope:[fa] from fa + (byte) bb#71 ← phi( fa/(byte) bb#27 ) + (byte) be#107 ← phi( fa/(byte) be#151 ) + (byte) bd#95 ← phi( fa/(byte) bd#138 ) + (byte) bc#39 ← phi( fa/(byte) bc#73 ) + (byte) bc#14 ← ++ (byte) bc#39 + call fb + to:fa::@21 +fa::@21: scope:[fa] from fa::@11 + (byte) bc#105 ← phi( fa::@11/(byte) bc#14 ) + (byte) bb#51 ← phi( fa::@11/(byte) bb#71 ) + (byte) be#61 ← phi( fa::@11/(byte) be#35 ) + (byte) bd#50 ← phi( fa::@11/(byte) bd#35 ) + (byte) bd#14 ← (byte) bd#50 + (byte) be#14 ← (byte) be#61 + to:fa::@1 +fa::@2: scope:[fa] from fa::@1 fa::@22 + (byte) be#153 ← phi( fa::@1/(byte) be#152 fa::@22/(byte) be#15 ) + (byte) bd#140 ← phi( fa::@1/(byte) bd#139 fa::@22/(byte) bd#15 ) + (byte) bc#75 ← phi( fa::@1/(byte) bc#74 fa::@22/(byte) bc#106 ) + (byte) bb#29 ← phi( fa::@1/(byte) bb#28 fa::@22/(byte) bb#52 ) + (bool~) fa::$6 ← (byte) bb#29 == (byte/signed byte/word/signed word/dword/signed dword) 2 + (bool~) fa::$7 ← ! (bool~) fa::$6 + if((bool~) fa::$7) goto fa::@3 + to:fa::@13 +fa::@12: scope:[fa] from fa::@1 + (byte) bb#72 ← phi( fa::@1/(byte) bb#28 ) + (byte) be#108 ← phi( fa::@1/(byte) be#152 ) + (byte) bd#96 ← phi( fa::@1/(byte) bd#139 ) + (byte) bc#40 ← phi( fa::@1/(byte) bc#74 ) + (byte) bc#15 ← ++ (byte) bc#40 + call fb + to:fa::@22 +fa::@22: scope:[fa] from fa::@12 + (byte) bc#106 ← phi( fa::@12/(byte) bc#15 ) + (byte) bb#52 ← phi( fa::@12/(byte) bb#72 ) + (byte) be#62 ← phi( fa::@12/(byte) be#35 ) + (byte) bd#51 ← phi( fa::@12/(byte) bd#35 ) + (byte) bd#15 ← (byte) bd#51 + (byte) be#15 ← (byte) be#62 + to:fa::@2 +fa::@3: scope:[fa] from fa::@2 fa::@23 + (byte) be#154 ← phi( fa::@2/(byte) be#153 fa::@23/(byte) be#16 ) + (byte) bd#141 ← phi( fa::@2/(byte) bd#140 fa::@23/(byte) bd#16 ) + (byte) bc#76 ← phi( fa::@2/(byte) bc#75 fa::@23/(byte) bc#107 ) + (byte) bb#30 ← phi( fa::@2/(byte) bb#29 fa::@23/(byte) bb#53 ) + (bool~) fa::$9 ← (byte) bb#30 == (byte/signed byte/word/signed word/dword/signed dword) 3 + (bool~) fa::$10 ← ! (bool~) fa::$9 + if((bool~) fa::$10) goto fa::@4 + to:fa::@14 +fa::@13: scope:[fa] from fa::@2 + (byte) bb#73 ← phi( fa::@2/(byte) bb#29 ) + (byte) be#109 ← phi( fa::@2/(byte) be#153 ) + (byte) bd#97 ← phi( fa::@2/(byte) bd#140 ) + (byte) bc#41 ← phi( fa::@2/(byte) bc#75 ) + (byte) bc#16 ← ++ (byte) bc#41 + call fb + to:fa::@23 +fa::@23: scope:[fa] from fa::@13 + (byte) bc#107 ← phi( fa::@13/(byte) bc#16 ) + (byte) bb#53 ← phi( fa::@13/(byte) bb#73 ) + (byte) be#63 ← phi( fa::@13/(byte) be#35 ) + (byte) bd#52 ← phi( fa::@13/(byte) bd#35 ) + (byte) bd#16 ← (byte) bd#52 + (byte) be#16 ← (byte) be#63 + to:fa::@3 +fa::@4: scope:[fa] from fa::@24 fa::@3 + (byte) be#155 ← phi( fa::@24/(byte) be#17 fa::@3/(byte) be#154 ) + (byte) bd#142 ← phi( fa::@24/(byte) bd#17 fa::@3/(byte) bd#141 ) + (byte) bc#77 ← phi( fa::@24/(byte) bc#108 fa::@3/(byte) bc#76 ) + (byte) bb#31 ← phi( fa::@24/(byte) bb#54 fa::@3/(byte) bb#30 ) + (bool~) fa::$12 ← (byte) bb#31 == (byte/signed byte/word/signed word/dword/signed dword) 4 + (bool~) fa::$13 ← ! (bool~) fa::$12 + if((bool~) fa::$13) goto fa::@5 + to:fa::@15 +fa::@14: scope:[fa] from fa::@3 + (byte) bb#74 ← phi( fa::@3/(byte) bb#30 ) + (byte) be#110 ← phi( fa::@3/(byte) be#154 ) + (byte) bd#98 ← phi( fa::@3/(byte) bd#141 ) + (byte) bc#42 ← phi( fa::@3/(byte) bc#76 ) + (byte) bc#17 ← ++ (byte) bc#42 + call fb + to:fa::@24 +fa::@24: scope:[fa] from fa::@14 + (byte) bc#108 ← phi( fa::@14/(byte) bc#17 ) + (byte) bb#54 ← phi( fa::@14/(byte) bb#74 ) + (byte) be#64 ← phi( fa::@14/(byte) be#35 ) + (byte) bd#53 ← phi( fa::@14/(byte) bd#35 ) + (byte) bd#17 ← (byte) bd#53 + (byte) be#17 ← (byte) be#64 + to:fa::@4 +fa::@5: scope:[fa] from fa::@25 fa::@4 + (byte) be#156 ← phi( fa::@25/(byte) be#18 fa::@4/(byte) be#155 ) + (byte) bd#143 ← phi( fa::@25/(byte) bd#18 fa::@4/(byte) bd#142 ) + (byte) bc#78 ← phi( fa::@25/(byte) bc#109 fa::@4/(byte) bc#77 ) + (byte) bb#32 ← phi( fa::@25/(byte) bb#55 fa::@4/(byte) bb#31 ) + (bool~) fa::$15 ← (byte) bb#32 == (byte/signed byte/word/signed word/dword/signed dword) 5 + (bool~) fa::$16 ← ! (bool~) fa::$15 + if((bool~) fa::$16) goto fa::@6 + to:fa::@16 +fa::@15: scope:[fa] from fa::@4 + (byte) bb#75 ← phi( fa::@4/(byte) bb#31 ) + (byte) be#111 ← phi( fa::@4/(byte) be#155 ) + (byte) bd#99 ← phi( fa::@4/(byte) bd#142 ) + (byte) bc#43 ← phi( fa::@4/(byte) bc#77 ) + (byte) bc#18 ← ++ (byte) bc#43 + call fb + to:fa::@25 +fa::@25: scope:[fa] from fa::@15 + (byte) bc#109 ← phi( fa::@15/(byte) bc#18 ) + (byte) bb#55 ← phi( fa::@15/(byte) bb#75 ) + (byte) be#65 ← phi( fa::@15/(byte) be#35 ) + (byte) bd#54 ← phi( fa::@15/(byte) bd#35 ) + (byte) bd#18 ← (byte) bd#54 + (byte) be#18 ← (byte) be#65 + to:fa::@5 +fa::@6: scope:[fa] from fa::@26 fa::@5 + (byte) be#157 ← phi( fa::@26/(byte) be#19 fa::@5/(byte) be#156 ) + (byte) bd#144 ← phi( fa::@26/(byte) bd#19 fa::@5/(byte) bd#143 ) + (byte) bc#79 ← phi( fa::@26/(byte) bc#110 fa::@5/(byte) bc#78 ) + (byte) bb#33 ← phi( fa::@26/(byte) bb#56 fa::@5/(byte) bb#32 ) + (bool~) fa::$18 ← (byte) bb#33 == (byte/signed byte/word/signed word/dword/signed dword) 6 + (bool~) fa::$19 ← ! (bool~) fa::$18 + if((bool~) fa::$19) goto fa::@7 + to:fa::@17 +fa::@16: scope:[fa] from fa::@5 + (byte) bb#76 ← phi( fa::@5/(byte) bb#32 ) + (byte) be#112 ← phi( fa::@5/(byte) be#156 ) + (byte) bd#100 ← phi( fa::@5/(byte) bd#143 ) + (byte) bc#44 ← phi( fa::@5/(byte) bc#78 ) + (byte) bc#19 ← ++ (byte) bc#44 + call fb + to:fa::@26 +fa::@26: scope:[fa] from fa::@16 + (byte) bc#110 ← phi( fa::@16/(byte) bc#19 ) + (byte) bb#56 ← phi( fa::@16/(byte) bb#76 ) + (byte) be#66 ← phi( fa::@16/(byte) be#35 ) + (byte) bd#55 ← phi( fa::@16/(byte) bd#35 ) + (byte) bd#19 ← (byte) bd#55 + (byte) be#19 ← (byte) be#66 + to:fa::@6 +fa::@7: scope:[fa] from fa::@27 fa::@6 + (byte) be#158 ← phi( fa::@27/(byte) be#20 fa::@6/(byte) be#157 ) + (byte) bd#145 ← phi( fa::@27/(byte) bd#20 fa::@6/(byte) bd#144 ) + (byte) bc#80 ← phi( fa::@27/(byte) bc#111 fa::@6/(byte) bc#79 ) + (byte) bb#34 ← phi( fa::@27/(byte) bb#57 fa::@6/(byte) bb#33 ) + (bool~) fa::$21 ← (byte) bb#34 == (byte/signed byte/word/signed word/dword/signed dword) 7 + (bool~) fa::$22 ← ! (bool~) fa::$21 + if((bool~) fa::$22) goto fa::@8 + to:fa::@18 +fa::@17: scope:[fa] from fa::@6 + (byte) bb#77 ← phi( fa::@6/(byte) bb#33 ) + (byte) be#113 ← phi( fa::@6/(byte) be#157 ) + (byte) bd#101 ← phi( fa::@6/(byte) bd#144 ) + (byte) bc#45 ← phi( fa::@6/(byte) bc#79 ) + (byte) bc#20 ← ++ (byte) bc#45 + call fb + to:fa::@27 +fa::@27: scope:[fa] from fa::@17 + (byte) bc#111 ← phi( fa::@17/(byte) bc#20 ) + (byte) bb#57 ← phi( fa::@17/(byte) bb#77 ) + (byte) be#67 ← phi( fa::@17/(byte) be#35 ) + (byte) bd#56 ← phi( fa::@17/(byte) bd#35 ) + (byte) bd#20 ← (byte) bd#56 + (byte) be#20 ← (byte) be#67 + to:fa::@7 +fa::@8: scope:[fa] from fa::@28 fa::@7 + (byte) be#159 ← phi( fa::@28/(byte) be#21 fa::@7/(byte) be#158 ) + (byte) bd#146 ← phi( fa::@28/(byte) bd#21 fa::@7/(byte) bd#145 ) + (byte) bc#81 ← phi( fa::@28/(byte) bc#112 fa::@7/(byte) bc#80 ) + (byte) bb#35 ← phi( fa::@28/(byte) bb#58 fa::@7/(byte) bb#34 ) + (bool~) fa::$24 ← (byte) bb#35 == (byte/signed byte/word/signed word/dword/signed dword) 8 + (bool~) fa::$25 ← ! (bool~) fa::$24 + if((bool~) fa::$25) goto fa::@9 + to:fa::@19 +fa::@18: scope:[fa] from fa::@7 + (byte) bb#78 ← phi( fa::@7/(byte) bb#34 ) + (byte) be#114 ← phi( fa::@7/(byte) be#158 ) + (byte) bd#102 ← phi( fa::@7/(byte) bd#145 ) + (byte) bc#46 ← phi( fa::@7/(byte) bc#80 ) + (byte) bc#21 ← ++ (byte) bc#46 + call fb + to:fa::@28 +fa::@28: scope:[fa] from fa::@18 + (byte) bc#112 ← phi( fa::@18/(byte) bc#21 ) + (byte) bb#58 ← phi( fa::@18/(byte) bb#78 ) + (byte) be#68 ← phi( fa::@18/(byte) be#35 ) + (byte) bd#57 ← phi( fa::@18/(byte) bd#35 ) + (byte) bd#21 ← (byte) bd#57 + (byte) be#21 ← (byte) be#68 + to:fa::@8 +fa::@9: scope:[fa] from fa::@29 fa::@8 + (byte) be#160 ← phi( fa::@29/(byte) be#22 fa::@8/(byte) be#159 ) + (byte) bd#147 ← phi( fa::@29/(byte) bd#22 fa::@8/(byte) bd#146 ) + (byte) bc#113 ← phi( fa::@29/(byte) bc#123 fa::@8/(byte) bc#81 ) + (byte) bb#36 ← phi( fa::@29/(byte) bb#59 fa::@8/(byte) bb#35 ) + (bool~) fa::$27 ← (byte) bb#36 == (byte/signed byte/word/signed word/dword/signed dword) 9 + (bool~) fa::$28 ← ! (bool~) fa::$27 + if((bool~) fa::$28) goto fa::@10 + to:fa::@20 +fa::@19: scope:[fa] from fa::@8 + (byte) bb#79 ← phi( fa::@8/(byte) bb#35 ) + (byte) be#115 ← phi( fa::@8/(byte) be#159 ) + (byte) bd#103 ← phi( fa::@8/(byte) bd#146 ) + (byte) bc#47 ← phi( fa::@8/(byte) bc#81 ) + (byte) bc#22 ← ++ (byte) bc#47 + call fb + to:fa::@29 +fa::@29: scope:[fa] from fa::@19 + (byte) bc#123 ← phi( fa::@19/(byte) bc#22 ) + (byte) bb#59 ← phi( fa::@19/(byte) bb#79 ) + (byte) be#69 ← phi( fa::@19/(byte) be#35 ) + (byte) bd#58 ← phi( fa::@19/(byte) bd#35 ) + (byte) bd#22 ← (byte) bd#58 + (byte) be#22 ← (byte) be#69 + to:fa::@9 +fa::@10: scope:[fa] from fa::@9 + (byte) be#117 ← phi( fa::@9/(byte) be#160 ) + (byte) bd#105 ← phi( fa::@9/(byte) bd#147 ) + (byte) bc#82 ← phi( fa::@9/(byte) bc#113 ) + to:fa::@return +fa::@20: scope:[fa] from fa::@9 + (byte) be#116 ← phi( fa::@9/(byte) be#160 ) + (byte) bd#104 ← phi( fa::@9/(byte) bd#147 ) + (byte) bc#23 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + call fb + to:fa::@30 +fa::@30: scope:[fa] from fa::@20 + (byte) bc#83 ← phi( fa::@20/(byte) bc#23 ) + (byte) be#70 ← phi( fa::@20/(byte) be#35 ) + (byte) bd#59 ← phi( fa::@20/(byte) bd#35 ) + (byte) bd#23 ← (byte) bd#59 + (byte) be#23 ← (byte) be#70 + to:fa::@return +fa::@return: scope:[fa] from fa::@10 fa::@30 + (byte) be#71 ← phi( fa::@10/(byte) be#117 fa::@30/(byte) be#23 ) + (byte) bd#60 ← phi( fa::@10/(byte) bd#105 fa::@30/(byte) bd#23 ) + (byte) bc#48 ← phi( fa::@10/(byte) bc#82 fa::@30/(byte) bc#83 ) + (byte) bc#24 ← (byte) bc#48 + (byte) bd#24 ← (byte) bd#60 + (byte) be#24 ← (byte) be#71 + return + to:@return +fb: scope:[fb] from fa::@11 fa::@12 fa::@13 fa::@14 fa::@15 fa::@16 fa::@17 fa::@18 fa::@19 fa::@20 + (byte) be#161 ← phi( fa::@11/(byte) be#107 fa::@12/(byte) be#108 fa::@13/(byte) be#109 fa::@14/(byte) be#110 fa::@15/(byte) be#111 fa::@16/(byte) be#112 fa::@17/(byte) be#113 fa::@18/(byte) be#114 fa::@19/(byte) be#115 fa::@20/(byte) be#116 ) + (byte) bd#106 ← phi( fa::@11/(byte) bd#95 fa::@12/(byte) bd#96 fa::@13/(byte) bd#97 fa::@14/(byte) bd#98 fa::@15/(byte) bd#99 fa::@16/(byte) bd#100 fa::@17/(byte) bd#101 fa::@18/(byte) bd#102 fa::@19/(byte) bd#103 fa::@20/(byte) bd#104 ) + (byte) bc#49 ← phi( fa::@11/(byte) bc#14 fa::@12/(byte) bc#15 fa::@13/(byte) bc#16 fa::@14/(byte) bc#17 fa::@15/(byte) bc#18 fa::@16/(byte) bc#19 fa::@17/(byte) bc#20 fa::@18/(byte) bc#21 fa::@19/(byte) bc#22 fa::@20/(byte) bc#23 ) + (bool~) fb::$0 ← (byte) bc#49 == (byte/signed byte/word/signed word/dword/signed dword) 0 + (bool~) fb::$1 ← ! (bool~) fb::$0 + if((bool~) fb::$1) goto fb::@1 + to:fb::@11 +fb::@1: scope:[fb] from fb fb::@21 + (byte) be#162 ← phi( fb/(byte) be#161 fb::@21/(byte) be#25 ) + (byte) bd#107 ← phi( fb/(byte) bd#106 fb::@21/(byte) bd#148 ) + (byte) bc#50 ← phi( fb/(byte) bc#49 fb::@21/(byte) bc#84 ) + (bool~) fb::$3 ← (byte) bc#50 == (byte/signed byte/word/signed word/dword/signed dword) 1 + (bool~) fb::$4 ← ! (bool~) fb::$3 + if((bool~) fb::$4) goto fb::@2 + to:fb::@12 +fb::@11: scope:[fb] from fb + (byte) bc#114 ← phi( fb/(byte) bc#49 ) + (byte) be#118 ← phi( fb/(byte) be#161 ) + (byte) bd#61 ← phi( fb/(byte) bd#106 ) + (byte) bd#25 ← ++ (byte) bd#61 + call fc + to:fb::@21 +fb::@21: scope:[fb] from fb::@11 + (byte) bd#148 ← phi( fb::@11/(byte) bd#25 ) + (byte) bc#84 ← phi( fb::@11/(byte) bc#114 ) + (byte) be#72 ← phi( fb::@11/(byte) be#46 ) + (byte) be#25 ← (byte) be#72 + to:fb::@1 +fb::@2: scope:[fb] from fb::@1 fb::@22 + (byte) be#163 ← phi( fb::@1/(byte) be#162 fb::@22/(byte) be#26 ) + (byte) bd#108 ← phi( fb::@1/(byte) bd#107 fb::@22/(byte) bd#149 ) + (byte) bc#51 ← phi( fb::@1/(byte) bc#50 fb::@22/(byte) bc#85 ) + (bool~) fb::$6 ← (byte) bc#51 == (byte/signed byte/word/signed word/dword/signed dword) 2 + (bool~) fb::$7 ← ! (bool~) fb::$6 + if((bool~) fb::$7) goto fb::@3 + to:fb::@13 +fb::@12: scope:[fb] from fb::@1 + (byte) bc#115 ← phi( fb::@1/(byte) bc#50 ) + (byte) be#119 ← phi( fb::@1/(byte) be#162 ) + (byte) bd#62 ← phi( fb::@1/(byte) bd#107 ) + (byte) bd#26 ← ++ (byte) bd#62 + call fc + to:fb::@22 +fb::@22: scope:[fb] from fb::@12 + (byte) bd#149 ← phi( fb::@12/(byte) bd#26 ) + (byte) bc#85 ← phi( fb::@12/(byte) bc#115 ) + (byte) be#73 ← phi( fb::@12/(byte) be#46 ) + (byte) be#26 ← (byte) be#73 + to:fb::@2 +fb::@3: scope:[fb] from fb::@2 fb::@23 + (byte) be#164 ← phi( fb::@2/(byte) be#163 fb::@23/(byte) be#27 ) + (byte) bd#109 ← phi( fb::@2/(byte) bd#108 fb::@23/(byte) bd#150 ) + (byte) bc#52 ← phi( fb::@2/(byte) bc#51 fb::@23/(byte) bc#86 ) + (bool~) fb::$9 ← (byte) bc#52 == (byte/signed byte/word/signed word/dword/signed dword) 3 + (bool~) fb::$10 ← ! (bool~) fb::$9 + if((bool~) fb::$10) goto fb::@4 + to:fb::@14 +fb::@13: scope:[fb] from fb::@2 + (byte) bc#116 ← phi( fb::@2/(byte) bc#51 ) + (byte) be#120 ← phi( fb::@2/(byte) be#163 ) + (byte) bd#63 ← phi( fb::@2/(byte) bd#108 ) + (byte) bd#27 ← ++ (byte) bd#63 + call fc + to:fb::@23 +fb::@23: scope:[fb] from fb::@13 + (byte) bd#150 ← phi( fb::@13/(byte) bd#27 ) + (byte) bc#86 ← phi( fb::@13/(byte) bc#116 ) + (byte) be#74 ← phi( fb::@13/(byte) be#46 ) + (byte) be#27 ← (byte) be#74 + to:fb::@3 +fb::@4: scope:[fb] from fb::@24 fb::@3 + (byte) be#165 ← phi( fb::@24/(byte) be#28 fb::@3/(byte) be#164 ) + (byte) bd#110 ← phi( fb::@24/(byte) bd#151 fb::@3/(byte) bd#109 ) + (byte) bc#53 ← phi( fb::@24/(byte) bc#87 fb::@3/(byte) bc#52 ) + (bool~) fb::$12 ← (byte) bc#53 == (byte/signed byte/word/signed word/dword/signed dword) 4 + (bool~) fb::$13 ← ! (bool~) fb::$12 + if((bool~) fb::$13) goto fb::@5 + to:fb::@15 +fb::@14: scope:[fb] from fb::@3 + (byte) bc#117 ← phi( fb::@3/(byte) bc#52 ) + (byte) be#121 ← phi( fb::@3/(byte) be#164 ) + (byte) bd#64 ← phi( fb::@3/(byte) bd#109 ) + (byte) bd#28 ← ++ (byte) bd#64 + call fc + to:fb::@24 +fb::@24: scope:[fb] from fb::@14 + (byte) bd#151 ← phi( fb::@14/(byte) bd#28 ) + (byte) bc#87 ← phi( fb::@14/(byte) bc#117 ) + (byte) be#75 ← phi( fb::@14/(byte) be#46 ) + (byte) be#28 ← (byte) be#75 + to:fb::@4 +fb::@5: scope:[fb] from fb::@25 fb::@4 + (byte) be#166 ← phi( fb::@25/(byte) be#29 fb::@4/(byte) be#165 ) + (byte) bd#111 ← phi( fb::@25/(byte) bd#152 fb::@4/(byte) bd#110 ) + (byte) bc#54 ← phi( fb::@25/(byte) bc#88 fb::@4/(byte) bc#53 ) + (bool~) fb::$15 ← (byte) bc#54 == (byte/signed byte/word/signed word/dword/signed dword) 5 + (bool~) fb::$16 ← ! (bool~) fb::$15 + if((bool~) fb::$16) goto fb::@6 + to:fb::@16 +fb::@15: scope:[fb] from fb::@4 + (byte) bc#118 ← phi( fb::@4/(byte) bc#53 ) + (byte) be#122 ← phi( fb::@4/(byte) be#165 ) + (byte) bd#65 ← phi( fb::@4/(byte) bd#110 ) + (byte) bd#29 ← ++ (byte) bd#65 + call fc + to:fb::@25 +fb::@25: scope:[fb] from fb::@15 + (byte) bd#152 ← phi( fb::@15/(byte) bd#29 ) + (byte) bc#88 ← phi( fb::@15/(byte) bc#118 ) + (byte) be#76 ← phi( fb::@15/(byte) be#46 ) + (byte) be#29 ← (byte) be#76 + to:fb::@5 +fb::@6: scope:[fb] from fb::@26 fb::@5 + (byte) be#167 ← phi( fb::@26/(byte) be#30 fb::@5/(byte) be#166 ) + (byte) bd#112 ← phi( fb::@26/(byte) bd#153 fb::@5/(byte) bd#111 ) + (byte) bc#55 ← phi( fb::@26/(byte) bc#89 fb::@5/(byte) bc#54 ) + (bool~) fb::$18 ← (byte) bc#55 == (byte/signed byte/word/signed word/dword/signed dword) 6 + (bool~) fb::$19 ← ! (bool~) fb::$18 + if((bool~) fb::$19) goto fb::@7 + to:fb::@17 +fb::@16: scope:[fb] from fb::@5 + (byte) bc#119 ← phi( fb::@5/(byte) bc#54 ) + (byte) be#123 ← phi( fb::@5/(byte) be#166 ) + (byte) bd#66 ← phi( fb::@5/(byte) bd#111 ) + (byte) bd#30 ← ++ (byte) bd#66 + call fc + to:fb::@26 +fb::@26: scope:[fb] from fb::@16 + (byte) bd#153 ← phi( fb::@16/(byte) bd#30 ) + (byte) bc#89 ← phi( fb::@16/(byte) bc#119 ) + (byte) be#77 ← phi( fb::@16/(byte) be#46 ) + (byte) be#30 ← (byte) be#77 + to:fb::@6 +fb::@7: scope:[fb] from fb::@27 fb::@6 + (byte) be#168 ← phi( fb::@27/(byte) be#31 fb::@6/(byte) be#167 ) + (byte) bd#113 ← phi( fb::@27/(byte) bd#154 fb::@6/(byte) bd#112 ) + (byte) bc#56 ← phi( fb::@27/(byte) bc#90 fb::@6/(byte) bc#55 ) + (bool~) fb::$21 ← (byte) bc#56 == (byte/signed byte/word/signed word/dword/signed dword) 7 + (bool~) fb::$22 ← ! (bool~) fb::$21 + if((bool~) fb::$22) goto fb::@8 + to:fb::@18 +fb::@17: scope:[fb] from fb::@6 + (byte) bc#120 ← phi( fb::@6/(byte) bc#55 ) + (byte) be#124 ← phi( fb::@6/(byte) be#167 ) + (byte) bd#67 ← phi( fb::@6/(byte) bd#112 ) + (byte) bd#31 ← ++ (byte) bd#67 + call fc + to:fb::@27 +fb::@27: scope:[fb] from fb::@17 + (byte) bd#154 ← phi( fb::@17/(byte) bd#31 ) + (byte) bc#90 ← phi( fb::@17/(byte) bc#120 ) + (byte) be#78 ← phi( fb::@17/(byte) be#46 ) + (byte) be#31 ← (byte) be#78 + to:fb::@7 +fb::@8: scope:[fb] from fb::@28 fb::@7 + (byte) be#169 ← phi( fb::@28/(byte) be#32 fb::@7/(byte) be#168 ) + (byte) bd#114 ← phi( fb::@28/(byte) bd#155 fb::@7/(byte) bd#113 ) + (byte) bc#57 ← phi( fb::@28/(byte) bc#91 fb::@7/(byte) bc#56 ) + (bool~) fb::$24 ← (byte) bc#57 == (byte/signed byte/word/signed word/dword/signed dword) 8 + (bool~) fb::$25 ← ! (bool~) fb::$24 + if((bool~) fb::$25) goto fb::@9 + to:fb::@19 +fb::@18: scope:[fb] from fb::@7 + (byte) bc#121 ← phi( fb::@7/(byte) bc#56 ) + (byte) be#125 ← phi( fb::@7/(byte) be#168 ) + (byte) bd#68 ← phi( fb::@7/(byte) bd#113 ) + (byte) bd#32 ← ++ (byte) bd#68 + call fc + to:fb::@28 +fb::@28: scope:[fb] from fb::@18 + (byte) bd#155 ← phi( fb::@18/(byte) bd#32 ) + (byte) bc#91 ← phi( fb::@18/(byte) bc#121 ) + (byte) be#79 ← phi( fb::@18/(byte) be#46 ) + (byte) be#32 ← (byte) be#79 + to:fb::@8 +fb::@9: scope:[fb] from fb::@29 fb::@8 + (byte) be#170 ← phi( fb::@29/(byte) be#33 fb::@8/(byte) be#169 ) + (byte) bd#156 ← phi( fb::@29/(byte) bd#157 fb::@8/(byte) bd#114 ) + (byte) bc#58 ← phi( fb::@29/(byte) bc#92 fb::@8/(byte) bc#57 ) + (bool~) fb::$27 ← (byte) bc#58 == (byte/signed byte/word/signed word/dword/signed dword) 9 + (bool~) fb::$28 ← ! (bool~) fb::$27 + if((bool~) fb::$28) goto fb::@10 + to:fb::@20 +fb::@19: scope:[fb] from fb::@8 + (byte) bc#122 ← phi( fb::@8/(byte) bc#57 ) + (byte) be#126 ← phi( fb::@8/(byte) be#169 ) + (byte) bd#69 ← phi( fb::@8/(byte) bd#114 ) + (byte) bd#33 ← ++ (byte) bd#69 + call fc + to:fb::@29 +fb::@29: scope:[fb] from fb::@19 + (byte) bd#157 ← phi( fb::@19/(byte) bd#33 ) + (byte) bc#92 ← phi( fb::@19/(byte) bc#122 ) + (byte) be#80 ← phi( fb::@19/(byte) be#46 ) + (byte) be#33 ← (byte) be#80 + to:fb::@9 +fb::@10: scope:[fb] from fb::@9 + (byte) be#128 ← phi( fb::@9/(byte) be#170 ) + (byte) bd#115 ← phi( fb::@9/(byte) bd#156 ) + to:fb::@return +fb::@20: scope:[fb] from fb::@9 + (byte) be#127 ← phi( fb::@9/(byte) be#170 ) + (byte) bd#34 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + call fc + to:fb::@30 +fb::@30: scope:[fb] from fb::@20 + (byte) bd#116 ← phi( fb::@20/(byte) bd#34 ) + (byte) be#81 ← phi( fb::@20/(byte) be#46 ) + (byte) be#34 ← (byte) be#81 + to:fb::@return +fb::@return: scope:[fb] from fb::@10 fb::@30 + (byte) be#82 ← phi( fb::@10/(byte) be#128 fb::@30/(byte) be#34 ) + (byte) bd#70 ← phi( fb::@10/(byte) bd#115 fb::@30/(byte) bd#116 ) + (byte) bd#35 ← (byte) bd#70 + (byte) be#35 ← (byte) be#82 + return + to:@return +fc: scope:[fc] from fb::@11 fb::@12 fb::@13 fb::@14 fb::@15 fb::@16 fb::@17 fb::@18 fb::@19 fb::@20 + (byte) be#129 ← phi( fb::@11/(byte) be#118 fb::@12/(byte) be#119 fb::@13/(byte) be#120 fb::@14/(byte) be#121 fb::@15/(byte) be#122 fb::@16/(byte) be#123 fb::@17/(byte) be#124 fb::@18/(byte) be#125 fb::@19/(byte) be#126 fb::@20/(byte) be#127 ) + (byte) bd#71 ← phi( fb::@11/(byte) bd#25 fb::@12/(byte) bd#26 fb::@13/(byte) bd#27 fb::@14/(byte) bd#28 fb::@15/(byte) bd#29 fb::@16/(byte) bd#30 fb::@17/(byte) bd#31 fb::@18/(byte) bd#32 fb::@19/(byte) bd#33 fb::@20/(byte) bd#34 ) + (bool~) fc::$0 ← (byte) bd#71 == (byte/signed byte/word/signed word/dword/signed dword) 0 + (bool~) fc::$1 ← ! (bool~) fc::$0 + if((bool~) fc::$1) goto fc::@1 + to:fc::@11 +fc::@1: scope:[fc] from fc fc::@11 + (byte) be#130 ← phi( fc/(byte) be#129 fc::@11/(byte) be#36 ) + (byte) bd#72 ← phi( fc/(byte) bd#71 fc::@11/(byte) bd#117 ) + (bool~) fc::$2 ← (byte) bd#72 == (byte/signed byte/word/signed word/dword/signed dword) 1 + (bool~) fc::$3 ← ! (bool~) fc::$2 + if((bool~) fc::$3) goto fc::@2 + to:fc::@12 +fc::@11: scope:[fc] from fc + (byte) bd#117 ← phi( fc/(byte) bd#71 ) + (byte) be#83 ← phi( fc/(byte) be#129 ) + (byte) be#36 ← ++ (byte) be#83 + to:fc::@1 +fc::@2: scope:[fc] from fc::@1 fc::@12 + (byte) be#131 ← phi( fc::@1/(byte) be#130 fc::@12/(byte) be#37 ) + (byte) bd#73 ← phi( fc::@1/(byte) bd#72 fc::@12/(byte) bd#118 ) + (bool~) fc::$4 ← (byte) bd#73 == (byte/signed byte/word/signed word/dword/signed dword) 2 + (bool~) fc::$5 ← ! (bool~) fc::$4 + if((bool~) fc::$5) goto fc::@3 + to:fc::@13 +fc::@12: scope:[fc] from fc::@1 + (byte) bd#118 ← phi( fc::@1/(byte) bd#72 ) + (byte) be#84 ← phi( fc::@1/(byte) be#130 ) + (byte) be#37 ← ++ (byte) be#84 + to:fc::@2 +fc::@3: scope:[fc] from fc::@13 fc::@2 + (byte) be#132 ← phi( fc::@13/(byte) be#38 fc::@2/(byte) be#131 ) + (byte) bd#74 ← phi( fc::@13/(byte) bd#119 fc::@2/(byte) bd#73 ) + (bool~) fc::$6 ← (byte) bd#74 == (byte/signed byte/word/signed word/dword/signed dword) 3 + (bool~) fc::$7 ← ! (bool~) fc::$6 + if((bool~) fc::$7) goto fc::@4 + to:fc::@14 +fc::@13: scope:[fc] from fc::@2 + (byte) bd#119 ← phi( fc::@2/(byte) bd#73 ) + (byte) be#85 ← phi( fc::@2/(byte) be#131 ) + (byte) be#38 ← ++ (byte) be#85 + to:fc::@3 +fc::@4: scope:[fc] from fc::@14 fc::@3 + (byte) be#133 ← phi( fc::@14/(byte) be#39 fc::@3/(byte) be#132 ) + (byte) bd#75 ← phi( fc::@14/(byte) bd#120 fc::@3/(byte) bd#74 ) + (bool~) fc::$8 ← (byte) bd#75 == (byte/signed byte/word/signed word/dword/signed dword) 4 + (bool~) fc::$9 ← ! (bool~) fc::$8 + if((bool~) fc::$9) goto fc::@5 + to:fc::@15 +fc::@14: scope:[fc] from fc::@3 + (byte) bd#120 ← phi( fc::@3/(byte) bd#74 ) + (byte) be#86 ← phi( fc::@3/(byte) be#132 ) + (byte) be#39 ← ++ (byte) be#86 + to:fc::@4 +fc::@5: scope:[fc] from fc::@15 fc::@4 + (byte) be#134 ← phi( fc::@15/(byte) be#40 fc::@4/(byte) be#133 ) + (byte) bd#76 ← phi( fc::@15/(byte) bd#121 fc::@4/(byte) bd#75 ) + (bool~) fc::$10 ← (byte) bd#76 == (byte/signed byte/word/signed word/dword/signed dword) 5 + (bool~) fc::$11 ← ! (bool~) fc::$10 + if((bool~) fc::$11) goto fc::@6 + to:fc::@16 +fc::@15: scope:[fc] from fc::@4 + (byte) bd#121 ← phi( fc::@4/(byte) bd#75 ) + (byte) be#87 ← phi( fc::@4/(byte) be#133 ) + (byte) be#40 ← ++ (byte) be#87 + to:fc::@5 +fc::@6: scope:[fc] from fc::@16 fc::@5 + (byte) be#135 ← phi( fc::@16/(byte) be#41 fc::@5/(byte) be#134 ) + (byte) bd#77 ← phi( fc::@16/(byte) bd#122 fc::@5/(byte) bd#76 ) + (bool~) fc::$12 ← (byte) bd#77 == (byte/signed byte/word/signed word/dword/signed dword) 6 + (bool~) fc::$13 ← ! (bool~) fc::$12 + if((bool~) fc::$13) goto fc::@7 + to:fc::@17 +fc::@16: scope:[fc] from fc::@5 + (byte) bd#122 ← phi( fc::@5/(byte) bd#76 ) + (byte) be#88 ← phi( fc::@5/(byte) be#134 ) + (byte) be#41 ← ++ (byte) be#88 + to:fc::@6 +fc::@7: scope:[fc] from fc::@17 fc::@6 + (byte) be#136 ← phi( fc::@17/(byte) be#42 fc::@6/(byte) be#135 ) + (byte) bd#78 ← phi( fc::@17/(byte) bd#123 fc::@6/(byte) bd#77 ) + (bool~) fc::$14 ← (byte) bd#78 == (byte/signed byte/word/signed word/dword/signed dword) 7 + (bool~) fc::$15 ← ! (bool~) fc::$14 + if((bool~) fc::$15) goto fc::@8 + to:fc::@18 +fc::@17: scope:[fc] from fc::@6 + (byte) bd#123 ← phi( fc::@6/(byte) bd#77 ) + (byte) be#89 ← phi( fc::@6/(byte) be#135 ) + (byte) be#42 ← ++ (byte) be#89 + to:fc::@7 +fc::@8: scope:[fc] from fc::@18 fc::@7 + (byte) be#137 ← phi( fc::@18/(byte) be#43 fc::@7/(byte) be#136 ) + (byte) bd#79 ← phi( fc::@18/(byte) bd#124 fc::@7/(byte) bd#78 ) + (bool~) fc::$16 ← (byte) bd#79 == (byte/signed byte/word/signed word/dword/signed dword) 8 + (bool~) fc::$17 ← ! (bool~) fc::$16 + if((bool~) fc::$17) goto fc::@9 + to:fc::@19 +fc::@18: scope:[fc] from fc::@7 + (byte) bd#124 ← phi( fc::@7/(byte) bd#78 ) + (byte) be#90 ← phi( fc::@7/(byte) be#136 ) + (byte) be#43 ← ++ (byte) be#90 + to:fc::@8 +fc::@9: scope:[fc] from fc::@19 fc::@8 + (byte) be#171 ← phi( fc::@19/(byte) be#44 fc::@8/(byte) be#137 ) + (byte) bd#80 ← phi( fc::@19/(byte) bd#125 fc::@8/(byte) bd#79 ) + (bool~) fc::$18 ← (byte) bd#80 == (byte/signed byte/word/signed word/dword/signed dword) 9 + (bool~) fc::$19 ← ! (bool~) fc::$18 + if((bool~) fc::$19) goto fc::@10 + to:fc::@20 +fc::@19: scope:[fc] from fc::@8 + (byte) bd#125 ← phi( fc::@8/(byte) bd#79 ) + (byte) be#91 ← phi( fc::@8/(byte) be#137 ) + (byte) be#44 ← ++ (byte) be#91 + to:fc::@9 +fc::@10: scope:[fc] from fc::@9 + (byte) be#138 ← phi( fc::@9/(byte) be#171 ) + to:fc::@return +fc::@20: scope:[fc] from fc::@9 + (byte) be#45 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:fc::@return +fc::@return: scope:[fc] from fc::@10 fc::@20 + (byte) be#92 ← phi( fc::@10/(byte) be#138 fc::@20/(byte) be#45 ) + (byte) be#46 ← (byte) be#92 + return + to:@return +@5: scope:[] from @begin + (byte) ba#28 ← phi( @begin/(byte) ba#0 ) + (byte) be#139 ← phi( @begin/(byte) be#0 ) + (byte) bd#126 ← phi( @begin/(byte) bd#0 ) + (byte) bc#93 ← phi( @begin/(byte) bc#0 ) + (byte) bb#60 ← phi( @begin/(byte) bb#0 ) + call main + to:@6 +@6: scope:[] from @5 + (byte) ba#16 ← phi( @5/(byte) ba#2 ) + (byte) be#93 ← phi( @5/(byte) be#2 ) + (byte) bd#81 ← phi( @5/(byte) bd#2 ) + (byte) bc#59 ← phi( @5/(byte) bc#2 ) + (byte) bb#37 ← phi( @5/(byte) bb#2 ) + (byte) bb#14 ← (byte) bb#37 + (byte) bc#25 ← (byte) bc#59 + (byte) bd#36 ← (byte) bd#81 + (byte) be#47 ← (byte) be#93 + (byte) ba#3 ← (byte) ba#16 + to:@end +@end: scope:[] from @6 + +SYMBOL TABLE SSA +(label) @5 +(label) @6 +(label) @begin +(label) @end +(byte) ba +(byte) ba#0 +(byte) ba#1 +(byte) ba#10 +(byte) ba#11 +(byte) ba#12 +(byte) ba#13 +(byte) ba#14 +(byte) ba#15 +(byte) ba#16 +(byte) ba#17 +(byte) ba#18 +(byte) ba#19 +(byte) ba#2 +(byte) ba#20 +(byte) ba#21 +(byte) ba#22 +(byte) ba#23 +(byte) ba#24 +(byte) ba#25 +(byte) ba#26 +(byte) ba#27 +(byte) ba#28 +(byte) ba#29 +(byte) ba#3 +(byte) ba#30 +(byte) ba#31 +(byte) ba#32 +(byte) ba#33 +(byte) ba#34 +(byte) ba#35 +(byte) ba#36 +(byte) ba#37 +(byte) ba#38 +(byte) ba#4 +(byte) ba#5 +(byte) ba#6 +(byte) ba#7 +(byte) ba#8 +(byte) ba#9 +(byte) bb +(byte) bb#0 +(byte) bb#1 +(byte) bb#10 +(byte) bb#11 +(byte) bb#12 +(byte) bb#13 +(byte) bb#14 +(byte) bb#15 +(byte) bb#16 +(byte) bb#17 +(byte) bb#18 +(byte) bb#19 +(byte) bb#2 +(byte) bb#20 +(byte) bb#21 +(byte) bb#22 +(byte) bb#23 +(byte) bb#24 +(byte) bb#25 +(byte) bb#26 +(byte) bb#27 +(byte) bb#28 +(byte) bb#29 +(byte) bb#3 +(byte) bb#30 +(byte) bb#31 +(byte) bb#32 +(byte) bb#33 +(byte) bb#34 +(byte) bb#35 +(byte) bb#36 +(byte) bb#37 +(byte) bb#38 +(byte) bb#39 +(byte) bb#4 +(byte) bb#40 +(byte) bb#41 +(byte) bb#42 +(byte) bb#43 +(byte) bb#44 +(byte) bb#45 +(byte) bb#46 +(byte) bb#47 +(byte) bb#48 +(byte) bb#49 +(byte) bb#5 +(byte) bb#50 +(byte) bb#51 +(byte) bb#52 +(byte) bb#53 +(byte) bb#54 +(byte) bb#55 +(byte) bb#56 +(byte) bb#57 +(byte) bb#58 +(byte) bb#59 +(byte) bb#6 +(byte) bb#60 +(byte) bb#61 +(byte) bb#62 +(byte) bb#63 +(byte) bb#64 +(byte) bb#65 +(byte) bb#66 +(byte) bb#67 +(byte) bb#68 +(byte) bb#69 +(byte) bb#7 +(byte) bb#70 +(byte) bb#71 +(byte) bb#72 +(byte) bb#73 +(byte) bb#74 +(byte) bb#75 +(byte) bb#76 +(byte) bb#77 +(byte) bb#78 +(byte) bb#79 +(byte) bb#8 +(byte) bb#80 +(byte) bb#9 +(byte) bc +(byte) bc#0 +(byte) bc#1 +(byte) bc#10 +(byte) bc#100 +(byte) bc#101 +(byte) bc#102 +(byte) bc#103 +(byte) bc#104 +(byte) bc#105 +(byte) bc#106 +(byte) bc#107 +(byte) bc#108 +(byte) bc#109 +(byte) bc#11 +(byte) bc#110 +(byte) bc#111 +(byte) bc#112 +(byte) bc#113 +(byte) bc#114 +(byte) bc#115 +(byte) bc#116 +(byte) bc#117 +(byte) bc#118 +(byte) bc#119 +(byte) bc#12 +(byte) bc#120 +(byte) bc#121 +(byte) bc#122 +(byte) bc#123 +(byte) bc#13 +(byte) bc#14 +(byte) bc#15 +(byte) bc#16 +(byte) bc#17 +(byte) bc#18 +(byte) bc#19 +(byte) bc#2 +(byte) bc#20 +(byte) bc#21 +(byte) bc#22 +(byte) bc#23 +(byte) bc#24 +(byte) bc#25 +(byte) bc#26 +(byte) bc#27 +(byte) bc#28 +(byte) bc#29 +(byte) bc#3 +(byte) bc#30 +(byte) bc#31 +(byte) bc#32 +(byte) bc#33 +(byte) bc#34 +(byte) bc#35 +(byte) bc#36 +(byte) bc#37 +(byte) bc#38 +(byte) bc#39 +(byte) bc#4 +(byte) bc#40 +(byte) bc#41 +(byte) bc#42 +(byte) bc#43 +(byte) bc#44 +(byte) bc#45 +(byte) bc#46 +(byte) bc#47 +(byte) bc#48 +(byte) bc#49 +(byte) bc#5 +(byte) bc#50 +(byte) bc#51 +(byte) bc#52 +(byte) bc#53 +(byte) bc#54 +(byte) bc#55 +(byte) bc#56 +(byte) bc#57 +(byte) bc#58 +(byte) bc#59 +(byte) bc#6 +(byte) bc#60 +(byte) bc#61 +(byte) bc#62 +(byte) bc#63 +(byte) bc#64 +(byte) bc#65 +(byte) bc#66 +(byte) bc#67 +(byte) bc#68 +(byte) bc#69 +(byte) bc#7 +(byte) bc#70 +(byte) bc#71 +(byte) bc#72 +(byte) bc#73 +(byte) bc#74 +(byte) bc#75 +(byte) bc#76 +(byte) bc#77 +(byte) bc#78 +(byte) bc#79 +(byte) bc#8 +(byte) bc#80 +(byte) bc#81 +(byte) bc#82 +(byte) bc#83 +(byte) bc#84 +(byte) bc#85 +(byte) bc#86 +(byte) bc#87 +(byte) bc#88 +(byte) bc#89 +(byte) bc#9 +(byte) bc#90 +(byte) bc#91 +(byte) bc#92 +(byte) bc#93 +(byte) bc#94 +(byte) bc#95 +(byte) bc#96 +(byte) bc#97 +(byte) bc#98 +(byte) bc#99 +(byte) bd +(byte) bd#0 +(byte) bd#1 +(byte) bd#10 +(byte) bd#100 +(byte) bd#101 +(byte) bd#102 +(byte) bd#103 +(byte) bd#104 +(byte) bd#105 +(byte) bd#106 +(byte) bd#107 +(byte) bd#108 +(byte) bd#109 +(byte) bd#11 +(byte) bd#110 +(byte) bd#111 +(byte) bd#112 +(byte) bd#113 +(byte) bd#114 +(byte) bd#115 +(byte) bd#116 +(byte) bd#117 +(byte) bd#118 +(byte) bd#119 +(byte) bd#12 +(byte) bd#120 +(byte) bd#121 +(byte) bd#122 +(byte) bd#123 +(byte) bd#124 +(byte) bd#125 +(byte) bd#126 +(byte) bd#127 +(byte) bd#128 +(byte) bd#129 +(byte) bd#13 +(byte) bd#130 +(byte) bd#131 +(byte) bd#132 +(byte) bd#133 +(byte) bd#134 +(byte) bd#135 +(byte) bd#136 +(byte) bd#137 +(byte) bd#138 +(byte) bd#139 +(byte) bd#14 +(byte) bd#140 +(byte) bd#141 +(byte) bd#142 +(byte) bd#143 +(byte) bd#144 +(byte) bd#145 +(byte) bd#146 +(byte) bd#147 +(byte) bd#148 +(byte) bd#149 +(byte) bd#15 +(byte) bd#150 +(byte) bd#151 +(byte) bd#152 +(byte) bd#153 +(byte) bd#154 +(byte) bd#155 +(byte) bd#156 +(byte) bd#157 +(byte) bd#16 +(byte) bd#17 +(byte) bd#18 +(byte) bd#19 +(byte) bd#2 +(byte) bd#20 +(byte) bd#21 +(byte) bd#22 +(byte) bd#23 +(byte) bd#24 +(byte) bd#25 +(byte) bd#26 +(byte) bd#27 +(byte) bd#28 +(byte) bd#29 +(byte) bd#3 +(byte) bd#30 +(byte) bd#31 +(byte) bd#32 +(byte) bd#33 +(byte) bd#34 +(byte) bd#35 +(byte) bd#36 +(byte) bd#37 +(byte) bd#38 +(byte) bd#39 +(byte) bd#4 +(byte) bd#40 +(byte) bd#41 +(byte) bd#42 +(byte) bd#43 +(byte) bd#44 +(byte) bd#45 +(byte) bd#46 +(byte) bd#47 +(byte) bd#48 +(byte) bd#49 +(byte) bd#5 +(byte) bd#50 +(byte) bd#51 +(byte) bd#52 +(byte) bd#53 +(byte) bd#54 +(byte) bd#55 +(byte) bd#56 +(byte) bd#57 +(byte) bd#58 +(byte) bd#59 +(byte) bd#6 +(byte) bd#60 +(byte) bd#61 +(byte) bd#62 +(byte) bd#63 +(byte) bd#64 +(byte) bd#65 +(byte) bd#66 +(byte) bd#67 +(byte) bd#68 +(byte) bd#69 +(byte) bd#7 +(byte) bd#70 +(byte) bd#71 +(byte) bd#72 +(byte) bd#73 +(byte) bd#74 +(byte) bd#75 +(byte) bd#76 +(byte) bd#77 +(byte) bd#78 +(byte) bd#79 +(byte) bd#8 +(byte) bd#80 +(byte) bd#81 +(byte) bd#82 +(byte) bd#83 +(byte) bd#84 +(byte) bd#85 +(byte) bd#86 +(byte) bd#87 +(byte) bd#88 +(byte) bd#89 +(byte) bd#9 +(byte) bd#90 +(byte) bd#91 +(byte) bd#92 +(byte) bd#93 +(byte) bd#94 +(byte) bd#95 +(byte) bd#96 +(byte) bd#97 +(byte) bd#98 +(byte) bd#99 +(byte) be +(byte) be#0 +(byte) be#1 +(byte) be#10 +(byte) be#100 +(byte) be#101 +(byte) be#102 +(byte) be#103 +(byte) be#104 +(byte) be#105 +(byte) be#106 +(byte) be#107 +(byte) be#108 +(byte) be#109 +(byte) be#11 +(byte) be#110 +(byte) be#111 +(byte) be#112 +(byte) be#113 +(byte) be#114 +(byte) be#115 +(byte) be#116 +(byte) be#117 +(byte) be#118 +(byte) be#119 +(byte) be#12 +(byte) be#120 +(byte) be#121 +(byte) be#122 +(byte) be#123 +(byte) be#124 +(byte) be#125 +(byte) be#126 +(byte) be#127 +(byte) be#128 +(byte) be#129 +(byte) be#13 +(byte) be#130 +(byte) be#131 +(byte) be#132 +(byte) be#133 +(byte) be#134 +(byte) be#135 +(byte) be#136 +(byte) be#137 +(byte) be#138 +(byte) be#139 +(byte) be#14 +(byte) be#140 +(byte) be#141 +(byte) be#142 +(byte) be#143 +(byte) be#144 +(byte) be#145 +(byte) be#146 +(byte) be#147 +(byte) be#148 +(byte) be#149 +(byte) be#15 +(byte) be#150 +(byte) be#151 +(byte) be#152 +(byte) be#153 +(byte) be#154 +(byte) be#155 +(byte) be#156 +(byte) be#157 +(byte) be#158 +(byte) be#159 +(byte) be#16 +(byte) be#160 +(byte) be#161 +(byte) be#162 +(byte) be#163 +(byte) be#164 +(byte) be#165 +(byte) be#166 +(byte) be#167 +(byte) be#168 +(byte) be#169 +(byte) be#17 +(byte) be#170 +(byte) be#171 +(byte) be#18 +(byte) be#19 +(byte) be#2 +(byte) be#20 +(byte) be#21 +(byte) be#22 +(byte) be#23 +(byte) be#24 +(byte) be#25 +(byte) be#26 +(byte) be#27 +(byte) be#28 +(byte) be#29 +(byte) be#3 +(byte) be#30 +(byte) be#31 +(byte) be#32 +(byte) be#33 +(byte) be#34 +(byte) be#35 +(byte) be#36 +(byte) be#37 +(byte) be#38 +(byte) be#39 +(byte) be#4 +(byte) be#40 +(byte) be#41 +(byte) be#42 +(byte) be#43 +(byte) be#44 +(byte) be#45 +(byte) be#46 +(byte) be#47 +(byte) be#48 +(byte) be#49 +(byte) be#5 +(byte) be#50 +(byte) be#51 +(byte) be#52 +(byte) be#53 +(byte) be#54 +(byte) be#55 +(byte) be#56 +(byte) be#57 +(byte) be#58 +(byte) be#59 +(byte) be#6 +(byte) be#60 +(byte) be#61 +(byte) be#62 +(byte) be#63 +(byte) be#64 +(byte) be#65 +(byte) be#66 +(byte) be#67 +(byte) be#68 +(byte) be#69 +(byte) be#7 +(byte) be#70 +(byte) be#71 +(byte) be#72 +(byte) be#73 +(byte) be#74 +(byte) be#75 +(byte) be#76 +(byte) be#77 +(byte) be#78 +(byte) be#79 +(byte) be#8 +(byte) be#80 +(byte) be#81 +(byte) be#82 +(byte) be#83 +(byte) be#84 +(byte) be#85 +(byte) be#86 +(byte) be#87 +(byte) be#88 +(byte) be#89 +(byte) be#9 +(byte) be#90 +(byte) be#91 +(byte) be#92 +(byte) be#93 +(byte) be#94 +(byte) be#95 +(byte) be#96 +(byte) be#97 +(byte) be#98 +(byte) be#99 +(void()) f0() +(bool~) f0::$0 +(bool~) f0::$1 +(bool~) f0::$10 +(bool~) f0::$12 +(bool~) f0::$13 +(bool~) f0::$15 +(bool~) f0::$16 +(bool~) f0::$18 +(bool~) f0::$19 +(bool~) f0::$21 +(bool~) f0::$22 +(bool~) f0::$24 +(bool~) f0::$25 +(bool~) f0::$27 +(bool~) f0::$28 +(bool~) f0::$3 +(bool~) f0::$4 +(bool~) f0::$6 +(bool~) f0::$7 +(bool~) f0::$9 +(label) f0::@1 +(label) f0::@10 +(label) f0::@11 +(label) f0::@12 +(label) f0::@13 +(label) f0::@14 +(label) f0::@15 +(label) f0::@16 +(label) f0::@17 +(label) f0::@18 +(label) f0::@19 +(label) f0::@2 +(label) f0::@20 +(label) f0::@21 +(label) f0::@22 +(label) f0::@23 +(label) f0::@24 +(label) f0::@25 +(label) f0::@26 +(label) f0::@27 +(label) f0::@28 +(label) f0::@29 +(label) f0::@3 +(label) f0::@30 +(label) f0::@4 +(label) f0::@5 +(label) f0::@6 +(label) f0::@7 +(label) f0::@8 +(label) f0::@9 +(label) f0::@return +(void()) fa() +(bool~) fa::$0 +(bool~) fa::$1 +(bool~) fa::$10 +(bool~) fa::$12 +(bool~) fa::$13 +(bool~) fa::$15 +(bool~) fa::$16 +(bool~) fa::$18 +(bool~) fa::$19 +(bool~) fa::$21 +(bool~) fa::$22 +(bool~) fa::$24 +(bool~) fa::$25 +(bool~) fa::$27 +(bool~) fa::$28 +(bool~) fa::$3 +(bool~) fa::$4 +(bool~) fa::$6 +(bool~) fa::$7 +(bool~) fa::$9 +(label) fa::@1 +(label) fa::@10 +(label) fa::@11 +(label) fa::@12 +(label) fa::@13 +(label) fa::@14 +(label) fa::@15 +(label) fa::@16 +(label) fa::@17 +(label) fa::@18 +(label) fa::@19 +(label) fa::@2 +(label) fa::@20 +(label) fa::@21 +(label) fa::@22 +(label) fa::@23 +(label) fa::@24 +(label) fa::@25 +(label) fa::@26 +(label) fa::@27 +(label) fa::@28 +(label) fa::@29 +(label) fa::@3 +(label) fa::@30 +(label) fa::@4 +(label) fa::@5 +(label) fa::@6 +(label) fa::@7 +(label) fa::@8 +(label) fa::@9 +(label) fa::@return +(void()) fb() +(bool~) fb::$0 +(bool~) fb::$1 +(bool~) fb::$10 +(bool~) fb::$12 +(bool~) fb::$13 +(bool~) fb::$15 +(bool~) fb::$16 +(bool~) fb::$18 +(bool~) fb::$19 +(bool~) fb::$21 +(bool~) fb::$22 +(bool~) fb::$24 +(bool~) fb::$25 +(bool~) fb::$27 +(bool~) fb::$28 +(bool~) fb::$3 +(bool~) fb::$4 +(bool~) fb::$6 +(bool~) fb::$7 +(bool~) fb::$9 +(label) fb::@1 +(label) fb::@10 +(label) fb::@11 +(label) fb::@12 +(label) fb::@13 +(label) fb::@14 +(label) fb::@15 +(label) fb::@16 +(label) fb::@17 +(label) fb::@18 +(label) fb::@19 +(label) fb::@2 +(label) fb::@20 +(label) fb::@21 +(label) fb::@22 +(label) fb::@23 +(label) fb::@24 +(label) fb::@25 +(label) fb::@26 +(label) fb::@27 +(label) fb::@28 +(label) fb::@29 +(label) fb::@3 +(label) fb::@30 +(label) fb::@4 +(label) fb::@5 +(label) fb::@6 +(label) fb::@7 +(label) fb::@8 +(label) fb::@9 +(label) fb::@return +(void()) fc() +(bool~) fc::$0 +(bool~) fc::$1 +(bool~) fc::$10 +(bool~) fc::$11 +(bool~) fc::$12 +(bool~) fc::$13 +(bool~) fc::$14 +(bool~) fc::$15 +(bool~) fc::$16 +(bool~) fc::$17 +(bool~) fc::$18 +(bool~) fc::$19 +(bool~) fc::$2 +(bool~) fc::$3 +(bool~) fc::$4 +(bool~) fc::$5 +(bool~) fc::$6 +(bool~) fc::$7 +(bool~) fc::$8 +(bool~) fc::$9 +(label) fc::@1 +(label) fc::@10 +(label) fc::@11 +(label) fc::@12 +(label) fc::@13 +(label) fc::@14 +(label) fc::@15 +(label) fc::@16 +(label) fc::@17 +(label) fc::@18 +(label) fc::@19 +(label) fc::@2 +(label) fc::@20 +(label) fc::@3 +(label) fc::@4 +(label) fc::@5 +(label) fc::@6 +(label) fc::@7 +(label) fc::@8 +(label) fc::@9 +(label) fc::@return +(void()) main() +(label) main::@1 +(label) main::@2 +(label) main::@7 +(label) main::@return + +Inversing boolean not [25] (bool~) f0::$1 ← (byte) ba#6 != (byte/signed byte/word/signed word/dword/signed dword) 0 from [24] (bool~) f0::$0 ← (byte) ba#6 == (byte/signed byte/word/signed word/dword/signed dword) 0 +Inversing boolean not [29] (bool~) f0::$4 ← (byte) ba#7 != (byte/signed byte/word/signed word/dword/signed dword) 1 from [28] (bool~) f0::$3 ← (byte) ba#7 == (byte/signed byte/word/signed word/dword/signed dword) 1 +Inversing boolean not [40] (bool~) f0::$7 ← (byte) ba#8 != (byte/signed byte/word/signed word/dword/signed dword) 2 from [39] (bool~) f0::$6 ← (byte) ba#8 == (byte/signed byte/word/signed word/dword/signed dword) 2 +Inversing boolean not [51] (bool~) f0::$10 ← (byte) ba#9 != (byte/signed byte/word/signed word/dword/signed dword) 3 from [50] (bool~) f0::$9 ← (byte) ba#9 == (byte/signed byte/word/signed word/dword/signed dword) 3 +Inversing boolean not [62] (bool~) f0::$13 ← (byte) ba#10 != (byte/signed byte/word/signed word/dword/signed dword) 4 from [61] (bool~) f0::$12 ← (byte) ba#10 == (byte/signed byte/word/signed word/dword/signed dword) 4 +Inversing boolean not [73] (bool~) f0::$16 ← (byte) ba#11 != (byte/signed byte/word/signed word/dword/signed dword) 5 from [72] (bool~) f0::$15 ← (byte) ba#11 == (byte/signed byte/word/signed word/dword/signed dword) 5 +Inversing boolean not [84] (bool~) f0::$19 ← (byte) ba#12 != (byte/signed byte/word/signed word/dword/signed dword) 6 from [83] (bool~) f0::$18 ← (byte) ba#12 == (byte/signed byte/word/signed word/dword/signed dword) 6 +Inversing boolean not [95] (bool~) f0::$22 ← (byte) ba#13 != (byte/signed byte/word/signed word/dword/signed dword) 7 from [94] (bool~) f0::$21 ← (byte) ba#13 == (byte/signed byte/word/signed word/dword/signed dword) 7 +Inversing boolean not [106] (bool~) f0::$25 ← (byte) ba#14 != (byte/signed byte/word/signed word/dword/signed dword) 8 from [105] (bool~) f0::$24 ← (byte) ba#14 == (byte/signed byte/word/signed word/dword/signed dword) 8 +Inversing boolean not [117] (bool~) f0::$28 ← (byte) ba#15 != (byte/signed byte/word/signed word/dword/signed dword) 9 from [116] (bool~) f0::$27 ← (byte) ba#15 == (byte/signed byte/word/signed word/dword/signed dword) 9 +Inversing boolean not [142] (bool~) fa::$1 ← (byte) bb#27 != (byte/signed byte/word/signed word/dword/signed dword) 0 from [141] (bool~) fa::$0 ← (byte) bb#27 == (byte/signed byte/word/signed word/dword/signed dword) 0 +Inversing boolean not [146] (bool~) fa::$4 ← (byte) bb#28 != (byte/signed byte/word/signed word/dword/signed dword) 1 from [145] (bool~) fa::$3 ← (byte) bb#28 == (byte/signed byte/word/signed word/dword/signed dword) 1 +Inversing boolean not [156] (bool~) fa::$7 ← (byte) bb#29 != (byte/signed byte/word/signed word/dword/signed dword) 2 from [155] (bool~) fa::$6 ← (byte) bb#29 == (byte/signed byte/word/signed word/dword/signed dword) 2 +Inversing boolean not [166] (bool~) fa::$10 ← (byte) bb#30 != (byte/signed byte/word/signed word/dword/signed dword) 3 from [165] (bool~) fa::$9 ← (byte) bb#30 == (byte/signed byte/word/signed word/dword/signed dword) 3 +Inversing boolean not [176] (bool~) fa::$13 ← (byte) bb#31 != (byte/signed byte/word/signed word/dword/signed dword) 4 from [175] (bool~) fa::$12 ← (byte) bb#31 == (byte/signed byte/word/signed word/dword/signed dword) 4 +Inversing boolean not [186] (bool~) fa::$16 ← (byte) bb#32 != (byte/signed byte/word/signed word/dword/signed dword) 5 from [185] (bool~) fa::$15 ← (byte) bb#32 == (byte/signed byte/word/signed word/dword/signed dword) 5 +Inversing boolean not [196] (bool~) fa::$19 ← (byte) bb#33 != (byte/signed byte/word/signed word/dword/signed dword) 6 from [195] (bool~) fa::$18 ← (byte) bb#33 == (byte/signed byte/word/signed word/dword/signed dword) 6 +Inversing boolean not [206] (bool~) fa::$22 ← (byte) bb#34 != (byte/signed byte/word/signed word/dword/signed dword) 7 from [205] (bool~) fa::$21 ← (byte) bb#34 == (byte/signed byte/word/signed word/dword/signed dword) 7 +Inversing boolean not [216] (bool~) fa::$25 ← (byte) bb#35 != (byte/signed byte/word/signed word/dword/signed dword) 8 from [215] (bool~) fa::$24 ← (byte) bb#35 == (byte/signed byte/word/signed word/dword/signed dword) 8 +Inversing boolean not [226] (bool~) fa::$28 ← (byte) bb#36 != (byte/signed byte/word/signed word/dword/signed dword) 9 from [225] (bool~) fa::$27 ← (byte) bb#36 == (byte/signed byte/word/signed word/dword/signed dword) 9 +Inversing boolean not [248] (bool~) fb::$1 ← (byte) bc#49 != (byte/signed byte/word/signed word/dword/signed dword) 0 from [247] (bool~) fb::$0 ← (byte) bc#49 == (byte/signed byte/word/signed word/dword/signed dword) 0 +Inversing boolean not [252] (bool~) fb::$4 ← (byte) bc#50 != (byte/signed byte/word/signed word/dword/signed dword) 1 from [251] (bool~) fb::$3 ← (byte) bc#50 == (byte/signed byte/word/signed word/dword/signed dword) 1 +Inversing boolean not [261] (bool~) fb::$7 ← (byte) bc#51 != (byte/signed byte/word/signed word/dword/signed dword) 2 from [260] (bool~) fb::$6 ← (byte) bc#51 == (byte/signed byte/word/signed word/dword/signed dword) 2 +Inversing boolean not [270] (bool~) fb::$10 ← (byte) bc#52 != (byte/signed byte/word/signed word/dword/signed dword) 3 from [269] (bool~) fb::$9 ← (byte) bc#52 == (byte/signed byte/word/signed word/dword/signed dword) 3 +Inversing boolean not [279] (bool~) fb::$13 ← (byte) bc#53 != (byte/signed byte/word/signed word/dword/signed dword) 4 from [278] (bool~) fb::$12 ← (byte) bc#53 == (byte/signed byte/word/signed word/dword/signed dword) 4 +Inversing boolean not [288] (bool~) fb::$16 ← (byte) bc#54 != (byte/signed byte/word/signed word/dword/signed dword) 5 from [287] (bool~) fb::$15 ← (byte) bc#54 == (byte/signed byte/word/signed word/dword/signed dword) 5 +Inversing boolean not [297] (bool~) fb::$19 ← (byte) bc#55 != (byte/signed byte/word/signed word/dword/signed dword) 6 from [296] (bool~) fb::$18 ← (byte) bc#55 == (byte/signed byte/word/signed word/dword/signed dword) 6 +Inversing boolean not [306] (bool~) fb::$22 ← (byte) bc#56 != (byte/signed byte/word/signed word/dword/signed dword) 7 from [305] (bool~) fb::$21 ← (byte) bc#56 == (byte/signed byte/word/signed word/dword/signed dword) 7 +Inversing boolean not [315] (bool~) fb::$25 ← (byte) bc#57 != (byte/signed byte/word/signed word/dword/signed dword) 8 from [314] (bool~) fb::$24 ← (byte) bc#57 == (byte/signed byte/word/signed word/dword/signed dword) 8 +Inversing boolean not [324] (bool~) fb::$28 ← (byte) bc#58 != (byte/signed byte/word/signed word/dword/signed dword) 9 from [323] (bool~) fb::$27 ← (byte) bc#58 == (byte/signed byte/word/signed word/dword/signed dword) 9 +Inversing boolean not [343] (bool~) fc::$1 ← (byte) bd#71 != (byte/signed byte/word/signed word/dword/signed dword) 0 from [342] (bool~) fc::$0 ← (byte) bd#71 == (byte/signed byte/word/signed word/dword/signed dword) 0 +Inversing boolean not [347] (bool~) fc::$3 ← (byte) bd#72 != (byte/signed byte/word/signed word/dword/signed dword) 1 from [346] (bool~) fc::$2 ← (byte) bd#72 == (byte/signed byte/word/signed word/dword/signed dword) 1 +Inversing boolean not [353] (bool~) fc::$5 ← (byte) bd#73 != (byte/signed byte/word/signed word/dword/signed dword) 2 from [352] (bool~) fc::$4 ← (byte) bd#73 == (byte/signed byte/word/signed word/dword/signed dword) 2 +Inversing boolean not [359] (bool~) fc::$7 ← (byte) bd#74 != (byte/signed byte/word/signed word/dword/signed dword) 3 from [358] (bool~) fc::$6 ← (byte) bd#74 == (byte/signed byte/word/signed word/dword/signed dword) 3 +Inversing boolean not [365] (bool~) fc::$9 ← (byte) bd#75 != (byte/signed byte/word/signed word/dword/signed dword) 4 from [364] (bool~) fc::$8 ← (byte) bd#75 == (byte/signed byte/word/signed word/dword/signed dword) 4 +Inversing boolean not [371] (bool~) fc::$11 ← (byte) bd#76 != (byte/signed byte/word/signed word/dword/signed dword) 5 from [370] (bool~) fc::$10 ← (byte) bd#76 == (byte/signed byte/word/signed word/dword/signed dword) 5 +Inversing boolean not [377] (bool~) fc::$13 ← (byte) bd#77 != (byte/signed byte/word/signed word/dword/signed dword) 6 from [376] (bool~) fc::$12 ← (byte) bd#77 == (byte/signed byte/word/signed word/dword/signed dword) 6 +Inversing boolean not [383] (bool~) fc::$15 ← (byte) bd#78 != (byte/signed byte/word/signed word/dword/signed dword) 7 from [382] (bool~) fc::$14 ← (byte) bd#78 == (byte/signed byte/word/signed word/dword/signed dword) 7 +Inversing boolean not [389] (bool~) fc::$17 ← (byte) bd#79 != (byte/signed byte/word/signed word/dword/signed dword) 8 from [388] (bool~) fc::$16 ← (byte) bd#79 == (byte/signed byte/word/signed word/dword/signed dword) 8 +Inversing boolean not [395] (bool~) fc::$19 ← (byte) bd#80 != (byte/signed byte/word/signed word/dword/signed dword) 9 from [394] (bool~) fc::$18 ← (byte) bd#80 == (byte/signed byte/word/signed word/dword/signed dword) 9 +Successful SSA optimization Pass2UnaryNotSimplification +Alias (byte) bb#16 = (byte) bb#38 (byte) bb#39 (byte) bb#2 +Alias (byte) bc#2 = (byte) bc#60 (byte) bc#61 (byte) bc#27 +Alias (byte) bd#2 = (byte) bd#82 (byte) bd#83 (byte) bd#38 +Alias (byte) be#2 = (byte) be#94 (byte) be#95 (byte) be#49 +Alias (byte) ba#17 = (byte) ba#18 (byte) ba#4 (byte) ba#5 (byte) ba#2 +Alias (byte) bb#1 = (byte) bb#15 +Alias (byte) bc#1 = (byte) bc#26 +Alias (byte) bd#1 = (byte) bd#37 +Alias (byte) be#1 = (byte) be#48 +Alias (byte) bb#17 = (byte) bb#40 +Alias (byte) bc#62 = (byte) bc#95 +Alias (byte) bd#128 = (byte) bd#84 +Alias (byte) be#141 = (byte) be#96 +Alias (byte) ba#19 = (byte) ba#30 (byte) ba#6 +Alias (byte) bb#3 = (byte) bb#62 +Alias (byte) bc#28 = (byte) bc#3 +Alias (byte) bd#3 = (byte) bd#39 +Alias (byte) be#3 = (byte) be#50 +Alias (byte) bb#18 = (byte) bb#41 +Alias (byte) bc#63 = (byte) bc#96 +Alias (byte) bd#129 = (byte) bd#85 +Alias (byte) be#142 = (byte) be#97 +Alias (byte) ba#20 = (byte) ba#31 (byte) ba#7 +Alias (byte) bb#4 = (byte) bb#63 +Alias (byte) bc#29 = (byte) bc#4 +Alias (byte) bd#4 = (byte) bd#40 +Alias (byte) be#4 = (byte) be#51 +Alias (byte) bb#19 = (byte) bb#42 +Alias (byte) bc#64 = (byte) bc#97 +Alias (byte) bd#130 = (byte) bd#86 +Alias (byte) be#143 = (byte) be#98 +Alias (byte) ba#21 = (byte) ba#32 (byte) ba#8 +Alias (byte) bb#5 = (byte) bb#64 +Alias (byte) bc#30 = (byte) bc#5 +Alias (byte) bd#41 = (byte) bd#5 +Alias (byte) be#5 = (byte) be#52 +Alias (byte) bb#20 = (byte) bb#43 +Alias (byte) bc#65 = (byte) bc#98 +Alias (byte) bd#131 = (byte) bd#87 +Alias (byte) be#144 = (byte) be#99 +Alias (byte) ba#22 = (byte) ba#33 (byte) ba#9 +Alias (byte) bb#6 = (byte) bb#65 +Alias (byte) bc#31 = (byte) bc#6 +Alias (byte) bd#42 = (byte) bd#6 +Alias (byte) be#53 = (byte) be#6 +Alias (byte) bb#21 = (byte) bb#44 +Alias (byte) bc#66 = (byte) bc#99 +Alias (byte) bd#132 = (byte) bd#88 +Alias (byte) be#100 = (byte) be#145 +Alias (byte) ba#10 = (byte) ba#34 (byte) ba#23 +Alias (byte) bb#66 = (byte) bb#7 +Alias (byte) bc#32 = (byte) bc#7 +Alias (byte) bd#43 = (byte) bd#7 +Alias (byte) be#54 = (byte) be#7 +Alias (byte) bb#22 = (byte) bb#45 +Alias (byte) bc#100 = (byte) bc#67 +Alias (byte) bd#133 = (byte) bd#89 +Alias (byte) be#101 = (byte) be#146 +Alias (byte) ba#11 = (byte) ba#35 (byte) ba#24 +Alias (byte) bb#67 = (byte) bb#8 +Alias (byte) bc#33 = (byte) bc#8 +Alias (byte) bd#44 = (byte) bd#8 +Alias (byte) be#55 = (byte) be#8 +Alias (byte) bb#23 = (byte) bb#46 +Alias (byte) bc#101 = (byte) bc#68 +Alias (byte) bd#134 = (byte) bd#90 +Alias (byte) be#102 = (byte) be#147 +Alias (byte) ba#12 = (byte) ba#36 (byte) ba#25 +Alias (byte) bb#68 = (byte) bb#9 +Alias (byte) bc#34 = (byte) bc#9 +Alias (byte) bd#45 = (byte) bd#9 +Alias (byte) be#56 = (byte) be#9 +Alias (byte) bb#24 = (byte) bb#47 +Alias (byte) bc#102 = (byte) bc#69 +Alias (byte) bd#135 = (byte) bd#91 +Alias (byte) be#103 = (byte) be#148 +Alias (byte) ba#13 = (byte) ba#37 (byte) ba#26 +Alias (byte) bb#10 = (byte) bb#69 +Alias (byte) bc#10 = (byte) bc#35 +Alias (byte) bd#10 = (byte) bd#46 +Alias (byte) be#10 = (byte) be#57 +Alias (byte) bb#25 = (byte) bb#48 +Alias (byte) bc#103 = (byte) bc#70 +Alias (byte) bd#136 = (byte) bd#92 +Alias (byte) be#104 = (byte) be#149 +Alias (byte) ba#14 = (byte) ba#38 (byte) ba#27 +Alias (byte) bb#11 = (byte) bb#80 +Alias (byte) bc#11 = (byte) bc#36 +Alias (byte) bd#11 = (byte) bd#47 +Alias (byte) be#11 = (byte) be#58 +Alias (byte) bb#49 = (byte) bb#70 +Alias (byte) bc#104 = (byte) bc#72 (byte) bc#71 +Alias (byte) bd#137 = (byte) bd#94 (byte) bd#93 +Alias (byte) be#105 = (byte) be#106 (byte) be#150 +Alias (byte) bb#12 = (byte) bb#50 +Alias (byte) bc#12 = (byte) bc#37 +Alias (byte) bd#12 = (byte) bd#48 +Alias (byte) be#12 = (byte) be#59 +Alias (byte) bb#13 = (byte) bb#26 +Alias (byte) bc#13 = (byte) bc#38 +Alias (byte) bd#13 = (byte) bd#49 +Alias (byte) be#13 = (byte) be#60 +Alias (byte) bc#39 = (byte) bc#73 +Alias (byte) bd#138 = (byte) bd#95 +Alias (byte) be#107 = (byte) be#151 +Alias (byte) bb#27 = (byte) bb#71 (byte) bb#51 +Alias (byte) bc#105 = (byte) bc#14 +Alias (byte) bd#14 = (byte) bd#50 +Alias (byte) be#14 = (byte) be#61 +Alias (byte) bc#40 = (byte) bc#74 +Alias (byte) bd#139 = (byte) bd#96 +Alias (byte) be#108 = (byte) be#152 +Alias (byte) bb#28 = (byte) bb#72 (byte) bb#52 +Alias (byte) bc#106 = (byte) bc#15 +Alias (byte) bd#15 = (byte) bd#51 +Alias (byte) be#15 = (byte) be#62 +Alias (byte) bc#41 = (byte) bc#75 +Alias (byte) bd#140 = (byte) bd#97 +Alias (byte) be#109 = (byte) be#153 +Alias (byte) bb#29 = (byte) bb#73 (byte) bb#53 +Alias (byte) bc#107 = (byte) bc#16 +Alias (byte) bd#16 = (byte) bd#52 +Alias (byte) be#16 = (byte) be#63 +Alias (byte) bc#42 = (byte) bc#76 +Alias (byte) bd#141 = (byte) bd#98 +Alias (byte) be#110 = (byte) be#154 +Alias (byte) bb#30 = (byte) bb#74 (byte) bb#54 +Alias (byte) bc#108 = (byte) bc#17 +Alias (byte) bd#17 = (byte) bd#53 +Alias (byte) be#17 = (byte) be#64 +Alias (byte) bc#43 = (byte) bc#77 +Alias (byte) bd#142 = (byte) bd#99 +Alias (byte) be#111 = (byte) be#155 +Alias (byte) bb#31 = (byte) bb#75 (byte) bb#55 +Alias (byte) bc#109 = (byte) bc#18 +Alias (byte) bd#18 = (byte) bd#54 +Alias (byte) be#18 = (byte) be#65 +Alias (byte) bc#44 = (byte) bc#78 +Alias (byte) bd#100 = (byte) bd#143 +Alias (byte) be#112 = (byte) be#156 +Alias (byte) bb#32 = (byte) bb#76 (byte) bb#56 +Alias (byte) bc#110 = (byte) bc#19 +Alias (byte) bd#19 = (byte) bd#55 +Alias (byte) be#19 = (byte) be#66 +Alias (byte) bc#45 = (byte) bc#79 +Alias (byte) bd#101 = (byte) bd#144 +Alias (byte) be#113 = (byte) be#157 +Alias (byte) bb#33 = (byte) bb#77 (byte) bb#57 +Alias (byte) bc#111 = (byte) bc#20 +Alias (byte) bd#20 = (byte) bd#56 +Alias (byte) be#20 = (byte) be#67 +Alias (byte) bc#46 = (byte) bc#80 +Alias (byte) bd#102 = (byte) bd#145 +Alias (byte) be#114 = (byte) be#158 +Alias (byte) bb#34 = (byte) bb#78 (byte) bb#58 +Alias (byte) bc#112 = (byte) bc#21 +Alias (byte) bd#21 = (byte) bd#57 +Alias (byte) be#21 = (byte) be#68 +Alias (byte) bc#47 = (byte) bc#81 +Alias (byte) bd#103 = (byte) bd#146 +Alias (byte) be#115 = (byte) be#159 +Alias (byte) bb#35 = (byte) bb#79 (byte) bb#59 +Alias (byte) bc#123 = (byte) bc#22 +Alias (byte) bd#22 = (byte) bd#58 +Alias (byte) be#22 = (byte) be#69 +Alias (byte) bc#113 = (byte) bc#82 +Alias (byte) bd#104 = (byte) bd#105 (byte) bd#147 +Alias (byte) be#116 = (byte) be#117 (byte) be#160 +Alias (byte) bc#23 = (byte) bc#83 +Alias (byte) bd#23 = (byte) bd#59 +Alias (byte) be#23 = (byte) be#70 +Alias (byte) bc#24 = (byte) bc#48 +Alias (byte) bd#24 = (byte) bd#60 +Alias (byte) be#24 = (byte) be#71 +Alias (byte) bd#106 = (byte) bd#61 +Alias (byte) be#118 = (byte) be#161 +Alias (byte) bc#114 = (byte) bc#49 (byte) bc#84 +Alias (byte) bd#148 = (byte) bd#25 +Alias (byte) be#25 = (byte) be#72 +Alias (byte) bd#107 = (byte) bd#62 +Alias (byte) be#119 = (byte) be#162 +Alias (byte) bc#115 = (byte) bc#50 (byte) bc#85 +Alias (byte) bd#149 = (byte) bd#26 +Alias (byte) be#26 = (byte) be#73 +Alias (byte) bd#108 = (byte) bd#63 +Alias (byte) be#120 = (byte) be#163 +Alias (byte) bc#116 = (byte) bc#51 (byte) bc#86 +Alias (byte) bd#150 = (byte) bd#27 +Alias (byte) be#27 = (byte) be#74 +Alias (byte) bd#109 = (byte) bd#64 +Alias (byte) be#121 = (byte) be#164 +Alias (byte) bc#117 = (byte) bc#52 (byte) bc#87 +Alias (byte) bd#151 = (byte) bd#28 +Alias (byte) be#28 = (byte) be#75 +Alias (byte) bd#110 = (byte) bd#65 +Alias (byte) be#122 = (byte) be#165 +Alias (byte) bc#118 = (byte) bc#53 (byte) bc#88 +Alias (byte) bd#152 = (byte) bd#29 +Alias (byte) be#29 = (byte) be#76 +Alias (byte) bd#111 = (byte) bd#66 +Alias (byte) be#123 = (byte) be#166 +Alias (byte) bc#119 = (byte) bc#54 (byte) bc#89 +Alias (byte) bd#153 = (byte) bd#30 +Alias (byte) be#30 = (byte) be#77 +Alias (byte) bd#112 = (byte) bd#67 +Alias (byte) be#124 = (byte) be#167 +Alias (byte) bc#120 = (byte) bc#55 (byte) bc#90 +Alias (byte) bd#154 = (byte) bd#31 +Alias (byte) be#31 = (byte) be#78 +Alias (byte) bd#113 = (byte) bd#68 +Alias (byte) be#125 = (byte) be#168 +Alias (byte) bc#121 = (byte) bc#56 (byte) bc#91 +Alias (byte) bd#155 = (byte) bd#32 +Alias (byte) be#32 = (byte) be#79 +Alias (byte) bd#114 = (byte) bd#69 +Alias (byte) be#126 = (byte) be#169 +Alias (byte) bc#122 = (byte) bc#57 (byte) bc#92 +Alias (byte) bd#157 = (byte) bd#33 +Alias (byte) be#33 = (byte) be#80 +Alias (byte) bd#115 = (byte) bd#156 +Alias (byte) be#127 = (byte) be#128 (byte) be#170 +Alias (byte) bd#116 = (byte) bd#34 +Alias (byte) be#34 = (byte) be#81 +Alias (byte) bd#35 = (byte) bd#70 +Alias (byte) be#35 = (byte) be#82 +Alias (byte) be#129 = (byte) be#83 +Alias (byte) bd#117 = (byte) bd#71 +Alias (byte) be#130 = (byte) be#84 +Alias (byte) bd#118 = (byte) bd#72 +Alias (byte) be#131 = (byte) be#85 +Alias (byte) bd#119 = (byte) bd#73 +Alias (byte) be#132 = (byte) be#86 +Alias (byte) bd#120 = (byte) bd#74 +Alias (byte) be#133 = (byte) be#87 +Alias (byte) bd#121 = (byte) bd#75 +Alias (byte) be#134 = (byte) be#88 +Alias (byte) bd#122 = (byte) bd#76 +Alias (byte) be#135 = (byte) be#89 +Alias (byte) bd#123 = (byte) bd#77 +Alias (byte) be#136 = (byte) be#90 +Alias (byte) bd#124 = (byte) bd#78 +Alias (byte) be#137 = (byte) be#91 +Alias (byte) bd#125 = (byte) bd#79 +Alias (byte) be#138 = (byte) be#171 +Alias (byte) be#46 = (byte) be#92 +Alias (byte) bb#0 = (byte) bb#60 +Alias (byte) bc#0 = (byte) bc#93 +Alias (byte) bd#0 = (byte) bd#126 +Alias (byte) be#0 = (byte) be#139 +Alias (byte) ba#0 = (byte) ba#28 +Alias (byte) bb#14 = (byte) bb#37 +Alias (byte) bc#25 = (byte) bc#59 +Alias (byte) bd#36 = (byte) bd#81 +Alias (byte) be#47 = (byte) be#93 +Alias (byte) ba#16 = (byte) ba#3 +Successful SSA optimization Pass2AliasElimination +Alias (byte) ba#10 = (byte) ba#20 (byte) ba#19 (byte) ba#21 (byte) ba#22 (byte) ba#11 (byte) ba#12 (byte) ba#13 (byte) ba#14 (byte) ba#15 +Alias (byte) bb#27 = (byte) bb#28 (byte) bb#29 (byte) bb#30 (byte) bb#31 (byte) bb#32 (byte) bb#33 (byte) bb#34 (byte) bb#35 (byte) bb#36 +Alias (byte) bc#114 = (byte) bc#115 (byte) bc#116 (byte) bc#117 (byte) bc#118 (byte) bc#119 (byte) bc#120 (byte) bc#121 (byte) bc#122 (byte) bc#58 +Alias (byte) bd#117 = (byte) bd#118 (byte) bd#119 (byte) bd#120 (byte) bd#121 (byte) bd#122 (byte) bd#123 (byte) bd#124 (byte) bd#125 (byte) bd#80 +Successful SSA optimization Pass2AliasElimination +Redundant Phi (byte) bb#61 (byte) bb#0 +Redundant Phi (byte) bc#94 (byte) bc#0 +Redundant Phi (byte) bd#127 (byte) bd#0 +Redundant Phi (byte) be#140 (byte) be#0 +Redundant Phi (byte) ba#29 (byte) ba#0 +Redundant Phi (byte) bb#1 (byte) bb#13 +Redundant Phi (byte) bc#1 (byte) bc#13 +Redundant Phi (byte) bd#1 (byte) bd#13 +Redundant Phi (byte) be#1 (byte) be#13 +Redundant Phi (byte) ba#10 (byte) ba#17 +Redundant Phi (byte) bb#17 (byte) bb#16 +Redundant Phi (byte) bc#62 (byte) bc#2 +Redundant Phi (byte) bd#128 (byte) bd#2 +Redundant Phi (byte) be#141 (byte) be#2 +Redundant Phi (byte) bc#28 (byte) bc#24 +Redundant Phi (byte) bd#3 (byte) bd#24 +Redundant Phi (byte) be#3 (byte) be#24 +Redundant Phi (byte) bc#29 (byte) bc#24 +Redundant Phi (byte) bd#4 (byte) bd#24 +Redundant Phi (byte) be#4 (byte) be#24 +Redundant Phi (byte) bc#30 (byte) bc#24 +Redundant Phi (byte) bd#41 (byte) bd#24 +Redundant Phi (byte) be#5 (byte) be#24 +Redundant Phi (byte) bc#31 (byte) bc#24 +Redundant Phi (byte) bd#42 (byte) bd#24 +Redundant Phi (byte) be#53 (byte) be#24 +Redundant Phi (byte) bc#32 (byte) bc#24 +Redundant Phi (byte) bd#43 (byte) bd#24 +Redundant Phi (byte) be#54 (byte) be#24 +Redundant Phi (byte) bc#33 (byte) bc#24 +Redundant Phi (byte) bd#44 (byte) bd#24 +Redundant Phi (byte) be#55 (byte) be#24 +Redundant Phi (byte) bc#34 (byte) bc#24 +Redundant Phi (byte) bd#45 (byte) bd#24 +Redundant Phi (byte) be#56 (byte) be#24 +Redundant Phi (byte) bc#10 (byte) bc#24 +Redundant Phi (byte) bd#10 (byte) bd#24 +Redundant Phi (byte) be#10 (byte) be#24 +Redundant Phi (byte) bc#11 (byte) bc#24 +Redundant Phi (byte) bd#11 (byte) bd#24 +Redundant Phi (byte) be#11 (byte) be#24 +Redundant Phi (byte) bc#12 (byte) bc#24 +Redundant Phi (byte) bd#12 (byte) bd#24 +Redundant Phi (byte) be#12 (byte) be#24 +Redundant Phi (byte) bd#14 (byte) bd#35 +Redundant Phi (byte) be#14 (byte) be#35 +Redundant Phi (byte) bd#15 (byte) bd#35 +Redundant Phi (byte) be#15 (byte) be#35 +Redundant Phi (byte) bd#16 (byte) bd#35 +Redundant Phi (byte) be#16 (byte) be#35 +Redundant Phi (byte) bd#17 (byte) bd#35 +Redundant Phi (byte) be#17 (byte) be#35 +Redundant Phi (byte) bd#18 (byte) bd#35 +Redundant Phi (byte) be#18 (byte) be#35 +Redundant Phi (byte) bd#19 (byte) bd#35 +Redundant Phi (byte) be#19 (byte) be#35 +Redundant Phi (byte) bd#20 (byte) bd#35 +Redundant Phi (byte) be#20 (byte) be#35 +Redundant Phi (byte) bd#21 (byte) bd#35 +Redundant Phi (byte) be#21 (byte) be#35 +Redundant Phi (byte) bd#22 (byte) bd#35 +Redundant Phi (byte) be#22 (byte) be#35 +Redundant Phi (byte) bd#23 (byte) bd#35 +Redundant Phi (byte) be#23 (byte) be#35 +Redundant Phi (byte) be#25 (byte) be#46 +Redundant Phi (byte) be#26 (byte) be#46 +Redundant Phi (byte) be#27 (byte) be#46 +Redundant Phi (byte) be#28 (byte) be#46 +Redundant Phi (byte) be#29 (byte) be#46 +Redundant Phi (byte) be#30 (byte) be#46 +Redundant Phi (byte) be#31 (byte) be#46 +Redundant Phi (byte) be#32 (byte) be#46 +Redundant Phi (byte) be#33 (byte) be#46 +Redundant Phi (byte) be#34 (byte) be#46 +Redundant Phi (byte) bb#14 (byte) bb#16 +Redundant Phi (byte) bc#25 (byte) bc#2 +Redundant Phi (byte) bd#36 (byte) bd#2 +Redundant Phi (byte) be#47 (byte) be#2 +Redundant Phi (byte) ba#16 (byte) ba#17 +Successful SSA optimization Pass2RedundantPhiElimination +Simple Condition (bool~) f0::$1 [26] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto f0::@1 +Simple Condition (bool~) f0::$4 [30] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 1) goto f0::@2 +Simple Condition (bool~) f0::$7 [41] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 2) goto f0::@3 +Simple Condition (bool~) f0::$10 [52] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto f0::@4 +Simple Condition (bool~) f0::$13 [63] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto f0::@5 +Simple Condition (bool~) f0::$16 [74] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 5) goto f0::@6 +Simple Condition (bool~) f0::$19 [85] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 6) goto f0::@7 +Simple Condition (bool~) f0::$22 [96] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto f0::@8 +Simple Condition (bool~) f0::$25 [107] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto f0::@9 +Simple Condition (bool~) f0::$28 [118] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 9) goto f0::@10 +Simple Condition (bool~) fa::$1 [143] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto fa::@1 +Simple Condition (bool~) fa::$4 [147] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 1) goto fa::@2 +Simple Condition (bool~) fa::$7 [157] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 2) goto fa::@3 +Simple Condition (bool~) fa::$10 [167] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto fa::@4 +Simple Condition (bool~) fa::$13 [177] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto fa::@5 +Simple Condition (bool~) fa::$16 [187] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 5) goto fa::@6 +Simple Condition (bool~) fa::$19 [197] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 6) goto fa::@7 +Simple Condition (bool~) fa::$22 [207] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto fa::@8 +Simple Condition (bool~) fa::$25 [217] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto fa::@9 +Simple Condition (bool~) fa::$28 [227] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 9) goto fa::@10 +Simple Condition (bool~) fb::$1 [249] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto fb::@1 +Simple Condition (bool~) fb::$4 [253] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 1) goto fb::@2 +Simple Condition (bool~) fb::$7 [262] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 2) goto fb::@3 +Simple Condition (bool~) fb::$10 [271] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto fb::@4 +Simple Condition (bool~) fb::$13 [280] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto fb::@5 +Simple Condition (bool~) fb::$16 [289] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 5) goto fb::@6 +Simple Condition (bool~) fb::$19 [298] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 6) goto fb::@7 +Simple Condition (bool~) fb::$22 [307] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto fb::@8 +Simple Condition (bool~) fb::$25 [316] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto fb::@9 +Simple Condition (bool~) fb::$28 [325] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 9) goto fb::@10 +Simple Condition (bool~) fc::$1 [344] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto fc::@1 +Simple Condition (bool~) fc::$3 [348] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 1) goto fc::@2 +Simple Condition (bool~) fc::$5 [354] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 2) goto fc::@3 +Simple Condition (bool~) fc::$7 [360] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto fc::@4 +Simple Condition (bool~) fc::$9 [366] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto fc::@5 +Simple Condition (bool~) fc::$11 [372] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 5) goto fc::@6 +Simple Condition (bool~) fc::$13 [378] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 6) goto fc::@7 +Simple Condition (bool~) fc::$15 [384] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto fc::@8 +Simple Condition (bool~) fc::$17 [390] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto fc::@9 +Simple Condition (bool~) fc::$19 [396] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 9) goto fc::@10 +Successful SSA optimization Pass2ConditionalJumpSimplification +Constant (const byte) ba#0 = 0 +Constant (const byte) bb#0 = 0 +Constant (const byte) bc#0 = 0 +Constant (const byte) bd#0 = 0 +Constant (const byte) be#0 = 0 +Constant (const byte) bb#12 = 0 +Constant (const byte) bc#23 = 0 +Constant (const byte) bd#116 = 0 +Constant (const byte) be#45 = 0 +Successful SSA optimization Pass2ConstantIdentification +if() condition always true - replacing block destination [1] if(true) goto main::@2 +Successful SSA optimization Pass2ConstantIfs +Removing unused block main::@return +Successful SSA optimization Pass2EliminateUnusedBlocks +Culled Empty Block (label) f0::@21 +Culled Empty Block (label) f0::@22 +Culled Empty Block (label) f0::@23 +Culled Empty Block (label) f0::@24 +Culled Empty Block (label) f0::@25 +Culled Empty Block (label) f0::@26 +Culled Empty Block (label) f0::@27 +Culled Empty Block (label) f0::@28 +Culled Empty Block (label) f0::@29 +Culled Empty Block (label) f0::@10 +Culled Empty Block (label) f0::@30 +Culled Empty Block (label) fa::@21 +Culled Empty Block (label) fa::@22 +Culled Empty Block (label) fa::@23 +Culled Empty Block (label) fa::@24 +Culled Empty Block (label) fa::@25 +Culled Empty Block (label) fa::@26 +Culled Empty Block (label) fa::@27 +Culled Empty Block (label) fa::@28 +Culled Empty Block (label) fa::@29 +Culled Empty Block (label) fa::@10 +Culled Empty Block (label) fa::@30 +Culled Empty Block (label) fb::@21 +Culled Empty Block (label) fb::@22 +Culled Empty Block (label) fb::@23 +Culled Empty Block (label) fb::@24 +Culled Empty Block (label) fb::@25 +Culled Empty Block (label) fb::@26 +Culled Empty Block (label) fb::@27 +Culled Empty Block (label) fb::@28 +Culled Empty Block (label) fb::@29 +Culled Empty Block (label) fb::@10 +Culled Empty Block (label) fb::@30 +Culled Empty Block (label) fc::@10 +Culled Empty Block (label) @6 +Successful SSA optimization Pass2CullEmptyBlocks +Inlining constant with var siblings (const byte) ba#0 +Inlining constant with var siblings (const byte) bb#0 +Inlining constant with var siblings (const byte) bc#0 +Inlining constant with var siblings (const byte) bd#0 +Inlining constant with var siblings (const byte) be#0 +Inlining constant with var siblings (const byte) bb#12 +Inlining constant with var siblings (const byte) bc#23 +Inlining constant with var siblings (const byte) bd#116 +Inlining constant with var siblings (const byte) be#45 +Constant inlined bc#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined ba#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined bd#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined bc#23 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined be#45 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined bb#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined bb#12 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined bd#116 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined be#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Successful SSA optimization Pass2ConstantInlining +Added new block during phi lifting f0::@31(between f0 and f0::@1) +Added new block during phi lifting f0::@32(between f0::@1 and f0::@2) +Added new block during phi lifting f0::@33(between f0::@2 and f0::@3) +Added new block during phi lifting f0::@34(between f0::@3 and f0::@4) +Added new block during phi lifting f0::@35(between f0::@4 and f0::@5) +Added new block during phi lifting f0::@36(between f0::@5 and f0::@6) +Added new block during phi lifting f0::@37(between f0::@6 and f0::@7) +Added new block during phi lifting f0::@38(between f0::@7 and f0::@8) +Added new block during phi lifting f0::@39(between f0::@8 and f0::@9) +Added new block during phi lifting f0::@40(between f0::@9 and f0::@return) +Added new block during phi lifting fa::@31(between fa and fa::@1) +Added new block during phi lifting fa::@32(between fa::@1 and fa::@2) +Added new block during phi lifting fa::@33(between fa::@2 and fa::@3) +Added new block during phi lifting fa::@34(between fa::@3 and fa::@4) +Added new block during phi lifting fa::@35(between fa::@4 and fa::@5) +Added new block during phi lifting fa::@36(between fa::@5 and fa::@6) +Added new block during phi lifting fa::@37(between fa::@6 and fa::@7) +Added new block during phi lifting fa::@38(between fa::@7 and fa::@8) +Added new block during phi lifting fa::@39(between fa::@8 and fa::@9) +Added new block during phi lifting fa::@40(between fa::@9 and fa::@return) +Added new block during phi lifting fb::@31(between fb and fb::@1) +Added new block during phi lifting fb::@32(between fb::@1 and fb::@2) +Added new block during phi lifting fb::@33(between fb::@2 and fb::@3) +Added new block during phi lifting fb::@34(between fb::@3 and fb::@4) +Added new block during phi lifting fb::@35(between fb::@4 and fb::@5) +Added new block during phi lifting fb::@36(between fb::@5 and fb::@6) +Added new block during phi lifting fb::@37(between fb::@6 and fb::@7) +Added new block during phi lifting fb::@38(between fb::@7 and fb::@8) +Added new block during phi lifting fb::@39(between fb::@8 and fb::@9) +Added new block during phi lifting fb::@40(between fb::@9 and fb::@return) +Added new block during phi lifting fc::@21(between fc and fc::@1) +Added new block during phi lifting fc::@22(between fc::@1 and fc::@2) +Added new block during phi lifting fc::@23(between fc::@2 and fc::@3) +Added new block during phi lifting fc::@24(between fc::@3 and fc::@4) +Added new block during phi lifting fc::@25(between fc::@4 and fc::@5) +Added new block during phi lifting fc::@26(between fc::@5 and fc::@6) +Added new block during phi lifting fc::@27(between fc::@6 and fc::@7) +Added new block during phi lifting fc::@28(between fc::@7 and fc::@8) +Added new block during phi lifting fc::@29(between fc::@8 and fc::@9) +Added new block during phi lifting fc::@30(between fc::@9 and fc::@return) +Adding NOP phi() at start of @begin +Adding NOP phi() at start of @5 +Adding NOP phi() at start of @end +Adding NOP phi() at start of main +Adding NOP phi() at start of main::@2 +Adding NOP phi() at start of fc::@20 +CALL GRAPH +Calls in [] to main:2 +Calls in [main] to f0:7 +Calls in [f0] to fa:20 fa:32 fa:44 fa:56 fa:68 fa:80 fa:92 fa:104 fa:116 fa:126 +Calls in [fa] to fb:178 fb:188 fb:198 fb:208 fb:218 fb:228 fb:238 fb:248 fb:258 fb:266 +Calls in [fb] to fc:306 fc:314 fc:322 fc:330 fc:338 fc:346 fc:354 fc:362 fc:370 fc:376 + +Created 114 initial phi equivalence classes +Coalesced [9] bb#81 ← bb#13 +Coalesced [10] bc#124 ← bc#13 +Coalesced [11] bd#158 ← bd#13 +Coalesced [12] be#172 ← be#13 +Coalesced [13] ba#39 ← ba#1 +Not coalescing [16] bb#101 ← bb#3 +Coalesced [17] bc#145 ← bc#2 +Coalesced [18] bd#179 ← bd#2 +Coalesced [19] be#193 ← be#2 +Coalesced [21] bb#83 ← bb#3 +Coalesced [22] bc#126 ← bc#24 +Coalesced [23] bd#160 ← bd#24 +Coalesced [24] be#174 ← be#24 +Not coalescing [28] bb#102 ← bb#4 +Coalesced [29] bc#146 ← bc#63 +Coalesced [30] bd#180 ← bd#129 +Coalesced [31] be#194 ← be#142 +Coalesced [33] bb#85 ← bb#4 +Coalesced [34] bc#128 ← bc#24 +Coalesced [35] bd#162 ← bd#24 +Coalesced [36] be#176 ← be#24 +Not coalescing [40] bb#103 ← bb#5 +Coalesced (already) [41] bc#147 ← bc#64 +Coalesced (already) [42] bd#181 ← bd#130 +Coalesced (already) [43] be#195 ← be#143 +Coalesced [45] bb#87 ← bb#5 +Coalesced [46] bc#130 ← bc#24 +Coalesced [47] bd#164 ← bd#24 +Coalesced [48] be#178 ← be#24 +Not coalescing [52] bb#104 ← bb#6 +Coalesced (already) [53] bc#148 ← bc#65 +Coalesced (already) [54] bd#182 ← bd#131 +Coalesced (already) [55] be#196 ← be#144 +Coalesced [57] bb#88 ← bb#6 +Coalesced [58] bc#131 ← bc#24 +Coalesced [59] bd#165 ← bd#24 +Coalesced [60] be#179 ← be#24 +Not coalescing [64] bb#105 ← bb#66 +Coalesced (already) [65] bc#149 ← bc#66 +Coalesced (already) [66] bd#183 ← bd#132 +Coalesced (already) [67] be#197 ← be#100 +Coalesced [69] bb#90 ← bb#66 +Coalesced [70] bc#133 ← bc#24 +Coalesced [71] bd#167 ← bd#24 +Coalesced [72] be#181 ← be#24 +Not coalescing [76] bb#106 ← bb#67 +Coalesced (already) [77] bc#150 ← bc#100 +Coalesced (already) [78] bd#184 ← bd#133 +Coalesced (already) [79] be#198 ← be#101 +Coalesced [81] bb#92 ← bb#67 +Coalesced [82] bc#135 ← bc#24 +Coalesced [83] bd#169 ← bd#24 +Coalesced [84] be#183 ← be#24 +Not coalescing [88] bb#107 ← bb#68 +Coalesced (already) [89] bc#151 ← bc#101 +Coalesced (already) [90] bd#185 ← bd#134 +Coalesced (already) [91] be#199 ← be#102 +Coalesced [93] bb#94 ← bb#68 +Coalesced [94] bc#137 ← bc#24 +Coalesced [95] bd#171 ← bd#24 +Coalesced [96] be#185 ← be#24 +Not coalescing [100] bb#108 ← bb#10 +Coalesced (already) [101] bc#152 ← bc#102 +Coalesced (already) [102] bd#186 ← bd#135 +Coalesced (already) [103] be#200 ← be#103 +Coalesced [105] bb#96 ← bb#10 +Coalesced [106] bc#139 ← bc#24 +Coalesced [107] bd#173 ← bd#24 +Coalesced [108] be#187 ← be#24 +Not coalescing [112] bb#109 ← bb#11 +Coalesced (already) [113] bc#153 ← bc#103 +Coalesced (already) [114] bd#187 ← bd#136 +Coalesced (already) [115] be#201 ← be#104 +Coalesced [117] bb#98 ← bb#11 +Coalesced [118] bc#141 ← bc#24 +Coalesced [119] bd#175 ← bd#24 +Coalesced [120] be#189 ← be#24 +Coalesced (already) [123] bc#154 ← bc#104 +Coalesced (already) [124] bd#188 ← bd#137 +Coalesced (already) [125] be#202 ← be#105 +Coalesced (already) [127] bc#144 ← bc#24 +Coalesced (already) [128] bd#178 ← bd#24 +Coalesced (already) [129] be#192 ← be#24 +Coalesced [132] bb#100 ← bb#49 +Coalesced (already) [133] bc#143 ← bc#104 +Coalesced (already) [134] bd#177 ← bd#137 +Coalesced (already) [135] be#191 ← be#105 +Coalesced [136] bb#99 ← bb#25 +Coalesced (already) [137] bc#142 ← bc#103 +Coalesced (already) [138] bd#176 ← bd#136 +Coalesced (already) [139] be#190 ← be#104 +Coalesced [140] bb#97 ← bb#24 +Coalesced (already) [141] bc#140 ← bc#102 +Coalesced (already) [142] bd#174 ← bd#135 +Coalesced (already) [143] be#188 ← be#103 +Coalesced [144] bb#95 ← bb#23 +Coalesced (already) [145] bc#138 ← bc#101 +Coalesced (already) [146] bd#172 ← bd#134 +Coalesced (already) [147] be#186 ← be#102 +Coalesced [148] bb#93 ← bb#22 +Coalesced (already) [149] bc#136 ← bc#100 +Coalesced (already) [150] bd#170 ← bd#133 +Coalesced (already) [151] be#184 ← be#101 +Coalesced [152] bb#91 ← bb#21 +Coalesced (already) [153] bc#134 ← bc#66 +Coalesced (already) [154] bd#168 ← bd#132 +Coalesced (already) [155] be#182 ← be#100 +Coalesced [156] bb#89 ← bb#20 +Coalesced (already) [157] bc#132 ← bc#65 +Coalesced (already) [158] bd#166 ← bd#131 +Coalesced (already) [159] be#180 ← be#144 +Coalesced [160] bb#86 ← bb#19 +Coalesced (already) [161] bc#129 ← bc#64 +Coalesced (already) [162] bd#163 ← bd#130 +Coalesced (already) [163] be#177 ← be#143 +Coalesced [164] bb#84 ← bb#18 +Coalesced (already) [165] bc#127 ← bc#63 +Coalesced (already) [166] bd#161 ← bd#129 +Coalesced (already) [167] be#175 ← be#142 +Coalesced (already) [168] bb#82 ← bb#16 +Coalesced (already) [169] bc#125 ← bc#2 +Coalesced (already) [170] bd#159 ← bd#2 +Coalesced (already) [171] be#173 ← be#2 +Not coalescing [175] bc#174 ← bc#105 +Coalesced [176] bd#209 ← bd#138 +Coalesced [177] be#223 ← be#107 +Coalesced [179] bc#156 ← bc#105 +Coalesced [180] bd#190 ← bd#35 +Coalesced [181] be#204 ← be#35 +Not coalescing [185] bc#175 ← bc#106 +Coalesced [186] bd#210 ← bd#139 +Coalesced [187] be#224 ← be#108 +Coalesced [189] bc#158 ← bc#106 +Coalesced [190] bd#192 ← bd#35 +Coalesced [191] be#206 ← be#35 +Not coalescing [195] bc#176 ← bc#107 +Coalesced (already) [196] bd#211 ← bd#140 +Coalesced (already) [197] be#225 ← be#109 +Coalesced [199] bc#160 ← bc#107 +Coalesced [200] bd#194 ← bd#35 +Coalesced [201] be#208 ← be#35 +Not coalescing [205] bc#177 ← bc#108 +Coalesced (already) [206] bd#212 ← bd#141 +Coalesced (already) [207] be#226 ← be#110 +Coalesced [209] bc#161 ← bc#108 +Coalesced [210] bd#195 ← bd#35 +Coalesced [211] be#209 ← be#35 +Not coalescing [215] bc#178 ← bc#109 +Coalesced (already) [216] bd#213 ← bd#142 +Coalesced (already) [217] be#227 ← be#111 +Coalesced [219] bc#163 ← bc#109 +Coalesced [220] bd#197 ← bd#35 +Coalesced [221] be#211 ← be#35 +Not coalescing [225] bc#179 ← bc#110 +Coalesced (already) [226] bd#214 ← bd#100 +Coalesced (already) [227] be#228 ← be#112 +Coalesced [229] bc#165 ← bc#110 +Coalesced [230] bd#199 ← bd#35 +Coalesced [231] be#213 ← be#35 +Not coalescing [235] bc#180 ← bc#111 +Coalesced (already) [236] bd#215 ← bd#101 +Coalesced (already) [237] be#229 ← be#113 +Coalesced [239] bc#167 ← bc#111 +Coalesced [240] bd#201 ← bd#35 +Coalesced [241] be#215 ← be#35 +Not coalescing [245] bc#181 ← bc#112 +Coalesced (already) [246] bd#216 ← bd#102 +Coalesced (already) [247] be#230 ← be#114 +Coalesced [249] bc#169 ← bc#112 +Coalesced [250] bd#203 ← bd#35 +Coalesced [251] be#217 ← be#35 +Not coalescing [255] bc#182 ← bc#123 +Coalesced (already) [256] bd#217 ← bd#103 +Coalesced (already) [257] be#231 ← be#115 +Coalesced [259] bc#171 ← bc#123 +Coalesced [260] bd#205 ← bd#35 +Coalesced [261] be#219 ← be#35 +Coalesced (already) [264] bd#218 ← bd#104 +Coalesced (already) [265] be#232 ← be#116 +Coalesced (already) [267] bd#208 ← bd#35 +Coalesced (already) [268] be#222 ← be#35 +Coalesced [271] bc#173 ← bc#113 +Coalesced (already) [272] bd#207 ← bd#104 +Coalesced (already) [273] be#221 ← be#116 +Coalesced [274] bc#172 ← bc#47 +Coalesced (already) [275] bd#206 ← bd#103 +Coalesced (already) [276] be#220 ← be#115 +Coalesced [277] bc#170 ← bc#46 +Coalesced (already) [278] bd#204 ← bd#102 +Coalesced (already) [279] be#218 ← be#114 +Coalesced [280] bc#168 ← bc#45 +Coalesced (already) [281] bd#202 ← bd#101 +Coalesced (already) [282] be#216 ← be#113 +Coalesced [283] bc#166 ← bc#44 +Coalesced (already) [284] bd#200 ← bd#100 +Coalesced (already) [285] be#214 ← be#112 +Coalesced [286] bc#164 ← bc#43 +Coalesced (already) [287] bd#198 ← bd#142 +Coalesced (already) [288] be#212 ← be#111 +Coalesced [289] bc#162 ← bc#42 +Coalesced (already) [290] bd#196 ← bd#141 +Coalesced (already) [291] be#210 ← be#110 +Coalesced [292] bc#159 ← bc#41 +Coalesced (already) [293] bd#193 ← bd#140 +Coalesced (already) [294] be#207 ← be#109 +Coalesced [295] bc#157 ← bc#40 +Coalesced (already) [296] bd#191 ← bd#139 +Coalesced (already) [297] be#205 ← be#108 +Coalesced (already) [298] bc#155 ← bc#39 +Coalesced (already) [299] bd#189 ← bd#138 +Coalesced (already) [300] be#203 ← be#107 +Not coalescing [304] bd#238 ← bd#148 +Coalesced [305] be#253 ← be#118 +Coalesced [307] bd#220 ← bd#148 +Coalesced [308] be#234 ← be#46 +Not coalescing [312] bd#239 ← bd#149 +Coalesced [313] be#254 ← be#119 +Coalesced [315] bd#222 ← bd#149 +Coalesced [316] be#236 ← be#46 +Not coalescing [320] bd#240 ← bd#150 +Coalesced (already) [321] be#255 ← be#120 +Coalesced [323] bd#224 ← bd#150 +Coalesced [324] be#238 ← be#46 +Not coalescing [328] bd#241 ← bd#151 +Coalesced (already) [329] be#256 ← be#121 +Coalesced [331] bd#225 ← bd#151 +Coalesced [332] be#239 ← be#46 +Not coalescing [336] bd#242 ← bd#152 +Coalesced (already) [337] be#257 ← be#122 +Coalesced [339] bd#227 ← bd#152 +Coalesced [340] be#241 ← be#46 +Not coalescing [344] bd#243 ← bd#153 +Coalesced (already) [345] be#258 ← be#123 +Coalesced [347] bd#229 ← bd#153 +Coalesced [348] be#243 ← be#46 +Not coalescing [352] bd#244 ← bd#154 +Coalesced (already) [353] be#259 ← be#124 +Coalesced [355] bd#231 ← bd#154 +Coalesced [356] be#245 ← be#46 +Not coalescing [360] bd#245 ← bd#155 +Coalesced (already) [361] be#260 ← be#125 +Coalesced [363] bd#233 ← bd#155 +Coalesced [364] be#247 ← be#46 +Not coalescing [368] bd#246 ← bd#157 +Coalesced (already) [369] be#261 ← be#126 +Coalesced [371] bd#235 ← bd#157 +Coalesced [372] be#249 ← be#46 +Coalesced (already) [375] be#262 ← be#127 +Coalesced (already) [377] be#252 ← be#46 +Coalesced [380] bd#237 ← bd#115 +Coalesced (already) [381] be#251 ← be#127 +Coalesced [382] bd#236 ← bd#114 +Coalesced (already) [383] be#250 ← be#126 +Coalesced [384] bd#234 ← bd#113 +Coalesced (already) [385] be#248 ← be#125 +Coalesced [386] bd#232 ← bd#112 +Coalesced (already) [387] be#246 ← be#124 +Coalesced [388] bd#230 ← bd#111 +Coalesced (already) [389] be#244 ← be#123 +Coalesced [390] bd#228 ← bd#110 +Coalesced (already) [391] be#242 ← be#122 +Coalesced [392] bd#226 ← bd#109 +Coalesced (already) [393] be#240 ← be#121 +Coalesced [394] bd#223 ← bd#108 +Coalesced (already) [395] be#237 ← be#120 +Coalesced [396] bd#221 ← bd#107 +Coalesced (already) [397] be#235 ← be#119 +Coalesced (already) [398] bd#219 ← bd#106 +Coalesced (already) [399] be#233 ← be#118 +Coalesced [403] be#264 ← be#36 +Coalesced [407] be#266 ← be#37 +Coalesced [411] be#267 ← be#38 +Coalesced [415] be#269 ← be#39 +Coalesced [419] be#271 ← be#40 +Coalesced [423] be#273 ← be#41 +Coalesced [427] be#275 ← be#42 +Coalesced [431] be#277 ← be#43 +Coalesced [435] be#279 ← be#44 +Coalesced [441] be#281 ← be#138 +Coalesced [442] be#280 ← be#137 +Coalesced [443] be#278 ← be#136 +Coalesced [444] be#276 ← be#135 +Coalesced [445] be#274 ← be#134 +Coalesced [446] be#272 ← be#133 +Coalesced [447] be#270 ← be#132 +Coalesced [448] be#268 ← be#131 +Coalesced [449] be#265 ← be#130 +Coalesced (already) [450] be#263 ← be#129 +Coalesced down to 8 phi equivalence classes +Culled Empty Block (label) f0::@40 +Culled Empty Block (label) f0::@39 +Culled Empty Block (label) f0::@38 +Culled Empty Block (label) f0::@37 +Culled Empty Block (label) f0::@36 +Culled Empty Block (label) f0::@35 +Culled Empty Block (label) f0::@34 +Culled Empty Block (label) f0::@33 +Culled Empty Block (label) f0::@32 +Culled Empty Block (label) f0::@31 +Culled Empty Block (label) fa::@40 +Culled Empty Block (label) fa::@39 +Culled Empty Block (label) fa::@38 +Culled Empty Block (label) fa::@37 +Culled Empty Block (label) fa::@36 +Culled Empty Block (label) fa::@35 +Culled Empty Block (label) fa::@34 +Culled Empty Block (label) fa::@33 +Culled Empty Block (label) fa::@32 +Culled Empty Block (label) fa::@31 +Culled Empty Block (label) fb::@40 +Culled Empty Block (label) fb::@39 +Culled Empty Block (label) fb::@38 +Culled Empty Block (label) fb::@37 +Culled Empty Block (label) fb::@36 +Culled Empty Block (label) fb::@35 +Culled Empty Block (label) fb::@34 +Culled Empty Block (label) fb::@33 +Culled Empty Block (label) fb::@32 +Culled Empty Block (label) fb::@31 +Culled Empty Block (label) fc::@20 +Culled Empty Block (label) fc::@29 +Culled Empty Block (label) fc::@28 +Culled Empty Block (label) fc::@27 +Culled Empty Block (label) fc::@26 +Culled Empty Block (label) fc::@25 +Culled Empty Block (label) fc::@24 +Culled Empty Block (label) fc::@23 +Culled Empty Block (label) fc::@22 +Culled Empty Block (label) fc::@21 +Adding NOP phi() at start of @begin +Adding NOP phi() at start of @5 +Adding NOP phi() at start of @end +Adding NOP phi() at start of main +Adding NOP phi() at start of main::@2 +Adding NOP phi() at start of f0::@20 +Adding NOP phi() at start of fa::@20 +Adding NOP phi() at start of fb::@20 +Adding NOP phi() at start of fc::@30 + +FINAL CONTROL FLOW GRAPH +@begin: scope:[] from + [0] phi() + to:@5 +@5: scope:[] from @begin + [1] phi() + [2] call main + to:@end +@end: scope:[] from @5 + [3] phi() +main: scope:[main] from @5 + [4] phi() + to:main::@1 +main::@1: scope:[main] from main main::@7 + [5] (byte) ba#17 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@7/(byte) ba#1 ) + [5] (byte) be#2 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@7/(byte) be#13 ) + [5] (byte) bd#2 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@7/(byte) bd#13 ) + [5] (byte) bc#2 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@7/(byte) bc#13 ) + [5] (byte) bb#16 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@7/(byte) bb#13 ) + to:main::@2 +main::@2: scope:[main] from main::@1 + [6] phi() + [7] call f0 + to:main::@7 +main::@7: scope:[main] from main::@2 + [8] (byte) ba#1 ← ++ (byte) ba#17 + to:main::@1 +f0: scope:[f0] from main::@2 + [9] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto f0::@1 + to:f0::@11 +f0::@11: scope:[f0] from f0 + [10] (byte) bb#3 ← ++ (byte) bb#16 + [11] (byte~) bb#101 ← (byte) bb#3 + [12] call fa + to:f0::@1 +f0::@1: scope:[f0] from f0 f0::@11 + [13] (byte) be#142 ← phi( f0/(byte) be#2 f0::@11/(byte) be#24 ) + [13] (byte) bd#129 ← phi( f0/(byte) bd#2 f0::@11/(byte) bd#24 ) + [13] (byte) bc#63 ← phi( f0/(byte) bc#2 f0::@11/(byte) bc#24 ) + [13] (byte) bb#18 ← phi( f0/(byte) bb#16 f0::@11/(byte) bb#3 ) + [14] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 1) goto f0::@2 + to:f0::@12 +f0::@12: scope:[f0] from f0::@1 + [15] (byte) bb#4 ← ++ (byte) bb#18 + [16] (byte~) bb#102 ← (byte) bb#4 + [17] call fa + to:f0::@2 +f0::@2: scope:[f0] from f0::@1 f0::@12 + [18] (byte) be#143 ← phi( f0::@1/(byte) be#142 f0::@12/(byte) be#24 ) + [18] (byte) bd#130 ← phi( f0::@1/(byte) bd#129 f0::@12/(byte) bd#24 ) + [18] (byte) bc#64 ← phi( f0::@1/(byte) bc#63 f0::@12/(byte) bc#24 ) + [18] (byte) bb#19 ← phi( f0::@1/(byte) bb#18 f0::@12/(byte) bb#4 ) + [19] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 2) goto f0::@3 + to:f0::@13 +f0::@13: scope:[f0] from f0::@2 + [20] (byte) bb#5 ← ++ (byte) bb#19 + [21] (byte~) bb#103 ← (byte) bb#5 + [22] call fa + to:f0::@3 +f0::@3: scope:[f0] from f0::@13 f0::@2 + [23] (byte) be#144 ← phi( f0::@2/(byte) be#143 f0::@13/(byte) be#24 ) + [23] (byte) bd#131 ← phi( f0::@2/(byte) bd#130 f0::@13/(byte) bd#24 ) + [23] (byte) bc#65 ← phi( f0::@2/(byte) bc#64 f0::@13/(byte) bc#24 ) + [23] (byte) bb#20 ← phi( f0::@2/(byte) bb#19 f0::@13/(byte) bb#5 ) + [24] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto f0::@4 + to:f0::@14 +f0::@14: scope:[f0] from f0::@3 + [25] (byte) bb#6 ← ++ (byte) bb#20 + [26] (byte~) bb#104 ← (byte) bb#6 + [27] call fa + to:f0::@4 +f0::@4: scope:[f0] from f0::@14 f0::@3 + [28] (byte) be#100 ← phi( f0::@14/(byte) be#24 f0::@3/(byte) be#144 ) + [28] (byte) bd#132 ← phi( f0::@14/(byte) bd#24 f0::@3/(byte) bd#131 ) + [28] (byte) bc#66 ← phi( f0::@14/(byte) bc#24 f0::@3/(byte) bc#65 ) + [28] (byte) bb#21 ← phi( f0::@14/(byte) bb#6 f0::@3/(byte) bb#20 ) + [29] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto f0::@5 + to:f0::@15 +f0::@15: scope:[f0] from f0::@4 + [30] (byte) bb#66 ← ++ (byte) bb#21 + [31] (byte~) bb#105 ← (byte) bb#66 + [32] call fa + to:f0::@5 +f0::@5: scope:[f0] from f0::@15 f0::@4 + [33] (byte) be#101 ← phi( f0::@15/(byte) be#24 f0::@4/(byte) be#100 ) + [33] (byte) bd#133 ← phi( f0::@15/(byte) bd#24 f0::@4/(byte) bd#132 ) + [33] (byte) bc#100 ← phi( f0::@15/(byte) bc#24 f0::@4/(byte) bc#66 ) + [33] (byte) bb#22 ← phi( f0::@15/(byte) bb#66 f0::@4/(byte) bb#21 ) + [34] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 5) goto f0::@6 + to:f0::@16 +f0::@16: scope:[f0] from f0::@5 + [35] (byte) bb#67 ← ++ (byte) bb#22 + [36] (byte~) bb#106 ← (byte) bb#67 + [37] call fa + to:f0::@6 +f0::@6: scope:[f0] from f0::@16 f0::@5 + [38] (byte) be#102 ← phi( f0::@16/(byte) be#24 f0::@5/(byte) be#101 ) + [38] (byte) bd#134 ← phi( f0::@16/(byte) bd#24 f0::@5/(byte) bd#133 ) + [38] (byte) bc#101 ← phi( f0::@16/(byte) bc#24 f0::@5/(byte) bc#100 ) + [38] (byte) bb#23 ← phi( f0::@16/(byte) bb#67 f0::@5/(byte) bb#22 ) + [39] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 6) goto f0::@7 + to:f0::@17 +f0::@17: scope:[f0] from f0::@6 + [40] (byte) bb#68 ← ++ (byte) bb#23 + [41] (byte~) bb#107 ← (byte) bb#68 + [42] call fa + to:f0::@7 +f0::@7: scope:[f0] from f0::@17 f0::@6 + [43] (byte) be#103 ← phi( f0::@17/(byte) be#24 f0::@6/(byte) be#102 ) + [43] (byte) bd#135 ← phi( f0::@17/(byte) bd#24 f0::@6/(byte) bd#134 ) + [43] (byte) bc#102 ← phi( f0::@17/(byte) bc#24 f0::@6/(byte) bc#101 ) + [43] (byte) bb#24 ← phi( f0::@17/(byte) bb#68 f0::@6/(byte) bb#23 ) + [44] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto f0::@8 + to:f0::@18 +f0::@18: scope:[f0] from f0::@7 + [45] (byte) bb#10 ← ++ (byte) bb#24 + [46] (byte~) bb#108 ← (byte) bb#10 + [47] call fa + to:f0::@8 +f0::@8: scope:[f0] from f0::@18 f0::@7 + [48] (byte) be#104 ← phi( f0::@18/(byte) be#24 f0::@7/(byte) be#103 ) + [48] (byte) bd#136 ← phi( f0::@18/(byte) bd#24 f0::@7/(byte) bd#135 ) + [48] (byte) bc#103 ← phi( f0::@18/(byte) bc#24 f0::@7/(byte) bc#102 ) + [48] (byte) bb#25 ← phi( f0::@18/(byte) bb#10 f0::@7/(byte) bb#24 ) + [49] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto f0::@9 + to:f0::@19 +f0::@19: scope:[f0] from f0::@8 + [50] (byte) bb#11 ← ++ (byte) bb#25 + [51] (byte~) bb#109 ← (byte) bb#11 + [52] call fa + to:f0::@9 +f0::@9: scope:[f0] from f0::@19 f0::@8 + [53] (byte) be#105 ← phi( f0::@19/(byte) be#24 f0::@8/(byte) be#104 ) + [53] (byte) bd#137 ← phi( f0::@19/(byte) bd#24 f0::@8/(byte) bd#136 ) + [53] (byte) bc#104 ← phi( f0::@19/(byte) bc#24 f0::@8/(byte) bc#103 ) + [53] (byte) bb#49 ← phi( f0::@19/(byte) bb#11 f0::@8/(byte) bb#25 ) + [54] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 9) goto f0::@return + to:f0::@20 +f0::@20: scope:[f0] from f0::@9 + [55] phi() + [56] call fa + to:f0::@return +f0::@return: scope:[f0] from f0::@20 f0::@9 + [57] (byte) be#13 ← phi( f0::@9/(byte) be#105 f0::@20/(byte) be#24 ) + [57] (byte) bd#13 ← phi( f0::@9/(byte) bd#137 f0::@20/(byte) bd#24 ) + [57] (byte) bc#13 ← phi( f0::@9/(byte) bc#104 f0::@20/(byte) bc#24 ) + [57] (byte) bb#13 ← phi( f0::@9/(byte) bb#49 f0::@20/(byte/signed byte/word/signed word/dword/signed dword) 0 ) + [58] return + to:@return +fa: scope:[fa] from f0::@11 f0::@12 f0::@13 f0::@14 f0::@15 f0::@16 f0::@17 f0::@18 f0::@19 f0::@20 + [59] (byte) be#107 ← phi( f0::@11/(byte) be#2 f0::@12/(byte) be#142 f0::@13/(byte) be#143 f0::@14/(byte) be#144 f0::@15/(byte) be#100 f0::@16/(byte) be#101 f0::@17/(byte) be#102 f0::@18/(byte) be#103 f0::@19/(byte) be#104 f0::@20/(byte) be#105 ) + [59] (byte) bd#138 ← phi( f0::@11/(byte) bd#2 f0::@12/(byte) bd#129 f0::@13/(byte) bd#130 f0::@14/(byte) bd#131 f0::@15/(byte) bd#132 f0::@16/(byte) bd#133 f0::@17/(byte) bd#134 f0::@18/(byte) bd#135 f0::@19/(byte) bd#136 f0::@20/(byte) bd#137 ) + [59] (byte) bc#39 ← phi( f0::@11/(byte) bc#2 f0::@12/(byte) bc#63 f0::@13/(byte) bc#64 f0::@14/(byte) bc#65 f0::@15/(byte) bc#66 f0::@16/(byte) bc#100 f0::@17/(byte) bc#101 f0::@18/(byte) bc#102 f0::@19/(byte) bc#103 f0::@20/(byte) bc#104 ) + [59] (byte) bb#27 ← phi( f0::@11/(byte~) bb#101 f0::@12/(byte~) bb#102 f0::@13/(byte~) bb#103 f0::@14/(byte~) bb#104 f0::@15/(byte~) bb#105 f0::@16/(byte~) bb#106 f0::@17/(byte~) bb#107 f0::@18/(byte~) bb#108 f0::@19/(byte~) bb#109 f0::@20/(byte/signed byte/word/signed word/dword/signed dword) 0 ) + [60] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto fa::@1 + to:fa::@11 +fa::@11: scope:[fa] from fa + [61] (byte) bc#105 ← ++ (byte) bc#39 + [62] (byte~) bc#174 ← (byte) bc#105 + [63] call fb + to:fa::@1 +fa::@1: scope:[fa] from fa fa::@11 + [64] (byte) be#108 ← phi( fa/(byte) be#107 fa::@11/(byte) be#35 ) + [64] (byte) bd#139 ← phi( fa/(byte) bd#138 fa::@11/(byte) bd#35 ) + [64] (byte) bc#40 ← phi( fa/(byte) bc#39 fa::@11/(byte) bc#105 ) + [65] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 1) goto fa::@2 + to:fa::@12 +fa::@12: scope:[fa] from fa::@1 + [66] (byte) bc#106 ← ++ (byte) bc#40 + [67] (byte~) bc#175 ← (byte) bc#106 + [68] call fb + to:fa::@2 +fa::@2: scope:[fa] from fa::@1 fa::@12 + [69] (byte) be#109 ← phi( fa::@1/(byte) be#108 fa::@12/(byte) be#35 ) + [69] (byte) bd#140 ← phi( fa::@1/(byte) bd#139 fa::@12/(byte) bd#35 ) + [69] (byte) bc#41 ← phi( fa::@1/(byte) bc#40 fa::@12/(byte) bc#106 ) + [70] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 2) goto fa::@3 + to:fa::@13 +fa::@13: scope:[fa] from fa::@2 + [71] (byte) bc#107 ← ++ (byte) bc#41 + [72] (byte~) bc#176 ← (byte) bc#107 + [73] call fb + to:fa::@3 +fa::@3: scope:[fa] from fa::@13 fa::@2 + [74] (byte) be#110 ← phi( fa::@2/(byte) be#109 fa::@13/(byte) be#35 ) + [74] (byte) bd#141 ← phi( fa::@2/(byte) bd#140 fa::@13/(byte) bd#35 ) + [74] (byte) bc#42 ← phi( fa::@2/(byte) bc#41 fa::@13/(byte) bc#107 ) + [75] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto fa::@4 + to:fa::@14 +fa::@14: scope:[fa] from fa::@3 + [76] (byte) bc#108 ← ++ (byte) bc#42 + [77] (byte~) bc#177 ← (byte) bc#108 + [78] call fb + to:fa::@4 +fa::@4: scope:[fa] from fa::@14 fa::@3 + [79] (byte) be#111 ← phi( fa::@14/(byte) be#35 fa::@3/(byte) be#110 ) + [79] (byte) bd#142 ← phi( fa::@14/(byte) bd#35 fa::@3/(byte) bd#141 ) + [79] (byte) bc#43 ← phi( fa::@14/(byte) bc#108 fa::@3/(byte) bc#42 ) + [80] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto fa::@5 + to:fa::@15 +fa::@15: scope:[fa] from fa::@4 + [81] (byte) bc#109 ← ++ (byte) bc#43 + [82] (byte~) bc#178 ← (byte) bc#109 + [83] call fb + to:fa::@5 +fa::@5: scope:[fa] from fa::@15 fa::@4 + [84] (byte) be#112 ← phi( fa::@15/(byte) be#35 fa::@4/(byte) be#111 ) + [84] (byte) bd#100 ← phi( fa::@15/(byte) bd#35 fa::@4/(byte) bd#142 ) + [84] (byte) bc#44 ← phi( fa::@15/(byte) bc#109 fa::@4/(byte) bc#43 ) + [85] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 5) goto fa::@6 + to:fa::@16 +fa::@16: scope:[fa] from fa::@5 + [86] (byte) bc#110 ← ++ (byte) bc#44 + [87] (byte~) bc#179 ← (byte) bc#110 + [88] call fb + to:fa::@6 +fa::@6: scope:[fa] from fa::@16 fa::@5 + [89] (byte) be#113 ← phi( fa::@16/(byte) be#35 fa::@5/(byte) be#112 ) + [89] (byte) bd#101 ← phi( fa::@16/(byte) bd#35 fa::@5/(byte) bd#100 ) + [89] (byte) bc#45 ← phi( fa::@16/(byte) bc#110 fa::@5/(byte) bc#44 ) + [90] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 6) goto fa::@7 + to:fa::@17 +fa::@17: scope:[fa] from fa::@6 + [91] (byte) bc#111 ← ++ (byte) bc#45 + [92] (byte~) bc#180 ← (byte) bc#111 + [93] call fb + to:fa::@7 +fa::@7: scope:[fa] from fa::@17 fa::@6 + [94] (byte) be#114 ← phi( fa::@17/(byte) be#35 fa::@6/(byte) be#113 ) + [94] (byte) bd#102 ← phi( fa::@17/(byte) bd#35 fa::@6/(byte) bd#101 ) + [94] (byte) bc#46 ← phi( fa::@17/(byte) bc#111 fa::@6/(byte) bc#45 ) + [95] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto fa::@8 + to:fa::@18 +fa::@18: scope:[fa] from fa::@7 + [96] (byte) bc#112 ← ++ (byte) bc#46 + [97] (byte~) bc#181 ← (byte) bc#112 + [98] call fb + to:fa::@8 +fa::@8: scope:[fa] from fa::@18 fa::@7 + [99] (byte) be#115 ← phi( fa::@18/(byte) be#35 fa::@7/(byte) be#114 ) + [99] (byte) bd#103 ← phi( fa::@18/(byte) bd#35 fa::@7/(byte) bd#102 ) + [99] (byte) bc#47 ← phi( fa::@18/(byte) bc#112 fa::@7/(byte) bc#46 ) + [100] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto fa::@9 + to:fa::@19 +fa::@19: scope:[fa] from fa::@8 + [101] (byte) bc#123 ← ++ (byte) bc#47 + [102] (byte~) bc#182 ← (byte) bc#123 + [103] call fb + to:fa::@9 +fa::@9: scope:[fa] from fa::@19 fa::@8 + [104] (byte) be#116 ← phi( fa::@19/(byte) be#35 fa::@8/(byte) be#115 ) + [104] (byte) bd#104 ← phi( fa::@19/(byte) bd#35 fa::@8/(byte) bd#103 ) + [104] (byte) bc#113 ← phi( fa::@19/(byte) bc#123 fa::@8/(byte) bc#47 ) + [105] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 9) goto fa::@return + to:fa::@20 +fa::@20: scope:[fa] from fa::@9 + [106] phi() + [107] call fb + to:fa::@return +fa::@return: scope:[fa] from fa::@20 fa::@9 + [108] (byte) be#24 ← phi( fa::@9/(byte) be#116 fa::@20/(byte) be#35 ) + [108] (byte) bd#24 ← phi( fa::@9/(byte) bd#104 fa::@20/(byte) bd#35 ) + [108] (byte) bc#24 ← phi( fa::@9/(byte) bc#113 fa::@20/(byte/signed byte/word/signed word/dword/signed dword) 0 ) + [109] return + to:@return +fb: scope:[fb] from fa::@11 fa::@12 fa::@13 fa::@14 fa::@15 fa::@16 fa::@17 fa::@18 fa::@19 fa::@20 + [110] (byte) be#118 ← phi( fa::@11/(byte) be#107 fa::@12/(byte) be#108 fa::@13/(byte) be#109 fa::@14/(byte) be#110 fa::@15/(byte) be#111 fa::@16/(byte) be#112 fa::@17/(byte) be#113 fa::@18/(byte) be#114 fa::@19/(byte) be#115 fa::@20/(byte) be#116 ) + [110] (byte) bd#106 ← phi( fa::@11/(byte) bd#138 fa::@12/(byte) bd#139 fa::@13/(byte) bd#140 fa::@14/(byte) bd#141 fa::@15/(byte) bd#142 fa::@16/(byte) bd#100 fa::@17/(byte) bd#101 fa::@18/(byte) bd#102 fa::@19/(byte) bd#103 fa::@20/(byte) bd#104 ) + [110] (byte) bc#114 ← phi( fa::@11/(byte~) bc#174 fa::@12/(byte~) bc#175 fa::@13/(byte~) bc#176 fa::@14/(byte~) bc#177 fa::@15/(byte~) bc#178 fa::@16/(byte~) bc#179 fa::@17/(byte~) bc#180 fa::@18/(byte~) bc#181 fa::@19/(byte~) bc#182 fa::@20/(byte/signed byte/word/signed word/dword/signed dword) 0 ) + [111] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto fb::@1 + to:fb::@11 +fb::@11: scope:[fb] from fb + [112] (byte) bd#148 ← ++ (byte) bd#106 + [113] (byte~) bd#238 ← (byte) bd#148 + [114] call fc + to:fb::@1 +fb::@1: scope:[fb] from fb fb::@11 + [115] (byte) be#119 ← phi( fb/(byte) be#118 fb::@11/(byte) be#46 ) + [115] (byte) bd#107 ← phi( fb/(byte) bd#106 fb::@11/(byte) bd#148 ) + [116] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 1) goto fb::@2 + to:fb::@12 +fb::@12: scope:[fb] from fb::@1 + [117] (byte) bd#149 ← ++ (byte) bd#107 + [118] (byte~) bd#239 ← (byte) bd#149 + [119] call fc + to:fb::@2 +fb::@2: scope:[fb] from fb::@1 fb::@12 + [120] (byte) be#120 ← phi( fb::@1/(byte) be#119 fb::@12/(byte) be#46 ) + [120] (byte) bd#108 ← phi( fb::@1/(byte) bd#107 fb::@12/(byte) bd#149 ) + [121] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 2) goto fb::@3 + to:fb::@13 +fb::@13: scope:[fb] from fb::@2 + [122] (byte) bd#150 ← ++ (byte) bd#108 + [123] (byte~) bd#240 ← (byte) bd#150 + [124] call fc + to:fb::@3 +fb::@3: scope:[fb] from fb::@13 fb::@2 + [125] (byte) be#121 ← phi( fb::@2/(byte) be#120 fb::@13/(byte) be#46 ) + [125] (byte) bd#109 ← phi( fb::@2/(byte) bd#108 fb::@13/(byte) bd#150 ) + [126] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto fb::@4 + to:fb::@14 +fb::@14: scope:[fb] from fb::@3 + [127] (byte) bd#151 ← ++ (byte) bd#109 + [128] (byte~) bd#241 ← (byte) bd#151 + [129] call fc + to:fb::@4 +fb::@4: scope:[fb] from fb::@14 fb::@3 + [130] (byte) be#122 ← phi( fb::@14/(byte) be#46 fb::@3/(byte) be#121 ) + [130] (byte) bd#110 ← phi( fb::@14/(byte) bd#151 fb::@3/(byte) bd#109 ) + [131] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto fb::@5 + to:fb::@15 +fb::@15: scope:[fb] from fb::@4 + [132] (byte) bd#152 ← ++ (byte) bd#110 + [133] (byte~) bd#242 ← (byte) bd#152 + [134] call fc + to:fb::@5 +fb::@5: scope:[fb] from fb::@15 fb::@4 + [135] (byte) be#123 ← phi( fb::@15/(byte) be#46 fb::@4/(byte) be#122 ) + [135] (byte) bd#111 ← phi( fb::@15/(byte) bd#152 fb::@4/(byte) bd#110 ) + [136] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 5) goto fb::@6 + to:fb::@16 +fb::@16: scope:[fb] from fb::@5 + [137] (byte) bd#153 ← ++ (byte) bd#111 + [138] (byte~) bd#243 ← (byte) bd#153 + [139] call fc + to:fb::@6 +fb::@6: scope:[fb] from fb::@16 fb::@5 + [140] (byte) be#124 ← phi( fb::@16/(byte) be#46 fb::@5/(byte) be#123 ) + [140] (byte) bd#112 ← phi( fb::@16/(byte) bd#153 fb::@5/(byte) bd#111 ) + [141] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 6) goto fb::@7 + to:fb::@17 +fb::@17: scope:[fb] from fb::@6 + [142] (byte) bd#154 ← ++ (byte) bd#112 + [143] (byte~) bd#244 ← (byte) bd#154 + [144] call fc + to:fb::@7 +fb::@7: scope:[fb] from fb::@17 fb::@6 + [145] (byte) be#125 ← phi( fb::@17/(byte) be#46 fb::@6/(byte) be#124 ) + [145] (byte) bd#113 ← phi( fb::@17/(byte) bd#154 fb::@6/(byte) bd#112 ) + [146] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto fb::@8 + to:fb::@18 +fb::@18: scope:[fb] from fb::@7 + [147] (byte) bd#155 ← ++ (byte) bd#113 + [148] (byte~) bd#245 ← (byte) bd#155 + [149] call fc + to:fb::@8 +fb::@8: scope:[fb] from fb::@18 fb::@7 + [150] (byte) be#126 ← phi( fb::@18/(byte) be#46 fb::@7/(byte) be#125 ) + [150] (byte) bd#114 ← phi( fb::@18/(byte) bd#155 fb::@7/(byte) bd#113 ) + [151] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto fb::@9 + to:fb::@19 +fb::@19: scope:[fb] from fb::@8 + [152] (byte) bd#157 ← ++ (byte) bd#114 + [153] (byte~) bd#246 ← (byte) bd#157 + [154] call fc + to:fb::@9 +fb::@9: scope:[fb] from fb::@19 fb::@8 + [155] (byte) be#127 ← phi( fb::@19/(byte) be#46 fb::@8/(byte) be#126 ) + [155] (byte) bd#115 ← phi( fb::@19/(byte) bd#157 fb::@8/(byte) bd#114 ) + [156] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 9) goto fb::@return + to:fb::@20 +fb::@20: scope:[fb] from fb::@9 + [157] phi() + [158] call fc + to:fb::@return +fb::@return: scope:[fb] from fb::@20 fb::@9 + [159] (byte) be#35 ← phi( fb::@9/(byte) be#127 fb::@20/(byte) be#46 ) + [159] (byte) bd#35 ← phi( fb::@9/(byte) bd#115 fb::@20/(byte/signed byte/word/signed word/dword/signed dword) 0 ) + [160] return + to:@return +fc: scope:[fc] from fb::@11 fb::@12 fb::@13 fb::@14 fb::@15 fb::@16 fb::@17 fb::@18 fb::@19 fb::@20 + [161] (byte) be#129 ← phi( fb::@11/(byte) be#118 fb::@12/(byte) be#119 fb::@13/(byte) be#120 fb::@14/(byte) be#121 fb::@15/(byte) be#122 fb::@16/(byte) be#123 fb::@17/(byte) be#124 fb::@18/(byte) be#125 fb::@19/(byte) be#126 fb::@20/(byte) be#127 ) + [161] (byte) bd#117 ← phi( fb::@11/(byte~) bd#238 fb::@12/(byte~) bd#239 fb::@13/(byte~) bd#240 fb::@14/(byte~) bd#241 fb::@15/(byte~) bd#242 fb::@16/(byte~) bd#243 fb::@17/(byte~) bd#244 fb::@18/(byte~) bd#245 fb::@19/(byte~) bd#246 fb::@20/(byte/signed byte/word/signed word/dword/signed dword) 0 ) + [162] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto fc::@1 + to:fc::@11 +fc::@11: scope:[fc] from fc + [163] (byte) be#36 ← ++ (byte) be#129 + to:fc::@1 +fc::@1: scope:[fc] from fc fc::@11 + [164] (byte) be#130 ← phi( fc/(byte) be#129 fc::@11/(byte) be#36 ) + [165] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 1) goto fc::@2 + to:fc::@12 +fc::@12: scope:[fc] from fc::@1 + [166] (byte) be#37 ← ++ (byte) be#130 + to:fc::@2 +fc::@2: scope:[fc] from fc::@1 fc::@12 + [167] (byte) be#131 ← phi( fc::@1/(byte) be#130 fc::@12/(byte) be#37 ) + [168] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 2) goto fc::@3 + to:fc::@13 +fc::@13: scope:[fc] from fc::@2 + [169] (byte) be#38 ← ++ (byte) be#131 + to:fc::@3 +fc::@3: scope:[fc] from fc::@13 fc::@2 + [170] (byte) be#132 ← phi( fc::@13/(byte) be#38 fc::@2/(byte) be#131 ) + [171] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto fc::@4 + to:fc::@14 +fc::@14: scope:[fc] from fc::@3 + [172] (byte) be#39 ← ++ (byte) be#132 + to:fc::@4 +fc::@4: scope:[fc] from fc::@14 fc::@3 + [173] (byte) be#133 ← phi( fc::@14/(byte) be#39 fc::@3/(byte) be#132 ) + [174] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto fc::@5 + to:fc::@15 +fc::@15: scope:[fc] from fc::@4 + [175] (byte) be#40 ← ++ (byte) be#133 + to:fc::@5 +fc::@5: scope:[fc] from fc::@15 fc::@4 + [176] (byte) be#134 ← phi( fc::@15/(byte) be#40 fc::@4/(byte) be#133 ) + [177] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 5) goto fc::@6 + to:fc::@16 +fc::@16: scope:[fc] from fc::@5 + [178] (byte) be#41 ← ++ (byte) be#134 + to:fc::@6 +fc::@6: scope:[fc] from fc::@16 fc::@5 + [179] (byte) be#135 ← phi( fc::@16/(byte) be#41 fc::@5/(byte) be#134 ) + [180] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 6) goto fc::@7 + to:fc::@17 +fc::@17: scope:[fc] from fc::@6 + [181] (byte) be#42 ← ++ (byte) be#135 + to:fc::@7 +fc::@7: scope:[fc] from fc::@17 fc::@6 + [182] (byte) be#136 ← phi( fc::@17/(byte) be#42 fc::@6/(byte) be#135 ) + [183] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto fc::@8 + to:fc::@18 +fc::@18: scope:[fc] from fc::@7 + [184] (byte) be#43 ← ++ (byte) be#136 + to:fc::@8 +fc::@8: scope:[fc] from fc::@18 fc::@7 + [185] (byte) be#137 ← phi( fc::@18/(byte) be#43 fc::@7/(byte) be#136 ) + [186] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto fc::@9 + to:fc::@19 +fc::@19: scope:[fc] from fc::@8 + [187] (byte) be#44 ← ++ (byte) be#137 + to:fc::@9 +fc::@9: scope:[fc] from fc::@19 fc::@8 + [188] (byte) be#138 ← phi( fc::@19/(byte) be#44 fc::@8/(byte) be#137 ) + [189] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 9) goto fc::@30 + to:fc::@return +fc::@return: scope:[fc] from fc::@30 fc::@9 + [190] (byte) be#46 ← phi( fc::@30/(byte) be#138 fc::@9/(byte/signed byte/word/signed word/dword/signed dword) 0 ) + [191] return + to:@return +fc::@30: scope:[fc] from fc::@9 + [192] phi() + to:fc::@return + + +VARIABLE REGISTER WEIGHTS +(byte) ba +(byte) ba#1 22.0 +(byte) ba#17 0.7924528301886792 +(byte) bb +(byte) bb#10 2.0 +(byte~) bb#101 4.0 +(byte~) bb#102 4.0 +(byte~) bb#103 4.0 +(byte~) bb#104 4.0 +(byte~) bb#105 4.0 +(byte~) bb#106 4.0 +(byte~) bb#107 4.0 +(byte~) bb#108 4.0 +(byte~) bb#109 4.0 +(byte) bb#11 2.0 +(byte) bb#13 3.25 +(byte) bb#16 5.0 +(byte) bb#18 4.0 +(byte) bb#19 4.0 +(byte) bb#20 4.0 +(byte) bb#21 4.0 +(byte) bb#22 4.0 +(byte) bb#23 4.0 +(byte) bb#24 4.0 +(byte) bb#25 4.0 +(byte) bb#27 0.8260869565217388 +(byte) bb#3 2.0 +(byte) bb#4 2.0 +(byte) bb#49 3.0 +(byte) bb#5 2.0 +(byte) bb#6 2.0 +(byte) bb#66 2.0 +(byte) bb#67 2.0 +(byte) bb#68 2.0 +(byte) bc +(byte) bc#100 2.0 +(byte) bc#101 2.0 +(byte) bc#102 2.0 +(byte) bc#103 2.0 +(byte) bc#104 2.6666666666666665 +(byte) bc#105 2.0 +(byte) bc#106 2.0 +(byte) bc#107 2.0 +(byte) bc#108 2.0 +(byte) bc#109 2.0 +(byte) bc#110 2.0 +(byte) bc#111 2.0 +(byte) bc#112 2.0 +(byte) bc#113 3.0 +(byte) bc#114 0.8260869565217388 +(byte) bc#123 2.0 +(byte) bc#13 3.75 +(byte~) bc#174 4.0 +(byte~) bc#175 4.0 +(byte~) bc#176 4.0 +(byte~) bc#177 4.0 +(byte~) bc#178 4.0 +(byte~) bc#179 4.0 +(byte~) bc#180 4.0 +(byte~) bc#181 4.0 +(byte~) bc#182 4.0 +(byte) bc#2 3.0 +(byte) bc#24 1.8333333333333335 +(byte) bc#39 12.0 +(byte) bc#40 4.0 +(byte) bc#41 4.0 +(byte) bc#42 4.0 +(byte) bc#43 4.0 +(byte) bc#44 4.0 +(byte) bc#45 4.0 +(byte) bc#46 4.0 +(byte) bc#47 4.0 +(byte) bc#63 2.0 +(byte) bc#64 2.0 +(byte) bc#65 2.0 +(byte) bc#66 2.0 +(byte) bd +(byte) bd#100 2.0 +(byte) bd#101 2.0 +(byte) bd#102 2.0 +(byte) bd#103 2.0 +(byte) bd#104 2.6666666666666665 +(byte) bd#106 12.0 +(byte) bd#107 4.0 +(byte) bd#108 4.0 +(byte) bd#109 4.0 +(byte) bd#110 4.0 +(byte) bd#111 4.0 +(byte) bd#112 4.0 +(byte) bd#113 4.0 +(byte) bd#114 4.0 +(byte) bd#115 3.0 +(byte) bd#117 1.3571428571428568 +(byte) bd#129 2.0 +(byte) bd#13 3.75 +(byte) bd#130 2.0 +(byte) bd#131 2.0 +(byte) bd#132 2.0 +(byte) bd#133 2.0 +(byte) bd#134 2.0 +(byte) bd#135 2.0 +(byte) bd#136 2.0 +(byte) bd#137 2.6666666666666665 +(byte) bd#138 6.0 +(byte) bd#139 2.0 +(byte) bd#140 2.0 +(byte) bd#141 2.0 +(byte) bd#142 2.0 +(byte) bd#148 2.0 +(byte) bd#149 2.0 +(byte) bd#150 2.0 +(byte) bd#151 2.0 +(byte) bd#152 2.0 +(byte) bd#153 2.0 +(byte) bd#154 2.0 +(byte) bd#155 2.0 +(byte) bd#157 2.0 +(byte) bd#2 3.0 +(byte~) bd#238 4.0 +(byte~) bd#239 4.0 +(byte) bd#24 2.0 +(byte~) bd#240 4.0 +(byte~) bd#241 4.0 +(byte~) bd#242 4.0 +(byte~) bd#243 4.0 +(byte~) bd#244 4.0 +(byte~) bd#245 4.0 +(byte~) bd#246 4.0 +(byte) bd#35 1.8333333333333335 +(byte) be +(byte) be#100 2.0 +(byte) be#101 2.0 +(byte) be#102 2.0 +(byte) be#103 2.0 +(byte) be#104 2.0 +(byte) be#105 2.6666666666666665 +(byte) be#107 6.0 +(byte) be#108 2.0 +(byte) be#109 2.0 +(byte) be#110 2.0 +(byte) be#111 2.0 +(byte) be#112 2.0 +(byte) be#113 2.0 +(byte) be#114 2.0 +(byte) be#115 2.0 +(byte) be#116 2.6666666666666665 +(byte) be#118 6.0 +(byte) be#119 2.0 +(byte) be#120 2.0 +(byte) be#121 2.0 +(byte) be#122 2.0 +(byte) be#123 2.0 +(byte) be#124 2.0 +(byte) be#125 2.0 +(byte) be#126 2.0 +(byte) be#127 2.6666666666666665 +(byte) be#129 12.0 +(byte) be#13 3.75 +(byte) be#130 4.0 +(byte) be#131 4.0 +(byte) be#132 4.0 +(byte) be#133 4.0 +(byte) be#134 4.0 +(byte) be#135 4.0 +(byte) be#136 4.0 +(byte) be#137 4.0 +(byte) be#138 2.0 +(byte) be#142 2.0 +(byte) be#143 2.0 +(byte) be#144 2.0 +(byte) be#2 3.0 +(byte) be#24 2.0 +(byte) be#35 2.0 +(byte) be#36 4.0 +(byte) be#37 4.0 +(byte) be#38 4.0 +(byte) be#39 4.0 +(byte) be#40 4.0 +(byte) be#41 4.0 +(byte) be#42 4.0 +(byte) be#43 4.0 +(byte) be#44 4.0 +(byte) be#46 1.8333333333333335 +(void()) f0() +(void()) fa() +(void()) fb() +(void()) fc() +(void()) main() + +Initial phi equivalence classes +[ ba#17 ba#1 ] +[ bb#49 bb#11 bb#25 bb#10 bb#24 bb#68 bb#23 bb#67 bb#22 bb#66 bb#21 bb#6 bb#20 bb#19 bb#18 bb#16 bb#13 bb#3 bb#4 bb#5 ] +[ bb#27 bb#101 bb#102 bb#103 bb#104 bb#105 bb#106 bb#107 bb#108 bb#109 ] +[ bc#113 bc#123 bc#47 bc#112 bc#46 bc#111 bc#45 bc#110 bc#44 bc#109 bc#43 bc#108 bc#42 bc#41 bc#40 bc#39 bc#104 bc#103 bc#102 bc#101 bc#100 bc#66 bc#65 bc#64 bc#63 bc#2 bc#13 bc#24 bc#105 bc#106 bc#107 ] +[ bc#114 bc#174 bc#175 bc#176 bc#177 bc#178 bc#179 bc#180 bc#181 bc#182 ] +[ bd#115 bd#157 bd#114 bd#155 bd#113 bd#154 bd#112 bd#153 bd#111 bd#152 bd#110 bd#151 bd#109 bd#108 bd#107 bd#106 bd#104 bd#103 bd#102 bd#101 bd#100 bd#142 bd#141 bd#140 bd#139 bd#138 bd#137 bd#136 bd#135 bd#134 bd#133 bd#132 bd#131 bd#130 bd#129 bd#2 bd#13 bd#24 bd#35 bd#148 bd#149 bd#150 ] +[ bd#117 bd#238 bd#239 bd#240 bd#241 bd#242 bd#243 bd#244 bd#245 bd#246 ] +[ be#138 be#44 be#137 be#43 be#136 be#42 be#135 be#41 be#134 be#40 be#133 be#39 be#132 be#38 be#131 be#130 be#129 be#127 be#126 be#125 be#124 be#123 be#122 be#121 be#120 be#119 be#118 be#116 be#115 be#114 be#113 be#112 be#111 be#110 be#109 be#108 be#107 be#105 be#104 be#103 be#102 be#101 be#100 be#144 be#143 be#142 be#2 be#13 be#24 be#35 be#46 be#36 be#37 ] +Complete equivalence classes +[ ba#17 ba#1 ] +[ bb#49 bb#11 bb#25 bb#10 bb#24 bb#68 bb#23 bb#67 bb#22 bb#66 bb#21 bb#6 bb#20 bb#19 bb#18 bb#16 bb#13 bb#3 bb#4 bb#5 ] +[ bb#27 bb#101 bb#102 bb#103 bb#104 bb#105 bb#106 bb#107 bb#108 bb#109 ] +[ bc#113 bc#123 bc#47 bc#112 bc#46 bc#111 bc#45 bc#110 bc#44 bc#109 bc#43 bc#108 bc#42 bc#41 bc#40 bc#39 bc#104 bc#103 bc#102 bc#101 bc#100 bc#66 bc#65 bc#64 bc#63 bc#2 bc#13 bc#24 bc#105 bc#106 bc#107 ] +[ bc#114 bc#174 bc#175 bc#176 bc#177 bc#178 bc#179 bc#180 bc#181 bc#182 ] +[ bd#115 bd#157 bd#114 bd#155 bd#113 bd#154 bd#112 bd#153 bd#111 bd#152 bd#110 bd#151 bd#109 bd#108 bd#107 bd#106 bd#104 bd#103 bd#102 bd#101 bd#100 bd#142 bd#141 bd#140 bd#139 bd#138 bd#137 bd#136 bd#135 bd#134 bd#133 bd#132 bd#131 bd#130 bd#129 bd#2 bd#13 bd#24 bd#35 bd#148 bd#149 bd#150 ] +[ bd#117 bd#238 bd#239 bd#240 bd#241 bd#242 bd#243 bd#244 bd#245 bd#246 ] +[ be#138 be#44 be#137 be#43 be#136 be#42 be#135 be#41 be#134 be#40 be#133 be#39 be#132 be#38 be#131 be#130 be#129 be#127 be#126 be#125 be#124 be#123 be#122 be#121 be#120 be#119 be#118 be#116 be#115 be#114 be#113 be#112 be#111 be#110 be#109 be#108 be#107 be#105 be#104 be#103 be#102 be#101 be#100 be#144 be#143 be#142 be#2 be#13 be#24 be#35 be#46 be#36 be#37 ] +Allocated zp ZP_BYTE:2 [ ba#17 ba#1 ] +Allocated zp ZP_BYTE:3 [ bb#49 bb#11 bb#25 bb#10 bb#24 bb#68 bb#23 bb#67 bb#22 bb#66 bb#21 bb#6 bb#20 bb#19 bb#18 bb#16 bb#13 bb#3 bb#4 bb#5 ] +Allocated zp ZP_BYTE:4 [ bb#27 bb#101 bb#102 bb#103 bb#104 bb#105 bb#106 bb#107 bb#108 bb#109 ] +Allocated zp ZP_BYTE:5 [ bc#113 bc#123 bc#47 bc#112 bc#46 bc#111 bc#45 bc#110 bc#44 bc#109 bc#43 bc#108 bc#42 bc#41 bc#40 bc#39 bc#104 bc#103 bc#102 bc#101 bc#100 bc#66 bc#65 bc#64 bc#63 bc#2 bc#13 bc#24 bc#105 bc#106 bc#107 ] +Allocated zp ZP_BYTE:6 [ bc#114 bc#174 bc#175 bc#176 bc#177 bc#178 bc#179 bc#180 bc#181 bc#182 ] +Allocated zp ZP_BYTE:7 [ bd#115 bd#157 bd#114 bd#155 bd#113 bd#154 bd#112 bd#153 bd#111 bd#152 bd#110 bd#151 bd#109 bd#108 bd#107 bd#106 bd#104 bd#103 bd#102 bd#101 bd#100 bd#142 bd#141 bd#140 bd#139 bd#138 bd#137 bd#136 bd#135 bd#134 bd#133 bd#132 bd#131 bd#130 bd#129 bd#2 bd#13 bd#24 bd#35 bd#148 bd#149 bd#150 ] +Allocated zp ZP_BYTE:8 [ bd#117 bd#238 bd#239 bd#240 bd#241 bd#242 bd#243 bd#244 bd#245 bd#246 ] +Allocated zp ZP_BYTE:9 [ be#138 be#44 be#137 be#43 be#136 be#42 be#135 be#41 be#134 be#40 be#133 be#39 be#132 be#38 be#131 be#130 be#129 be#127 be#126 be#125 be#124 be#123 be#122 be#121 be#120 be#119 be#118 be#116 be#115 be#114 be#113 be#112 be#111 be#110 be#109 be#108 be#107 be#105 be#104 be#103 be#102 be#101 be#100 be#144 be#143 be#142 be#2 be#13 be#24 be#35 be#46 be#36 be#37 ] + +INITIAL ASM +//SEG0 Basic Upstart +.pc = $801 "Basic" +:BasicUpstart(bbegin) +.pc = $80d "Program" +//SEG1 Global Constants & labels + .label ba = 2 + .label bc = 5 + .label bd = 7 + .label be = 9 + .label bb = 3 + .label bb_27 = 4 + .label bd_117 = 8 + .label bc_114 = 6 + .label bb_101 = 4 + .label bb_102 = 4 + .label bb_103 = 4 + .label bb_104 = 4 + .label bb_105 = 4 + .label bb_106 = 4 + .label bb_107 = 4 + .label bb_108 = 4 + .label bb_109 = 4 + .label bc_174 = 6 + .label bc_175 = 6 + .label bc_176 = 6 + .label bc_177 = 6 + .label bc_178 = 6 + .label bc_179 = 6 + .label bc_180 = 6 + .label bc_181 = 6 + .label bc_182 = 6 + .label bd_238 = 8 + .label bd_239 = 8 + .label bd_240 = 8 + .label bd_241 = 8 + .label bd_242 = 8 + .label bd_243 = 8 + .label bd_244 = 8 + .label bd_245 = 8 + .label bd_246 = 8 +//SEG2 @begin +bbegin: +//SEG3 [1] phi from @begin to @5 [phi:@begin->@5] +b5_from_bbegin: + jmp b5 +//SEG4 @5 +b5: +//SEG5 [2] call main +//SEG6 [4] phi from @5 to main [phi:@5->main] +main_from_b5: + jsr main +//SEG7 [3] phi from @5 to @end [phi:@5->@end] +bend_from_b5: + jmp bend +//SEG8 @end +bend: +//SEG9 main +main: { + //SEG10 [5] phi from main to main::@1 [phi:main->main::@1] + b1_from_main: + //SEG11 [5] phi (byte) ba#17 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#0] -- vbuz1=vbuc1 + lda #0 + sta ba + //SEG12 [5] phi (byte) be#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#1] -- vbuz1=vbuc1 + lda #0 + sta be + //SEG13 [5] phi (byte) bd#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#2] -- vbuz1=vbuc1 + lda #0 + sta bd + //SEG14 [5] phi (byte) bc#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#3] -- vbuz1=vbuc1 + lda #0 + sta bc + //SEG15 [5] phi (byte) bb#16 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#4] -- vbuz1=vbuc1 + lda #0 + sta bb + jmp b1 + //SEG16 main::@1 + b1: + //SEG17 [6] phi from main::@1 to main::@2 [phi:main::@1->main::@2] + b2_from_b1: + jmp b2 + //SEG18 main::@2 + b2: + //SEG19 [7] call f0 + jsr f0 + jmp b7 + //SEG20 main::@7 + b7: + //SEG21 [8] (byte) ba#1 ← ++ (byte) ba#17 -- vbuz1=_inc_vbuz1 + inc ba + //SEG22 [5] phi from main::@7 to main::@1 [phi:main::@7->main::@1] + b1_from_b7: + //SEG23 [5] phi (byte) ba#17 = (byte) ba#1 [phi:main::@7->main::@1#0] -- register_copy + //SEG24 [5] phi (byte) be#2 = (byte) be#13 [phi:main::@7->main::@1#1] -- register_copy + //SEG25 [5] phi (byte) bd#2 = (byte) bd#13 [phi:main::@7->main::@1#2] -- register_copy + //SEG26 [5] phi (byte) bc#2 = (byte) bc#13 [phi:main::@7->main::@1#3] -- register_copy + //SEG27 [5] phi (byte) bb#16 = (byte) bb#13 [phi:main::@7->main::@1#4] -- register_copy + jmp b1 +} +//SEG28 f0 +f0: { + //SEG29 [9] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto f0::@1 -- vbuz1_neq_0_then_la1 + lda ba + cmp #0 + bne b1_from_f0 + jmp b11 + //SEG30 f0::@11 + b11: + //SEG31 [10] (byte) bb#3 ← ++ (byte) bb#16 -- vbuz1=_inc_vbuz1 + inc bb + //SEG32 [11] (byte~) bb#101 ← (byte) bb#3 -- vbuz1=vbuz2 + lda bb + sta bb_101 + //SEG33 [12] call fa + //SEG34 [59] phi from f0::@11 to fa [phi:f0::@11->fa] + fa_from_b11: + //SEG35 [59] phi (byte) be#107 = (byte) be#2 [phi:f0::@11->fa#0] -- register_copy + //SEG36 [59] phi (byte) bd#138 = (byte) bd#2 [phi:f0::@11->fa#1] -- register_copy + //SEG37 [59] phi (byte) bc#39 = (byte) bc#2 [phi:f0::@11->fa#2] -- register_copy + //SEG38 [59] phi (byte) bb#27 = (byte~) bb#101 [phi:f0::@11->fa#3] -- register_copy + jsr fa + //SEG39 [13] phi from f0 f0::@11 to f0::@1 [phi:f0/f0::@11->f0::@1] + b1_from_f0: + b1_from_b11: + //SEG40 [13] phi (byte) be#142 = (byte) be#2 [phi:f0/f0::@11->f0::@1#0] -- register_copy + //SEG41 [13] phi (byte) bd#129 = (byte) bd#2 [phi:f0/f0::@11->f0::@1#1] -- register_copy + //SEG42 [13] phi (byte) bc#63 = (byte) bc#2 [phi:f0/f0::@11->f0::@1#2] -- register_copy + //SEG43 [13] phi (byte) bb#18 = (byte) bb#16 [phi:f0/f0::@11->f0::@1#3] -- register_copy + jmp b1 + //SEG44 f0::@1 + b1: + //SEG45 [14] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 1) goto f0::@2 -- vbuz1_neq_vbuc1_then_la1 + lda ba + cmp #1 + bne b2_from_b1 + jmp b12 + //SEG46 f0::@12 + b12: + //SEG47 [15] (byte) bb#4 ← ++ (byte) bb#18 -- vbuz1=_inc_vbuz1 + inc bb + //SEG48 [16] (byte~) bb#102 ← (byte) bb#4 -- vbuz1=vbuz2 + lda bb + sta bb_102 + //SEG49 [17] call fa + //SEG50 [59] phi from f0::@12 to fa [phi:f0::@12->fa] + fa_from_b12: + //SEG51 [59] phi (byte) be#107 = (byte) be#142 [phi:f0::@12->fa#0] -- register_copy + //SEG52 [59] phi (byte) bd#138 = (byte) bd#129 [phi:f0::@12->fa#1] -- register_copy + //SEG53 [59] phi (byte) bc#39 = (byte) bc#63 [phi:f0::@12->fa#2] -- register_copy + //SEG54 [59] phi (byte) bb#27 = (byte~) bb#102 [phi:f0::@12->fa#3] -- register_copy + jsr fa + //SEG55 [18] phi from f0::@1 f0::@12 to f0::@2 [phi:f0::@1/f0::@12->f0::@2] + b2_from_b1: + b2_from_b12: + //SEG56 [18] phi (byte) be#143 = (byte) be#142 [phi:f0::@1/f0::@12->f0::@2#0] -- register_copy + //SEG57 [18] phi (byte) bd#130 = (byte) bd#129 [phi:f0::@1/f0::@12->f0::@2#1] -- register_copy + //SEG58 [18] phi (byte) bc#64 = (byte) bc#63 [phi:f0::@1/f0::@12->f0::@2#2] -- register_copy + //SEG59 [18] phi (byte) bb#19 = (byte) bb#18 [phi:f0::@1/f0::@12->f0::@2#3] -- register_copy + jmp b2 + //SEG60 f0::@2 + b2: + //SEG61 [19] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 2) goto f0::@3 -- vbuz1_neq_vbuc1_then_la1 + lda ba + cmp #2 + bne b3_from_b2 + jmp b13 + //SEG62 f0::@13 + b13: + //SEG63 [20] (byte) bb#5 ← ++ (byte) bb#19 -- vbuz1=_inc_vbuz1 + inc bb + //SEG64 [21] (byte~) bb#103 ← (byte) bb#5 -- vbuz1=vbuz2 + lda bb + sta bb_103 + //SEG65 [22] call fa + //SEG66 [59] phi from f0::@13 to fa [phi:f0::@13->fa] + fa_from_b13: + //SEG67 [59] phi (byte) be#107 = (byte) be#143 [phi:f0::@13->fa#0] -- register_copy + //SEG68 [59] phi (byte) bd#138 = (byte) bd#130 [phi:f0::@13->fa#1] -- register_copy + //SEG69 [59] phi (byte) bc#39 = (byte) bc#64 [phi:f0::@13->fa#2] -- register_copy + //SEG70 [59] phi (byte) bb#27 = (byte~) bb#103 [phi:f0::@13->fa#3] -- register_copy + jsr fa + //SEG71 [23] phi from f0::@13 f0::@2 to f0::@3 [phi:f0::@13/f0::@2->f0::@3] + b3_from_b13: + b3_from_b2: + //SEG72 [23] phi (byte) be#144 = (byte) be#24 [phi:f0::@13/f0::@2->f0::@3#0] -- register_copy + //SEG73 [23] phi (byte) bd#131 = (byte) bd#24 [phi:f0::@13/f0::@2->f0::@3#1] -- register_copy + //SEG74 [23] phi (byte) bc#65 = (byte) bc#24 [phi:f0::@13/f0::@2->f0::@3#2] -- register_copy + //SEG75 [23] phi (byte) bb#20 = (byte) bb#5 [phi:f0::@13/f0::@2->f0::@3#3] -- register_copy + jmp b3 + //SEG76 f0::@3 + b3: + //SEG77 [24] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto f0::@4 -- vbuz1_neq_vbuc1_then_la1 + lda ba + cmp #3 + bne b4_from_b3 + jmp b14 + //SEG78 f0::@14 + b14: + //SEG79 [25] (byte) bb#6 ← ++ (byte) bb#20 -- vbuz1=_inc_vbuz1 + inc bb + //SEG80 [26] (byte~) bb#104 ← (byte) bb#6 -- vbuz1=vbuz2 + lda bb + sta bb_104 + //SEG81 [27] call fa + //SEG82 [59] phi from f0::@14 to fa [phi:f0::@14->fa] + fa_from_b14: + //SEG83 [59] phi (byte) be#107 = (byte) be#144 [phi:f0::@14->fa#0] -- register_copy + //SEG84 [59] phi (byte) bd#138 = (byte) bd#131 [phi:f0::@14->fa#1] -- register_copy + //SEG85 [59] phi (byte) bc#39 = (byte) bc#65 [phi:f0::@14->fa#2] -- register_copy + //SEG86 [59] phi (byte) bb#27 = (byte~) bb#104 [phi:f0::@14->fa#3] -- register_copy + jsr fa + //SEG87 [28] phi from f0::@14 f0::@3 to f0::@4 [phi:f0::@14/f0::@3->f0::@4] + b4_from_b14: + b4_from_b3: + //SEG88 [28] phi (byte) be#100 = (byte) be#24 [phi:f0::@14/f0::@3->f0::@4#0] -- register_copy + //SEG89 [28] phi (byte) bd#132 = (byte) bd#24 [phi:f0::@14/f0::@3->f0::@4#1] -- register_copy + //SEG90 [28] phi (byte) bc#66 = (byte) bc#24 [phi:f0::@14/f0::@3->f0::@4#2] -- register_copy + //SEG91 [28] phi (byte) bb#21 = (byte) bb#6 [phi:f0::@14/f0::@3->f0::@4#3] -- register_copy + jmp b4 + //SEG92 f0::@4 + b4: + //SEG93 [29] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto f0::@5 -- vbuz1_neq_vbuc1_then_la1 + lda ba + cmp #4 + bne b5_from_b4 + jmp b15 + //SEG94 f0::@15 + b15: + //SEG95 [30] (byte) bb#66 ← ++ (byte) bb#21 -- vbuz1=_inc_vbuz1 + inc bb + //SEG96 [31] (byte~) bb#105 ← (byte) bb#66 -- vbuz1=vbuz2 + lda bb + sta bb_105 + //SEG97 [32] call fa + //SEG98 [59] phi from f0::@15 to fa [phi:f0::@15->fa] + fa_from_b15: + //SEG99 [59] phi (byte) be#107 = (byte) be#100 [phi:f0::@15->fa#0] -- register_copy + //SEG100 [59] phi (byte) bd#138 = (byte) bd#132 [phi:f0::@15->fa#1] -- register_copy + //SEG101 [59] phi (byte) bc#39 = (byte) bc#66 [phi:f0::@15->fa#2] -- register_copy + //SEG102 [59] phi (byte) bb#27 = (byte~) bb#105 [phi:f0::@15->fa#3] -- register_copy + jsr fa + //SEG103 [33] phi from f0::@15 f0::@4 to f0::@5 [phi:f0::@15/f0::@4->f0::@5] + b5_from_b15: + b5_from_b4: + //SEG104 [33] phi (byte) be#101 = (byte) be#24 [phi:f0::@15/f0::@4->f0::@5#0] -- register_copy + //SEG105 [33] phi (byte) bd#133 = (byte) bd#24 [phi:f0::@15/f0::@4->f0::@5#1] -- register_copy + //SEG106 [33] phi (byte) bc#100 = (byte) bc#24 [phi:f0::@15/f0::@4->f0::@5#2] -- register_copy + //SEG107 [33] phi (byte) bb#22 = (byte) bb#66 [phi:f0::@15/f0::@4->f0::@5#3] -- register_copy + jmp b5 + //SEG108 f0::@5 + b5: + //SEG109 [34] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 5) goto f0::@6 -- vbuz1_neq_vbuc1_then_la1 + lda ba + cmp #5 + bne b6_from_b5 + jmp b16 + //SEG110 f0::@16 + b16: + //SEG111 [35] (byte) bb#67 ← ++ (byte) bb#22 -- vbuz1=_inc_vbuz1 + inc bb + //SEG112 [36] (byte~) bb#106 ← (byte) bb#67 -- vbuz1=vbuz2 + lda bb + sta bb_106 + //SEG113 [37] call fa + //SEG114 [59] phi from f0::@16 to fa [phi:f0::@16->fa] + fa_from_b16: + //SEG115 [59] phi (byte) be#107 = (byte) be#101 [phi:f0::@16->fa#0] -- register_copy + //SEG116 [59] phi (byte) bd#138 = (byte) bd#133 [phi:f0::@16->fa#1] -- register_copy + //SEG117 [59] phi (byte) bc#39 = (byte) bc#100 [phi:f0::@16->fa#2] -- register_copy + //SEG118 [59] phi (byte) bb#27 = (byte~) bb#106 [phi:f0::@16->fa#3] -- register_copy + jsr fa + //SEG119 [38] phi from f0::@16 f0::@5 to f0::@6 [phi:f0::@16/f0::@5->f0::@6] + b6_from_b16: + b6_from_b5: + //SEG120 [38] phi (byte) be#102 = (byte) be#24 [phi:f0::@16/f0::@5->f0::@6#0] -- register_copy + //SEG121 [38] phi (byte) bd#134 = (byte) bd#24 [phi:f0::@16/f0::@5->f0::@6#1] -- register_copy + //SEG122 [38] phi (byte) bc#101 = (byte) bc#24 [phi:f0::@16/f0::@5->f0::@6#2] -- register_copy + //SEG123 [38] phi (byte) bb#23 = (byte) bb#67 [phi:f0::@16/f0::@5->f0::@6#3] -- register_copy + jmp b6 + //SEG124 f0::@6 + b6: + //SEG125 [39] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 6) goto f0::@7 -- vbuz1_neq_vbuc1_then_la1 + lda ba + cmp #6 + bne b7_from_b6 + jmp b17 + //SEG126 f0::@17 + b17: + //SEG127 [40] (byte) bb#68 ← ++ (byte) bb#23 -- vbuz1=_inc_vbuz1 + inc bb + //SEG128 [41] (byte~) bb#107 ← (byte) bb#68 -- vbuz1=vbuz2 + lda bb + sta bb_107 + //SEG129 [42] call fa + //SEG130 [59] phi from f0::@17 to fa [phi:f0::@17->fa] + fa_from_b17: + //SEG131 [59] phi (byte) be#107 = (byte) be#102 [phi:f0::@17->fa#0] -- register_copy + //SEG132 [59] phi (byte) bd#138 = (byte) bd#134 [phi:f0::@17->fa#1] -- register_copy + //SEG133 [59] phi (byte) bc#39 = (byte) bc#101 [phi:f0::@17->fa#2] -- register_copy + //SEG134 [59] phi (byte) bb#27 = (byte~) bb#107 [phi:f0::@17->fa#3] -- register_copy + jsr fa + //SEG135 [43] phi from f0::@17 f0::@6 to f0::@7 [phi:f0::@17/f0::@6->f0::@7] + b7_from_b17: + b7_from_b6: + //SEG136 [43] phi (byte) be#103 = (byte) be#24 [phi:f0::@17/f0::@6->f0::@7#0] -- register_copy + //SEG137 [43] phi (byte) bd#135 = (byte) bd#24 [phi:f0::@17/f0::@6->f0::@7#1] -- register_copy + //SEG138 [43] phi (byte) bc#102 = (byte) bc#24 [phi:f0::@17/f0::@6->f0::@7#2] -- register_copy + //SEG139 [43] phi (byte) bb#24 = (byte) bb#68 [phi:f0::@17/f0::@6->f0::@7#3] -- register_copy + jmp b7 + //SEG140 f0::@7 + b7: + //SEG141 [44] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto f0::@8 -- vbuz1_neq_vbuc1_then_la1 + lda ba + cmp #7 + bne b8_from_b7 + jmp b18 + //SEG142 f0::@18 + b18: + //SEG143 [45] (byte) bb#10 ← ++ (byte) bb#24 -- vbuz1=_inc_vbuz1 + inc bb + //SEG144 [46] (byte~) bb#108 ← (byte) bb#10 -- vbuz1=vbuz2 + lda bb + sta bb_108 + //SEG145 [47] call fa + //SEG146 [59] phi from f0::@18 to fa [phi:f0::@18->fa] + fa_from_b18: + //SEG147 [59] phi (byte) be#107 = (byte) be#103 [phi:f0::@18->fa#0] -- register_copy + //SEG148 [59] phi (byte) bd#138 = (byte) bd#135 [phi:f0::@18->fa#1] -- register_copy + //SEG149 [59] phi (byte) bc#39 = (byte) bc#102 [phi:f0::@18->fa#2] -- register_copy + //SEG150 [59] phi (byte) bb#27 = (byte~) bb#108 [phi:f0::@18->fa#3] -- register_copy + jsr fa + //SEG151 [48] phi from f0::@18 f0::@7 to f0::@8 [phi:f0::@18/f0::@7->f0::@8] + b8_from_b18: + b8_from_b7: + //SEG152 [48] phi (byte) be#104 = (byte) be#24 [phi:f0::@18/f0::@7->f0::@8#0] -- register_copy + //SEG153 [48] phi (byte) bd#136 = (byte) bd#24 [phi:f0::@18/f0::@7->f0::@8#1] -- register_copy + //SEG154 [48] phi (byte) bc#103 = (byte) bc#24 [phi:f0::@18/f0::@7->f0::@8#2] -- register_copy + //SEG155 [48] phi (byte) bb#25 = (byte) bb#10 [phi:f0::@18/f0::@7->f0::@8#3] -- register_copy + jmp b8 + //SEG156 f0::@8 + b8: + //SEG157 [49] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto f0::@9 -- vbuz1_neq_vbuc1_then_la1 + lda ba + cmp #8 + bne b9_from_b8 + jmp b19 + //SEG158 f0::@19 + b19: + //SEG159 [50] (byte) bb#11 ← ++ (byte) bb#25 -- vbuz1=_inc_vbuz1 + inc bb + //SEG160 [51] (byte~) bb#109 ← (byte) bb#11 -- vbuz1=vbuz2 + lda bb + sta bb_109 + //SEG161 [52] call fa + //SEG162 [59] phi from f0::@19 to fa [phi:f0::@19->fa] + fa_from_b19: + //SEG163 [59] phi (byte) be#107 = (byte) be#104 [phi:f0::@19->fa#0] -- register_copy + //SEG164 [59] phi (byte) bd#138 = (byte) bd#136 [phi:f0::@19->fa#1] -- register_copy + //SEG165 [59] phi (byte) bc#39 = (byte) bc#103 [phi:f0::@19->fa#2] -- register_copy + //SEG166 [59] phi (byte) bb#27 = (byte~) bb#109 [phi:f0::@19->fa#3] -- register_copy + jsr fa + //SEG167 [53] phi from f0::@19 f0::@8 to f0::@9 [phi:f0::@19/f0::@8->f0::@9] + b9_from_b19: + b9_from_b8: + //SEG168 [53] phi (byte) be#105 = (byte) be#24 [phi:f0::@19/f0::@8->f0::@9#0] -- register_copy + //SEG169 [53] phi (byte) bd#137 = (byte) bd#24 [phi:f0::@19/f0::@8->f0::@9#1] -- register_copy + //SEG170 [53] phi (byte) bc#104 = (byte) bc#24 [phi:f0::@19/f0::@8->f0::@9#2] -- register_copy + //SEG171 [53] phi (byte) bb#49 = (byte) bb#11 [phi:f0::@19/f0::@8->f0::@9#3] -- register_copy + jmp b9 + //SEG172 f0::@9 + b9: + //SEG173 [54] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 9) goto f0::@return -- vbuz1_neq_vbuc1_then_la1 + lda ba + cmp #9 + bne breturn_from_b9 + //SEG174 [55] phi from f0::@9 to f0::@20 [phi:f0::@9->f0::@20] + b20_from_b9: + jmp b20 + //SEG175 f0::@20 + b20: + //SEG176 [56] call fa + //SEG177 [59] phi from f0::@20 to fa [phi:f0::@20->fa] + fa_from_b20: + //SEG178 [59] phi (byte) be#107 = (byte) be#105 [phi:f0::@20->fa#0] -- register_copy + //SEG179 [59] phi (byte) bd#138 = (byte) bd#137 [phi:f0::@20->fa#1] -- register_copy + //SEG180 [59] phi (byte) bc#39 = (byte) bc#104 [phi:f0::@20->fa#2] -- register_copy + //SEG181 [59] phi (byte) bb#27 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:f0::@20->fa#3] -- vbuz1=vbuc1 + lda #0 + sta bb_27 + jsr fa + //SEG182 [57] phi from f0::@20 to f0::@return [phi:f0::@20->f0::@return] + breturn_from_b20: + //SEG183 [57] phi (byte) be#13 = (byte) be#24 [phi:f0::@20->f0::@return#0] -- register_copy + //SEG184 [57] phi (byte) bd#13 = (byte) bd#24 [phi:f0::@20->f0::@return#1] -- register_copy + //SEG185 [57] phi (byte) bc#13 = (byte) bc#24 [phi:f0::@20->f0::@return#2] -- register_copy + //SEG186 [57] phi (byte) bb#13 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:f0::@20->f0::@return#3] -- vbuz1=vbuc1 + lda #0 + sta bb + jmp breturn + //SEG187 [57] phi from f0::@9 to f0::@return [phi:f0::@9->f0::@return] + breturn_from_b9: + //SEG188 [57] phi (byte) be#13 = (byte) be#105 [phi:f0::@9->f0::@return#0] -- register_copy + //SEG189 [57] phi (byte) bd#13 = (byte) bd#137 [phi:f0::@9->f0::@return#1] -- register_copy + //SEG190 [57] phi (byte) bc#13 = (byte) bc#104 [phi:f0::@9->f0::@return#2] -- register_copy + //SEG191 [57] phi (byte) bb#13 = (byte) bb#49 [phi:f0::@9->f0::@return#3] -- register_copy + jmp breturn + //SEG192 f0::@return + breturn: + //SEG193 [58] return + rts +} +//SEG194 fa +fa: { + //SEG195 [60] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto fa::@1 -- vbuz1_neq_0_then_la1 + lda bb_27 + cmp #0 + bne b1_from_fa + jmp b11 + //SEG196 fa::@11 + b11: + //SEG197 [61] (byte) bc#105 ← ++ (byte) bc#39 -- vbuz1=_inc_vbuz1 + inc bc + //SEG198 [62] (byte~) bc#174 ← (byte) bc#105 -- vbuz1=vbuz2 + lda bc + sta bc_174 + //SEG199 [63] call fb + //SEG200 [110] phi from fa::@11 to fb [phi:fa::@11->fb] + fb_from_b11: + //SEG201 [110] phi (byte) be#118 = (byte) be#107 [phi:fa::@11->fb#0] -- register_copy + //SEG202 [110] phi (byte) bd#106 = (byte) bd#138 [phi:fa::@11->fb#1] -- register_copy + //SEG203 [110] phi (byte) bc#114 = (byte~) bc#174 [phi:fa::@11->fb#2] -- register_copy + jsr fb + //SEG204 [64] phi from fa fa::@11 to fa::@1 [phi:fa/fa::@11->fa::@1] + b1_from_fa: + b1_from_b11: + //SEG205 [64] phi (byte) be#108 = (byte) be#107 [phi:fa/fa::@11->fa::@1#0] -- register_copy + //SEG206 [64] phi (byte) bd#139 = (byte) bd#138 [phi:fa/fa::@11->fa::@1#1] -- register_copy + //SEG207 [64] phi (byte) bc#40 = (byte) bc#39 [phi:fa/fa::@11->fa::@1#2] -- register_copy + jmp b1 + //SEG208 fa::@1 + b1: + //SEG209 [65] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 1) goto fa::@2 -- vbuz1_neq_vbuc1_then_la1 + lda bb_27 + cmp #1 + bne b2_from_b1 + jmp b12 + //SEG210 fa::@12 + b12: + //SEG211 [66] (byte) bc#106 ← ++ (byte) bc#40 -- vbuz1=_inc_vbuz1 + inc bc + //SEG212 [67] (byte~) bc#175 ← (byte) bc#106 -- vbuz1=vbuz2 + lda bc + sta bc_175 + //SEG213 [68] call fb + //SEG214 [110] phi from fa::@12 to fb [phi:fa::@12->fb] + fb_from_b12: + //SEG215 [110] phi (byte) be#118 = (byte) be#108 [phi:fa::@12->fb#0] -- register_copy + //SEG216 [110] phi (byte) bd#106 = (byte) bd#139 [phi:fa::@12->fb#1] -- register_copy + //SEG217 [110] phi (byte) bc#114 = (byte~) bc#175 [phi:fa::@12->fb#2] -- register_copy + jsr fb + //SEG218 [69] phi from fa::@1 fa::@12 to fa::@2 [phi:fa::@1/fa::@12->fa::@2] + b2_from_b1: + b2_from_b12: + //SEG219 [69] phi (byte) be#109 = (byte) be#108 [phi:fa::@1/fa::@12->fa::@2#0] -- register_copy + //SEG220 [69] phi (byte) bd#140 = (byte) bd#139 [phi:fa::@1/fa::@12->fa::@2#1] -- register_copy + //SEG221 [69] phi (byte) bc#41 = (byte) bc#40 [phi:fa::@1/fa::@12->fa::@2#2] -- register_copy + jmp b2 + //SEG222 fa::@2 + b2: + //SEG223 [70] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 2) goto fa::@3 -- vbuz1_neq_vbuc1_then_la1 + lda bb_27 + cmp #2 + bne b3_from_b2 + jmp b13 + //SEG224 fa::@13 + b13: + //SEG225 [71] (byte) bc#107 ← ++ (byte) bc#41 -- vbuz1=_inc_vbuz1 + inc bc + //SEG226 [72] (byte~) bc#176 ← (byte) bc#107 -- vbuz1=vbuz2 + lda bc + sta bc_176 + //SEG227 [73] call fb + //SEG228 [110] phi from fa::@13 to fb [phi:fa::@13->fb] + fb_from_b13: + //SEG229 [110] phi (byte) be#118 = (byte) be#109 [phi:fa::@13->fb#0] -- register_copy + //SEG230 [110] phi (byte) bd#106 = (byte) bd#140 [phi:fa::@13->fb#1] -- register_copy + //SEG231 [110] phi (byte) bc#114 = (byte~) bc#176 [phi:fa::@13->fb#2] -- register_copy + jsr fb + //SEG232 [74] phi from fa::@13 fa::@2 to fa::@3 [phi:fa::@13/fa::@2->fa::@3] + b3_from_b13: + b3_from_b2: + //SEG233 [74] phi (byte) be#110 = (byte) be#35 [phi:fa::@13/fa::@2->fa::@3#0] -- register_copy + //SEG234 [74] phi (byte) bd#141 = (byte) bd#35 [phi:fa::@13/fa::@2->fa::@3#1] -- register_copy + //SEG235 [74] phi (byte) bc#42 = (byte) bc#107 [phi:fa::@13/fa::@2->fa::@3#2] -- register_copy + jmp b3 + //SEG236 fa::@3 + b3: + //SEG237 [75] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto fa::@4 -- vbuz1_neq_vbuc1_then_la1 + lda bb_27 + cmp #3 + bne b4_from_b3 + jmp b14 + //SEG238 fa::@14 + b14: + //SEG239 [76] (byte) bc#108 ← ++ (byte) bc#42 -- vbuz1=_inc_vbuz1 + inc bc + //SEG240 [77] (byte~) bc#177 ← (byte) bc#108 -- vbuz1=vbuz2 + lda bc + sta bc_177 + //SEG241 [78] call fb + //SEG242 [110] phi from fa::@14 to fb [phi:fa::@14->fb] + fb_from_b14: + //SEG243 [110] phi (byte) be#118 = (byte) be#110 [phi:fa::@14->fb#0] -- register_copy + //SEG244 [110] phi (byte) bd#106 = (byte) bd#141 [phi:fa::@14->fb#1] -- register_copy + //SEG245 [110] phi (byte) bc#114 = (byte~) bc#177 [phi:fa::@14->fb#2] -- register_copy + jsr fb + //SEG246 [79] phi from fa::@14 fa::@3 to fa::@4 [phi:fa::@14/fa::@3->fa::@4] + b4_from_b14: + b4_from_b3: + //SEG247 [79] phi (byte) be#111 = (byte) be#35 [phi:fa::@14/fa::@3->fa::@4#0] -- register_copy + //SEG248 [79] phi (byte) bd#142 = (byte) bd#35 [phi:fa::@14/fa::@3->fa::@4#1] -- register_copy + //SEG249 [79] phi (byte) bc#43 = (byte) bc#108 [phi:fa::@14/fa::@3->fa::@4#2] -- register_copy + jmp b4 + //SEG250 fa::@4 + b4: + //SEG251 [80] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto fa::@5 -- vbuz1_neq_vbuc1_then_la1 + lda bb_27 + cmp #4 + bne b5_from_b4 + jmp b15 + //SEG252 fa::@15 + b15: + //SEG253 [81] (byte) bc#109 ← ++ (byte) bc#43 -- vbuz1=_inc_vbuz1 + inc bc + //SEG254 [82] (byte~) bc#178 ← (byte) bc#109 -- vbuz1=vbuz2 + lda bc + sta bc_178 + //SEG255 [83] call fb + //SEG256 [110] phi from fa::@15 to fb [phi:fa::@15->fb] + fb_from_b15: + //SEG257 [110] phi (byte) be#118 = (byte) be#111 [phi:fa::@15->fb#0] -- register_copy + //SEG258 [110] phi (byte) bd#106 = (byte) bd#142 [phi:fa::@15->fb#1] -- register_copy + //SEG259 [110] phi (byte) bc#114 = (byte~) bc#178 [phi:fa::@15->fb#2] -- register_copy + jsr fb + //SEG260 [84] phi from fa::@15 fa::@4 to fa::@5 [phi:fa::@15/fa::@4->fa::@5] + b5_from_b15: + b5_from_b4: + //SEG261 [84] phi (byte) be#112 = (byte) be#35 [phi:fa::@15/fa::@4->fa::@5#0] -- register_copy + //SEG262 [84] phi (byte) bd#100 = (byte) bd#35 [phi:fa::@15/fa::@4->fa::@5#1] -- register_copy + //SEG263 [84] phi (byte) bc#44 = (byte) bc#109 [phi:fa::@15/fa::@4->fa::@5#2] -- register_copy + jmp b5 + //SEG264 fa::@5 + b5: + //SEG265 [85] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 5) goto fa::@6 -- vbuz1_neq_vbuc1_then_la1 + lda bb_27 + cmp #5 + bne b6_from_b5 + jmp b16 + //SEG266 fa::@16 + b16: + //SEG267 [86] (byte) bc#110 ← ++ (byte) bc#44 -- vbuz1=_inc_vbuz1 + inc bc + //SEG268 [87] (byte~) bc#179 ← (byte) bc#110 -- vbuz1=vbuz2 + lda bc + sta bc_179 + //SEG269 [88] call fb + //SEG270 [110] phi from fa::@16 to fb [phi:fa::@16->fb] + fb_from_b16: + //SEG271 [110] phi (byte) be#118 = (byte) be#112 [phi:fa::@16->fb#0] -- register_copy + //SEG272 [110] phi (byte) bd#106 = (byte) bd#100 [phi:fa::@16->fb#1] -- register_copy + //SEG273 [110] phi (byte) bc#114 = (byte~) bc#179 [phi:fa::@16->fb#2] -- register_copy + jsr fb + //SEG274 [89] phi from fa::@16 fa::@5 to fa::@6 [phi:fa::@16/fa::@5->fa::@6] + b6_from_b16: + b6_from_b5: + //SEG275 [89] phi (byte) be#113 = (byte) be#35 [phi:fa::@16/fa::@5->fa::@6#0] -- register_copy + //SEG276 [89] phi (byte) bd#101 = (byte) bd#35 [phi:fa::@16/fa::@5->fa::@6#1] -- register_copy + //SEG277 [89] phi (byte) bc#45 = (byte) bc#110 [phi:fa::@16/fa::@5->fa::@6#2] -- register_copy + jmp b6 + //SEG278 fa::@6 + b6: + //SEG279 [90] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 6) goto fa::@7 -- vbuz1_neq_vbuc1_then_la1 + lda bb_27 + cmp #6 + bne b7_from_b6 + jmp b17 + //SEG280 fa::@17 + b17: + //SEG281 [91] (byte) bc#111 ← ++ (byte) bc#45 -- vbuz1=_inc_vbuz1 + inc bc + //SEG282 [92] (byte~) bc#180 ← (byte) bc#111 -- vbuz1=vbuz2 + lda bc + sta bc_180 + //SEG283 [93] call fb + //SEG284 [110] phi from fa::@17 to fb [phi:fa::@17->fb] + fb_from_b17: + //SEG285 [110] phi (byte) be#118 = (byte) be#113 [phi:fa::@17->fb#0] -- register_copy + //SEG286 [110] phi (byte) bd#106 = (byte) bd#101 [phi:fa::@17->fb#1] -- register_copy + //SEG287 [110] phi (byte) bc#114 = (byte~) bc#180 [phi:fa::@17->fb#2] -- register_copy + jsr fb + //SEG288 [94] phi from fa::@17 fa::@6 to fa::@7 [phi:fa::@17/fa::@6->fa::@7] + b7_from_b17: + b7_from_b6: + //SEG289 [94] phi (byte) be#114 = (byte) be#35 [phi:fa::@17/fa::@6->fa::@7#0] -- register_copy + //SEG290 [94] phi (byte) bd#102 = (byte) bd#35 [phi:fa::@17/fa::@6->fa::@7#1] -- register_copy + //SEG291 [94] phi (byte) bc#46 = (byte) bc#111 [phi:fa::@17/fa::@6->fa::@7#2] -- register_copy + jmp b7 + //SEG292 fa::@7 + b7: + //SEG293 [95] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto fa::@8 -- vbuz1_neq_vbuc1_then_la1 + lda bb_27 + cmp #7 + bne b8_from_b7 + jmp b18 + //SEG294 fa::@18 + b18: + //SEG295 [96] (byte) bc#112 ← ++ (byte) bc#46 -- vbuz1=_inc_vbuz1 + inc bc + //SEG296 [97] (byte~) bc#181 ← (byte) bc#112 -- vbuz1=vbuz2 + lda bc + sta bc_181 + //SEG297 [98] call fb + //SEG298 [110] phi from fa::@18 to fb [phi:fa::@18->fb] + fb_from_b18: + //SEG299 [110] phi (byte) be#118 = (byte) be#114 [phi:fa::@18->fb#0] -- register_copy + //SEG300 [110] phi (byte) bd#106 = (byte) bd#102 [phi:fa::@18->fb#1] -- register_copy + //SEG301 [110] phi (byte) bc#114 = (byte~) bc#181 [phi:fa::@18->fb#2] -- register_copy + jsr fb + //SEG302 [99] phi from fa::@18 fa::@7 to fa::@8 [phi:fa::@18/fa::@7->fa::@8] + b8_from_b18: + b8_from_b7: + //SEG303 [99] phi (byte) be#115 = (byte) be#35 [phi:fa::@18/fa::@7->fa::@8#0] -- register_copy + //SEG304 [99] phi (byte) bd#103 = (byte) bd#35 [phi:fa::@18/fa::@7->fa::@8#1] -- register_copy + //SEG305 [99] phi (byte) bc#47 = (byte) bc#112 [phi:fa::@18/fa::@7->fa::@8#2] -- register_copy + jmp b8 + //SEG306 fa::@8 + b8: + //SEG307 [100] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto fa::@9 -- vbuz1_neq_vbuc1_then_la1 + lda bb_27 + cmp #8 + bne b9_from_b8 + jmp b19 + //SEG308 fa::@19 + b19: + //SEG309 [101] (byte) bc#123 ← ++ (byte) bc#47 -- vbuz1=_inc_vbuz1 + inc bc + //SEG310 [102] (byte~) bc#182 ← (byte) bc#123 -- vbuz1=vbuz2 + lda bc + sta bc_182 + //SEG311 [103] call fb + //SEG312 [110] phi from fa::@19 to fb [phi:fa::@19->fb] + fb_from_b19: + //SEG313 [110] phi (byte) be#118 = (byte) be#115 [phi:fa::@19->fb#0] -- register_copy + //SEG314 [110] phi (byte) bd#106 = (byte) bd#103 [phi:fa::@19->fb#1] -- register_copy + //SEG315 [110] phi (byte) bc#114 = (byte~) bc#182 [phi:fa::@19->fb#2] -- register_copy + jsr fb + //SEG316 [104] phi from fa::@19 fa::@8 to fa::@9 [phi:fa::@19/fa::@8->fa::@9] + b9_from_b19: + b9_from_b8: + //SEG317 [104] phi (byte) be#116 = (byte) be#35 [phi:fa::@19/fa::@8->fa::@9#0] -- register_copy + //SEG318 [104] phi (byte) bd#104 = (byte) bd#35 [phi:fa::@19/fa::@8->fa::@9#1] -- register_copy + //SEG319 [104] phi (byte) bc#113 = (byte) bc#123 [phi:fa::@19/fa::@8->fa::@9#2] -- register_copy + jmp b9 + //SEG320 fa::@9 + b9: + //SEG321 [105] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 9) goto fa::@return -- vbuz1_neq_vbuc1_then_la1 + lda bb_27 + cmp #9 + bne breturn_from_b9 + //SEG322 [106] phi from fa::@9 to fa::@20 [phi:fa::@9->fa::@20] + b20_from_b9: + jmp b20 + //SEG323 fa::@20 + b20: + //SEG324 [107] call fb + //SEG325 [110] phi from fa::@20 to fb [phi:fa::@20->fb] + fb_from_b20: + //SEG326 [110] phi (byte) be#118 = (byte) be#116 [phi:fa::@20->fb#0] -- register_copy + //SEG327 [110] phi (byte) bd#106 = (byte) bd#104 [phi:fa::@20->fb#1] -- register_copy + //SEG328 [110] phi (byte) bc#114 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:fa::@20->fb#2] -- vbuz1=vbuc1 + lda #0 + sta bc_114 + jsr fb + //SEG329 [108] phi from fa::@20 to fa::@return [phi:fa::@20->fa::@return] + breturn_from_b20: + //SEG330 [108] phi (byte) be#24 = (byte) be#35 [phi:fa::@20->fa::@return#0] -- register_copy + //SEG331 [108] phi (byte) bd#24 = (byte) bd#35 [phi:fa::@20->fa::@return#1] -- register_copy + //SEG332 [108] phi (byte) bc#24 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:fa::@20->fa::@return#2] -- vbuz1=vbuc1 + lda #0 + sta bc + jmp breturn + //SEG333 [108] phi from fa::@9 to fa::@return [phi:fa::@9->fa::@return] + breturn_from_b9: + //SEG334 [108] phi (byte) be#24 = (byte) be#116 [phi:fa::@9->fa::@return#0] -- register_copy + //SEG335 [108] phi (byte) bd#24 = (byte) bd#104 [phi:fa::@9->fa::@return#1] -- register_copy + //SEG336 [108] phi (byte) bc#24 = (byte) bc#113 [phi:fa::@9->fa::@return#2] -- register_copy + jmp breturn + //SEG337 fa::@return + breturn: + //SEG338 [109] return + rts +} +//SEG339 fb +fb: { + //SEG340 [111] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto fb::@1 -- vbuz1_neq_0_then_la1 + lda bc_114 + cmp #0 + bne b1_from_fb + jmp b11 + //SEG341 fb::@11 + b11: + //SEG342 [112] (byte) bd#148 ← ++ (byte) bd#106 -- vbuz1=_inc_vbuz1 + inc bd + //SEG343 [113] (byte~) bd#238 ← (byte) bd#148 -- vbuz1=vbuz2 + lda bd + sta bd_238 + //SEG344 [114] call fc + //SEG345 [161] phi from fb::@11 to fc [phi:fb::@11->fc] + fc_from_b11: + //SEG346 [161] phi (byte) be#129 = (byte) be#118 [phi:fb::@11->fc#0] -- register_copy + //SEG347 [161] phi (byte) bd#117 = (byte~) bd#238 [phi:fb::@11->fc#1] -- register_copy + jsr fc + //SEG348 [115] phi from fb fb::@11 to fb::@1 [phi:fb/fb::@11->fb::@1] + b1_from_fb: + b1_from_b11: + //SEG349 [115] phi (byte) be#119 = (byte) be#118 [phi:fb/fb::@11->fb::@1#0] -- register_copy + //SEG350 [115] phi (byte) bd#107 = (byte) bd#106 [phi:fb/fb::@11->fb::@1#1] -- register_copy + jmp b1 + //SEG351 fb::@1 + b1: + //SEG352 [116] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 1) goto fb::@2 -- vbuz1_neq_vbuc1_then_la1 + lda bc_114 + cmp #1 + bne b2_from_b1 + jmp b12 + //SEG353 fb::@12 + b12: + //SEG354 [117] (byte) bd#149 ← ++ (byte) bd#107 -- vbuz1=_inc_vbuz1 + inc bd + //SEG355 [118] (byte~) bd#239 ← (byte) bd#149 -- vbuz1=vbuz2 + lda bd + sta bd_239 + //SEG356 [119] call fc + //SEG357 [161] phi from fb::@12 to fc [phi:fb::@12->fc] + fc_from_b12: + //SEG358 [161] phi (byte) be#129 = (byte) be#119 [phi:fb::@12->fc#0] -- register_copy + //SEG359 [161] phi (byte) bd#117 = (byte~) bd#239 [phi:fb::@12->fc#1] -- register_copy + jsr fc + //SEG360 [120] phi from fb::@1 fb::@12 to fb::@2 [phi:fb::@1/fb::@12->fb::@2] + b2_from_b1: + b2_from_b12: + //SEG361 [120] phi (byte) be#120 = (byte) be#119 [phi:fb::@1/fb::@12->fb::@2#0] -- register_copy + //SEG362 [120] phi (byte) bd#108 = (byte) bd#107 [phi:fb::@1/fb::@12->fb::@2#1] -- register_copy + jmp b2 + //SEG363 fb::@2 + b2: + //SEG364 [121] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 2) goto fb::@3 -- vbuz1_neq_vbuc1_then_la1 + lda bc_114 + cmp #2 + bne b3_from_b2 + jmp b13 + //SEG365 fb::@13 + b13: + //SEG366 [122] (byte) bd#150 ← ++ (byte) bd#108 -- vbuz1=_inc_vbuz1 + inc bd + //SEG367 [123] (byte~) bd#240 ← (byte) bd#150 -- vbuz1=vbuz2 + lda bd + sta bd_240 + //SEG368 [124] call fc + //SEG369 [161] phi from fb::@13 to fc [phi:fb::@13->fc] + fc_from_b13: + //SEG370 [161] phi (byte) be#129 = (byte) be#120 [phi:fb::@13->fc#0] -- register_copy + //SEG371 [161] phi (byte) bd#117 = (byte~) bd#240 [phi:fb::@13->fc#1] -- register_copy + jsr fc + //SEG372 [125] phi from fb::@13 fb::@2 to fb::@3 [phi:fb::@13/fb::@2->fb::@3] + b3_from_b13: + b3_from_b2: + //SEG373 [125] phi (byte) be#121 = (byte) be#46 [phi:fb::@13/fb::@2->fb::@3#0] -- register_copy + //SEG374 [125] phi (byte) bd#109 = (byte) bd#150 [phi:fb::@13/fb::@2->fb::@3#1] -- register_copy + jmp b3 + //SEG375 fb::@3 + b3: + //SEG376 [126] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto fb::@4 -- vbuz1_neq_vbuc1_then_la1 + lda bc_114 + cmp #3 + bne b4_from_b3 + jmp b14 + //SEG377 fb::@14 + b14: + //SEG378 [127] (byte) bd#151 ← ++ (byte) bd#109 -- vbuz1=_inc_vbuz1 + inc bd + //SEG379 [128] (byte~) bd#241 ← (byte) bd#151 -- vbuz1=vbuz2 + lda bd + sta bd_241 + //SEG380 [129] call fc + //SEG381 [161] phi from fb::@14 to fc [phi:fb::@14->fc] + fc_from_b14: + //SEG382 [161] phi (byte) be#129 = (byte) be#121 [phi:fb::@14->fc#0] -- register_copy + //SEG383 [161] phi (byte) bd#117 = (byte~) bd#241 [phi:fb::@14->fc#1] -- register_copy + jsr fc + //SEG384 [130] phi from fb::@14 fb::@3 to fb::@4 [phi:fb::@14/fb::@3->fb::@4] + b4_from_b14: + b4_from_b3: + //SEG385 [130] phi (byte) be#122 = (byte) be#46 [phi:fb::@14/fb::@3->fb::@4#0] -- register_copy + //SEG386 [130] phi (byte) bd#110 = (byte) bd#151 [phi:fb::@14/fb::@3->fb::@4#1] -- register_copy + jmp b4 + //SEG387 fb::@4 + b4: + //SEG388 [131] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto fb::@5 -- vbuz1_neq_vbuc1_then_la1 + lda bc_114 + cmp #4 + bne b5_from_b4 + jmp b15 + //SEG389 fb::@15 + b15: + //SEG390 [132] (byte) bd#152 ← ++ (byte) bd#110 -- vbuz1=_inc_vbuz1 + inc bd + //SEG391 [133] (byte~) bd#242 ← (byte) bd#152 -- vbuz1=vbuz2 + lda bd + sta bd_242 + //SEG392 [134] call fc + //SEG393 [161] phi from fb::@15 to fc [phi:fb::@15->fc] + fc_from_b15: + //SEG394 [161] phi (byte) be#129 = (byte) be#122 [phi:fb::@15->fc#0] -- register_copy + //SEG395 [161] phi (byte) bd#117 = (byte~) bd#242 [phi:fb::@15->fc#1] -- register_copy + jsr fc + //SEG396 [135] phi from fb::@15 fb::@4 to fb::@5 [phi:fb::@15/fb::@4->fb::@5] + b5_from_b15: + b5_from_b4: + //SEG397 [135] phi (byte) be#123 = (byte) be#46 [phi:fb::@15/fb::@4->fb::@5#0] -- register_copy + //SEG398 [135] phi (byte) bd#111 = (byte) bd#152 [phi:fb::@15/fb::@4->fb::@5#1] -- register_copy + jmp b5 + //SEG399 fb::@5 + b5: + //SEG400 [136] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 5) goto fb::@6 -- vbuz1_neq_vbuc1_then_la1 + lda bc_114 + cmp #5 + bne b6_from_b5 + jmp b16 + //SEG401 fb::@16 + b16: + //SEG402 [137] (byte) bd#153 ← ++ (byte) bd#111 -- vbuz1=_inc_vbuz1 + inc bd + //SEG403 [138] (byte~) bd#243 ← (byte) bd#153 -- vbuz1=vbuz2 + lda bd + sta bd_243 + //SEG404 [139] call fc + //SEG405 [161] phi from fb::@16 to fc [phi:fb::@16->fc] + fc_from_b16: + //SEG406 [161] phi (byte) be#129 = (byte) be#123 [phi:fb::@16->fc#0] -- register_copy + //SEG407 [161] phi (byte) bd#117 = (byte~) bd#243 [phi:fb::@16->fc#1] -- register_copy + jsr fc + //SEG408 [140] phi from fb::@16 fb::@5 to fb::@6 [phi:fb::@16/fb::@5->fb::@6] + b6_from_b16: + b6_from_b5: + //SEG409 [140] phi (byte) be#124 = (byte) be#46 [phi:fb::@16/fb::@5->fb::@6#0] -- register_copy + //SEG410 [140] phi (byte) bd#112 = (byte) bd#153 [phi:fb::@16/fb::@5->fb::@6#1] -- register_copy + jmp b6 + //SEG411 fb::@6 + b6: + //SEG412 [141] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 6) goto fb::@7 -- vbuz1_neq_vbuc1_then_la1 + lda bc_114 + cmp #6 + bne b7_from_b6 + jmp b17 + //SEG413 fb::@17 + b17: + //SEG414 [142] (byte) bd#154 ← ++ (byte) bd#112 -- vbuz1=_inc_vbuz1 + inc bd + //SEG415 [143] (byte~) bd#244 ← (byte) bd#154 -- vbuz1=vbuz2 + lda bd + sta bd_244 + //SEG416 [144] call fc + //SEG417 [161] phi from fb::@17 to fc [phi:fb::@17->fc] + fc_from_b17: + //SEG418 [161] phi (byte) be#129 = (byte) be#124 [phi:fb::@17->fc#0] -- register_copy + //SEG419 [161] phi (byte) bd#117 = (byte~) bd#244 [phi:fb::@17->fc#1] -- register_copy + jsr fc + //SEG420 [145] phi from fb::@17 fb::@6 to fb::@7 [phi:fb::@17/fb::@6->fb::@7] + b7_from_b17: + b7_from_b6: + //SEG421 [145] phi (byte) be#125 = (byte) be#46 [phi:fb::@17/fb::@6->fb::@7#0] -- register_copy + //SEG422 [145] phi (byte) bd#113 = (byte) bd#154 [phi:fb::@17/fb::@6->fb::@7#1] -- register_copy + jmp b7 + //SEG423 fb::@7 + b7: + //SEG424 [146] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto fb::@8 -- vbuz1_neq_vbuc1_then_la1 + lda bc_114 + cmp #7 + bne b8_from_b7 + jmp b18 + //SEG425 fb::@18 + b18: + //SEG426 [147] (byte) bd#155 ← ++ (byte) bd#113 -- vbuz1=_inc_vbuz1 + inc bd + //SEG427 [148] (byte~) bd#245 ← (byte) bd#155 -- vbuz1=vbuz2 + lda bd + sta bd_245 + //SEG428 [149] call fc + //SEG429 [161] phi from fb::@18 to fc [phi:fb::@18->fc] + fc_from_b18: + //SEG430 [161] phi (byte) be#129 = (byte) be#125 [phi:fb::@18->fc#0] -- register_copy + //SEG431 [161] phi (byte) bd#117 = (byte~) bd#245 [phi:fb::@18->fc#1] -- register_copy + jsr fc + //SEG432 [150] phi from fb::@18 fb::@7 to fb::@8 [phi:fb::@18/fb::@7->fb::@8] + b8_from_b18: + b8_from_b7: + //SEG433 [150] phi (byte) be#126 = (byte) be#46 [phi:fb::@18/fb::@7->fb::@8#0] -- register_copy + //SEG434 [150] phi (byte) bd#114 = (byte) bd#155 [phi:fb::@18/fb::@7->fb::@8#1] -- register_copy + jmp b8 + //SEG435 fb::@8 + b8: + //SEG436 [151] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto fb::@9 -- vbuz1_neq_vbuc1_then_la1 + lda bc_114 + cmp #8 + bne b9_from_b8 + jmp b19 + //SEG437 fb::@19 + b19: + //SEG438 [152] (byte) bd#157 ← ++ (byte) bd#114 -- vbuz1=_inc_vbuz1 + inc bd + //SEG439 [153] (byte~) bd#246 ← (byte) bd#157 -- vbuz1=vbuz2 + lda bd + sta bd_246 + //SEG440 [154] call fc + //SEG441 [161] phi from fb::@19 to fc [phi:fb::@19->fc] + fc_from_b19: + //SEG442 [161] phi (byte) be#129 = (byte) be#126 [phi:fb::@19->fc#0] -- register_copy + //SEG443 [161] phi (byte) bd#117 = (byte~) bd#246 [phi:fb::@19->fc#1] -- register_copy + jsr fc + //SEG444 [155] phi from fb::@19 fb::@8 to fb::@9 [phi:fb::@19/fb::@8->fb::@9] + b9_from_b19: + b9_from_b8: + //SEG445 [155] phi (byte) be#127 = (byte) be#46 [phi:fb::@19/fb::@8->fb::@9#0] -- register_copy + //SEG446 [155] phi (byte) bd#115 = (byte) bd#157 [phi:fb::@19/fb::@8->fb::@9#1] -- register_copy + jmp b9 + //SEG447 fb::@9 + b9: + //SEG448 [156] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 9) goto fb::@return -- vbuz1_neq_vbuc1_then_la1 + lda bc_114 + cmp #9 + bne breturn_from_b9 + //SEG449 [157] phi from fb::@9 to fb::@20 [phi:fb::@9->fb::@20] + b20_from_b9: + jmp b20 + //SEG450 fb::@20 + b20: + //SEG451 [158] call fc + //SEG452 [161] phi from fb::@20 to fc [phi:fb::@20->fc] + fc_from_b20: + //SEG453 [161] phi (byte) be#129 = (byte) be#127 [phi:fb::@20->fc#0] -- register_copy + //SEG454 [161] phi (byte) bd#117 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:fb::@20->fc#1] -- vbuz1=vbuc1 + lda #0 + sta bd_117 + jsr fc + //SEG455 [159] phi from fb::@20 to fb::@return [phi:fb::@20->fb::@return] + breturn_from_b20: + //SEG456 [159] phi (byte) be#35 = (byte) be#46 [phi:fb::@20->fb::@return#0] -- register_copy + //SEG457 [159] phi (byte) bd#35 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:fb::@20->fb::@return#1] -- vbuz1=vbuc1 + lda #0 + sta bd + jmp breturn + //SEG458 [159] phi from fb::@9 to fb::@return [phi:fb::@9->fb::@return] + breturn_from_b9: + //SEG459 [159] phi (byte) be#35 = (byte) be#127 [phi:fb::@9->fb::@return#0] -- register_copy + //SEG460 [159] phi (byte) bd#35 = (byte) bd#115 [phi:fb::@9->fb::@return#1] -- register_copy + jmp breturn + //SEG461 fb::@return + breturn: + //SEG462 [160] return + rts +} +//SEG463 fc +fc: { + //SEG464 [162] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto fc::@1 -- vbuz1_neq_0_then_la1 + lda bd_117 + cmp #0 + bne b1_from_fc + jmp b11 + //SEG465 fc::@11 + b11: + //SEG466 [163] (byte) be#36 ← ++ (byte) be#129 -- vbuz1=_inc_vbuz1 + inc be + //SEG467 [164] phi from fc fc::@11 to fc::@1 [phi:fc/fc::@11->fc::@1] + b1_from_fc: + b1_from_b11: + //SEG468 [164] phi (byte) be#130 = (byte) be#129 [phi:fc/fc::@11->fc::@1#0] -- register_copy + jmp b1 + //SEG469 fc::@1 + b1: + //SEG470 [165] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 1) goto fc::@2 -- vbuz1_neq_vbuc1_then_la1 + lda bd_117 + cmp #1 + bne b2_from_b1 + jmp b12 + //SEG471 fc::@12 + b12: + //SEG472 [166] (byte) be#37 ← ++ (byte) be#130 -- vbuz1=_inc_vbuz1 + inc be + //SEG473 [167] phi from fc::@1 fc::@12 to fc::@2 [phi:fc::@1/fc::@12->fc::@2] + b2_from_b1: + b2_from_b12: + //SEG474 [167] phi (byte) be#131 = (byte) be#130 [phi:fc::@1/fc::@12->fc::@2#0] -- register_copy + jmp b2 + //SEG475 fc::@2 + b2: + //SEG476 [168] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 2) goto fc::@3 -- vbuz1_neq_vbuc1_then_la1 + lda bd_117 + cmp #2 + bne b3_from_b2 + jmp b13 + //SEG477 fc::@13 + b13: + //SEG478 [169] (byte) be#38 ← ++ (byte) be#131 -- vbuz1=_inc_vbuz1 + inc be + //SEG479 [170] phi from fc::@13 fc::@2 to fc::@3 [phi:fc::@13/fc::@2->fc::@3] + b3_from_b13: + b3_from_b2: + //SEG480 [170] phi (byte) be#132 = (byte) be#38 [phi:fc::@13/fc::@2->fc::@3#0] -- register_copy + jmp b3 + //SEG481 fc::@3 + b3: + //SEG482 [171] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto fc::@4 -- vbuz1_neq_vbuc1_then_la1 + lda bd_117 + cmp #3 + bne b4_from_b3 + jmp b14 + //SEG483 fc::@14 + b14: + //SEG484 [172] (byte) be#39 ← ++ (byte) be#132 -- vbuz1=_inc_vbuz1 + inc be + //SEG485 [173] phi from fc::@14 fc::@3 to fc::@4 [phi:fc::@14/fc::@3->fc::@4] + b4_from_b14: + b4_from_b3: + //SEG486 [173] phi (byte) be#133 = (byte) be#39 [phi:fc::@14/fc::@3->fc::@4#0] -- register_copy + jmp b4 + //SEG487 fc::@4 + b4: + //SEG488 [174] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto fc::@5 -- vbuz1_neq_vbuc1_then_la1 + lda bd_117 + cmp #4 + bne b5_from_b4 + jmp b15 + //SEG489 fc::@15 + b15: + //SEG490 [175] (byte) be#40 ← ++ (byte) be#133 -- vbuz1=_inc_vbuz1 + inc be + //SEG491 [176] phi from fc::@15 fc::@4 to fc::@5 [phi:fc::@15/fc::@4->fc::@5] + b5_from_b15: + b5_from_b4: + //SEG492 [176] phi (byte) be#134 = (byte) be#40 [phi:fc::@15/fc::@4->fc::@5#0] -- register_copy + jmp b5 + //SEG493 fc::@5 + b5: + //SEG494 [177] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 5) goto fc::@6 -- vbuz1_neq_vbuc1_then_la1 + lda bd_117 + cmp #5 + bne b6_from_b5 + jmp b16 + //SEG495 fc::@16 + b16: + //SEG496 [178] (byte) be#41 ← ++ (byte) be#134 -- vbuz1=_inc_vbuz1 + inc be + //SEG497 [179] phi from fc::@16 fc::@5 to fc::@6 [phi:fc::@16/fc::@5->fc::@6] + b6_from_b16: + b6_from_b5: + //SEG498 [179] phi (byte) be#135 = (byte) be#41 [phi:fc::@16/fc::@5->fc::@6#0] -- register_copy + jmp b6 + //SEG499 fc::@6 + b6: + //SEG500 [180] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 6) goto fc::@7 -- vbuz1_neq_vbuc1_then_la1 + lda bd_117 + cmp #6 + bne b7_from_b6 + jmp b17 + //SEG501 fc::@17 + b17: + //SEG502 [181] (byte) be#42 ← ++ (byte) be#135 -- vbuz1=_inc_vbuz1 + inc be + //SEG503 [182] phi from fc::@17 fc::@6 to fc::@7 [phi:fc::@17/fc::@6->fc::@7] + b7_from_b17: + b7_from_b6: + //SEG504 [182] phi (byte) be#136 = (byte) be#42 [phi:fc::@17/fc::@6->fc::@7#0] -- register_copy + jmp b7 + //SEG505 fc::@7 + b7: + //SEG506 [183] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto fc::@8 -- vbuz1_neq_vbuc1_then_la1 + lda bd_117 + cmp #7 + bne b8_from_b7 + jmp b18 + //SEG507 fc::@18 + b18: + //SEG508 [184] (byte) be#43 ← ++ (byte) be#136 -- vbuz1=_inc_vbuz1 + inc be + //SEG509 [185] phi from fc::@18 fc::@7 to fc::@8 [phi:fc::@18/fc::@7->fc::@8] + b8_from_b18: + b8_from_b7: + //SEG510 [185] phi (byte) be#137 = (byte) be#43 [phi:fc::@18/fc::@7->fc::@8#0] -- register_copy + jmp b8 + //SEG511 fc::@8 + b8: + //SEG512 [186] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto fc::@9 -- vbuz1_neq_vbuc1_then_la1 + lda bd_117 + cmp #8 + bne b9_from_b8 + jmp b19 + //SEG513 fc::@19 + b19: + //SEG514 [187] (byte) be#44 ← ++ (byte) be#137 -- vbuz1=_inc_vbuz1 + inc be + //SEG515 [188] phi from fc::@19 fc::@8 to fc::@9 [phi:fc::@19/fc::@8->fc::@9] + b9_from_b19: + b9_from_b8: + //SEG516 [188] phi (byte) be#138 = (byte) be#44 [phi:fc::@19/fc::@8->fc::@9#0] -- register_copy + jmp b9 + //SEG517 fc::@9 + b9: + //SEG518 [189] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 9) goto fc::@30 -- vbuz1_neq_vbuc1_then_la1 + lda bd_117 + cmp #9 + bne b30_from_b9 + //SEG519 [190] phi from fc::@9 to fc::@return [phi:fc::@9->fc::@return] + breturn_from_b9: + //SEG520 [190] phi (byte) be#46 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:fc::@9->fc::@return#0] -- vbuz1=vbuc1 + lda #0 + sta be + jmp breturn + //SEG521 fc::@return + breturn: + //SEG522 [191] return + rts + //SEG523 [192] phi from fc::@9 to fc::@30 [phi:fc::@9->fc::@30] + b30_from_b9: + jmp b30 + //SEG524 fc::@30 + b30: + //SEG525 [190] phi from fc::@30 to fc::@return [phi:fc::@30->fc::@return] + breturn_from_b30: + //SEG526 [190] phi (byte) be#46 = (byte) be#138 [phi:fc::@30->fc::@return#0] -- register_copy + jmp breturn +} + +REGISTER UPLIFT POTENTIAL REGISTERS +Potential registers zp ZP_BYTE:2 [ ba#17 ba#1 ] : zp ZP_BYTE:2 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:3 [ bb#49 bb#11 bb#25 bb#10 bb#24 bb#68 bb#23 bb#67 bb#22 bb#66 bb#21 bb#6 bb#20 bb#19 bb#18 bb#16 bb#13 bb#3 bb#4 bb#5 ] : zp ZP_BYTE:3 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:4 [ bb#27 bb#101 bb#102 bb#103 bb#104 bb#105 bb#106 bb#107 bb#108 bb#109 ] : zp ZP_BYTE:4 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:5 [ bc#113 bc#123 bc#47 bc#112 bc#46 bc#111 bc#45 bc#110 bc#44 bc#109 bc#43 bc#108 bc#42 bc#41 bc#40 bc#39 bc#104 bc#103 bc#102 bc#101 bc#100 bc#66 bc#65 bc#64 bc#63 bc#2 bc#13 bc#24 bc#105 bc#106 bc#107 ] : zp ZP_BYTE:5 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:6 [ bc#114 bc#174 bc#175 bc#176 bc#177 bc#178 bc#179 bc#180 bc#181 bc#182 ] : zp ZP_BYTE:6 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:7 [ bd#115 bd#157 bd#114 bd#155 bd#113 bd#154 bd#112 bd#153 bd#111 bd#152 bd#110 bd#151 bd#109 bd#108 bd#107 bd#106 bd#104 bd#103 bd#102 bd#101 bd#100 bd#142 bd#141 bd#140 bd#139 bd#138 bd#137 bd#136 bd#135 bd#134 bd#133 bd#132 bd#131 bd#130 bd#129 bd#2 bd#13 bd#24 bd#35 bd#148 bd#149 bd#150 ] : zp ZP_BYTE:7 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:8 [ bd#117 bd#238 bd#239 bd#240 bd#241 bd#242 bd#243 bd#244 bd#245 bd#246 ] : zp ZP_BYTE:8 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:9 [ be#138 be#44 be#137 be#43 be#136 be#42 be#135 be#41 be#134 be#40 be#133 be#39 be#132 be#38 be#131 be#130 be#129 be#127 be#126 be#125 be#124 be#123 be#122 be#121 be#120 be#119 be#118 be#116 be#115 be#114 be#113 be#112 be#111 be#110 be#109 be#108 be#107 be#105 be#104 be#103 be#102 be#101 be#100 be#144 be#143 be#142 be#2 be#13 be#24 be#35 be#46 be#36 be#37 ] : zp ZP_BYTE:9 , reg byte a , reg byte x , reg byte y , + +REGISTER UPLIFT SCOPES +Uplift Scope [] 162.58: zp ZP_BYTE:9 [ be#138 be#44 be#137 be#43 be#136 be#42 be#135 be#41 be#134 be#40 be#133 be#39 be#132 be#38 be#131 be#130 be#129 be#127 be#126 be#125 be#124 be#123 be#122 be#121 be#120 be#119 be#118 be#116 be#115 be#114 be#113 be#112 be#111 be#110 be#109 be#108 be#107 be#105 be#104 be#103 be#102 be#101 be#100 be#144 be#143 be#142 be#2 be#13 be#24 be#35 be#46 be#36 be#37 ] 118.92: zp ZP_BYTE:7 [ bd#115 bd#157 bd#114 bd#155 bd#113 bd#154 bd#112 bd#153 bd#111 bd#152 bd#110 bd#151 bd#109 bd#108 bd#107 bd#106 bd#104 bd#103 bd#102 bd#101 bd#100 bd#142 bd#141 bd#140 bd#139 bd#138 bd#137 bd#136 bd#135 bd#134 bd#133 bd#132 bd#131 bd#130 bd#129 bd#2 bd#13 bd#24 bd#35 bd#148 bd#149 bd#150 ] 92.25: zp ZP_BYTE:5 [ bc#113 bc#123 bc#47 bc#112 bc#46 bc#111 bc#45 bc#110 bc#44 bc#109 bc#43 bc#108 bc#42 bc#41 bc#40 bc#39 bc#104 bc#103 bc#102 bc#101 bc#100 bc#66 bc#65 bc#64 bc#63 bc#2 bc#13 bc#24 bc#105 bc#106 bc#107 ] 61.25: zp ZP_BYTE:3 [ bb#49 bb#11 bb#25 bb#10 bb#24 bb#68 bb#23 bb#67 bb#22 bb#66 bb#21 bb#6 bb#20 bb#19 bb#18 bb#16 bb#13 bb#3 bb#4 bb#5 ] 37.36: zp ZP_BYTE:8 [ bd#117 bd#238 bd#239 bd#240 bd#241 bd#242 bd#243 bd#244 bd#245 bd#246 ] 36.83: zp ZP_BYTE:4 [ bb#27 bb#101 bb#102 bb#103 bb#104 bb#105 bb#106 bb#107 bb#108 bb#109 ] 36.83: zp ZP_BYTE:6 [ bc#114 bc#174 bc#175 bc#176 bc#177 bc#178 bc#179 bc#180 bc#181 bc#182 ] 22.79: zp ZP_BYTE:2 [ ba#17 ba#1 ] +Uplift Scope [main] +Uplift Scope [f0] +Uplift Scope [fa] +Uplift Scope [fb] +Uplift Scope [fc] + +Uplifting [] best 1431 combination zp ZP_BYTE:9 [ be#138 be#44 be#137 be#43 be#136 be#42 be#135 be#41 be#134 be#40 be#133 be#39 be#132 be#38 be#131 be#130 be#129 be#127 be#126 be#125 be#124 be#123 be#122 be#121 be#120 be#119 be#118 be#116 be#115 be#114 be#113 be#112 be#111 be#110 be#109 be#108 be#107 be#105 be#104 be#103 be#102 be#101 be#100 be#144 be#143 be#142 be#2 be#13 be#24 be#35 be#46 be#36 be#37 ] reg byte y [ bd#115 bd#157 bd#114 bd#155 bd#113 bd#154 bd#112 bd#153 bd#111 bd#152 bd#110 bd#151 bd#109 bd#108 bd#107 bd#106 bd#104 bd#103 bd#102 bd#101 bd#100 bd#142 bd#141 bd#140 bd#139 bd#138 bd#137 bd#136 bd#135 bd#134 bd#133 bd#132 bd#131 bd#130 bd#129 bd#2 bd#13 bd#24 bd#35 bd#148 bd#149 bd#150 ] reg byte x [ bc#113 bc#123 bc#47 bc#112 bc#46 bc#111 bc#45 bc#110 bc#44 bc#109 bc#43 bc#108 bc#42 bc#41 bc#40 bc#39 bc#104 bc#103 bc#102 bc#101 bc#100 bc#66 bc#65 bc#64 bc#63 bc#2 bc#13 bc#24 bc#105 bc#106 bc#107 ] zp ZP_BYTE:3 [ bb#49 bb#11 bb#25 bb#10 bb#24 bb#68 bb#23 bb#67 bb#22 bb#66 bb#21 bb#6 bb#20 bb#19 bb#18 bb#16 bb#13 bb#3 bb#4 bb#5 ] zp ZP_BYTE:8 [ bd#117 bd#238 bd#239 bd#240 bd#241 bd#242 bd#243 bd#244 bd#245 bd#246 ] zp ZP_BYTE:4 [ bb#27 bb#101 bb#102 bb#103 bb#104 bb#105 bb#106 bb#107 bb#108 bb#109 ] zp ZP_BYTE:6 [ bc#114 bc#174 bc#175 bc#176 bc#177 bc#178 bc#179 bc#180 bc#181 bc#182 ] zp ZP_BYTE:2 [ ba#17 ba#1 ] +Limited combination testing to 100 combinations of 65536 possible. +Uplifting [main] best 1431 combination +Uplifting [f0] best 1431 combination +Uplifting [fa] best 1431 combination +Uplifting [fb] best 1431 combination +Uplifting [fc] best 1431 combination +Attempting to uplift remaining variables inzp ZP_BYTE:9 [ be#138 be#44 be#137 be#43 be#136 be#42 be#135 be#41 be#134 be#40 be#133 be#39 be#132 be#38 be#131 be#130 be#129 be#127 be#126 be#125 be#124 be#123 be#122 be#121 be#120 be#119 be#118 be#116 be#115 be#114 be#113 be#112 be#111 be#110 be#109 be#108 be#107 be#105 be#104 be#103 be#102 be#101 be#100 be#144 be#143 be#142 be#2 be#13 be#24 be#35 be#46 be#36 be#37 ] +Uplifting [] best 1431 combination zp ZP_BYTE:9 [ be#138 be#44 be#137 be#43 be#136 be#42 be#135 be#41 be#134 be#40 be#133 be#39 be#132 be#38 be#131 be#130 be#129 be#127 be#126 be#125 be#124 be#123 be#122 be#121 be#120 be#119 be#118 be#116 be#115 be#114 be#113 be#112 be#111 be#110 be#109 be#108 be#107 be#105 be#104 be#103 be#102 be#101 be#100 be#144 be#143 be#142 be#2 be#13 be#24 be#35 be#46 be#36 be#37 ] +Attempting to uplift remaining variables inzp ZP_BYTE:3 [ bb#49 bb#11 bb#25 bb#10 bb#24 bb#68 bb#23 bb#67 bb#22 bb#66 bb#21 bb#6 bb#20 bb#19 bb#18 bb#16 bb#13 bb#3 bb#4 bb#5 ] +Uplifting [] best 1431 combination zp ZP_BYTE:3 [ bb#49 bb#11 bb#25 bb#10 bb#24 bb#68 bb#23 bb#67 bb#22 bb#66 bb#21 bb#6 bb#20 bb#19 bb#18 bb#16 bb#13 bb#3 bb#4 bb#5 ] +Attempting to uplift remaining variables inzp ZP_BYTE:8 [ bd#117 bd#238 bd#239 bd#240 bd#241 bd#242 bd#243 bd#244 bd#245 bd#246 ] +Uplifting [] best 1389 combination reg byte a [ bd#117 bd#238 bd#239 bd#240 bd#241 bd#242 bd#243 bd#244 bd#245 bd#246 ] +Attempting to uplift remaining variables inzp ZP_BYTE:4 [ bb#27 bb#101 bb#102 bb#103 bb#104 bb#105 bb#106 bb#107 bb#108 bb#109 ] +Uplifting [] best 1389 combination zp ZP_BYTE:4 [ bb#27 bb#101 bb#102 bb#103 bb#104 bb#105 bb#106 bb#107 bb#108 bb#109 ] +Attempting to uplift remaining variables inzp ZP_BYTE:6 [ bc#114 bc#174 bc#175 bc#176 bc#177 bc#178 bc#179 bc#180 bc#181 bc#182 ] +Uplifting [] best 1389 combination zp ZP_BYTE:6 [ bc#114 bc#174 bc#175 bc#176 bc#177 bc#178 bc#179 bc#180 bc#181 bc#182 ] +Attempting to uplift remaining variables inzp ZP_BYTE:2 [ ba#17 ba#1 ] +Uplifting [] best 1389 combination zp ZP_BYTE:2 [ ba#17 ba#1 ] +Allocated (was zp ZP_BYTE:6) zp ZP_BYTE:5 [ bc#114 bc#174 bc#175 bc#176 bc#177 bc#178 bc#179 bc#180 bc#181 bc#182 ] +Allocated (was zp ZP_BYTE:9) zp ZP_BYTE:6 [ be#138 be#44 be#137 be#43 be#136 be#42 be#135 be#41 be#134 be#40 be#133 be#39 be#132 be#38 be#131 be#130 be#129 be#127 be#126 be#125 be#124 be#123 be#122 be#121 be#120 be#119 be#118 be#116 be#115 be#114 be#113 be#112 be#111 be#110 be#109 be#108 be#107 be#105 be#104 be#103 be#102 be#101 be#100 be#144 be#143 be#142 be#2 be#13 be#24 be#35 be#46 be#36 be#37 ] + +ASSEMBLER BEFORE OPTIMIZATION +//SEG0 Basic Upstart +.pc = $801 "Basic" +:BasicUpstart(bbegin) +.pc = $80d "Program" +//SEG1 Global Constants & labels + .label ba = 2 + .label be = 6 + .label bb = 3 + .label bb_27 = 4 + .label bc = 5 + .label bb_101 = 4 + .label bb_102 = 4 + .label bb_103 = 4 + .label bb_104 = 4 + .label bb_105 = 4 + .label bb_106 = 4 + .label bb_107 = 4 + .label bb_108 = 4 + .label bb_109 = 4 +//SEG2 @begin +bbegin: +//SEG3 [1] phi from @begin to @5 [phi:@begin->@5] +b5_from_bbegin: + jmp b5 +//SEG4 @5 +b5: +//SEG5 [2] call main +//SEG6 [4] phi from @5 to main [phi:@5->main] +main_from_b5: + jsr main +//SEG7 [3] phi from @5 to @end [phi:@5->@end] +bend_from_b5: + jmp bend +//SEG8 @end +bend: +//SEG9 main +main: { + //SEG10 [5] phi from main to main::@1 [phi:main->main::@1] + b1_from_main: + //SEG11 [5] phi (byte) ba#17 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#0] -- vbuz1=vbuc1 + lda #0 + sta ba + //SEG12 [5] phi (byte) be#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#1] -- vbuz1=vbuc1 + lda #0 + sta be + //SEG13 [5] phi (byte) bd#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#2] -- vbuyy=vbuc1 + ldy #0 + //SEG14 [5] phi (byte) bc#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#3] -- vbuxx=vbuc1 + ldx #0 + //SEG15 [5] phi (byte) bb#16 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#4] -- vbuz1=vbuc1 + lda #0 + sta bb + jmp b1 + //SEG16 main::@1 + b1: + //SEG17 [6] phi from main::@1 to main::@2 [phi:main::@1->main::@2] + b2_from_b1: + jmp b2 + //SEG18 main::@2 + b2: + //SEG19 [7] call f0 + jsr f0 + jmp b7 + //SEG20 main::@7 + b7: + //SEG21 [8] (byte) ba#1 ← ++ (byte) ba#17 -- vbuz1=_inc_vbuz1 + inc ba + //SEG22 [5] phi from main::@7 to main::@1 [phi:main::@7->main::@1] + b1_from_b7: + //SEG23 [5] phi (byte) ba#17 = (byte) ba#1 [phi:main::@7->main::@1#0] -- register_copy + //SEG24 [5] phi (byte) be#2 = (byte) be#13 [phi:main::@7->main::@1#1] -- register_copy + //SEG25 [5] phi (byte) bd#2 = (byte) bd#13 [phi:main::@7->main::@1#2] -- register_copy + //SEG26 [5] phi (byte) bc#2 = (byte) bc#13 [phi:main::@7->main::@1#3] -- register_copy + //SEG27 [5] phi (byte) bb#16 = (byte) bb#13 [phi:main::@7->main::@1#4] -- register_copy + jmp b1 +} +//SEG28 f0 +f0: { + //SEG29 [9] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto f0::@1 -- vbuz1_neq_0_then_la1 + lda ba + cmp #0 + bne b1_from_f0 + jmp b11 + //SEG30 f0::@11 + b11: + //SEG31 [10] (byte) bb#3 ← ++ (byte) bb#16 -- vbuz1=_inc_vbuz1 + inc bb + //SEG32 [11] (byte~) bb#101 ← (byte) bb#3 -- vbuz1=vbuz2 + lda bb + sta bb_101 + //SEG33 [12] call fa + //SEG34 [59] phi from f0::@11 to fa [phi:f0::@11->fa] + fa_from_b11: + //SEG35 [59] phi (byte) be#107 = (byte) be#2 [phi:f0::@11->fa#0] -- register_copy + //SEG36 [59] phi (byte) bd#138 = (byte) bd#2 [phi:f0::@11->fa#1] -- register_copy + //SEG37 [59] phi (byte) bc#39 = (byte) bc#2 [phi:f0::@11->fa#2] -- register_copy + //SEG38 [59] phi (byte) bb#27 = (byte~) bb#101 [phi:f0::@11->fa#3] -- register_copy + jsr fa + //SEG39 [13] phi from f0 f0::@11 to f0::@1 [phi:f0/f0::@11->f0::@1] + b1_from_f0: + b1_from_b11: + //SEG40 [13] phi (byte) be#142 = (byte) be#2 [phi:f0/f0::@11->f0::@1#0] -- register_copy + //SEG41 [13] phi (byte) bd#129 = (byte) bd#2 [phi:f0/f0::@11->f0::@1#1] -- register_copy + //SEG42 [13] phi (byte) bc#63 = (byte) bc#2 [phi:f0/f0::@11->f0::@1#2] -- register_copy + //SEG43 [13] phi (byte) bb#18 = (byte) bb#16 [phi:f0/f0::@11->f0::@1#3] -- register_copy + jmp b1 + //SEG44 f0::@1 + b1: + //SEG45 [14] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 1) goto f0::@2 -- vbuz1_neq_vbuc1_then_la1 + lda ba + cmp #1 + bne b2_from_b1 + jmp b12 + //SEG46 f0::@12 + b12: + //SEG47 [15] (byte) bb#4 ← ++ (byte) bb#18 -- vbuz1=_inc_vbuz1 + inc bb + //SEG48 [16] (byte~) bb#102 ← (byte) bb#4 -- vbuz1=vbuz2 + lda bb + sta bb_102 + //SEG49 [17] call fa + //SEG50 [59] phi from f0::@12 to fa [phi:f0::@12->fa] + fa_from_b12: + //SEG51 [59] phi (byte) be#107 = (byte) be#142 [phi:f0::@12->fa#0] -- register_copy + //SEG52 [59] phi (byte) bd#138 = (byte) bd#129 [phi:f0::@12->fa#1] -- register_copy + //SEG53 [59] phi (byte) bc#39 = (byte) bc#63 [phi:f0::@12->fa#2] -- register_copy + //SEG54 [59] phi (byte) bb#27 = (byte~) bb#102 [phi:f0::@12->fa#3] -- register_copy + jsr fa + //SEG55 [18] phi from f0::@1 f0::@12 to f0::@2 [phi:f0::@1/f0::@12->f0::@2] + b2_from_b1: + b2_from_b12: + //SEG56 [18] phi (byte) be#143 = (byte) be#142 [phi:f0::@1/f0::@12->f0::@2#0] -- register_copy + //SEG57 [18] phi (byte) bd#130 = (byte) bd#129 [phi:f0::@1/f0::@12->f0::@2#1] -- register_copy + //SEG58 [18] phi (byte) bc#64 = (byte) bc#63 [phi:f0::@1/f0::@12->f0::@2#2] -- register_copy + //SEG59 [18] phi (byte) bb#19 = (byte) bb#18 [phi:f0::@1/f0::@12->f0::@2#3] -- register_copy + jmp b2 + //SEG60 f0::@2 + b2: + //SEG61 [19] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 2) goto f0::@3 -- vbuz1_neq_vbuc1_then_la1 + lda ba + cmp #2 + bne b3_from_b2 + jmp b13 + //SEG62 f0::@13 + b13: + //SEG63 [20] (byte) bb#5 ← ++ (byte) bb#19 -- vbuz1=_inc_vbuz1 + inc bb + //SEG64 [21] (byte~) bb#103 ← (byte) bb#5 -- vbuz1=vbuz2 + lda bb + sta bb_103 + //SEG65 [22] call fa + //SEG66 [59] phi from f0::@13 to fa [phi:f0::@13->fa] + fa_from_b13: + //SEG67 [59] phi (byte) be#107 = (byte) be#143 [phi:f0::@13->fa#0] -- register_copy + //SEG68 [59] phi (byte) bd#138 = (byte) bd#130 [phi:f0::@13->fa#1] -- register_copy + //SEG69 [59] phi (byte) bc#39 = (byte) bc#64 [phi:f0::@13->fa#2] -- register_copy + //SEG70 [59] phi (byte) bb#27 = (byte~) bb#103 [phi:f0::@13->fa#3] -- register_copy + jsr fa + //SEG71 [23] phi from f0::@13 f0::@2 to f0::@3 [phi:f0::@13/f0::@2->f0::@3] + b3_from_b13: + b3_from_b2: + //SEG72 [23] phi (byte) be#144 = (byte) be#24 [phi:f0::@13/f0::@2->f0::@3#0] -- register_copy + //SEG73 [23] phi (byte) bd#131 = (byte) bd#24 [phi:f0::@13/f0::@2->f0::@3#1] -- register_copy + //SEG74 [23] phi (byte) bc#65 = (byte) bc#24 [phi:f0::@13/f0::@2->f0::@3#2] -- register_copy + //SEG75 [23] phi (byte) bb#20 = (byte) bb#5 [phi:f0::@13/f0::@2->f0::@3#3] -- register_copy + jmp b3 + //SEG76 f0::@3 + b3: + //SEG77 [24] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto f0::@4 -- vbuz1_neq_vbuc1_then_la1 + lda ba + cmp #3 + bne b4_from_b3 + jmp b14 + //SEG78 f0::@14 + b14: + //SEG79 [25] (byte) bb#6 ← ++ (byte) bb#20 -- vbuz1=_inc_vbuz1 + inc bb + //SEG80 [26] (byte~) bb#104 ← (byte) bb#6 -- vbuz1=vbuz2 + lda bb + sta bb_104 + //SEG81 [27] call fa + //SEG82 [59] phi from f0::@14 to fa [phi:f0::@14->fa] + fa_from_b14: + //SEG83 [59] phi (byte) be#107 = (byte) be#144 [phi:f0::@14->fa#0] -- register_copy + //SEG84 [59] phi (byte) bd#138 = (byte) bd#131 [phi:f0::@14->fa#1] -- register_copy + //SEG85 [59] phi (byte) bc#39 = (byte) bc#65 [phi:f0::@14->fa#2] -- register_copy + //SEG86 [59] phi (byte) bb#27 = (byte~) bb#104 [phi:f0::@14->fa#3] -- register_copy + jsr fa + //SEG87 [28] phi from f0::@14 f0::@3 to f0::@4 [phi:f0::@14/f0::@3->f0::@4] + b4_from_b14: + b4_from_b3: + //SEG88 [28] phi (byte) be#100 = (byte) be#24 [phi:f0::@14/f0::@3->f0::@4#0] -- register_copy + //SEG89 [28] phi (byte) bd#132 = (byte) bd#24 [phi:f0::@14/f0::@3->f0::@4#1] -- register_copy + //SEG90 [28] phi (byte) bc#66 = (byte) bc#24 [phi:f0::@14/f0::@3->f0::@4#2] -- register_copy + //SEG91 [28] phi (byte) bb#21 = (byte) bb#6 [phi:f0::@14/f0::@3->f0::@4#3] -- register_copy + jmp b4 + //SEG92 f0::@4 + b4: + //SEG93 [29] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto f0::@5 -- vbuz1_neq_vbuc1_then_la1 + lda ba + cmp #4 + bne b5_from_b4 + jmp b15 + //SEG94 f0::@15 + b15: + //SEG95 [30] (byte) bb#66 ← ++ (byte) bb#21 -- vbuz1=_inc_vbuz1 + inc bb + //SEG96 [31] (byte~) bb#105 ← (byte) bb#66 -- vbuz1=vbuz2 + lda bb + sta bb_105 + //SEG97 [32] call fa + //SEG98 [59] phi from f0::@15 to fa [phi:f0::@15->fa] + fa_from_b15: + //SEG99 [59] phi (byte) be#107 = (byte) be#100 [phi:f0::@15->fa#0] -- register_copy + //SEG100 [59] phi (byte) bd#138 = (byte) bd#132 [phi:f0::@15->fa#1] -- register_copy + //SEG101 [59] phi (byte) bc#39 = (byte) bc#66 [phi:f0::@15->fa#2] -- register_copy + //SEG102 [59] phi (byte) bb#27 = (byte~) bb#105 [phi:f0::@15->fa#3] -- register_copy + jsr fa + //SEG103 [33] phi from f0::@15 f0::@4 to f0::@5 [phi:f0::@15/f0::@4->f0::@5] + b5_from_b15: + b5_from_b4: + //SEG104 [33] phi (byte) be#101 = (byte) be#24 [phi:f0::@15/f0::@4->f0::@5#0] -- register_copy + //SEG105 [33] phi (byte) bd#133 = (byte) bd#24 [phi:f0::@15/f0::@4->f0::@5#1] -- register_copy + //SEG106 [33] phi (byte) bc#100 = (byte) bc#24 [phi:f0::@15/f0::@4->f0::@5#2] -- register_copy + //SEG107 [33] phi (byte) bb#22 = (byte) bb#66 [phi:f0::@15/f0::@4->f0::@5#3] -- register_copy + jmp b5 + //SEG108 f0::@5 + b5: + //SEG109 [34] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 5) goto f0::@6 -- vbuz1_neq_vbuc1_then_la1 + lda ba + cmp #5 + bne b6_from_b5 + jmp b16 + //SEG110 f0::@16 + b16: + //SEG111 [35] (byte) bb#67 ← ++ (byte) bb#22 -- vbuz1=_inc_vbuz1 + inc bb + //SEG112 [36] (byte~) bb#106 ← (byte) bb#67 -- vbuz1=vbuz2 + lda bb + sta bb_106 + //SEG113 [37] call fa + //SEG114 [59] phi from f0::@16 to fa [phi:f0::@16->fa] + fa_from_b16: + //SEG115 [59] phi (byte) be#107 = (byte) be#101 [phi:f0::@16->fa#0] -- register_copy + //SEG116 [59] phi (byte) bd#138 = (byte) bd#133 [phi:f0::@16->fa#1] -- register_copy + //SEG117 [59] phi (byte) bc#39 = (byte) bc#100 [phi:f0::@16->fa#2] -- register_copy + //SEG118 [59] phi (byte) bb#27 = (byte~) bb#106 [phi:f0::@16->fa#3] -- register_copy + jsr fa + //SEG119 [38] phi from f0::@16 f0::@5 to f0::@6 [phi:f0::@16/f0::@5->f0::@6] + b6_from_b16: + b6_from_b5: + //SEG120 [38] phi (byte) be#102 = (byte) be#24 [phi:f0::@16/f0::@5->f0::@6#0] -- register_copy + //SEG121 [38] phi (byte) bd#134 = (byte) bd#24 [phi:f0::@16/f0::@5->f0::@6#1] -- register_copy + //SEG122 [38] phi (byte) bc#101 = (byte) bc#24 [phi:f0::@16/f0::@5->f0::@6#2] -- register_copy + //SEG123 [38] phi (byte) bb#23 = (byte) bb#67 [phi:f0::@16/f0::@5->f0::@6#3] -- register_copy + jmp b6 + //SEG124 f0::@6 + b6: + //SEG125 [39] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 6) goto f0::@7 -- vbuz1_neq_vbuc1_then_la1 + lda ba + cmp #6 + bne b7_from_b6 + jmp b17 + //SEG126 f0::@17 + b17: + //SEG127 [40] (byte) bb#68 ← ++ (byte) bb#23 -- vbuz1=_inc_vbuz1 + inc bb + //SEG128 [41] (byte~) bb#107 ← (byte) bb#68 -- vbuz1=vbuz2 + lda bb + sta bb_107 + //SEG129 [42] call fa + //SEG130 [59] phi from f0::@17 to fa [phi:f0::@17->fa] + fa_from_b17: + //SEG131 [59] phi (byte) be#107 = (byte) be#102 [phi:f0::@17->fa#0] -- register_copy + //SEG132 [59] phi (byte) bd#138 = (byte) bd#134 [phi:f0::@17->fa#1] -- register_copy + //SEG133 [59] phi (byte) bc#39 = (byte) bc#101 [phi:f0::@17->fa#2] -- register_copy + //SEG134 [59] phi (byte) bb#27 = (byte~) bb#107 [phi:f0::@17->fa#3] -- register_copy + jsr fa + //SEG135 [43] phi from f0::@17 f0::@6 to f0::@7 [phi:f0::@17/f0::@6->f0::@7] + b7_from_b17: + b7_from_b6: + //SEG136 [43] phi (byte) be#103 = (byte) be#24 [phi:f0::@17/f0::@6->f0::@7#0] -- register_copy + //SEG137 [43] phi (byte) bd#135 = (byte) bd#24 [phi:f0::@17/f0::@6->f0::@7#1] -- register_copy + //SEG138 [43] phi (byte) bc#102 = (byte) bc#24 [phi:f0::@17/f0::@6->f0::@7#2] -- register_copy + //SEG139 [43] phi (byte) bb#24 = (byte) bb#68 [phi:f0::@17/f0::@6->f0::@7#3] -- register_copy + jmp b7 + //SEG140 f0::@7 + b7: + //SEG141 [44] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto f0::@8 -- vbuz1_neq_vbuc1_then_la1 + lda ba + cmp #7 + bne b8_from_b7 + jmp b18 + //SEG142 f0::@18 + b18: + //SEG143 [45] (byte) bb#10 ← ++ (byte) bb#24 -- vbuz1=_inc_vbuz1 + inc bb + //SEG144 [46] (byte~) bb#108 ← (byte) bb#10 -- vbuz1=vbuz2 + lda bb + sta bb_108 + //SEG145 [47] call fa + //SEG146 [59] phi from f0::@18 to fa [phi:f0::@18->fa] + fa_from_b18: + //SEG147 [59] phi (byte) be#107 = (byte) be#103 [phi:f0::@18->fa#0] -- register_copy + //SEG148 [59] phi (byte) bd#138 = (byte) bd#135 [phi:f0::@18->fa#1] -- register_copy + //SEG149 [59] phi (byte) bc#39 = (byte) bc#102 [phi:f0::@18->fa#2] -- register_copy + //SEG150 [59] phi (byte) bb#27 = (byte~) bb#108 [phi:f0::@18->fa#3] -- register_copy + jsr fa + //SEG151 [48] phi from f0::@18 f0::@7 to f0::@8 [phi:f0::@18/f0::@7->f0::@8] + b8_from_b18: + b8_from_b7: + //SEG152 [48] phi (byte) be#104 = (byte) be#24 [phi:f0::@18/f0::@7->f0::@8#0] -- register_copy + //SEG153 [48] phi (byte) bd#136 = (byte) bd#24 [phi:f0::@18/f0::@7->f0::@8#1] -- register_copy + //SEG154 [48] phi (byte) bc#103 = (byte) bc#24 [phi:f0::@18/f0::@7->f0::@8#2] -- register_copy + //SEG155 [48] phi (byte) bb#25 = (byte) bb#10 [phi:f0::@18/f0::@7->f0::@8#3] -- register_copy + jmp b8 + //SEG156 f0::@8 + b8: + //SEG157 [49] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto f0::@9 -- vbuz1_neq_vbuc1_then_la1 + lda ba + cmp #8 + bne b9_from_b8 + jmp b19 + //SEG158 f0::@19 + b19: + //SEG159 [50] (byte) bb#11 ← ++ (byte) bb#25 -- vbuz1=_inc_vbuz1 + inc bb + //SEG160 [51] (byte~) bb#109 ← (byte) bb#11 -- vbuz1=vbuz2 + lda bb + sta bb_109 + //SEG161 [52] call fa + //SEG162 [59] phi from f0::@19 to fa [phi:f0::@19->fa] + fa_from_b19: + //SEG163 [59] phi (byte) be#107 = (byte) be#104 [phi:f0::@19->fa#0] -- register_copy + //SEG164 [59] phi (byte) bd#138 = (byte) bd#136 [phi:f0::@19->fa#1] -- register_copy + //SEG165 [59] phi (byte) bc#39 = (byte) bc#103 [phi:f0::@19->fa#2] -- register_copy + //SEG166 [59] phi (byte) bb#27 = (byte~) bb#109 [phi:f0::@19->fa#3] -- register_copy + jsr fa + //SEG167 [53] phi from f0::@19 f0::@8 to f0::@9 [phi:f0::@19/f0::@8->f0::@9] + b9_from_b19: + b9_from_b8: + //SEG168 [53] phi (byte) be#105 = (byte) be#24 [phi:f0::@19/f0::@8->f0::@9#0] -- register_copy + //SEG169 [53] phi (byte) bd#137 = (byte) bd#24 [phi:f0::@19/f0::@8->f0::@9#1] -- register_copy + //SEG170 [53] phi (byte) bc#104 = (byte) bc#24 [phi:f0::@19/f0::@8->f0::@9#2] -- register_copy + //SEG171 [53] phi (byte) bb#49 = (byte) bb#11 [phi:f0::@19/f0::@8->f0::@9#3] -- register_copy + jmp b9 + //SEG172 f0::@9 + b9: + //SEG173 [54] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 9) goto f0::@return -- vbuz1_neq_vbuc1_then_la1 + lda ba + cmp #9 + bne breturn_from_b9 + //SEG174 [55] phi from f0::@9 to f0::@20 [phi:f0::@9->f0::@20] + b20_from_b9: + jmp b20 + //SEG175 f0::@20 + b20: + //SEG176 [56] call fa + //SEG177 [59] phi from f0::@20 to fa [phi:f0::@20->fa] + fa_from_b20: + //SEG178 [59] phi (byte) be#107 = (byte) be#105 [phi:f0::@20->fa#0] -- register_copy + //SEG179 [59] phi (byte) bd#138 = (byte) bd#137 [phi:f0::@20->fa#1] -- register_copy + //SEG180 [59] phi (byte) bc#39 = (byte) bc#104 [phi:f0::@20->fa#2] -- register_copy + //SEG181 [59] phi (byte) bb#27 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:f0::@20->fa#3] -- vbuz1=vbuc1 + lda #0 + sta bb_27 + jsr fa + //SEG182 [57] phi from f0::@20 to f0::@return [phi:f0::@20->f0::@return] + breturn_from_b20: + //SEG183 [57] phi (byte) be#13 = (byte) be#24 [phi:f0::@20->f0::@return#0] -- register_copy + //SEG184 [57] phi (byte) bd#13 = (byte) bd#24 [phi:f0::@20->f0::@return#1] -- register_copy + //SEG185 [57] phi (byte) bc#13 = (byte) bc#24 [phi:f0::@20->f0::@return#2] -- register_copy + //SEG186 [57] phi (byte) bb#13 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:f0::@20->f0::@return#3] -- vbuz1=vbuc1 + lda #0 + sta bb + jmp breturn + //SEG187 [57] phi from f0::@9 to f0::@return [phi:f0::@9->f0::@return] + breturn_from_b9: + //SEG188 [57] phi (byte) be#13 = (byte) be#105 [phi:f0::@9->f0::@return#0] -- register_copy + //SEG189 [57] phi (byte) bd#13 = (byte) bd#137 [phi:f0::@9->f0::@return#1] -- register_copy + //SEG190 [57] phi (byte) bc#13 = (byte) bc#104 [phi:f0::@9->f0::@return#2] -- register_copy + //SEG191 [57] phi (byte) bb#13 = (byte) bb#49 [phi:f0::@9->f0::@return#3] -- register_copy + jmp breturn + //SEG192 f0::@return + breturn: + //SEG193 [58] return + rts +} +//SEG194 fa +fa: { + //SEG195 [60] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto fa::@1 -- vbuz1_neq_0_then_la1 + lda bb_27 + cmp #0 + bne b1_from_fa + jmp b11 + //SEG196 fa::@11 + b11: + //SEG197 [61] (byte) bc#105 ← ++ (byte) bc#39 -- vbuxx=_inc_vbuxx + inx + //SEG198 [62] (byte~) bc#174 ← (byte) bc#105 -- vbuz1=vbuxx + stx bc + //SEG199 [63] call fb + //SEG200 [110] phi from fa::@11 to fb [phi:fa::@11->fb] + fb_from_b11: + //SEG201 [110] phi (byte) be#118 = (byte) be#107 [phi:fa::@11->fb#0] -- register_copy + //SEG202 [110] phi (byte) bd#106 = (byte) bd#138 [phi:fa::@11->fb#1] -- register_copy + //SEG203 [110] phi (byte) bc#114 = (byte~) bc#174 [phi:fa::@11->fb#2] -- register_copy + jsr fb + //SEG204 [64] phi from fa fa::@11 to fa::@1 [phi:fa/fa::@11->fa::@1] + b1_from_fa: + b1_from_b11: + //SEG205 [64] phi (byte) be#108 = (byte) be#107 [phi:fa/fa::@11->fa::@1#0] -- register_copy + //SEG206 [64] phi (byte) bd#139 = (byte) bd#138 [phi:fa/fa::@11->fa::@1#1] -- register_copy + //SEG207 [64] phi (byte) bc#40 = (byte) bc#39 [phi:fa/fa::@11->fa::@1#2] -- register_copy + jmp b1 + //SEG208 fa::@1 + b1: + //SEG209 [65] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 1) goto fa::@2 -- vbuz1_neq_vbuc1_then_la1 + lda bb_27 + cmp #1 + bne b2_from_b1 + jmp b12 + //SEG210 fa::@12 + b12: + //SEG211 [66] (byte) bc#106 ← ++ (byte) bc#40 -- vbuxx=_inc_vbuxx + inx + //SEG212 [67] (byte~) bc#175 ← (byte) bc#106 -- vbuz1=vbuxx + stx bc + //SEG213 [68] call fb + //SEG214 [110] phi from fa::@12 to fb [phi:fa::@12->fb] + fb_from_b12: + //SEG215 [110] phi (byte) be#118 = (byte) be#108 [phi:fa::@12->fb#0] -- register_copy + //SEG216 [110] phi (byte) bd#106 = (byte) bd#139 [phi:fa::@12->fb#1] -- register_copy + //SEG217 [110] phi (byte) bc#114 = (byte~) bc#175 [phi:fa::@12->fb#2] -- register_copy + jsr fb + //SEG218 [69] phi from fa::@1 fa::@12 to fa::@2 [phi:fa::@1/fa::@12->fa::@2] + b2_from_b1: + b2_from_b12: + //SEG219 [69] phi (byte) be#109 = (byte) be#108 [phi:fa::@1/fa::@12->fa::@2#0] -- register_copy + //SEG220 [69] phi (byte) bd#140 = (byte) bd#139 [phi:fa::@1/fa::@12->fa::@2#1] -- register_copy + //SEG221 [69] phi (byte) bc#41 = (byte) bc#40 [phi:fa::@1/fa::@12->fa::@2#2] -- register_copy + jmp b2 + //SEG222 fa::@2 + b2: + //SEG223 [70] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 2) goto fa::@3 -- vbuz1_neq_vbuc1_then_la1 + lda bb_27 + cmp #2 + bne b3_from_b2 + jmp b13 + //SEG224 fa::@13 + b13: + //SEG225 [71] (byte) bc#107 ← ++ (byte) bc#41 -- vbuxx=_inc_vbuxx + inx + //SEG226 [72] (byte~) bc#176 ← (byte) bc#107 -- vbuz1=vbuxx + stx bc + //SEG227 [73] call fb + //SEG228 [110] phi from fa::@13 to fb [phi:fa::@13->fb] + fb_from_b13: + //SEG229 [110] phi (byte) be#118 = (byte) be#109 [phi:fa::@13->fb#0] -- register_copy + //SEG230 [110] phi (byte) bd#106 = (byte) bd#140 [phi:fa::@13->fb#1] -- register_copy + //SEG231 [110] phi (byte) bc#114 = (byte~) bc#176 [phi:fa::@13->fb#2] -- register_copy + jsr fb + //SEG232 [74] phi from fa::@13 fa::@2 to fa::@3 [phi:fa::@13/fa::@2->fa::@3] + b3_from_b13: + b3_from_b2: + //SEG233 [74] phi (byte) be#110 = (byte) be#35 [phi:fa::@13/fa::@2->fa::@3#0] -- register_copy + //SEG234 [74] phi (byte) bd#141 = (byte) bd#35 [phi:fa::@13/fa::@2->fa::@3#1] -- register_copy + //SEG235 [74] phi (byte) bc#42 = (byte) bc#107 [phi:fa::@13/fa::@2->fa::@3#2] -- register_copy + jmp b3 + //SEG236 fa::@3 + b3: + //SEG237 [75] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto fa::@4 -- vbuz1_neq_vbuc1_then_la1 + lda bb_27 + cmp #3 + bne b4_from_b3 + jmp b14 + //SEG238 fa::@14 + b14: + //SEG239 [76] (byte) bc#108 ← ++ (byte) bc#42 -- vbuxx=_inc_vbuxx + inx + //SEG240 [77] (byte~) bc#177 ← (byte) bc#108 -- vbuz1=vbuxx + stx bc + //SEG241 [78] call fb + //SEG242 [110] phi from fa::@14 to fb [phi:fa::@14->fb] + fb_from_b14: + //SEG243 [110] phi (byte) be#118 = (byte) be#110 [phi:fa::@14->fb#0] -- register_copy + //SEG244 [110] phi (byte) bd#106 = (byte) bd#141 [phi:fa::@14->fb#1] -- register_copy + //SEG245 [110] phi (byte) bc#114 = (byte~) bc#177 [phi:fa::@14->fb#2] -- register_copy + jsr fb + //SEG246 [79] phi from fa::@14 fa::@3 to fa::@4 [phi:fa::@14/fa::@3->fa::@4] + b4_from_b14: + b4_from_b3: + //SEG247 [79] phi (byte) be#111 = (byte) be#35 [phi:fa::@14/fa::@3->fa::@4#0] -- register_copy + //SEG248 [79] phi (byte) bd#142 = (byte) bd#35 [phi:fa::@14/fa::@3->fa::@4#1] -- register_copy + //SEG249 [79] phi (byte) bc#43 = (byte) bc#108 [phi:fa::@14/fa::@3->fa::@4#2] -- register_copy + jmp b4 + //SEG250 fa::@4 + b4: + //SEG251 [80] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto fa::@5 -- vbuz1_neq_vbuc1_then_la1 + lda bb_27 + cmp #4 + bne b5_from_b4 + jmp b15 + //SEG252 fa::@15 + b15: + //SEG253 [81] (byte) bc#109 ← ++ (byte) bc#43 -- vbuxx=_inc_vbuxx + inx + //SEG254 [82] (byte~) bc#178 ← (byte) bc#109 -- vbuz1=vbuxx + stx bc + //SEG255 [83] call fb + //SEG256 [110] phi from fa::@15 to fb [phi:fa::@15->fb] + fb_from_b15: + //SEG257 [110] phi (byte) be#118 = (byte) be#111 [phi:fa::@15->fb#0] -- register_copy + //SEG258 [110] phi (byte) bd#106 = (byte) bd#142 [phi:fa::@15->fb#1] -- register_copy + //SEG259 [110] phi (byte) bc#114 = (byte~) bc#178 [phi:fa::@15->fb#2] -- register_copy + jsr fb + //SEG260 [84] phi from fa::@15 fa::@4 to fa::@5 [phi:fa::@15/fa::@4->fa::@5] + b5_from_b15: + b5_from_b4: + //SEG261 [84] phi (byte) be#112 = (byte) be#35 [phi:fa::@15/fa::@4->fa::@5#0] -- register_copy + //SEG262 [84] phi (byte) bd#100 = (byte) bd#35 [phi:fa::@15/fa::@4->fa::@5#1] -- register_copy + //SEG263 [84] phi (byte) bc#44 = (byte) bc#109 [phi:fa::@15/fa::@4->fa::@5#2] -- register_copy + jmp b5 + //SEG264 fa::@5 + b5: + //SEG265 [85] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 5) goto fa::@6 -- vbuz1_neq_vbuc1_then_la1 + lda bb_27 + cmp #5 + bne b6_from_b5 + jmp b16 + //SEG266 fa::@16 + b16: + //SEG267 [86] (byte) bc#110 ← ++ (byte) bc#44 -- vbuxx=_inc_vbuxx + inx + //SEG268 [87] (byte~) bc#179 ← (byte) bc#110 -- vbuz1=vbuxx + stx bc + //SEG269 [88] call fb + //SEG270 [110] phi from fa::@16 to fb [phi:fa::@16->fb] + fb_from_b16: + //SEG271 [110] phi (byte) be#118 = (byte) be#112 [phi:fa::@16->fb#0] -- register_copy + //SEG272 [110] phi (byte) bd#106 = (byte) bd#100 [phi:fa::@16->fb#1] -- register_copy + //SEG273 [110] phi (byte) bc#114 = (byte~) bc#179 [phi:fa::@16->fb#2] -- register_copy + jsr fb + //SEG274 [89] phi from fa::@16 fa::@5 to fa::@6 [phi:fa::@16/fa::@5->fa::@6] + b6_from_b16: + b6_from_b5: + //SEG275 [89] phi (byte) be#113 = (byte) be#35 [phi:fa::@16/fa::@5->fa::@6#0] -- register_copy + //SEG276 [89] phi (byte) bd#101 = (byte) bd#35 [phi:fa::@16/fa::@5->fa::@6#1] -- register_copy + //SEG277 [89] phi (byte) bc#45 = (byte) bc#110 [phi:fa::@16/fa::@5->fa::@6#2] -- register_copy + jmp b6 + //SEG278 fa::@6 + b6: + //SEG279 [90] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 6) goto fa::@7 -- vbuz1_neq_vbuc1_then_la1 + lda bb_27 + cmp #6 + bne b7_from_b6 + jmp b17 + //SEG280 fa::@17 + b17: + //SEG281 [91] (byte) bc#111 ← ++ (byte) bc#45 -- vbuxx=_inc_vbuxx + inx + //SEG282 [92] (byte~) bc#180 ← (byte) bc#111 -- vbuz1=vbuxx + stx bc + //SEG283 [93] call fb + //SEG284 [110] phi from fa::@17 to fb [phi:fa::@17->fb] + fb_from_b17: + //SEG285 [110] phi (byte) be#118 = (byte) be#113 [phi:fa::@17->fb#0] -- register_copy + //SEG286 [110] phi (byte) bd#106 = (byte) bd#101 [phi:fa::@17->fb#1] -- register_copy + //SEG287 [110] phi (byte) bc#114 = (byte~) bc#180 [phi:fa::@17->fb#2] -- register_copy + jsr fb + //SEG288 [94] phi from fa::@17 fa::@6 to fa::@7 [phi:fa::@17/fa::@6->fa::@7] + b7_from_b17: + b7_from_b6: + //SEG289 [94] phi (byte) be#114 = (byte) be#35 [phi:fa::@17/fa::@6->fa::@7#0] -- register_copy + //SEG290 [94] phi (byte) bd#102 = (byte) bd#35 [phi:fa::@17/fa::@6->fa::@7#1] -- register_copy + //SEG291 [94] phi (byte) bc#46 = (byte) bc#111 [phi:fa::@17/fa::@6->fa::@7#2] -- register_copy + jmp b7 + //SEG292 fa::@7 + b7: + //SEG293 [95] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto fa::@8 -- vbuz1_neq_vbuc1_then_la1 + lda bb_27 + cmp #7 + bne b8_from_b7 + jmp b18 + //SEG294 fa::@18 + b18: + //SEG295 [96] (byte) bc#112 ← ++ (byte) bc#46 -- vbuxx=_inc_vbuxx + inx + //SEG296 [97] (byte~) bc#181 ← (byte) bc#112 -- vbuz1=vbuxx + stx bc + //SEG297 [98] call fb + //SEG298 [110] phi from fa::@18 to fb [phi:fa::@18->fb] + fb_from_b18: + //SEG299 [110] phi (byte) be#118 = (byte) be#114 [phi:fa::@18->fb#0] -- register_copy + //SEG300 [110] phi (byte) bd#106 = (byte) bd#102 [phi:fa::@18->fb#1] -- register_copy + //SEG301 [110] phi (byte) bc#114 = (byte~) bc#181 [phi:fa::@18->fb#2] -- register_copy + jsr fb + //SEG302 [99] phi from fa::@18 fa::@7 to fa::@8 [phi:fa::@18/fa::@7->fa::@8] + b8_from_b18: + b8_from_b7: + //SEG303 [99] phi (byte) be#115 = (byte) be#35 [phi:fa::@18/fa::@7->fa::@8#0] -- register_copy + //SEG304 [99] phi (byte) bd#103 = (byte) bd#35 [phi:fa::@18/fa::@7->fa::@8#1] -- register_copy + //SEG305 [99] phi (byte) bc#47 = (byte) bc#112 [phi:fa::@18/fa::@7->fa::@8#2] -- register_copy + jmp b8 + //SEG306 fa::@8 + b8: + //SEG307 [100] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto fa::@9 -- vbuz1_neq_vbuc1_then_la1 + lda bb_27 + cmp #8 + bne b9_from_b8 + jmp b19 + //SEG308 fa::@19 + b19: + //SEG309 [101] (byte) bc#123 ← ++ (byte) bc#47 -- vbuxx=_inc_vbuxx + inx + //SEG310 [102] (byte~) bc#182 ← (byte) bc#123 -- vbuz1=vbuxx + stx bc + //SEG311 [103] call fb + //SEG312 [110] phi from fa::@19 to fb [phi:fa::@19->fb] + fb_from_b19: + //SEG313 [110] phi (byte) be#118 = (byte) be#115 [phi:fa::@19->fb#0] -- register_copy + //SEG314 [110] phi (byte) bd#106 = (byte) bd#103 [phi:fa::@19->fb#1] -- register_copy + //SEG315 [110] phi (byte) bc#114 = (byte~) bc#182 [phi:fa::@19->fb#2] -- register_copy + jsr fb + //SEG316 [104] phi from fa::@19 fa::@8 to fa::@9 [phi:fa::@19/fa::@8->fa::@9] + b9_from_b19: + b9_from_b8: + //SEG317 [104] phi (byte) be#116 = (byte) be#35 [phi:fa::@19/fa::@8->fa::@9#0] -- register_copy + //SEG318 [104] phi (byte) bd#104 = (byte) bd#35 [phi:fa::@19/fa::@8->fa::@9#1] -- register_copy + //SEG319 [104] phi (byte) bc#113 = (byte) bc#123 [phi:fa::@19/fa::@8->fa::@9#2] -- register_copy + jmp b9 + //SEG320 fa::@9 + b9: + //SEG321 [105] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 9) goto fa::@return -- vbuz1_neq_vbuc1_then_la1 + lda bb_27 + cmp #9 + bne breturn_from_b9 + //SEG322 [106] phi from fa::@9 to fa::@20 [phi:fa::@9->fa::@20] + b20_from_b9: + jmp b20 + //SEG323 fa::@20 + b20: + //SEG324 [107] call fb + //SEG325 [110] phi from fa::@20 to fb [phi:fa::@20->fb] + fb_from_b20: + //SEG326 [110] phi (byte) be#118 = (byte) be#116 [phi:fa::@20->fb#0] -- register_copy + //SEG327 [110] phi (byte) bd#106 = (byte) bd#104 [phi:fa::@20->fb#1] -- register_copy + //SEG328 [110] phi (byte) bc#114 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:fa::@20->fb#2] -- vbuz1=vbuc1 + lda #0 + sta bc + jsr fb + //SEG329 [108] phi from fa::@20 to fa::@return [phi:fa::@20->fa::@return] + breturn_from_b20: + //SEG330 [108] phi (byte) be#24 = (byte) be#35 [phi:fa::@20->fa::@return#0] -- register_copy + //SEG331 [108] phi (byte) bd#24 = (byte) bd#35 [phi:fa::@20->fa::@return#1] -- register_copy + //SEG332 [108] phi (byte) bc#24 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:fa::@20->fa::@return#2] -- vbuxx=vbuc1 + ldx #0 + jmp breturn + //SEG333 [108] phi from fa::@9 to fa::@return [phi:fa::@9->fa::@return] + breturn_from_b9: + //SEG334 [108] phi (byte) be#24 = (byte) be#116 [phi:fa::@9->fa::@return#0] -- register_copy + //SEG335 [108] phi (byte) bd#24 = (byte) bd#104 [phi:fa::@9->fa::@return#1] -- register_copy + //SEG336 [108] phi (byte) bc#24 = (byte) bc#113 [phi:fa::@9->fa::@return#2] -- register_copy + jmp breturn + //SEG337 fa::@return + breturn: + //SEG338 [109] return + rts +} +//SEG339 fb +fb: { + //SEG340 [111] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto fb::@1 -- vbuz1_neq_0_then_la1 + lda bc + cmp #0 + bne b1_from_fb + jmp b11 + //SEG341 fb::@11 + b11: + //SEG342 [112] (byte) bd#148 ← ++ (byte) bd#106 -- vbuyy=_inc_vbuyy + iny + //SEG343 [113] (byte~) bd#238 ← (byte) bd#148 -- vbuaa=vbuyy + tya + //SEG344 [114] call fc + //SEG345 [161] phi from fb::@11 to fc [phi:fb::@11->fc] + fc_from_b11: + //SEG346 [161] phi (byte) be#129 = (byte) be#118 [phi:fb::@11->fc#0] -- register_copy + //SEG347 [161] phi (byte) bd#117 = (byte~) bd#238 [phi:fb::@11->fc#1] -- register_copy + jsr fc + //SEG348 [115] phi from fb fb::@11 to fb::@1 [phi:fb/fb::@11->fb::@1] + b1_from_fb: + b1_from_b11: + //SEG349 [115] phi (byte) be#119 = (byte) be#118 [phi:fb/fb::@11->fb::@1#0] -- register_copy + //SEG350 [115] phi (byte) bd#107 = (byte) bd#106 [phi:fb/fb::@11->fb::@1#1] -- register_copy + jmp b1 + //SEG351 fb::@1 + b1: + //SEG352 [116] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 1) goto fb::@2 -- vbuz1_neq_vbuc1_then_la1 + lda bc + cmp #1 + bne b2_from_b1 + jmp b12 + //SEG353 fb::@12 + b12: + //SEG354 [117] (byte) bd#149 ← ++ (byte) bd#107 -- vbuyy=_inc_vbuyy + iny + //SEG355 [118] (byte~) bd#239 ← (byte) bd#149 -- vbuaa=vbuyy + tya + //SEG356 [119] call fc + //SEG357 [161] phi from fb::@12 to fc [phi:fb::@12->fc] + fc_from_b12: + //SEG358 [161] phi (byte) be#129 = (byte) be#119 [phi:fb::@12->fc#0] -- register_copy + //SEG359 [161] phi (byte) bd#117 = (byte~) bd#239 [phi:fb::@12->fc#1] -- register_copy + jsr fc + //SEG360 [120] phi from fb::@1 fb::@12 to fb::@2 [phi:fb::@1/fb::@12->fb::@2] + b2_from_b1: + b2_from_b12: + //SEG361 [120] phi (byte) be#120 = (byte) be#119 [phi:fb::@1/fb::@12->fb::@2#0] -- register_copy + //SEG362 [120] phi (byte) bd#108 = (byte) bd#107 [phi:fb::@1/fb::@12->fb::@2#1] -- register_copy + jmp b2 + //SEG363 fb::@2 + b2: + //SEG364 [121] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 2) goto fb::@3 -- vbuz1_neq_vbuc1_then_la1 + lda bc + cmp #2 + bne b3_from_b2 + jmp b13 + //SEG365 fb::@13 + b13: + //SEG366 [122] (byte) bd#150 ← ++ (byte) bd#108 -- vbuyy=_inc_vbuyy + iny + //SEG367 [123] (byte~) bd#240 ← (byte) bd#150 -- vbuaa=vbuyy + tya + //SEG368 [124] call fc + //SEG369 [161] phi from fb::@13 to fc [phi:fb::@13->fc] + fc_from_b13: + //SEG370 [161] phi (byte) be#129 = (byte) be#120 [phi:fb::@13->fc#0] -- register_copy + //SEG371 [161] phi (byte) bd#117 = (byte~) bd#240 [phi:fb::@13->fc#1] -- register_copy + jsr fc + //SEG372 [125] phi from fb::@13 fb::@2 to fb::@3 [phi:fb::@13/fb::@2->fb::@3] + b3_from_b13: + b3_from_b2: + //SEG373 [125] phi (byte) be#121 = (byte) be#46 [phi:fb::@13/fb::@2->fb::@3#0] -- register_copy + //SEG374 [125] phi (byte) bd#109 = (byte) bd#150 [phi:fb::@13/fb::@2->fb::@3#1] -- register_copy + jmp b3 + //SEG375 fb::@3 + b3: + //SEG376 [126] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto fb::@4 -- vbuz1_neq_vbuc1_then_la1 + lda bc + cmp #3 + bne b4_from_b3 + jmp b14 + //SEG377 fb::@14 + b14: + //SEG378 [127] (byte) bd#151 ← ++ (byte) bd#109 -- vbuyy=_inc_vbuyy + iny + //SEG379 [128] (byte~) bd#241 ← (byte) bd#151 -- vbuaa=vbuyy + tya + //SEG380 [129] call fc + //SEG381 [161] phi from fb::@14 to fc [phi:fb::@14->fc] + fc_from_b14: + //SEG382 [161] phi (byte) be#129 = (byte) be#121 [phi:fb::@14->fc#0] -- register_copy + //SEG383 [161] phi (byte) bd#117 = (byte~) bd#241 [phi:fb::@14->fc#1] -- register_copy + jsr fc + //SEG384 [130] phi from fb::@14 fb::@3 to fb::@4 [phi:fb::@14/fb::@3->fb::@4] + b4_from_b14: + b4_from_b3: + //SEG385 [130] phi (byte) be#122 = (byte) be#46 [phi:fb::@14/fb::@3->fb::@4#0] -- register_copy + //SEG386 [130] phi (byte) bd#110 = (byte) bd#151 [phi:fb::@14/fb::@3->fb::@4#1] -- register_copy + jmp b4 + //SEG387 fb::@4 + b4: + //SEG388 [131] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto fb::@5 -- vbuz1_neq_vbuc1_then_la1 + lda bc + cmp #4 + bne b5_from_b4 + jmp b15 + //SEG389 fb::@15 + b15: + //SEG390 [132] (byte) bd#152 ← ++ (byte) bd#110 -- vbuyy=_inc_vbuyy + iny + //SEG391 [133] (byte~) bd#242 ← (byte) bd#152 -- vbuaa=vbuyy + tya + //SEG392 [134] call fc + //SEG393 [161] phi from fb::@15 to fc [phi:fb::@15->fc] + fc_from_b15: + //SEG394 [161] phi (byte) be#129 = (byte) be#122 [phi:fb::@15->fc#0] -- register_copy + //SEG395 [161] phi (byte) bd#117 = (byte~) bd#242 [phi:fb::@15->fc#1] -- register_copy + jsr fc + //SEG396 [135] phi from fb::@15 fb::@4 to fb::@5 [phi:fb::@15/fb::@4->fb::@5] + b5_from_b15: + b5_from_b4: + //SEG397 [135] phi (byte) be#123 = (byte) be#46 [phi:fb::@15/fb::@4->fb::@5#0] -- register_copy + //SEG398 [135] phi (byte) bd#111 = (byte) bd#152 [phi:fb::@15/fb::@4->fb::@5#1] -- register_copy + jmp b5 + //SEG399 fb::@5 + b5: + //SEG400 [136] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 5) goto fb::@6 -- vbuz1_neq_vbuc1_then_la1 + lda bc + cmp #5 + bne b6_from_b5 + jmp b16 + //SEG401 fb::@16 + b16: + //SEG402 [137] (byte) bd#153 ← ++ (byte) bd#111 -- vbuyy=_inc_vbuyy + iny + //SEG403 [138] (byte~) bd#243 ← (byte) bd#153 -- vbuaa=vbuyy + tya + //SEG404 [139] call fc + //SEG405 [161] phi from fb::@16 to fc [phi:fb::@16->fc] + fc_from_b16: + //SEG406 [161] phi (byte) be#129 = (byte) be#123 [phi:fb::@16->fc#0] -- register_copy + //SEG407 [161] phi (byte) bd#117 = (byte~) bd#243 [phi:fb::@16->fc#1] -- register_copy + jsr fc + //SEG408 [140] phi from fb::@16 fb::@5 to fb::@6 [phi:fb::@16/fb::@5->fb::@6] + b6_from_b16: + b6_from_b5: + //SEG409 [140] phi (byte) be#124 = (byte) be#46 [phi:fb::@16/fb::@5->fb::@6#0] -- register_copy + //SEG410 [140] phi (byte) bd#112 = (byte) bd#153 [phi:fb::@16/fb::@5->fb::@6#1] -- register_copy + jmp b6 + //SEG411 fb::@6 + b6: + //SEG412 [141] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 6) goto fb::@7 -- vbuz1_neq_vbuc1_then_la1 + lda bc + cmp #6 + bne b7_from_b6 + jmp b17 + //SEG413 fb::@17 + b17: + //SEG414 [142] (byte) bd#154 ← ++ (byte) bd#112 -- vbuyy=_inc_vbuyy + iny + //SEG415 [143] (byte~) bd#244 ← (byte) bd#154 -- vbuaa=vbuyy + tya + //SEG416 [144] call fc + //SEG417 [161] phi from fb::@17 to fc [phi:fb::@17->fc] + fc_from_b17: + //SEG418 [161] phi (byte) be#129 = (byte) be#124 [phi:fb::@17->fc#0] -- register_copy + //SEG419 [161] phi (byte) bd#117 = (byte~) bd#244 [phi:fb::@17->fc#1] -- register_copy + jsr fc + //SEG420 [145] phi from fb::@17 fb::@6 to fb::@7 [phi:fb::@17/fb::@6->fb::@7] + b7_from_b17: + b7_from_b6: + //SEG421 [145] phi (byte) be#125 = (byte) be#46 [phi:fb::@17/fb::@6->fb::@7#0] -- register_copy + //SEG422 [145] phi (byte) bd#113 = (byte) bd#154 [phi:fb::@17/fb::@6->fb::@7#1] -- register_copy + jmp b7 + //SEG423 fb::@7 + b7: + //SEG424 [146] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto fb::@8 -- vbuz1_neq_vbuc1_then_la1 + lda bc + cmp #7 + bne b8_from_b7 + jmp b18 + //SEG425 fb::@18 + b18: + //SEG426 [147] (byte) bd#155 ← ++ (byte) bd#113 -- vbuyy=_inc_vbuyy + iny + //SEG427 [148] (byte~) bd#245 ← (byte) bd#155 -- vbuaa=vbuyy + tya + //SEG428 [149] call fc + //SEG429 [161] phi from fb::@18 to fc [phi:fb::@18->fc] + fc_from_b18: + //SEG430 [161] phi (byte) be#129 = (byte) be#125 [phi:fb::@18->fc#0] -- register_copy + //SEG431 [161] phi (byte) bd#117 = (byte~) bd#245 [phi:fb::@18->fc#1] -- register_copy + jsr fc + //SEG432 [150] phi from fb::@18 fb::@7 to fb::@8 [phi:fb::@18/fb::@7->fb::@8] + b8_from_b18: + b8_from_b7: + //SEG433 [150] phi (byte) be#126 = (byte) be#46 [phi:fb::@18/fb::@7->fb::@8#0] -- register_copy + //SEG434 [150] phi (byte) bd#114 = (byte) bd#155 [phi:fb::@18/fb::@7->fb::@8#1] -- register_copy + jmp b8 + //SEG435 fb::@8 + b8: + //SEG436 [151] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto fb::@9 -- vbuz1_neq_vbuc1_then_la1 + lda bc + cmp #8 + bne b9_from_b8 + jmp b19 + //SEG437 fb::@19 + b19: + //SEG438 [152] (byte) bd#157 ← ++ (byte) bd#114 -- vbuyy=_inc_vbuyy + iny + //SEG439 [153] (byte~) bd#246 ← (byte) bd#157 -- vbuaa=vbuyy + tya + //SEG440 [154] call fc + //SEG441 [161] phi from fb::@19 to fc [phi:fb::@19->fc] + fc_from_b19: + //SEG442 [161] phi (byte) be#129 = (byte) be#126 [phi:fb::@19->fc#0] -- register_copy + //SEG443 [161] phi (byte) bd#117 = (byte~) bd#246 [phi:fb::@19->fc#1] -- register_copy + jsr fc + //SEG444 [155] phi from fb::@19 fb::@8 to fb::@9 [phi:fb::@19/fb::@8->fb::@9] + b9_from_b19: + b9_from_b8: + //SEG445 [155] phi (byte) be#127 = (byte) be#46 [phi:fb::@19/fb::@8->fb::@9#0] -- register_copy + //SEG446 [155] phi (byte) bd#115 = (byte) bd#157 [phi:fb::@19/fb::@8->fb::@9#1] -- register_copy + jmp b9 + //SEG447 fb::@9 + b9: + //SEG448 [156] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 9) goto fb::@return -- vbuz1_neq_vbuc1_then_la1 + lda bc + cmp #9 + bne breturn_from_b9 + //SEG449 [157] phi from fb::@9 to fb::@20 [phi:fb::@9->fb::@20] + b20_from_b9: + jmp b20 + //SEG450 fb::@20 + b20: + //SEG451 [158] call fc + //SEG452 [161] phi from fb::@20 to fc [phi:fb::@20->fc] + fc_from_b20: + //SEG453 [161] phi (byte) be#129 = (byte) be#127 [phi:fb::@20->fc#0] -- register_copy + //SEG454 [161] phi (byte) bd#117 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:fb::@20->fc#1] -- vbuaa=vbuc1 + lda #0 + jsr fc + //SEG455 [159] phi from fb::@20 to fb::@return [phi:fb::@20->fb::@return] + breturn_from_b20: + //SEG456 [159] phi (byte) be#35 = (byte) be#46 [phi:fb::@20->fb::@return#0] -- register_copy + //SEG457 [159] phi (byte) bd#35 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:fb::@20->fb::@return#1] -- vbuyy=vbuc1 + ldy #0 + jmp breturn + //SEG458 [159] phi from fb::@9 to fb::@return [phi:fb::@9->fb::@return] + breturn_from_b9: + //SEG459 [159] phi (byte) be#35 = (byte) be#127 [phi:fb::@9->fb::@return#0] -- register_copy + //SEG460 [159] phi (byte) bd#35 = (byte) bd#115 [phi:fb::@9->fb::@return#1] -- register_copy + jmp breturn + //SEG461 fb::@return + breturn: + //SEG462 [160] return + rts +} +//SEG463 fc +fc: { + //SEG464 [162] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto fc::@1 -- vbuaa_neq_0_then_la1 + cmp #0 + bne b1_from_fc + jmp b11 + //SEG465 fc::@11 + b11: + //SEG466 [163] (byte) be#36 ← ++ (byte) be#129 -- vbuz1=_inc_vbuz1 + inc be + //SEG467 [164] phi from fc fc::@11 to fc::@1 [phi:fc/fc::@11->fc::@1] + b1_from_fc: + b1_from_b11: + //SEG468 [164] phi (byte) be#130 = (byte) be#129 [phi:fc/fc::@11->fc::@1#0] -- register_copy + jmp b1 + //SEG469 fc::@1 + b1: + //SEG470 [165] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 1) goto fc::@2 -- vbuaa_neq_vbuc1_then_la1 + cmp #1 + bne b2_from_b1 + jmp b12 + //SEG471 fc::@12 + b12: + //SEG472 [166] (byte) be#37 ← ++ (byte) be#130 -- vbuz1=_inc_vbuz1 + inc be + //SEG473 [167] phi from fc::@1 fc::@12 to fc::@2 [phi:fc::@1/fc::@12->fc::@2] + b2_from_b1: + b2_from_b12: + //SEG474 [167] phi (byte) be#131 = (byte) be#130 [phi:fc::@1/fc::@12->fc::@2#0] -- register_copy + jmp b2 + //SEG475 fc::@2 + b2: + //SEG476 [168] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 2) goto fc::@3 -- vbuaa_neq_vbuc1_then_la1 + cmp #2 + bne b3_from_b2 + jmp b13 + //SEG477 fc::@13 + b13: + //SEG478 [169] (byte) be#38 ← ++ (byte) be#131 -- vbuz1=_inc_vbuz1 + inc be + //SEG479 [170] phi from fc::@13 fc::@2 to fc::@3 [phi:fc::@13/fc::@2->fc::@3] + b3_from_b13: + b3_from_b2: + //SEG480 [170] phi (byte) be#132 = (byte) be#38 [phi:fc::@13/fc::@2->fc::@3#0] -- register_copy + jmp b3 + //SEG481 fc::@3 + b3: + //SEG482 [171] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto fc::@4 -- vbuaa_neq_vbuc1_then_la1 + cmp #3 + bne b4_from_b3 + jmp b14 + //SEG483 fc::@14 + b14: + //SEG484 [172] (byte) be#39 ← ++ (byte) be#132 -- vbuz1=_inc_vbuz1 + inc be + //SEG485 [173] phi from fc::@14 fc::@3 to fc::@4 [phi:fc::@14/fc::@3->fc::@4] + b4_from_b14: + b4_from_b3: + //SEG486 [173] phi (byte) be#133 = (byte) be#39 [phi:fc::@14/fc::@3->fc::@4#0] -- register_copy + jmp b4 + //SEG487 fc::@4 + b4: + //SEG488 [174] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto fc::@5 -- vbuaa_neq_vbuc1_then_la1 + cmp #4 + bne b5_from_b4 + jmp b15 + //SEG489 fc::@15 + b15: + //SEG490 [175] (byte) be#40 ← ++ (byte) be#133 -- vbuz1=_inc_vbuz1 + inc be + //SEG491 [176] phi from fc::@15 fc::@4 to fc::@5 [phi:fc::@15/fc::@4->fc::@5] + b5_from_b15: + b5_from_b4: + //SEG492 [176] phi (byte) be#134 = (byte) be#40 [phi:fc::@15/fc::@4->fc::@5#0] -- register_copy + jmp b5 + //SEG493 fc::@5 + b5: + //SEG494 [177] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 5) goto fc::@6 -- vbuaa_neq_vbuc1_then_la1 + cmp #5 + bne b6_from_b5 + jmp b16 + //SEG495 fc::@16 + b16: + //SEG496 [178] (byte) be#41 ← ++ (byte) be#134 -- vbuz1=_inc_vbuz1 + inc be + //SEG497 [179] phi from fc::@16 fc::@5 to fc::@6 [phi:fc::@16/fc::@5->fc::@6] + b6_from_b16: + b6_from_b5: + //SEG498 [179] phi (byte) be#135 = (byte) be#41 [phi:fc::@16/fc::@5->fc::@6#0] -- register_copy + jmp b6 + //SEG499 fc::@6 + b6: + //SEG500 [180] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 6) goto fc::@7 -- vbuaa_neq_vbuc1_then_la1 + cmp #6 + bne b7_from_b6 + jmp b17 + //SEG501 fc::@17 + b17: + //SEG502 [181] (byte) be#42 ← ++ (byte) be#135 -- vbuz1=_inc_vbuz1 + inc be + //SEG503 [182] phi from fc::@17 fc::@6 to fc::@7 [phi:fc::@17/fc::@6->fc::@7] + b7_from_b17: + b7_from_b6: + //SEG504 [182] phi (byte) be#136 = (byte) be#42 [phi:fc::@17/fc::@6->fc::@7#0] -- register_copy + jmp b7 + //SEG505 fc::@7 + b7: + //SEG506 [183] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto fc::@8 -- vbuaa_neq_vbuc1_then_la1 + cmp #7 + bne b8_from_b7 + jmp b18 + //SEG507 fc::@18 + b18: + //SEG508 [184] (byte) be#43 ← ++ (byte) be#136 -- vbuz1=_inc_vbuz1 + inc be + //SEG509 [185] phi from fc::@18 fc::@7 to fc::@8 [phi:fc::@18/fc::@7->fc::@8] + b8_from_b18: + b8_from_b7: + //SEG510 [185] phi (byte) be#137 = (byte) be#43 [phi:fc::@18/fc::@7->fc::@8#0] -- register_copy + jmp b8 + //SEG511 fc::@8 + b8: + //SEG512 [186] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto fc::@9 -- vbuaa_neq_vbuc1_then_la1 + cmp #8 + bne b9_from_b8 + jmp b19 + //SEG513 fc::@19 + b19: + //SEG514 [187] (byte) be#44 ← ++ (byte) be#137 -- vbuz1=_inc_vbuz1 + inc be + //SEG515 [188] phi from fc::@19 fc::@8 to fc::@9 [phi:fc::@19/fc::@8->fc::@9] + b9_from_b19: + b9_from_b8: + //SEG516 [188] phi (byte) be#138 = (byte) be#44 [phi:fc::@19/fc::@8->fc::@9#0] -- register_copy + jmp b9 + //SEG517 fc::@9 + b9: + //SEG518 [189] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 9) goto fc::@30 -- vbuaa_neq_vbuc1_then_la1 + cmp #9 + bne b30_from_b9 + //SEG519 [190] phi from fc::@9 to fc::@return [phi:fc::@9->fc::@return] + breturn_from_b9: + //SEG520 [190] phi (byte) be#46 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:fc::@9->fc::@return#0] -- vbuz1=vbuc1 + lda #0 + sta be + jmp breturn + //SEG521 fc::@return + breturn: + //SEG522 [191] return + rts + //SEG523 [192] phi from fc::@9 to fc::@30 [phi:fc::@9->fc::@30] + b30_from_b9: + jmp b30 + //SEG524 fc::@30 + b30: + //SEG525 [190] phi from fc::@30 to fc::@return [phi:fc::@30->fc::@return] + breturn_from_b30: + //SEG526 [190] phi (byte) be#46 = (byte) be#138 [phi:fc::@30->fc::@return#0] -- register_copy + jmp breturn +} + +ASSEMBLER OPTIMIZATIONS +Removing instruction jmp b5 +Removing instruction jmp bend +Removing instruction jmp b1 +Removing instruction jmp b2 +Removing instruction jmp b7 +Removing instruction jmp b11 +Removing instruction jmp b1 +Removing instruction jmp b12 +Removing instruction jmp b2 +Removing instruction jmp b13 +Removing instruction jmp b3 +Removing instruction jmp b14 +Removing instruction jmp b4 +Removing instruction jmp b15 +Removing instruction jmp b5 +Removing instruction jmp b16 +Removing instruction jmp b6 +Removing instruction jmp b17 +Removing instruction jmp b7 +Removing instruction jmp b18 +Removing instruction jmp b8 +Removing instruction jmp b19 +Removing instruction jmp b9 +Removing instruction jmp b20 +Removing instruction jmp breturn +Removing instruction jmp b11 +Removing instruction jmp b1 +Removing instruction jmp b12 +Removing instruction jmp b2 +Removing instruction jmp b13 +Removing instruction jmp b3 +Removing instruction jmp b14 +Removing instruction jmp b4 +Removing instruction jmp b15 +Removing instruction jmp b5 +Removing instruction jmp b16 +Removing instruction jmp b6 +Removing instruction jmp b17 +Removing instruction jmp b7 +Removing instruction jmp b18 +Removing instruction jmp b8 +Removing instruction jmp b19 +Removing instruction jmp b9 +Removing instruction jmp b20 +Removing instruction jmp breturn +Removing instruction jmp b11 +Removing instruction jmp b1 +Removing instruction jmp b12 +Removing instruction jmp b2 +Removing instruction jmp b13 +Removing instruction jmp b3 +Removing instruction jmp b14 +Removing instruction jmp b4 +Removing instruction jmp b15 +Removing instruction jmp b5 +Removing instruction jmp b16 +Removing instruction jmp b6 +Removing instruction jmp b17 +Removing instruction jmp b7 +Removing instruction jmp b18 +Removing instruction jmp b8 +Removing instruction jmp b19 +Removing instruction jmp b9 +Removing instruction jmp b20 +Removing instruction jmp breturn +Removing instruction jmp b11 +Removing instruction jmp b1 +Removing instruction jmp b12 +Removing instruction jmp b2 +Removing instruction jmp b13 +Removing instruction jmp b3 +Removing instruction jmp b14 +Removing instruction jmp b4 +Removing instruction jmp b15 +Removing instruction jmp b5 +Removing instruction jmp b16 +Removing instruction jmp b6 +Removing instruction jmp b17 +Removing instruction jmp b7 +Removing instruction jmp b18 +Removing instruction jmp b8 +Removing instruction jmp b19 +Removing instruction jmp b9 +Removing instruction jmp breturn +Removing instruction jmp b30 +Succesful ASM optimization Pass5NextJumpElimination +Removing instruction lda #0 +Replacing instruction ldy #0 with TAY +Replacing instruction ldx #0 with TAX +Removing instruction lda #0 +Succesful ASM optimization Pass5UnnecesaryLoadElimination +Replacing label b1 with b2 +Replacing label b1_from_f0 with b1 +Replacing label b2_from_b1 with b2 +Replacing label b3_from_b2 with b3 +Replacing label b4_from_b3 with b4 +Replacing label b5_from_b4 with b5 +Replacing label b6_from_b5 with b6 +Replacing label b7_from_b6 with b7 +Replacing label b8_from_b7 with b8 +Replacing label b9_from_b8 with b9 +Replacing label breturn_from_b9 with breturn +Replacing label b1_from_fa with b1 +Replacing label b2_from_b1 with b2 +Replacing label b3_from_b2 with b3 +Replacing label b4_from_b3 with b4 +Replacing label b5_from_b4 with b5 +Replacing label b6_from_b5 with b6 +Replacing label b7_from_b6 with b7 +Replacing label b8_from_b7 with b8 +Replacing label b9_from_b8 with b9 +Replacing label breturn_from_b9 with breturn +Replacing label b1_from_fb with b1 +Replacing label b2_from_b1 with b2 +Replacing label b3_from_b2 with b3 +Replacing label b4_from_b3 with b4 +Replacing label b5_from_b4 with b5 +Replacing label b6_from_b5 with b6 +Replacing label b7_from_b6 with b7 +Replacing label b8_from_b7 with b8 +Replacing label b9_from_b8 with b9 +Replacing label breturn_from_b9 with breturn +Replacing label b1_from_fc with b1 +Replacing label b2_from_b1 with b2 +Replacing label b3_from_b2 with b3 +Replacing label b4_from_b3 with b4 +Replacing label b5_from_b4 with b5 +Replacing label b6_from_b5 with b6 +Replacing label b7_from_b6 with b7 +Replacing label b8_from_b7 with b8 +Replacing label b9_from_b8 with b9 +Replacing label b30_from_b9 with b30 +Removing instruction b5_from_bbegin: +Removing instruction b5: +Removing instruction main_from_b5: +Removing instruction bend_from_b5: +Removing instruction b1: +Removing instruction b2_from_b1: +Removing instruction b1_from_f0: +Removing instruction b1_from_b11: +Removing instruction b2_from_b1: +Removing instruction b2_from_b12: +Removing instruction b3_from_b13: +Removing instruction b3_from_b2: +Removing instruction b4_from_b14: +Removing instruction b4_from_b3: +Removing instruction b5_from_b15: +Removing instruction b5_from_b4: +Removing instruction b6_from_b16: +Removing instruction b6_from_b5: +Removing instruction b7_from_b17: +Removing instruction b7_from_b6: +Removing instruction b8_from_b18: +Removing instruction b8_from_b7: +Removing instruction b9_from_b19: +Removing instruction b9_from_b8: +Removing instruction b20_from_b9: +Removing instruction fa_from_b20: +Removing instruction breturn_from_b9: +Removing instruction b1_from_fa: +Removing instruction b1_from_b11: +Removing instruction b2_from_b1: +Removing instruction b2_from_b12: +Removing instruction b3_from_b13: +Removing instruction b3_from_b2: +Removing instruction b4_from_b14: +Removing instruction b4_from_b3: +Removing instruction b5_from_b15: +Removing instruction b5_from_b4: +Removing instruction b6_from_b16: +Removing instruction b6_from_b5: +Removing instruction b7_from_b17: +Removing instruction b7_from_b6: +Removing instruction b8_from_b18: +Removing instruction b8_from_b7: +Removing instruction b9_from_b19: +Removing instruction b9_from_b8: +Removing instruction b20_from_b9: +Removing instruction fb_from_b20: +Removing instruction breturn_from_b9: +Removing instruction b1_from_fb: +Removing instruction b1_from_b11: +Removing instruction b2_from_b1: +Removing instruction b2_from_b12: +Removing instruction b3_from_b13: +Removing instruction b3_from_b2: +Removing instruction b4_from_b14: +Removing instruction b4_from_b3: +Removing instruction b5_from_b15: +Removing instruction b5_from_b4: +Removing instruction b6_from_b16: +Removing instruction b6_from_b5: +Removing instruction b7_from_b17: +Removing instruction b7_from_b6: +Removing instruction b8_from_b18: +Removing instruction b8_from_b7: +Removing instruction b9_from_b19: +Removing instruction b9_from_b8: +Removing instruction b20_from_b9: +Removing instruction fc_from_b20: +Removing instruction breturn_from_b9: +Removing instruction b1_from_fc: +Removing instruction b1_from_b11: +Removing instruction b2_from_b1: +Removing instruction b2_from_b12: +Removing instruction b3_from_b13: +Removing instruction b3_from_b2: +Removing instruction b4_from_b14: +Removing instruction b4_from_b3: +Removing instruction b5_from_b15: +Removing instruction b5_from_b4: +Removing instruction b6_from_b16: +Removing instruction b6_from_b5: +Removing instruction b7_from_b17: +Removing instruction b7_from_b6: +Removing instruction b8_from_b18: +Removing instruction b8_from_b7: +Removing instruction b9_from_b19: +Removing instruction b9_from_b8: +Removing instruction b30_from_b9: +Removing instruction breturn_from_b30: +Succesful ASM optimization Pass5RedundantLabelElimination +Removing instruction bend: +Removing instruction b1_from_main: +Removing instruction b7: +Removing instruction b1_from_b7: +Removing instruction b11: +Removing instruction fa_from_b11: +Removing instruction b12: +Removing instruction fa_from_b12: +Removing instruction b13: +Removing instruction fa_from_b13: +Removing instruction b14: +Removing instruction fa_from_b14: +Removing instruction b15: +Removing instruction fa_from_b15: +Removing instruction b16: +Removing instruction fa_from_b16: +Removing instruction b17: +Removing instruction fa_from_b17: +Removing instruction b18: +Removing instruction fa_from_b18: +Removing instruction b19: +Removing instruction fa_from_b19: +Removing instruction b20: +Removing instruction breturn_from_b20: +Removing instruction b11: +Removing instruction fb_from_b11: +Removing instruction b12: +Removing instruction fb_from_b12: +Removing instruction b13: +Removing instruction fb_from_b13: +Removing instruction b14: +Removing instruction fb_from_b14: +Removing instruction b15: +Removing instruction fb_from_b15: +Removing instruction b16: +Removing instruction fb_from_b16: +Removing instruction b17: +Removing instruction fb_from_b17: +Removing instruction b18: +Removing instruction fb_from_b18: +Removing instruction b19: +Removing instruction fb_from_b19: +Removing instruction b20: +Removing instruction breturn_from_b20: +Removing instruction b11: +Removing instruction fc_from_b11: +Removing instruction b12: +Removing instruction fc_from_b12: +Removing instruction b13: +Removing instruction fc_from_b13: +Removing instruction b14: +Removing instruction fc_from_b14: +Removing instruction b15: +Removing instruction fc_from_b15: +Removing instruction b16: +Removing instruction fc_from_b16: +Removing instruction b17: +Removing instruction fc_from_b17: +Removing instruction b18: +Removing instruction fc_from_b18: +Removing instruction b19: +Removing instruction fc_from_b19: +Removing instruction b20: +Removing instruction breturn_from_b20: +Removing instruction b11: +Removing instruction b12: +Removing instruction b13: +Removing instruction b14: +Removing instruction b15: +Removing instruction b16: +Removing instruction b17: +Removing instruction b18: +Removing instruction b19: +Removing instruction breturn_from_b9: +Succesful ASM optimization Pass5UnusedLabelElimination +Updating BasicUpstart to call main directly +Removing instruction jsr main +Succesful ASM optimization Pass5SkipBegin +Skipping double jump to breturn in bne b30 +Succesful ASM optimization Pass5DoubleJumpElimination +Removing instruction jmp breturn +Removing instruction jmp breturn +Removing instruction jmp breturn +Succesful ASM optimization Pass5NextJumpElimination +Removing instruction bbegin: +Removing instruction b30: +Succesful ASM optimization Pass5UnusedLabelElimination +Removing unreachable instruction jmp breturn +Succesful ASM optimization Pass5UnreachableCodeElimination + +FINAL SYMBOL TABLE +(label) @5 +(label) @begin +(label) @end +(byte) ba +(byte) ba#1 ba zp ZP_BYTE:2 22.0 +(byte) ba#17 ba zp ZP_BYTE:2 0.7924528301886792 +(byte) bb +(byte) bb#10 bb zp ZP_BYTE:3 2.0 +(byte~) bb#101 bb#101 zp ZP_BYTE:4 4.0 +(byte~) bb#102 bb#102 zp ZP_BYTE:4 4.0 +(byte~) bb#103 bb#103 zp ZP_BYTE:4 4.0 +(byte~) bb#104 bb#104 zp ZP_BYTE:4 4.0 +(byte~) bb#105 bb#105 zp ZP_BYTE:4 4.0 +(byte~) bb#106 bb#106 zp ZP_BYTE:4 4.0 +(byte~) bb#107 bb#107 zp ZP_BYTE:4 4.0 +(byte~) bb#108 bb#108 zp ZP_BYTE:4 4.0 +(byte~) bb#109 bb#109 zp ZP_BYTE:4 4.0 +(byte) bb#11 bb zp ZP_BYTE:3 2.0 +(byte) bb#13 bb zp ZP_BYTE:3 3.25 +(byte) bb#16 bb zp ZP_BYTE:3 5.0 +(byte) bb#18 bb zp ZP_BYTE:3 4.0 +(byte) bb#19 bb zp ZP_BYTE:3 4.0 +(byte) bb#20 bb zp ZP_BYTE:3 4.0 +(byte) bb#21 bb zp ZP_BYTE:3 4.0 +(byte) bb#22 bb zp ZP_BYTE:3 4.0 +(byte) bb#23 bb zp ZP_BYTE:3 4.0 +(byte) bb#24 bb zp ZP_BYTE:3 4.0 +(byte) bb#25 bb zp ZP_BYTE:3 4.0 +(byte) bb#27 bb#27 zp ZP_BYTE:4 0.8260869565217388 +(byte) bb#3 bb zp ZP_BYTE:3 2.0 +(byte) bb#4 bb zp ZP_BYTE:3 2.0 +(byte) bb#49 bb zp ZP_BYTE:3 3.0 +(byte) bb#5 bb zp ZP_BYTE:3 2.0 +(byte) bb#6 bb zp ZP_BYTE:3 2.0 +(byte) bb#66 bb zp ZP_BYTE:3 2.0 +(byte) bb#67 bb zp ZP_BYTE:3 2.0 +(byte) bb#68 bb zp ZP_BYTE:3 2.0 +(byte) bc +(byte) bc#100 reg byte x 2.0 +(byte) bc#101 reg byte x 2.0 +(byte) bc#102 reg byte x 2.0 +(byte) bc#103 reg byte x 2.0 +(byte) bc#104 reg byte x 2.6666666666666665 +(byte) bc#105 reg byte x 2.0 +(byte) bc#106 reg byte x 2.0 +(byte) bc#107 reg byte x 2.0 +(byte) bc#108 reg byte x 2.0 +(byte) bc#109 reg byte x 2.0 +(byte) bc#110 reg byte x 2.0 +(byte) bc#111 reg byte x 2.0 +(byte) bc#112 reg byte x 2.0 +(byte) bc#113 reg byte x 3.0 +(byte) bc#114 bc zp ZP_BYTE:5 0.8260869565217388 +(byte) bc#123 reg byte x 2.0 +(byte) bc#13 reg byte x 3.75 +(byte~) bc#174 bc zp ZP_BYTE:5 4.0 +(byte~) bc#175 bc zp ZP_BYTE:5 4.0 +(byte~) bc#176 bc zp ZP_BYTE:5 4.0 +(byte~) bc#177 bc zp ZP_BYTE:5 4.0 +(byte~) bc#178 bc zp ZP_BYTE:5 4.0 +(byte~) bc#179 bc zp ZP_BYTE:5 4.0 +(byte~) bc#180 bc zp ZP_BYTE:5 4.0 +(byte~) bc#181 bc zp ZP_BYTE:5 4.0 +(byte~) bc#182 bc zp ZP_BYTE:5 4.0 +(byte) bc#2 reg byte x 3.0 +(byte) bc#24 reg byte x 1.8333333333333335 +(byte) bc#39 reg byte x 12.0 +(byte) bc#40 reg byte x 4.0 +(byte) bc#41 reg byte x 4.0 +(byte) bc#42 reg byte x 4.0 +(byte) bc#43 reg byte x 4.0 +(byte) bc#44 reg byte x 4.0 +(byte) bc#45 reg byte x 4.0 +(byte) bc#46 reg byte x 4.0 +(byte) bc#47 reg byte x 4.0 +(byte) bc#63 reg byte x 2.0 +(byte) bc#64 reg byte x 2.0 +(byte) bc#65 reg byte x 2.0 +(byte) bc#66 reg byte x 2.0 +(byte) bd +(byte) bd#100 reg byte y 2.0 +(byte) bd#101 reg byte y 2.0 +(byte) bd#102 reg byte y 2.0 +(byte) bd#103 reg byte y 2.0 +(byte) bd#104 reg byte y 2.6666666666666665 +(byte) bd#106 reg byte y 12.0 +(byte) bd#107 reg byte y 4.0 +(byte) bd#108 reg byte y 4.0 +(byte) bd#109 reg byte y 4.0 +(byte) bd#110 reg byte y 4.0 +(byte) bd#111 reg byte y 4.0 +(byte) bd#112 reg byte y 4.0 +(byte) bd#113 reg byte y 4.0 +(byte) bd#114 reg byte y 4.0 +(byte) bd#115 reg byte y 3.0 +(byte) bd#117 reg byte a 1.3571428571428568 +(byte) bd#129 reg byte y 2.0 +(byte) bd#13 reg byte y 3.75 +(byte) bd#130 reg byte y 2.0 +(byte) bd#131 reg byte y 2.0 +(byte) bd#132 reg byte y 2.0 +(byte) bd#133 reg byte y 2.0 +(byte) bd#134 reg byte y 2.0 +(byte) bd#135 reg byte y 2.0 +(byte) bd#136 reg byte y 2.0 +(byte) bd#137 reg byte y 2.6666666666666665 +(byte) bd#138 reg byte y 6.0 +(byte) bd#139 reg byte y 2.0 +(byte) bd#140 reg byte y 2.0 +(byte) bd#141 reg byte y 2.0 +(byte) bd#142 reg byte y 2.0 +(byte) bd#148 reg byte y 2.0 +(byte) bd#149 reg byte y 2.0 +(byte) bd#150 reg byte y 2.0 +(byte) bd#151 reg byte y 2.0 +(byte) bd#152 reg byte y 2.0 +(byte) bd#153 reg byte y 2.0 +(byte) bd#154 reg byte y 2.0 +(byte) bd#155 reg byte y 2.0 +(byte) bd#157 reg byte y 2.0 +(byte) bd#2 reg byte y 3.0 +(byte~) bd#238 reg byte a 4.0 +(byte~) bd#239 reg byte a 4.0 +(byte) bd#24 reg byte y 2.0 +(byte~) bd#240 reg byte a 4.0 +(byte~) bd#241 reg byte a 4.0 +(byte~) bd#242 reg byte a 4.0 +(byte~) bd#243 reg byte a 4.0 +(byte~) bd#244 reg byte a 4.0 +(byte~) bd#245 reg byte a 4.0 +(byte~) bd#246 reg byte a 4.0 +(byte) bd#35 reg byte y 1.8333333333333335 +(byte) be +(byte) be#100 be zp ZP_BYTE:6 2.0 +(byte) be#101 be zp ZP_BYTE:6 2.0 +(byte) be#102 be zp ZP_BYTE:6 2.0 +(byte) be#103 be zp ZP_BYTE:6 2.0 +(byte) be#104 be zp ZP_BYTE:6 2.0 +(byte) be#105 be zp ZP_BYTE:6 2.6666666666666665 +(byte) be#107 be zp ZP_BYTE:6 6.0 +(byte) be#108 be zp ZP_BYTE:6 2.0 +(byte) be#109 be zp ZP_BYTE:6 2.0 +(byte) be#110 be zp ZP_BYTE:6 2.0 +(byte) be#111 be zp ZP_BYTE:6 2.0 +(byte) be#112 be zp ZP_BYTE:6 2.0 +(byte) be#113 be zp ZP_BYTE:6 2.0 +(byte) be#114 be zp ZP_BYTE:6 2.0 +(byte) be#115 be zp ZP_BYTE:6 2.0 +(byte) be#116 be zp ZP_BYTE:6 2.6666666666666665 +(byte) be#118 be zp ZP_BYTE:6 6.0 +(byte) be#119 be zp ZP_BYTE:6 2.0 +(byte) be#120 be zp ZP_BYTE:6 2.0 +(byte) be#121 be zp ZP_BYTE:6 2.0 +(byte) be#122 be zp ZP_BYTE:6 2.0 +(byte) be#123 be zp ZP_BYTE:6 2.0 +(byte) be#124 be zp ZP_BYTE:6 2.0 +(byte) be#125 be zp ZP_BYTE:6 2.0 +(byte) be#126 be zp ZP_BYTE:6 2.0 +(byte) be#127 be zp ZP_BYTE:6 2.6666666666666665 +(byte) be#129 be zp ZP_BYTE:6 12.0 +(byte) be#13 be zp ZP_BYTE:6 3.75 +(byte) be#130 be zp ZP_BYTE:6 4.0 +(byte) be#131 be zp ZP_BYTE:6 4.0 +(byte) be#132 be zp ZP_BYTE:6 4.0 +(byte) be#133 be zp ZP_BYTE:6 4.0 +(byte) be#134 be zp ZP_BYTE:6 4.0 +(byte) be#135 be zp ZP_BYTE:6 4.0 +(byte) be#136 be zp ZP_BYTE:6 4.0 +(byte) be#137 be zp ZP_BYTE:6 4.0 +(byte) be#138 be zp ZP_BYTE:6 2.0 +(byte) be#142 be zp ZP_BYTE:6 2.0 +(byte) be#143 be zp ZP_BYTE:6 2.0 +(byte) be#144 be zp ZP_BYTE:6 2.0 +(byte) be#2 be zp ZP_BYTE:6 3.0 +(byte) be#24 be zp ZP_BYTE:6 2.0 +(byte) be#35 be zp ZP_BYTE:6 2.0 +(byte) be#36 be zp ZP_BYTE:6 4.0 +(byte) be#37 be zp ZP_BYTE:6 4.0 +(byte) be#38 be zp ZP_BYTE:6 4.0 +(byte) be#39 be zp ZP_BYTE:6 4.0 +(byte) be#40 be zp ZP_BYTE:6 4.0 +(byte) be#41 be zp ZP_BYTE:6 4.0 +(byte) be#42 be zp ZP_BYTE:6 4.0 +(byte) be#43 be zp ZP_BYTE:6 4.0 +(byte) be#44 be zp ZP_BYTE:6 4.0 +(byte) be#46 be zp ZP_BYTE:6 1.8333333333333335 +(void()) f0() +(label) f0::@1 +(label) f0::@11 +(label) f0::@12 +(label) f0::@13 +(label) f0::@14 +(label) f0::@15 +(label) f0::@16 +(label) f0::@17 +(label) f0::@18 +(label) f0::@19 +(label) f0::@2 +(label) f0::@20 +(label) f0::@3 +(label) f0::@4 +(label) f0::@5 +(label) f0::@6 +(label) f0::@7 +(label) f0::@8 +(label) f0::@9 +(label) f0::@return +(void()) fa() +(label) fa::@1 +(label) fa::@11 +(label) fa::@12 +(label) fa::@13 +(label) fa::@14 +(label) fa::@15 +(label) fa::@16 +(label) fa::@17 +(label) fa::@18 +(label) fa::@19 +(label) fa::@2 +(label) fa::@20 +(label) fa::@3 +(label) fa::@4 +(label) fa::@5 +(label) fa::@6 +(label) fa::@7 +(label) fa::@8 +(label) fa::@9 +(label) fa::@return +(void()) fb() +(label) fb::@1 +(label) fb::@11 +(label) fb::@12 +(label) fb::@13 +(label) fb::@14 +(label) fb::@15 +(label) fb::@16 +(label) fb::@17 +(label) fb::@18 +(label) fb::@19 +(label) fb::@2 +(label) fb::@20 +(label) fb::@3 +(label) fb::@4 +(label) fb::@5 +(label) fb::@6 +(label) fb::@7 +(label) fb::@8 +(label) fb::@9 +(label) fb::@return +(void()) fc() +(label) fc::@1 +(label) fc::@11 +(label) fc::@12 +(label) fc::@13 +(label) fc::@14 +(label) fc::@15 +(label) fc::@16 +(label) fc::@17 +(label) fc::@18 +(label) fc::@19 +(label) fc::@2 +(label) fc::@3 +(label) fc::@30 +(label) fc::@4 +(label) fc::@5 +(label) fc::@6 +(label) fc::@7 +(label) fc::@8 +(label) fc::@9 +(label) fc::@return +(void()) main() +(label) main::@1 +(label) main::@2 +(label) main::@7 + +zp ZP_BYTE:2 [ ba#17 ba#1 ] +zp ZP_BYTE:3 [ bb#49 bb#11 bb#25 bb#10 bb#24 bb#68 bb#23 bb#67 bb#22 bb#66 bb#21 bb#6 bb#20 bb#19 bb#18 bb#16 bb#13 bb#3 bb#4 bb#5 ] +zp ZP_BYTE:4 [ bb#27 bb#101 bb#102 bb#103 bb#104 bb#105 bb#106 bb#107 bb#108 bb#109 ] +reg byte x [ bc#113 bc#123 bc#47 bc#112 bc#46 bc#111 bc#45 bc#110 bc#44 bc#109 bc#43 bc#108 bc#42 bc#41 bc#40 bc#39 bc#104 bc#103 bc#102 bc#101 bc#100 bc#66 bc#65 bc#64 bc#63 bc#2 bc#13 bc#24 bc#105 bc#106 bc#107 ] +zp ZP_BYTE:5 [ bc#114 bc#174 bc#175 bc#176 bc#177 bc#178 bc#179 bc#180 bc#181 bc#182 ] +reg byte y [ bd#115 bd#157 bd#114 bd#155 bd#113 bd#154 bd#112 bd#153 bd#111 bd#152 bd#110 bd#151 bd#109 bd#108 bd#107 bd#106 bd#104 bd#103 bd#102 bd#101 bd#100 bd#142 bd#141 bd#140 bd#139 bd#138 bd#137 bd#136 bd#135 bd#134 bd#133 bd#132 bd#131 bd#130 bd#129 bd#2 bd#13 bd#24 bd#35 bd#148 bd#149 bd#150 ] +reg byte a [ bd#117 bd#238 bd#239 bd#240 bd#241 bd#242 bd#243 bd#244 bd#245 bd#246 ] +zp ZP_BYTE:6 [ be#138 be#44 be#137 be#43 be#136 be#42 be#135 be#41 be#134 be#40 be#133 be#39 be#132 be#38 be#131 be#130 be#129 be#127 be#126 be#125 be#124 be#123 be#122 be#121 be#120 be#119 be#118 be#116 be#115 be#114 be#113 be#112 be#111 be#110 be#109 be#108 be#107 be#105 be#104 be#103 be#102 be#101 be#100 be#144 be#143 be#142 be#2 be#13 be#24 be#35 be#46 be#36 be#37 ] + + +FINAL ASSEMBLER +Score: 995 + +//SEG0 Basic Upstart +.pc = $801 "Basic" +:BasicUpstart(main) +.pc = $80d "Program" +//SEG1 Global Constants & labels + .label ba = 2 + .label be = 6 + .label bb = 3 + .label bb_27 = 4 + .label bc = 5 + .label bb_101 = 4 + .label bb_102 = 4 + .label bb_103 = 4 + .label bb_104 = 4 + .label bb_105 = 4 + .label bb_106 = 4 + .label bb_107 = 4 + .label bb_108 = 4 + .label bb_109 = 4 +//SEG2 @begin +//SEG3 [1] phi from @begin to @5 [phi:@begin->@5] +//SEG4 @5 +//SEG5 [2] call main +//SEG6 [4] phi from @5 to main [phi:@5->main] +//SEG7 [3] phi from @5 to @end [phi:@5->@end] +//SEG8 @end +//SEG9 main +main: { + //SEG10 [5] phi from main to main::@1 [phi:main->main::@1] + //SEG11 [5] phi (byte) ba#17 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#0] -- vbuz1=vbuc1 + lda #0 + sta ba + //SEG12 [5] phi (byte) be#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#1] -- vbuz1=vbuc1 + sta be + //SEG13 [5] phi (byte) bd#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#2] -- vbuyy=vbuc1 + tay + //SEG14 [5] phi (byte) bc#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#3] -- vbuxx=vbuc1 + tax + //SEG15 [5] phi (byte) bb#16 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#4] -- vbuz1=vbuc1 + sta bb + //SEG16 main::@1 + //SEG17 [6] phi from main::@1 to main::@2 [phi:main::@1->main::@2] + //SEG18 main::@2 + b2: + //SEG19 [7] call f0 + jsr f0 + //SEG20 main::@7 + //SEG21 [8] (byte) ba#1 ← ++ (byte) ba#17 -- vbuz1=_inc_vbuz1 + inc ba + //SEG22 [5] phi from main::@7 to main::@1 [phi:main::@7->main::@1] + //SEG23 [5] phi (byte) ba#17 = (byte) ba#1 [phi:main::@7->main::@1#0] -- register_copy + //SEG24 [5] phi (byte) be#2 = (byte) be#13 [phi:main::@7->main::@1#1] -- register_copy + //SEG25 [5] phi (byte) bd#2 = (byte) bd#13 [phi:main::@7->main::@1#2] -- register_copy + //SEG26 [5] phi (byte) bc#2 = (byte) bc#13 [phi:main::@7->main::@1#3] -- register_copy + //SEG27 [5] phi (byte) bb#16 = (byte) bb#13 [phi:main::@7->main::@1#4] -- register_copy + jmp b2 +} +//SEG28 f0 +f0: { + //SEG29 [9] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto f0::@1 -- vbuz1_neq_0_then_la1 + lda ba + cmp #0 + bne b1 + //SEG30 f0::@11 + //SEG31 [10] (byte) bb#3 ← ++ (byte) bb#16 -- vbuz1=_inc_vbuz1 + inc bb + //SEG32 [11] (byte~) bb#101 ← (byte) bb#3 -- vbuz1=vbuz2 + lda bb + sta bb_101 + //SEG33 [12] call fa + //SEG34 [59] phi from f0::@11 to fa [phi:f0::@11->fa] + //SEG35 [59] phi (byte) be#107 = (byte) be#2 [phi:f0::@11->fa#0] -- register_copy + //SEG36 [59] phi (byte) bd#138 = (byte) bd#2 [phi:f0::@11->fa#1] -- register_copy + //SEG37 [59] phi (byte) bc#39 = (byte) bc#2 [phi:f0::@11->fa#2] -- register_copy + //SEG38 [59] phi (byte) bb#27 = (byte~) bb#101 [phi:f0::@11->fa#3] -- register_copy + jsr fa + //SEG39 [13] phi from f0 f0::@11 to f0::@1 [phi:f0/f0::@11->f0::@1] + //SEG40 [13] phi (byte) be#142 = (byte) be#2 [phi:f0/f0::@11->f0::@1#0] -- register_copy + //SEG41 [13] phi (byte) bd#129 = (byte) bd#2 [phi:f0/f0::@11->f0::@1#1] -- register_copy + //SEG42 [13] phi (byte) bc#63 = (byte) bc#2 [phi:f0/f0::@11->f0::@1#2] -- register_copy + //SEG43 [13] phi (byte) bb#18 = (byte) bb#16 [phi:f0/f0::@11->f0::@1#3] -- register_copy + //SEG44 f0::@1 + b1: + //SEG45 [14] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 1) goto f0::@2 -- vbuz1_neq_vbuc1_then_la1 + lda ba + cmp #1 + bne b2 + //SEG46 f0::@12 + //SEG47 [15] (byte) bb#4 ← ++ (byte) bb#18 -- vbuz1=_inc_vbuz1 + inc bb + //SEG48 [16] (byte~) bb#102 ← (byte) bb#4 -- vbuz1=vbuz2 + lda bb + sta bb_102 + //SEG49 [17] call fa + //SEG50 [59] phi from f0::@12 to fa [phi:f0::@12->fa] + //SEG51 [59] phi (byte) be#107 = (byte) be#142 [phi:f0::@12->fa#0] -- register_copy + //SEG52 [59] phi (byte) bd#138 = (byte) bd#129 [phi:f0::@12->fa#1] -- register_copy + //SEG53 [59] phi (byte) bc#39 = (byte) bc#63 [phi:f0::@12->fa#2] -- register_copy + //SEG54 [59] phi (byte) bb#27 = (byte~) bb#102 [phi:f0::@12->fa#3] -- register_copy + jsr fa + //SEG55 [18] phi from f0::@1 f0::@12 to f0::@2 [phi:f0::@1/f0::@12->f0::@2] + //SEG56 [18] phi (byte) be#143 = (byte) be#142 [phi:f0::@1/f0::@12->f0::@2#0] -- register_copy + //SEG57 [18] phi (byte) bd#130 = (byte) bd#129 [phi:f0::@1/f0::@12->f0::@2#1] -- register_copy + //SEG58 [18] phi (byte) bc#64 = (byte) bc#63 [phi:f0::@1/f0::@12->f0::@2#2] -- register_copy + //SEG59 [18] phi (byte) bb#19 = (byte) bb#18 [phi:f0::@1/f0::@12->f0::@2#3] -- register_copy + //SEG60 f0::@2 + b2: + //SEG61 [19] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 2) goto f0::@3 -- vbuz1_neq_vbuc1_then_la1 + lda ba + cmp #2 + bne b3 + //SEG62 f0::@13 + //SEG63 [20] (byte) bb#5 ← ++ (byte) bb#19 -- vbuz1=_inc_vbuz1 + inc bb + //SEG64 [21] (byte~) bb#103 ← (byte) bb#5 -- vbuz1=vbuz2 + lda bb + sta bb_103 + //SEG65 [22] call fa + //SEG66 [59] phi from f0::@13 to fa [phi:f0::@13->fa] + //SEG67 [59] phi (byte) be#107 = (byte) be#143 [phi:f0::@13->fa#0] -- register_copy + //SEG68 [59] phi (byte) bd#138 = (byte) bd#130 [phi:f0::@13->fa#1] -- register_copy + //SEG69 [59] phi (byte) bc#39 = (byte) bc#64 [phi:f0::@13->fa#2] -- register_copy + //SEG70 [59] phi (byte) bb#27 = (byte~) bb#103 [phi:f0::@13->fa#3] -- register_copy + jsr fa + //SEG71 [23] phi from f0::@13 f0::@2 to f0::@3 [phi:f0::@13/f0::@2->f0::@3] + //SEG72 [23] phi (byte) be#144 = (byte) be#24 [phi:f0::@13/f0::@2->f0::@3#0] -- register_copy + //SEG73 [23] phi (byte) bd#131 = (byte) bd#24 [phi:f0::@13/f0::@2->f0::@3#1] -- register_copy + //SEG74 [23] phi (byte) bc#65 = (byte) bc#24 [phi:f0::@13/f0::@2->f0::@3#2] -- register_copy + //SEG75 [23] phi (byte) bb#20 = (byte) bb#5 [phi:f0::@13/f0::@2->f0::@3#3] -- register_copy + //SEG76 f0::@3 + b3: + //SEG77 [24] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto f0::@4 -- vbuz1_neq_vbuc1_then_la1 + lda ba + cmp #3 + bne b4 + //SEG78 f0::@14 + //SEG79 [25] (byte) bb#6 ← ++ (byte) bb#20 -- vbuz1=_inc_vbuz1 + inc bb + //SEG80 [26] (byte~) bb#104 ← (byte) bb#6 -- vbuz1=vbuz2 + lda bb + sta bb_104 + //SEG81 [27] call fa + //SEG82 [59] phi from f0::@14 to fa [phi:f0::@14->fa] + //SEG83 [59] phi (byte) be#107 = (byte) be#144 [phi:f0::@14->fa#0] -- register_copy + //SEG84 [59] phi (byte) bd#138 = (byte) bd#131 [phi:f0::@14->fa#1] -- register_copy + //SEG85 [59] phi (byte) bc#39 = (byte) bc#65 [phi:f0::@14->fa#2] -- register_copy + //SEG86 [59] phi (byte) bb#27 = (byte~) bb#104 [phi:f0::@14->fa#3] -- register_copy + jsr fa + //SEG87 [28] phi from f0::@14 f0::@3 to f0::@4 [phi:f0::@14/f0::@3->f0::@4] + //SEG88 [28] phi (byte) be#100 = (byte) be#24 [phi:f0::@14/f0::@3->f0::@4#0] -- register_copy + //SEG89 [28] phi (byte) bd#132 = (byte) bd#24 [phi:f0::@14/f0::@3->f0::@4#1] -- register_copy + //SEG90 [28] phi (byte) bc#66 = (byte) bc#24 [phi:f0::@14/f0::@3->f0::@4#2] -- register_copy + //SEG91 [28] phi (byte) bb#21 = (byte) bb#6 [phi:f0::@14/f0::@3->f0::@4#3] -- register_copy + //SEG92 f0::@4 + b4: + //SEG93 [29] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto f0::@5 -- vbuz1_neq_vbuc1_then_la1 + lda ba + cmp #4 + bne b5 + //SEG94 f0::@15 + //SEG95 [30] (byte) bb#66 ← ++ (byte) bb#21 -- vbuz1=_inc_vbuz1 + inc bb + //SEG96 [31] (byte~) bb#105 ← (byte) bb#66 -- vbuz1=vbuz2 + lda bb + sta bb_105 + //SEG97 [32] call fa + //SEG98 [59] phi from f0::@15 to fa [phi:f0::@15->fa] + //SEG99 [59] phi (byte) be#107 = (byte) be#100 [phi:f0::@15->fa#0] -- register_copy + //SEG100 [59] phi (byte) bd#138 = (byte) bd#132 [phi:f0::@15->fa#1] -- register_copy + //SEG101 [59] phi (byte) bc#39 = (byte) bc#66 [phi:f0::@15->fa#2] -- register_copy + //SEG102 [59] phi (byte) bb#27 = (byte~) bb#105 [phi:f0::@15->fa#3] -- register_copy + jsr fa + //SEG103 [33] phi from f0::@15 f0::@4 to f0::@5 [phi:f0::@15/f0::@4->f0::@5] + //SEG104 [33] phi (byte) be#101 = (byte) be#24 [phi:f0::@15/f0::@4->f0::@5#0] -- register_copy + //SEG105 [33] phi (byte) bd#133 = (byte) bd#24 [phi:f0::@15/f0::@4->f0::@5#1] -- register_copy + //SEG106 [33] phi (byte) bc#100 = (byte) bc#24 [phi:f0::@15/f0::@4->f0::@5#2] -- register_copy + //SEG107 [33] phi (byte) bb#22 = (byte) bb#66 [phi:f0::@15/f0::@4->f0::@5#3] -- register_copy + //SEG108 f0::@5 + b5: + //SEG109 [34] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 5) goto f0::@6 -- vbuz1_neq_vbuc1_then_la1 + lda ba + cmp #5 + bne b6 + //SEG110 f0::@16 + //SEG111 [35] (byte) bb#67 ← ++ (byte) bb#22 -- vbuz1=_inc_vbuz1 + inc bb + //SEG112 [36] (byte~) bb#106 ← (byte) bb#67 -- vbuz1=vbuz2 + lda bb + sta bb_106 + //SEG113 [37] call fa + //SEG114 [59] phi from f0::@16 to fa [phi:f0::@16->fa] + //SEG115 [59] phi (byte) be#107 = (byte) be#101 [phi:f0::@16->fa#0] -- register_copy + //SEG116 [59] phi (byte) bd#138 = (byte) bd#133 [phi:f0::@16->fa#1] -- register_copy + //SEG117 [59] phi (byte) bc#39 = (byte) bc#100 [phi:f0::@16->fa#2] -- register_copy + //SEG118 [59] phi (byte) bb#27 = (byte~) bb#106 [phi:f0::@16->fa#3] -- register_copy + jsr fa + //SEG119 [38] phi from f0::@16 f0::@5 to f0::@6 [phi:f0::@16/f0::@5->f0::@6] + //SEG120 [38] phi (byte) be#102 = (byte) be#24 [phi:f0::@16/f0::@5->f0::@6#0] -- register_copy + //SEG121 [38] phi (byte) bd#134 = (byte) bd#24 [phi:f0::@16/f0::@5->f0::@6#1] -- register_copy + //SEG122 [38] phi (byte) bc#101 = (byte) bc#24 [phi:f0::@16/f0::@5->f0::@6#2] -- register_copy + //SEG123 [38] phi (byte) bb#23 = (byte) bb#67 [phi:f0::@16/f0::@5->f0::@6#3] -- register_copy + //SEG124 f0::@6 + b6: + //SEG125 [39] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 6) goto f0::@7 -- vbuz1_neq_vbuc1_then_la1 + lda ba + cmp #6 + bne b7 + //SEG126 f0::@17 + //SEG127 [40] (byte) bb#68 ← ++ (byte) bb#23 -- vbuz1=_inc_vbuz1 + inc bb + //SEG128 [41] (byte~) bb#107 ← (byte) bb#68 -- vbuz1=vbuz2 + lda bb + sta bb_107 + //SEG129 [42] call fa + //SEG130 [59] phi from f0::@17 to fa [phi:f0::@17->fa] + //SEG131 [59] phi (byte) be#107 = (byte) be#102 [phi:f0::@17->fa#0] -- register_copy + //SEG132 [59] phi (byte) bd#138 = (byte) bd#134 [phi:f0::@17->fa#1] -- register_copy + //SEG133 [59] phi (byte) bc#39 = (byte) bc#101 [phi:f0::@17->fa#2] -- register_copy + //SEG134 [59] phi (byte) bb#27 = (byte~) bb#107 [phi:f0::@17->fa#3] -- register_copy + jsr fa + //SEG135 [43] phi from f0::@17 f0::@6 to f0::@7 [phi:f0::@17/f0::@6->f0::@7] + //SEG136 [43] phi (byte) be#103 = (byte) be#24 [phi:f0::@17/f0::@6->f0::@7#0] -- register_copy + //SEG137 [43] phi (byte) bd#135 = (byte) bd#24 [phi:f0::@17/f0::@6->f0::@7#1] -- register_copy + //SEG138 [43] phi (byte) bc#102 = (byte) bc#24 [phi:f0::@17/f0::@6->f0::@7#2] -- register_copy + //SEG139 [43] phi (byte) bb#24 = (byte) bb#68 [phi:f0::@17/f0::@6->f0::@7#3] -- register_copy + //SEG140 f0::@7 + b7: + //SEG141 [44] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto f0::@8 -- vbuz1_neq_vbuc1_then_la1 + lda ba + cmp #7 + bne b8 + //SEG142 f0::@18 + //SEG143 [45] (byte) bb#10 ← ++ (byte) bb#24 -- vbuz1=_inc_vbuz1 + inc bb + //SEG144 [46] (byte~) bb#108 ← (byte) bb#10 -- vbuz1=vbuz2 + lda bb + sta bb_108 + //SEG145 [47] call fa + //SEG146 [59] phi from f0::@18 to fa [phi:f0::@18->fa] + //SEG147 [59] phi (byte) be#107 = (byte) be#103 [phi:f0::@18->fa#0] -- register_copy + //SEG148 [59] phi (byte) bd#138 = (byte) bd#135 [phi:f0::@18->fa#1] -- register_copy + //SEG149 [59] phi (byte) bc#39 = (byte) bc#102 [phi:f0::@18->fa#2] -- register_copy + //SEG150 [59] phi (byte) bb#27 = (byte~) bb#108 [phi:f0::@18->fa#3] -- register_copy + jsr fa + //SEG151 [48] phi from f0::@18 f0::@7 to f0::@8 [phi:f0::@18/f0::@7->f0::@8] + //SEG152 [48] phi (byte) be#104 = (byte) be#24 [phi:f0::@18/f0::@7->f0::@8#0] -- register_copy + //SEG153 [48] phi (byte) bd#136 = (byte) bd#24 [phi:f0::@18/f0::@7->f0::@8#1] -- register_copy + //SEG154 [48] phi (byte) bc#103 = (byte) bc#24 [phi:f0::@18/f0::@7->f0::@8#2] -- register_copy + //SEG155 [48] phi (byte) bb#25 = (byte) bb#10 [phi:f0::@18/f0::@7->f0::@8#3] -- register_copy + //SEG156 f0::@8 + b8: + //SEG157 [49] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto f0::@9 -- vbuz1_neq_vbuc1_then_la1 + lda ba + cmp #8 + bne b9 + //SEG158 f0::@19 + //SEG159 [50] (byte) bb#11 ← ++ (byte) bb#25 -- vbuz1=_inc_vbuz1 + inc bb + //SEG160 [51] (byte~) bb#109 ← (byte) bb#11 -- vbuz1=vbuz2 + lda bb + sta bb_109 + //SEG161 [52] call fa + //SEG162 [59] phi from f0::@19 to fa [phi:f0::@19->fa] + //SEG163 [59] phi (byte) be#107 = (byte) be#104 [phi:f0::@19->fa#0] -- register_copy + //SEG164 [59] phi (byte) bd#138 = (byte) bd#136 [phi:f0::@19->fa#1] -- register_copy + //SEG165 [59] phi (byte) bc#39 = (byte) bc#103 [phi:f0::@19->fa#2] -- register_copy + //SEG166 [59] phi (byte) bb#27 = (byte~) bb#109 [phi:f0::@19->fa#3] -- register_copy + jsr fa + //SEG167 [53] phi from f0::@19 f0::@8 to f0::@9 [phi:f0::@19/f0::@8->f0::@9] + //SEG168 [53] phi (byte) be#105 = (byte) be#24 [phi:f0::@19/f0::@8->f0::@9#0] -- register_copy + //SEG169 [53] phi (byte) bd#137 = (byte) bd#24 [phi:f0::@19/f0::@8->f0::@9#1] -- register_copy + //SEG170 [53] phi (byte) bc#104 = (byte) bc#24 [phi:f0::@19/f0::@8->f0::@9#2] -- register_copy + //SEG171 [53] phi (byte) bb#49 = (byte) bb#11 [phi:f0::@19/f0::@8->f0::@9#3] -- register_copy + //SEG172 f0::@9 + b9: + //SEG173 [54] if((byte) ba#17!=(byte/signed byte/word/signed word/dword/signed dword) 9) goto f0::@return -- vbuz1_neq_vbuc1_then_la1 + lda ba + cmp #9 + bne breturn + //SEG174 [55] phi from f0::@9 to f0::@20 [phi:f0::@9->f0::@20] + //SEG175 f0::@20 + //SEG176 [56] call fa + //SEG177 [59] phi from f0::@20 to fa [phi:f0::@20->fa] + //SEG178 [59] phi (byte) be#107 = (byte) be#105 [phi:f0::@20->fa#0] -- register_copy + //SEG179 [59] phi (byte) bd#138 = (byte) bd#137 [phi:f0::@20->fa#1] -- register_copy + //SEG180 [59] phi (byte) bc#39 = (byte) bc#104 [phi:f0::@20->fa#2] -- register_copy + //SEG181 [59] phi (byte) bb#27 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:f0::@20->fa#3] -- vbuz1=vbuc1 + lda #0 + sta bb_27 + jsr fa + //SEG182 [57] phi from f0::@20 to f0::@return [phi:f0::@20->f0::@return] + //SEG183 [57] phi (byte) be#13 = (byte) be#24 [phi:f0::@20->f0::@return#0] -- register_copy + //SEG184 [57] phi (byte) bd#13 = (byte) bd#24 [phi:f0::@20->f0::@return#1] -- register_copy + //SEG185 [57] phi (byte) bc#13 = (byte) bc#24 [phi:f0::@20->f0::@return#2] -- register_copy + //SEG186 [57] phi (byte) bb#13 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:f0::@20->f0::@return#3] -- vbuz1=vbuc1 + lda #0 + sta bb + //SEG187 [57] phi from f0::@9 to f0::@return [phi:f0::@9->f0::@return] + //SEG188 [57] phi (byte) be#13 = (byte) be#105 [phi:f0::@9->f0::@return#0] -- register_copy + //SEG189 [57] phi (byte) bd#13 = (byte) bd#137 [phi:f0::@9->f0::@return#1] -- register_copy + //SEG190 [57] phi (byte) bc#13 = (byte) bc#104 [phi:f0::@9->f0::@return#2] -- register_copy + //SEG191 [57] phi (byte) bb#13 = (byte) bb#49 [phi:f0::@9->f0::@return#3] -- register_copy + //SEG192 f0::@return + breturn: + //SEG193 [58] return + rts +} +//SEG194 fa +fa: { + //SEG195 [60] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto fa::@1 -- vbuz1_neq_0_then_la1 + lda bb_27 + cmp #0 + bne b1 + //SEG196 fa::@11 + //SEG197 [61] (byte) bc#105 ← ++ (byte) bc#39 -- vbuxx=_inc_vbuxx + inx + //SEG198 [62] (byte~) bc#174 ← (byte) bc#105 -- vbuz1=vbuxx + stx bc + //SEG199 [63] call fb + //SEG200 [110] phi from fa::@11 to fb [phi:fa::@11->fb] + //SEG201 [110] phi (byte) be#118 = (byte) be#107 [phi:fa::@11->fb#0] -- register_copy + //SEG202 [110] phi (byte) bd#106 = (byte) bd#138 [phi:fa::@11->fb#1] -- register_copy + //SEG203 [110] phi (byte) bc#114 = (byte~) bc#174 [phi:fa::@11->fb#2] -- register_copy + jsr fb + //SEG204 [64] phi from fa fa::@11 to fa::@1 [phi:fa/fa::@11->fa::@1] + //SEG205 [64] phi (byte) be#108 = (byte) be#107 [phi:fa/fa::@11->fa::@1#0] -- register_copy + //SEG206 [64] phi (byte) bd#139 = (byte) bd#138 [phi:fa/fa::@11->fa::@1#1] -- register_copy + //SEG207 [64] phi (byte) bc#40 = (byte) bc#39 [phi:fa/fa::@11->fa::@1#2] -- register_copy + //SEG208 fa::@1 + b1: + //SEG209 [65] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 1) goto fa::@2 -- vbuz1_neq_vbuc1_then_la1 + lda bb_27 + cmp #1 + bne b2 + //SEG210 fa::@12 + //SEG211 [66] (byte) bc#106 ← ++ (byte) bc#40 -- vbuxx=_inc_vbuxx + inx + //SEG212 [67] (byte~) bc#175 ← (byte) bc#106 -- vbuz1=vbuxx + stx bc + //SEG213 [68] call fb + //SEG214 [110] phi from fa::@12 to fb [phi:fa::@12->fb] + //SEG215 [110] phi (byte) be#118 = (byte) be#108 [phi:fa::@12->fb#0] -- register_copy + //SEG216 [110] phi (byte) bd#106 = (byte) bd#139 [phi:fa::@12->fb#1] -- register_copy + //SEG217 [110] phi (byte) bc#114 = (byte~) bc#175 [phi:fa::@12->fb#2] -- register_copy + jsr fb + //SEG218 [69] phi from fa::@1 fa::@12 to fa::@2 [phi:fa::@1/fa::@12->fa::@2] + //SEG219 [69] phi (byte) be#109 = (byte) be#108 [phi:fa::@1/fa::@12->fa::@2#0] -- register_copy + //SEG220 [69] phi (byte) bd#140 = (byte) bd#139 [phi:fa::@1/fa::@12->fa::@2#1] -- register_copy + //SEG221 [69] phi (byte) bc#41 = (byte) bc#40 [phi:fa::@1/fa::@12->fa::@2#2] -- register_copy + //SEG222 fa::@2 + b2: + //SEG223 [70] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 2) goto fa::@3 -- vbuz1_neq_vbuc1_then_la1 + lda bb_27 + cmp #2 + bne b3 + //SEG224 fa::@13 + //SEG225 [71] (byte) bc#107 ← ++ (byte) bc#41 -- vbuxx=_inc_vbuxx + inx + //SEG226 [72] (byte~) bc#176 ← (byte) bc#107 -- vbuz1=vbuxx + stx bc + //SEG227 [73] call fb + //SEG228 [110] phi from fa::@13 to fb [phi:fa::@13->fb] + //SEG229 [110] phi (byte) be#118 = (byte) be#109 [phi:fa::@13->fb#0] -- register_copy + //SEG230 [110] phi (byte) bd#106 = (byte) bd#140 [phi:fa::@13->fb#1] -- register_copy + //SEG231 [110] phi (byte) bc#114 = (byte~) bc#176 [phi:fa::@13->fb#2] -- register_copy + jsr fb + //SEG232 [74] phi from fa::@13 fa::@2 to fa::@3 [phi:fa::@13/fa::@2->fa::@3] + //SEG233 [74] phi (byte) be#110 = (byte) be#35 [phi:fa::@13/fa::@2->fa::@3#0] -- register_copy + //SEG234 [74] phi (byte) bd#141 = (byte) bd#35 [phi:fa::@13/fa::@2->fa::@3#1] -- register_copy + //SEG235 [74] phi (byte) bc#42 = (byte) bc#107 [phi:fa::@13/fa::@2->fa::@3#2] -- register_copy + //SEG236 fa::@3 + b3: + //SEG237 [75] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto fa::@4 -- vbuz1_neq_vbuc1_then_la1 + lda bb_27 + cmp #3 + bne b4 + //SEG238 fa::@14 + //SEG239 [76] (byte) bc#108 ← ++ (byte) bc#42 -- vbuxx=_inc_vbuxx + inx + //SEG240 [77] (byte~) bc#177 ← (byte) bc#108 -- vbuz1=vbuxx + stx bc + //SEG241 [78] call fb + //SEG242 [110] phi from fa::@14 to fb [phi:fa::@14->fb] + //SEG243 [110] phi (byte) be#118 = (byte) be#110 [phi:fa::@14->fb#0] -- register_copy + //SEG244 [110] phi (byte) bd#106 = (byte) bd#141 [phi:fa::@14->fb#1] -- register_copy + //SEG245 [110] phi (byte) bc#114 = (byte~) bc#177 [phi:fa::@14->fb#2] -- register_copy + jsr fb + //SEG246 [79] phi from fa::@14 fa::@3 to fa::@4 [phi:fa::@14/fa::@3->fa::@4] + //SEG247 [79] phi (byte) be#111 = (byte) be#35 [phi:fa::@14/fa::@3->fa::@4#0] -- register_copy + //SEG248 [79] phi (byte) bd#142 = (byte) bd#35 [phi:fa::@14/fa::@3->fa::@4#1] -- register_copy + //SEG249 [79] phi (byte) bc#43 = (byte) bc#108 [phi:fa::@14/fa::@3->fa::@4#2] -- register_copy + //SEG250 fa::@4 + b4: + //SEG251 [80] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto fa::@5 -- vbuz1_neq_vbuc1_then_la1 + lda bb_27 + cmp #4 + bne b5 + //SEG252 fa::@15 + //SEG253 [81] (byte) bc#109 ← ++ (byte) bc#43 -- vbuxx=_inc_vbuxx + inx + //SEG254 [82] (byte~) bc#178 ← (byte) bc#109 -- vbuz1=vbuxx + stx bc + //SEG255 [83] call fb + //SEG256 [110] phi from fa::@15 to fb [phi:fa::@15->fb] + //SEG257 [110] phi (byte) be#118 = (byte) be#111 [phi:fa::@15->fb#0] -- register_copy + //SEG258 [110] phi (byte) bd#106 = (byte) bd#142 [phi:fa::@15->fb#1] -- register_copy + //SEG259 [110] phi (byte) bc#114 = (byte~) bc#178 [phi:fa::@15->fb#2] -- register_copy + jsr fb + //SEG260 [84] phi from fa::@15 fa::@4 to fa::@5 [phi:fa::@15/fa::@4->fa::@5] + //SEG261 [84] phi (byte) be#112 = (byte) be#35 [phi:fa::@15/fa::@4->fa::@5#0] -- register_copy + //SEG262 [84] phi (byte) bd#100 = (byte) bd#35 [phi:fa::@15/fa::@4->fa::@5#1] -- register_copy + //SEG263 [84] phi (byte) bc#44 = (byte) bc#109 [phi:fa::@15/fa::@4->fa::@5#2] -- register_copy + //SEG264 fa::@5 + b5: + //SEG265 [85] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 5) goto fa::@6 -- vbuz1_neq_vbuc1_then_la1 + lda bb_27 + cmp #5 + bne b6 + //SEG266 fa::@16 + //SEG267 [86] (byte) bc#110 ← ++ (byte) bc#44 -- vbuxx=_inc_vbuxx + inx + //SEG268 [87] (byte~) bc#179 ← (byte) bc#110 -- vbuz1=vbuxx + stx bc + //SEG269 [88] call fb + //SEG270 [110] phi from fa::@16 to fb [phi:fa::@16->fb] + //SEG271 [110] phi (byte) be#118 = (byte) be#112 [phi:fa::@16->fb#0] -- register_copy + //SEG272 [110] phi (byte) bd#106 = (byte) bd#100 [phi:fa::@16->fb#1] -- register_copy + //SEG273 [110] phi (byte) bc#114 = (byte~) bc#179 [phi:fa::@16->fb#2] -- register_copy + jsr fb + //SEG274 [89] phi from fa::@16 fa::@5 to fa::@6 [phi:fa::@16/fa::@5->fa::@6] + //SEG275 [89] phi (byte) be#113 = (byte) be#35 [phi:fa::@16/fa::@5->fa::@6#0] -- register_copy + //SEG276 [89] phi (byte) bd#101 = (byte) bd#35 [phi:fa::@16/fa::@5->fa::@6#1] -- register_copy + //SEG277 [89] phi (byte) bc#45 = (byte) bc#110 [phi:fa::@16/fa::@5->fa::@6#2] -- register_copy + //SEG278 fa::@6 + b6: + //SEG279 [90] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 6) goto fa::@7 -- vbuz1_neq_vbuc1_then_la1 + lda bb_27 + cmp #6 + bne b7 + //SEG280 fa::@17 + //SEG281 [91] (byte) bc#111 ← ++ (byte) bc#45 -- vbuxx=_inc_vbuxx + inx + //SEG282 [92] (byte~) bc#180 ← (byte) bc#111 -- vbuz1=vbuxx + stx bc + //SEG283 [93] call fb + //SEG284 [110] phi from fa::@17 to fb [phi:fa::@17->fb] + //SEG285 [110] phi (byte) be#118 = (byte) be#113 [phi:fa::@17->fb#0] -- register_copy + //SEG286 [110] phi (byte) bd#106 = (byte) bd#101 [phi:fa::@17->fb#1] -- register_copy + //SEG287 [110] phi (byte) bc#114 = (byte~) bc#180 [phi:fa::@17->fb#2] -- register_copy + jsr fb + //SEG288 [94] phi from fa::@17 fa::@6 to fa::@7 [phi:fa::@17/fa::@6->fa::@7] + //SEG289 [94] phi (byte) be#114 = (byte) be#35 [phi:fa::@17/fa::@6->fa::@7#0] -- register_copy + //SEG290 [94] phi (byte) bd#102 = (byte) bd#35 [phi:fa::@17/fa::@6->fa::@7#1] -- register_copy + //SEG291 [94] phi (byte) bc#46 = (byte) bc#111 [phi:fa::@17/fa::@6->fa::@7#2] -- register_copy + //SEG292 fa::@7 + b7: + //SEG293 [95] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto fa::@8 -- vbuz1_neq_vbuc1_then_la1 + lda bb_27 + cmp #7 + bne b8 + //SEG294 fa::@18 + //SEG295 [96] (byte) bc#112 ← ++ (byte) bc#46 -- vbuxx=_inc_vbuxx + inx + //SEG296 [97] (byte~) bc#181 ← (byte) bc#112 -- vbuz1=vbuxx + stx bc + //SEG297 [98] call fb + //SEG298 [110] phi from fa::@18 to fb [phi:fa::@18->fb] + //SEG299 [110] phi (byte) be#118 = (byte) be#114 [phi:fa::@18->fb#0] -- register_copy + //SEG300 [110] phi (byte) bd#106 = (byte) bd#102 [phi:fa::@18->fb#1] -- register_copy + //SEG301 [110] phi (byte) bc#114 = (byte~) bc#181 [phi:fa::@18->fb#2] -- register_copy + jsr fb + //SEG302 [99] phi from fa::@18 fa::@7 to fa::@8 [phi:fa::@18/fa::@7->fa::@8] + //SEG303 [99] phi (byte) be#115 = (byte) be#35 [phi:fa::@18/fa::@7->fa::@8#0] -- register_copy + //SEG304 [99] phi (byte) bd#103 = (byte) bd#35 [phi:fa::@18/fa::@7->fa::@8#1] -- register_copy + //SEG305 [99] phi (byte) bc#47 = (byte) bc#112 [phi:fa::@18/fa::@7->fa::@8#2] -- register_copy + //SEG306 fa::@8 + b8: + //SEG307 [100] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto fa::@9 -- vbuz1_neq_vbuc1_then_la1 + lda bb_27 + cmp #8 + bne b9 + //SEG308 fa::@19 + //SEG309 [101] (byte) bc#123 ← ++ (byte) bc#47 -- vbuxx=_inc_vbuxx + inx + //SEG310 [102] (byte~) bc#182 ← (byte) bc#123 -- vbuz1=vbuxx + stx bc + //SEG311 [103] call fb + //SEG312 [110] phi from fa::@19 to fb [phi:fa::@19->fb] + //SEG313 [110] phi (byte) be#118 = (byte) be#115 [phi:fa::@19->fb#0] -- register_copy + //SEG314 [110] phi (byte) bd#106 = (byte) bd#103 [phi:fa::@19->fb#1] -- register_copy + //SEG315 [110] phi (byte) bc#114 = (byte~) bc#182 [phi:fa::@19->fb#2] -- register_copy + jsr fb + //SEG316 [104] phi from fa::@19 fa::@8 to fa::@9 [phi:fa::@19/fa::@8->fa::@9] + //SEG317 [104] phi (byte) be#116 = (byte) be#35 [phi:fa::@19/fa::@8->fa::@9#0] -- register_copy + //SEG318 [104] phi (byte) bd#104 = (byte) bd#35 [phi:fa::@19/fa::@8->fa::@9#1] -- register_copy + //SEG319 [104] phi (byte) bc#113 = (byte) bc#123 [phi:fa::@19/fa::@8->fa::@9#2] -- register_copy + //SEG320 fa::@9 + b9: + //SEG321 [105] if((byte) bb#27!=(byte/signed byte/word/signed word/dword/signed dword) 9) goto fa::@return -- vbuz1_neq_vbuc1_then_la1 + lda bb_27 + cmp #9 + bne breturn + //SEG322 [106] phi from fa::@9 to fa::@20 [phi:fa::@9->fa::@20] + //SEG323 fa::@20 + //SEG324 [107] call fb + //SEG325 [110] phi from fa::@20 to fb [phi:fa::@20->fb] + //SEG326 [110] phi (byte) be#118 = (byte) be#116 [phi:fa::@20->fb#0] -- register_copy + //SEG327 [110] phi (byte) bd#106 = (byte) bd#104 [phi:fa::@20->fb#1] -- register_copy + //SEG328 [110] phi (byte) bc#114 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:fa::@20->fb#2] -- vbuz1=vbuc1 + lda #0 + sta bc + jsr fb + //SEG329 [108] phi from fa::@20 to fa::@return [phi:fa::@20->fa::@return] + //SEG330 [108] phi (byte) be#24 = (byte) be#35 [phi:fa::@20->fa::@return#0] -- register_copy + //SEG331 [108] phi (byte) bd#24 = (byte) bd#35 [phi:fa::@20->fa::@return#1] -- register_copy + //SEG332 [108] phi (byte) bc#24 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:fa::@20->fa::@return#2] -- vbuxx=vbuc1 + ldx #0 + //SEG333 [108] phi from fa::@9 to fa::@return [phi:fa::@9->fa::@return] + //SEG334 [108] phi (byte) be#24 = (byte) be#116 [phi:fa::@9->fa::@return#0] -- register_copy + //SEG335 [108] phi (byte) bd#24 = (byte) bd#104 [phi:fa::@9->fa::@return#1] -- register_copy + //SEG336 [108] phi (byte) bc#24 = (byte) bc#113 [phi:fa::@9->fa::@return#2] -- register_copy + //SEG337 fa::@return + breturn: + //SEG338 [109] return + rts +} +//SEG339 fb +fb: { + //SEG340 [111] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto fb::@1 -- vbuz1_neq_0_then_la1 + lda bc + cmp #0 + bne b1 + //SEG341 fb::@11 + //SEG342 [112] (byte) bd#148 ← ++ (byte) bd#106 -- vbuyy=_inc_vbuyy + iny + //SEG343 [113] (byte~) bd#238 ← (byte) bd#148 -- vbuaa=vbuyy + tya + //SEG344 [114] call fc + //SEG345 [161] phi from fb::@11 to fc [phi:fb::@11->fc] + //SEG346 [161] phi (byte) be#129 = (byte) be#118 [phi:fb::@11->fc#0] -- register_copy + //SEG347 [161] phi (byte) bd#117 = (byte~) bd#238 [phi:fb::@11->fc#1] -- register_copy + jsr fc + //SEG348 [115] phi from fb fb::@11 to fb::@1 [phi:fb/fb::@11->fb::@1] + //SEG349 [115] phi (byte) be#119 = (byte) be#118 [phi:fb/fb::@11->fb::@1#0] -- register_copy + //SEG350 [115] phi (byte) bd#107 = (byte) bd#106 [phi:fb/fb::@11->fb::@1#1] -- register_copy + //SEG351 fb::@1 + b1: + //SEG352 [116] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 1) goto fb::@2 -- vbuz1_neq_vbuc1_then_la1 + lda bc + cmp #1 + bne b2 + //SEG353 fb::@12 + //SEG354 [117] (byte) bd#149 ← ++ (byte) bd#107 -- vbuyy=_inc_vbuyy + iny + //SEG355 [118] (byte~) bd#239 ← (byte) bd#149 -- vbuaa=vbuyy + tya + //SEG356 [119] call fc + //SEG357 [161] phi from fb::@12 to fc [phi:fb::@12->fc] + //SEG358 [161] phi (byte) be#129 = (byte) be#119 [phi:fb::@12->fc#0] -- register_copy + //SEG359 [161] phi (byte) bd#117 = (byte~) bd#239 [phi:fb::@12->fc#1] -- register_copy + jsr fc + //SEG360 [120] phi from fb::@1 fb::@12 to fb::@2 [phi:fb::@1/fb::@12->fb::@2] + //SEG361 [120] phi (byte) be#120 = (byte) be#119 [phi:fb::@1/fb::@12->fb::@2#0] -- register_copy + //SEG362 [120] phi (byte) bd#108 = (byte) bd#107 [phi:fb::@1/fb::@12->fb::@2#1] -- register_copy + //SEG363 fb::@2 + b2: + //SEG364 [121] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 2) goto fb::@3 -- vbuz1_neq_vbuc1_then_la1 + lda bc + cmp #2 + bne b3 + //SEG365 fb::@13 + //SEG366 [122] (byte) bd#150 ← ++ (byte) bd#108 -- vbuyy=_inc_vbuyy + iny + //SEG367 [123] (byte~) bd#240 ← (byte) bd#150 -- vbuaa=vbuyy + tya + //SEG368 [124] call fc + //SEG369 [161] phi from fb::@13 to fc [phi:fb::@13->fc] + //SEG370 [161] phi (byte) be#129 = (byte) be#120 [phi:fb::@13->fc#0] -- register_copy + //SEG371 [161] phi (byte) bd#117 = (byte~) bd#240 [phi:fb::@13->fc#1] -- register_copy + jsr fc + //SEG372 [125] phi from fb::@13 fb::@2 to fb::@3 [phi:fb::@13/fb::@2->fb::@3] + //SEG373 [125] phi (byte) be#121 = (byte) be#46 [phi:fb::@13/fb::@2->fb::@3#0] -- register_copy + //SEG374 [125] phi (byte) bd#109 = (byte) bd#150 [phi:fb::@13/fb::@2->fb::@3#1] -- register_copy + //SEG375 fb::@3 + b3: + //SEG376 [126] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto fb::@4 -- vbuz1_neq_vbuc1_then_la1 + lda bc + cmp #3 + bne b4 + //SEG377 fb::@14 + //SEG378 [127] (byte) bd#151 ← ++ (byte) bd#109 -- vbuyy=_inc_vbuyy + iny + //SEG379 [128] (byte~) bd#241 ← (byte) bd#151 -- vbuaa=vbuyy + tya + //SEG380 [129] call fc + //SEG381 [161] phi from fb::@14 to fc [phi:fb::@14->fc] + //SEG382 [161] phi (byte) be#129 = (byte) be#121 [phi:fb::@14->fc#0] -- register_copy + //SEG383 [161] phi (byte) bd#117 = (byte~) bd#241 [phi:fb::@14->fc#1] -- register_copy + jsr fc + //SEG384 [130] phi from fb::@14 fb::@3 to fb::@4 [phi:fb::@14/fb::@3->fb::@4] + //SEG385 [130] phi (byte) be#122 = (byte) be#46 [phi:fb::@14/fb::@3->fb::@4#0] -- register_copy + //SEG386 [130] phi (byte) bd#110 = (byte) bd#151 [phi:fb::@14/fb::@3->fb::@4#1] -- register_copy + //SEG387 fb::@4 + b4: + //SEG388 [131] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto fb::@5 -- vbuz1_neq_vbuc1_then_la1 + lda bc + cmp #4 + bne b5 + //SEG389 fb::@15 + //SEG390 [132] (byte) bd#152 ← ++ (byte) bd#110 -- vbuyy=_inc_vbuyy + iny + //SEG391 [133] (byte~) bd#242 ← (byte) bd#152 -- vbuaa=vbuyy + tya + //SEG392 [134] call fc + //SEG393 [161] phi from fb::@15 to fc [phi:fb::@15->fc] + //SEG394 [161] phi (byte) be#129 = (byte) be#122 [phi:fb::@15->fc#0] -- register_copy + //SEG395 [161] phi (byte) bd#117 = (byte~) bd#242 [phi:fb::@15->fc#1] -- register_copy + jsr fc + //SEG396 [135] phi from fb::@15 fb::@4 to fb::@5 [phi:fb::@15/fb::@4->fb::@5] + //SEG397 [135] phi (byte) be#123 = (byte) be#46 [phi:fb::@15/fb::@4->fb::@5#0] -- register_copy + //SEG398 [135] phi (byte) bd#111 = (byte) bd#152 [phi:fb::@15/fb::@4->fb::@5#1] -- register_copy + //SEG399 fb::@5 + b5: + //SEG400 [136] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 5) goto fb::@6 -- vbuz1_neq_vbuc1_then_la1 + lda bc + cmp #5 + bne b6 + //SEG401 fb::@16 + //SEG402 [137] (byte) bd#153 ← ++ (byte) bd#111 -- vbuyy=_inc_vbuyy + iny + //SEG403 [138] (byte~) bd#243 ← (byte) bd#153 -- vbuaa=vbuyy + tya + //SEG404 [139] call fc + //SEG405 [161] phi from fb::@16 to fc [phi:fb::@16->fc] + //SEG406 [161] phi (byte) be#129 = (byte) be#123 [phi:fb::@16->fc#0] -- register_copy + //SEG407 [161] phi (byte) bd#117 = (byte~) bd#243 [phi:fb::@16->fc#1] -- register_copy + jsr fc + //SEG408 [140] phi from fb::@16 fb::@5 to fb::@6 [phi:fb::@16/fb::@5->fb::@6] + //SEG409 [140] phi (byte) be#124 = (byte) be#46 [phi:fb::@16/fb::@5->fb::@6#0] -- register_copy + //SEG410 [140] phi (byte) bd#112 = (byte) bd#153 [phi:fb::@16/fb::@5->fb::@6#1] -- register_copy + //SEG411 fb::@6 + b6: + //SEG412 [141] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 6) goto fb::@7 -- vbuz1_neq_vbuc1_then_la1 + lda bc + cmp #6 + bne b7 + //SEG413 fb::@17 + //SEG414 [142] (byte) bd#154 ← ++ (byte) bd#112 -- vbuyy=_inc_vbuyy + iny + //SEG415 [143] (byte~) bd#244 ← (byte) bd#154 -- vbuaa=vbuyy + tya + //SEG416 [144] call fc + //SEG417 [161] phi from fb::@17 to fc [phi:fb::@17->fc] + //SEG418 [161] phi (byte) be#129 = (byte) be#124 [phi:fb::@17->fc#0] -- register_copy + //SEG419 [161] phi (byte) bd#117 = (byte~) bd#244 [phi:fb::@17->fc#1] -- register_copy + jsr fc + //SEG420 [145] phi from fb::@17 fb::@6 to fb::@7 [phi:fb::@17/fb::@6->fb::@7] + //SEG421 [145] phi (byte) be#125 = (byte) be#46 [phi:fb::@17/fb::@6->fb::@7#0] -- register_copy + //SEG422 [145] phi (byte) bd#113 = (byte) bd#154 [phi:fb::@17/fb::@6->fb::@7#1] -- register_copy + //SEG423 fb::@7 + b7: + //SEG424 [146] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto fb::@8 -- vbuz1_neq_vbuc1_then_la1 + lda bc + cmp #7 + bne b8 + //SEG425 fb::@18 + //SEG426 [147] (byte) bd#155 ← ++ (byte) bd#113 -- vbuyy=_inc_vbuyy + iny + //SEG427 [148] (byte~) bd#245 ← (byte) bd#155 -- vbuaa=vbuyy + tya + //SEG428 [149] call fc + //SEG429 [161] phi from fb::@18 to fc [phi:fb::@18->fc] + //SEG430 [161] phi (byte) be#129 = (byte) be#125 [phi:fb::@18->fc#0] -- register_copy + //SEG431 [161] phi (byte) bd#117 = (byte~) bd#245 [phi:fb::@18->fc#1] -- register_copy + jsr fc + //SEG432 [150] phi from fb::@18 fb::@7 to fb::@8 [phi:fb::@18/fb::@7->fb::@8] + //SEG433 [150] phi (byte) be#126 = (byte) be#46 [phi:fb::@18/fb::@7->fb::@8#0] -- register_copy + //SEG434 [150] phi (byte) bd#114 = (byte) bd#155 [phi:fb::@18/fb::@7->fb::@8#1] -- register_copy + //SEG435 fb::@8 + b8: + //SEG436 [151] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto fb::@9 -- vbuz1_neq_vbuc1_then_la1 + lda bc + cmp #8 + bne b9 + //SEG437 fb::@19 + //SEG438 [152] (byte) bd#157 ← ++ (byte) bd#114 -- vbuyy=_inc_vbuyy + iny + //SEG439 [153] (byte~) bd#246 ← (byte) bd#157 -- vbuaa=vbuyy + tya + //SEG440 [154] call fc + //SEG441 [161] phi from fb::@19 to fc [phi:fb::@19->fc] + //SEG442 [161] phi (byte) be#129 = (byte) be#126 [phi:fb::@19->fc#0] -- register_copy + //SEG443 [161] phi (byte) bd#117 = (byte~) bd#246 [phi:fb::@19->fc#1] -- register_copy + jsr fc + //SEG444 [155] phi from fb::@19 fb::@8 to fb::@9 [phi:fb::@19/fb::@8->fb::@9] + //SEG445 [155] phi (byte) be#127 = (byte) be#46 [phi:fb::@19/fb::@8->fb::@9#0] -- register_copy + //SEG446 [155] phi (byte) bd#115 = (byte) bd#157 [phi:fb::@19/fb::@8->fb::@9#1] -- register_copy + //SEG447 fb::@9 + b9: + //SEG448 [156] if((byte) bc#114!=(byte/signed byte/word/signed word/dword/signed dword) 9) goto fb::@return -- vbuz1_neq_vbuc1_then_la1 + lda bc + cmp #9 + bne breturn + //SEG449 [157] phi from fb::@9 to fb::@20 [phi:fb::@9->fb::@20] + //SEG450 fb::@20 + //SEG451 [158] call fc + //SEG452 [161] phi from fb::@20 to fc [phi:fb::@20->fc] + //SEG453 [161] phi (byte) be#129 = (byte) be#127 [phi:fb::@20->fc#0] -- register_copy + //SEG454 [161] phi (byte) bd#117 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:fb::@20->fc#1] -- vbuaa=vbuc1 + lda #0 + jsr fc + //SEG455 [159] phi from fb::@20 to fb::@return [phi:fb::@20->fb::@return] + //SEG456 [159] phi (byte) be#35 = (byte) be#46 [phi:fb::@20->fb::@return#0] -- register_copy + //SEG457 [159] phi (byte) bd#35 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:fb::@20->fb::@return#1] -- vbuyy=vbuc1 + ldy #0 + //SEG458 [159] phi from fb::@9 to fb::@return [phi:fb::@9->fb::@return] + //SEG459 [159] phi (byte) be#35 = (byte) be#127 [phi:fb::@9->fb::@return#0] -- register_copy + //SEG460 [159] phi (byte) bd#35 = (byte) bd#115 [phi:fb::@9->fb::@return#1] -- register_copy + //SEG461 fb::@return + breturn: + //SEG462 [160] return + rts +} +//SEG463 fc +fc: { + //SEG464 [162] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto fc::@1 -- vbuaa_neq_0_then_la1 + cmp #0 + bne b1 + //SEG465 fc::@11 + //SEG466 [163] (byte) be#36 ← ++ (byte) be#129 -- vbuz1=_inc_vbuz1 + inc be + //SEG467 [164] phi from fc fc::@11 to fc::@1 [phi:fc/fc::@11->fc::@1] + //SEG468 [164] phi (byte) be#130 = (byte) be#129 [phi:fc/fc::@11->fc::@1#0] -- register_copy + //SEG469 fc::@1 + b1: + //SEG470 [165] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 1) goto fc::@2 -- vbuaa_neq_vbuc1_then_la1 + cmp #1 + bne b2 + //SEG471 fc::@12 + //SEG472 [166] (byte) be#37 ← ++ (byte) be#130 -- vbuz1=_inc_vbuz1 + inc be + //SEG473 [167] phi from fc::@1 fc::@12 to fc::@2 [phi:fc::@1/fc::@12->fc::@2] + //SEG474 [167] phi (byte) be#131 = (byte) be#130 [phi:fc::@1/fc::@12->fc::@2#0] -- register_copy + //SEG475 fc::@2 + b2: + //SEG476 [168] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 2) goto fc::@3 -- vbuaa_neq_vbuc1_then_la1 + cmp #2 + bne b3 + //SEG477 fc::@13 + //SEG478 [169] (byte) be#38 ← ++ (byte) be#131 -- vbuz1=_inc_vbuz1 + inc be + //SEG479 [170] phi from fc::@13 fc::@2 to fc::@3 [phi:fc::@13/fc::@2->fc::@3] + //SEG480 [170] phi (byte) be#132 = (byte) be#38 [phi:fc::@13/fc::@2->fc::@3#0] -- register_copy + //SEG481 fc::@3 + b3: + //SEG482 [171] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto fc::@4 -- vbuaa_neq_vbuc1_then_la1 + cmp #3 + bne b4 + //SEG483 fc::@14 + //SEG484 [172] (byte) be#39 ← ++ (byte) be#132 -- vbuz1=_inc_vbuz1 + inc be + //SEG485 [173] phi from fc::@14 fc::@3 to fc::@4 [phi:fc::@14/fc::@3->fc::@4] + //SEG486 [173] phi (byte) be#133 = (byte) be#39 [phi:fc::@14/fc::@3->fc::@4#0] -- register_copy + //SEG487 fc::@4 + b4: + //SEG488 [174] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto fc::@5 -- vbuaa_neq_vbuc1_then_la1 + cmp #4 + bne b5 + //SEG489 fc::@15 + //SEG490 [175] (byte) be#40 ← ++ (byte) be#133 -- vbuz1=_inc_vbuz1 + inc be + //SEG491 [176] phi from fc::@15 fc::@4 to fc::@5 [phi:fc::@15/fc::@4->fc::@5] + //SEG492 [176] phi (byte) be#134 = (byte) be#40 [phi:fc::@15/fc::@4->fc::@5#0] -- register_copy + //SEG493 fc::@5 + b5: + //SEG494 [177] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 5) goto fc::@6 -- vbuaa_neq_vbuc1_then_la1 + cmp #5 + bne b6 + //SEG495 fc::@16 + //SEG496 [178] (byte) be#41 ← ++ (byte) be#134 -- vbuz1=_inc_vbuz1 + inc be + //SEG497 [179] phi from fc::@16 fc::@5 to fc::@6 [phi:fc::@16/fc::@5->fc::@6] + //SEG498 [179] phi (byte) be#135 = (byte) be#41 [phi:fc::@16/fc::@5->fc::@6#0] -- register_copy + //SEG499 fc::@6 + b6: + //SEG500 [180] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 6) goto fc::@7 -- vbuaa_neq_vbuc1_then_la1 + cmp #6 + bne b7 + //SEG501 fc::@17 + //SEG502 [181] (byte) be#42 ← ++ (byte) be#135 -- vbuz1=_inc_vbuz1 + inc be + //SEG503 [182] phi from fc::@17 fc::@6 to fc::@7 [phi:fc::@17/fc::@6->fc::@7] + //SEG504 [182] phi (byte) be#136 = (byte) be#42 [phi:fc::@17/fc::@6->fc::@7#0] -- register_copy + //SEG505 fc::@7 + b7: + //SEG506 [183] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 7) goto fc::@8 -- vbuaa_neq_vbuc1_then_la1 + cmp #7 + bne b8 + //SEG507 fc::@18 + //SEG508 [184] (byte) be#43 ← ++ (byte) be#136 -- vbuz1=_inc_vbuz1 + inc be + //SEG509 [185] phi from fc::@18 fc::@7 to fc::@8 [phi:fc::@18/fc::@7->fc::@8] + //SEG510 [185] phi (byte) be#137 = (byte) be#43 [phi:fc::@18/fc::@7->fc::@8#0] -- register_copy + //SEG511 fc::@8 + b8: + //SEG512 [186] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto fc::@9 -- vbuaa_neq_vbuc1_then_la1 + cmp #8 + bne b9 + //SEG513 fc::@19 + //SEG514 [187] (byte) be#44 ← ++ (byte) be#137 -- vbuz1=_inc_vbuz1 + inc be + //SEG515 [188] phi from fc::@19 fc::@8 to fc::@9 [phi:fc::@19/fc::@8->fc::@9] + //SEG516 [188] phi (byte) be#138 = (byte) be#44 [phi:fc::@19/fc::@8->fc::@9#0] -- register_copy + //SEG517 fc::@9 + b9: + //SEG518 [189] if((byte) bd#117!=(byte/signed byte/word/signed word/dword/signed dword) 9) goto fc::@30 -- vbuaa_neq_vbuc1_then_la1 + cmp #9 + bne breturn + //SEG519 [190] phi from fc::@9 to fc::@return [phi:fc::@9->fc::@return] + //SEG520 [190] phi (byte) be#46 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:fc::@9->fc::@return#0] -- vbuz1=vbuc1 + lda #0 + sta be + //SEG521 fc::@return + breturn: + //SEG522 [191] return + rts + //SEG523 [192] phi from fc::@9 to fc::@30 [phi:fc::@9->fc::@30] + //SEG524 fc::@30 + //SEG525 [190] phi from fc::@30 to fc::@return [phi:fc::@30->fc::@return] + //SEG526 [190] phi (byte) be#46 = (byte) be#138 [phi:fc::@30->fc::@return#0] -- register_copy +} + diff --git a/src/test/ref/no-recursion-heavy.sym b/src/test/ref/no-recursion-heavy.sym new file mode 100644 index 000000000..85ddc607f --- /dev/null +++ b/src/test/ref/no-recursion-heavy.sym @@ -0,0 +1,283 @@ +(label) @5 +(label) @begin +(label) @end +(byte) ba +(byte) ba#1 ba zp ZP_BYTE:2 22.0 +(byte) ba#17 ba zp ZP_BYTE:2 0.7924528301886792 +(byte) bb +(byte) bb#10 bb zp ZP_BYTE:3 2.0 +(byte~) bb#101 bb#101 zp ZP_BYTE:4 4.0 +(byte~) bb#102 bb#102 zp ZP_BYTE:4 4.0 +(byte~) bb#103 bb#103 zp ZP_BYTE:4 4.0 +(byte~) bb#104 bb#104 zp ZP_BYTE:4 4.0 +(byte~) bb#105 bb#105 zp ZP_BYTE:4 4.0 +(byte~) bb#106 bb#106 zp ZP_BYTE:4 4.0 +(byte~) bb#107 bb#107 zp ZP_BYTE:4 4.0 +(byte~) bb#108 bb#108 zp ZP_BYTE:4 4.0 +(byte~) bb#109 bb#109 zp ZP_BYTE:4 4.0 +(byte) bb#11 bb zp ZP_BYTE:3 2.0 +(byte) bb#13 bb zp ZP_BYTE:3 3.25 +(byte) bb#16 bb zp ZP_BYTE:3 5.0 +(byte) bb#18 bb zp ZP_BYTE:3 4.0 +(byte) bb#19 bb zp ZP_BYTE:3 4.0 +(byte) bb#20 bb zp ZP_BYTE:3 4.0 +(byte) bb#21 bb zp ZP_BYTE:3 4.0 +(byte) bb#22 bb zp ZP_BYTE:3 4.0 +(byte) bb#23 bb zp ZP_BYTE:3 4.0 +(byte) bb#24 bb zp ZP_BYTE:3 4.0 +(byte) bb#25 bb zp ZP_BYTE:3 4.0 +(byte) bb#27 bb#27 zp ZP_BYTE:4 0.8260869565217388 +(byte) bb#3 bb zp ZP_BYTE:3 2.0 +(byte) bb#4 bb zp ZP_BYTE:3 2.0 +(byte) bb#49 bb zp ZP_BYTE:3 3.0 +(byte) bb#5 bb zp ZP_BYTE:3 2.0 +(byte) bb#6 bb zp ZP_BYTE:3 2.0 +(byte) bb#66 bb zp ZP_BYTE:3 2.0 +(byte) bb#67 bb zp ZP_BYTE:3 2.0 +(byte) bb#68 bb zp ZP_BYTE:3 2.0 +(byte) bc +(byte) bc#100 reg byte x 2.0 +(byte) bc#101 reg byte x 2.0 +(byte) bc#102 reg byte x 2.0 +(byte) bc#103 reg byte x 2.0 +(byte) bc#104 reg byte x 2.6666666666666665 +(byte) bc#105 reg byte x 2.0 +(byte) bc#106 reg byte x 2.0 +(byte) bc#107 reg byte x 2.0 +(byte) bc#108 reg byte x 2.0 +(byte) bc#109 reg byte x 2.0 +(byte) bc#110 reg byte x 2.0 +(byte) bc#111 reg byte x 2.0 +(byte) bc#112 reg byte x 2.0 +(byte) bc#113 reg byte x 3.0 +(byte) bc#114 bc zp ZP_BYTE:5 0.8260869565217388 +(byte) bc#123 reg byte x 2.0 +(byte) bc#13 reg byte x 3.75 +(byte~) bc#174 bc zp ZP_BYTE:5 4.0 +(byte~) bc#175 bc zp ZP_BYTE:5 4.0 +(byte~) bc#176 bc zp ZP_BYTE:5 4.0 +(byte~) bc#177 bc zp ZP_BYTE:5 4.0 +(byte~) bc#178 bc zp ZP_BYTE:5 4.0 +(byte~) bc#179 bc zp ZP_BYTE:5 4.0 +(byte~) bc#180 bc zp ZP_BYTE:5 4.0 +(byte~) bc#181 bc zp ZP_BYTE:5 4.0 +(byte~) bc#182 bc zp ZP_BYTE:5 4.0 +(byte) bc#2 reg byte x 3.0 +(byte) bc#24 reg byte x 1.8333333333333335 +(byte) bc#39 reg byte x 12.0 +(byte) bc#40 reg byte x 4.0 +(byte) bc#41 reg byte x 4.0 +(byte) bc#42 reg byte x 4.0 +(byte) bc#43 reg byte x 4.0 +(byte) bc#44 reg byte x 4.0 +(byte) bc#45 reg byte x 4.0 +(byte) bc#46 reg byte x 4.0 +(byte) bc#47 reg byte x 4.0 +(byte) bc#63 reg byte x 2.0 +(byte) bc#64 reg byte x 2.0 +(byte) bc#65 reg byte x 2.0 +(byte) bc#66 reg byte x 2.0 +(byte) bd +(byte) bd#100 reg byte y 2.0 +(byte) bd#101 reg byte y 2.0 +(byte) bd#102 reg byte y 2.0 +(byte) bd#103 reg byte y 2.0 +(byte) bd#104 reg byte y 2.6666666666666665 +(byte) bd#106 reg byte y 12.0 +(byte) bd#107 reg byte y 4.0 +(byte) bd#108 reg byte y 4.0 +(byte) bd#109 reg byte y 4.0 +(byte) bd#110 reg byte y 4.0 +(byte) bd#111 reg byte y 4.0 +(byte) bd#112 reg byte y 4.0 +(byte) bd#113 reg byte y 4.0 +(byte) bd#114 reg byte y 4.0 +(byte) bd#115 reg byte y 3.0 +(byte) bd#117 reg byte a 1.3571428571428568 +(byte) bd#129 reg byte y 2.0 +(byte) bd#13 reg byte y 3.75 +(byte) bd#130 reg byte y 2.0 +(byte) bd#131 reg byte y 2.0 +(byte) bd#132 reg byte y 2.0 +(byte) bd#133 reg byte y 2.0 +(byte) bd#134 reg byte y 2.0 +(byte) bd#135 reg byte y 2.0 +(byte) bd#136 reg byte y 2.0 +(byte) bd#137 reg byte y 2.6666666666666665 +(byte) bd#138 reg byte y 6.0 +(byte) bd#139 reg byte y 2.0 +(byte) bd#140 reg byte y 2.0 +(byte) bd#141 reg byte y 2.0 +(byte) bd#142 reg byte y 2.0 +(byte) bd#148 reg byte y 2.0 +(byte) bd#149 reg byte y 2.0 +(byte) bd#150 reg byte y 2.0 +(byte) bd#151 reg byte y 2.0 +(byte) bd#152 reg byte y 2.0 +(byte) bd#153 reg byte y 2.0 +(byte) bd#154 reg byte y 2.0 +(byte) bd#155 reg byte y 2.0 +(byte) bd#157 reg byte y 2.0 +(byte) bd#2 reg byte y 3.0 +(byte~) bd#238 reg byte a 4.0 +(byte~) bd#239 reg byte a 4.0 +(byte) bd#24 reg byte y 2.0 +(byte~) bd#240 reg byte a 4.0 +(byte~) bd#241 reg byte a 4.0 +(byte~) bd#242 reg byte a 4.0 +(byte~) bd#243 reg byte a 4.0 +(byte~) bd#244 reg byte a 4.0 +(byte~) bd#245 reg byte a 4.0 +(byte~) bd#246 reg byte a 4.0 +(byte) bd#35 reg byte y 1.8333333333333335 +(byte) be +(byte) be#100 be zp ZP_BYTE:6 2.0 +(byte) be#101 be zp ZP_BYTE:6 2.0 +(byte) be#102 be zp ZP_BYTE:6 2.0 +(byte) be#103 be zp ZP_BYTE:6 2.0 +(byte) be#104 be zp ZP_BYTE:6 2.0 +(byte) be#105 be zp ZP_BYTE:6 2.6666666666666665 +(byte) be#107 be zp ZP_BYTE:6 6.0 +(byte) be#108 be zp ZP_BYTE:6 2.0 +(byte) be#109 be zp ZP_BYTE:6 2.0 +(byte) be#110 be zp ZP_BYTE:6 2.0 +(byte) be#111 be zp ZP_BYTE:6 2.0 +(byte) be#112 be zp ZP_BYTE:6 2.0 +(byte) be#113 be zp ZP_BYTE:6 2.0 +(byte) be#114 be zp ZP_BYTE:6 2.0 +(byte) be#115 be zp ZP_BYTE:6 2.0 +(byte) be#116 be zp ZP_BYTE:6 2.6666666666666665 +(byte) be#118 be zp ZP_BYTE:6 6.0 +(byte) be#119 be zp ZP_BYTE:6 2.0 +(byte) be#120 be zp ZP_BYTE:6 2.0 +(byte) be#121 be zp ZP_BYTE:6 2.0 +(byte) be#122 be zp ZP_BYTE:6 2.0 +(byte) be#123 be zp ZP_BYTE:6 2.0 +(byte) be#124 be zp ZP_BYTE:6 2.0 +(byte) be#125 be zp ZP_BYTE:6 2.0 +(byte) be#126 be zp ZP_BYTE:6 2.0 +(byte) be#127 be zp ZP_BYTE:6 2.6666666666666665 +(byte) be#129 be zp ZP_BYTE:6 12.0 +(byte) be#13 be zp ZP_BYTE:6 3.75 +(byte) be#130 be zp ZP_BYTE:6 4.0 +(byte) be#131 be zp ZP_BYTE:6 4.0 +(byte) be#132 be zp ZP_BYTE:6 4.0 +(byte) be#133 be zp ZP_BYTE:6 4.0 +(byte) be#134 be zp ZP_BYTE:6 4.0 +(byte) be#135 be zp ZP_BYTE:6 4.0 +(byte) be#136 be zp ZP_BYTE:6 4.0 +(byte) be#137 be zp ZP_BYTE:6 4.0 +(byte) be#138 be zp ZP_BYTE:6 2.0 +(byte) be#142 be zp ZP_BYTE:6 2.0 +(byte) be#143 be zp ZP_BYTE:6 2.0 +(byte) be#144 be zp ZP_BYTE:6 2.0 +(byte) be#2 be zp ZP_BYTE:6 3.0 +(byte) be#24 be zp ZP_BYTE:6 2.0 +(byte) be#35 be zp ZP_BYTE:6 2.0 +(byte) be#36 be zp ZP_BYTE:6 4.0 +(byte) be#37 be zp ZP_BYTE:6 4.0 +(byte) be#38 be zp ZP_BYTE:6 4.0 +(byte) be#39 be zp ZP_BYTE:6 4.0 +(byte) be#40 be zp ZP_BYTE:6 4.0 +(byte) be#41 be zp ZP_BYTE:6 4.0 +(byte) be#42 be zp ZP_BYTE:6 4.0 +(byte) be#43 be zp ZP_BYTE:6 4.0 +(byte) be#44 be zp ZP_BYTE:6 4.0 +(byte) be#46 be zp ZP_BYTE:6 1.8333333333333335 +(void()) f0() +(label) f0::@1 +(label) f0::@11 +(label) f0::@12 +(label) f0::@13 +(label) f0::@14 +(label) f0::@15 +(label) f0::@16 +(label) f0::@17 +(label) f0::@18 +(label) f0::@19 +(label) f0::@2 +(label) f0::@20 +(label) f0::@3 +(label) f0::@4 +(label) f0::@5 +(label) f0::@6 +(label) f0::@7 +(label) f0::@8 +(label) f0::@9 +(label) f0::@return +(void()) fa() +(label) fa::@1 +(label) fa::@11 +(label) fa::@12 +(label) fa::@13 +(label) fa::@14 +(label) fa::@15 +(label) fa::@16 +(label) fa::@17 +(label) fa::@18 +(label) fa::@19 +(label) fa::@2 +(label) fa::@20 +(label) fa::@3 +(label) fa::@4 +(label) fa::@5 +(label) fa::@6 +(label) fa::@7 +(label) fa::@8 +(label) fa::@9 +(label) fa::@return +(void()) fb() +(label) fb::@1 +(label) fb::@11 +(label) fb::@12 +(label) fb::@13 +(label) fb::@14 +(label) fb::@15 +(label) fb::@16 +(label) fb::@17 +(label) fb::@18 +(label) fb::@19 +(label) fb::@2 +(label) fb::@20 +(label) fb::@3 +(label) fb::@4 +(label) fb::@5 +(label) fb::@6 +(label) fb::@7 +(label) fb::@8 +(label) fb::@9 +(label) fb::@return +(void()) fc() +(label) fc::@1 +(label) fc::@11 +(label) fc::@12 +(label) fc::@13 +(label) fc::@14 +(label) fc::@15 +(label) fc::@16 +(label) fc::@17 +(label) fc::@18 +(label) fc::@19 +(label) fc::@2 +(label) fc::@3 +(label) fc::@30 +(label) fc::@4 +(label) fc::@5 +(label) fc::@6 +(label) fc::@7 +(label) fc::@8 +(label) fc::@9 +(label) fc::@return +(void()) main() +(label) main::@1 +(label) main::@2 +(label) main::@7 + +zp ZP_BYTE:2 [ ba#17 ba#1 ] +zp ZP_BYTE:3 [ bb#49 bb#11 bb#25 bb#10 bb#24 bb#68 bb#23 bb#67 bb#22 bb#66 bb#21 bb#6 bb#20 bb#19 bb#18 bb#16 bb#13 bb#3 bb#4 bb#5 ] +zp ZP_BYTE:4 [ bb#27 bb#101 bb#102 bb#103 bb#104 bb#105 bb#106 bb#107 bb#108 bb#109 ] +reg byte x [ bc#113 bc#123 bc#47 bc#112 bc#46 bc#111 bc#45 bc#110 bc#44 bc#109 bc#43 bc#108 bc#42 bc#41 bc#40 bc#39 bc#104 bc#103 bc#102 bc#101 bc#100 bc#66 bc#65 bc#64 bc#63 bc#2 bc#13 bc#24 bc#105 bc#106 bc#107 ] +zp ZP_BYTE:5 [ bc#114 bc#174 bc#175 bc#176 bc#177 bc#178 bc#179 bc#180 bc#181 bc#182 ] +reg byte y [ bd#115 bd#157 bd#114 bd#155 bd#113 bd#154 bd#112 bd#153 bd#111 bd#152 bd#110 bd#151 bd#109 bd#108 bd#107 bd#106 bd#104 bd#103 bd#102 bd#101 bd#100 bd#142 bd#141 bd#140 bd#139 bd#138 bd#137 bd#136 bd#135 bd#134 bd#133 bd#132 bd#131 bd#130 bd#129 bd#2 bd#13 bd#24 bd#35 bd#148 bd#149 bd#150 ] +reg byte a [ bd#117 bd#238 bd#239 bd#240 bd#241 bd#242 bd#243 bd#244 bd#245 bd#246 ] +zp ZP_BYTE:6 [ be#138 be#44 be#137 be#43 be#136 be#42 be#135 be#41 be#134 be#40 be#133 be#39 be#132 be#38 be#131 be#130 be#129 be#127 be#126 be#125 be#124 be#123 be#122 be#121 be#120 be#119 be#118 be#116 be#115 be#114 be#113 be#112 be#111 be#110 be#109 be#108 be#107 be#105 be#104 be#103 be#102 be#101 be#100 be#144 be#143 be#142 be#2 be#13 be#24 be#35 be#46 be#36 be#37 ]